agent-nuvira 3.4.0 → 3.5.0
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/dist/agent-sdk/src/register.d.ts +23 -7
- package/dist/agent-sdk/src/register.d.ts.map +1 -1
- package/dist/agent-sdk/src/register.js +159 -5
- package/dist/agent-sdk/src/register.js.map +1 -1
- package/dist/agent-sdk/src/scaffold.d.ts +1 -1
- package/dist/agent-sdk/src/scaffold.js +1 -1
- package/dist/cli/agent.d.ts.map +1 -1
- package/dist/cli/agent.js +16 -3
- package/dist/cli/agent.js.map +1 -1
- package/dist/cli/chat.d.ts +85 -0
- package/dist/cli/chat.d.ts.map +1 -1
- package/dist/cli/chat.js +462 -15
- package/dist/cli/chat.js.map +1 -1
- package/dist/cli/config.d.ts +10 -0
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +39 -0
- package/dist/cli/config.js.map +1 -1
- package/dist/cli/doctor.d.ts.map +1 -1
- package/dist/cli/doctor.js +18 -3
- package/dist/cli/doctor.js.map +1 -1
- package/dist/cli/mcp.d.ts +50 -0
- package/dist/cli/mcp.d.ts.map +1 -1
- package/dist/cli/mcp.js +496 -49
- package/dist/cli/mcp.js.map +1 -1
- package/dist/cli/memory.d.ts.map +1 -1
- package/dist/cli/memory.js +3 -2
- package/dist/cli/memory.js.map +1 -1
- package/dist/cli/plugins.d.ts.map +1 -1
- package/dist/cli/plugins.js +26 -9
- package/dist/cli/plugins.js.map +1 -1
- package/dist/cli/sdk.d.ts.map +1 -1
- package/dist/cli/sdk.js +10 -3
- package/dist/cli/sdk.js.map +1 -1
- package/dist/cli/tool-install-prompt.d.ts.map +1 -1
- package/dist/cli/tool-install-prompt.js +23 -1
- package/dist/cli/tool-install-prompt.js.map +1 -1
- package/dist/cli/tools.d.ts +16 -0
- package/dist/cli/tools.d.ts.map +1 -1
- package/dist/cli/tools.js +101 -1
- package/dist/cli/tools.js.map +1 -1
- package/dist/config/manager.d.ts +6 -0
- package/dist/config/manager.d.ts.map +1 -1
- package/dist/config/manager.js +66 -0
- package/dist/config/manager.js.map +1 -1
- package/dist/config/types.d.ts +18 -0
- package/dist/config/types.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/learning/exhaustion-report.d.ts +12 -0
- package/dist/learning/exhaustion-report.d.ts.map +1 -1
- package/dist/learning/exhaustion-report.js +3 -1
- package/dist/learning/exhaustion-report.js.map +1 -1
- package/dist/learning/model-capability.d.ts +33 -0
- package/dist/learning/model-capability.d.ts.map +1 -1
- package/dist/learning/model-capability.js +51 -0
- package/dist/learning/model-capability.js.map +1 -1
- package/dist/learning/model-first-router.d.ts +7 -22
- package/dist/learning/model-first-router.d.ts.map +1 -1
- package/dist/learning/model-first-router.js +7 -37
- package/dist/learning/model-first-router.js.map +1 -1
- package/dist/learning/model-selection.d.ts +27 -0
- package/dist/learning/model-selection.d.ts.map +1 -1
- package/dist/learning/model-selection.js +46 -0
- package/dist/learning/model-selection.js.map +1 -1
- package/dist/learning/reasoning-trace.d.ts +1 -1
- package/dist/learning/reasoning-trace.d.ts.map +1 -1
- package/dist/learning/reasoning-trace.js.map +1 -1
- package/dist/learning/resilient-call.d.ts +15 -1
- package/dist/learning/resilient-call.d.ts.map +1 -1
- package/dist/learning/resilient-call.js +38 -22
- package/dist/learning/resilient-call.js.map +1 -1
- package/dist/learning/working-state.d.ts +7 -0
- package/dist/learning/working-state.d.ts.map +1 -1
- package/dist/learning/working-state.js +23 -1
- package/dist/learning/working-state.js.map +1 -1
- package/dist/mcp/catalog.d.ts +206 -26
- package/dist/mcp/catalog.d.ts.map +1 -1
- package/dist/mcp/catalog.js +664 -52
- package/dist/mcp/catalog.js.map +1 -1
- package/dist/mcp/client.d.ts +6 -0
- package/dist/mcp/client.d.ts.map +1 -1
- package/dist/mcp/client.js +35 -5
- package/dist/mcp/client.js.map +1 -1
- package/dist/mcp/custom-server.d.ts +120 -0
- package/dist/mcp/custom-server.d.ts.map +1 -0
- package/dist/mcp/custom-server.js +330 -0
- package/dist/mcp/custom-server.js.map +1 -0
- package/dist/mcp/manager.d.ts +9 -1
- package/dist/mcp/manager.d.ts.map +1 -1
- package/dist/mcp/manager.js +15 -2
- package/dist/mcp/manager.js.map +1 -1
- package/dist/mcp/mcp-oauth.d.ts +28 -0
- package/dist/mcp/mcp-oauth.d.ts.map +1 -1
- package/dist/mcp/mcp-oauth.js +63 -8
- package/dist/mcp/mcp-oauth.js.map +1 -1
- package/dist/mcp/oauth-authorize.d.ts +51 -0
- package/dist/mcp/oauth-authorize.d.ts.map +1 -0
- package/dist/mcp/oauth-authorize.js +133 -0
- package/dist/mcp/oauth-authorize.js.map +1 -0
- package/dist/mcp/oauth-connect.d.ts +53 -0
- package/dist/mcp/oauth-connect.d.ts.map +1 -0
- package/dist/mcp/oauth-connect.js +103 -0
- package/dist/mcp/oauth-connect.js.map +1 -0
- package/dist/mcp/pin-verifier.d.ts +44 -0
- package/dist/mcp/pin-verifier.d.ts.map +1 -0
- package/dist/mcp/pin-verifier.js +102 -0
- package/dist/mcp/pin-verifier.js.map +1 -0
- package/dist/mcp/prereqs.d.ts +145 -0
- package/dist/mcp/prereqs.d.ts.map +1 -0
- package/dist/mcp/prereqs.js +245 -0
- package/dist/mcp/prereqs.js.map +1 -0
- package/dist/mcp/runtime.d.ts +59 -0
- package/dist/mcp/runtime.d.ts.map +1 -0
- package/dist/mcp/runtime.js +77 -0
- package/dist/mcp/runtime.js.map +1 -0
- package/dist/mcp/server.d.ts +21 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +29 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/settings.d.ts +164 -0
- package/dist/mcp/settings.d.ts.map +1 -0
- package/dist/mcp/settings.js +358 -0
- package/dist/mcp/settings.js.map +1 -0
- package/dist/mcp/types.d.ts +62 -0
- package/dist/mcp/types.d.ts.map +1 -1
- package/dist/mcp/types.js.map +1 -1
- package/dist/memory/vector-store.d.ts +12 -0
- package/dist/memory/vector-store.d.ts.map +1 -1
- package/dist/memory/vector-store.js +23 -0
- package/dist/memory/vector-store.js.map +1 -1
- package/dist/plugins/agent-plugin.d.ts +35 -0
- package/dist/plugins/agent-plugin.d.ts.map +1 -1
- package/dist/plugins/agent-plugin.js +142 -24
- package/dist/plugins/agent-plugin.js.map +1 -1
- package/dist/sandbox/manager.d.ts +12 -0
- package/dist/sandbox/manager.d.ts.map +1 -1
- package/dist/sandbox/manager.js +43 -2
- package/dist/sandbox/manager.js.map +1 -1
- package/dist/tools/modality/browser.d.ts +39 -3
- package/dist/tools/modality/browser.d.ts.map +1 -1
- package/dist/tools/modality/browser.js +113 -16
- package/dist/tools/modality/browser.js.map +1 -1
- package/dist/tools/optional-deps.d.ts +48 -0
- package/dist/tools/optional-deps.d.ts.map +1 -0
- package/dist/tools/optional-deps.js +42 -0
- package/dist/tools/optional-deps.js.map +1 -0
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +68 -11
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/remediation-ladder.d.ts.map +1 -1
- package/dist/tools/remediation-ladder.js +9 -1
- package/dist/tools/remediation-ladder.js.map +1 -1
- package/dist/tools/tool-loop.d.ts.map +1 -1
- package/dist/tools/tool-loop.js +57 -5
- package/dist/tools/tool-loop.js.map +1 -1
- package/dist/web-dashboard/chat-retry.d.ts +11 -1
- package/dist/web-dashboard/chat-retry.d.ts.map +1 -1
- package/dist/web-dashboard/chat-retry.js +18 -4
- package/dist/web-dashboard/chat-retry.js.map +1 -1
- package/dist/web-dashboard/server.d.ts.map +1 -1
- package/dist/web-dashboard/server.js +349 -2
- package/dist/web-dashboard/server.js.map +1 -1
- package/package.json +3 -2
- package/src/web-dashboard/public/assets/{index-DeD3L0kG.js → index-yky0dw5e.js} +115 -89
- package/src/web-dashboard/public/assets/index-yky0dw5e.js.map +1 -0
- package/src/web-dashboard/public/index.html +1 -1
- package/src/web-dashboard/public/assets/index-DeD3L0kG.js.map +0 -1
package/dist/mcp/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mcp/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mcp/types.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/mcp/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/mcp/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA0RH,+EAA+E;AAE/E,gEAAgE;AAChE,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAC;AAE5C,uCAAuC;AACvC,MAAM,CAAC,MAAM,oBAAoB,GAAG,YAAY,CAAC"}
|
|
@@ -151,6 +151,18 @@ export declare class VectorStore {
|
|
|
151
151
|
};
|
|
152
152
|
}
|
|
153
153
|
export declare function getVectorStore(namespace?: string, backend?: VectorStoreBackend): VectorStore;
|
|
154
|
+
/**
|
|
155
|
+
* The active backend, in the words a user needs — ONE source for the phrase.
|
|
156
|
+
*
|
|
157
|
+
* `nuvira memory stats`, the dashboard and the MCP memory surface all describe
|
|
158
|
+
* the same three tiers, and they used to each carry their own inline ternary
|
|
159
|
+
* mapping `faiss-native` / `faiss-ivf` / `json` to prose. Three copies means a
|
|
160
|
+
* fourth backend (or a rename) reaches two of them. The distinction is not
|
|
161
|
+
* cosmetic: it tells a user whether semantic recall is real FAISS, the pure-JS
|
|
162
|
+
* IVF approximation, or an exact scan — which is what decides whether a larger
|
|
163
|
+
* store is fast.
|
|
164
|
+
*/
|
|
165
|
+
export declare function describeBackendTier(name: string): string;
|
|
154
166
|
/**
|
|
155
167
|
* Force a backend type for tests (`'json' | 'faiss' | 'auto'`).
|
|
156
168
|
* Also honored via the `BUFF_VECTOR_BACKEND` env var.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vector-store.d.ts","sourceRoot":"","sources":["../../src/memory/vector-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vector-store.d.ts","sourceRoot":"","sources":["../../src/memory/vector-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -376,6 +376,29 @@ export function getVectorStore(namespace = 'default', backend) {
|
|
|
376
376
|
}
|
|
377
377
|
return store;
|
|
378
378
|
}
|
|
379
|
+
/**
|
|
380
|
+
* The active backend, in the words a user needs — ONE source for the phrase.
|
|
381
|
+
*
|
|
382
|
+
* `nuvira memory stats`, the dashboard and the MCP memory surface all describe
|
|
383
|
+
* the same three tiers, and they used to each carry their own inline ternary
|
|
384
|
+
* mapping `faiss-native` / `faiss-ivf` / `json` to prose. Three copies means a
|
|
385
|
+
* fourth backend (or a rename) reaches two of them. The distinction is not
|
|
386
|
+
* cosmetic: it tells a user whether semantic recall is real FAISS, the pure-JS
|
|
387
|
+
* IVF approximation, or an exact scan — which is what decides whether a larger
|
|
388
|
+
* store is fast.
|
|
389
|
+
*/
|
|
390
|
+
export function describeBackendTier(name) {
|
|
391
|
+
switch (name) {
|
|
392
|
+
case 'faiss-native':
|
|
393
|
+
return 'native FAISS';
|
|
394
|
+
case 'faiss-ivf':
|
|
395
|
+
return 'FAISS-style IVF-flat ANN (pure JS) — native FAISS is not installed';
|
|
396
|
+
case 'json':
|
|
397
|
+
return 'exact flat cosine scan (no ANN index)';
|
|
398
|
+
default:
|
|
399
|
+
return name || 'unknown';
|
|
400
|
+
}
|
|
401
|
+
}
|
|
379
402
|
// ─── Test / diagnostics hooks ───────────────────────────────────────────────
|
|
380
403
|
/**
|
|
381
404
|
* Force a backend type for tests (`'json' | 'faiss' | 'auto'`).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vector-store.js","sourceRoot":"","sources":["../../src/memory/vector-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vector-store.js","sourceRoot":"","sources":["../../src/memory/vector-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
* - Defines a sequence of agent steps as a reusable workflow template
|
|
18
18
|
*/
|
|
19
19
|
import type { AgentContext, AgentResult } from '../agents/agent.js';
|
|
20
|
+
import type { ModuleRegistry } from '../agents/module-registry.js';
|
|
20
21
|
import type { WorkflowTemplate } from '../workflow/templates.js';
|
|
21
22
|
export interface AgentPluginMetadata {
|
|
22
23
|
name: string;
|
|
@@ -30,6 +31,17 @@ export interface AgentPlugin {
|
|
|
30
31
|
metadata: AgentPluginMetadata;
|
|
31
32
|
execute(context: AgentContext, callLLM: (prompt: string) => Promise<string>): Promise<AgentResult>;
|
|
32
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* The three resolved directories, for the surfaces that have to NAME them.
|
|
36
|
+
*
|
|
37
|
+
* `nuvira plugins list` printed a hard-coded `~/.nuvira/…` while reading wherever
|
|
38
|
+
* the override pointed — the output would name a directory it never looked in.
|
|
39
|
+
*/
|
|
40
|
+
export declare function pluginDirectories(): {
|
|
41
|
+
provider: string;
|
|
42
|
+
agents: string;
|
|
43
|
+
workflows: string;
|
|
44
|
+
};
|
|
33
45
|
/**
|
|
34
46
|
* Scan ~/.nuvira/plugins/ for provider plugin .js files and register them
|
|
35
47
|
* with the global PluginRegistry.
|
|
@@ -41,6 +53,25 @@ export interface AgentPlugin {
|
|
|
41
53
|
* Returns the number of successfully loaded provider plugins.
|
|
42
54
|
*/
|
|
43
55
|
export declare function discoverProviderPlugins(): Promise<number>;
|
|
56
|
+
/** Result of wiring discovered plugins into the module registry. */
|
|
57
|
+
export interface InstallAgentPluginsResult {
|
|
58
|
+
/** Agent types now resolvable by a plan step. */
|
|
59
|
+
registered: string[];
|
|
60
|
+
/** Agent types that replaced a BUILT-IN agent (reported, never silent). */
|
|
61
|
+
shadowed: string[];
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Register discovered agent plugins with the ModuleRegistry so a plan step whose
|
|
65
|
+
* `agentType` matches can actually execute them.
|
|
66
|
+
*
|
|
67
|
+
* This is the step that makes plugin agents real. Discovery alone only produced
|
|
68
|
+
* a map that nobody read: `nuvira plugins list` showed the file while the
|
|
69
|
+
* orchestrator, which resolves agents through the ModuleRegistry, had no idea it
|
|
70
|
+
* existed — a plugin that lists as installed and does nothing when planned. A
|
|
71
|
+
* plugin may deliberately REPLACE a built-in type (that is its own feature);
|
|
72
|
+
* `shadowed` reports each one so the override is visible.
|
|
73
|
+
*/
|
|
74
|
+
export declare function installAgentPlugins(plugins: Map<string, AgentPlugin>, registry?: ModuleRegistry): InstallAgentPluginsResult;
|
|
44
75
|
/**
|
|
45
76
|
* Scan ~/.nuvira/agents/ for plugin .js files and load them.
|
|
46
77
|
* Returns a map of agent type → AgentPlugin.
|
|
@@ -68,6 +99,10 @@ export declare function getPluginStats(): {
|
|
|
68
99
|
export declare function runAutoDiscovery(): Promise<{
|
|
69
100
|
providerPlugins: number;
|
|
70
101
|
agentPlugins: number;
|
|
102
|
+
/** Agent types the plugins registered into the module registry. */
|
|
103
|
+
agentTypes: string[];
|
|
104
|
+
/** Of those, the ones that replaced a built-in agent type. */
|
|
105
|
+
shadowedAgentTypes: string[];
|
|
71
106
|
workflowPlugins: number;
|
|
72
107
|
}>;
|
|
73
108
|
//# sourceMappingURL=agent-plugin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-plugin.d.ts","sourceRoot":"","sources":["../../src/plugins/agent-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAOH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"agent-plugin.d.ts","sourceRoot":"","sources":["../../src/plugins/agent-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAOH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAa,MAAM,oBAAoB,CAAC;AAE/E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAQjE,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8EAA8E;IAC9E,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;CACpG;AA+BD;;;;;GAKG;AACH,wBAAgB,iBAAiB,IAAI;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAE3F;AA+BD;;;;;;;;;GASG;AACH,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC,CAiC/D;AAgCD,oEAAoE;AACpE,MAAM,WAAW,yBAAyB;IACxC,iDAAiD;IACjD,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EACjC,QAAQ,GAAE,cAAoC,GAC7C,yBAAyB,CAyB3B;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAiC9E;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,gBAAgB,EAAE,CAkC5D;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CA0B3G;AAID;;;;;GAKG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC;IAChD,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,mEAAmE;IACnE,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,8DAA8D;IAC9D,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC,CAeD"}
|
|
@@ -16,19 +16,52 @@
|
|
|
16
16
|
* - Any .yaml, .yml, or .json file in ~/.nuvira/workflows/
|
|
17
17
|
* - Defines a sequence of agent steps as a reusable workflow template
|
|
18
18
|
*/
|
|
19
|
-
import { readdirSync, existsSync, mkdirSync, readFileSync } from 'node:fs';
|
|
19
|
+
import { readdirSync, existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
20
20
|
import { join } from 'node:path';
|
|
21
|
-
import {
|
|
21
|
+
import { resolveNuviraDataPath } from '../config/paths.js';
|
|
22
|
+
import { Agent } from '../agents/agent.js';
|
|
23
|
+
import { getModuleRegistry } from '../agents/module-registry.js';
|
|
22
24
|
import { isValidWorkflowTemplate } from '../workflow/templates.js';
|
|
23
25
|
import { getPluginRegistry } from './registry.js';
|
|
24
26
|
import { logger } from '../utils/logger.js';
|
|
25
27
|
// ─── Paths ──────────────────────────────────────────────────────────────────
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
/**
|
|
29
|
+
* The three plugin directories, resolved PER CALL through `resolveNuviraDataPath`.
|
|
30
|
+
*
|
|
31
|
+
* WHY NOT CONSTANTS. They were module-level, built from `resolveNuviraHome()` —
|
|
32
|
+
* which always answers `~/.nuvira` and ignores `$NUVIRA_CONFIG_DIR`, the exact
|
|
33
|
+
* reach the note on that helper warns about. Measured (2026-10-12): a boot from an
|
|
34
|
+
* isolated run created `package.json` markers in the DEVELOPER'S real
|
|
35
|
+
* `~/.nuvira/agents/` and `~/.nuvira/plugins/`, and "drop a .js file into
|
|
36
|
+
* ~/.nuvira/agents/ and it loads" could only ever be exercised against the machine
|
|
37
|
+
* it ran on — which is how discovery came to build a map nobody read (see
|
|
38
|
+
* `installAgentPlugins`) without a test noticing.
|
|
39
|
+
*
|
|
40
|
+
* Resolving per call fixes both halves: `$NUVIRA_CONFIG_DIR` / `$BUFF_CONFIG_DIR`
|
|
41
|
+
* are honoured even when set after this module is imported, and the discovery path
|
|
42
|
+
* is testable against a temp profile. With no override set the paths are unchanged
|
|
43
|
+
* (`~/.nuvira/<dir>`), so nothing an existing install wrote moves.
|
|
44
|
+
*/
|
|
45
|
+
function pluginsDir() {
|
|
46
|
+
return resolveNuviraDataPath('plugins');
|
|
47
|
+
}
|
|
48
|
+
function agentsDir() {
|
|
49
|
+
return resolveNuviraDataPath('agents');
|
|
50
|
+
}
|
|
51
|
+
function workflowsDir() {
|
|
52
|
+
return resolveNuviraDataPath('workflows');
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* The three resolved directories, for the surfaces that have to NAME them.
|
|
56
|
+
*
|
|
57
|
+
* `nuvira plugins list` printed a hard-coded `~/.nuvira/…` while reading wherever
|
|
58
|
+
* the override pointed — the output would name a directory it never looked in.
|
|
59
|
+
*/
|
|
60
|
+
export function pluginDirectories() {
|
|
61
|
+
return { provider: pluginsDir(), agents: agentsDir(), workflows: workflowsDir() };
|
|
62
|
+
}
|
|
30
63
|
function ensureDirectories() {
|
|
31
|
-
for (const dir of [
|
|
64
|
+
for (const dir of [pluginsDir(), agentsDir(), workflowsDir()]) {
|
|
32
65
|
if (!existsSync(dir)) {
|
|
33
66
|
try {
|
|
34
67
|
mkdirSync(dir, { recursive: true });
|
|
@@ -36,6 +69,27 @@ function ensureDirectories() {
|
|
|
36
69
|
catch { /* best-effort */ }
|
|
37
70
|
}
|
|
38
71
|
}
|
|
72
|
+
// The loader uses `import()` and reads `export default`, so these directories
|
|
73
|
+
// hold ES modules. Without a package.json declaring that, Node treats each .js
|
|
74
|
+
// as CommonJS, fails to parse it, re-parses it as ESM, and prints a
|
|
75
|
+
// MODULE_TYPELESS_PACKAGE_JSON warning on every boot for every plugin.
|
|
76
|
+
//
|
|
77
|
+
// Only written while the directory holds no plugin yet: adding the marker
|
|
78
|
+
// changes how EXISTING .js files in there are interpreted, and silently
|
|
79
|
+
// switching a user's working CommonJS plugin to ESM (where `module.exports`
|
|
80
|
+
// throws) would be a worse trade than a warning.
|
|
81
|
+
for (const dir of [pluginsDir(), agentsDir()]) {
|
|
82
|
+
const marker = join(dir, 'package.json');
|
|
83
|
+
try {
|
|
84
|
+
if (existsSync(marker) || !existsSync(dir))
|
|
85
|
+
continue;
|
|
86
|
+
const files = readdirSync(dir).filter((f) => f.endsWith('.js'));
|
|
87
|
+
if (files.length > 0)
|
|
88
|
+
continue;
|
|
89
|
+
writeFileSync(marker, JSON.stringify({ type: 'module' }, null, 2) + '\n', 'utf-8');
|
|
90
|
+
}
|
|
91
|
+
catch { /* best-effort: a plugin dir that cannot be written still loads .js */ }
|
|
92
|
+
}
|
|
39
93
|
}
|
|
40
94
|
// ─── Auto-Discovery ─────────────────────────────────────────────────────────
|
|
41
95
|
/**
|
|
@@ -52,10 +106,10 @@ export async function discoverProviderPlugins() {
|
|
|
52
106
|
ensureDirectories();
|
|
53
107
|
let loaded = 0;
|
|
54
108
|
try {
|
|
55
|
-
const files = readdirSync(
|
|
109
|
+
const files = readdirSync(pluginsDir()).filter((f) => f.endsWith('.js'));
|
|
56
110
|
for (const file of files) {
|
|
57
111
|
try {
|
|
58
|
-
const pluginPath = join(
|
|
112
|
+
const pluginPath = join(pluginsDir(), file);
|
|
59
113
|
// Dynamic import for ESM compatibility
|
|
60
114
|
const mod = await import(pluginPath);
|
|
61
115
|
if (!mod.default || !mod.default.metadata || !mod.default.getProviderType) {
|
|
@@ -75,10 +129,70 @@ export async function discoverProviderPlugins() {
|
|
|
75
129
|
}
|
|
76
130
|
}
|
|
77
131
|
catch (err) {
|
|
78
|
-
logger.debug(`Failed to scan ${
|
|
132
|
+
logger.debug(`Failed to scan ${pluginsDir()}: ${err}`);
|
|
79
133
|
}
|
|
80
134
|
return loaded;
|
|
81
135
|
}
|
|
136
|
+
/**
|
|
137
|
+
* Wrap a plain-object {@link AgentPlugin} in the {@link Agent} class the
|
|
138
|
+
* ModuleRegistry hands out.
|
|
139
|
+
*
|
|
140
|
+
* WHY AN ADAPTER rather than widening the registry: the registry's contract is a
|
|
141
|
+
* no-arg factory returning an `Agent`, and the orchestrator calls
|
|
142
|
+
* `validate`/`execute`/`cleanup` on what it gets back. A plugin author should not
|
|
143
|
+
* have to import the harness's base class (or even the harness) to ship an agent
|
|
144
|
+
* — they export `{ metadata, execute }` and this makes it fit.
|
|
145
|
+
*/
|
|
146
|
+
class PluginAgent extends Agent {
|
|
147
|
+
name;
|
|
148
|
+
description;
|
|
149
|
+
plugin;
|
|
150
|
+
constructor(plugin) {
|
|
151
|
+
super();
|
|
152
|
+
this.plugin = plugin;
|
|
153
|
+
this.name = plugin.metadata.name;
|
|
154
|
+
this.description = plugin.metadata.description;
|
|
155
|
+
}
|
|
156
|
+
execute(context, callLLM) {
|
|
157
|
+
// The plugin's `callLLM` is the same function with a narrower signature
|
|
158
|
+
// (prompt only), which is assignable — options the plugin ignores are still
|
|
159
|
+
// passed so a plugin that later accepts them keeps working.
|
|
160
|
+
return this.plugin.execute(context, callLLM);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Register discovered agent plugins with the ModuleRegistry so a plan step whose
|
|
165
|
+
* `agentType` matches can actually execute them.
|
|
166
|
+
*
|
|
167
|
+
* This is the step that makes plugin agents real. Discovery alone only produced
|
|
168
|
+
* a map that nobody read: `nuvira plugins list` showed the file while the
|
|
169
|
+
* orchestrator, which resolves agents through the ModuleRegistry, had no idea it
|
|
170
|
+
* existed — a plugin that lists as installed and does nothing when planned. A
|
|
171
|
+
* plugin may deliberately REPLACE a built-in type (that is its own feature);
|
|
172
|
+
* `shadowed` reports each one so the override is visible.
|
|
173
|
+
*/
|
|
174
|
+
export function installAgentPlugins(plugins, registry = getModuleRegistry()) {
|
|
175
|
+
const registered = [];
|
|
176
|
+
const shadowed = [];
|
|
177
|
+
for (const [agentType, plugin] of plugins) {
|
|
178
|
+
const existing = registry.getMetadata(agentType);
|
|
179
|
+
if (existing?.isBuiltin)
|
|
180
|
+
shadowed.push(agentType);
|
|
181
|
+
registry.registerOrOverride(agentType, () => new PluginAgent(plugin), {
|
|
182
|
+
name: plugin.metadata.name,
|
|
183
|
+
description: plugin.metadata.description,
|
|
184
|
+
// Plugin metadata has no icon field — the orchestrator's spinner needs
|
|
185
|
+
// one, so every plugin agent gets the puzzle piece rather than `undefined`.
|
|
186
|
+
icon: '🧩',
|
|
187
|
+
isBuiltin: false,
|
|
188
|
+
});
|
|
189
|
+
registered.push(agentType);
|
|
190
|
+
}
|
|
191
|
+
for (const agentType of shadowed) {
|
|
192
|
+
logger.warn(` ⚠️ agent plugin overrides the built-in '${agentType}' — the plugin runs whenever a plan step asks for it.`);
|
|
193
|
+
}
|
|
194
|
+
return { registered, shadowed };
|
|
195
|
+
}
|
|
82
196
|
/**
|
|
83
197
|
* Scan ~/.nuvira/agents/ for plugin .js files and load them.
|
|
84
198
|
* Returns a map of agent type → AgentPlugin.
|
|
@@ -87,10 +201,10 @@ export async function discoverAgentPlugins() {
|
|
|
87
201
|
const plugins = new Map();
|
|
88
202
|
ensureDirectories();
|
|
89
203
|
try {
|
|
90
|
-
const files = readdirSync(
|
|
204
|
+
const files = readdirSync(agentsDir()).filter((f) => f.endsWith('.js'));
|
|
91
205
|
for (const file of files) {
|
|
92
206
|
try {
|
|
93
|
-
const pluginPath = join(
|
|
207
|
+
const pluginPath = join(agentsDir(), file);
|
|
94
208
|
// Dynamic import for ESM compatibility
|
|
95
209
|
const plugin = await import(pluginPath);
|
|
96
210
|
if (!plugin.default || !plugin.default.metadata) {
|
|
@@ -109,7 +223,7 @@ export async function discoverAgentPlugins() {
|
|
|
109
223
|
}
|
|
110
224
|
}
|
|
111
225
|
catch (err) {
|
|
112
|
-
logger.debug(`Failed to scan ${
|
|
226
|
+
logger.debug(`Failed to scan ${agentsDir()}: ${err}`);
|
|
113
227
|
}
|
|
114
228
|
return plugins;
|
|
115
229
|
}
|
|
@@ -121,10 +235,10 @@ export function discoverWorkflowPlugins() {
|
|
|
121
235
|
const workflows = [];
|
|
122
236
|
ensureDirectories();
|
|
123
237
|
try {
|
|
124
|
-
const files = readdirSync(
|
|
238
|
+
const files = readdirSync(workflowsDir()).filter((f) => f.endsWith('.json') || f.endsWith('.yaml') || f.endsWith('.yml'));
|
|
125
239
|
for (const file of files) {
|
|
126
240
|
try {
|
|
127
|
-
const filePath = join(
|
|
241
|
+
const filePath = join(workflowsDir(), file);
|
|
128
242
|
const content = readFileSync(filePath, 'utf-8');
|
|
129
243
|
if (file.endsWith('.json')) {
|
|
130
244
|
const parsed = JSON.parse(content);
|
|
@@ -144,7 +258,7 @@ export function discoverWorkflowPlugins() {
|
|
|
144
258
|
}
|
|
145
259
|
}
|
|
146
260
|
catch (err) {
|
|
147
|
-
logger.debug(`Failed to scan ${
|
|
261
|
+
logger.debug(`Failed to scan ${workflowsDir()}: ${err}`);
|
|
148
262
|
}
|
|
149
263
|
return workflows;
|
|
150
264
|
}
|
|
@@ -156,20 +270,20 @@ export function getPluginStats() {
|
|
|
156
270
|
let agentPlugins = 0;
|
|
157
271
|
let workflowPlugins = 0;
|
|
158
272
|
try {
|
|
159
|
-
if (existsSync(
|
|
160
|
-
providerPlugins = readdirSync(
|
|
273
|
+
if (existsSync(pluginsDir())) {
|
|
274
|
+
providerPlugins = readdirSync(pluginsDir()).filter((f) => f.endsWith('.js')).length;
|
|
161
275
|
}
|
|
162
276
|
}
|
|
163
277
|
catch { /* */ }
|
|
164
278
|
try {
|
|
165
|
-
if (existsSync(
|
|
166
|
-
agentPlugins = readdirSync(
|
|
279
|
+
if (existsSync(agentsDir())) {
|
|
280
|
+
agentPlugins = readdirSync(agentsDir()).filter((f) => f.endsWith('.js')).length;
|
|
167
281
|
}
|
|
168
282
|
}
|
|
169
283
|
catch { /* */ }
|
|
170
284
|
try {
|
|
171
|
-
if (existsSync(
|
|
172
|
-
workflowPlugins = readdirSync(
|
|
285
|
+
if (existsSync(workflowsDir())) {
|
|
286
|
+
workflowPlugins = readdirSync(workflowsDir()).filter((f) => f.endsWith('.json') || f.endsWith('.yaml') || f.endsWith('.yml')).length;
|
|
173
287
|
}
|
|
174
288
|
}
|
|
175
289
|
catch { /* */ }
|
|
@@ -183,13 +297,17 @@ export function getPluginStats() {
|
|
|
183
297
|
* @returns Summary of discovered plugins
|
|
184
298
|
*/
|
|
185
299
|
export async function runAutoDiscovery() {
|
|
186
|
-
|
|
187
|
-
await discoverAgentPlugins();
|
|
300
|
+
await discoverProviderPlugins();
|
|
301
|
+
const agentPlugins = await discoverAgentPlugins();
|
|
302
|
+
// Register them, or the discovery above is decoration (see installAgentPlugins).
|
|
303
|
+
const installed = installAgentPlugins(agentPlugins);
|
|
188
304
|
const workflowPlugins = discoverWorkflowPlugins();
|
|
189
305
|
const stats = getPluginStats();
|
|
190
306
|
return {
|
|
191
307
|
providerPlugins: stats.providerPlugins,
|
|
192
308
|
agentPlugins: stats.agentPlugins,
|
|
309
|
+
agentTypes: installed.registered,
|
|
310
|
+
shadowedAgentTypes: installed.shadowed,
|
|
193
311
|
workflowPlugins: stats.workflowPlugins,
|
|
194
312
|
};
|
|
195
313
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-plugin.js","sourceRoot":"","sources":["../../src/plugins/agent-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-plugin.js","sourceRoot":"","sources":["../../src/plugins/agent-plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,8 +45,20 @@ export declare class SandboxManager {
|
|
|
45
45
|
/**
|
|
46
46
|
* Check if Docker is installed and the daemon is running.
|
|
47
47
|
* Caches the result so repeated calls are instant.
|
|
48
|
+
*
|
|
49
|
+
* TWO DIFFERENT FAILURES, TWO DIFFERENT MESSAGES (2026-10-12). This used to
|
|
50
|
+
* report both as "Docker is not available … Is Docker installed and running?",
|
|
51
|
+
* which is what a user with Docker 29.7 installed and the daemon stopped saw —
|
|
52
|
+
* the message sent them to INSTALL something they already had. The binary and
|
|
53
|
+
* the daemon are now checked separately: absent means install it (and says
|
|
54
|
+
* where we looked), present-but-unreachable means start it (and quotes the
|
|
55
|
+
* daemon's own error, plus the path and version so the finding is falsifiable).
|
|
48
56
|
*/
|
|
49
57
|
isDockerAvailable(): Promise<boolean>;
|
|
58
|
+
/** Best-effort `docker --version` → the bare version string ('' when unknown). */
|
|
59
|
+
private dockerVersion;
|
|
60
|
+
/** The last non-empty line of a tool's stderr — its actual complaint. */
|
|
61
|
+
private firstLine;
|
|
50
62
|
/**
|
|
51
63
|
* Get the error message from the last Docker availability check.
|
|
52
64
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/sandbox/manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/sandbox/manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAWH,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EAChB,MAAM,YAAY,CAAC;AAkBpB,qBAAa,cAAc;IAUb,OAAO,CAAC,MAAM;IAT1B,0DAA0D;IAC1D,OAAO,CAAC,UAAU,CAA4C;IAC9D,mDAAmD;IACnD,OAAO,CAAC,aAAa,CAAS;IAC9B,iDAAiD;IACjD,OAAO,CAAC,eAAe,CAAS;IAChC,6CAA6C;IAC7C,OAAO,CAAC,WAAW,CAAM;gBAEL,MAAM,GAAE,aAAkC;IAI9D;;;;;;;;;;;OAWG;IACG,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IA+B3C,kFAAkF;YACpE,aAAa;IAU3B,yEAAyE;IACzE,OAAO,CAAC,SAAS;IAKjB;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAMxB;;;;;;;OAOG;IACG,eAAe,CACnB,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,EAChC,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC;IAkGlB;;;;;;;;OAQG;IACG,sBAAsB,CAC1B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC;IA+ChB;;;;;;;;;;;OAWG;IACG,UAAU,CACd,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,iBAAiB,CAAC;IAc7B;;;OAGG;IACG,oBAAoB,CACxB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EACjC,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,iBAAiB,CAAC;IAe7B;;;;OAIG;IACH,OAAO,CAAC,eAAe;IA4EvB;;OAEG;IACG,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAoBvE;;OAEG;IACG,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B1D;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAMjC;;OAEG;IACH,oBAAoB,IAAI,gBAAgB,EAAE;IAM1C;;OAEG;IACH,OAAO,CAAC,eAAe;IAQvB;;;;OAIG;YACW,eAAe;IAiB7B;;;OAGG;YACW,eAAe;IAY7B;;OAEG;YACW,sBAAsB;CAcrC;AAMD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,CAKlD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C"}
|
package/dist/sandbox/manager.js
CHANGED
|
@@ -37,6 +37,7 @@ import { tmpdir } from 'node:os';
|
|
|
37
37
|
import { mkdtempSync, readdirSync } from 'node:fs';
|
|
38
38
|
import { logger } from '../utils/logger.js';
|
|
39
39
|
import { getHostShell, runShellSync } from '../utils/shell.js';
|
|
40
|
+
import { resolveCommandPath } from '../mcp/prereqs.js';
|
|
40
41
|
import { DEFAULT_RESOURCE_LIMITS, getSandboxConfig, } from './types.js';
|
|
41
42
|
// ─── Constants ──────────────────────────────────────────────────────────────
|
|
42
43
|
/** Maximum number of managed containers to track */
|
|
@@ -61,14 +62,36 @@ export class SandboxManager {
|
|
|
61
62
|
/**
|
|
62
63
|
* Check if Docker is installed and the daemon is running.
|
|
63
64
|
* Caches the result so repeated calls are instant.
|
|
65
|
+
*
|
|
66
|
+
* TWO DIFFERENT FAILURES, TWO DIFFERENT MESSAGES (2026-10-12). This used to
|
|
67
|
+
* report both as "Docker is not available … Is Docker installed and running?",
|
|
68
|
+
* which is what a user with Docker 29.7 installed and the daemon stopped saw —
|
|
69
|
+
* the message sent them to INSTALL something they already had. The binary and
|
|
70
|
+
* the daemon are now checked separately: absent means install it (and says
|
|
71
|
+
* where we looked), present-but-unreachable means start it (and quotes the
|
|
72
|
+
* daemon's own error, plus the path and version so the finding is falsifiable).
|
|
64
73
|
*/
|
|
65
74
|
async isDockerAvailable() {
|
|
66
75
|
if (this.dockerChecked)
|
|
67
76
|
return this.dockerAvailable;
|
|
68
77
|
try {
|
|
78
|
+
const binary = resolveCommandPath('docker');
|
|
79
|
+
if (!binary) {
|
|
80
|
+
this.dockerAvailable = false;
|
|
81
|
+
this.dockerError =
|
|
82
|
+
'Docker is not installed — no `docker` executable on PATH. Install Docker Desktop: https://docs.docker.com/get-docker/';
|
|
83
|
+
this.dockerChecked = true;
|
|
84
|
+
return this.dockerAvailable;
|
|
85
|
+
}
|
|
69
86
|
const result = await this.execHostCommand('docker info --format "{{.ServerVersion}}"');
|
|
70
87
|
this.dockerAvailable = result.exitCode === 0 && result.stdout.trim().length > 0;
|
|
71
|
-
this.
|
|
88
|
+
if (!this.dockerAvailable) {
|
|
89
|
+
const version = await this.dockerVersion(binary);
|
|
90
|
+
const why = this.firstLine(result.stderr) || 'the daemon did not respond';
|
|
91
|
+
this.dockerError =
|
|
92
|
+
`Docker is INSTALLED at ${binary}${version ? ` (v${version})` : ''} but its daemon is not running: ${why}. ` +
|
|
93
|
+
'START Docker Desktop (or `colima start`), then retry — installing Docker again will not help.';
|
|
94
|
+
}
|
|
72
95
|
}
|
|
73
96
|
catch (err) {
|
|
74
97
|
this.dockerAvailable = false;
|
|
@@ -77,6 +100,22 @@ export class SandboxManager {
|
|
|
77
100
|
this.dockerChecked = true;
|
|
78
101
|
return this.dockerAvailable;
|
|
79
102
|
}
|
|
103
|
+
/** Best-effort `docker --version` → the bare version string ('' when unknown). */
|
|
104
|
+
async dockerVersion(binary) {
|
|
105
|
+
try {
|
|
106
|
+
const result = await this.execHostCommand(`"${binary}" --version`);
|
|
107
|
+
const match = `${result.stdout} ${result.stderr}`.match(/Docker version (\S+)/);
|
|
108
|
+
return match?.[1]?.replace(/,$/, '') ?? '';
|
|
109
|
+
}
|
|
110
|
+
catch {
|
|
111
|
+
return '';
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
/** The last non-empty line of a tool's stderr — its actual complaint. */
|
|
115
|
+
firstLine(text) {
|
|
116
|
+
const lines = String(text ?? '').trim().split('\n').map((l) => l.trim()).filter(Boolean);
|
|
117
|
+
return lines.length > 0 ? lines[lines.length - 1] : '';
|
|
118
|
+
}
|
|
80
119
|
/**
|
|
81
120
|
* Get the error message from the last Docker availability check.
|
|
82
121
|
*/
|
|
@@ -100,7 +139,9 @@ export class SandboxManager {
|
|
|
100
139
|
*/
|
|
101
140
|
async createContainer(image, limits, workDir) {
|
|
102
141
|
if (!(await this.isDockerAvailable())) {
|
|
103
|
-
|
|
142
|
+
// `dockerError` now distinguishes "not installed" from "daemon down";
|
|
143
|
+
// the old generic fallback is only reached if the check itself never ran.
|
|
144
|
+
throw new Error(this.dockerError || 'Docker is not available — the availability check did not run.');
|
|
104
145
|
}
|
|
105
146
|
// Enforce max container limit
|
|
106
147
|
if (this.containers.size >= MAX_CONTAINERS) {
|