agent-nuvira 3.3.11 → 3.3.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -1
- package/dist/agents/agents/reasoner.d.ts.map +1 -1
- package/dist/agents/agents/reasoner.js +13 -0
- package/dist/agents/agents/reasoner.js.map +1 -1
- package/dist/agents/orchestrator.d.ts.map +1 -1
- package/dist/agents/orchestrator.js +56 -20
- package/dist/agents/orchestrator.js.map +1 -1
- package/dist/cli/chat.d.ts +36 -0
- package/dist/cli/chat.d.ts.map +1 -1
- package/dist/cli/chat.js +456 -43
- package/dist/cli/chat.js.map +1 -1
- package/dist/cli/cli-program.d.ts.map +1 -1
- package/dist/cli/cli-program.js +8 -0
- package/dist/cli/cli-program.js.map +1 -1
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +35 -4
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/execute.d.ts.map +1 -1
- package/dist/cli/execute.js +14 -0
- package/dist/cli/execute.js.map +1 -1
- package/dist/cli/knowledge.d.ts +23 -0
- package/dist/cli/knowledge.d.ts.map +1 -0
- package/dist/cli/knowledge.js +132 -0
- package/dist/cli/knowledge.js.map +1 -0
- package/dist/cli/loop-executor.d.ts.map +1 -1
- package/dist/cli/loop-executor.js +57 -13
- package/dist/cli/loop-executor.js.map +1 -1
- package/dist/cli/omniroute-control.d.ts +88 -0
- package/dist/cli/omniroute-control.d.ts.map +1 -0
- package/dist/cli/omniroute-control.js +179 -0
- package/dist/cli/omniroute-control.js.map +1 -0
- package/dist/cli/omniroute.d.ts +21 -0
- package/dist/cli/omniroute.d.ts.map +1 -0
- package/dist/cli/omniroute.js +67 -0
- package/dist/cli/omniroute.js.map +1 -0
- package/dist/cli/tool-install-prompt.d.ts +58 -0
- package/dist/cli/tool-install-prompt.d.ts.map +1 -1
- package/dist/cli/tool-install-prompt.js +137 -0
- package/dist/cli/tool-install-prompt.js.map +1 -1
- package/dist/cli/weak-model-prompt.d.ts +16 -7
- package/dist/cli/weak-model-prompt.d.ts.map +1 -1
- package/dist/cli/weak-model-prompt.js +24 -8
- package/dist/cli/weak-model-prompt.js.map +1 -1
- package/dist/config/types.d.ts +44 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/context/cache.d.ts +35 -1
- package/dist/context/cache.d.ts.map +1 -1
- package/dist/context/cache.js +31 -2
- package/dist/context/cache.js.map +1 -1
- package/dist/context/history.d.ts +21 -0
- package/dist/context/history.d.ts.map +1 -1
- package/dist/context/history.js +50 -0
- package/dist/context/history.js.map +1 -1
- package/dist/gateway/hook-contract.d.ts +173 -0
- package/dist/gateway/hook-contract.d.ts.map +1 -0
- package/dist/gateway/hook-contract.js +352 -0
- package/dist/gateway/hook-contract.js.map +1 -0
- package/dist/gateway/hooks.d.ts.map +1 -1
- package/dist/gateway/hooks.js +14 -0
- package/dist/gateway/hooks.js.map +1 -1
- package/dist/inference/interface.d.ts +17 -0
- package/dist/inference/interface.d.ts.map +1 -1
- package/dist/inference/model-catalog.d.ts +17 -0
- package/dist/inference/model-catalog.d.ts.map +1 -1
- package/dist/inference/model-catalog.js +42 -7
- package/dist/inference/model-catalog.js.map +1 -1
- package/dist/inference/model-id-validation.d.ts +57 -0
- package/dist/inference/model-id-validation.d.ts.map +1 -0
- package/dist/inference/model-id-validation.js +127 -0
- package/dist/inference/model-id-validation.js.map +1 -0
- package/dist/inference/openai-compat-adapter.d.ts.map +1 -1
- package/dist/inference/openai-compat-adapter.js +12 -1
- package/dist/inference/openai-compat-adapter.js.map +1 -1
- package/dist/inference/provider-catalog.d.ts +11 -0
- package/dist/inference/provider-catalog.d.ts.map +1 -1
- package/dist/inference/provider-catalog.js +80 -0
- package/dist/inference/provider-catalog.js.map +1 -1
- package/dist/inference/route-resolver.d.ts +2 -8
- package/dist/inference/route-resolver.d.ts.map +1 -1
- package/dist/inference/route-resolver.js +17 -0
- package/dist/inference/route-resolver.js.map +1 -1
- package/dist/inference/tool-call-utils.d.ts +4 -3
- package/dist/inference/tool-call-utils.d.ts.map +1 -1
- package/dist/inference/tool-call-utils.js +26 -12
- package/dist/inference/tool-call-utils.js.map +1 -1
- package/dist/inference/tools.d.ts +1 -0
- package/dist/inference/tools.d.ts.map +1 -1
- package/dist/inference/tools.js +20 -3
- package/dist/inference/tools.js.map +1 -1
- package/dist/learning/agentic-route-gate.d.ts +104 -0
- package/dist/learning/agentic-route-gate.d.ts.map +1 -0
- package/dist/learning/agentic-route-gate.js +125 -0
- package/dist/learning/agentic-route-gate.js.map +1 -0
- package/dist/learning/auto-router.d.ts +89 -0
- package/dist/learning/auto-router.d.ts.map +1 -1
- package/dist/learning/auto-router.js +188 -8
- package/dist/learning/auto-router.js.map +1 -1
- package/dist/learning/build-prerequisites.d.ts +68 -0
- package/dist/learning/build-prerequisites.d.ts.map +1 -0
- package/dist/learning/build-prerequisites.js +267 -0
- package/dist/learning/build-prerequisites.js.map +1 -0
- package/dist/learning/continuation-intent.d.ts +43 -0
- package/dist/learning/continuation-intent.d.ts.map +1 -0
- package/dist/learning/continuation-intent.js +82 -0
- package/dist/learning/continuation-intent.js.map +1 -0
- package/dist/learning/error-repair.d.ts +23 -1
- package/dist/learning/error-repair.d.ts.map +1 -1
- package/dist/learning/error-repair.js +58 -0
- package/dist/learning/error-repair.js.map +1 -1
- package/dist/learning/knowledge-base.d.ts +124 -0
- package/dist/learning/knowledge-base.d.ts.map +1 -0
- package/dist/learning/knowledge-base.js +337 -0
- package/dist/learning/knowledge-base.js.map +1 -0
- package/dist/learning/model-harness.d.ts +19 -0
- package/dist/learning/model-harness.d.ts.map +1 -1
- package/dist/learning/model-harness.js +27 -0
- package/dist/learning/model-harness.js.map +1 -1
- package/dist/learning/model-selection.d.ts +2 -1
- package/dist/learning/model-selection.d.ts.map +1 -1
- package/dist/learning/model-selection.js +35 -2
- package/dist/learning/model-selection.js.map +1 -1
- package/dist/learning/project-docs.d.ts +83 -0
- package/dist/learning/project-docs.d.ts.map +1 -0
- package/dist/learning/project-docs.js +132 -0
- package/dist/learning/project-docs.js.map +1 -0
- package/dist/learning/prompt-budget.d.ts +91 -0
- package/dist/learning/prompt-budget.d.ts.map +1 -0
- package/dist/learning/prompt-budget.js +99 -0
- package/dist/learning/prompt-budget.js.map +1 -0
- package/dist/learning/quota-ledger.d.ts +13 -0
- package/dist/learning/quota-ledger.d.ts.map +1 -1
- package/dist/learning/quota-ledger.js +28 -0
- package/dist/learning/quota-ledger.js.map +1 -1
- package/dist/learning/reasoning-trace.d.ts +55 -2
- package/dist/learning/reasoning-trace.d.ts.map +1 -1
- package/dist/learning/reasoning-trace.js +48 -0
- package/dist/learning/reasoning-trace.js.map +1 -1
- package/dist/learning/resilient-call.d.ts.map +1 -1
- package/dist/learning/resilient-call.js +16 -3
- package/dist/learning/resilient-call.js.map +1 -1
- package/dist/learning/routing-history.d.ts +13 -0
- package/dist/learning/routing-history.d.ts.map +1 -1
- package/dist/learning/routing-history.js.map +1 -1
- package/dist/learning/seeded-benchmark.d.ts +14 -0
- package/dist/learning/seeded-benchmark.d.ts.map +1 -1
- package/dist/learning/seeded-benchmark.js +43 -4
- package/dist/learning/seeded-benchmark.js.map +1 -1
- package/dist/learning/turn-report.d.ts +78 -0
- package/dist/learning/turn-report.d.ts.map +1 -0
- package/dist/learning/turn-report.js +140 -0
- package/dist/learning/turn-report.js.map +1 -0
- package/dist/security/secret-scan.d.ts +156 -0
- package/dist/security/secret-scan.d.ts.map +1 -0
- package/dist/security/secret-scan.js +525 -0
- package/dist/security/secret-scan.js.map +1 -0
- package/dist/tools/edit-verification.d.ts +2 -11
- package/dist/tools/edit-verification.d.ts.map +1 -1
- package/dist/tools/edit-verification.js +33 -1
- package/dist/tools/edit-verification.js.map +1 -1
- package/dist/tools/loop-skill-hint.d.ts +51 -0
- package/dist/tools/loop-skill-hint.d.ts.map +1 -1
- package/dist/tools/loop-skill-hint.js +87 -2
- package/dist/tools/loop-skill-hint.js.map +1 -1
- package/dist/tools/plan-store.d.ts +126 -3
- package/dist/tools/plan-store.d.ts.map +1 -1
- package/dist/tools/plan-store.js +290 -6
- package/dist/tools/plan-store.js.map +1 -1
- package/dist/tools/registry.d.ts +20 -1
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +165 -4
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/remediation-ladder.d.ts +91 -0
- package/dist/tools/remediation-ladder.d.ts.map +1 -0
- package/dist/tools/remediation-ladder.js +308 -0
- package/dist/tools/remediation-ladder.js.map +1 -0
- package/dist/tools/run-terminal.d.ts.map +1 -1
- package/dist/tools/run-terminal.js +60 -2
- package/dist/tools/run-terminal.js.map +1 -1
- package/dist/tools/skills-hub.d.ts +7 -0
- package/dist/tools/skills-hub.d.ts.map +1 -1
- package/dist/tools/skills-hub.js +11 -2
- package/dist/tools/skills-hub.js.map +1 -1
- package/dist/tools/step-artifact.d.ts +35 -0
- package/dist/tools/step-artifact.d.ts.map +1 -0
- package/dist/tools/step-artifact.js +154 -0
- package/dist/tools/step-artifact.js.map +1 -0
- package/dist/tools/tool-loop.d.ts +35 -0
- package/dist/tools/tool-loop.d.ts.map +1 -1
- package/dist/tools/tool-loop.js +284 -9
- package/dist/tools/tool-loop.js.map +1 -1
- package/dist/tools/toolsets.js +4 -4
- package/dist/tools/toolsets.js.map +1 -1
- package/dist/tools/worktree.d.ts +11 -2
- package/dist/tools/worktree.d.ts.map +1 -1
- package/dist/tools/worktree.js +11 -2
- package/dist/tools/worktree.js.map +1 -1
- package/dist/utils/effect-verification.js +1 -1
- package/dist/utils/effect-verification.js.map +1 -1
- package/dist/web-dashboard/chat-console.d.ts +21 -1
- package/dist/web-dashboard/chat-console.d.ts.map +1 -1
- package/dist/web-dashboard/chat-console.js +33 -5
- package/dist/web-dashboard/chat-console.js.map +1 -1
- package/dist/web-dashboard/server.d.ts +29 -0
- package/dist/web-dashboard/server.d.ts.map +1 -1
- package/dist/web-dashboard/server.js +410 -5
- package/dist/web-dashboard/server.js.map +1 -1
- package/dist/web-dashboard/src/types.d.ts +137 -0
- package/dist/web-dashboard/src/types.d.ts.map +1 -1
- package/dist/web-dashboard/workspace-guard.d.ts +7 -0
- package/dist/web-dashboard/workspace-guard.d.ts.map +1 -1
- package/dist/web-dashboard/workspace-guard.js +70 -0
- package/dist/web-dashboard/workspace-guard.js.map +1 -1
- package/package.json +4 -1
- package/src/web-dashboard/public/assets/index-DhiuR4S2.js +210 -0
- package/src/web-dashboard/public/assets/index-DhiuR4S2.js.map +1 -0
- package/src/web-dashboard/public/assets/index-tK8Y2qHB.css +1 -0
- package/src/web-dashboard/public/index.html +2 -2
- package/src/web-dashboard/public/assets/index-BdKf5Xw2.js +0 -207
- package/src/web-dashboard/public/assets/index-BdKf5Xw2.js.map +0 -1
- package/src/web-dashboard/public/assets/index-C9eBskc9.css +0 -1
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Remediation ladder — a recognised toolchain failure gets a KNOWN fix instead
|
|
3
|
+
* of another exploration loop.
|
|
4
|
+
*
|
|
5
|
+
* WHY (A4). On the supervised `cal` Android run (2026-10-05) the agent
|
|
6
|
+
* diagnosed the real cause of a Gradle failure correctly — Capacitor 8 compiles
|
|
7
|
+
* at `JavaVersion.VERSION_21`, the environment had JDK 17 — and then stopped:
|
|
8
|
+
* it retried the same command with small variations and closed the turn telling
|
|
9
|
+
* the user to install JDK 21 themselves. A supervisor fixed the same tree in
|
|
10
|
+
* ~30 s with a project-local edit (`android/local.properties` + a JDK-21
|
|
11
|
+
* `JAVA_HOME`). The failure was not environmental in the sense of "impossible";
|
|
12
|
+
* it was a fix the agent could see and did not take.
|
|
13
|
+
*
|
|
14
|
+
* The ladder closes that gap with a SMALL, DECLARED map: error signature →
|
|
15
|
+
* what it means → the bounded fix, split into the part that belongs to THIS
|
|
16
|
+
* project (a file write, a chmod, an env var scoped to the command) and the
|
|
17
|
+
* part that is the user's decision (installing a system JDK). By DEFAULT it is
|
|
18
|
+
* advisory: the note is appended to the failed tool result, so the model takes
|
|
19
|
+
* the fix with the same tools it already has. A very small subset may carry a
|
|
20
|
+
* machine-readable safe action (see AUTO-APPLY below), but nothing is ever
|
|
21
|
+
* changed without an explicit opt-in — a remediation the agent cannot see is
|
|
22
|
+
* indistinguishable from a bug, and the agent must stay able to reason about
|
|
23
|
+
* what changed.
|
|
24
|
+
*
|
|
25
|
+
* Rules are intentionally a handful of high-signal signatures, not a general
|
|
26
|
+
* log classifier: a wrong "known fix" is worse than none.
|
|
27
|
+
*
|
|
28
|
+
* AUTO-APPLY (opt-in). A subset of the fixes is a single, idempotent,
|
|
29
|
+
* project-local file operation that cannot strand the user — `chmod +x` on the
|
|
30
|
+
* wrapper, writing `android/local.properties`. For those a rule may also
|
|
31
|
+
* declare a machine-readable {@link AutoFixAction}. When the run opts in
|
|
32
|
+
* (`NUVIRA_REMEDIATE=auto`) the fix is applied to the workspace and the note
|
|
33
|
+
* reports exactly what changed; by default the note is advisory only. Anything
|
|
34
|
+
* that needs a discovery or a per-run env var stays advisory — the agent can
|
|
35
|
+
* still see it and take it.
|
|
36
|
+
*/
|
|
37
|
+
export interface Remediation {
|
|
38
|
+
/** Stable id (telemetry / tests). */
|
|
39
|
+
id: string;
|
|
40
|
+
/** What this signature means, in one line. */
|
|
41
|
+
summary: string;
|
|
42
|
+
/** Bounded steps, in order. Concrete commands/paths, not advice. */
|
|
43
|
+
fix: string[];
|
|
44
|
+
/**
|
|
45
|
+
* `project-local` steps are the agent's job; `system` steps change the
|
|
46
|
+
* machine and may need the user. Both are shown; only the distinction is.
|
|
47
|
+
*/
|
|
48
|
+
scope: 'project-local' | 'system';
|
|
49
|
+
/**
|
|
50
|
+
* Safe, idempotent, project-local operations a machine may take on the agent's
|
|
51
|
+
* behalf when auto-apply is enabled. Absent means advisory-only (the default).
|
|
52
|
+
*/
|
|
53
|
+
autoFix?: AutoFixAction[];
|
|
54
|
+
}
|
|
55
|
+
/** A no-surprise filesystem operation confined to the project workspace. */
|
|
56
|
+
export type AutoFixAction = {
|
|
57
|
+
kind: 'chmod-exec';
|
|
58
|
+
path: string;
|
|
59
|
+
} | {
|
|
60
|
+
kind: 'write-file';
|
|
61
|
+
path: string;
|
|
62
|
+
content: string;
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* Diagnose a FAILED command. Returns null when the output matches no known
|
|
66
|
+
* signature — the ladder must never invent a fix for an unknown failure.
|
|
67
|
+
*/
|
|
68
|
+
export declare function diagnoseFailure(command: string, output: string, cwd?: string, env?: NodeJS.ProcessEnv): Remediation | null;
|
|
69
|
+
/** Is auto-apply requested for this run? Off unless explicitly opted in. */
|
|
70
|
+
export declare function remediationAutoApplyEnabled(env?: NodeJS.ProcessEnv): boolean;
|
|
71
|
+
export interface AutoApplyResult {
|
|
72
|
+
/** Human strings for the operations that changed the workspace. */
|
|
73
|
+
applied: string[];
|
|
74
|
+
/** Operations that were already satisfied or could not be taken safely. */
|
|
75
|
+
skipped: string[];
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Apply the remediations's safe auto-fixes. Every operation is idempotent and
|
|
79
|
+
* confined to the workspace; anything that fails is reported as skipped, never
|
|
80
|
+
* thrown — a remediation must not break the tool result it annotates.
|
|
81
|
+
*/
|
|
82
|
+
export declare function applyRemediationAutoFixes(r: Remediation): AutoApplyResult;
|
|
83
|
+
/** Render the auto-apply outcome as a note appended after the advisory fix. */
|
|
84
|
+
export declare function formatAutoApply(result: AutoApplyResult): string;
|
|
85
|
+
/**
|
|
86
|
+
* Render a remediation as the note appended to the failed tool result. Plain
|
|
87
|
+
* text (not markdown headers) so it reads the same in a terminal, a transcript,
|
|
88
|
+
* and a model prompt.
|
|
89
|
+
*/
|
|
90
|
+
export declare function formatRemediation(r: Remediation): string;
|
|
91
|
+
//# sourceMappingURL=remediation-ladder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remediation-ladder.d.ts","sourceRoot":"","sources":["../../src/tools/remediation-ladder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAKH,MAAM,WAAW,WAAW;IAC1B,qCAAqC;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,8CAA8C;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,GAAG,EAAE,MAAM,EAAE,CAAC;IACd;;;OAGG;IACH,KAAK,EAAE,eAAe,GAAG,QAAQ,CAAC;IAClC;;;OAGG;IACH,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,4EAA4E;AAC5E,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AA8L1D;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,GAAG,CAAC,EAAE,MAAM,EACZ,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,WAAW,GAAG,IAAI,CAapB;AAED,4EAA4E;AAC5E,wBAAgB,2BAA2B,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAEzF;AAED,MAAM,WAAW,eAAe;IAC9B,mEAAmE;IACnE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,2EAA2E;IAC3E,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,WAAW,GAAG,eAAe,CAyCzE;AAED,+EAA+E;AAC/E,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAO/D;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM,CAQxD"}
|
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Remediation ladder — a recognised toolchain failure gets a KNOWN fix instead
|
|
3
|
+
* of another exploration loop.
|
|
4
|
+
*
|
|
5
|
+
* WHY (A4). On the supervised `cal` Android run (2026-10-05) the agent
|
|
6
|
+
* diagnosed the real cause of a Gradle failure correctly — Capacitor 8 compiles
|
|
7
|
+
* at `JavaVersion.VERSION_21`, the environment had JDK 17 — and then stopped:
|
|
8
|
+
* it retried the same command with small variations and closed the turn telling
|
|
9
|
+
* the user to install JDK 21 themselves. A supervisor fixed the same tree in
|
|
10
|
+
* ~30 s with a project-local edit (`android/local.properties` + a JDK-21
|
|
11
|
+
* `JAVA_HOME`). The failure was not environmental in the sense of "impossible";
|
|
12
|
+
* it was a fix the agent could see and did not take.
|
|
13
|
+
*
|
|
14
|
+
* The ladder closes that gap with a SMALL, DECLARED map: error signature →
|
|
15
|
+
* what it means → the bounded fix, split into the part that belongs to THIS
|
|
16
|
+
* project (a file write, a chmod, an env var scoped to the command) and the
|
|
17
|
+
* part that is the user's decision (installing a system JDK). By DEFAULT it is
|
|
18
|
+
* advisory: the note is appended to the failed tool result, so the model takes
|
|
19
|
+
* the fix with the same tools it already has. A very small subset may carry a
|
|
20
|
+
* machine-readable safe action (see AUTO-APPLY below), but nothing is ever
|
|
21
|
+
* changed without an explicit opt-in — a remediation the agent cannot see is
|
|
22
|
+
* indistinguishable from a bug, and the agent must stay able to reason about
|
|
23
|
+
* what changed.
|
|
24
|
+
*
|
|
25
|
+
* Rules are intentionally a handful of high-signal signatures, not a general
|
|
26
|
+
* log classifier: a wrong "known fix" is worse than none.
|
|
27
|
+
*
|
|
28
|
+
* AUTO-APPLY (opt-in). A subset of the fixes is a single, idempotent,
|
|
29
|
+
* project-local file operation that cannot strand the user — `chmod +x` on the
|
|
30
|
+
* wrapper, writing `android/local.properties`. For those a rule may also
|
|
31
|
+
* declare a machine-readable {@link AutoFixAction}. When the run opts in
|
|
32
|
+
* (`NUVIRA_REMEDIATE=auto`) the fix is applied to the workspace and the note
|
|
33
|
+
* reports exactly what changed; by default the note is advisory only. Anything
|
|
34
|
+
* that needs a discovery or a per-run env var stays advisory — the agent can
|
|
35
|
+
* still see it and take it.
|
|
36
|
+
*/
|
|
37
|
+
import { chmodSync, existsSync, mkdirSync, readFileSync, statSync, writeFileSync } from 'node:fs';
|
|
38
|
+
import { dirname, join } from 'node:path';
|
|
39
|
+
/** Filesystem seam so rules stay testable without touching the real tree. */
|
|
40
|
+
const defaultFs = { existsSync, statSync };
|
|
41
|
+
/**
|
|
42
|
+
* Find the Gradle wrapper script relative to the project root, if it exists.
|
|
43
|
+
* The `cal` tree keeps it under `android/`; a bare Android project keeps it at
|
|
44
|
+
* the root, so both are checked (most specific first).
|
|
45
|
+
*/
|
|
46
|
+
function findGradlew(cwd) {
|
|
47
|
+
if (!cwd)
|
|
48
|
+
return null;
|
|
49
|
+
for (const rel of ['android/gradlew', 'gradlew']) {
|
|
50
|
+
const abs = join(cwd, rel);
|
|
51
|
+
try {
|
|
52
|
+
if (defaultFs.existsSync(abs) && defaultFs.statSync(abs).isFile())
|
|
53
|
+
return abs;
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
/* unreadable — treat as absent */
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Where the Android SDK lives, if this machine merely has it configured. Used
|
|
63
|
+
* to write `android/local.properties`, which is the whole of the SDK-location
|
|
64
|
+
* failure. Returns null when no path can be found, so nothing is written.
|
|
65
|
+
*/
|
|
66
|
+
function findAndroidSdk(cwd, env) {
|
|
67
|
+
const explicit = env.ANDROID_HOME || env.ANDROID_SDK_ROOT;
|
|
68
|
+
if (explicit && existsSync(explicit))
|
|
69
|
+
return explicit;
|
|
70
|
+
const home = env.HOME || '';
|
|
71
|
+
const candidates = [
|
|
72
|
+
join(home, 'android-toolchain/android-sdk'),
|
|
73
|
+
join(home, 'Library/Android/sdk'),
|
|
74
|
+
join(home, 'Android/Sdk'),
|
|
75
|
+
...(cwd ? [join(cwd, 'android-sdk'), join(cwd, '.android-sdk')] : []),
|
|
76
|
+
];
|
|
77
|
+
for (const c of candidates) {
|
|
78
|
+
try {
|
|
79
|
+
// A real SDK has a `platform-tools` (or `platforms`) directory.
|
|
80
|
+
if (c && existsSync(join(c, 'platform-tools')))
|
|
81
|
+
return c;
|
|
82
|
+
}
|
|
83
|
+
catch {
|
|
84
|
+
/* ignore */
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return null;
|
|
88
|
+
}
|
|
89
|
+
const ANDROID_JDK_LINE = /requires\s+java\s+(1[1-9]|[2-9]\d)|java\s*21|VERSION_21|Unsupported class file major version/i;
|
|
90
|
+
/**
|
|
91
|
+
* The rules, most specific first. Each `test` is deliberately narrow so the
|
|
92
|
+
* ladder fires only on a signature it can actually help with.
|
|
93
|
+
*/
|
|
94
|
+
const RULES = [
|
|
95
|
+
{
|
|
96
|
+
id: 'jdk-version',
|
|
97
|
+
test: (cmd, out) => ANDROID_JDK_LINE.test(out) ||
|
|
98
|
+
/(android|gradle|sdk)/i.test(cmd) && /(java|jdk).*(version|home|17|21)|could not determine java version/i.test(out),
|
|
99
|
+
build: () => ({
|
|
100
|
+
id: 'jdk-version',
|
|
101
|
+
summary: 'This build needs a newer JDK than the one on PATH (for example Capacitor/AGP 8 requires JDK 21, not 17).',
|
|
102
|
+
fix: [
|
|
103
|
+
'Find a JDK that satisfies the required version (e.g. `~/android-toolchain/jdk21/Contents/Home`, `/usr/libexec/java_home -v 21`, or `ls /usr/lib/jvm`).',
|
|
104
|
+
'Point THIS build at it without changing the user’s default: re-run the command with `JAVA_HOME=<jdk> PATH="$JAVA_HOME/bin:$PATH" <command>` (project-local, do this now).',
|
|
105
|
+
'If the JDK is not installed at all, install it (e.g. `brew install --cask temurin@21`) — this changes the machine, so say so rather than blocking on it.',
|
|
106
|
+
'For Gradle you can also pin it in the project: add `org.gradle.java.home=<jdk>` to `android/gradle.properties` (project-local, survives the turn).',
|
|
107
|
+
'Do NOT retry the same command with the same JAVA_HOME — the version cannot change by retrying.',
|
|
108
|
+
],
|
|
109
|
+
scope: 'project-local',
|
|
110
|
+
}),
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
id: 'android-sdk-location',
|
|
114
|
+
test: (_cmd, out) => /SDK location not found|ANDROID_HOME|ANDROID_SDK_ROOT|sdk\.dir|accepted the SDK license|licenses? .* not accepted/i.test(out),
|
|
115
|
+
build: ({ cwd, env }) => {
|
|
116
|
+
const sdk = findAndroidSdk(cwd, env);
|
|
117
|
+
const localProps = cwd ? join(cwd, 'android/local.properties') : '';
|
|
118
|
+
return {
|
|
119
|
+
id: 'android-sdk-location',
|
|
120
|
+
summary: 'Gradle cannot find (or is not allowed to use) the Android SDK.',
|
|
121
|
+
...(sdk && localProps
|
|
122
|
+
? { autoFix: [{ kind: 'write-file', path: localProps, content: `sdk.dir=${sdk}\n` }] }
|
|
123
|
+
: {}),
|
|
124
|
+
fix: [
|
|
125
|
+
'Create `android/local.properties` (project-local) containing `sdk.dir=<path-to-Android-SDK>` — this is the whole of the SDK-location failure.',
|
|
126
|
+
'Install the required components if missing: `sdkmanager "platforms;android-34" "build-tools;34.0.0" "platform-tools"`.',
|
|
127
|
+
'Accept pending licences: `yes | sdkmanager --licenses`.',
|
|
128
|
+
'Re-run `./gradlew assembleDebug` (or the original build) in the SAME directory.',
|
|
129
|
+
],
|
|
130
|
+
scope: 'project-local',
|
|
131
|
+
};
|
|
132
|
+
},
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
id: 'gradlew-not-executable',
|
|
136
|
+
test: (cmd, out) => /gradlew/i.test(cmd) && /Permission denied|not executable/i.test(out),
|
|
137
|
+
build: ({ cwd }) => {
|
|
138
|
+
const gradlew = findGradlew(cwd);
|
|
139
|
+
return {
|
|
140
|
+
id: 'gradlew-not-executable',
|
|
141
|
+
summary: 'The Gradle wrapper script is not executable in this checkout.',
|
|
142
|
+
...(gradlew ? { autoFix: [{ kind: 'chmod-exec', path: gradlew }] } : {}),
|
|
143
|
+
fix: [
|
|
144
|
+
'Run `chmod +x android/gradlew` (project-local), then re-run the build.',
|
|
145
|
+
'Alternatively invoke it through the shell: `sh android/gradlew assembleDebug`.',
|
|
146
|
+
],
|
|
147
|
+
scope: 'project-local',
|
|
148
|
+
};
|
|
149
|
+
},
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
id: 'toolchain-missing',
|
|
153
|
+
test: (_cmd, out) => /\b(java|javac|gradle|adb|sdkmanager|kotlinc)\b.*(command not found|not recognized as)/i.test(out),
|
|
154
|
+
build: () => ({
|
|
155
|
+
id: 'toolchain-missing',
|
|
156
|
+
summary: 'A build tool is not installed (or not on PATH).',
|
|
157
|
+
fix: [
|
|
158
|
+
'Check whether the tool exists somewhere first (`which java`, `ls ~/android-toolchain`).',
|
|
159
|
+
'Install the missing component, or add its path to PATH for THIS command (`PATH="$HOME/android-toolchain/android-sdk/platform-tools:$PATH" <command>`) — project-local for the run.',
|
|
160
|
+
'Installing a toolchain system-wide is the user’s decision; state it plainly if it is genuinely required.',
|
|
161
|
+
],
|
|
162
|
+
scope: 'project-local',
|
|
163
|
+
}),
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
id: 'python-env',
|
|
167
|
+
test: (_cmd, out) => /externally-managed-environment|No module named|Could not find a version that satisfies|python[0-9.]*: (command )?not found/i.test(out),
|
|
168
|
+
build: () => ({
|
|
169
|
+
id: 'python-env',
|
|
170
|
+
summary: 'Python dependencies are missing or the environment is externally managed.',
|
|
171
|
+
fix: [
|
|
172
|
+
'Create a project venv: `python3 -m venv .venv` (project-local).',
|
|
173
|
+
'Install into it: `.venv/bin/pip install -r requirements.txt` (or the named package).',
|
|
174
|
+
'Re-run the original command with the venv active: `.venv/bin/python <command>`.',
|
|
175
|
+
'Do NOT `pip install --break-system-packages` — the venv is the fix.',
|
|
176
|
+
],
|
|
177
|
+
scope: 'project-local',
|
|
178
|
+
}),
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
id: 'node-engines',
|
|
182
|
+
test: (_cmd, out) => /EBADENGINE|Unsupported engine|requires Node(\.js)? (version )?|node: (command )?not found/i.test(out),
|
|
183
|
+
build: () => ({
|
|
184
|
+
id: 'node-engines',
|
|
185
|
+
summary: 'The installed Node/npm does not satisfy this project’s engine requirement.',
|
|
186
|
+
fix: [
|
|
187
|
+
'Read the required version from `package.json` (`engines`).',
|
|
188
|
+
'Select a matching runtime for THIS command (e.g. `nvm use 20`, `fnm use`, or point PATH at the right install) — project-local for the run.',
|
|
189
|
+
'If no matching runtime exists, installing one is the user’s decision — say so instead of retrying.',
|
|
190
|
+
],
|
|
191
|
+
scope: 'project-local',
|
|
192
|
+
}),
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
id: 'docker-daemon',
|
|
196
|
+
test: (_cmd, out) => /Cannot connect to the Docker daemon|Is the docker daemon running/i.test(out),
|
|
197
|
+
build: () => ({
|
|
198
|
+
id: 'docker-daemon',
|
|
199
|
+
summary: 'Docker is installed but its daemon is not running.',
|
|
200
|
+
fix: [
|
|
201
|
+
'Start it: `open -a Docker` (macOS), `sudo systemctl start docker` (Linux), or start Docker Desktop.',
|
|
202
|
+
'Wait for `docker info` to succeed, then re-run the original command.',
|
|
203
|
+
'If it cannot be started, choose a non-container path for the build rather than retrying.',
|
|
204
|
+
],
|
|
205
|
+
scope: 'system',
|
|
206
|
+
}),
|
|
207
|
+
},
|
|
208
|
+
];
|
|
209
|
+
/**
|
|
210
|
+
* Diagnose a FAILED command. Returns null when the output matches no known
|
|
211
|
+
* signature — the ladder must never invent a fix for an unknown failure.
|
|
212
|
+
*/
|
|
213
|
+
export function diagnoseFailure(command, output, cwd, env = process.env) {
|
|
214
|
+
const cmd = String(command ?? '');
|
|
215
|
+
const out = String(output ?? '');
|
|
216
|
+
if (!out)
|
|
217
|
+
return null;
|
|
218
|
+
for (const rule of RULES) {
|
|
219
|
+
try {
|
|
220
|
+
if (rule.test(cmd, out))
|
|
221
|
+
return rule.build({ command: cmd, output: out, cwd, env });
|
|
222
|
+
}
|
|
223
|
+
catch {
|
|
224
|
+
// A rule must never break the tool result it is annotating.
|
|
225
|
+
continue;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
return null;
|
|
229
|
+
}
|
|
230
|
+
/** Is auto-apply requested for this run? Off unless explicitly opted in. */
|
|
231
|
+
export function remediationAutoApplyEnabled(env = process.env) {
|
|
232
|
+
return (env.NUVIRA_REMEDIATE || '').toLowerCase() === 'auto';
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Apply the remediations's safe auto-fixes. Every operation is idempotent and
|
|
236
|
+
* confined to the workspace; anything that fails is reported as skipped, never
|
|
237
|
+
* thrown — a remediation must not break the tool result it annotates.
|
|
238
|
+
*/
|
|
239
|
+
export function applyRemediationAutoFixes(r) {
|
|
240
|
+
const applied = [];
|
|
241
|
+
const skipped = [];
|
|
242
|
+
for (const action of r.autoFix ?? []) {
|
|
243
|
+
try {
|
|
244
|
+
if (action.kind === 'chmod-exec') {
|
|
245
|
+
if (!existsSync(action.path)) {
|
|
246
|
+
skipped.push(`chmod +x ${action.path} (file not found)`);
|
|
247
|
+
continue;
|
|
248
|
+
}
|
|
249
|
+
const mode = statSync(action.path).mode;
|
|
250
|
+
if (mode & 0o111) {
|
|
251
|
+
skipped.push(`chmod +x ${action.path} (already executable)`);
|
|
252
|
+
continue;
|
|
253
|
+
}
|
|
254
|
+
chmodSync(action.path, 0o755);
|
|
255
|
+
applied.push(`chmod +x ${action.path}`);
|
|
256
|
+
}
|
|
257
|
+
else {
|
|
258
|
+
// write-file: never clobber a file that already says what we would say.
|
|
259
|
+
if (existsSync(action.path)) {
|
|
260
|
+
const current = readFileSync(action.path, 'utf-8');
|
|
261
|
+
const wanted = action.content.trim();
|
|
262
|
+
if (current.includes(wanted)) {
|
|
263
|
+
skipped.push(`${action.path} (already set)`);
|
|
264
|
+
continue;
|
|
265
|
+
}
|
|
266
|
+
// Append rather than overwrite — other keys in the file are the user's.
|
|
267
|
+
const sep = current.endsWith('\n') || current === '' ? '' : '\n';
|
|
268
|
+
writeFileSync(action.path, `${current}${sep}${action.content}`);
|
|
269
|
+
applied.push(`${action.path} (+ ${wanted})`);
|
|
270
|
+
continue;
|
|
271
|
+
}
|
|
272
|
+
mkdirSync(dirname(action.path), { recursive: true });
|
|
273
|
+
writeFileSync(action.path, action.content);
|
|
274
|
+
applied.push(`${action.path} (created)`);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
catch (e) {
|
|
278
|
+
skipped.push(`${action.kind} ${'path' in action ? action.path : ''} (${e.message})`);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
return { applied, skipped };
|
|
282
|
+
}
|
|
283
|
+
/** Render the auto-apply outcome as a note appended after the advisory fix. */
|
|
284
|
+
export function formatAutoApply(result) {
|
|
285
|
+
if (result.applied.length === 0 && result.skipped.length === 0)
|
|
286
|
+
return '';
|
|
287
|
+
const lines = ['⚙️ Auto-applied safe project-local fix(es):'];
|
|
288
|
+
for (const a of result.applied)
|
|
289
|
+
lines.push(` ✓ ${a}`);
|
|
290
|
+
for (const s of result.skipped)
|
|
291
|
+
lines.push(` – ${s}`);
|
|
292
|
+
lines.push(' (NUVIRA_REMEDIATE=auto; re-run the original command now.)');
|
|
293
|
+
return lines.join('\n');
|
|
294
|
+
}
|
|
295
|
+
/**
|
|
296
|
+
* Render a remediation as the note appended to the failed tool result. Plain
|
|
297
|
+
* text (not markdown headers) so it reads the same in a terminal, a transcript,
|
|
298
|
+
* and a model prompt.
|
|
299
|
+
*/
|
|
300
|
+
export function formatRemediation(r) {
|
|
301
|
+
const head = `🔧 Known failure (${r.id}): ${r.summary}`;
|
|
302
|
+
const body = r.fix.map((step, i) => ` ${i + 1}. ${step}`).join('\n');
|
|
303
|
+
const tail = r.scope === 'project-local'
|
|
304
|
+
? ' → Take the project-local step above and re-run; do not repeat the same command unchanged.'
|
|
305
|
+
: ' → This one is a machine-level change; state it plainly if it is required.';
|
|
306
|
+
return `${head}\n${body}\n${tail}`;
|
|
307
|
+
}
|
|
308
|
+
//# sourceMappingURL=remediation-ladder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remediation-ladder.js","sourceRoot":"","sources":["../../src/tools/remediation-ladder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-terminal.d.ts","sourceRoot":"","sources":["../../src/tools/run-terminal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;
|
|
1
|
+
{"version":3,"file":"run-terminal.d.ts","sourceRoot":"","sources":["../../src/tools/run-terminal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAWH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAiLjD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAuBvD;AAOD;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAetE;AAED,KAAK,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AAuDlD,qFAAqF;AACrF,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAe7D;AAED,iFAAiF;AAEjF,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CA2J9F"}
|
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
*/
|
|
33
33
|
import { spawn } from 'node:child_process';
|
|
34
34
|
import { existsSync } from 'node:fs';
|
|
35
|
+
import { applyRemediationAutoFixes, diagnoseFailure, formatAutoApply, formatRemediation, remediationAutoApplyEnabled, } from './remediation-ladder.js';
|
|
35
36
|
import { maskSenderId } from '../utils/mask.js';
|
|
36
37
|
import { decideStateChange } from '../learning/autonomy-policy.js';
|
|
37
38
|
import { envelopeCoversAction } from '../learning/intent-envelope.js';
|
|
@@ -98,6 +99,27 @@ const VERIFY_PREFIXES = [
|
|
|
98
99
|
// segment splitter cannot tell a helper from a real command.
|
|
99
100
|
'basename', 'dirname', 'realpath',
|
|
100
101
|
];
|
|
102
|
+
/**
|
|
103
|
+
* Read-only PROBES — `<cmd> --version` / `--help`, and package-metadata reads.
|
|
104
|
+
*
|
|
105
|
+
* WHY THIS EXISTS (2026-10-04). A version/help probe changes nothing, but it
|
|
106
|
+
* was not on the verify allowlist, so the classifier scored it `confirm`, the
|
|
107
|
+
* gate refused it as `external` ("has an effect outside this machine"), and a
|
|
108
|
+
* live trace (`trace-1791118650644-d73hyr`) burned five steps on `cargo
|
|
109
|
+
* --version` before stalling and failing over to a tiny local model. The old
|
|
110
|
+
* `npm view …` refusal in `trace-1791037551766-gznlyy` is the same bug. A
|
|
111
|
+
* command that cannot mutate state must never generate a prompt.
|
|
112
|
+
*
|
|
113
|
+
* Deliberately narrow: the LAST token must BE the probe flag (so `--version`
|
|
114
|
+
* as a value, e.g. `echo --version`, still classifies by `echo`), and the
|
|
115
|
+
* info commands listed all read remote metadata without writing anything.
|
|
116
|
+
*/
|
|
117
|
+
const READ_ONLY_PROBE_RE = /(?:^|\s)(?:--version|-V|--help|-h)$/;
|
|
118
|
+
const READ_ONLY_INFO_PREFIXES = [
|
|
119
|
+
'npm view', 'npm info', 'npm ls', 'npm list', 'npm ping', 'npm outdated',
|
|
120
|
+
'cargo search', 'cargo metadata', 'pip show', 'pip list', 'command -v',
|
|
121
|
+
'go version', 'go env', 'java -version',
|
|
122
|
+
];
|
|
101
123
|
/**
|
|
102
124
|
* Recoverable WORKSPACE commands — the state-changing operations a requested
|
|
103
125
|
* build/development task legitimately needs, and that cannot strand the user
|
|
@@ -270,6 +292,16 @@ function classifySegment(segment) {
|
|
|
270
292
|
return 'verify';
|
|
271
293
|
}
|
|
272
294
|
}
|
|
295
|
+
// Read-only probes (`<cmd> --version` / `--help`) and metadata reads — they
|
|
296
|
+
// cannot change state, so they never need confirmation (see the constants).
|
|
297
|
+
if (READ_ONLY_PROBE_RE.test(segment))
|
|
298
|
+
return 'verify';
|
|
299
|
+
for (const prefix of READ_ONLY_INFO_PREFIXES) {
|
|
300
|
+
const pt = prefix.split(' ');
|
|
301
|
+
if (pt.length <= toks.length && toks.slice(0, pt.length).join(' ') === prefix) {
|
|
302
|
+
return 'verify';
|
|
303
|
+
}
|
|
304
|
+
}
|
|
273
305
|
return 'confirm';
|
|
274
306
|
}
|
|
275
307
|
/** Classify a command — deny regexes on the FULL string, worst-class on segments. */
|
|
@@ -363,6 +395,9 @@ export async function runTerminalTool(args, ctx) {
|
|
|
363
395
|
authorizedByRequest: ctx.writesAuthorized?.authorized === true,
|
|
364
396
|
});
|
|
365
397
|
if (verdict.action !== 'proceed') {
|
|
398
|
+
// Mark the pending confirmation so ask_user does NOT suppress the very
|
|
399
|
+
// question this refusal asks for (see ToolContext.pendingConfirmation).
|
|
400
|
+
ctx.pendingConfirmation = { tool: 'run_terminal', command };
|
|
366
401
|
return (`Error: run_terminal: "${command}" changes state and needs explicit confirmation ` +
|
|
367
402
|
`(${verdict.reason}). Call ask_user (yes/no, one-line reason), then re-call run_terminal ` +
|
|
368
403
|
`with the SAME command plus confirm:true only if the user agreed.`);
|
|
@@ -379,6 +414,27 @@ export async function runTerminalTool(args, ctx) {
|
|
|
379
414
|
const timeoutMs = Math.min(MAX_TIMEOUT_MS, Math.max(1000, Math.floor(args.timeout_ms ?? DEFAULT_TIMEOUT_MS)));
|
|
380
415
|
const startedAt = Date.now();
|
|
381
416
|
const output = await execCommand(command, ctx.cwd, timeoutMs, runEnv);
|
|
417
|
+
// A4 — a KNOWN toolchain failure gets its known fix appended, so the model
|
|
418
|
+
// repairs instead of re-trying the identical command. Advisory only: the note
|
|
419
|
+
// names the bounded, project-local step; it never mutates the workspace.
|
|
420
|
+
const remediation = output.startsWith('Error:')
|
|
421
|
+
? diagnoseFailure(command, output, ctx.cwd)
|
|
422
|
+
: null;
|
|
423
|
+
const remediationNote = remediation ? `\n\n${formatRemediation(remediation)}` : '';
|
|
424
|
+
// Auto-apply (opt-in, NUVIRA_REMEDIATE=auto): take the safe, idempotent
|
|
425
|
+
// project-local step now instead of asking the model to transcribe it, and
|
|
426
|
+
// report exactly what changed. Off by default — advisory stays the norm.
|
|
427
|
+
const autoApplyNote = remediation?.autoFix?.length && remediationAutoApplyEnabled()
|
|
428
|
+
? (() => {
|
|
429
|
+
const result = applyRemediationAutoFixes(remediation);
|
|
430
|
+
ctx.emit?.('remediation:auto-applied', {
|
|
431
|
+
id: remediation.id,
|
|
432
|
+
applied: result.applied,
|
|
433
|
+
skipped: result.skipped,
|
|
434
|
+
}, 'tool-loop');
|
|
435
|
+
return `\n\n${formatAutoApply(result)}`;
|
|
436
|
+
})()
|
|
437
|
+
: '';
|
|
382
438
|
// ── A1: effect verification — a BUILD is not done until its artifact is
|
|
383
439
|
// OBSERVED to launch. The live Aukat_check run reported "successfully built
|
|
384
440
|
// and functional" for a bundle that crashed on import; exit code 0 is not
|
|
@@ -399,12 +455,14 @@ export async function runTerminalTool(args, ctx) {
|
|
|
399
455
|
effectNote = `\n${formatEffectVerdict(verdict)}`;
|
|
400
456
|
}
|
|
401
457
|
if (!decidedAutonomously)
|
|
402
|
-
return output + effectNote + envNote;
|
|
458
|
+
return output + effectNote + envNote + remediationNote + autoApplyNote;
|
|
403
459
|
// Reported, never silent — a judgment call the user cannot see is
|
|
404
460
|
// indistinguishable from a bug.
|
|
405
461
|
return (`${output}${effectNote}\n💡 Ran without asking: ${autonomyReason}. State what you ran in your answer — ` +
|
|
406
462
|
'do not ask for permission to do work the user already asked for.' +
|
|
407
|
-
envNote
|
|
463
|
+
envNote +
|
|
464
|
+
remediationNote +
|
|
465
|
+
autoApplyNote);
|
|
408
466
|
}
|
|
409
467
|
/** Spawn the command (shell-interpreted — pipes, &&, substitutions work). */
|
|
410
468
|
function execCommand(command, cwd, timeoutMs, envOverride) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-terminal.js","sourceRoot":"","sources":["../../src/tools/run-terminal.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run-terminal.js","sourceRoot":"","sources":["../../src/tools/run-terminal.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,13 @@ export interface SkillManifest {
|
|
|
26
26
|
source: string;
|
|
27
27
|
sourceHash: string;
|
|
28
28
|
installedAt?: number;
|
|
29
|
+
/**
|
|
30
|
+
* The raw SKILL.md (frontmatter + body). Carried so `install()` can write the
|
|
31
|
+
* skill's actual instructions — a manifest with only metadata would install a
|
|
32
|
+
* SKILL.md whose body was thrown away (the model then loads an empty
|
|
33
|
+
* methodology). This is what the hub tool hands back to callers.
|
|
34
|
+
*/
|
|
35
|
+
content?: string;
|
|
29
36
|
}
|
|
30
37
|
export interface LockEntry {
|
|
31
38
|
name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills-hub.d.ts","sourceRoot":"","sources":["../../src/tools/skills-hub.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAYH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,KAAK,CAAC;IAC9C,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5C,IAAI,CAAC,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"skills-hub.d.ts","sourceRoot":"","sources":["../../src/tools/skills-hub.ts"],"names":[],"mappings":"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"}
|