@aperant/framework 0.8.4 → 0.8.6

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 (108) hide show
  1. package/CHANGELOG.md +156 -0
  2. package/agents/apt-planner.md +34 -3
  3. package/dist/cli/commands/coverage-check.d.mts.map +1 -1
  4. package/dist/cli/commands/coverage-check.mjs +74 -7
  5. package/dist/cli/commands/coverage-check.mjs.map +1 -1
  6. package/dist/cli/commands/detect-runtime.d.mts.map +1 -1
  7. package/dist/cli/commands/detect-runtime.mjs +18 -12
  8. package/dist/cli/commands/detect-runtime.mjs.map +1 -1
  9. package/dist/cli/coverage-check/user-outcomes.d.mts +84 -0
  10. package/dist/cli/coverage-check/user-outcomes.d.mts.map +1 -0
  11. package/dist/cli/coverage-check/user-outcomes.mjs +265 -0
  12. package/dist/cli/coverage-check/user-outcomes.mjs.map +1 -0
  13. package/dist/cli/host/detect.mjs +1 -1
  14. package/dist/cli/host/detect.mjs.map +1 -1
  15. package/dist/cli/install/install-from-source.mjs +3 -3
  16. package/dist/cli/install/legacy-paths.d.mts.map +1 -1
  17. package/dist/cli/install/legacy-paths.mjs +2 -0
  18. package/dist/cli/install/legacy-paths.mjs.map +1 -1
  19. package/dist/cli/verify-proof/idl/index.d.mts +1 -1
  20. package/dist/cli/verify-proof/idl/index.mjs +7 -8
  21. package/dist/cli/verify-proof/idl/index.mjs.map +1 -1
  22. package/dist/cli/verify-proof/idl/types.d.ts +5 -4
  23. package/dist/cli/verify-proof/idl/types.d.ts.map +1 -1
  24. package/dist/cli/verify-proof/idl/types.js +4 -3
  25. package/dist/cli/verify-proof/idl/types.js.map +1 -1
  26. package/dist/cli/verify-proof/resolver.d.mts +63 -1
  27. package/dist/cli/verify-proof/resolver.d.mts.map +1 -1
  28. package/dist/cli/verify-proof/resolver.mjs +164 -4
  29. package/dist/cli/verify-proof/resolver.mjs.map +1 -1
  30. package/dist/cli/verify-proof/runtime-detect.d.mts +6 -3
  31. package/dist/cli/verify-proof/runtime-detect.d.mts.map +1 -1
  32. package/dist/cli/verify-proof/runtime-detect.mjs +104 -11
  33. package/dist/cli/verify-proof/runtime-detect.mjs.map +1 -1
  34. package/dist/cli/verify-proof/trust.d.mts +1 -1
  35. package/dist/cli/verify-proof/trust.d.mts.map +1 -1
  36. package/dist/cli/verify-proof/trust.mjs +1 -1
  37. package/dist/driver-sdk/conformance.d.ts +41 -0
  38. package/dist/driver-sdk/conformance.d.ts.map +1 -0
  39. package/dist/driver-sdk/conformance.js +123 -0
  40. package/dist/driver-sdk/conformance.js.map +1 -0
  41. package/dist/driver-sdk/errors.d.ts +75 -0
  42. package/dist/driver-sdk/errors.d.ts.map +1 -0
  43. package/dist/driver-sdk/errors.js +80 -0
  44. package/dist/driver-sdk/errors.js.map +1 -0
  45. package/dist/driver-sdk/idl.d.ts +221 -0
  46. package/dist/driver-sdk/idl.d.ts.map +1 -0
  47. package/dist/driver-sdk/idl.js +140 -0
  48. package/dist/driver-sdk/idl.js.map +1 -0
  49. package/dist/driver-sdk/index.d.ts +28 -0
  50. package/dist/driver-sdk/index.d.ts.map +1 -0
  51. package/dist/driver-sdk/index.js +28 -0
  52. package/dist/driver-sdk/index.js.map +1 -0
  53. package/dist/driver-sdk/manifest.d.ts +93 -0
  54. package/dist/driver-sdk/manifest.d.ts.map +1 -0
  55. package/dist/driver-sdk/manifest.js +12 -0
  56. package/dist/driver-sdk/manifest.js.map +1 -0
  57. package/dist/driver-sdk/retry.d.ts +33 -0
  58. package/dist/driver-sdk/retry.d.ts.map +1 -0
  59. package/dist/driver-sdk/retry.js +50 -0
  60. package/dist/driver-sdk/retry.js.map +1 -0
  61. package/dist/plugin/.claude-plugin/plugin.json +2 -1
  62. package/dist/plugin/agents/apt-planner.md +34 -3
  63. package/dist/plugin/skills/apt-plan/SKILL.md +50 -0
  64. package/dist/plugin/skills/apt-pr-review/SKILL.md +1 -1
  65. package/dist/plugin/skills/apt-research/SKILL.md +526 -0
  66. package/dist/plugin/skills/apt-research/appendices/budget-loop.md +397 -0
  67. package/dist/plugin/skills/apt-research/appendices/claim-graph-schema.md +206 -0
  68. package/dist/plugin/skills/apt-research/appendices/domain-tools.md +236 -0
  69. package/dist/plugin/skills/apt-spar/SKILL.md +19 -7
  70. package/dist/plugin/skills/apt-verify-proof/SKILL.md +41 -2
  71. package/dist/schemas/quick-task.d.ts +17 -17
  72. package/drivers/.gitkeep +0 -0
  73. package/drivers/api/README.md +40 -0
  74. package/drivers/api/driver.mjs +59 -0
  75. package/drivers/api/manifest.json +26 -0
  76. package/drivers/browser/README.md +105 -0
  77. package/drivers/browser/driver.mjs +134 -0
  78. package/drivers/browser/manifest.json +35 -0
  79. package/drivers/cli/README.md +44 -0
  80. package/drivers/cli/driver.mjs +62 -0
  81. package/drivers/cli/manifest.json +28 -0
  82. package/drivers/electron/README.md +64 -0
  83. package/drivers/electron/driver.mjs +87 -0
  84. package/drivers/electron/manifest.json +37 -0
  85. package/package.json +7 -3
  86. package/skills/apt-plan/SKILL.md +50 -0
  87. package/skills/apt-planner.md +16 -0
  88. package/skills/apt-pr-review/SKILL.md +1 -1
  89. package/skills/apt-research/SKILL.md +526 -0
  90. package/skills/apt-research/appendices/budget-loop.md +397 -0
  91. package/skills/apt-research/appendices/claim-graph-schema.md +206 -0
  92. package/skills/apt-research/appendices/domain-tools.md +236 -0
  93. package/skills/apt-spar/SKILL.md +19 -7
  94. package/skills/apt-verify-proof/SKILL.md +41 -2
  95. package/src/cli/commands/coverage-check.mjs +126 -44
  96. package/src/cli/commands/detect-runtime.mjs +23 -14
  97. package/src/cli/coverage-check/user-outcomes.mjs +273 -0
  98. package/src/cli/host/detect.mjs +1 -1
  99. package/src/cli/install/install-from-source.mjs +3 -3
  100. package/src/cli/install/legacy-paths.mjs +2 -0
  101. package/src/cli/verify-proof/idl/index.mjs +7 -8
  102. package/src/cli/verify-proof/idl/types.ts +5 -4
  103. package/src/cli/verify-proof/manifest-schema.json +2 -1
  104. package/src/cli/verify-proof/resolver.mjs +171 -4
  105. package/src/cli/verify-proof/runtime-detect.mjs +99 -10
  106. package/src/cli/verify-proof/trust.mjs +1 -1
  107. package/templates/proof-verification.md +32 -3
  108. package/workflows/verify-proof.md +78 -9
@@ -0,0 +1,265 @@
1
+ /**
2
+ * coverage-check/user-outcomes.mjs — `## User Outcomes` PRD section parser.
3
+ *
4
+ * Pure, file-IO-free. Mirrors the `coverage-check/acceptance-criteria.mjs`
5
+ * pattern: takes spec.md content as a string and returns a structured
6
+ * `{header_present, body_kind, epic?, outcomes[], validation_warnings?}`
7
+ * envelope the coverage-check command consumes.
8
+ *
9
+ * The `## User Outcomes` section is the verify-proof input contract
10
+ * introduced in v0.8.6 (spec.md §ID-01 / §ID-07). The grammar:
11
+ *
12
+ * ## User Outcomes
13
+ *
14
+ * **Epic:** {one-sentence headline}
15
+ *
16
+ * - **ON** [surface]: {prose}
17
+ * - **ON** [surface]: {prose} *(requires ON N)*
18
+ *
19
+ * (refactor-only escape — INSTEAD of the outcome list:)
20
+ * _No user-observable changes — pure refactor._
21
+ *
22
+ * `surface` is the closed set: electron | web | cli | api | electron+web.
23
+ *
24
+ * **Positional ID synthesis (§ID-07 / M1).** The parser counts outcome
25
+ * rows in document order and synthesizes `id = "O" + (i+1)`. The literal
26
+ * `**ON**` regex stays — IDs are NOT author-written. The `requires N`
27
+ * digit captured from `*(requires ON N)*` is validated against the set
28
+ * of synthesized IDs; on mismatch the parser emits a
29
+ * `validation_warnings[]` entry of kind `unknown_requires_target`,
30
+ * skips the dep edge, but still includes the outcome row.
31
+ *
32
+ * See packages/framework/skills/apt-plan/SKILL.md Section 5.B for the
33
+ * authoring contract.
34
+ */
35
+ const VALID_SURFACES = new Set(['electron', 'web', 'cli', 'api', 'electron+web']);
36
+ const HEADING_RE = /^(#{1,6})\s+(.*)$/;
37
+ const USER_OUTCOMES_HEADING_RE = /^user\s+outcomes\s*$/i;
38
+ const EPIC_RE = /^\*\*Epic:\*\*\s+(.+)$/;
39
+ const EMPTY_WITH_NOTE_RE = /^_No user-observable changes — pure refactor\._\s*$/;
40
+ const OUTCOME_RE = /^-\s+\*\*ON\*\*\s+\[(electron|web|cli|api|electron\+web)\]:\s+(.+?)(\s+\*\(requires\s+ON\s+(\d+)\)\*)?\s*$/;
41
+ /**
42
+ * @typedef {Object} UserOutcome
43
+ * @property {string} id — synthesized positional ID (O1, O2, ...)
44
+ * @property {('electron'|'web'|'cli'|'api'|'electron+web')} surface
45
+ * @property {string} text — outcome prose (sans the surface tag and requires suffix)
46
+ * @property {number} [requires] — the digit captured from `*(requires ON N)*`, when present and valid
47
+ */
48
+ /**
49
+ * @typedef {Object} ValidationWarning
50
+ * @property {'unknown_requires_target'} kind
51
+ * @property {string} outcome_id — synthesized ID of the outcome carrying the bad `requires`
52
+ * @property {number} requires — the offending digit
53
+ * @property {string} reason — human-readable explanation
54
+ */
55
+ /**
56
+ * @typedef {Object} UserOutcomesParseResult
57
+ * @property {boolean} header_present
58
+ * @property {('absent'|'empty'|'empty-with-note'|'outcomes')} body_kind
59
+ * @property {string} [epic]
60
+ * @property {UserOutcome[]} outcomes
61
+ * @property {ValidationWarning[]} [validation_warnings]
62
+ */
63
+ /**
64
+ * Parse the `## User Outcomes` section from a spec.md string.
65
+ *
66
+ * @param {string} specContent
67
+ * @returns {UserOutcomesParseResult}
68
+ */
69
+ export function parseUserOutcomes(specContent) {
70
+ if (typeof specContent !== 'string' || specContent.length === 0) {
71
+ return { header_present: false, body_kind: 'absent', outcomes: [] };
72
+ }
73
+ const lines = specContent.split('\n');
74
+ // Find the `## User Outcomes` heading + scope to its body (until the next
75
+ // heading of equal or lower depth).
76
+ let headingLine = -1;
77
+ let headingLevel = 0;
78
+ for (let i = 0; i < lines.length; i++) {
79
+ const m = lines[i].trim().match(HEADING_RE);
80
+ if (m && USER_OUTCOMES_HEADING_RE.test(m[2])) {
81
+ headingLine = i;
82
+ headingLevel = m[1].length;
83
+ break;
84
+ }
85
+ }
86
+ if (headingLine === -1) {
87
+ return { header_present: false, body_kind: 'absent', outcomes: [] };
88
+ }
89
+ // Collect body lines from heading+1 until the next heading of ANY
90
+ // depth. The User Outcomes section is intentionally flat — a
91
+ // downstream sub-heading (e.g. `### Acceptance Criteria` following
92
+ // directly without a `## ` separator) ends the body. This matches
93
+ // how authors write the section and avoids accidentally pulling
94
+ // stray prose from later sections into the outcomes pool.
95
+ const bodyLines = [];
96
+ for (let i = headingLine + 1; i < lines.length; i++) {
97
+ const trimmed = lines[i].trim();
98
+ if (HEADING_RE.test(trimmed))
99
+ break;
100
+ bodyLines.push(lines[i]);
101
+ }
102
+ // Classify body shape.
103
+ const nonBlank = bodyLines.map((l) => l.trim()).filter((l) => l.length > 0);
104
+ if (nonBlank.length === 0) {
105
+ return { header_present: true, body_kind: 'empty', outcomes: [] };
106
+ }
107
+ // Empty-with-note escape — body MUST contain only the verbatim
108
+ // italic-underscore-em-dash-period sentinel (other lines may exist
109
+ // only if they are the Epic header or blank — but the spec says the
110
+ // sentinel REPLACES the outcome list, so we require it to be the only
111
+ // non-blank line OR the only non-Epic non-blank line).
112
+ let epic;
113
+ const sentinelLines = [];
114
+ const outcomeLines = [];
115
+ for (const line of nonBlank) {
116
+ const epicMatch = line.match(EPIC_RE);
117
+ if (epicMatch) {
118
+ epic = epicMatch[1].trim();
119
+ continue;
120
+ }
121
+ if (EMPTY_WITH_NOTE_RE.test(line)) {
122
+ sentinelLines.push(line);
123
+ continue;
124
+ }
125
+ outcomeLines.push(line);
126
+ }
127
+ // If the sentinel is present and there are NO outcome lines, this is
128
+ // the empty-with-note branch. The sentinel may co-exist with an Epic
129
+ // header — that's not required but not forbidden either.
130
+ if (sentinelLines.length > 0 && outcomeLines.length === 0) {
131
+ /** @type {UserOutcomesParseResult} */
132
+ const result = {
133
+ header_present: true,
134
+ body_kind: 'empty-with-note',
135
+ outcomes: [],
136
+ };
137
+ if (epic)
138
+ result.epic = epic;
139
+ return result;
140
+ }
141
+ // If neither the sentinel nor any outcome rows are present, the body
142
+ // is effectively empty (header present, no parseable content).
143
+ if (outcomeLines.length === 0) {
144
+ /** @type {UserOutcomesParseResult} */
145
+ const result = {
146
+ header_present: true,
147
+ body_kind: 'empty',
148
+ outcomes: [],
149
+ };
150
+ if (epic)
151
+ result.epic = epic;
152
+ return result;
153
+ }
154
+ // Parse outcome rows in document order. Skip non-matching lines (e.g.
155
+ // stray prose between outcomes) — they don't count as outcomes.
156
+ /** @type {UserOutcome[]} */
157
+ const outcomes = [];
158
+ const rawRequires = [];
159
+ for (const line of outcomeLines) {
160
+ const m = line.match(OUTCOME_RE);
161
+ if (!m)
162
+ continue;
163
+ const surface = /** @type {UserOutcome['surface']} */ (m[1]);
164
+ if (!VALID_SURFACES.has(surface))
165
+ continue;
166
+ const text = m[2].trim();
167
+ const id = 'O' + (outcomes.length + 1);
168
+ const outcome = /** @type {UserOutcome} */ ({ id, surface, text });
169
+ if (m[4]) {
170
+ const n = Number.parseInt(m[4], 10);
171
+ rawRequires.push({ outcomeIndex: outcomes.length, requires: n });
172
+ }
173
+ outcomes.push(outcome);
174
+ }
175
+ if (outcomes.length === 0) {
176
+ // Header present, prose present, but no parseable `**ON**` rows —
177
+ // effectively empty.
178
+ /** @type {UserOutcomesParseResult} */
179
+ const result = {
180
+ header_present: true,
181
+ body_kind: 'empty',
182
+ outcomes: [],
183
+ };
184
+ if (epic)
185
+ result.epic = epic;
186
+ return result;
187
+ }
188
+ // Validate `requires` cross-refs against the set of synthesized IDs.
189
+ /** @type {ValidationWarning[]} */
190
+ const warnings = [];
191
+ for (const r of rawRequires) {
192
+ if (r.requires >= 1 && r.requires <= outcomes.length) {
193
+ outcomes[r.outcomeIndex].requires = r.requires;
194
+ }
195
+ else {
196
+ warnings.push({
197
+ kind: 'unknown_requires_target',
198
+ outcome_id: outcomes[r.outcomeIndex].id,
199
+ requires: r.requires,
200
+ reason: `requires ON ${r.requires} but only ${outcomes.length} outcome(s) parsed`,
201
+ });
202
+ }
203
+ }
204
+ /** @type {UserOutcomesParseResult} */
205
+ const result = {
206
+ header_present: true,
207
+ body_kind: 'outcomes',
208
+ outcomes,
209
+ };
210
+ if (epic)
211
+ result.epic = epic;
212
+ if (warnings.length > 0)
213
+ result.validation_warnings = warnings;
214
+ return result;
215
+ }
216
+ /**
217
+ * Compute the coverage-check gate result for a parsed user-outcomes
218
+ * envelope. Per §ID-07 table — warn-not-block in v0.8.x, hard-block in
219
+ * v0.9.0.
220
+ *
221
+ * | header_present | body_kind | v0.8.x | v0.9.0 |
222
+ * |----------------|-------------------|--------|--------|
223
+ * | false | — | warn | block |
224
+ * | true | empty-with-note | pass | pass |
225
+ * | true | outcomes (≥1) | pass | pass |
226
+ * | true | empty | block | block |
227
+ *
228
+ * @param {UserOutcomesParseResult} parsed
229
+ * @param {string} frameworkVersion — semver string from the kernel's package.json (e.g. "0.8.6")
230
+ * @returns {('pass'|'warn'|'block')}
231
+ */
232
+ export function userOutcomesGateResult(parsed, frameworkVersion) {
233
+ if (parsed.body_kind === 'empty-with-note' || parsed.body_kind === 'outcomes') {
234
+ return 'pass';
235
+ }
236
+ if (parsed.body_kind === 'empty') {
237
+ // Header present, body empty — author started the section and forgot
238
+ // to fill it in. Block at every version.
239
+ return 'block';
240
+ }
241
+ // Missing header (body_kind: 'absent'). Warn in 0.8.x, block in 0.9.0+.
242
+ const major = parseFrameworkMajorMinor(frameworkVersion);
243
+ if (major === null)
244
+ return 'warn';
245
+ const { major: maj, minor: min } = major;
246
+ if (maj > 0 || (maj === 0 && min >= 9))
247
+ return 'block';
248
+ return 'warn';
249
+ }
250
+ /**
251
+ * Parse the leading `major.minor` of a semver string. Returns null on
252
+ * malformed input (caller treats as "warn" — fail-soft).
253
+ *
254
+ * @param {string} version
255
+ * @returns {{major: number, minor: number} | null}
256
+ */
257
+ function parseFrameworkMajorMinor(version) {
258
+ if (typeof version !== 'string')
259
+ return null;
260
+ const m = version.match(/^(\d+)\.(\d+)/);
261
+ if (!m)
262
+ return null;
263
+ return { major: Number.parseInt(m[1], 10), minor: Number.parseInt(m[2], 10) };
264
+ }
265
+ //# sourceMappingURL=user-outcomes.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-outcomes.mjs","sourceRoot":"","sources":["../../../src/cli/coverage-check/user-outcomes.mjs"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAA;AAEjF,MAAM,UAAU,GAAG,mBAAmB,CAAA;AACtC,MAAM,wBAAwB,GAAG,uBAAuB,CAAA;AACxD,MAAM,OAAO,GAAG,wBAAwB,CAAA;AACxC,MAAM,kBAAkB,GAAG,qDAAqD,CAAA;AAChF,MAAM,UAAU,GACf,4GAA4G,CAAA;AAE7G;;;;;;GAMG;AAEH;;;;;;GAMG;AAEH;;;;;;;GAOG;AAEH;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,WAAW;IAC5C,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;IACpE,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAErC,0EAA0E;IAC1E,oCAAoC;IACpC,IAAI,WAAW,GAAG,CAAC,CAAC,CAAA;IACpB,IAAI,YAAY,GAAG,CAAC,CAAA;IACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QAC3C,IAAI,CAAC,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,WAAW,GAAG,CAAC,CAAA;YACf,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;YAC1B,MAAK;QACN,CAAC;IACF,CAAC;IAED,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;IACpE,CAAC;IAED,kEAAkE;IAClE,6DAA6D;IAC7D,mEAAmE;IACnE,kEAAkE;IAClE,gEAAgE;IAChE,0DAA0D;IAC1D,MAAM,SAAS,GAAG,EAAE,CAAA;IACpB,KAAK,IAAI,CAAC,GAAG,WAAW,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QAC/B,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,MAAK;QACnC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACzB,CAAC;IAED,uBAAuB;IACvB,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAE3E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAA;IAClE,CAAC;IAED,+DAA+D;IAC/D,mEAAmE;IACnE,oEAAoE;IACpE,sEAAsE;IACtE,uDAAuD;IACvD,IAAI,IAAI,CAAA;IACR,MAAM,aAAa,GAAG,EAAE,CAAA;IACxB,MAAM,YAAY,GAAG,EAAE,CAAA;IACvB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACrC,IAAI,SAAS,EAAE,CAAC;YACf,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;YAC1B,SAAQ;QACT,CAAC;QACD,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACxB,SAAQ;QACT,CAAC;QACD,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACxB,CAAC;IAED,qEAAqE;IACrE,qEAAqE;IACrE,yDAAyD;IACzD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3D,sCAAsC;QACtC,MAAM,MAAM,GAAG;YACd,cAAc,EAAE,IAAI;YACpB,SAAS,EAAE,iBAAiB;YAC5B,QAAQ,EAAE,EAAE;SACZ,CAAA;QACD,IAAI,IAAI;YAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAA;QAC5B,OAAO,MAAM,CAAA;IACd,CAAC;IAED,qEAAqE;IACrE,+DAA+D;IAC/D,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,sCAAsC;QACtC,MAAM,MAAM,GAAG;YACd,cAAc,EAAE,IAAI;YACpB,SAAS,EAAE,OAAO;YAClB,QAAQ,EAAE,EAAE;SACZ,CAAA;QACD,IAAI,IAAI;YAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAA;QAC5B,OAAO,MAAM,CAAA;IACd,CAAC;IAED,sEAAsE;IACtE,gEAAgE;IAChE,4BAA4B;IAC5B,MAAM,QAAQ,GAAG,EAAE,CAAA;IACnB,MAAM,WAAW,GAAG,EAAE,CAAA;IACtB,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QACjC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QAChC,IAAI,CAAC,CAAC;YAAE,SAAQ;QAChB,MAAM,OAAO,GAAG,qCAAqC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC5D,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,SAAQ;QAC1C,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QACxB,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACtC,MAAM,OAAO,GAAG,0BAA0B,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QAClE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACV,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YACnC,WAAW,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAA;QACjE,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IACvB,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,kEAAkE;QAClE,qBAAqB;QACrB,sCAAsC;QACtC,MAAM,MAAM,GAAG;YACd,cAAc,EAAE,IAAI;YACpB,SAAS,EAAE,OAAO;YAClB,QAAQ,EAAE,EAAE;SACZ,CAAA;QACD,IAAI,IAAI;YAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAA;QAC5B,OAAO,MAAM,CAAA;IACd,CAAC;IAED,qEAAqE;IACrE,kCAAkC;IAClC,MAAM,QAAQ,GAAG,EAAE,CAAA;IACnB,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;QAC7B,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACtD,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAA;QAC/C,CAAC;aAAM,CAAC;YACP,QAAQ,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,yBAAyB;gBAC/B,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE;gBACvC,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,MAAM,EAAE,eAAe,CAAC,CAAC,QAAQ,aAAa,QAAQ,CAAC,MAAM,oBAAoB;aACjF,CAAC,CAAA;QACH,CAAC;IACF,CAAC;IAED,sCAAsC;IACtC,MAAM,MAAM,GAAG;QACd,cAAc,EAAE,IAAI;QACpB,SAAS,EAAE,UAAU;QACrB,QAAQ;KACR,CAAA;IACD,IAAI,IAAI;QAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAA;IAC5B,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,CAAC,mBAAmB,GAAG,QAAQ,CAAA;IAC9D,OAAO,MAAM,CAAA;AACd,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAM,EAAE,gBAAgB;IAC9D,IAAI,MAAM,CAAC,SAAS,KAAK,iBAAiB,IAAI,MAAM,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;QAC/E,OAAO,MAAM,CAAA;IACd,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,KAAK,OAAO,EAAE,CAAC;QAClC,qEAAqE;QACrE,yCAAyC;QACzC,OAAO,OAAO,CAAA;IACf,CAAC;IACD,wEAAwE;IACxE,MAAM,KAAK,GAAG,wBAAwB,CAAC,gBAAgB,CAAC,CAAA;IACxD,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAA;IACjC,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,KAAK,CAAA;IACxC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;QAAE,OAAO,OAAO,CAAA;IACtD,OAAO,MAAM,CAAA;AACd,CAAC;AAED;;;;;;GAMG;AACH,SAAS,wBAAwB,CAAC,OAAO;IACxC,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAC5C,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;IACxC,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IACnB,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAA;AAC9E,CAAC"}
@@ -344,7 +344,7 @@ function rawCliInvocation(partner) {
344
344
  if (partner === 'claude')
345
345
  return 'claude -p';
346
346
  if (partner === 'gemini')
347
- return 'gemini -m';
347
+ return 'gemini';
348
348
  return partner;
349
349
  }
350
350
  //# sourceMappingURL=detect.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"detect.mjs","sourceRoot":"","sources":["../../../src/cli/host/detect.mjs"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detect.mjs","sourceRoot":"","sources":["../../../src/cli/host/detect.mjs"],"names":[],"mappings":"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"}
@@ -3,9 +3,9 @@
3
3
  *
4
4
  * `apt-tools install-from-source <project-dir>` for the Aperant-contributor
5
5
  * self-host case. Resolves the workspace `@aperant/framework` chain — packs
6
- * the framework itself AND every `workspace:*` dependency (currently
7
- * `@aperant/driver-sdk`, but the walker is general). Hands the full tarball
8
- * list to a single `npm install --prefix` invocation so the same-PR
6
+ * the framework itself AND every `workspace:*` dependency (none today after
7
+ * the 0.8.5 driver-sdk inline, but the walker is general). Hands the full
8
+ * tarball list to a single `npm install --prefix` invocation so any future
9
9
  * unpublished-pair case stops blowing up with `EUNSUPPORTEDPROTOCOL`.
10
10
  *
11
11
  * Stable envelope:
@@ -1 +1 @@
1
- {"version":3,"file":"legacy-paths.d.mts","sourceRoot":"","sources":["../../../src/cli/install/legacy-paths.mjs"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH;;;;;;GAMG;AAEH,gDAAgD;AAChD,mCADW,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CA6I1C;;kBAnJY,MAAM;kBACN,MAAM;;;;;qBAEN,aAAa,CAAC,MAAM,CAAC"}
1
+ {"version":3,"file":"legacy-paths.d.mts","sourceRoot":"","sources":["../../../src/cli/install/legacy-paths.mjs"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH;;;;;;GAMG;AAEH,gDAAgD;AAChD,mCADW,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CA+I1C;;kBArJY,MAAM;kBACN,MAAM;;;;;qBAEN,aAAa,CAAC,MAAM,CAAC"}
@@ -107,6 +107,7 @@ export const LEGACY_INSTALL_PATHS = Object.freeze({
107
107
  'agents/apt-prototype.md',
108
108
  'agents/apt-quick.md',
109
109
  'agents/apt-release-notes.md',
110
+ 'agents/apt-research.md',
110
111
  'agents/apt-resume.md',
111
112
  'agents/apt-review.md',
112
113
  'agents/apt-roadmap.md',
@@ -149,6 +150,7 @@ export const LEGACY_INSTALL_PATHS = Object.freeze({
149
150
  'commands/apt-prototype.md',
150
151
  'commands/apt-quick.md',
151
152
  'commands/apt-release-notes.md',
153
+ 'commands/apt-research.md',
152
154
  'commands/apt-resume.md',
153
155
  'commands/apt-review.md',
154
156
  'commands/apt-roadmap.md',
@@ -1 +1 @@
1
- {"version":3,"file":"legacy-paths.mjs","sourceRoot":"","sources":["../../../src/cli/install/legacy-paths.mjs"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"legacy-paths.mjs","sourceRoot":"","sources":["../../../src/cli/install/legacy-paths.mjs"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export { ASSERTION_VERBS, ASYNC_VERBS, EVIDENCE_VERBS, IDL_VERB_ARGS, IDL_VERB_NAMES, INTERACTION_VERBS, isVerbResult, LIFECYCLE_VERBS, validateVerbArgs } from "@aperant/driver-sdk";
1
+ export { ASSERTION_VERBS, ASYNC_VERBS, EVIDENCE_VERBS, IDL_VERB_ARGS, IDL_VERB_NAMES, INTERACTION_VERBS, isVerbResult, LIFECYCLE_VERBS, validateVerbArgs } from "@aperant/framework/driver-sdk";
2
2
  //# sourceMappingURL=index.d.mts.map
@@ -1,14 +1,13 @@
1
1
  /**
2
2
  * idl/index.mjs — framework-side re-export of the IDL v1 runtime registry.
3
3
  *
4
- * The SINGLE SOURCE OF TRUTH lives in `@aperant/driver-sdk` (idl.ts) — see
5
- * ID-04 in spec.md. This file just re-exports those runtime values so
6
- * framework-internal callers (bundled drivers, resolver, driver-doctor,
7
- * conformance kit) can import from the existing relative path without
8
- * paying the cost of refactoring every callsite.
4
+ * Single source of truth lives at packages/framework/src/driver-sdk/idl.ts
5
+ * (inlined in 0.8.5 originally `@aperant/driver-sdk`). This file
6
+ * re-exports those runtime values so existing callers (bundled drivers,
7
+ * resolver, driver-doctor, conformance kit) keep working without a
8
+ * refactor of every callsite.
9
9
  *
10
- * If you add a verb, edit packages/framework-driver-sdk/src/idl.ts. This
11
- * file requires no maintenance.
10
+ * If you add a verb, edit packages/framework/src/driver-sdk/idl.ts.
12
11
  */
13
- export { ASSERTION_VERBS, ASYNC_VERBS, EVIDENCE_VERBS, IDL_VERB_ARGS, IDL_VERB_NAMES, INTERACTION_VERBS, isVerbResult, LIFECYCLE_VERBS, validateVerbArgs, } from '@aperant/driver-sdk';
12
+ export { ASSERTION_VERBS, ASYNC_VERBS, EVIDENCE_VERBS, IDL_VERB_ARGS, IDL_VERB_NAMES, INTERACTION_VERBS, isVerbResult, LIFECYCLE_VERBS, validateVerbArgs, } from '@aperant/framework/driver-sdk';
14
13
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../../src/cli/verify-proof/idl/index.mjs"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACN,eAAe,EACf,WAAW,EACX,cAAc,EACd,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,gBAAgB,GAChB,MAAM,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../../../src/cli/verify-proof/idl/index.mjs"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACN,eAAe,EACf,WAAW,EACX,cAAc,EACd,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,gBAAgB,GAChB,MAAM,+BAA+B,CAAA"}
@@ -1,9 +1,10 @@
1
1
  /**
2
2
  * idl/types.ts — re-export the SDK's IDL types for framework-internal use.
3
3
  *
4
- * Single source of truth lives in `@aperant/driver-sdk/idl.ts`. Framework
5
- * code imports from here so future moves (e.g. an internal-only IDL
6
- * extension) only touch this re-export, not every call site.
4
+ * Single source of truth lives at packages/framework/src/driver-sdk/idl.ts
5
+ * (inlined in 0.8.5). Framework code imports from here so future moves
6
+ * (e.g. an internal-only IDL extension or re-extraction) only touch this
7
+ * re-export, not every call site.
7
8
  */
8
- export type { AssertNetworkArgs, AssertOutputArgs, AssertTextArgs, AssertVisibleArgs, AwaitSignalArgs, CaptureLogsArgs, ClickArgs, DomDumpArgs, DragDropArgs, DriverModule, DumpStateArgs, ExecuteJsArgs, Handle, IdlVerbName, KeyArgs, LaunchArgs, NavigateArgs, RecordVideoArgs, ScreenshotArgs, SelectArgs, SwipeArgs, SwitchContextArgs, Target, TargetKind, TeardownArgs, TriggerArgs, TypeArgs, UploadFileArgs, VerbResult, WaitForEventArgs, WaitForIdleArgs, } from '@aperant/driver-sdk';
9
+ export type { AssertNetworkArgs, AssertOutputArgs, AssertTextArgs, AssertVisibleArgs, AwaitSignalArgs, CaptureLogsArgs, ClickArgs, DomDumpArgs, DragDropArgs, DriverModule, DumpStateArgs, ExecuteJsArgs, Handle, IdlVerbName, KeyArgs, LaunchArgs, NavigateArgs, RecordVideoArgs, ScreenshotArgs, SelectArgs, SwipeArgs, SwitchContextArgs, Target, TargetKind, TeardownArgs, TriggerArgs, TypeArgs, UploadFileArgs, VerbResult, WaitForEventArgs, WaitForIdleArgs, } from '@aperant/framework/driver-sdk';
9
10
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/cli/verify-proof/idl/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,YAAY,EACX,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,SAAS,EACT,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,aAAa,EACb,MAAM,EACN,WAAW,EACX,OAAO,EACP,UAAU,EACV,YAAY,EACZ,eAAe,EACf,cAAc,EACd,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,MAAM,EACN,UAAU,EACV,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,eAAe,GACf,MAAM,qBAAqB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/cli/verify-proof/idl/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,YAAY,EACX,iBAAiB,EACjB,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,SAAS,EACT,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,aAAa,EACb,MAAM,EACN,WAAW,EACX,OAAO,EACP,UAAU,EACV,YAAY,EACZ,eAAe,EACf,cAAc,EACd,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,MAAM,EACN,UAAU,EACV,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,eAAe,GACf,MAAM,+BAA+B,CAAA"}
@@ -1,9 +1,10 @@
1
1
  /**
2
2
  * idl/types.ts — re-export the SDK's IDL types for framework-internal use.
3
3
  *
4
- * Single source of truth lives in `@aperant/driver-sdk/idl.ts`. Framework
5
- * code imports from here so future moves (e.g. an internal-only IDL
6
- * extension) only touch this re-export, not every call site.
4
+ * Single source of truth lives at packages/framework/src/driver-sdk/idl.ts
5
+ * (inlined in 0.8.5). Framework code imports from here so future moves
6
+ * (e.g. an internal-only IDL extension or re-extraction) only touch this
7
+ * re-export, not every call site.
7
8
  */
8
9
  export {};
9
10
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/cli/verify-proof/idl/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/cli/verify-proof/idl/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -38,6 +38,68 @@ export function resolveDriver(opts: {
38
38
  reason: string;
39
39
  }>;
40
40
  };
41
- export type DriverManifest = import("@aperant/driver-sdk").DriverManifest;
41
+ /**
42
+ * Map a User Outcomes surface tag to the runtime-capability flag a driver
43
+ * must carry (via `matchesRuntime`) to be eligible for that surface.
44
+ *
45
+ * Closed surface set: `electron | web | cli | api | electron+web`.
46
+ * `electron+web` is NOT a single flag — it's a cross-surface tag the
47
+ * workflow runner expands into two single-surface dispatches.
48
+ *
49
+ * @param {('electron'|'web'|'cli'|'api')} surface
50
+ * @returns {('is_electron'|'is_web_frontend'|'has_node')}
51
+ */
52
+ export function surfaceToRequiredFlag(surface: ("electron" | "web" | "cli" | "api")): ("is_electron" | "is_web_frontend" | "has_node");
53
+ /**
54
+ * Resolve a driver per outcome surface tag, NOT per verify-proof run
55
+ * (per spec §ID-03). For each input outcome the function returns one
56
+ * `{outcome_id, surface, driver}` entry; for `[electron+web]` outcomes
57
+ * it returns TWO entries (electron + web) sharing the same outcome_id.
58
+ *
59
+ * The `outcome_id` field on each returned entry is the positional ID
60
+ * produced by `parseUserOutcomes` (e.g. `O1`, `O2`). The resolver does
61
+ * NOT rewrite or regenerate IDs — they pass through verbatim so the
62
+ * workflow runner can correlate proof artifacts to spec lines.
63
+ *
64
+ * Each per-surface dispatch synthesizes a runtime-capabilities view
65
+ * that ONLY claims the surface's required flag (e.g. `is_electron`
66
+ * alone for an electron-surface outcome, even when the project also
67
+ * carries `is_web_frontend`). This forces the existing scoring to
68
+ * pick the per-surface driver — without it, a project with BOTH
69
+ * electron AND web capabilities would always select the highest-
70
+ * priority bundled driver (currently `browser`) for every outcome.
71
+ *
72
+ * Delegates to the existing `resolveDriver()` for the actual scoring
73
+ * — the scoring code stays in one place.
74
+ *
75
+ * @param {Object} opts
76
+ * @param {DriverManifest[]} opts.drivers
77
+ * @param {RuntimeCapabilities} opts.runtime
78
+ * @param {Array<{id: string, surface: 'electron'|'web'|'cli'|'api'|'electron+web'}>} opts.outcomes
79
+ * @param {string[]} [opts.override]
80
+ * @param {string[]} [opts.required_stability]
81
+ * @param {string[]} [opts.required_capabilities] — defaults to ['screenshot']
82
+ * @returns {Array<{outcome_id: string, surface: string, driver: DriverManifest, fallback_attempts: Array<{driver_id: string, reason: string}>}>}
83
+ */
84
+ export function resolveDriversForOutcomes(opts: {
85
+ drivers: DriverManifest[];
86
+ runtime: RuntimeCapabilities;
87
+ outcomes: Array<{
88
+ id: string;
89
+ surface: "electron" | "web" | "cli" | "api" | "electron+web";
90
+ }>;
91
+ override?: string[] | undefined;
92
+ required_stability?: string[] | undefined;
93
+ required_capabilities?: string[] | undefined;
94
+ }): Array<{
95
+ outcome_id: string;
96
+ surface: string;
97
+ driver: DriverManifest;
98
+ fallback_attempts: Array<{
99
+ driver_id: string;
100
+ reason: string;
101
+ }>;
102
+ }>;
103
+ export type DriverManifest = import("@aperant/framework/driver-sdk").DriverManifest;
42
104
  export type RuntimeCapabilities = import("./runtime-detect.mjs").RuntimeCapabilities;
43
105
  //# sourceMappingURL=resolver.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.d.mts","sourceRoot":"","sources":["../../../src/cli/verify-proof/resolver.mjs"],"names":[],"mappings":"AA8BA;;;;;;;GAOG;AACH,sCALW,cAAc,GAAG;IAAC,QAAQ,CAAC,EAAE,SAAS,GAAC,MAAM,GAAC,UAAU,CAAA;CAAC,WACzD,mBAAmB,YACnB,MAAM,EAAE,GACN;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAC,CAU9C;AA0CD;;;;;;;;;;;;GAYG;AACH,oCARG;IAA+B,OAAO,EAA9B,cAAc,EAAE;IACU,OAAO,EAAjC,mBAAmB;IACJ,qBAAqB,EAApC,MAAM,EAAE;IACQ,kBAAkB;IAClB,QAAQ;CAChC,GAAU;IAAC,QAAQ,EAAE,cAAc,CAAC;IAAC,iBAAiB,EAAE,KAAK,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CAAC,CAAA;CAAC,CAgErG;6BA3IY,OAAO,qBAAqB,EAAE,cAAc;kCAC5C,OAAO,sBAAsB,EAAE,mBAAmB"}
1
+ {"version":3,"file":"resolver.d.mts","sourceRoot":"","sources":["../../../src/cli/verify-proof/resolver.mjs"],"names":[],"mappings":"AA0CA;;;;;;;GAOG;AACH,sCALW,cAAc,GAAG;IAAC,QAAQ,CAAC,EAAE,SAAS,GAAC,MAAM,GAAC,UAAU,CAAA;CAAC,WACzD,mBAAmB,YACnB,MAAM,EAAE,GACN;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAC,CAU9C;AA0CD;;;;;;;;;;;;GAYG;AACH,oCARG;IAA+B,OAAO,EAA9B,cAAc,EAAE;IACU,OAAO,EAAjC,mBAAmB;IACJ,qBAAqB,EAApC,MAAM,EAAE;IACQ,kBAAkB;IAClB,QAAQ;CAChC,GAAU;IAAC,QAAQ,EAAE,cAAc,CAAC;IAAC,iBAAiB,EAAE,KAAK,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CAAC,CAAA;CAAC,CAqFrG;AAED;;;;;;;;;;GAUG;AACH,+CAHW,CAAC,UAAU,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,CAAC,GAC5B,CAAC,aAAa,GAAC,iBAAiB,GAAC,UAAU,CAAC,CAcxD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,gDARG;IAA+B,OAAO,EAA9B,cAAc,EAAE;IACU,OAAO,EAAjC,mBAAmB;IAC6D,QAAQ,EAAxF,KAAK,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,UAAU,GAAC,KAAK,GAAC,KAAK,GAAC,KAAK,GAAC,cAAc,CAAA;KAAC,CAAC;IACzD,QAAQ;IACR,kBAAkB;IAClB,qBAAqB;CAC7C,GAAU,KAAK,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,cAAc,CAAC;IAAC,iBAAiB,EAAE,KAAK,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,CAAC,CAAA;CAAC,CAAC,CA2C/I;6BAnQY,OAAO,+BAA+B,EAAE,cAAc;kCACtD,OAAO,sBAAsB,EAAE,mBAAmB"}