@aperant/framework 0.8.4 → 0.8.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +185 -0
- package/agents/apt-planner.md +34 -3
- package/dist/cli/commands/coverage-check.d.mts.map +1 -1
- package/dist/cli/commands/coverage-check.mjs +74 -7
- package/dist/cli/commands/coverage-check.mjs.map +1 -1
- package/dist/cli/commands/detect-runtime.d.mts.map +1 -1
- package/dist/cli/commands/detect-runtime.mjs +18 -12
- package/dist/cli/commands/detect-runtime.mjs.map +1 -1
- package/dist/cli/coverage-check/user-outcomes.d.mts +84 -0
- package/dist/cli/coverage-check/user-outcomes.d.mts.map +1 -0
- package/dist/cli/coverage-check/user-outcomes.mjs +265 -0
- package/dist/cli/coverage-check/user-outcomes.mjs.map +1 -0
- package/dist/cli/host/detect.mjs +1 -1
- package/dist/cli/host/detect.mjs.map +1 -1
- package/dist/cli/install/install-from-source.mjs +3 -3
- package/dist/cli/install/legacy-paths.d.mts.map +1 -1
- package/dist/cli/install/legacy-paths.mjs +2 -0
- package/dist/cli/install/legacy-paths.mjs.map +1 -1
- package/dist/cli/install/manifest.d.mts +13 -0
- package/dist/cli/install/manifest.d.mts.map +1 -1
- package/dist/cli/install/manifest.mjs +5 -0
- package/dist/cli/install/manifest.mjs.map +1 -1
- package/dist/cli/install/pipeline.d.mts +15 -0
- package/dist/cli/install/pipeline.d.mts.map +1 -1
- package/dist/cli/install/pipeline.mjs +27 -0
- package/dist/cli/install/pipeline.mjs.map +1 -1
- package/dist/cli/install/transforms/codex.d.mts +1 -1
- package/dist/cli/install/transforms/codex.d.mts.map +1 -1
- package/dist/cli/install/transforms/codex.mjs +43 -2
- package/dist/cli/install/transforms/codex.mjs.map +1 -1
- package/dist/cli/install/version-header.d.mts.map +1 -1
- package/dist/cli/install/version-header.mjs +7 -1
- package/dist/cli/install/version-header.mjs.map +1 -1
- package/dist/cli/verify-proof/idl/index.d.mts +1 -1
- package/dist/cli/verify-proof/idl/index.mjs +7 -8
- package/dist/cli/verify-proof/idl/index.mjs.map +1 -1
- package/dist/cli/verify-proof/idl/types.d.ts +5 -4
- package/dist/cli/verify-proof/idl/types.d.ts.map +1 -1
- package/dist/cli/verify-proof/idl/types.js +4 -3
- package/dist/cli/verify-proof/idl/types.js.map +1 -1
- package/dist/cli/verify-proof/resolver.d.mts +63 -1
- package/dist/cli/verify-proof/resolver.d.mts.map +1 -1
- package/dist/cli/verify-proof/resolver.mjs +164 -4
- package/dist/cli/verify-proof/resolver.mjs.map +1 -1
- package/dist/cli/verify-proof/runtime-detect.d.mts +6 -3
- package/dist/cli/verify-proof/runtime-detect.d.mts.map +1 -1
- package/dist/cli/verify-proof/runtime-detect.mjs +104 -11
- package/dist/cli/verify-proof/runtime-detect.mjs.map +1 -1
- package/dist/cli/verify-proof/trust.d.mts +1 -1
- package/dist/cli/verify-proof/trust.d.mts.map +1 -1
- package/dist/cli/verify-proof/trust.mjs +1 -1
- package/dist/driver-sdk/conformance.d.ts +41 -0
- package/dist/driver-sdk/conformance.d.ts.map +1 -0
- package/dist/driver-sdk/conformance.js +123 -0
- package/dist/driver-sdk/conformance.js.map +1 -0
- package/dist/driver-sdk/errors.d.ts +75 -0
- package/dist/driver-sdk/errors.d.ts.map +1 -0
- package/dist/driver-sdk/errors.js +80 -0
- package/dist/driver-sdk/errors.js.map +1 -0
- package/dist/driver-sdk/idl.d.ts +221 -0
- package/dist/driver-sdk/idl.d.ts.map +1 -0
- package/dist/driver-sdk/idl.js +140 -0
- package/dist/driver-sdk/idl.js.map +1 -0
- package/dist/driver-sdk/index.d.ts +28 -0
- package/dist/driver-sdk/index.d.ts.map +1 -0
- package/dist/driver-sdk/index.js +28 -0
- package/dist/driver-sdk/index.js.map +1 -0
- package/dist/driver-sdk/manifest.d.ts +93 -0
- package/dist/driver-sdk/manifest.d.ts.map +1 -0
- package/dist/driver-sdk/manifest.js +12 -0
- package/dist/driver-sdk/manifest.js.map +1 -0
- package/dist/driver-sdk/retry.d.ts +33 -0
- package/dist/driver-sdk/retry.d.ts.map +1 -0
- package/dist/driver-sdk/retry.js +50 -0
- package/dist/driver-sdk/retry.js.map +1 -0
- package/dist/plugin/.claude-plugin/plugin.json +2 -1
- package/dist/plugin/agents/apt-planner.md +34 -3
- package/dist/plugin/skills/apt-plan/SKILL.md +50 -0
- package/dist/plugin/skills/apt-pr-review/SKILL.md +1 -1
- package/dist/plugin/skills/apt-research/SKILL.md +526 -0
- package/dist/plugin/skills/apt-research/appendices/budget-loop.md +397 -0
- package/dist/plugin/skills/apt-research/appendices/claim-graph-schema.md +206 -0
- package/dist/plugin/skills/apt-research/appendices/domain-tools.md +236 -0
- package/dist/plugin/skills/apt-spar/SKILL.md +19 -7
- package/dist/plugin/skills/apt-verify-proof/SKILL.md +41 -2
- package/dist/schemas/quick-task.d.ts +17 -17
- package/drivers/.gitkeep +0 -0
- package/drivers/api/README.md +40 -0
- package/drivers/api/driver.mjs +59 -0
- package/drivers/api/manifest.json +26 -0
- package/drivers/browser/README.md +105 -0
- package/drivers/browser/driver.mjs +134 -0
- package/drivers/browser/manifest.json +35 -0
- package/drivers/cli/README.md +44 -0
- package/drivers/cli/driver.mjs +62 -0
- package/drivers/cli/manifest.json +28 -0
- package/drivers/electron/README.md +64 -0
- package/drivers/electron/driver.mjs +87 -0
- package/drivers/electron/manifest.json +37 -0
- package/package.json +7 -3
- package/skills/apt-plan/SKILL.md +50 -0
- package/skills/apt-planner.md +16 -0
- package/skills/apt-pr-review/SKILL.md +1 -1
- package/skills/apt-research/SKILL.md +526 -0
- package/skills/apt-research/appendices/budget-loop.md +397 -0
- package/skills/apt-research/appendices/claim-graph-schema.md +206 -0
- package/skills/apt-research/appendices/domain-tools.md +236 -0
- package/skills/apt-spar/SKILL.md +19 -7
- package/skills/apt-verify-proof/SKILL.md +41 -2
- package/src/cli/commands/coverage-check.mjs +126 -44
- package/src/cli/commands/detect-runtime.mjs +23 -14
- package/src/cli/coverage-check/user-outcomes.mjs +273 -0
- package/src/cli/host/detect.mjs +1 -1
- package/src/cli/install/install-from-source.mjs +3 -3
- package/src/cli/install/legacy-paths.mjs +2 -0
- package/src/cli/install/manifest.mjs +5 -0
- package/src/cli/install/pipeline.mjs +28 -0
- package/src/cli/install/transforms/codex.mjs +51 -2
- package/src/cli/install/version-header.mjs +7 -1
- package/src/cli/verify-proof/idl/index.mjs +7 -8
- package/src/cli/verify-proof/idl/types.ts +5 -4
- package/src/cli/verify-proof/manifest-schema.json +2 -1
- package/src/cli/verify-proof/resolver.mjs +171 -4
- package/src/cli/verify-proof/runtime-detect.mjs +99 -10
- package/src/cli/verify-proof/trust.mjs +1 -1
- package/templates/proof-verification.md +32 -3
- package/workflows/verify-proof.md +78 -9
|
@@ -14,6 +14,13 @@
|
|
|
14
14
|
* against installRoot `.agents` to land at `.agents/skills/<folder>/SKILL.md`).
|
|
15
15
|
* Markdown agents are NOT a Codex surface (custom-agents are TOML
|
|
16
16
|
* under `.codex/agents/`); only skills are emitted.
|
|
17
|
+
* - agent inlining: Codex has no markdown agent-spawn surface, so a skill
|
|
18
|
+
* declaring `spawns_agent: true` + `agent_name: X` would, on Claude, spawn
|
|
19
|
+
* the X agent (whose prompt lives in agents/X.md). On Codex that file is
|
|
20
|
+
* never installed and the spawn directive is stripped by the whitelist —
|
|
21
|
+
* leaving the skill referencing a non-existent agent. To keep Codex at
|
|
22
|
+
* parity, the referenced agent's body is appended inline to the skill body
|
|
23
|
+
* so the model has the full methodology even without a spawn primitive.
|
|
17
24
|
*/
|
|
18
25
|
import { basename, dirname } from 'node:path';
|
|
19
26
|
import { parseFrontmatter, rewriteCommandRefs, serializeFrontmatter, substituteVersion, } from './_shared.mjs';
|
|
@@ -28,17 +35,27 @@ const KEEP = ['name', 'description'];
|
|
|
28
35
|
* @param {import('../pipeline.mjs').TransformInput} input
|
|
29
36
|
* @returns {import('../pipeline.mjs').TransformOutput[]}
|
|
30
37
|
*/
|
|
31
|
-
export function transform({ canonicalContent, canonicalRelPath, version, fileType }) {
|
|
38
|
+
export function transform({ canonicalContent, canonicalRelPath, version, fileType, agentContentByName = {}, }) {
|
|
32
39
|
const subbed = substituteVersion(canonicalContent, version);
|
|
33
40
|
const parsed = parseFrontmatter(subbed);
|
|
34
41
|
let payload;
|
|
35
42
|
if (parsed.hasFrontmatter && parsed.fm) {
|
|
43
|
+
// Read the spawn directive BEFORE the whitelist strips it. On Codex
|
|
44
|
+
// there's no agent-spawn surface, so we inline the agent body instead.
|
|
45
|
+
const spawnsAgent = parsed.fm.spawns_agent === true;
|
|
46
|
+
const agentName = typeof parsed.fm.agent_name === 'string' && parsed.fm.agent_name.length > 0
|
|
47
|
+
? parsed.fm.agent_name
|
|
48
|
+
: null;
|
|
36
49
|
// Whitelist filter: drop every frontmatter key NOT in KEEP.
|
|
37
50
|
for (const k of Object.keys(parsed.fm)) {
|
|
38
51
|
if (!KEEP.includes(k))
|
|
39
52
|
delete parsed.fm[k];
|
|
40
53
|
}
|
|
41
|
-
|
|
54
|
+
let body = parsed.body;
|
|
55
|
+
if (spawnsAgent && agentName && agentContentByName[agentName]) {
|
|
56
|
+
body = `${body}\n\n${inlineAgentSection(agentName, agentContentByName[agentName], version)}`;
|
|
57
|
+
}
|
|
58
|
+
const wrappedBody = `<codex_agent_role>\n${body}\n</codex_agent_role>\n`;
|
|
42
59
|
payload = serializeFrontmatter({ ...parsed, body: wrappedBody });
|
|
43
60
|
}
|
|
44
61
|
else {
|
|
@@ -56,4 +73,28 @@ export function transform({ canonicalContent, canonicalRelPath, version, fileTyp
|
|
|
56
73
|
// another dead surface. Drop the agent branch entirely.
|
|
57
74
|
return [];
|
|
58
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* Build the inlined-agent section appended to a Codex skill body. Strips the
|
|
78
|
+
* agent file's own frontmatter (Codex skills carry a single frontmatter block)
|
|
79
|
+
* and version-substitutes the body. The fenced header makes it unambiguous to
|
|
80
|
+
* the model that this is the methodology it should execute directly — there is
|
|
81
|
+
* no separate agent to spawn on Codex.
|
|
82
|
+
*
|
|
83
|
+
* @param {string} agentName
|
|
84
|
+
* @param {string} agentContent raw canonical agent file (with frontmatter + {{APT_VERSION}})
|
|
85
|
+
* @param {string} version
|
|
86
|
+
* @returns {string}
|
|
87
|
+
*/
|
|
88
|
+
function inlineAgentSection(agentName, agentContent, version) {
|
|
89
|
+
const agentBody = parseFrontmatter(substituteVersion(agentContent, version)).body.trim();
|
|
90
|
+
return [
|
|
91
|
+
`## Inlined agent: ${agentName}`,
|
|
92
|
+
'',
|
|
93
|
+
`Codex has no separate agent-spawn surface. Where this skill says to spawn`,
|
|
94
|
+
`the \`${agentName}\` agent, execute the methodology below directly — you ARE`,
|
|
95
|
+
`that agent for this task.`,
|
|
96
|
+
'',
|
|
97
|
+
agentBody,
|
|
98
|
+
].join('\n');
|
|
99
|
+
}
|
|
59
100
|
//# sourceMappingURL=codex.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex.mjs","sourceRoot":"","sources":["../../../../src/cli/install/transforms/codex.mjs"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"codex.mjs","sourceRoot":"","sources":["../../../../src/cli/install/transforms/codex.mjs"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-header.d.mts","sourceRoot":"","sources":["../../../src/cli/install/version-header.mjs"],"names":[],"mappings":"AAyBA;;;;;GAKG;AACH,4BAHW,MAAM,GAAC,MAAM,GACX,MAAM,CAIlB;AAED;;;;;;;GAOG;AACH,+CAJW,MAAM,aACN,MAAM,GACJ,MAAM,CAYlB;AAED;;;;;;;;;;;;;;GAcG;AACH,+CAPW,MAAM,eACN,MAAM,SACN;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GAGxB,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"version-header.d.mts","sourceRoot":"","sources":["../../../src/cli/install/version-header.mjs"],"names":[],"mappings":"AAyBA;;;;;GAKG;AACH,4BAHW,MAAM,GAAC,MAAM,GACX,MAAM,CAIlB;AAED;;;;;;;GAOG;AACH,+CAJW,MAAM,aACN,MAAM,GACJ,MAAM,CAYlB;AAED;;;;;;;;;;;;;;GAcG;AACH,+CAPW,MAAM,eACN,MAAM,SACN;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,GAGxB,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,CAAC,CAgDjD;AAwBD;;;;;;;;;;;;;GAaG;AACH,wDAHW,MAAM,GACJ,MAAM,CAKlB;AAED;;;;;;;;;;GAUG;AACH,4CAHW,MAAM,GACJ,MAAM,GAAC,IAAI,CAqBvB;AAED;;;;;;;;;;;GAWG;AACH,8CAJW,MAAM,WACN,MAAM,GACJ,MAAM,CA4ClB;AAED;;;;;;;GAOG;AACH,4CAHW,MAAM,GACJ,MAAM,CAOlB;AAzID;;;;;;;;;;;;;;GAcG;AACH,4CAA6C,uBAAuB,CAAA"}
|
|
@@ -98,7 +98,13 @@ export function inspectManifestFiles(manifest, installRoot, opts = {}) {
|
|
|
98
98
|
continue;
|
|
99
99
|
}
|
|
100
100
|
const declared = parseVersionHeader(buf.toString('utf-8'));
|
|
101
|
-
|
|
101
|
+
// `headerless` entries are files whose runtime transform legitimately
|
|
102
|
+
// strips the apt-skill-version header (e.g. Codex whitelists frontmatter
|
|
103
|
+
// to {name, description} and rejects unknown keys). For those, the
|
|
104
|
+
// installedHash check above is the sole drift signal — requiring a header
|
|
105
|
+
// would false-positive every install. The flag is recorded at install
|
|
106
|
+
// time by the pipeline from the post-transform content.
|
|
107
|
+
if (declared === null && !entry.headerless && /\.(md|js|mjs|sh)$/.test(entry.path)) {
|
|
102
108
|
stale.push({ path: entry.path, reason: 'missing_header' });
|
|
103
109
|
continue;
|
|
104
110
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-header.mjs","sourceRoot":"","sources":["../../../src/cli/install/version-header.mjs"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEzD;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAC,GAAG;IACzB,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACtD,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,WAAW,EAAE,SAAS;IACvD,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,qCAAqC,SAAS,EAAE,CAAC,CAAA;IAClE,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAA;IAC3C,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;IACtC,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,wCAAwC,SAAS,EAAE,CAAC,CAAA;IACrE,CAAC;IACD,OAAO,GAAG,CAAA;AACX,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,GAAG,EAAE;IACpE,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAA;IAC9B,MAAM,KAAK,GAAG,EAAE,CAAA;IAChB,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACpC,IAAI,GAAG,CAAA;QACP,IAAI,CAAC;YACJ,GAAG,GAAG,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QACjD,CAAC;QAAC,MAAM,CAAC;YACR,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAA;YACxD,SAAQ;QACT,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAA;YACxD,SAAQ;QACT,CAAC;QACD,wEAAwE;QACxE,0EAA0E;QAC1E,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC;gBACJ,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;gBACjC,IAAI,OAAO,IAAI,aAAa;oBAAE,SAAQ;YACvC,CAAC;YAAC,MAAM,CAAC;gBACR,2CAA2C;YAC5C,CAAC;QACF,CAAC;QACD,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;QAC7B,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,aAAa,EAAE,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAA;YACzD,SAAQ;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAA;QAC1D,IAAI,QAAQ,KAAK,IAAI,IAAI,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"version-header.mjs","sourceRoot":"","sources":["../../../src/cli/install/version-header.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
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* conformance kit)
|
|
8
|
-
*
|
|
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
|
|
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
|
|
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
|
|
5
|
-
* code imports from here so future moves
|
|
6
|
-
*
|
|
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
|
|
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
|
|
5
|
-
* code imports from here so future moves
|
|
6
|
-
*
|
|
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
|
|
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
|
-
|
|
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":"
|
|
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"}
|
|
@@ -16,10 +16,22 @@
|
|
|
16
16
|
*
|
|
17
17
|
* Ties are broken by the next dimension; if every dimension is equal the
|
|
18
18
|
* driver with the lexicographically smaller driverId wins (deterministic).
|
|
19
|
+
*
|
|
20
|
+
* v0.8.6 — `resolveDriversForOutcomes(opts)` adds per-outcome driver
|
|
21
|
+
* dispatch for cross-surface specs (per spec §ID-03). It accepts the
|
|
22
|
+
* positional `outcomes[]` produced by `parseUserOutcomes` and returns
|
|
23
|
+
* `Array<{outcome_id, surface, driver}>` — one entry per
|
|
24
|
+
* (outcome, surface) pair. For `[electron+web]` outcomes it emits TWO
|
|
25
|
+
* entries with the same outcome_id and different drivers. The
|
|
26
|
+
* outcome_id field is passed through verbatim from parser → resolver
|
|
27
|
+
* → workflow runner with no name rewriting (the positional-ID
|
|
28
|
+
* contract).
|
|
29
|
+
*
|
|
30
|
+
* Existing `resolveDriver()` and `scoreDriver()` exports are unchanged.
|
|
19
31
|
*/
|
|
20
|
-
import { UnsatisfiedRequiredCapabilityError } from '@aperant/driver-sdk';
|
|
32
|
+
import { UnsatisfiedRequiredCapabilityError } from '@aperant/framework/driver-sdk';
|
|
21
33
|
/**
|
|
22
|
-
* @typedef {import('@aperant/driver-sdk').DriverManifest} DriverManifest
|
|
34
|
+
* @typedef {import('@aperant/framework/driver-sdk').DriverManifest} DriverManifest
|
|
23
35
|
* @typedef {import('./runtime-detect.mjs').RuntimeCapabilities} RuntimeCapabilities
|
|
24
36
|
*/
|
|
25
37
|
const STABILITY_RANK = { ga: 3, beta: 2, experimental: 1 };
|
|
@@ -133,8 +145,28 @@ export function resolveDriver(opts) {
|
|
|
133
145
|
}
|
|
134
146
|
stableOnly.push(d);
|
|
135
147
|
}
|
|
136
|
-
//
|
|
137
|
-
|
|
148
|
+
// Override is hard precedence (per opts.override docstring "explicit
|
|
149
|
+
// driverId precedence"): when set, try override-listed drivers in
|
|
150
|
+
// override order — the first one that satisfies every required
|
|
151
|
+
// capability wins, regardless of compatibility/priority/stability
|
|
152
|
+
// ranking. Non-matching override entries land in fallback. Only when
|
|
153
|
+
// every override entry misses a required cap do we fall through to
|
|
154
|
+
// score-based pick on the remaining drivers.
|
|
155
|
+
const overrideListed = stableOnly.filter((m) => overrideSet.has(m.driverId));
|
|
156
|
+
for (const candidate of overrideListed) {
|
|
157
|
+
const caps = new Set(candidate.capabilities ?? []);
|
|
158
|
+
const missing = required.filter((c) => !caps.has(c));
|
|
159
|
+
if (missing.length === 0) {
|
|
160
|
+
return { selected: candidate, fallback_attempts: fallback };
|
|
161
|
+
}
|
|
162
|
+
fallback.push({
|
|
163
|
+
driver_id: candidate.driverId,
|
|
164
|
+
reason: `override-listed but missing required capabilities: ${missing.join(', ')}`,
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
// Score every non-override survivor against required capabilities.
|
|
168
|
+
const nonOverride = stableOnly.filter((m) => !overrideSet.has(m.driverId));
|
|
169
|
+
const scored = nonOverride.map((m) => ({ manifest: m, ...scoreDriver(m, runtime, required) }));
|
|
138
170
|
// Sort highest-first, tie-break on driverId for determinism.
|
|
139
171
|
scored.sort((a, b) => {
|
|
140
172
|
const cmp = compareScores(a.score, b.score);
|
|
@@ -157,4 +189,132 @@ export function resolveDriver(opts) {
|
|
|
157
189
|
// Exhausted the chain — fail closed (ID-02).
|
|
158
190
|
throw new UnsatisfiedRequiredCapabilityError(`No driver in the chain satisfies every required capability: [${required.join(', ')}]`, required[0], fallback);
|
|
159
191
|
}
|
|
192
|
+
/**
|
|
193
|
+
* Map a User Outcomes surface tag to the runtime-capability flag a driver
|
|
194
|
+
* must carry (via `matchesRuntime`) to be eligible for that surface.
|
|
195
|
+
*
|
|
196
|
+
* Closed surface set: `electron | web | cli | api | electron+web`.
|
|
197
|
+
* `electron+web` is NOT a single flag — it's a cross-surface tag the
|
|
198
|
+
* workflow runner expands into two single-surface dispatches.
|
|
199
|
+
*
|
|
200
|
+
* @param {('electron'|'web'|'cli'|'api')} surface
|
|
201
|
+
* @returns {('is_electron'|'is_web_frontend'|'has_node')}
|
|
202
|
+
*/
|
|
203
|
+
export function surfaceToRequiredFlag(surface) {
|
|
204
|
+
switch (surface) {
|
|
205
|
+
case 'electron':
|
|
206
|
+
return 'is_electron';
|
|
207
|
+
case 'web':
|
|
208
|
+
return 'is_web_frontend';
|
|
209
|
+
case 'cli':
|
|
210
|
+
case 'api':
|
|
211
|
+
return 'has_node';
|
|
212
|
+
default:
|
|
213
|
+
throw new Error(`surfaceToRequiredFlag: unknown surface "${surface}"`);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Resolve a driver per outcome surface tag, NOT per verify-proof run
|
|
218
|
+
* (per spec §ID-03). For each input outcome the function returns one
|
|
219
|
+
* `{outcome_id, surface, driver}` entry; for `[electron+web]` outcomes
|
|
220
|
+
* it returns TWO entries (electron + web) sharing the same outcome_id.
|
|
221
|
+
*
|
|
222
|
+
* The `outcome_id` field on each returned entry is the positional ID
|
|
223
|
+
* produced by `parseUserOutcomes` (e.g. `O1`, `O2`). The resolver does
|
|
224
|
+
* NOT rewrite or regenerate IDs — they pass through verbatim so the
|
|
225
|
+
* workflow runner can correlate proof artifacts to spec lines.
|
|
226
|
+
*
|
|
227
|
+
* Each per-surface dispatch synthesizes a runtime-capabilities view
|
|
228
|
+
* that ONLY claims the surface's required flag (e.g. `is_electron`
|
|
229
|
+
* alone for an electron-surface outcome, even when the project also
|
|
230
|
+
* carries `is_web_frontend`). This forces the existing scoring to
|
|
231
|
+
* pick the per-surface driver — without it, a project with BOTH
|
|
232
|
+
* electron AND web capabilities would always select the highest-
|
|
233
|
+
* priority bundled driver (currently `browser`) for every outcome.
|
|
234
|
+
*
|
|
235
|
+
* Delegates to the existing `resolveDriver()` for the actual scoring
|
|
236
|
+
* — the scoring code stays in one place.
|
|
237
|
+
*
|
|
238
|
+
* @param {Object} opts
|
|
239
|
+
* @param {DriverManifest[]} opts.drivers
|
|
240
|
+
* @param {RuntimeCapabilities} opts.runtime
|
|
241
|
+
* @param {Array<{id: string, surface: 'electron'|'web'|'cli'|'api'|'electron+web'}>} opts.outcomes
|
|
242
|
+
* @param {string[]} [opts.override]
|
|
243
|
+
* @param {string[]} [opts.required_stability]
|
|
244
|
+
* @param {string[]} [opts.required_capabilities] — defaults to ['screenshot']
|
|
245
|
+
* @returns {Array<{outcome_id: string, surface: string, driver: DriverManifest, fallback_attempts: Array<{driver_id: string, reason: string}>}>}
|
|
246
|
+
*/
|
|
247
|
+
export function resolveDriversForOutcomes(opts) {
|
|
248
|
+
const drivers = opts.drivers ?? [];
|
|
249
|
+
const runtime = opts.runtime;
|
|
250
|
+
const outcomes = opts.outcomes ?? [];
|
|
251
|
+
const required = opts.required_capabilities ?? ['screenshot'];
|
|
252
|
+
const override = opts.override;
|
|
253
|
+
const stability = opts.required_stability;
|
|
254
|
+
/** @type {Array<{outcome_id: string, surface: string, driver: DriverManifest, fallback_attempts: Array<{driver_id: string, reason: string}>}>} */
|
|
255
|
+
const results = [];
|
|
256
|
+
for (const outcome of outcomes) {
|
|
257
|
+
const surfacesToDispatch = outcome.surface === 'electron+web' ? ['electron', 'web'] : [outcome.surface];
|
|
258
|
+
for (const surface of surfacesToDispatch) {
|
|
259
|
+
const flag = surfaceToRequiredFlag(/** @type {'electron'|'web'|'cli'|'api'} */ (surface));
|
|
260
|
+
// Synthesize a per-surface runtime view: only the surface's
|
|
261
|
+
// required flag is on; every other flag is masked off so the
|
|
262
|
+
// scoring prefers per-surface drivers (otherwise, on a
|
|
263
|
+
// multi-runtime project, the highest-priority bundled driver
|
|
264
|
+
// always wins). `has_node` stays on for cli/api since multiple
|
|
265
|
+
// drivers may target node.
|
|
266
|
+
const surfaceRuntime = maskRuntimeForSurface(runtime, flag);
|
|
267
|
+
const resolved = resolveDriver({
|
|
268
|
+
drivers,
|
|
269
|
+
runtime: surfaceRuntime,
|
|
270
|
+
required_capabilities: required,
|
|
271
|
+
...(override ? { override } : {}),
|
|
272
|
+
...(stability ? { required_stability: stability } : {}),
|
|
273
|
+
});
|
|
274
|
+
results.push({
|
|
275
|
+
outcome_id: outcome.id,
|
|
276
|
+
surface,
|
|
277
|
+
driver: resolved.selected,
|
|
278
|
+
fallback_attempts: resolved.fallback_attempts,
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
return results;
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Return a copy of `runtime` with every flag false EXCEPT the one named
|
|
286
|
+
* by `flag`. Used to scope the resolver's compatibility check to a
|
|
287
|
+
* single surface during per-outcome dispatch.
|
|
288
|
+
*
|
|
289
|
+
* @param {RuntimeCapabilities} runtime
|
|
290
|
+
* @param {string} flag — one of: is_electron | is_web_frontend | has_node
|
|
291
|
+
* @returns {RuntimeCapabilities}
|
|
292
|
+
*/
|
|
293
|
+
function maskRuntimeForSurface(runtime, flag) {
|
|
294
|
+
/** @type {RuntimeCapabilities} */
|
|
295
|
+
const masked = {
|
|
296
|
+
is_electron: false,
|
|
297
|
+
is_tauri: false,
|
|
298
|
+
is_nextjs: false,
|
|
299
|
+
is_nuxt: false,
|
|
300
|
+
is_web_frontend: false,
|
|
301
|
+
is_expo: false,
|
|
302
|
+
is_react_native: false,
|
|
303
|
+
has_node: false,
|
|
304
|
+
};
|
|
305
|
+
// Only flip the surface's flag on if the project actually carries it
|
|
306
|
+
// (otherwise the resolver should genuinely fail — fail-closed).
|
|
307
|
+
if (flag === 'is_electron' && runtime.is_electron)
|
|
308
|
+
masked.is_electron = true;
|
|
309
|
+
if (flag === 'is_web_frontend' && runtime.is_web_frontend) {
|
|
310
|
+
masked.is_web_frontend = true;
|
|
311
|
+
// Carry the framework hint too (Next.js / Nuxt) so drivers that
|
|
312
|
+
// target browser via those frameworks still match.
|
|
313
|
+
masked.is_nextjs = runtime.is_nextjs;
|
|
314
|
+
masked.is_nuxt = runtime.is_nuxt;
|
|
315
|
+
}
|
|
316
|
+
if (flag === 'has_node')
|
|
317
|
+
masked.has_node = runtime.has_node;
|
|
318
|
+
return masked;
|
|
319
|
+
}
|
|
160
320
|
//# sourceMappingURL=resolver.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.mjs","sourceRoot":"","sources":["../../../src/cli/verify-proof/resolver.mjs"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"resolver.mjs","sourceRoot":"","sources":["../../../src/cli/verify-proof/resolver.mjs"],"names":[],"mappings":"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"}
|
|
@@ -7,13 +7,16 @@
|
|
|
7
7
|
export function detectFromPackageJson(packageJson: Record<string, unknown> | null): RuntimeCapabilities;
|
|
8
8
|
/**
|
|
9
9
|
* Load and detect capabilities from a project directory's package.json.
|
|
10
|
-
*
|
|
11
|
-
*
|
|
10
|
+
* v0.8.6 — also walks `monorepo_globs` (default `['apps/*']`) and
|
|
11
|
+
* OR-merges each match's capabilities with the root.
|
|
12
12
|
*
|
|
13
13
|
* @param {string} projectDir
|
|
14
|
+
* @param {{monorepo_globs?: string[]}} [opts]
|
|
14
15
|
* @returns {RuntimeCapabilities}
|
|
15
16
|
*/
|
|
16
|
-
export function loadRuntimeCapabilities(projectDir: string
|
|
17
|
+
export function loadRuntimeCapabilities(projectDir: string, opts?: {
|
|
18
|
+
monorepo_globs?: string[];
|
|
19
|
+
}): RuntimeCapabilities;
|
|
17
20
|
export type RuntimeCapabilities = {
|
|
18
21
|
is_electron: boolean;
|
|
19
22
|
is_tauri: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-detect.d.mts","sourceRoot":"","sources":["../../../src/cli/verify-proof/runtime-detect.mjs"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runtime-detect.d.mts","sourceRoot":"","sources":["../../../src/cli/verify-proof/runtime-detect.mjs"],"names":[],"mappings":"AAiDA;;;;;GAKG;AACH,mDAHW,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAC5B,mBAAmB,CAwD/B;AAED;;;;;;;;GAQG;AACH,oDAJW,MAAM,SACN;IAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAAC,GACzB,mBAAmB,CAkC/B;;iBA/Ha,OAAO;cACP,OAAO;eACP,OAAO;aACP,OAAO;qBACP,OAAO;aACP,OAAO;qBACP,OAAO;cACP,OAAO"}
|