@openmixer/plugin-qualify 0.14.1 → 0.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/README.md +117 -14
  2. package/bin/plugin-qualify-sync.mjs +57 -0
  3. package/bin/plugin-qualify.mjs +66 -15
  4. package/dist/adjust-cli.d.ts +83 -0
  5. package/dist/adjust-cli.js +214 -0
  6. package/dist/adjust-cli.js.map +1 -0
  7. package/dist/clap-loader.d.ts +3 -3
  8. package/dist/clap-loader.js +11 -11
  9. package/dist/clap-loader.js.map +1 -1
  10. package/dist/history-adjust.d.ts +77 -0
  11. package/dist/history-adjust.js +99 -0
  12. package/dist/history-adjust.js.map +1 -0
  13. package/dist/history-file.d.ts +73 -0
  14. package/dist/history-file.js +133 -0
  15. package/dist/history-file.js.map +1 -0
  16. package/dist/host-admission.d.ts +53 -0
  17. package/dist/host-admission.js +96 -0
  18. package/dist/host-admission.js.map +1 -0
  19. package/dist/index.d.ts +6 -0
  20. package/dist/index.js +6 -0
  21. package/dist/index.js.map +1 -1
  22. package/dist/lv2-loader.d.ts +16 -2
  23. package/dist/lv2-loader.js +168 -17
  24. package/dist/lv2-loader.js.map +1 -1
  25. package/dist/measurement/cli.d.ts +6 -4
  26. package/dist/measurement/cli.js +12 -19
  27. package/dist/measurement/cli.js.map +1 -1
  28. package/dist/pins-file.d.ts +8 -2
  29. package/dist/pins-file.js +17 -3
  30. package/dist/pins-file.js.map +1 -1
  31. package/dist/probe-judge.d.ts +11 -1
  32. package/dist/probe-judge.js +20 -1
  33. package/dist/probe-judge.js.map +1 -1
  34. package/dist/probe-output-fixtures.d.ts +10 -0
  35. package/dist/probe-output-fixtures.js +86 -0
  36. package/dist/probe-output-fixtures.js.map +1 -1
  37. package/dist/probe-output.d.ts +2 -0
  38. package/dist/probe-output.js +1 -0
  39. package/dist/probe-output.js.map +1 -1
  40. package/dist/probe-runner.d.ts +9 -3
  41. package/dist/probe-runner.js +36 -12
  42. package/dist/probe-runner.js.map +1 -1
  43. package/dist/qualification-record.d.ts +109 -3
  44. package/dist/qualification-record.js +79 -13
  45. package/dist/qualification-record.js.map +1 -1
  46. package/dist/qualify-cli.d.ts +0 -1
  47. package/dist/qualify-cli.js +2 -4
  48. package/dist/qualify-cli.js.map +1 -1
  49. package/dist/qualify-declarations.d.ts +1 -1
  50. package/dist/qualify-declarations.js +1 -1
  51. package/dist/qualify-options.js +1 -2
  52. package/dist/qualify-options.js.map +1 -1
  53. package/dist/qualify-sync.d.ts +202 -0
  54. package/dist/qualify-sync.js +731 -0
  55. package/dist/qualify-sync.js.map +1 -0
  56. package/dist/whole-file.d.ts +3 -0
  57. package/dist/whole-file.js +36 -0
  58. package/dist/whole-file.js.map +1 -0
  59. package/fixtures/admission/2026-10-26.json +19 -0
  60. package/fixtures/clap-scan/fake.json +24 -24
  61. package/package.json +5 -4
  62. package/src/adjust-cli.ts +262 -0
  63. package/src/clap-loader.ts +9 -13
  64. package/src/history-adjust.ts +156 -0
  65. package/src/history-file.ts +177 -0
  66. package/src/host-admission.ts +136 -0
  67. package/src/index.ts +6 -0
  68. package/src/lv2-loader.ts +150 -15
  69. package/src/measurement/cli.ts +11 -17
  70. package/src/pins-file.ts +17 -3
  71. package/src/probe-judge.ts +27 -1
  72. package/src/probe-output-fixtures.ts +86 -0
  73. package/src/probe-output.ts +3 -0
  74. package/src/probe-runner.ts +45 -14
  75. package/src/qualification-record.ts +174 -15
  76. package/src/qualify-cli.ts +2 -5
  77. package/src/qualify-declarations.ts +1 -1
  78. package/src/qualify-options.ts +1 -2
  79. package/src/qualify-sync.ts +830 -0
  80. package/src/whole-file.ts +35 -0
  81. package/tools/_declarations.py +1 -1
  82. package/tools/gen-hosting-codes.mjs +1 -1
  83. package/tools/mod-host-admit.mjs +74 -0
@@ -1 +1 @@
1
- {"version":3,"file":"probe-output.js","sourceRoot":"","sources":["../src/probe-output.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"probe-output.js","sourceRoot":"","sources":["../src/probe-output.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { type RtSafetyDocument } from "./clap-qualify.js";
2
2
  import type { HostProfile } from "./host-profiles.js";
3
3
  import type { PluginTarget } from "./loader.js";
4
+ import { type AdmissionRuns } from "./host-admission.js";
4
5
  import { type Judgment } from "./probe-judge.js";
5
6
  import { type ProbeOutput } from "./probe-output.js";
6
7
  import type { QualifyVerdict } from "./qualify-cli.js";
@@ -23,6 +24,8 @@ export interface ProbeTargetOptions {
23
24
  readonly rates: readonly number[];
24
25
  /** Host extensions to offer beyond the prober's own (a CLAP run). */
25
26
  readonly offer?: readonly string[];
27
+ /** The wall clock the runner gives one run, in seconds; else the format's declared one. */
28
+ readonly wallS?: number;
26
29
  readonly run?: ProbeRun;
27
30
  readonly env?: Readonly<Record<string, string | undefined>>;
28
31
  readonly exists?: (path: string) => boolean;
@@ -31,19 +34,21 @@ export interface ProbeTargetOptions {
31
34
  export declare function clapRunnerArgs(options: {
32
35
  rates: readonly number[];
33
36
  offer?: readonly string[];
37
+ wallS?: number;
34
38
  out: string;
35
39
  log: string;
36
40
  child: string;
37
41
  }, binaryPath: string, id: string | undefined): string[];
38
42
  /**
39
- * The runner's arguments for an LV2 plugin, named as `lv2:<uri>` and measured by the runner's own LV2
40
- * child. The runner of plugin-hostd 0.4.0 starts a CLAP prober only (the LV2 child, plugin-hostd#76, is in no release yet), so
41
- * against it this run ends with the runner's own refusal, which {@link runOne} reports.
43
+ * The runner's arguments for an LV2 plugin, named as `lv2:<uri>` and measured by `lv2_measure`: the one this run
44
+ * located when `child` names it, else the one the runner looks for where the packages install it.
42
45
  */
43
46
  export declare function lv2RunnerArgs(options: {
44
47
  rates: readonly number[];
48
+ wallS?: number;
45
49
  out: string;
46
50
  log: string;
51
+ child?: string;
47
52
  }, uri: string): string[];
48
53
  /** One probe output and the bytes it was read from (the bytes are what gets copied beside the record). */
49
54
  export interface ProbedTarget {
@@ -76,4 +81,5 @@ export interface ProbePass {
76
81
  */
77
82
  export declare function qualifyTargets(targets: readonly PluginTarget[], options: ProbeTargetOptions & {
78
83
  readonly profiles?: readonly HostProfile[];
84
+ readonly admissions?: AdmissionRuns;
79
85
  }): ProbePass;
@@ -16,10 +16,13 @@ import { existsSync, mkdtempSync, readFileSync, rmSync } from "node:fs";
16
16
  import { tmpdir } from "node:os";
17
17
  import { join } from "node:path";
18
18
  import { ClapQualifyError, clapQualifyTools, proberOffer } from "./clap-qualify.js";
19
- import { OPENMIXER_CONSOLE_PROFILE } from "./host-profiles.js";
19
+ import { locateNativeTool } from "./tool-paths.js";
20
+ import { OPENMIXER_CONSOLE_PROFILE, shippedHostProfile } from "./host-profiles.js";
21
+ import { IN_PROCESS_TIER_HOST, ISOLATED_TIER_HOST } from "./qualification-record.js";
22
+ import { SPAWNED_ADMISSIONS, admitPlugin, admittedHostOf } from "./host-admission.js";
20
23
  import { judgeProbeOutput, judgmentVerdicts } from "./probe-judge.js";
21
24
  import { readProbeOutput } from "./probe-output.js";
22
- import { CLAP_QUALIFY_TIMEOUT_S, CLAP_SWEEP_BLOCKS, CLAP_SWEEP_FRAMES, LV2_HOSTING_BLOCK_FRAMES, LV2_HOSTING_TIMEOUT_S, PROBE_RUNNER_DEFAULT, PROBE_RUNNER_ENV, } from "./qualify-declarations.js";
25
+ import { CLAP_QUALIFY_TIMEOUT_S, CLAP_SWEEP_BLOCKS, CLAP_SWEEP_FRAMES, LV2_HOSTING_BLOCK_FRAMES, LV2_HOSTING_TIMEOUT_S, LV2_MEASURE_TOOL_NAME, PROBE_RUNNER_DEFAULT, PROBE_RUNNER_ENV, } from "./qualify-declarations.js";
23
26
  export class ProbeRunnerError extends Error {
24
27
  constructor(message) {
25
28
  super(message);
@@ -49,7 +52,7 @@ export function clapRunnerArgs(options, binaryPath, id) {
49
52
  String(CLAP_SWEEP_BLOCKS),
50
53
  ...(options.offer === undefined || options.offer.length === 0 ? [] : ["--offer", options.offer.join(",")]),
51
54
  "--wall-s",
52
- String(CLAP_QUALIFY_TIMEOUT_S),
55
+ String(options.wallS ?? CLAP_QUALIFY_TIMEOUT_S),
53
56
  "--out",
54
57
  options.out,
55
58
  "--log",
@@ -59,19 +62,19 @@ export function clapRunnerArgs(options, binaryPath, id) {
59
62
  ];
60
63
  }
61
64
  /**
62
- * The runner's arguments for an LV2 plugin, named as `lv2:<uri>` and measured by the runner's own LV2
63
- * child. The runner of plugin-hostd 0.4.0 starts a CLAP prober only (the LV2 child, plugin-hostd#76, is in no release yet), so
64
- * against it this run ends with the runner's own refusal, which {@link runOne} reports.
65
+ * The runner's arguments for an LV2 plugin, named as `lv2:<uri>` and measured by `lv2_measure`: the one this run
66
+ * located when `child` names it, else the one the runner looks for where the packages install it.
65
67
  */
66
68
  export function lv2RunnerArgs(options, uri) {
67
69
  return [
68
70
  "run",
71
+ ...(options.child === undefined ? [] : ["--child", options.child]),
69
72
  "--rates",
70
73
  options.rates.join(","),
71
74
  "--quantum",
72
75
  String(LV2_HOSTING_BLOCK_FRAMES),
73
76
  "--wall-s",
74
- String(LV2_HOSTING_TIMEOUT_S),
77
+ String(options.wallS ?? LV2_HOSTING_TIMEOUT_S),
75
78
  "--out",
76
79
  options.out,
77
80
  "--log",
@@ -89,17 +92,19 @@ function runOne(target, options) {
89
92
  let args;
90
93
  let runEnv = { ...env };
91
94
  let expectedId;
95
+ const wall = options.wallS === undefined ? {} : { wallS: options.wallS };
92
96
  if (target.format === "clap") {
93
97
  if (target.binaryPath === undefined)
94
98
  throw new ProbeRunnerError(`${target.uri}: no .clap to load; name the file or a directory holding it`);
95
99
  expectedId = target.uri.startsWith("urn:clap:") ? target.uri.slice("urn:clap:".length) : target.uri;
96
100
  const { tool: child, interposer } = clapQualifyTools(env, options.exists ?? existsSync);
97
- args = clapRunnerArgs({ rates: options.rates, ...(options.offer === undefined ? {} : { offer: options.offer }), out, log, child }, target.binaryPath, expectedId);
101
+ args = clapRunnerArgs({ rates: options.rates, ...(options.offer === undefined ? {} : { offer: options.offer }), ...wall, out, log, child }, target.binaryPath, expectedId);
98
102
  runEnv = { ...env, LD_PRELOAD: interposer };
99
103
  }
100
104
  else {
101
105
  expectedId = target.uri;
102
- args = lv2RunnerArgs({ rates: options.rates, out, log }, target.uri);
106
+ const child = locateNativeTool(LV2_MEASURE_TOOL_NAME, env, options.exists ?? existsSync).path;
107
+ args = lv2RunnerArgs({ rates: options.rates, ...wall, out, log, ...(child === undefined ? {} : { child }) }, target.uri);
103
108
  }
104
109
  const r = (options.run ?? spawnRunner)(tool, args, runEnv);
105
110
  if (r.error !== undefined) {
@@ -144,13 +149,28 @@ export function probeTarget(target, options) {
144
149
  */
145
150
  export function qualifyTargets(targets, options) {
146
151
  const profiles = options.profiles ?? [OPENMIXER_CONSOLE_PROFILE];
152
+ const admissionRuns = options.admissions ?? SPAWNED_ADMISSIONS;
147
153
  const runs = [];
148
154
  const verdicts = [];
149
155
  const documents = [];
150
156
  const failures = [];
151
157
  for (const target of targets) {
152
158
  const byOffer = new Map();
153
- for (const profile of profiles) {
159
+ // the record carries the console's two tiers whatever hosts were asked about, so they are judged too
160
+ const tierProfiles = [IN_PROCESS_TIER_HOST, ISOLATED_TIER_HOST[target.format]]
161
+ .flatMap((id) => (id === undefined ? [] : [shippedHostProfile(id)]))
162
+ .filter((p) => p !== undefined);
163
+ const judgedProfiles = [...profiles, ...tierProfiles.filter((t) => !profiles.some((p) => p.id === t.id))];
164
+ // an LV2 plugin is run under each measured host once, whichever probe output it is judged with
165
+ const admissions = {};
166
+ if (target.format === "lv2") {
167
+ for (const profile of judgedProfiles) {
168
+ const host = admittedHostOf(profile);
169
+ if (host !== undefined)
170
+ admissions[profile.id] = admitPlugin(host, target.uri, admissionRuns);
171
+ }
172
+ }
173
+ for (const profile of judgedProfiles) {
154
174
  const offer = target.format === "clap" ? (proberOffer(profile) ?? []) : [];
155
175
  const key = offer.join(",");
156
176
  const entry = byOffer.get(key) ?? { offer, profiles: [] };
@@ -164,7 +184,7 @@ export function qualifyTargets(targets, options) {
164
184
  try {
165
185
  for (const { offer, profiles: forOffer } of byOffer.values()) {
166
186
  const probed = probeTarget(target, { ...options, offer });
167
- const judgment = judgeProbeOutput(probed.output, forOffer);
187
+ const judgment = judgeProbeOutput(probed.output, forOffer, { admissions });
168
188
  targetRuns.push({ bytes: probed.bytes, judgment });
169
189
  for (const v of judgmentVerdicts(judgment))
170
190
  judged.set(v.host, v);
@@ -175,7 +195,11 @@ export function qualifyTargets(targets, options) {
175
195
  throw e;
176
196
  failures.push({ uri: target.uri, problem: e.message });
177
197
  for (const profile of profiles) {
178
- verdicts.push({ uri: target.uri, host: profile.id, measured: false, rating: "unknown", qualified: false, deciding: "not-measured" });
198
+ // no probe output means no record, but a host that refused the plugin when it was run is still a measured refusal
199
+ const a = admissions[profile.id];
200
+ verdicts.push(a !== undefined && a.measured && !a.admitted
201
+ ? { uri: target.uri, host: profile.id, measured: true, rating: "unsuitable", qualified: false, deciding: a.code ?? `${a.host}.not-admitted` }
202
+ : { uri: target.uri, host: profile.id, measured: false, rating: "unknown", qualified: false, deciding: "not-measured" });
179
203
  }
180
204
  continue;
181
205
  }
@@ -1 +1 @@
1
- {"version":3,"file":"probe-runner.js","sourceRoot":"","sources":["../src/probe-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"probe-runner.js","sourceRoot":"","sources":["../src/probe-runner.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { Adjustment } from "./history-adjust.js";
1
2
  import type { Judgment, RecordReason } from "./probe-judge.js";
2
3
  import { type ProbeGridPoint, type ProbeOutput } from "./probe-output.js";
3
4
  import type { VoicesHeld } from "./measurement/format.js";
@@ -10,10 +11,83 @@ export interface RecordVerdict {
10
11
  readonly rating: string;
11
12
  readonly qualified: boolean;
12
13
  readonly hosting: "in-process" | "isolated";
14
+ /** `run` when the plugin was run under this host (`jalv`, `mod-host`), `declaration` when the verdict is what the profile's declaration makes of the probe output. */
15
+ readonly arm: "run" | "declaration";
13
16
  /** The code that decided it; absent for `suitable`. */
14
17
  readonly deciding?: string;
15
18
  readonly reasons: readonly RecordReason[];
16
19
  }
20
+ /** One tier of the console as a verdict: the host it is judged under and whether the plugin qualified there. */
21
+ export interface TierVerdict {
22
+ readonly host: string;
23
+ readonly measured: boolean;
24
+ readonly qualified: boolean;
25
+ readonly rating: string;
26
+ readonly deciding?: string;
27
+ }
28
+ /** The console's two tiers (what the console's roster offers): offered where the verdict qualified, dimmed with the reason when neither did. */
29
+ export interface RecordTiers {
30
+ readonly inProcess?: TierVerdict;
31
+ readonly isolated?: TierVerdict;
32
+ readonly offeredOn: readonly ("in-process" | "isolated")[];
33
+ /** Why the plugin is offered on neither tier: the deciding codes, in-process first. */
34
+ readonly dimmed?: string;
35
+ }
36
+ /** The profile each format's isolated tier is judged under. */
37
+ export declare const ISOLATED_TIER_HOST: Readonly<Record<string, string>>;
38
+ export declare const IN_PROCESS_TIER_HOST = "openmixer-console";
39
+ /** A latency or cost figure the run could not take: which one, at what rate and quantum, and the code that says why. */
40
+ export interface UnmeasuredFigure {
41
+ readonly dimension: "latency" | "cost";
42
+ readonly rate?: number;
43
+ readonly quantum?: number;
44
+ /** The hosting code the run gave (`hosting.latency.unmeasured`), else the step's outcome code. */
45
+ readonly code: string;
46
+ /** The prober's own words, for a person; never what a reader classifies by. */
47
+ readonly detail?: string;
48
+ }
49
+ /**
50
+ * The figures the run could not take, from the steps that say so. A latency or cost step that did not end `probe.ok`
51
+ * leaves its figure out of the grid: this names the figure, so a grid point without a `latency` is never read as a plugin
52
+ * with none.
53
+ */
54
+ export declare function unmeasuredFigures(output: ProbeOutput): readonly UnmeasuredFigure[];
55
+ /**
56
+ * What the running history made of the measured verdicts, for one host class: the second verdict beside the measured one.
57
+ * Written by `plugin-qualify adjust --history`; the measured `verdicts` above are never changed by it. A record without the
58
+ * block was never adjusted.
59
+ */
60
+ export interface HistoryBlock {
61
+ /** The machine class of the history's lines, `arch/cores/clock`. */
62
+ readonly hostClass: string;
63
+ /** The history file as it was named. */
64
+ readonly file: string;
65
+ /** The UTC time the history was read at (ISO 8601). */
66
+ readonly at: string;
67
+ /** The line looked for: plugin-hostd's uri and the digest of the first file of the pin; absent when the record holds no whole pin. */
68
+ readonly key?: {
69
+ readonly uri: string;
70
+ readonly digest: string;
71
+ };
72
+ /** Whether the history holds a line of this plugin binary on this host class. */
73
+ readonly found: boolean;
74
+ /** The windows the line counts. */
75
+ readonly windows?: {
76
+ readonly solo: number;
77
+ readonly grouped: number;
78
+ };
79
+ /** What plugin-hostd's `history_get` would answer of the line. */
80
+ readonly summary?: {
81
+ readonly crashed: boolean;
82
+ readonly raisesXruns: boolean;
83
+ };
84
+ /** The keys of the line this tool does not know, as written. */
85
+ readonly unknownKeys?: Readonly<Record<string, string>>;
86
+ /** One per host profile adjusted: the measured pin verdict, the adjusted one, the move and the reason code. */
87
+ readonly verdicts: readonly ({
88
+ readonly host: string;
89
+ } & Adjustment)[];
90
+ }
17
91
  export interface QualificationRecord {
18
92
  readonly schema: typeof QUALIFICATION_RECORD_SCHEMA;
19
93
  readonly plugin: {
@@ -25,6 +99,7 @@ export interface QualificationRecord {
25
99
  readonly testedVersion?: string;
26
100
  readonly binary: ProbeOutput["binary"];
27
101
  readonly verdicts: readonly RecordVerdict[];
102
+ readonly tiers: RecordTiers;
28
103
  /** The cost reasons at each host's rate and quantum, beside the verdicts; an instrument's with the notes it held. */
29
104
  readonly cost: readonly {
30
105
  readonly host: string;
@@ -33,14 +108,25 @@ export interface QualificationRecord {
33
108
  readonly voices?: VoicesHeld;
34
109
  readonly reasons: readonly RecordReason[];
35
110
  }[];
36
- /** The figures as measured, per rate and quantum. */
111
+ /**
112
+ * The figures as measured, per rate and quantum: the same fields whichever format the plugin is (`latency`
113
+ * {declaredFrames, measuredFrames}, `cost`, `rtSafety`, `noteSweep`), and the figures the run could not take, named.
114
+ */
37
115
  readonly measurements: {
38
116
  readonly grid: readonly ProbeGridPoint[];
39
117
  readonly behaviour?: Readonly<Record<string, unknown>>;
118
+ readonly unmeasured?: readonly UnmeasuredFigure[];
40
119
  };
120
+ /**
121
+ * What the run that wrote this record did not measure, each with the code a verdict reads for it: the quick
122
+ * qualification of `plugin-qualify-sync` takes no soak, and says so here rather than leave it unstated.
123
+ */
124
+ readonly notMeasured?: readonly NotMeasured[];
41
125
  /** Who measured and when. */
42
126
  readonly tool: Readonly<Record<string, string>>;
43
127
  readonly measuredAt: string;
128
+ /** The second verdict, per host class of the history that was read; absent until `adjust --history` has run. */
129
+ readonly history?: readonly HistoryBlock[];
44
130
  /** The probe output this record judged. */
45
131
  readonly probe: {
46
132
  readonly file: string;
@@ -58,17 +144,26 @@ export interface QualificationRecord {
58
144
  readonly meetsProtocol: boolean;
59
145
  };
60
146
  }
147
+ /** One dimension a run did not measure, and the code that says so. */
148
+ export interface NotMeasured {
149
+ readonly dimension: string;
150
+ readonly code: string;
151
+ }
61
152
  /** `<id>@<version>-<sha256 first 12>.<offer>`: one binary and one offer, whatever the run. */
62
153
  export declare function qualificationBaseName(output: ProbeOutput): string;
63
154
  export declare const recordFileName: (output: ProbeOutput) => string;
64
155
  export declare const probeCopyFileName: (output: ProbeOutput) => string;
156
+ /** The console's two tiers from the verdicts the judgment holds. A tier no profile judged is absent, and is not offered. */
157
+ export declare function tiersOf(judgment: Judgment): RecordTiers;
65
158
  export declare function buildQualificationRecord(judgment: Judgment, copy: {
66
159
  file: string;
67
160
  sha256: string;
68
161
  bytes: number;
69
- }): QualificationRecord;
162
+ }, notMeasured?: readonly NotMeasured[]): QualificationRecord;
70
163
  /** The record of a judgment, with the copy fields taken from the bytes that were judged. */
71
164
  export declare function qualificationRecordOf(probeBytes: Uint8Array, judgment: Judgment): QualificationRecord;
165
+ /** The record rewritten whole or not at all, with its `history` block; nothing else in it is changed by the caller. */
166
+ export declare function rewriteRecord(path: string, record: QualificationRecord): void;
72
167
  export interface WrittenQualification {
73
168
  readonly recordPath: string;
74
169
  readonly probePath: string;
@@ -79,4 +174,15 @@ export interface WrittenQualification {
79
174
  * record names the SHA-256 of the copy as it is on disk, read back, so a record never names bytes that
80
175
  * are not there. A rescan of the same binary and offer replaces both.
81
176
  */
82
- export declare function writeQualification(dir: string, probeBytes: Uint8Array, judgment: Judgment): WrittenQualification;
177
+ export declare function writeQualification(dir: string, probeBytes: Uint8Array, judgment: Judgment, notMeasured?: readonly NotMeasured[]): WrittenQualification;
178
+ /**
179
+ * Runs that name the same binary and offer share one record file (a CLAP judged with and without the extra extensions
180
+ * offered): their verdicts become one record over the first run's probe output, so the second is never written over the first.
181
+ */
182
+ export declare function mergeRunsByRecord<T extends {
183
+ readonly bytes: Uint8Array;
184
+ readonly judgment: Judgment;
185
+ }>(runs: readonly T[]): {
186
+ bytes: Uint8Array;
187
+ judgment: Judgment;
188
+ }[];
@@ -13,10 +13,30 @@
13
13
  * Not yet in the record: the fingerprint of the descriptor's controls, since the descriptor is
14
14
  * written by the scan (stage 5) and plugin-qualify does not read one yet.
15
15
  */
16
- import { mkdirSync, readFileSync, renameSync, writeFileSync } from "node:fs";
16
+ import { mkdirSync, readFileSync } from "node:fs";
17
17
  import { join } from "node:path";
18
- import { sha256Hex } from "./probe-output.js";
18
+ import { sha256Hex, PROBE_OK } from "./probe-output.js";
19
+ import { writeFileWhole } from "./whole-file.js";
19
20
  export const QUALIFICATION_RECORD_SCHEMA = "plugin-qualify.qualification-record/1";
21
+ /** The profile each format's isolated tier is judged under. */
22
+ export const ISOLATED_TIER_HOST = { lv2: "mod-host", clap: "omx-clap-host" };
23
+ export const IN_PROCESS_TIER_HOST = "openmixer-console";
24
+ /**
25
+ * The figures the run could not take, from the steps that say so. A latency or cost step that did not end `probe.ok`
26
+ * leaves its figure out of the grid: this names the figure, so a grid point without a `latency` is never read as a plugin
27
+ * with none.
28
+ */
29
+ export function unmeasuredFigures(output) {
30
+ return output.steps
31
+ .filter((s) => (s.step === "latency" || s.step === "cost") && s.outcome !== PROBE_OK)
32
+ .map((s) => ({
33
+ dimension: s.step,
34
+ ...(s.rate === undefined ? {} : { rate: s.rate }),
35
+ ...(s.quantum === undefined ? {} : { quantum: s.quantum }),
36
+ code: s.hostingCode ?? s.outcome,
37
+ ...(s.detail === undefined ? {} : { detail: s.detail }),
38
+ }));
39
+ }
20
40
  const safe = (text) => text.replace(/[^A-Za-z0-9._-]/g, "_");
21
41
  /** `<id>@<version>-<sha256 first 12>.<offer>`: one binary and one offer, whatever the run. */
22
42
  export function qualificationBaseName(output) {
@@ -24,7 +44,30 @@ export function qualificationBaseName(output) {
24
44
  }
25
45
  export const recordFileName = (output) => `${qualificationBaseName(output)}.qualification.json`;
26
46
  export const probeCopyFileName = (output) => `${qualificationBaseName(output)}.probe.json`;
27
- export function buildQualificationRecord(judgment, copy) {
47
+ function tierOf(judgment, host) {
48
+ const v = judgment.hosts.find((h) => h.verdict.host === host)?.verdict;
49
+ if (v === undefined)
50
+ return undefined;
51
+ return { host: v.host, measured: v.measured, qualified: v.qualified, rating: v.rating, ...(v.deciding === undefined ? {} : { deciding: v.deciding }) };
52
+ }
53
+ /** The console's two tiers from the verdicts the judgment holds. A tier no profile judged is absent, and is not offered. */
54
+ export function tiersOf(judgment) {
55
+ const inProcess = tierOf(judgment, IN_PROCESS_TIER_HOST);
56
+ const isolated = tierOf(judgment, ISOLATED_TIER_HOST[judgment.output.plugin.format]);
57
+ const offeredOn = [];
58
+ if (inProcess?.qualified === true)
59
+ offeredOn.push("in-process");
60
+ if (isolated?.qualified === true)
61
+ offeredOn.push("isolated");
62
+ const why = [inProcess, isolated].flatMap((t) => (t === undefined ? [] : [`${t.host}: ${t.deciding ?? t.rating}`]));
63
+ return {
64
+ ...(inProcess === undefined ? {} : { inProcess }),
65
+ ...(isolated === undefined ? {} : { isolated }),
66
+ offeredOn,
67
+ ...(offeredOn.length === 0 ? { dimmed: why.length === 0 ? "no tier was judged" : why.join("; ") } : {}),
68
+ };
69
+ }
70
+ export function buildQualificationRecord(judgment, copy, notMeasured = []) {
28
71
  const o = judgment.output;
29
72
  return {
30
73
  schema: QUALIFICATION_RECORD_SCHEMA,
@@ -37,11 +80,18 @@ export function buildQualificationRecord(judgment, copy) {
37
80
  rating: h.verdict.rating,
38
81
  qualified: h.verdict.qualified,
39
82
  hosting: h.hosting,
83
+ arm: h.arm,
40
84
  ...(h.verdict.deciding === undefined ? {} : { deciding: h.verdict.deciding }),
41
85
  reasons: h.reasons,
42
86
  })),
87
+ tiers: tiersOf(judgment),
43
88
  cost: judgment.hosts.map((h) => ({ host: h.verdict.host, ...h.cost })),
44
- measurements: { grid: o.grid, ...(o.behaviour === undefined ? {} : { behaviour: o.behaviour }) },
89
+ measurements: {
90
+ grid: o.grid,
91
+ ...(o.behaviour === undefined ? {} : { behaviour: o.behaviour }),
92
+ ...(unmeasuredFigures(o).length === 0 ? {} : { unmeasured: unmeasuredFigures(o) }),
93
+ },
94
+ ...(notMeasured.length === 0 ? {} : { notMeasured }),
45
95
  tool: o.run.tools,
46
96
  measuredAt: o.run.startedAt,
47
97
  probe: {
@@ -61,25 +111,41 @@ export function buildQualificationRecord(judgment, copy) {
61
111
  export function qualificationRecordOf(probeBytes, judgment) {
62
112
  return buildQualificationRecord(judgment, { file: probeCopyFileName(judgment.output), sha256: sha256Hex(probeBytes), bytes: probeBytes.length });
63
113
  }
64
- /** A file whole or not at all: written beside its name and renamed over it. */
65
- function writeWhole(path, bytes) {
66
- const pending = `${path}.new`;
67
- writeFileSync(pending, bytes);
68
- renameSync(pending, path);
114
+ /** The record rewritten whole or not at all, with its `history` block; nothing else in it is changed by the caller. */
115
+ export function rewriteRecord(path, record) {
116
+ writeFileWhole(path, `${JSON.stringify(record, null, 2)}\n`);
69
117
  }
70
118
  /**
71
119
  * Write the byte copy of the probe output, then the record that names it. The copy goes first, and the
72
120
  * record names the SHA-256 of the copy as it is on disk, read back, so a record never names bytes that
73
121
  * are not there. A rescan of the same binary and offer replaces both.
74
122
  */
75
- export function writeQualification(dir, probeBytes, judgment) {
123
+ export function writeQualification(dir, probeBytes, judgment, notMeasured = []) {
76
124
  mkdirSync(dir, { recursive: true });
77
125
  const probePath = join(dir, probeCopyFileName(judgment.output));
78
- writeWhole(probePath, probeBytes);
126
+ writeFileWhole(probePath, probeBytes);
79
127
  const copy = readFileSync(probePath);
80
- const record = buildQualificationRecord(judgment, { file: probeCopyFileName(judgment.output), sha256: sha256Hex(copy), bytes: copy.length });
128
+ const record = buildQualificationRecord(judgment, { file: probeCopyFileName(judgment.output), sha256: sha256Hex(copy), bytes: copy.length }, notMeasured);
81
129
  const recordPath = join(dir, recordFileName(judgment.output));
82
- writeWhole(recordPath, `${JSON.stringify(record, null, 2)}\n`);
130
+ writeFileWhole(recordPath, `${JSON.stringify(record, null, 2)}\n`);
83
131
  return { recordPath, probePath, record };
84
132
  }
133
+ /**
134
+ * Runs that name the same binary and offer share one record file (a CLAP judged with and without the extra extensions
135
+ * offered): their verdicts become one record over the first run's probe output, so the second is never written over the first.
136
+ */
137
+ export function mergeRunsByRecord(runs) {
138
+ const byName = new Map();
139
+ for (const r of runs) {
140
+ const name = qualificationBaseName(r.judgment.output);
141
+ const first = byName.get(name);
142
+ byName.set(name, first === undefined
143
+ ? r
144
+ : {
145
+ bytes: first.bytes,
146
+ judgment: { ...first.judgment, hosts: [...first.judgment.hosts, ...r.judgment.hosts], documents: [...first.judgment.documents, ...r.judgment.documents] },
147
+ });
148
+ }
149
+ return [...byName.values()];
150
+ }
85
151
  //# sourceMappingURL=qualification-record.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"qualification-record.js","sourceRoot":"","sources":["../src/qualification-record.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"qualification-record.js","sourceRoot":"","sources":["../src/qualification-record.ts"],"names":[],"mappings":"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"}