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
|
@@ -1,10 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @agent-nuvira/sdk/register — Register a custom agent with the orchestrator.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* WHICH FILE THIS EDITS depends on the checkout it runs in, and it has to: the
|
|
5
|
+
* harness replaced its hardcoded `createAgent()` switch with a
|
|
6
|
+
* `ModuleRegistry` (see `src/agents/module-registry.ts`), so a registration tool
|
|
7
|
+
* that only knew about the switch would edit a block that no longer exists and
|
|
8
|
+
* report success while the agent stayed unrunnable.
|
|
9
|
+
*
|
|
10
|
+
* 1. **ModuleRegistry layout** (current): adds an import plus a
|
|
11
|
+
* `registry.registerOrOverride(...)` call to
|
|
12
|
+
* `src/agents/module-registry.ts`, inside `createWithBuiltins()`.
|
|
13
|
+
* 2. **Legacy switch layout**: adds the import, a `case` in `createAgent()` and
|
|
14
|
+
* an `AGENT_ICONS` entry in `src/agents/orchestrator.ts`.
|
|
15
|
+
*
|
|
16
|
+
* Both are SOURCE-CHECKOUT edits. With the CLI installed from npm there is no
|
|
17
|
+
* such file, and the call says so rather than pretending; distribute a
|
|
18
|
+
* prebuilt plugin file into `~/.nuvira/agents/` instead (`nuvira plugins list`).
|
|
8
19
|
*
|
|
9
20
|
* ## Usage
|
|
10
21
|
*
|
|
@@ -24,16 +35,21 @@
|
|
|
24
35
|
export interface RegisterOptions {
|
|
25
36
|
/** Absolute or relative path to the orchestrator source file (default: auto-detected) */
|
|
26
37
|
orchestratorPath?: string;
|
|
27
|
-
/**
|
|
38
|
+
/**
|
|
39
|
+
* The import module path for the agent class, relative to the directory the
|
|
40
|
+
* registration is written into (`src/agents/`). Example: './agents/my-agent.js'
|
|
41
|
+
*/
|
|
28
42
|
sourceModule: string;
|
|
29
43
|
/** The exported class name to import. Example: 'MyAgent' */
|
|
30
44
|
className: string;
|
|
31
|
-
/** The agent type string used in task plans and the
|
|
45
|
+
/** The agent type string used in task plans and the registry call. Example: 'my-agent' */
|
|
32
46
|
agentType: string;
|
|
33
|
-
/** Optional emoji icon for the
|
|
47
|
+
/** Optional emoji icon for the agent (default: 🧩) */
|
|
34
48
|
icon?: string;
|
|
35
49
|
/** Optional human-readable name (defaults to className) */
|
|
36
50
|
name?: string;
|
|
51
|
+
/** Optional description shown in the plan/UI (defaults to a generic line). */
|
|
52
|
+
description?: string;
|
|
37
53
|
}
|
|
38
54
|
/** Result of a register/unregister operation */
|
|
39
55
|
export interface RegisterResult {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../src/agent-sdk/src/register.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../src/agent-sdk/src/register.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAWH,6CAA6C;AAC7C,MAAM,WAAW,eAAe;IAC9B,yFAAyF;IACzF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,SAAS,EAAE,MAAM,CAAC;IAClB,0FAA0F;IAC1F,SAAS,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,gDAAgD;AAChD,MAAM,WAAW,cAAc;IAC7B,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;CACnB;AAID;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,cAAc,CAkGtE;AAID;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE;IACvC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,cAAc,CAoGjB"}
|
|
@@ -1,10 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @agent-nuvira/sdk/register — Register a custom agent with the orchestrator.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* WHICH FILE THIS EDITS depends on the checkout it runs in, and it has to: the
|
|
5
|
+
* harness replaced its hardcoded `createAgent()` switch with a
|
|
6
|
+
* `ModuleRegistry` (see `src/agents/module-registry.ts`), so a registration tool
|
|
7
|
+
* that only knew about the switch would edit a block that no longer exists and
|
|
8
|
+
* report success while the agent stayed unrunnable.
|
|
9
|
+
*
|
|
10
|
+
* 1. **ModuleRegistry layout** (current): adds an import plus a
|
|
11
|
+
* `registry.registerOrOverride(...)` call to
|
|
12
|
+
* `src/agents/module-registry.ts`, inside `createWithBuiltins()`.
|
|
13
|
+
* 2. **Legacy switch layout**: adds the import, a `case` in `createAgent()` and
|
|
14
|
+
* an `AGENT_ICONS` entry in `src/agents/orchestrator.ts`.
|
|
15
|
+
*
|
|
16
|
+
* Both are SOURCE-CHECKOUT edits. With the CLI installed from npm there is no
|
|
17
|
+
* such file, and the call says so rather than pretending; distribute a
|
|
18
|
+
* prebuilt plugin file into `~/.nuvira/agents/` instead (`nuvira plugins list`).
|
|
8
19
|
*
|
|
9
20
|
* ## Usage
|
|
10
21
|
*
|
|
@@ -32,12 +43,30 @@ const DEFAULT_ICON = '🧩';
|
|
|
32
43
|
* and writes the file back.
|
|
33
44
|
*/
|
|
34
45
|
export function registerAgent(options) {
|
|
35
|
-
const { orchestratorPath: inputPath, sourceModule, className, agentType, icon = DEFAULT_ICON, name = className } = options;
|
|
46
|
+
const { orchestratorPath: inputPath, sourceModule, className, agentType, icon = DEFAULT_ICON, name = className, description = `Custom agent '${name}'`, } = options;
|
|
36
47
|
const orchestratorPath = inputPath || resolve(process.cwd(), 'src/agents/orchestrator.ts');
|
|
37
48
|
if (!existsSync(orchestratorPath)) {
|
|
38
49
|
return { success: false, message: `Orchestrator file not found at: ${orchestratorPath}`, modifiedFiles: [], agentType };
|
|
39
50
|
}
|
|
40
51
|
const originalContent = readFileSync(orchestratorPath, 'utf-8');
|
|
52
|
+
// ── 0. Which layout is this? ────────────────────────────────────────
|
|
53
|
+
// The registry layout is detected by the file it edits, not by a version
|
|
54
|
+
// string: a checkout that has `module-registry.ts` with a `createWithBuiltins`
|
|
55
|
+
// body is the current one, and the switch is legacy.
|
|
56
|
+
if (!hasLegacySwitch(originalContent)) {
|
|
57
|
+
const registryPath = resolve(orchestratorPath, '..', 'module-registry.ts');
|
|
58
|
+
if (existsSync(registryPath)) {
|
|
59
|
+
return registerInModuleRegistry({ registryPath, sourceModule, className, agentType, icon, name, description });
|
|
60
|
+
}
|
|
61
|
+
return {
|
|
62
|
+
success: false,
|
|
63
|
+
message: `Neither a createAgent() switch in ${orchestratorPath} nor a module-registry.ts beside it — ` +
|
|
64
|
+
`this checkout has no place to register '${agentType}'. Distribute a prebuilt plugin file to ` +
|
|
65
|
+
`~/.nuvira/agents/ instead (see \`nuvira plugins list\`).`,
|
|
66
|
+
modifiedFiles: [],
|
|
67
|
+
agentType,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
41
70
|
// ── 1. Check if already registered ──────────────────────────────────
|
|
42
71
|
if (originalContent.includes(`case '${agentType}':`)) {
|
|
43
72
|
return { success: true, message: `Agent '${agentType}' is already registered. No changes made.`, modifiedFiles: [], agentType };
|
|
@@ -112,6 +141,21 @@ export function unregisterAgent(options) {
|
|
|
112
141
|
return { success: false, message: `Orchestrator file not found at: ${orchestratorPath}`, modifiedFiles: [], agentType };
|
|
113
142
|
}
|
|
114
143
|
const originalContent = readFileSync(orchestratorPath, 'utf-8');
|
|
144
|
+
// Registry layout: the registration was written into module-registry.ts, so
|
|
145
|
+
// looking for a switch case here would report a registered agent as missing.
|
|
146
|
+
if (!hasLegacySwitch(originalContent)) {
|
|
147
|
+
const registryPath = resolve(orchestratorPath, '..', 'module-registry.ts');
|
|
148
|
+
if (existsSync(registryPath)) {
|
|
149
|
+
const result = unregisterFromModuleRegistry({
|
|
150
|
+
registryPath,
|
|
151
|
+
agentType,
|
|
152
|
+
...(className ? { className } : {}),
|
|
153
|
+
});
|
|
154
|
+
if (result)
|
|
155
|
+
return result;
|
|
156
|
+
}
|
|
157
|
+
return { success: true, message: `Agent '${agentType}' is not registered. No changes needed.`, modifiedFiles: [], agentType };
|
|
158
|
+
}
|
|
115
159
|
if (!originalContent.includes(`case '${agentType}':`)) {
|
|
116
160
|
return { success: true, message: `Agent '${agentType}' is not registered. No changes needed.`, modifiedFiles: [], agentType };
|
|
117
161
|
}
|
|
@@ -173,6 +217,116 @@ export function unregisterAgent(options) {
|
|
|
173
217
|
agentType,
|
|
174
218
|
};
|
|
175
219
|
}
|
|
220
|
+
// ─── ModuleRegistry layout (current) ────────────────────────────────────────
|
|
221
|
+
/** Does this orchestrator still carry the legacy `createAgent()` switch? */
|
|
222
|
+
function hasLegacySwitch(content) {
|
|
223
|
+
return content.includes('default:\n return null;') && content.includes('function createAgent');
|
|
224
|
+
}
|
|
225
|
+
/** The exact import a registration adds, so unregister can find it again. */
|
|
226
|
+
function importLine(className, sourceModule) {
|
|
227
|
+
return `import { ${className} } from '${sourceModule}';`;
|
|
228
|
+
}
|
|
229
|
+
/** The registry call a registration adds, keyed by agentType. */
|
|
230
|
+
function registryBlock(agentType, className, name, description, icon) {
|
|
231
|
+
return [
|
|
232
|
+
// No backticks in this comment: it is emitted into another source file, and
|
|
233
|
+
// the removal regex matches it literally.
|
|
234
|
+
` // Added by nuvira sdk register ${className} ${agentType}`,
|
|
235
|
+
` registry.registerOrOverride('${agentType}', () => new ${className}(), {`,
|
|
236
|
+
` name: '${name}',`,
|
|
237
|
+
` description: '${description.replace(/'/g, "\\'")}',`,
|
|
238
|
+
` icon: '${icon}',`,
|
|
239
|
+
` isBuiltin: false,`,
|
|
240
|
+
` });`,
|
|
241
|
+
].join('\n');
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Register into `createWithBuiltins()` in module-registry.ts.
|
|
245
|
+
*
|
|
246
|
+
* The insertion point is the method's final `return registry;` — the only stable
|
|
247
|
+
* anchor in that file — and `registerOrOverride` (not `register`) is used so a
|
|
248
|
+
* re-registration cannot make boot throw on a duplicate agent type.
|
|
249
|
+
*/
|
|
250
|
+
function registerInModuleRegistry(args) {
|
|
251
|
+
const { registryPath, sourceModule, className, agentType, icon, name, description } = args;
|
|
252
|
+
const originalContent = readFileSync(registryPath, 'utf-8');
|
|
253
|
+
if (originalContent.includes(`registerOrOverride('${agentType}'`)) {
|
|
254
|
+
return {
|
|
255
|
+
success: true,
|
|
256
|
+
message: `Agent '${agentType}' is already registered in module-registry.ts. No changes made.`,
|
|
257
|
+
modifiedFiles: [],
|
|
258
|
+
agentType,
|
|
259
|
+
};
|
|
260
|
+
}
|
|
261
|
+
const returnMarker = ' return registry;';
|
|
262
|
+
const returnIndex = originalContent.lastIndexOf(returnMarker);
|
|
263
|
+
if (returnIndex < 0) {
|
|
264
|
+
return {
|
|
265
|
+
success: false,
|
|
266
|
+
message: `Could not find the \`return registry;\` insertion point in ${registryPath}.`,
|
|
267
|
+
modifiedFiles: [],
|
|
268
|
+
agentType,
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
let newContent = originalContent;
|
|
272
|
+
const added = [];
|
|
273
|
+
const imp = importLine(className, sourceModule);
|
|
274
|
+
if (!newContent.includes(imp)) {
|
|
275
|
+
const importLines = newContent.match(/^import .+;$/gm);
|
|
276
|
+
if (!importLines || importLines.length === 0) {
|
|
277
|
+
return { success: false, message: 'Could not find the import section in module-registry.ts.', modifiedFiles: [], agentType };
|
|
278
|
+
}
|
|
279
|
+
const lastImport = importLines[importLines.length - 1];
|
|
280
|
+
const insertPos = newContent.lastIndexOf(lastImport) + lastImport.length;
|
|
281
|
+
newContent = newContent.slice(0, insertPos) + '\n' + imp + newContent.slice(insertPos);
|
|
282
|
+
added.push('import');
|
|
283
|
+
}
|
|
284
|
+
const block = registryBlock(agentType, className, name, description, icon);
|
|
285
|
+
const blockIndex = newContent.lastIndexOf(returnMarker);
|
|
286
|
+
newContent = newContent.slice(0, blockIndex) + block + '\n\n' + newContent.slice(blockIndex);
|
|
287
|
+
added.push('registry call');
|
|
288
|
+
writeFileSync(registryPath, newContent, 'utf-8');
|
|
289
|
+
return {
|
|
290
|
+
success: true,
|
|
291
|
+
message: `Registered agent '${agentType}' (${name}) in module-registry.ts. Added: ${added.join(', ')}.`,
|
|
292
|
+
modifiedFiles: [registryPath],
|
|
293
|
+
agentType,
|
|
294
|
+
};
|
|
295
|
+
}
|
|
296
|
+
/** Remove a `sdk register` block from module-registry.ts. */
|
|
297
|
+
function unregisterFromModuleRegistry(args) {
|
|
298
|
+
const { registryPath, agentType, className } = args;
|
|
299
|
+
const originalContent = readFileSync(registryPath, 'utf-8');
|
|
300
|
+
if (!originalContent.includes(`registerOrOverride('${agentType}'`))
|
|
301
|
+
return null;
|
|
302
|
+
// The comment line makes the block unambiguous, so removal cannot take a
|
|
303
|
+
// neighbouring registration with it.
|
|
304
|
+
const blockRegex = new RegExp(' // Added by nuvira sdk register [^\\n]*\\n' +
|
|
305
|
+
" registry\\.registerOrOverride\\('" +
|
|
306
|
+
escapeRegex(agentType) +
|
|
307
|
+
"'[\\s\\S]*?\\n \\}\\);\\n\\n?", 'g');
|
|
308
|
+
let newContent = originalContent.replace(blockRegex, '');
|
|
309
|
+
const removedBlock = newContent !== originalContent;
|
|
310
|
+
let importRemoved = false;
|
|
311
|
+
if (className) {
|
|
312
|
+
const importRegex = new RegExp(`^import \\{ ${escapeRegex(className)} \\} from '[^']+';\\n`, 'gm');
|
|
313
|
+
const afterImport = newContent.replace(importRegex, '').replace(/\n{3,}/g, '\n\n');
|
|
314
|
+
if (afterImport !== newContent) {
|
|
315
|
+
newContent = afterImport;
|
|
316
|
+
importRemoved = true;
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
if (!removedBlock && !importRemoved)
|
|
320
|
+
return null;
|
|
321
|
+
writeFileSync(registryPath, newContent, 'utf-8');
|
|
322
|
+
const removed = [...(removedBlock ? ['registry call'] : []), ...(importRemoved ? ['import'] : [])];
|
|
323
|
+
return {
|
|
324
|
+
success: true,
|
|
325
|
+
message: `Unregistered agent '${agentType}' from module-registry.ts. Removed: ${removed.join(', ')}.`,
|
|
326
|
+
modifiedFiles: [registryPath],
|
|
327
|
+
agentType,
|
|
328
|
+
};
|
|
329
|
+
}
|
|
176
330
|
// ─── Helpers ────────────────────────────────────────────────────────────────
|
|
177
331
|
/** Escape special regex characters in a string */
|
|
178
332
|
function escapeRegex(str) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/agent-sdk/src/register.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/agent-sdk/src/register.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,7 +34,7 @@ export interface ScaffoldOptions {
|
|
|
34
34
|
* a custom agent fail to load. A test asserts the two agree, so a release that
|
|
35
35
|
* forgets this constant fails rather than shipping.
|
|
36
36
|
*/
|
|
37
|
-
export declare const SDK_VERSION = "3.
|
|
37
|
+
export declare const SDK_VERSION = "3.5.0";
|
|
38
38
|
/**
|
|
39
39
|
* Scaffold a new custom agent project.
|
|
40
40
|
*
|
|
@@ -34,7 +34,7 @@ function toCamelCase(pascal) {
|
|
|
34
34
|
* a custom agent fail to load. A test asserts the two agree, so a release that
|
|
35
35
|
* forgets this constant fails rather than shipping.
|
|
36
36
|
*/
|
|
37
|
-
export const SDK_VERSION = '3.
|
|
37
|
+
export const SDK_VERSION = '3.5.0';
|
|
38
38
|
// ─── Templates ──────────────────────────────────────────────────────────────
|
|
39
39
|
const PACKAGE_JSON_TEMPLATE = (opts) => `{
|
|
40
40
|
"name": "${toKebabCase(opts.agentName)}-agent",
|
package/dist/cli/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/cli/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/cli/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AA+N5C,qBAAa,YAAa,SAAQ,WAAW;IAC3C,MAAM,IAAI,OAAO;YA0CH,WAAW;YA0EX,UAAU;YAoCV,aAAa;CA8B5B"}
|
package/dist/cli/agent.js
CHANGED
|
@@ -19,8 +19,21 @@ import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
|
|
|
19
19
|
import { join } from 'node:path';
|
|
20
20
|
import inquirer from 'inquirer';
|
|
21
21
|
import { BaseCommand } from './commands.js';
|
|
22
|
-
import { discoverAgentPlugins, getPluginStats } from '../plugins/agent-plugin.js';
|
|
22
|
+
import { discoverAgentPlugins, getPluginStats, pluginDirectories } from '../plugins/agent-plugin.js';
|
|
23
|
+
import { homedir } from 'node:os';
|
|
23
24
|
import { logger } from '../utils/logger.js';
|
|
25
|
+
/**
|
|
26
|
+
* The agent-plugin directory the RUN reads, home-shortened for display.
|
|
27
|
+
*
|
|
28
|
+
* The next-step instruction and the tip used to name `~/.nuvira/agents/` while
|
|
29
|
+
* discovery reads the active profile (`$NUVIRA_CONFIG_DIR`), so an isolated run
|
|
30
|
+
* told the user to copy a plugin into a directory it would never scan.
|
|
31
|
+
*/
|
|
32
|
+
function agentsDirForDisplay() {
|
|
33
|
+
const dir = pluginDirectories().agents;
|
|
34
|
+
const home = homedir();
|
|
35
|
+
return dir.startsWith(home) ? `~${dir.slice(home.length)}` : dir;
|
|
36
|
+
}
|
|
24
37
|
function generateAgentProject(name, agentName, description) {
|
|
25
38
|
const className = toPascalCase(agentName);
|
|
26
39
|
return {
|
|
@@ -303,7 +316,7 @@ export class AgentCommand extends BaseCommand {
|
|
|
303
316
|
console.log(' npm install');
|
|
304
317
|
console.log(' npm test');
|
|
305
318
|
console.log(' npm run build');
|
|
306
|
-
console.log(
|
|
319
|
+
console.log(` cp dist/agent.js ${agentsDirForDisplay()}/`);
|
|
307
320
|
console.log('');
|
|
308
321
|
logger.info('Edit src/agent.ts to implement your custom agent logic.');
|
|
309
322
|
}
|
|
@@ -318,7 +331,7 @@ export class AgentCommand extends BaseCommand {
|
|
|
318
331
|
logger.highlight('═'.repeat(60));
|
|
319
332
|
if (stats.agentPlugins === 0) {
|
|
320
333
|
console.log('\n (no custom agent plugins found)');
|
|
321
|
-
console.log(
|
|
334
|
+
console.log(` Tip: Place compiled .js agent files in ${agentsDirForDisplay()}/`);
|
|
322
335
|
console.log(' Tip: Use `nuvira agent create <name>` to scaffold a new agent');
|
|
323
336
|
console.log('');
|
|
324
337
|
return;
|
package/dist/cli/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/cli/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/cli/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/chat.d.ts
CHANGED
|
@@ -87,6 +87,39 @@ export declare function runDeveloperMode(goal: string, configManager: any, optio
|
|
|
87
87
|
* to the background runners, not the interactive turn.
|
|
88
88
|
*/
|
|
89
89
|
export declare const TRANSIENT_RETRY_DELAYS_MS: readonly [1000, 3000];
|
|
90
|
+
/**
|
|
91
|
+
* How long a PINNED + STRICT pair is given to answer before the user is asked
|
|
92
|
+
* what to do next (ms).
|
|
93
|
+
*
|
|
94
|
+
* WHY A WAIT AT ALL, and why two minutes. A pinned+strict turn is an explicit
|
|
95
|
+
* quality contract: the user would rather wait than be answered by a model they
|
|
96
|
+
* did not choose. A provider having a slow moment (or an upstream batch job) is
|
|
97
|
+
* exactly the case that contract covers, so the SAME pair is retried inside this
|
|
98
|
+
* window before anything else can happen. Two minutes is the bar the user set: it
|
|
99
|
+
* rides out a bad minute at a shared endpoint, while a genuinely dead provider no
|
|
100
|
+
* longer holds the turn for the ~5 minutes that prompted the complaint. NOTHING
|
|
101
|
+
* is routed to another model inside this window.
|
|
102
|
+
*/
|
|
103
|
+
export declare const PINNED_SAME_PAIR_GRACE_MS = 120000;
|
|
104
|
+
/**
|
|
105
|
+
* Backoff between retries of the SAME pinned pair. Summed with the call time,
|
|
106
|
+
* these reach the {@link PINNED_SAME_PAIR_GRACE_MS} budget.
|
|
107
|
+
*/
|
|
108
|
+
export declare const PINNED_GRACE_BACKOFF_MS: readonly [5000, 15000, 30000, 45000];
|
|
109
|
+
/**
|
|
110
|
+
* How long the user has to answer the pinned-failure question before the turn
|
|
111
|
+
* stops honestly (ms).
|
|
112
|
+
*
|
|
113
|
+
* Without a bound the turn waits on the question FOREVER: the console's
|
|
114
|
+
* `askQuestion` promise is deliberately never rejected (worst case the model
|
|
115
|
+
* proceeds on best judgment), so a client that renders the card and is then
|
|
116
|
+
* closed — or a headless caller that never answers — would hold the turn (and its
|
|
117
|
+
* `busy` slot) open indefinitely. Measured live while probing the endpoint: the
|
|
118
|
+
* HTTP request sat open until it was cancelled by hand. Five minutes is generous
|
|
119
|
+
* for a person reading the options, and the answer is a choice, not a dependency:
|
|
120
|
+
* stopping with the pin's own error is the honest outcome once nobody answers.
|
|
121
|
+
*/
|
|
122
|
+
export declare const PINNED_ANSWER_TIMEOUT_MS = 300000;
|
|
90
123
|
/**
|
|
91
124
|
* Run one provider attempt, retrying transient failures against the SAME
|
|
92
125
|
* provider before giving up.
|
|
@@ -546,6 +579,58 @@ export declare class ChatCommand extends BaseCommand {
|
|
|
546
579
|
* interactive mode turns a chosen followup into the next message).
|
|
547
580
|
*/
|
|
548
581
|
private runChatAnswer;
|
|
582
|
+
/**
|
|
583
|
+
* Providers that could TAKE OVER from a pin, split by capability class.
|
|
584
|
+
*
|
|
585
|
+
* Only providers with credentials are considered, and each contributes the
|
|
586
|
+
* model `sameClassFallback` would choose for it — so the "switch to …" offer
|
|
587
|
+
* is a pair the router would actually serve, never a name invented here.
|
|
588
|
+
*/
|
|
589
|
+
private pinAlternatives;
|
|
590
|
+
/**
|
|
591
|
+
* Read a user-typed choice as `provider/model` (or a bare model id).
|
|
592
|
+
*
|
|
593
|
+
* A bare id keeps the PINNED provider — that is what "another model" means when
|
|
594
|
+
* the user was asked about a pinned turn. A prefixed value is only accepted as a
|
|
595
|
+
* provider when it RESOLVES to one, so a model id that merely contains a slash
|
|
596
|
+
* (`openai/gpt-oss-120b`) is not mistaken for a provider name.
|
|
597
|
+
*/
|
|
598
|
+
private parsePinChoice;
|
|
599
|
+
/**
|
|
600
|
+
* Serve ONE step on a pair the USER named, validated AS A PAIR.
|
|
601
|
+
*
|
|
602
|
+
* `resolveRoute` is asked in strict mode, so a pair the provider cannot serve is
|
|
603
|
+
* REFUSED rather than silently substituted — the same guarantee every other
|
|
604
|
+
* pinned call gets (issue #9: a model id sent to the wrong provider is the bug
|
|
605
|
+
* class this covers). Returns null when the pair cannot be used or the call
|
|
606
|
+
* fails, leaving the honest stop in place rather than switching anyway.
|
|
607
|
+
*/
|
|
608
|
+
private serveChosenPair;
|
|
609
|
+
/**
|
|
610
|
+
* PINNED + STRICT and the pin did not answer: wait on the SAME model, then let
|
|
611
|
+
* the USER decide — never a silent substitution.
|
|
612
|
+
*
|
|
613
|
+
* WHY THIS EXISTS. The user pinned a model AND turned strict mode on. That is a
|
|
614
|
+
* quality contract, and the old behaviour broke it in the one direction they
|
|
615
|
+
* explicitly forbade: rather than wait, or say what was happening, a failed pin
|
|
616
|
+
* either dead-ended in "the language model was unavailable" or (non-strict) was
|
|
617
|
+
* handed to whatever the health ranking liked — including `local/qwen2.5:0.5b`, a
|
|
618
|
+
* model that cannot call tools at all, so its "answer" was fabricated rather
|
|
619
|
+
* than merely weaker. Sending that work to a weak model is not a degraded answer;
|
|
620
|
+
* for an agentic turn it is a wrong one.
|
|
621
|
+
*
|
|
622
|
+
* So: the SAME pair is retried inside {@link PINNED_SAME_PAIR_GRACE_MS} first
|
|
623
|
+
* (nothing is routed anywhere in that window), and if it still does not answer
|
|
624
|
+
* the user is asked — keep trying, switch to the closest SAME-CLASS model the
|
|
625
|
+
* agent can find and name, type another model/provider, or release the pin to
|
|
626
|
+
* auto. The question says outright that nothing has been routed elsewhere.
|
|
627
|
+
*
|
|
628
|
+
* Returns a served response when the user's choice works; `null` when the turn
|
|
629
|
+
* must fail honestly — headless (no one to ask: the strict refusal stands, as
|
|
630
|
+
* it must, because silently choosing FOR the user is the original defect), or
|
|
631
|
+
* when the chosen pair could not serve.
|
|
632
|
+
*/
|
|
633
|
+
private pinnedStrictEscalation;
|
|
549
634
|
/**
|
|
550
635
|
* E3b — the model-call step for the tool loop:
|
|
551
636
|
* native generateTools when the provider supports it, JSON fallback
|
package/dist/cli/chat.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/cli/chat.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAc,MAAM,eAAe,CAAC;AAiBxD,OAAO,EAKL,KAAK,gBAAgB,EACtB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAKL,KAAK,aAAa,EACnB,MAAM,gCAAgC,CAAC;AAqCxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAqBtD,OAAO,EAAqC,KAAK,UAAU,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../src/cli/chat.ts"],"names":[],"mappings":"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"}
|