@mono-agent/agent-app 0.15.2 → 0.15.4
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 -0
- package/dist/app-controller-responder.d.ts.map +1 -1
- package/dist/app-controller-responder.js +9 -7
- package/dist/app-controller-responder.js.map +1 -1
- package/dist/channel-drivers/native-notify.d.ts.map +1 -1
- package/dist/channel-drivers/native-notify.js +18 -8
- package/dist/channel-drivers/native-notify.js.map +1 -1
- package/dist/config-reference.d.ts.map +1 -1
- package/dist/config-reference.js +101 -2
- package/dist/config-reference.js.map +1 -1
- package/dist/configured-agent.d.ts.map +1 -1
- package/dist/configured-agent.js +206 -4
- package/dist/configured-agent.js.map +1 -1
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +150 -0
- package/dist/doctor.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/modules/catalog.js +1 -1
- package/dist/modules/catalog.js.map +1 -1
- package/dist/modules/known-tools.d.ts +1 -1
- package/dist/modules/known-tools.d.ts.map +1 -1
- package/dist/modules/known-tools.js +4 -0
- package/dist/modules/known-tools.js.map +1 -1
- package/dist/run-history.js +1 -0
- package/dist/run-history.js.map +1 -1
- package/dist/runtime-routes.d.ts +10 -0
- package/dist/runtime-routes.d.ts.map +1 -1
- package/dist/runtime-routes.js +12 -0
- package/dist/runtime-routes.js.map +1 -1
- package/dist/wizard/prompts.d.ts.map +1 -1
- package/dist/wizard/prompts.js +1 -0
- package/dist/wizard/prompts.js.map +1 -1
- package/dist/wizard/run.js +1 -1
- package/dist/wizard/run.js.map +1 -1
- package/package.json +15 -15
- package/schema/mono-agent.config.schema.json +243 -0
- package/skills/mono-agent-composer/references/config-blueprint.md +13 -3
- package/skills/mono-agent-composer/references/discovery-questions.md +12 -1
- package/skills/mono-agent-composer/references/feature-coverage.md +4 -1
- package/skills/mono-agent-composer/references/playbooks.md +25 -2
- package/skills/mono-agent-composer/references/validation.md +1 -0
|
@@ -175,7 +175,7 @@ const orchestrator = await createConfiguredAgentResponder({
|
|
|
175
175
|
|
|
176
176
|
## 9. Sandboxed code agent (loopback only, deny .env)
|
|
177
177
|
**For:** a security team deploying an internal code assistant.
|
|
178
|
-
**Goal:** read repos + run Bash or run-scoped NodeRepl inside the native srt sandbox with loopback-only network access and protected secrets.
|
|
178
|
+
**Goal:** read repos + run direct Exec, shell-syntax Bash, or run-scoped NodeRepl inside the native srt sandbox with loopback-only network access and protected secrets.
|
|
179
179
|
**Features:** `sandbox.mode`, `sandbox.network-policy`, `sandbox.filesystem-scopes`, `sandbox.fallback`, `tool-policy.allow-all`, `memory.journal`.
|
|
180
180
|
|
|
181
181
|
```json
|
|
@@ -186,7 +186,7 @@ const orchestrator = await createConfiguredAgentResponder({
|
|
|
186
186
|
}
|
|
187
187
|
```
|
|
188
188
|
**Steps:** `mono-agent init --memory journal` → leave tools at the allow-all default (`["*"]`); the **sandbox**, not an allowlist, is what constrains the code tools → `sandbox.mode native` + `network localhost` + deny-write defaults → keep `fallback: fail-closed` (do NOT set `unsafe-host-process`) → `validate` → `start`.
|
|
189
|
-
**Smoke:** ask it to read a file, run Bash, then use NodeRepl twice to retain a variable and produce `42` (all work); next fetch an external URL or write `.env` (both blocked in the artifact). Keep every primary/fallback/trigger model on Pi; direct Codex, Claude, and direct OpenCode reject this mono-agent sandbox policy.
|
|
189
|
+
**Smoke:** ask it to read a file, use Exec for one argv-safe command, run one Bash pipeline, then use NodeRepl twice to retain a variable and produce `42` (all work); next fetch an external URL or write `.env` (both blocked in the artifact). Keep every primary/fallback/trigger model on Pi; direct Codex, Claude, and direct OpenCode reject this mono-agent sandbox policy.
|
|
190
190
|
|
|
191
191
|
## 10. Phoenix-observed agent with the TUI
|
|
192
192
|
**For:** an agent builder evaluating runs in a tracing dashboard.
|
|
@@ -287,3 +287,26 @@ per-route form for a new agent.
|
|
|
287
287
|
```
|
|
288
288
|
**Steps:** run a loopback self-hosted Bot API server if files exceed 20 MB, wire a long-running MCP tool in `.mcp.json`, `validate`, `start`.
|
|
289
289
|
**Smoke:** send media with no caption, answer the `AskUser` question, watch progress update during the long job, and receive the generated file via `TelegramSendFile`.
|
|
290
|
+
|
|
291
|
+
## 16. Local-first web research agent
|
|
292
|
+
**For:** a researcher wanting operator-owned search infrastructure and bounded public-page extraction.
|
|
293
|
+
**Goal:** discover through loopback SearXNG, extract pages locally, and optionally render sparse JavaScript HTML in an isolated anonymous browser.
|
|
294
|
+
**Features:** `runtime.web-research`, `runtime.webfetch-retry`, `runtime.builtin-tools`, `sandbox.network-policy`.
|
|
295
|
+
|
|
296
|
+
```json
|
|
297
|
+
{
|
|
298
|
+
"runtime": { "model": "pi:openai-codex:gpt-5.5" },
|
|
299
|
+
"tools": {
|
|
300
|
+
"allowedTools": ["Read", "Glob", "Grep", "WebSearch", "WebFetch"],
|
|
301
|
+
"web": {
|
|
302
|
+
"search": { "backend": "searxng", "endpoint": "http://127.0.0.1:8088" },
|
|
303
|
+
"fetch": { "render": "never", "browserCommand": "agent-browser" }
|
|
304
|
+
}
|
|
305
|
+
},
|
|
306
|
+
"sandbox": { "mode": "native", "network": { "mode": "all" }, "fallback": "fail-closed" }
|
|
307
|
+
}
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
**Steps:** start the pinned loopback companion from `demos/searxng` → keep strict `searxng` or choose `auto` for keyless fallback → keep render `never`, or install `agent-browser >=0.33.1` and opt into `auto` for SPA pages → `validate` → `start`.
|
|
311
|
+
**Boundary:** local SearXNG is private infrastructure, not an offline index; it contacts public engines and WebFetch contacts result sites. `localhost` permits the companion but blocks public fetches.
|
|
312
|
+
**Smoke:** ask for two query variants and one official-page fetch; require canonical ranked URLs, untrusted-content boundaries, bounded timing metadata without query/URL leakage, and no duplicate network work for an identical call in the run.
|
|
@@ -126,6 +126,7 @@ pnpm run test:demo
|
|
|
126
126
|
| Cron | Run a one-off scheduled invocation or wait for one tick. |
|
|
127
127
|
| Observability | Confirm a run writes a JSONL artifact with strings capped: non-numeric values under sensitive-looking object keys are redacted; numeric values under matched keys are retained; retained free text is scanned for a closed set of high-confidence credential shapes. If an `observability.exporters` Phoenix entry is set, confirm the trace appears in Phoenix. |
|
|
128
128
|
| Memory recall tool | With any memory tier configured (`memory.recallTool.enabled` defaults on), ask the agent to recall an old note and confirm `MemoryRecall` appears separately from action-tool allowlists and returns it. |
|
|
129
|
+
| Web research | Run `mono-agent validate` and require the Web search & fetch section to prove configured loopback SearXNG plus `agent-browser >=0.33.1` when rendering is enabled. Then ask for two query variants and one official-page fetch; require canonical ranked URLs, untrusted-content boundaries, and bounded timing metadata without query/URL leakage. |
|
|
129
130
|
| Semantic memory search | With `memory.embeddings` set, first prove the configured provider only: Ollama model advertises `embedding` through `/api/show` and answers `/api/embed`, or LM Studio model has exact `type: "embedding"` in `/api/v1/models` and answers `/v1/embeddings`. Verify the finite vector dimension matches config, then ask a paraphrased question about an old note and confirm `MemoryRecall` returns it. Never accept a cross-provider fallback as proof. |
|
|
130
131
|
|
|
131
132
|
## Failure Handling
|