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,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OmniRouteCommand — lifecycle control for the external OmniRoute gateway.
|
|
3
|
+
*
|
|
4
|
+
* nuvira omniroute status — is it running? (real HTTP probe + port/pid)
|
|
5
|
+
* nuvira omniroute start — launch it in the background, wait until it answers
|
|
6
|
+
* nuvira omniroute stop — SIGTERM the running gateway
|
|
7
|
+
*
|
|
8
|
+
* OmniRoute is installed and run outside nuvira (`npm install -g omniroute`);
|
|
9
|
+
* this command is the same thin lifecycle layer the dashboard's Admin page uses
|
|
10
|
+
* ({@link ./omniroute-control.js}), so "is it up?" and "how do I stop it?" have
|
|
11
|
+
* one answer in both places. Starting/stopping is a service action and is gated
|
|
12
|
+
* like `nuvira gateway stop` (gateway.manage); `status` is read-only.
|
|
13
|
+
*/
|
|
14
|
+
import { Command } from 'commander';
|
|
15
|
+
import { logger } from '../utils/logger.js';
|
|
16
|
+
import { guardRbacAction } from './rbac-guard.js';
|
|
17
|
+
import { omnirouteStatus, startOmniRoute, stopOmniRoute, OMNIROUTE_DEFAULT_URL, } from './omniroute-control.js';
|
|
18
|
+
export class OmniRouteCommand {
|
|
19
|
+
create() {
|
|
20
|
+
return new Command('omniroute')
|
|
21
|
+
.description('Start / stop / inspect the external OmniRoute AI gateway (default port 20128)')
|
|
22
|
+
.addCommand(new Command('status')
|
|
23
|
+
.description('Probe the OmniRoute gateway and report whether it is reachable')
|
|
24
|
+
.action(async () => this.status()))
|
|
25
|
+
.addCommand(new Command('start')
|
|
26
|
+
.description('Start the OmniRoute gateway in the background and wait for it to answer')
|
|
27
|
+
.action(async () => this.start()))
|
|
28
|
+
.addCommand(new Command('stop')
|
|
29
|
+
.description('Stop the running OmniRoute gateway')
|
|
30
|
+
.action(async () => this.stop()));
|
|
31
|
+
}
|
|
32
|
+
async status() {
|
|
33
|
+
const status = await omnirouteStatus();
|
|
34
|
+
const icon = status.reachable ? '✅' : status.running ? '⚠️' : '❌';
|
|
35
|
+
console.log(`${icon} OmniRoute at ${status.baseUrl}`);
|
|
36
|
+
console.log(` ${status.detail}`);
|
|
37
|
+
console.log(status.pid !== null
|
|
38
|
+
? ` process: running on port ${status.port} (PID ${status.pid})`
|
|
39
|
+
: ` process: nothing found listening on port ${status.port}`);
|
|
40
|
+
if (!status.running) {
|
|
41
|
+
console.log(' Start it with: nuvira omniroute start (install: npm install -g omniroute)');
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
async start() {
|
|
45
|
+
if (!guardRbacAction('gateway.manage'))
|
|
46
|
+
return;
|
|
47
|
+
logger.info(`Starting OmniRoute (${OMNIROUTE_DEFAULT_URL})…`);
|
|
48
|
+
const result = await startOmniRoute();
|
|
49
|
+
if (result.ok) {
|
|
50
|
+
logger.success(result.detail);
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
logger.error(result.detail);
|
|
54
|
+
process.exitCode = 1;
|
|
55
|
+
}
|
|
56
|
+
async stop() {
|
|
57
|
+
if (!guardRbacAction('gateway.manage'))
|
|
58
|
+
return;
|
|
59
|
+
const result = await stopOmniRoute();
|
|
60
|
+
if (result.stopped) {
|
|
61
|
+
logger.success(`OmniRoute stopped (PID ${result.pid})`);
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
logger.warn(result.reason ?? 'OmniRoute is not running.');
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=omniroute.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"omniroute.js","sourceRoot":"","sources":["../../src/cli/omniroute.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACL,eAAe,EACf,cAAc,EACd,aAAa,EACb,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,OAAO,gBAAgB;IAC3B,MAAM;QACJ,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC;aAC5B,WAAW,CAAC,+EAA+E,CAAC;aAC5F,UAAU,CACT,IAAI,OAAO,CAAC,QAAQ,CAAC;aAClB,WAAW,CAAC,gEAAgE,CAAC;aAC7E,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CACrC;aACA,UAAU,CACT,IAAI,OAAO,CAAC,OAAO,CAAC;aACjB,WAAW,CAAC,yEAAyE,CAAC;aACtF,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CACpC;aACA,UAAU,CACT,IAAI,OAAO,CAAC,MAAM,CAAC;aAChB,WAAW,CAAC,oCAAoC,CAAC;aACjD,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CACnC,CAAC;IACN,CAAC;IAEO,KAAK,CAAC,MAAM;QAClB,MAAM,MAAM,GAAG,MAAM,eAAe,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,kBAAkB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CACT,MAAM,CAAC,GAAG,KAAK,IAAI;YACjB,CAAC,CAAC,gCAAgC,MAAM,CAAC,IAAI,SAAS,MAAM,CAAC,GAAG,GAAG;YACnE,CAAC,CAAC,gDAAgD,MAAM,CAAC,IAAI,EAAE,CAClE,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,kFAAkF,CAAC,CAAC;QAClG,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,KAAK;QACjB,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC;YAAE,OAAO;QAC/C,MAAM,CAAC,IAAI,CAAC,uBAAuB,qBAAqB,IAAI,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAC;QACtC,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;YACd,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC9B,OAAO;QACT,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5B,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;IAEO,KAAK,CAAC,IAAI;QAChB,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC;YAAE,OAAO;QAC/C,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC;QACrC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,CAAC,OAAO,CAAC,0BAA0B,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,2BAA2B,CAAC,CAAC;IAC5D,CAAC;CACF"}
|
|
@@ -31,6 +31,64 @@ export interface ToolInstallOptions {
|
|
|
31
31
|
}
|
|
32
32
|
/** Whether we have an install recipe for this tool on any OS. */
|
|
33
33
|
export declare function isKnownSystemTool(tool: string): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Candidate tool names in a shell command line: the first token of every
|
|
36
|
+
* pipeline / `&&` / `;` segment, with `sudo`/`env`-style prefixes stripped.
|
|
37
|
+
* Pure; never throws.
|
|
38
|
+
*/
|
|
39
|
+
export declare function commandToolNames(command: string): string[];
|
|
40
|
+
/**
|
|
41
|
+
* ALL known, installable system tools implicated by a failing command, in the
|
|
42
|
+
* order the shell would hit them, de-duplicated. The missing-binary signal in
|
|
43
|
+
* `output` is REQUIRED: a nonzero exit from a PRESENT tool (a failing test, a
|
|
44
|
+
* build error) is not this case.
|
|
45
|
+
*
|
|
46
|
+
* A single command line can need several prerequisites at once
|
|
47
|
+
* (`cd app && cargo build && cmake .`), which is the v3.3.3 behavior the user
|
|
48
|
+
* remembers: "agent kicks in and says I can install all of those software".
|
|
49
|
+
*/
|
|
50
|
+
export declare function installableToolsFromFailure(command: string, output: string): string[];
|
|
51
|
+
/**
|
|
52
|
+
* The FIRST known, installable system tool implicated by a failing command —
|
|
53
|
+
* or null. Kept for callers that only need the head of the list.
|
|
54
|
+
*/
|
|
55
|
+
export declare function installableToolFromFailure(command: string, output: string): string | null;
|
|
56
|
+
/**
|
|
57
|
+
* Is `name` an executable on PATH? Cheap (no spawn) — used to pick the install
|
|
58
|
+
* recipe for the machine we are actually on.
|
|
59
|
+
*/
|
|
60
|
+
export declare function commandOnPath(name: string): boolean;
|
|
61
|
+
/** The concrete install command for a known tool on THIS machine, or null. */
|
|
62
|
+
export declare function resolveInstallCommand(tool: string): string | null;
|
|
63
|
+
/**
|
|
64
|
+
* The deterministic TAKEOVER instruction appended to a failed `run_terminal`
|
|
65
|
+
* result when a known, installable prerequisite is missing.
|
|
66
|
+
*
|
|
67
|
+
* WHY THIS EXISTS (live, 2026-10-03, trace trace-1791127992452-qzgodi).
|
|
68
|
+
* Asked to build a Tauri app, the model ran `cargo --version` → exit 127 and
|
|
69
|
+
* then DECLARED "I cannot install system-level software like Rust on your host
|
|
70
|
+
* machine — I am physically unable to build the Tauri application", handing the
|
|
71
|
+
* user a manual `curl … | sh` step. It was not sandboxed at all: it had a real
|
|
72
|
+
* shell and had just been told "i allow you to access my tools and skills and
|
|
73
|
+
* execute the commands on my terminal". A missing PREREQUISITE is a step to
|
|
74
|
+
* complete, not a wall — so this instruction names the exact install command
|
|
75
|
+
* and forbids the enclosed-system refusal.
|
|
76
|
+
*/
|
|
77
|
+
export declare function toolTakeoverInstruction(tool: string | string[], installCommand?: string | Array<string | null>): string;
|
|
78
|
+
/**
|
|
79
|
+
* True when an install command cannot run unattended — it will block on human
|
|
80
|
+
* input we must not fabricate (a `sudo`/administrator password, the macOS
|
|
81
|
+
* `xcode-select --install` GUI, an explicit `--interactive` installer). Used to
|
|
82
|
+
* decide between "install it yourself" and the honest handoff note.
|
|
83
|
+
*/
|
|
84
|
+
export declare function installNeedsHumanInput(installCommand: string): boolean;
|
|
85
|
+
/**
|
|
86
|
+
* The single, deterministic handoff note for a prerequisite the agent TRIED to
|
|
87
|
+
* install but that needs a human step it cannot supply. Names what was tried,
|
|
88
|
+
* WHY the tool is needed, and the exact command — so the user can finish one
|
|
89
|
+
* step and the agent resumes, instead of the agent looping or pretending.
|
|
90
|
+
*/
|
|
91
|
+
export declare function humanInterventionNote(tool: string, installCommand: string, reason?: string): string;
|
|
34
92
|
/**
|
|
35
93
|
* Pick the concrete install command for a tool on this machine.
|
|
36
94
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-install-prompt.d.ts","sourceRoot":"","sources":["../../src/cli/tool-install-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;
|
|
1
|
+
{"version":3,"file":"tool-install-prompt.d.ts","sourceRoot":"","sources":["../../src/cli/tool-install-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AASH,kEAAkE;AAClE,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE9D,sDAAsD;AACtD,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAsRD,iEAAiE;AACjE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AAYD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAY1D;AAED;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAOrF;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEzF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAInD;AAED,8EAA8E;AAC9E,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEjE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,EACvB,cAAc,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,GAC7C,MAAM,CA0BR;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAOtE;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAMR;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GACnC,MAAM,GAAG,IAAI,CAoCf;AAID;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,iBAAiB,CAAC,CAgC5B;AAED,+GAA+G;AAC/G,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CASpE"}
|
|
@@ -22,6 +22,8 @@
|
|
|
22
22
|
* isolation (inquirer mocked), mirroring failover-prompt.ts / weak-model-prompt.ts.
|
|
23
23
|
*/
|
|
24
24
|
import inquirer from 'inquirer';
|
|
25
|
+
import { existsSync } from 'node:fs';
|
|
26
|
+
import { join, delimiter } from 'node:path';
|
|
25
27
|
import { logger } from '../utils/logger.js';
|
|
26
28
|
// ─── Per-OS install recipes for common build/system tools ──────────────────
|
|
27
29
|
/**
|
|
@@ -169,6 +171,18 @@ const TOOL_INSTALL_OPTIONS = {
|
|
|
169
171
|
linux: 'curl --proto \'=https\' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y',
|
|
170
172
|
win32: 'winget install Rustlang.Rustup --silent --accept-package-agreements --accept-source-agreements',
|
|
171
173
|
},
|
|
174
|
+
// rustc/rustup travel with cargo (the Tauri/Rust case): a `rustc: command
|
|
175
|
+
// not found` is the same missing toolchain and must trigger the takeover too.
|
|
176
|
+
rustc: {
|
|
177
|
+
darwin: 'curl --proto \'=https\' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y',
|
|
178
|
+
linux: 'curl --proto \'=https\' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y',
|
|
179
|
+
win32: 'winget install Rustlang.Rustup --silent --accept-package-agreements --accept-source-agreements',
|
|
180
|
+
},
|
|
181
|
+
rustup: {
|
|
182
|
+
darwin: 'curl --proto \'=https\' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y',
|
|
183
|
+
linux: 'curl --proto \'=https\' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y',
|
|
184
|
+
win32: 'winget install Rustlang.Rustup --silent --accept-package-agreements --accept-source-agreements',
|
|
185
|
+
},
|
|
172
186
|
go: {
|
|
173
187
|
darwin: 'brew install go',
|
|
174
188
|
linux: 'install -y golang-go',
|
|
@@ -288,6 +302,129 @@ const LINUX_PKG_MANAGERS = [
|
|
|
288
302
|
export function isKnownSystemTool(tool) {
|
|
289
303
|
return tool in TOOL_INSTALL_OPTIONS;
|
|
290
304
|
}
|
|
305
|
+
// ─── Missing-prerequisite detection (chat/loop takeover) ────────────────────
|
|
306
|
+
/**
|
|
307
|
+
* Signals that a shell command failed because its binary is not on PATH.
|
|
308
|
+
* Deliberately specific: a bare "not found" in prose must not trigger the
|
|
309
|
+
* takeover (it would fire on any error text that happens to contain it).
|
|
310
|
+
*/
|
|
311
|
+
const MISSING_BINARY_RE = /(?:command not found|not found in (?:the )?\$?PATH|no such file or directory|\bENOENT\b|exit (?:code )?127|\.sh: [a-z0-9_.+-]+: command not found|is not recognized as an internal or external command|is not recognized as the name of a cmdlet|not recognized as the name of a cmdlet|exit (?:code )?9009)/i;
|
|
312
|
+
/**
|
|
313
|
+
* Candidate tool names in a shell command line: the first token of every
|
|
314
|
+
* pipeline / `&&` / `;` segment, with `sudo`/`env`-style prefixes stripped.
|
|
315
|
+
* Pure; never throws.
|
|
316
|
+
*/
|
|
317
|
+
export function commandToolNames(command) {
|
|
318
|
+
return String(command ?? '')
|
|
319
|
+
.split(/(?:\|\||&&|[;|\n])/)
|
|
320
|
+
.map((seg) => seg.trim())
|
|
321
|
+
// `&` is PowerShell's call operator (`& cargo build`); strip it like sudo.
|
|
322
|
+
.map((seg) => seg.replace(/^(?:sudo|command|env|nohup|time|&)\s+/i, '').trim())
|
|
323
|
+
.map((seg) => seg.split(/\s+/)[0] ?? '')
|
|
324
|
+
.map((tok) => tok.replace(/^[('"`]+/, '').replace(/[)'"`]+$/, ''))
|
|
325
|
+
// Windows executables are typed with their extension (`cargo.exe`) — the
|
|
326
|
+
// recipe table keys on the bare name, so drop it.
|
|
327
|
+
.map((tok) => tok.replace(/\.(?:exe|cmd|bat)$/i, ''))
|
|
328
|
+
.filter((tok) => /^[a-z0-9_][a-z0-9_.+-]*$/i.test(tok));
|
|
329
|
+
}
|
|
330
|
+
/**
|
|
331
|
+
* ALL known, installable system tools implicated by a failing command, in the
|
|
332
|
+
* order the shell would hit them, de-duplicated. The missing-binary signal in
|
|
333
|
+
* `output` is REQUIRED: a nonzero exit from a PRESENT tool (a failing test, a
|
|
334
|
+
* build error) is not this case.
|
|
335
|
+
*
|
|
336
|
+
* A single command line can need several prerequisites at once
|
|
337
|
+
* (`cd app && cargo build && cmake .`), which is the v3.3.3 behavior the user
|
|
338
|
+
* remembers: "agent kicks in and says I can install all of those software".
|
|
339
|
+
*/
|
|
340
|
+
export function installableToolsFromFailure(command, output) {
|
|
341
|
+
if (!MISSING_BINARY_RE.test(String(output ?? '')))
|
|
342
|
+
return [];
|
|
343
|
+
const found = [];
|
|
344
|
+
for (const name of commandToolNames(command)) {
|
|
345
|
+
if (isKnownSystemTool(name) && !found.includes(name))
|
|
346
|
+
found.push(name);
|
|
347
|
+
}
|
|
348
|
+
return found;
|
|
349
|
+
}
|
|
350
|
+
/**
|
|
351
|
+
* The FIRST known, installable system tool implicated by a failing command —
|
|
352
|
+
* or null. Kept for callers that only need the head of the list.
|
|
353
|
+
*/
|
|
354
|
+
export function installableToolFromFailure(command, output) {
|
|
355
|
+
return installableToolsFromFailure(command, output)[0] ?? null;
|
|
356
|
+
}
|
|
357
|
+
/**
|
|
358
|
+
* Is `name` an executable on PATH? Cheap (no spawn) — used to pick the install
|
|
359
|
+
* recipe for the machine we are actually on.
|
|
360
|
+
*/
|
|
361
|
+
export function commandOnPath(name) {
|
|
362
|
+
const dirs = (process.env.PATH ?? '').split(delimiter);
|
|
363
|
+
const exts = process.platform === 'win32' ? ['.exe', '.cmd', '.bat', ''] : [''];
|
|
364
|
+
return dirs.some((dir) => dir && exts.some((ext) => existsSync(join(dir, name + ext))));
|
|
365
|
+
}
|
|
366
|
+
/** The concrete install command for a known tool on THIS machine, or null. */
|
|
367
|
+
export function resolveInstallCommand(tool) {
|
|
368
|
+
return toolInstallCommand(tool, process.platform, commandOnPath);
|
|
369
|
+
}
|
|
370
|
+
/**
|
|
371
|
+
* The deterministic TAKEOVER instruction appended to a failed `run_terminal`
|
|
372
|
+
* result when a known, installable prerequisite is missing.
|
|
373
|
+
*
|
|
374
|
+
* WHY THIS EXISTS (live, 2026-10-03, trace trace-1791127992452-qzgodi).
|
|
375
|
+
* Asked to build a Tauri app, the model ran `cargo --version` → exit 127 and
|
|
376
|
+
* then DECLARED "I cannot install system-level software like Rust on your host
|
|
377
|
+
* machine — I am physically unable to build the Tauri application", handing the
|
|
378
|
+
* user a manual `curl … | sh` step. It was not sandboxed at all: it had a real
|
|
379
|
+
* shell and had just been told "i allow you to access my tools and skills and
|
|
380
|
+
* execute the commands on my terminal". A missing PREREQUISITE is a step to
|
|
381
|
+
* complete, not a wall — so this instruction names the exact install command
|
|
382
|
+
* and forbids the enclosed-system refusal.
|
|
383
|
+
*/
|
|
384
|
+
export function toolTakeoverInstruction(tool, installCommand) {
|
|
385
|
+
const tools = Array.isArray(tool) ? tool : [tool];
|
|
386
|
+
const commands = (Array.isArray(installCommand) ? installCommand : [installCommand])
|
|
387
|
+
.map((c) => (c ?? '').trim())
|
|
388
|
+
.filter((c) => c.length > 0);
|
|
389
|
+
const list = tools.join(', ');
|
|
390
|
+
const lines = [
|
|
391
|
+
`🤖 I'm Nuvira, your agent — and yes, I can install ${tools.length > 1 ? 'these' : 'this'} myself.`,
|
|
392
|
+
`🛠️ TOOL TAKEOVER — ${list} ${tools.length > 1 ? 'are' : 'is'} missing and INSTALLABLE on this machine.`,
|
|
393
|
+
'You are running on the user\u2019s REAL machine with a REAL shell. You are NOT sandboxed, NOT "enclosed",',
|
|
394
|
+
'and NOT blocked from installing software. A missing prerequisite is something to FIX, not to hand off.',
|
|
395
|
+
'Install it now with run_terminal (pass confirm:true if the tool asks — the user already authorized this',
|
|
396
|
+
'work), then re-run the original command that failed:',
|
|
397
|
+
];
|
|
398
|
+
for (const c of commands)
|
|
399
|
+
lines.push(` ${c}`);
|
|
400
|
+
lines.push('Do NOT tell the user to install it themselves and do NOT claim you are unable or not permitted — they', 'already asked you to do this work. TRY the install yourself first. If it genuinely needs interactive', 'input you cannot supply (a sudo/admin password, a GUI installer, an OS license prompt), STOP and hand', 'off ONE clear note in exactly this shape, then wait:', ` 🛠️ I tried to install <tool> because <one-line reason it is needed>, but it needs you to do this one step:`, ` <exact command>`, ` Nothing else in the work is blocked — tell me once it is done and I will continue.`, 'Never silently skip the prerequisite and never pretend the task completed without it.');
|
|
401
|
+
return lines.join('\n');
|
|
402
|
+
}
|
|
403
|
+
/**
|
|
404
|
+
* True when an install command cannot run unattended — it will block on human
|
|
405
|
+
* input we must not fabricate (a `sudo`/administrator password, the macOS
|
|
406
|
+
* `xcode-select --install` GUI, an explicit `--interactive` installer). Used to
|
|
407
|
+
* decide between "install it yourself" and the honest handoff note.
|
|
408
|
+
*/
|
|
409
|
+
export function installNeedsHumanInput(installCommand) {
|
|
410
|
+
const c = String(installCommand ?? '');
|
|
411
|
+
return (/(?:^|[\s;&|])sudo\b/.test(c) ||
|
|
412
|
+
/xcode-select\s+--install/.test(c) ||
|
|
413
|
+
/--interactive\b/.test(c));
|
|
414
|
+
}
|
|
415
|
+
/**
|
|
416
|
+
* The single, deterministic handoff note for a prerequisite the agent TRIED to
|
|
417
|
+
* install but that needs a human step it cannot supply. Names what was tried,
|
|
418
|
+
* WHY the tool is needed, and the exact command — so the user can finish one
|
|
419
|
+
* step and the agent resumes, instead of the agent looping or pretending.
|
|
420
|
+
*/
|
|
421
|
+
export function humanInterventionNote(tool, installCommand, reason) {
|
|
422
|
+
return [
|
|
423
|
+
`🛠️ I tried to install '${tool}'${reason ? ` because ${reason}` : ''}, but it needs you to do this one step:`,
|
|
424
|
+
` ${installCommand}`,
|
|
425
|
+
`Nothing else in the work is blocked — tell me once it's done and I'll continue from where I left off.`,
|
|
426
|
+
].join('\n');
|
|
427
|
+
}
|
|
291
428
|
/**
|
|
292
429
|
* Pick the concrete install command for a tool on this machine.
|
|
293
430
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-install-prompt.js","sourceRoot":"","sources":["../../src/cli/tool-install-prompt.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tool-install-prompt.js","sourceRoot":"","sources":["../../src/cli/tool-install-prompt.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
*
|
|
5
5
|
* When a task can only run on a WEAK model (model escalation is a no-op —
|
|
6
6
|
* every stronger candidate is unavailable/blocked, e.g. only a small local
|
|
7
|
-
* model is configured), the
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
7
|
+
* model is configured), the orchestrator ASKS before committing to that path
|
|
8
|
+
* (ask-first by default — never a silent weak model). An explicit
|
|
9
|
+
* `routing.promptOnWeakModel: false` (or `weakModelPolicy: 'auto-allow'`)
|
|
10
|
+
* restores the silent weak-model continuation. The ask fires ONCE per pipeline
|
|
11
|
+
* and only on an interactive TTY:
|
|
12
12
|
*
|
|
13
13
|
* ⚠️ Only a weak model is available (local/gemma4:e4b)
|
|
14
14
|
* ? How would you like to proceed?
|
|
@@ -25,14 +25,23 @@
|
|
|
25
25
|
export interface WeakModelPromptConfig {
|
|
26
26
|
routing?: {
|
|
27
27
|
promptOnWeakModel?: boolean;
|
|
28
|
+
weakModelPolicy?: unknown;
|
|
28
29
|
};
|
|
29
30
|
}
|
|
30
31
|
/** What the user chose when a task can only run on a weak model. */
|
|
31
32
|
export type WeakModelChoice = 'continue' | 'wait' | 'abort';
|
|
32
33
|
/**
|
|
33
34
|
* Whether the orchestrator should ASK what to do when only a weak model is
|
|
34
|
-
* available.
|
|
35
|
-
*
|
|
35
|
+
* available.
|
|
36
|
+
*
|
|
37
|
+
* ASK-FIRST BY DEFAULT (the user's requirement: never a silent weak model).
|
|
38
|
+
* An explicit `routing.promptOnWeakModel: false` remains the opt-out, and
|
|
39
|
+
* `weakModelPolicy: 'auto-allow'` (the non-interactive fallback) also opts out
|
|
40
|
+
* so an unattended deployment is not forced to prompt. Any other value —
|
|
41
|
+
* including unset — asks.
|
|
42
|
+
*
|
|
43
|
+
* NOTE: the caller only reaches the prompt on an interactive TTY
|
|
44
|
+
* (`process.stdin.isTTY`), so a piped/CI/headless run is never blocked.
|
|
36
45
|
*/
|
|
37
46
|
export declare function shouldPromptWeakModel(config: WeakModelPromptConfig): boolean;
|
|
38
47
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"weak-model-prompt.d.ts","sourceRoot":"","sources":["../../src/cli/weak-model-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAOH,+DAA+D;AAC/D,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE;QAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"weak-model-prompt.d.ts","sourceRoot":"","sources":["../../src/cli/weak-model-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAOH,+DAA+D;AAC/D,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE;QAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAAC,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACtE;AAED,oEAAoE;AACpE,MAAM,MAAM,eAAe,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC;AAI5D;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAO5E;AAID;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,CACzC,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE;IAAE,aAAa,EAAE,OAAO,CAAA;CAAE,GAC/B,OAAO,CAAC,eAAe,CAAC,CAqC1B"}
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
*
|
|
5
5
|
* When a task can only run on a WEAK model (model escalation is a no-op —
|
|
6
6
|
* every stronger candidate is unavailable/blocked, e.g. only a small local
|
|
7
|
-
* model is configured), the
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
7
|
+
* model is configured), the orchestrator ASKS before committing to that path
|
|
8
|
+
* (ask-first by default — never a silent weak model). An explicit
|
|
9
|
+
* `routing.promptOnWeakModel: false` (or `weakModelPolicy: 'auto-allow'`)
|
|
10
|
+
* restores the silent weak-model continuation. The ask fires ONCE per pipeline
|
|
11
|
+
* and only on an interactive TTY:
|
|
12
12
|
*
|
|
13
13
|
* ⚠️ Only a weak model is available (local/gemma4:e4b)
|
|
14
14
|
* ? How would you like to proceed?
|
|
@@ -26,11 +26,27 @@ import { logger } from '../utils/logger.js';
|
|
|
26
26
|
// ─── Gate ───────────────────────────────────────────────────────────────────
|
|
27
27
|
/**
|
|
28
28
|
* Whether the orchestrator should ASK what to do when only a weak model is
|
|
29
|
-
* available.
|
|
30
|
-
*
|
|
29
|
+
* available.
|
|
30
|
+
*
|
|
31
|
+
* ASK-FIRST BY DEFAULT (the user's requirement: never a silent weak model).
|
|
32
|
+
* An explicit `routing.promptOnWeakModel: false` remains the opt-out, and
|
|
33
|
+
* `weakModelPolicy: 'auto-allow'` (the non-interactive fallback) also opts out
|
|
34
|
+
* so an unattended deployment is not forced to prompt. Any other value —
|
|
35
|
+
* including unset — asks.
|
|
36
|
+
*
|
|
37
|
+
* NOTE: the caller only reaches the prompt on an interactive TTY
|
|
38
|
+
* (`process.stdin.isTTY`), so a piped/CI/headless run is never blocked.
|
|
31
39
|
*/
|
|
32
40
|
export function shouldPromptWeakModel(config) {
|
|
33
|
-
|
|
41
|
+
const r = config.routing;
|
|
42
|
+
if (!r)
|
|
43
|
+
return true;
|
|
44
|
+
if (r.promptOnWeakModel === false)
|
|
45
|
+
return false;
|
|
46
|
+
if (r.promptOnWeakModel === true)
|
|
47
|
+
return true;
|
|
48
|
+
const policy = String(r.weakModelPolicy ?? '').trim().toLowerCase();
|
|
49
|
+
return policy !== 'auto-allow';
|
|
34
50
|
}
|
|
35
51
|
// ─── Prompt ─────────────────────────────────────────────────────────────────
|
|
36
52
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"weak-model-prompt.js","sourceRoot":"","sources":["../../src/cli/weak-model-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAY5C,+EAA+E;AAE/E
|
|
1
|
+
{"version":3,"file":"weak-model-prompt.js","sourceRoot":"","sources":["../../src/cli/weak-model-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAY5C,+EAA+E;AAE/E;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAA6B;IACjE,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;IACzB,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,IAAI,CAAC,CAAC,iBAAiB,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAChD,IAAI,CAAC,CAAC,iBAAiB,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACpE,OAAO,MAAM,KAAK,YAAY,CAAC;AACjC,CAAC;AAED,+EAA+E;AAE/E;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,cAAsB,EACtB,IAAgC;IAEhC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,MAAM,CAAC,IAAI,CACT,yCAAyC,cAAc,2BAA2B;QAChF,yCAAyC,CAC5C,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,MAAM,OAAO,GAAoD;QAC/D;YACE,IAAI,EAAE,0GAA0G;YAChH,KAAK,EAAE,UAAU;SAClB;KACF,CAAC;IACF,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,iDAAiD;YACvD,KAAK,EAAE,MAAM;SACd,CAAC,CAAC;IACL,CAAC;IACD,OAAO,CAAC,IAAI,CAAC;QACX,IAAI,EAAE,4EAA4E;QAClF,KAAK,EAAE,OAAO;KACf,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAA8B;QAChE;YACE,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,iEAAiE;YAC1E,MAAM,EAAE,IAAI;YACZ,OAAO;SACR;KACF,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,MAAM,CAAC,MAAM,CAAC;AACvB,CAAC"}
|
package/dist/config/types.d.ts
CHANGED
|
@@ -15,6 +15,14 @@ export type LocalRunner = 'ollama' | 'huggingface' | 'ggml';
|
|
|
15
15
|
*/
|
|
16
16
|
export interface ProviderConfig {
|
|
17
17
|
apiKey?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Whether this provider may be chosen by the router. `false` removes it from
|
|
20
|
+
* the auto-routing candidate pool (the dashboard's per-provider On/Off
|
|
21
|
+
* switch); absent means enabled. It does NOT delete credentials — a provider
|
|
22
|
+
* can be switched off and on without re-entering its key, and an explicit
|
|
23
|
+
* `--provider` pin still reaches it (a pin is a user decision, not routing).
|
|
24
|
+
*/
|
|
25
|
+
enabled?: boolean;
|
|
18
26
|
/**
|
|
19
27
|
* M2.3 multi-account rotation: ADDITIONAL API keys for the same provider
|
|
20
28
|
* (the primary stays in `apiKey`). When the failover runner hits a
|
|
@@ -465,6 +473,31 @@ export interface RoutingConfig {
|
|
|
465
473
|
* 'all'. See `src/config/work-digest.ts`.
|
|
466
474
|
*/
|
|
467
475
|
workDigest?: 'all' | 'max' | 'off';
|
|
476
|
+
/**
|
|
477
|
+
* Weak-model consent for surfaces that CANNOT ask (gateway channels,
|
|
478
|
+
* headless/CI). The explicit per-session ask is the primary mechanism on
|
|
479
|
+
* every interactive surface; this value only governs the non-interactive
|
|
480
|
+
* fallback. 'ask' (default) — never silently use a weak model: fail over to
|
|
481
|
+
* a capable one or abort honestly. 'auto-allow' — proceed on the weak model
|
|
482
|
+
* and record the verdict. 'deny' — never use a weak model. Set via
|
|
483
|
+
* `NUVIRA_WEAK_MODEL_POLICY` or this value. Resolution: env, then config,
|
|
484
|
+
* then 'ask'. See `src/learning/agentic-route-gate.ts`.
|
|
485
|
+
*/
|
|
486
|
+
weakModelPolicy?: 'ask' | 'auto-allow' | 'deny';
|
|
487
|
+
/**
|
|
488
|
+
* Outbound CONTEXT budget (chars): measurement thresholds + hard ceiling for
|
|
489
|
+
* the assembled prompt. Overrides `DEFAULT_CONTEXT_BUDGET` in
|
|
490
|
+
* `src/learning/context-budget.ts` per key. When the total exceeds the
|
|
491
|
+
* ceiling, optional contributors are dropped lowest-value-first (skill hint →
|
|
492
|
+
* work digest → recall → …); the identity/tool contract is never trimmed.
|
|
493
|
+
*/
|
|
494
|
+
promptBudget?: {
|
|
495
|
+
noteTotal?: number;
|
|
496
|
+
warnTotal?: number;
|
|
497
|
+
maxTotal?: number;
|
|
498
|
+
noteSystem?: number;
|
|
499
|
+
warnSystem?: number;
|
|
500
|
+
};
|
|
468
501
|
}
|
|
469
502
|
/**
|
|
470
503
|
* Full configuration schema for .nuviraconfig.json
|
|
@@ -587,6 +620,17 @@ export interface SkillsConfig {
|
|
|
587
620
|
* override (or the built-in default) is used.
|
|
588
621
|
*/
|
|
589
622
|
registries?: string[];
|
|
623
|
+
/**
|
|
624
|
+
* Which skill hint the chat/execute system prompt carries. See
|
|
625
|
+
* `resolveSkillHintMode` in `src/tools/loop-skill-hint.ts`.
|
|
626
|
+
* - `match` (DEFAULT) — the small keyword-matched hint: ONE skill, only when
|
|
627
|
+
* the goal actually matches, else nothing. 3.3.10 behaviour.
|
|
628
|
+
* - `catalog` — the full name+description catalog (opt-in; ~24K chars).
|
|
629
|
+
* - `names` — the catalog WITHOUT descriptions (names only; a fraction of
|
|
630
|
+
* `catalog`; the model can still load one by name).
|
|
631
|
+
* - `off` — never inject a skill hint.
|
|
632
|
+
*/
|
|
633
|
+
catalogHint?: string;
|
|
590
634
|
}
|
|
591
635
|
/**
|
|
592
636
|
* Modality configuration — backend selection for image generation (and, in
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"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"}
|
package/dist/context/cache.d.ts
CHANGED
|
@@ -1,3 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* #30 — the turn facts a caller may store with a cached answer, and read back on
|
|
3
|
+
* a hit. Only NON-flag facts live here on purpose: a flagged turn is not cached,
|
|
4
|
+
* so persisting a flag would be storing a state that can never legitimately be
|
|
5
|
+
* replayed.
|
|
6
|
+
*/
|
|
7
|
+
export interface ChatCacheFacts {
|
|
8
|
+
toolCalls?: string[];
|
|
9
|
+
successfulToolCalls?: string[];
|
|
10
|
+
bounded?: boolean;
|
|
11
|
+
}
|
|
12
|
+
/** A cache hit, with the answer plus the activity it recorded. */
|
|
13
|
+
export interface CacheHit {
|
|
14
|
+
response: string;
|
|
15
|
+
toolCalls?: string[];
|
|
16
|
+
successfulToolCalls?: string[];
|
|
17
|
+
bounded?: boolean;
|
|
18
|
+
}
|
|
1
19
|
/**
|
|
2
20
|
* One workspace's cached answers, as the dashboard lists them.
|
|
3
21
|
*
|
|
@@ -33,12 +51,28 @@ export declare class InferenceCache {
|
|
|
33
51
|
* Get cached response if available and not expired
|
|
34
52
|
*/
|
|
35
53
|
get(prompt: string, model: string, provider: string, scope?: string): Promise<string | null>;
|
|
54
|
+
/**
|
|
55
|
+
* #30 — the same lookup, but returning the turn ACTIVITY stored with the
|
|
56
|
+
* answer (tool calls, bounded) rather than only the text. A surface that
|
|
57
|
+
* replayed a cached answer used to hand back `{ content }` alone, so a repeated
|
|
58
|
+
* prompt rendered no tool cards while the first run did. `get()` is kept as the
|
|
59
|
+
* string-returning convenience for callers that only want the text (web
|
|
60
|
+
* research), so no existing call site changes.
|
|
61
|
+
*/
|
|
62
|
+
getEntry(prompt: string, model: string, provider: string, scope?: string): Promise<CacheHit | null>;
|
|
36
63
|
/**
|
|
37
64
|
* Store a response in the cache
|
|
65
|
+
*
|
|
66
|
+
* `facts` (#30) records the turn ACTIVITY on the entry so a replay can report
|
|
67
|
+
* it. Callers must NOT cache a turn that carries an honesty flag — that guard
|
|
68
|
+
* lives at the call site because only the caller sees the turn's flags (see
|
|
69
|
+
* `cli/chat.ts`).
|
|
38
70
|
*/
|
|
39
71
|
set(prompt: string, response: string, model: string, provider: string, ttl?: number,
|
|
40
72
|
/** The workspace this answer is about (see generateKey). */
|
|
41
|
-
scope?: string
|
|
73
|
+
scope?: string,
|
|
74
|
+
/** #30 — the turn activity to persist alongside the answer. */
|
|
75
|
+
facts?: ChatCacheFacts): Promise<void>;
|
|
42
76
|
/**
|
|
43
77
|
* Every workspace with cached answers, largest first.
|
|
44
78
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/context/cache.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/context/cache.ts"],"names":[],"mappings":"AA0DA;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,kEAAkE;AAClE,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAUD;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAqB;IACpC,0EAA0E;IAC1E,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,wDAAwD;IACxD,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,wDAAwD;IACxD,OAAO,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjF;AAuDD;;;GAGG;AACH,qBAAa,cAAc;IACzB;;OAEG;IACG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAKlG;;;;;;;OAOG;IACG,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IAuBzG;;;;;;;OAOG;IACG,GAAG,CACP,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,GAAG,GAAE,MAAa;IAClB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM;IACd,+DAA+D;IAC/D,KAAK,CAAC,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC;IAuBhB;;;;;OAKG;IACG,eAAe,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAqCzD;;;;;;;OAOG;IACG,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;IAc3D;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;CAa7E;AAKD,wBAAgB,QAAQ,IAAI,cAAc,CAKzC"}
|