agent-nuvira 3.4.0 → 3.5.1
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 +13 -13
- 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 +202 -6
- package/dist/cli/chat.d.ts.map +1 -1
- package/dist/cli/chat.js +805 -34
- 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/duties.d.ts +11 -0
- package/dist/cli/duties.d.ts.map +1 -1
- package/dist/cli/duties.js +31 -0
- package/dist/cli/duties.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/models.d.ts.map +1 -1
- package/dist/cli/models.js +55 -0
- package/dist/cli/models.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/auto-router.d.ts +28 -0
- package/dist/learning/auto-router.d.ts.map +1 -1
- package/dist/learning/auto-router.js +84 -5
- package/dist/learning/auto-router.js.map +1 -1
- package/dist/learning/duty-lease.d.ts +163 -0
- package/dist/learning/duty-lease.d.ts.map +1 -0
- package/dist/learning/duty-lease.js +301 -0
- package/dist/learning/duty-lease.js.map +1 -0
- 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 +21 -22
- package/dist/learning/model-first-router.d.ts.map +1 -1
- package/dist/learning/model-first-router.js +61 -54
- 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/model-warmup.d.ts +92 -0
- package/dist/learning/model-warmup.d.ts.map +1 -1
- package/dist/learning/model-warmup.js +137 -2
- package/dist/learning/model-warmup.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/retry-patience.d.ts +139 -0
- package/dist/learning/retry-patience.d.ts.map +1 -0
- package/dist/learning/retry-patience.js +169 -0
- package/dist/learning/retry-patience.js.map +1 -0
- 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 +41 -3
- package/dist/tools/tool-loop.d.ts.map +1 -1
- package/dist/tools/tool-loop.js +317 -9
- 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 +6 -2
- package/src/web-dashboard/public/assets/{index-DeD3L0kG.js → index-Bik91KJh.js} +115 -89
- package/src/web-dashboard/public/assets/index-Bik91KJh.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/README.md
CHANGED
|
@@ -145,7 +145,7 @@ This table highlights core capabilities for quick machine parsing and comparison
|
|
|
145
145
|
- **Plugin system** with auto-discovery — drop `.js` files into `~/.nuvira/plugins/` for automatic loading
|
|
146
146
|
- **Project scaffolding** — `agent-nuvira init` generates starter projects with interactive template + provider selection
|
|
147
147
|
- **Context-preserving model switching** — `agent-nuvira model switch` changes providers mid-session without losing agent state
|
|
148
|
-
- **Auto model routing** — `agent-nuvira model switch auto` lets the agent pick the best provider/model for every task based on complexity, cost, latency, privacy, and reliability (with fallback chains + circuit-breaker awareness). Cost scoring uses **real per-1K-token provider pricing** (overridable via `agent-nuvira config set pricing.<provider>.inputPer1K`), adjusted at runtime by **benchmark quality + per-agent best-model stats**. See why a decision was made with `agent-nuvira model explain` (or `--json` for CI) — walk through a full decision with the 🎯 fit / 📏 measured / ⏳ ctx chips in [`MODELS_EXPLAIN_DEMO.md`](MODELS_EXPLAIN_DEMO.md). Benchmark the router's exact picks with `agent-nuvira benchmark --routing`, validate them end-to-end with `agent-nuvira eval --routing`, and track actual picks + a full audit trail in the dashboard's **Routing** panel
|
|
148
|
+
- **Auto model routing** — `agent-nuvira model switch auto` lets the agent pick the best provider/model for every task based on complexity, cost, latency, privacy, and reliability (with fallback chains + circuit-breaker awareness). Cost scoring uses **real per-1K-token provider pricing** (overridable via `agent-nuvira config set pricing.<provider>.inputPer1K`), adjusted at runtime by **benchmark quality + per-agent best-model stats**. See why a decision was made with `agent-nuvira model explain` (or `--json` for CI) — walk through a full decision with the 🎯 fit / 📏 measured / ⏳ ctx chips in [`MODELS_EXPLAIN_DEMO.md`](MODELS_EXPLAIN_DEMO.md). Benchmark the router's exact picks with `agent-nuvira benchmark run --routing`, validate them end-to-end with `agent-nuvira eval run --routing`, and track actual picks + a full audit trail in the dashboard's **Routing** panel
|
|
149
149
|
- **Learned-from-real-usage telemetry** — every LLM call (chat, execute, plan, edit, skill, learn, ci, doctor) writes through to the Model Availability Registry **with its action tag**, so the registry learns which provider × model each action **killed** (predictive skip) or **verified** (routable) from real usage — not just probes. `agent-nuvira models status --verbose` prints registry-blocked providers + per-action verified/killed chips, and the dashboard's **Models** panel shows the same per-action feed with a daily timeline chart. A provider killed by ANY action is skipped predictively by all others; a later real success re-verifies it and un-parks it (the recovery loop), and `agent-nuvira models unblock <provider>` is the manual escape hatch (demotes the block, clears quota parks + ledger cooldown, then re-probes the live API with an honest `stillBlocked` verdict — `--json` for CI). Proven end-to-end by a hermetic `tests/e2e/` test (mock 429 provider → registry learns → next pick skips). The **VS Code extension** attributes its usage too — every IDE-driven call (chat panel → `ide-chat`, inline suggestions → `ide-inline`, execute/edit/workflow → `ide-<command>`) is tagged via `BUFF_TELEMETRY_ACTION` at spawn, so the same per-action panel shows IDE usage as its own rows
|
|
150
150
|
- **Skill compiler** — automatically extracts reusable patterns from successful agent runs into executable skills (`agent-nuvira skill run`)
|
|
151
151
|
- **Context-window memory pruner** — prevents long multi-agent chains from exceeding model token limits
|
|
@@ -1078,10 +1078,10 @@ agent-nuvira model explain "your task" --json # machine-readable (scripting/CI)
|
|
|
1078
1078
|
# → see MODELS_EXPLAIN_DEMO.md for a full annotated example
|
|
1079
1079
|
|
|
1080
1080
|
# Benchmark the exact provider/model pairs the Auto router picks
|
|
1081
|
-
agent-nuvira benchmark --routing
|
|
1081
|
+
agent-nuvira benchmark run --routing
|
|
1082
1082
|
|
|
1083
1083
|
# Evaluate the Auto router's picks end-to-end (full multi-agent pipeline + hidden tests)
|
|
1084
|
-
agent-nuvira eval --routing
|
|
1084
|
+
agent-nuvira eval run --routing
|
|
1085
1085
|
|
|
1086
1086
|
# Every explain snapshot + routing-mode pick is recorded to the dashboard's audit trail
|
|
1087
1087
|
# (Routing panel → 'Audit Trail — routing decision timeline')
|
|
@@ -1598,11 +1598,11 @@ agent-nuvira skills uninstall code-assessment
|
|
|
1598
1598
|
# Create a cross-skill bundle (Hermes parity)
|
|
1599
1599
|
agent-nuvira skills bundle backend-dev --create --name "Backend Dev" --description "Full workflow" --skills code-assessment,test-strategy
|
|
1600
1600
|
|
|
1601
|
-
# List bundles
|
|
1602
|
-
agent-nuvira skills bundle
|
|
1601
|
+
# List bundles (no slug = list)
|
|
1602
|
+
agent-nuvira skills bundle
|
|
1603
1603
|
|
|
1604
|
-
# Show bundle contents
|
|
1605
|
-
agent-nuvira skills bundle backend-dev
|
|
1604
|
+
# Show bundle contents (slug = show)
|
|
1605
|
+
agent-nuvira skills bundle backend-dev
|
|
1606
1606
|
```
|
|
1607
1607
|
|
|
1608
1608
|
### Skill Execution — Language-Agnostic Marketplace Skills
|
|
@@ -1611,13 +1611,13 @@ Execute skills from the marketplace in any language (Python, Node.js, Shell, Typ
|
|
|
1611
1611
|
|
|
1612
1612
|
```bash
|
|
1613
1613
|
# Execute a Python skill (e.g., image generation)
|
|
1614
|
-
agent-nuvira skill
|
|
1614
|
+
agent-nuvira skill run image-gen --params "prompt=A sunset over mountains"
|
|
1615
1615
|
|
|
1616
1616
|
# Execute a Node.js skill (e.g., API call)
|
|
1617
|
-
agent-nuvira skill
|
|
1617
|
+
agent-nuvira skill run api-call --params "endpoint=/users,method=GET"
|
|
1618
1618
|
|
|
1619
1619
|
# Execute a Shell skill (e.g., system check)
|
|
1620
|
-
agent-nuvira skill
|
|
1620
|
+
agent-nuvira skill run system-check --params "check=disk"
|
|
1621
1621
|
|
|
1622
1622
|
# The skill tool also supports execution via the agent
|
|
1623
1623
|
# Agent calls: skill tool → execute: { skill: "image-gen", args: { prompt: "..." } }
|
|
@@ -1700,8 +1700,8 @@ Browse, search, and install workflow templates and plugins from the unified mark
|
|
|
1700
1700
|
agent-nuvira marketplace browse
|
|
1701
1701
|
|
|
1702
1702
|
# Browse only workflows or plugins
|
|
1703
|
-
agent-nuvira marketplace browse --
|
|
1704
|
-
agent-nuvira marketplace browse --
|
|
1703
|
+
agent-nuvira marketplace browse --workflows
|
|
1704
|
+
agent-nuvira marketplace browse --plugins
|
|
1705
1705
|
|
|
1706
1706
|
# Search across all sources
|
|
1707
1707
|
agent-nuvira marketplace search "deploy"
|
|
@@ -1926,7 +1926,7 @@ agent-nuvira execute "refactor the database layer" --provider groq
|
|
|
1926
1926
|
agent-nuvira execute "add rate limiting" --dry-run
|
|
1927
1927
|
|
|
1928
1928
|
# Configure models per agent type
|
|
1929
|
-
agent-nuvira execute "add tests" --
|
|
1929
|
+
agent-nuvira execute "add tests" --planner-model gemini --writer-model groq
|
|
1930
1930
|
|
|
1931
1931
|
# Use persistent memory across sessions
|
|
1932
1932
|
agent-nuvira execute "fix the login bug" --memory
|
|
@@ -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.1";
|
|
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.1';
|
|
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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"}
|