@mono-agent/agent-app 0.11.4 → 0.11.5
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mono-agent/agent-app",
|
|
3
|
-
"version": "0.11.
|
|
3
|
+
"version": "0.11.5",
|
|
4
4
|
"description": "Config-first mono-agent host: builds a responder and starts every configured communication channel and traceability from one mono-agent.config.json.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "GPL-3.0-only",
|
|
@@ -37,20 +37,20 @@
|
|
|
37
37
|
"@clack/prompts": "^1.7.0",
|
|
38
38
|
"@earendil-works/pi-ai": "0.80.6",
|
|
39
39
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
40
|
-
"@mono-agent/agent-contracts": "0.11.
|
|
41
|
-
"@mono-agent/agent-harness": "0.11.
|
|
42
|
-
"@mono-agent/config": "0.11.
|
|
43
|
-
"@mono-agent/cron-adapter": "0.11.
|
|
44
|
-
"@mono-agent/operator-adapter": "0.11.
|
|
45
|
-
"@mono-agent/memory": "0.11.
|
|
46
|
-
"@mono-agent/observability": "0.11.
|
|
47
|
-
"@mono-agent/openai-api-adapter": "0.11.
|
|
48
|
-
"@mono-agent/runtime-adapter": "0.11.
|
|
49
|
-
"@mono-agent/session-web": "0.11.
|
|
50
|
-
"@mono-agent/slack-adapter": "0.11.
|
|
51
|
-
"@mono-agent/telegram-adapter": "0.11.
|
|
52
|
-
"@mono-agent/tui": "0.11.
|
|
53
|
-
"@mono-agent/webhook-adapter": "0.11.
|
|
40
|
+
"@mono-agent/agent-contracts": "0.11.5",
|
|
41
|
+
"@mono-agent/agent-harness": "0.11.5",
|
|
42
|
+
"@mono-agent/config": "0.11.5",
|
|
43
|
+
"@mono-agent/cron-adapter": "0.11.5",
|
|
44
|
+
"@mono-agent/operator-adapter": "0.11.5",
|
|
45
|
+
"@mono-agent/memory": "0.11.5",
|
|
46
|
+
"@mono-agent/observability": "0.11.5",
|
|
47
|
+
"@mono-agent/openai-api-adapter": "0.11.5",
|
|
48
|
+
"@mono-agent/runtime-adapter": "0.11.5",
|
|
49
|
+
"@mono-agent/session-web": "0.11.5",
|
|
50
|
+
"@mono-agent/slack-adapter": "0.11.5",
|
|
51
|
+
"@mono-agent/telegram-adapter": "0.11.5",
|
|
52
|
+
"@mono-agent/tui": "0.11.5",
|
|
53
|
+
"@mono-agent/webhook-adapter": "0.11.5",
|
|
54
54
|
"undici": "8.7.0",
|
|
55
55
|
"zod": "^4.4.3"
|
|
56
56
|
},
|
|
@@ -257,11 +257,12 @@ new agent.
|
|
|
257
257
|
"modelId": "my-agent" // model id advertised to API clients
|
|
258
258
|
},
|
|
259
259
|
|
|
260
|
-
// Telegram & Slack
|
|
261
|
-
//
|
|
262
|
-
//
|
|
263
|
-
//
|
|
264
|
-
// stream.finalOnly=false. The
|
|
260
|
+
// Telegram & Slack do not stream ANSWER tokens by default. They first show a
|
|
261
|
+
// working indicator; inbound tool starts then edit one temporary, redacted
|
|
262
|
+
// activity ledger that the final answer replaces. Proactive turns suppress
|
|
263
|
+
// the ledger. This is built-in behavior (not a JSON field); a custom channel
|
|
264
|
+
// driver can set stream.showHints=false or stream.finalOnly=false. The
|
|
265
|
+
// OpenAI-compatible endpoint still streams tokens.
|
|
265
266
|
"telegram": {
|
|
266
267
|
"enabled": true, // opt-in; defaults to false (off → "disabled")
|
|
267
268
|
// Put MONO_AGENT_TELEGRAM_BOT_TOKEN in .env; do not inline botToken here.
|
|
@@ -96,7 +96,7 @@ Communication adapters are edge packages. They accept an `AgentResponder` and ow
|
|
|
96
96
|
| Surface | Package | First smoke |
|
|
97
97
|
| --- | --- | --- |
|
|
98
98
|
| Telegram | `@mono-agent/telegram-adapter` | Allowed chat sends a message |
|
|
99
|
-
| Slack | `@mono-agent/slack-adapter` | Allowed channel or DM gets
|
|
99
|
+
| Slack | `@mono-agent/slack-adapter` | Allowed channel or DM gets the final reply |
|
|
100
100
|
| WhatsApp | `@mono-agent/whatsapp-adapter` (external channel plugin) | Allowed sender/group trigger produces a reply |
|
|
101
101
|
| OpenAI-compatible API | `@mono-agent/openai-api-adapter` | `curl /v1/models` and `/v1/chat/completions` |
|
|
102
102
|
| Operator endpoints | `@mono-agent/operator-adapter` | `mono-agent tui` connects; `mono-agent web` observes live runs |
|
|
@@ -14,7 +14,7 @@ Flow, check whether one of these fits and adapt it. Verify every key against
|
|
|
14
14
|
## 1. Personal Telegram assistant with BuJo memory
|
|
15
15
|
**For:** an individual wanting a private assistant that remembers.
|
|
16
16
|
**Goal:** a Telegram bot (long polling) that captures every turn into BuJo memory with scheduled consolidation and recalls past notes semantically.
|
|
17
|
-
**Features:** `telegram.long-polling`, `channel.final-only-delivery`, `memory.bujo`, `memory.per-turn-capture`, `memory.bujo-consolidation`, `memory.recall-tool`, `memory.embeddings`.
|
|
17
|
+
**Features:** `telegram.long-polling`, `channel.final-only-delivery`, `channel.transient-tool-activity`, `memory.bujo`, `memory.per-turn-capture`, `memory.bujo-consolidation`, `memory.recall-tool`, `memory.embeddings`.
|
|
18
18
|
|
|
19
19
|
Put `MONO_AGENT_TELEGRAM_BOT_TOKEN=...` in `.env`; the source config omits the credential.
|
|
20
20
|
|
|
@@ -31,12 +31,12 @@ Put `MONO_AGENT_TELEGRAM_BOT_TOKEN=...` in `.env`; the source config omits the c
|
|
|
31
31
|
}
|
|
32
32
|
```
|
|
33
33
|
**Steps:** `ollama pull nomic-embed-text:v1.5 && ollama pull qwen3.6:latest` → `mono-agent init --model claude:claude-sonnet-4-6 --memory bujo` → add telegram + fill embeddings/llm + `writeMode: capture` → `mono-agent validate` (confirm memory liveness + consolidation cadence) → `mono-agent start`.
|
|
34
|
-
**Smoke:** send a fact from the allowed chat, then ask a paraphrased question later; confirm `MemoryRecall` in the run JSONL and
|
|
34
|
+
**Smoke:** send a fact from the allowed chat, then ask a paraphrased question later; confirm the temporary memory-tool activity is replaced by the final answer, `MemoryRecall` appears in the run JSONL, and the answer uses it.
|
|
35
35
|
|
|
36
36
|
## 2. Slack team bot with MCP tools
|
|
37
37
|
**For:** a DevOps engineer running a shared team bot.
|
|
38
38
|
**Goal:** a mention-triggered Slack Socket Mode bot with a custom MCP tool, Read/Grep, and `SlackSendMessage` for proactive posts.
|
|
39
|
-
**Features:** `slack.socket-mode`, `tool-policy.allowlist`, `tool-policy.mcp-servers`, `agent-app.adapter-send-tools`, `runtime.concurrency`.
|
|
39
|
+
**Features:** `slack.socket-mode`, `channel.transient-tool-activity`, `tool-policy.allowlist`, `tool-policy.mcp-servers`, `agent-app.adapter-send-tools`, `runtime.concurrency`.
|
|
40
40
|
|
|
41
41
|
Put `MONO_AGENT_SLACK_BOT_TOKEN` and `MONO_AGENT_SLACK_APP_TOKEN` in `.env`; the source config omits credentials.
|
|
42
42
|
|
|
@@ -49,7 +49,7 @@ Put `MONO_AGENT_SLACK_BOT_TOKEN` and `MONO_AGENT_SLACK_APP_TOKEN` in `.env`; the
|
|
|
49
49
|
}
|
|
50
50
|
```
|
|
51
51
|
**Steps:** create a Slack app (Socket Mode app token + bot token) → `mono-agent init` (allow-all by default) → write `mcp.json` (the MCP tool becomes available from the server declaration — MCP tools aren't gated by `allowedTools`) → add slack; `SlackSendMessage` is auto-available under allow-all, or name it if you narrow to a specific allowlist → `validate` → `start`.
|
|
52
|
-
**Smoke:** mention the bot in an allowed channel; confirm the
|
|
52
|
+
**Smoke:** mention the bot in an allowed channel; confirm the 👀/assistant status, the temporary MCP-tool activity message being replaced by the final answer, the tool firing in the artifact, and `SlackSendMessage` posting only to allowed channels.
|
|
53
53
|
|
|
54
54
|
## 3. Fully local Ollama agent (no cloud)
|
|
55
55
|
**For:** a privacy-focused user with no cloud budget.
|
|
@@ -94,8 +94,8 @@ pnpm run test:demo
|
|
|
94
94
|
| Surface | Smoke |
|
|
95
95
|
| --- | --- |
|
|
96
96
|
| TUI | Start the host, connect with ordinary `mono-agent tui`, and complete one real prompt against the running responder. |
|
|
97
|
-
| Telegram | Send one allowed chat message
|
|
98
|
-
| Slack | Send one allowed DM or channel message
|
|
97
|
+
| Telegram | Send one allowed chat message that uses a tool; verify one transient activity ledger is replaced by the final reply. |
|
|
98
|
+
| Slack | Send one allowed DM or channel message that uses a tool; verify formatting and one transient activity ledger replaced by the final reply. |
|
|
99
99
|
| Adapter send tools | When `SlackSendMessage` / `TelegramSendMessage` are available (allow-all, or an explicit `tools.allowedTools` entry) with the channel enabled, call them from a non-Slack/Telegram surface such as TUI, cron, or OpenAI API to an allowed destination; verify delivery, then reply at the destination and verify the exact sent text appears in replayed history. |
|
|
100
100
|
| WhatsApp | Send one allowed sender/group trigger and verify the reply. |
|
|
101
101
|
| OpenAI API | `curl /v1/models` and `/v1/chat/completions`. |
|