agent-utilities 0.1.1__tar.gz
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.
- agent_utilities-0.1.1/LICENSE +21 -0
- agent_utilities-0.1.1/MANIFEST.in +1 -0
- agent_utilities-0.1.1/PKG-INFO +109 -0
- agent_utilities-0.1.1/README.md +69 -0
- agent_utilities-0.1.1/agent_utilities/__init__.py +40 -0
- agent_utilities-0.1.1/agent_utilities/agent/AGENTS.md +12 -0
- agent_utilities-0.1.1/agent_utilities/agent/CRON.md +12 -0
- agent_utilities-0.1.1/agent_utilities/agent/CRON_LOG.md +8 -0
- agent_utilities-0.1.1/agent_utilities/agent/HEARTBEAT.md +26 -0
- agent_utilities-0.1.1/agent_utilities/agent/IDENTITY.md +17 -0
- agent_utilities-0.1.1/agent_utilities/agent/MEMORY.md +8 -0
- agent_utilities-0.1.1/agent_utilities/agent/USER.md +7 -0
- agent_utilities-0.1.1/agent_utilities/agent/__init__.py +0 -0
- agent_utilities-0.1.1/agent_utilities/agent/mcp_config.json +3 -0
- agent_utilities-0.1.1/agent_utilities/agent/templates.py +118 -0
- agent_utilities-0.1.1/agent_utilities/agent_utilities.py +1444 -0
- agent_utilities-0.1.1/agent_utilities/api_utilities.py +61 -0
- agent_utilities-0.1.1/agent_utilities/base_utilities.py +131 -0
- agent_utilities-0.1.1/agent_utilities/embedding_utilities.py +110 -0
- agent_utilities-0.1.1/agent_utilities/mcp_utilities.py +229 -0
- agent_utilities-0.1.1/agent_utilities/models.py +13 -0
- agent_utilities-0.1.1/agent_utilities/tools.py +216 -0
- agent_utilities-0.1.1/agent_utilities.egg-info/PKG-INFO +109 -0
- agent_utilities-0.1.1/agent_utilities.egg-info/SOURCES.txt +31 -0
- agent_utilities-0.1.1/agent_utilities.egg-info/dependency_links.txt +1 -0
- agent_utilities-0.1.1/agent_utilities.egg-info/requires.txt +28 -0
- agent_utilities-0.1.1/agent_utilities.egg-info/top_level.txt +3 -0
- agent_utilities-0.1.1/pyproject.toml +65 -0
- agent_utilities-0.1.1/requirements.txt +1 -0
- agent_utilities-0.1.1/scripts/validate_a2a_agent.py +139 -0
- agent_utilities-0.1.1/scripts/verify_adguard.py +169 -0
- agent_utilities-0.1.1/scripts/verify_tools.py +75 -0
- agent_utilities-0.1.1/setup.cfg +4 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Knuckles Team
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
include README.md include requirements.txt recursive-include adguard_home_agent *.py
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: agent-utilities
|
|
3
|
+
Version: 0.1.1
|
|
4
|
+
Summary: Agent Utilities for Pydantic AI Agents
|
|
5
|
+
Author-email: Audel Rouhi <knucklessg1@gmail.com>
|
|
6
|
+
License: MIT
|
|
7
|
+
Classifier: Development Status :: 4 - Beta
|
|
8
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
9
|
+
Classifier: Environment :: Console
|
|
10
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
11
|
+
Classifier: Programming Language :: Python :: 3
|
|
12
|
+
Requires-Python: >=3.10
|
|
13
|
+
Description-Content-Type: text/markdown
|
|
14
|
+
License-File: LICENSE
|
|
15
|
+
Requires-Dist: pydantic>=2.0.0
|
|
16
|
+
Requires-Dist: pydantic-ai-slim>=0.0.14
|
|
17
|
+
Requires-Dist: PyYAML>=6.0.0
|
|
18
|
+
Requires-Dist: httpx>=0.23.0
|
|
19
|
+
Requires-Dist: fasta2a>=0.1.0
|
|
20
|
+
Provides-Extra: mcp
|
|
21
|
+
Requires-Dist: fastmcp>=3.0.0b1; extra == "mcp"
|
|
22
|
+
Requires-Dist: eunomia-mcp>=0.3.10; extra == "mcp"
|
|
23
|
+
Requires-Dist: fastapi>=0.128.0; extra == "mcp"
|
|
24
|
+
Provides-Extra: agent
|
|
25
|
+
Requires-Dist: universal-skills>=0.1.0; extra == "agent"
|
|
26
|
+
Requires-Dist: pydantic-ai-skills>=0.4.0; extra == "agent"
|
|
27
|
+
Requires-Dist: pydantic-ai-slim[a2a,ag-ui,anthropic,fastmcp,google,groq,huggingface,mistral,openai,web]>=1.60.0; extra == "agent"
|
|
28
|
+
Requires-Dist: fastapi>=0.128.0; extra == "agent"
|
|
29
|
+
Provides-Extra: embeddings
|
|
30
|
+
Requires-Dist: llama-index-core>=0.10.0; extra == "embeddings"
|
|
31
|
+
Requires-Dist: llama-index-embeddings-openai>=0.1.0; extra == "embeddings"
|
|
32
|
+
Requires-Dist: llama-index-embeddings-huggingface>=0.2.0; extra == "embeddings"
|
|
33
|
+
Requires-Dist: llama-index-embeddings-ollama>=0.1.0; extra == "embeddings"
|
|
34
|
+
Provides-Extra: all
|
|
35
|
+
Requires-Dist: agent-utilities[agent,embeddings,mcp]; extra == "all"
|
|
36
|
+
Requires-Dist: tree-sitter>=0.23.2; extra == "all"
|
|
37
|
+
Requires-Dist: requests>=2.28.1; extra == "all"
|
|
38
|
+
Requires-Dist: urllib3>=2.2.2; extra == "all"
|
|
39
|
+
Dynamic: license-file
|
|
40
|
+
|
|
41
|
+
# Agent Utilities - Pydantic AI Utilities
|
|
42
|
+
|
|
43
|
+

|
|
44
|
+

|
|
45
|
+

|
|
46
|
+

|
|
47
|
+

|
|
48
|
+

|
|
49
|
+

|
|
50
|
+

|
|
51
|
+
|
|
52
|
+

|
|
53
|
+

|
|
54
|
+

|
|
55
|
+

|
|
56
|
+
|
|
57
|
+

|
|
58
|
+

|
|
59
|
+

|
|
60
|
+

|
|
61
|
+

|
|
62
|
+

|
|
63
|
+
|
|
64
|
+
*Version: 0.1.1*
|
|
65
|
+
|
|
66
|
+
## Overview
|
|
67
|
+
|
|
68
|
+
Agent Utilities provides a robust foundation for building production-ready Pydantic AI Agents. It simplifies agent creation, adds multi-agent supervisor patterns, and provides essential "operating system" tools for agents, including workspace management, scheduling, and discovery.
|
|
69
|
+
|
|
70
|
+
## Key Features
|
|
71
|
+
|
|
72
|
+
- **Agent Creation**: Streamlined `create_agent` function that handles MCP servers, skills, and model configuration automatically.
|
|
73
|
+
- **Multi-Agent Support**: Native support for the supervisor pattern, allowing complex tasks to be delegated to specialized child agents.
|
|
74
|
+
- **Agent Server**: Built-in FastAPI server (`create_agent_server`) with SSE support for easy integration into web UIs and A2A networks.
|
|
75
|
+
- **Workspace Management**: Automated management of agent state through standard markdown files (`IDENTITY.md`, `MEMORY.md`, `USER.md`).
|
|
76
|
+
- **A2A Integration**: Seamless discovery and communication between agents in a distributed network.
|
|
77
|
+
- **Periodic Scheduler**: In-memory task scheduler for running background agent jobs.
|
|
78
|
+
- **Lightweight & Lazy**: Core utilities are lightweight. Heavy dependencies like FastAPI or LlamaIndex are lazy-loaded only when requested via optional extras.
|
|
79
|
+
|
|
80
|
+
## Installation
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
# Core utilities only
|
|
84
|
+
pip install agent-utilities
|
|
85
|
+
|
|
86
|
+
# With full agent support (recommended)
|
|
87
|
+
pip install agent-utilities[agent]
|
|
88
|
+
|
|
89
|
+
# With MCP server support
|
|
90
|
+
pip install agent-utilities[mcp]
|
|
91
|
+
|
|
92
|
+
# With embedding/vector support
|
|
93
|
+
pip install agent-utilities[embeddings]
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Quick Start
|
|
97
|
+
|
|
98
|
+
```python
|
|
99
|
+
from agent_utilities import create_agent
|
|
100
|
+
|
|
101
|
+
# Create a simple agent with workspace tools
|
|
102
|
+
agent = create_agent(name="MyAgent")
|
|
103
|
+
|
|
104
|
+
# Or create a multi-agent supervisor
|
|
105
|
+
agent = create_agent(
|
|
106
|
+
name="Supervisor",
|
|
107
|
+
agent_defs=[{"name": "Researcher", "description": "Search the web"}]
|
|
108
|
+
)
|
|
109
|
+
```
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Agent Utilities - Pydantic AI Utilities
|
|
2
|
+
|
|
3
|
+

|
|
4
|
+

|
|
5
|
+

|
|
6
|
+

|
|
7
|
+

|
|
8
|
+

|
|
9
|
+

|
|
10
|
+

|
|
11
|
+
|
|
12
|
+

|
|
13
|
+

|
|
14
|
+

|
|
15
|
+

|
|
16
|
+
|
|
17
|
+

|
|
18
|
+

|
|
19
|
+

|
|
20
|
+

|
|
21
|
+

|
|
22
|
+

|
|
23
|
+
|
|
24
|
+
*Version: 0.1.1*
|
|
25
|
+
|
|
26
|
+
## Overview
|
|
27
|
+
|
|
28
|
+
Agent Utilities provides a robust foundation for building production-ready Pydantic AI Agents. It simplifies agent creation, adds multi-agent supervisor patterns, and provides essential "operating system" tools for agents, including workspace management, scheduling, and discovery.
|
|
29
|
+
|
|
30
|
+
## Key Features
|
|
31
|
+
|
|
32
|
+
- **Agent Creation**: Streamlined `create_agent` function that handles MCP servers, skills, and model configuration automatically.
|
|
33
|
+
- **Multi-Agent Support**: Native support for the supervisor pattern, allowing complex tasks to be delegated to specialized child agents.
|
|
34
|
+
- **Agent Server**: Built-in FastAPI server (`create_agent_server`) with SSE support for easy integration into web UIs and A2A networks.
|
|
35
|
+
- **Workspace Management**: Automated management of agent state through standard markdown files (`IDENTITY.md`, `MEMORY.md`, `USER.md`).
|
|
36
|
+
- **A2A Integration**: Seamless discovery and communication between agents in a distributed network.
|
|
37
|
+
- **Periodic Scheduler**: In-memory task scheduler for running background agent jobs.
|
|
38
|
+
- **Lightweight & Lazy**: Core utilities are lightweight. Heavy dependencies like FastAPI or LlamaIndex are lazy-loaded only when requested via optional extras.
|
|
39
|
+
|
|
40
|
+
## Installation
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
# Core utilities only
|
|
44
|
+
pip install agent-utilities
|
|
45
|
+
|
|
46
|
+
# With full agent support (recommended)
|
|
47
|
+
pip install agent-utilities[agent]
|
|
48
|
+
|
|
49
|
+
# With MCP server support
|
|
50
|
+
pip install agent-utilities[mcp]
|
|
51
|
+
|
|
52
|
+
# With embedding/vector support
|
|
53
|
+
pip install agent-utilities[embeddings]
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## Quick Start
|
|
57
|
+
|
|
58
|
+
```python
|
|
59
|
+
from agent_utilities import create_agent
|
|
60
|
+
|
|
61
|
+
# Create a simple agent with workspace tools
|
|
62
|
+
agent = create_agent(name="MyAgent")
|
|
63
|
+
|
|
64
|
+
# Or create a multi-agent supervisor
|
|
65
|
+
agent = create_agent(
|
|
66
|
+
name="Supervisor",
|
|
67
|
+
agent_defs=[{"name": "Researcher", "description": "Search the web"}]
|
|
68
|
+
)
|
|
69
|
+
```
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
#!/usr/bin/env python
|
|
2
|
+
# coding: utf-8
|
|
3
|
+
|
|
4
|
+
from .agent_utilities import (
|
|
5
|
+
create_agent,
|
|
6
|
+
create_agent_server,
|
|
7
|
+
create_model,
|
|
8
|
+
build_system_prompt_from_workspace,
|
|
9
|
+
load_identity,
|
|
10
|
+
initialize_workspace,
|
|
11
|
+
CORE_FILES,
|
|
12
|
+
)
|
|
13
|
+
from .base_utilities import (
|
|
14
|
+
to_boolean,
|
|
15
|
+
to_integer,
|
|
16
|
+
to_float,
|
|
17
|
+
to_list,
|
|
18
|
+
to_dict,
|
|
19
|
+
retrieve_package_name,
|
|
20
|
+
)
|
|
21
|
+
from .models import PeriodicTask
|
|
22
|
+
|
|
23
|
+
__version__ = "0.1.1"
|
|
24
|
+
|
|
25
|
+
__all__ = [
|
|
26
|
+
"create_agent",
|
|
27
|
+
"create_agent_server",
|
|
28
|
+
"create_model",
|
|
29
|
+
"build_system_prompt_from_workspace",
|
|
30
|
+
"load_identity",
|
|
31
|
+
"initialize_workspace",
|
|
32
|
+
"CORE_FILES",
|
|
33
|
+
"to_boolean",
|
|
34
|
+
"to_integer",
|
|
35
|
+
"to_float",
|
|
36
|
+
"to_list",
|
|
37
|
+
"to_dict",
|
|
38
|
+
"retrieve_package_name",
|
|
39
|
+
"PeriodicTask",
|
|
40
|
+
]
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# AGENTS.md - Known A2A Peer Agents
|
|
2
|
+
Last updated: 2026-02-22 01:12
|
|
3
|
+
|
|
4
|
+
This file is the local registry of other A2A agents this agent can discover and call.
|
|
5
|
+
|
|
6
|
+
## Registered A2A Peers
|
|
7
|
+
|
|
8
|
+
| Name | Endpoint URL | Description | Capabilities | Auth | Notes / Last Connected |
|
|
9
|
+
|-----------------|---------------------------------|--------------------------------------|----------------------------------|-----------|------------------------|
|
|
10
|
+
| SearchMaster | http://search-agent:9000/a2a | Advanced web researcher | web_search, summarize, browse | none | 2026-02-20 |
|
|
11
|
+
|
|
12
|
+
*Add new rows manually or let the agent call `register_a2a_peer(...)`.*
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# CRON.md - Persistent Scheduled Tasks
|
|
2
|
+
Last updated: 2026-02-22 01:12
|
|
3
|
+
|
|
4
|
+
## Active Tasks
|
|
5
|
+
|
|
6
|
+
| ID | Name | Interval (min) | Prompt | Last run | Next approx |
|
|
7
|
+
|-------------|-------------------|----------------|-------------------------------------|-------------------|-------------|
|
|
8
|
+
| heartbeat | Heartbeat | 30 | @HEARTBEAT.md | — | — |
|
|
9
|
+
| log-cleanup | Log Cleanup | 720 | __internal:cleanup_cron_log | — | — |
|
|
10
|
+
|
|
11
|
+
*Edit this table to add/remove tasks. The agent reloads it periodically.*
|
|
12
|
+
*Use `@filename.md` in the Prompt column to load a multi-line prompt from a workspace file.*
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# CRON_LOG.md - Periodic Task Output Log
|
|
2
|
+
Last updated: 2026-02-22 01:12
|
|
3
|
+
|
|
4
|
+
This file stores the output of periodic/cron tasks.
|
|
5
|
+
The agent can read this to review what background tasks have done.
|
|
6
|
+
Old entries are automatically pruned to keep only the most recent results.
|
|
7
|
+
|
|
8
|
+
---
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Heartbeat — Periodic Self-Check
|
|
2
|
+
|
|
3
|
+
You are running a scheduled heartbeat. Perform these checks and report results concisely.
|
|
4
|
+
|
|
5
|
+
## Checks
|
|
6
|
+
|
|
7
|
+
1. **Tool Availability** — Call `list_tools` or equivalent to verify your MCP tools are reachable. Report any connection failures.
|
|
8
|
+
2. **Memory Review** — Read `MEMORY.md` and check for any pending follow-up tasks or action items. List any that are overdue.
|
|
9
|
+
3. **Cron Log** — Read `CRON_LOG.md` and check for recent errors (❌). Summarize any failures from the last 24 hours.
|
|
10
|
+
4. **Peer Agents** — Read `AGENTS.md` and note if any registered peers need attention.
|
|
11
|
+
5. **Self-Diagnostics** — Report your current model, available tool count, and any anomalies.
|
|
12
|
+
|
|
13
|
+
## Response Format
|
|
14
|
+
|
|
15
|
+
If everything is healthy:
|
|
16
|
+
```
|
|
17
|
+
HEARTBEAT_OK — All systems nominal. [tool_count] tools available. No pending actions.
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
If issues found:
|
|
21
|
+
```
|
|
22
|
+
HEARTBEAT_ALERT — [summary of issues found]
|
|
23
|
+
- Issue 1: ...
|
|
24
|
+
- Issue 2: ...
|
|
25
|
+
- Action needed: ...
|
|
26
|
+
```
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# IDENTITY.md - Who I Am, Core Personality, & Boundaries
|
|
2
|
+
|
|
3
|
+
* **Name:** AI Agent
|
|
4
|
+
* **Role:** A versatile AI agent capable of research, task delegation, and workspace management.
|
|
5
|
+
* **Emoji:** 🤖
|
|
6
|
+
* **Vibe:** Professional, efficient, helpful
|
|
7
|
+
|
|
8
|
+
## System Prompt
|
|
9
|
+
You are a highly capable AI Agent.
|
|
10
|
+
You have access to various tools and MCP servers to assist the user.
|
|
11
|
+
Your responsibilities:
|
|
12
|
+
1. Analyze the user's request.
|
|
13
|
+
2. Use available tools and skills to gather information or perform actions.
|
|
14
|
+
3. Synthesize findings into clear, well-structured responses.
|
|
15
|
+
4. Handle tool errors gracefully and refine approaches as needed.
|
|
16
|
+
5. Always cite sources when providing information gathered from external tools.
|
|
17
|
+
6. MEMORY: You have long-term memory in MEMORY.md. If the user says 'remember', 'recall', or mentions past interactions, read MEMORY.md to retrieve context. Save important decisions, outcomes, and user preferences to MEMORY.md using append_note_to_file.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# MEMORY.md - Long-term Memory
|
|
2
|
+
Last updated: 2026-02-22 01:12
|
|
3
|
+
|
|
4
|
+
This file stores important decisions, user preferences, and historical outcomes.
|
|
5
|
+
The agent should read this if the user asks "remember when" or similar.
|
|
6
|
+
|
|
7
|
+
## Log of Important Events
|
|
8
|
+
- [2026-02-21] Workspace initialized with advanced agent features.
|
|
File without changes
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import asyncio
|
|
2
|
+
from typing import Dict
|
|
3
|
+
from agent_utilities.models import PeriodicTask
|
|
4
|
+
|
|
5
|
+
# Core files we care about most
|
|
6
|
+
CORE_FILES = {
|
|
7
|
+
"IDENTITY": "IDENTITY.md",
|
|
8
|
+
"USER": "USER.md",
|
|
9
|
+
"CRON": "CRON.md",
|
|
10
|
+
"CRON_LOG": "CRON_LOG.md",
|
|
11
|
+
"AGENTS": "AGENTS.md",
|
|
12
|
+
"MEMORY": "MEMORY.md",
|
|
13
|
+
"MCP_CONFIG": "mcp_config.json",
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
# ============== IN-MEMORY PERIODIC SCHEDULER STATE ==============
|
|
17
|
+
tasks: list[PeriodicTask] = []
|
|
18
|
+
lock = asyncio.Lock()
|
|
19
|
+
|
|
20
|
+
# Templates for workspace initialization
|
|
21
|
+
TEMPLATES: Dict[str, str] = {
|
|
22
|
+
"IDENTITY": """# IDENTITY.md - Who I Am, Core Personality, & Boundaries
|
|
23
|
+
|
|
24
|
+
## [default]
|
|
25
|
+
* **Name:** AI Agent
|
|
26
|
+
* **Role:** A versatile AI agent capable of research, task delegation, and workspace management.
|
|
27
|
+
* **Emoji:** 🤖
|
|
28
|
+
* **Vibe:** Professional, efficient, helpful
|
|
29
|
+
|
|
30
|
+
### System Prompt
|
|
31
|
+
You are a highly capable AI Agent.
|
|
32
|
+
You have access to various tools and MCP servers to assist the user.
|
|
33
|
+
Your responsibilities:
|
|
34
|
+
1. Analyze the user's request.
|
|
35
|
+
2. Use available tools and skills to gather information or perform actions.
|
|
36
|
+
3. Synthesize findings into clear, well-structured responses.
|
|
37
|
+
4. Handle tool errors gracefully and refine approaches as needed.
|
|
38
|
+
5. Always cite sources when providing information gathered from external tools.
|
|
39
|
+
6. MEMORY: You have long-term memory in MEMORY.md. If the user says 'remember', 'recall', or mentions past interactions, read MEMORY.md to retrieve context. Save important decisions, outcomes, and user preferences to MEMORY.md using append_note_to_file.
|
|
40
|
+
""",
|
|
41
|
+
"USER": """# USER.md - About the Human
|
|
42
|
+
|
|
43
|
+
* **Name:** User
|
|
44
|
+
* **Preferred name:** User
|
|
45
|
+
* **Timezone:** America/Chicago
|
|
46
|
+
* **Location:** Chicago, Illinois
|
|
47
|
+
* **Style:** Technical, concise, no fluff
|
|
48
|
+
""",
|
|
49
|
+
"CRON": """# CRON.md - Persistent Scheduled Tasks
|
|
50
|
+
Last updated: {now}
|
|
51
|
+
|
|
52
|
+
## Active Tasks
|
|
53
|
+
|
|
54
|
+
| ID | Name | Interval (min) | Prompt | Last run | Next approx |
|
|
55
|
+
|-------------|-------------------|----------------|-------------------------------------|-------------------|-------------|
|
|
56
|
+
| heartbeat | Heartbeat | 30 | @HEARTBEAT.md | — | — |
|
|
57
|
+
| log-cleanup | Log Cleanup | 720 | __internal:cleanup_cron_log | — | — |
|
|
58
|
+
|
|
59
|
+
*Edit this table to add/remove tasks. The agent reloads it periodically.*
|
|
60
|
+
*Use `@filename.md` in the Prompt column to load a multi-line prompt from a workspace file.*
|
|
61
|
+
""",
|
|
62
|
+
"AGENTS": """# AGENTS.md - Known A2A Peer Agents
|
|
63
|
+
Last updated: {now}
|
|
64
|
+
|
|
65
|
+
This file is the local registry of other A2A agents this agent can discover and call.
|
|
66
|
+
|
|
67
|
+
## Registered A2A Peers
|
|
68
|
+
|
|
69
|
+
| Name | Endpoint URL | Description | Capabilities | Auth | Notes / Last Connected |
|
|
70
|
+
|-----------------|---------------------------------|--------------------------------------|----------------------------------|-----------|------------------------|
|
|
71
|
+
| SearchMaster | http://search-agent:9000/a2a | Advanced web researcher | web_search, summarize, browse | none | 2026-02-20 |
|
|
72
|
+
|
|
73
|
+
*Add new rows manually or let the agent call `register_a2a_peer(...)`.*
|
|
74
|
+
""",
|
|
75
|
+
"MEMORY": """# MEMORY.md - Long-term Memory
|
|
76
|
+
Last updated: {now}
|
|
77
|
+
|
|
78
|
+
This file stores important decisions, user preferences, and historical outcomes.
|
|
79
|
+
The agent should read this if the user asks "remember when" or similar.
|
|
80
|
+
|
|
81
|
+
## Log of Important Events
|
|
82
|
+
- [2026-02-21] Workspace initialized with advanced agent features.
|
|
83
|
+
""",
|
|
84
|
+
"MCP_CONFIG": """{
|
|
85
|
+
"mcpServers": {}
|
|
86
|
+
}
|
|
87
|
+
""",
|
|
88
|
+
"CRON_LOG": """# CRON_LOG.md - Periodic Task Output Log
|
|
89
|
+
Last updated: {now}
|
|
90
|
+
|
|
91
|
+
This file stores the output of periodic/cron tasks.
|
|
92
|
+
The agent can read this to review what background tasks have done.
|
|
93
|
+
Old entries are automatically pruned to keep only the most recent results.
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
""",
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
NEW_SKILL_TEMPLATE = """---
|
|
100
|
+
name: {name}
|
|
101
|
+
description: {description}
|
|
102
|
+
version: 0.1.0
|
|
103
|
+
tags: [{tags}]
|
|
104
|
+
input_modes: [text]
|
|
105
|
+
output_modes: [text]
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
# {name} Skill
|
|
109
|
+
|
|
110
|
+
## When to use
|
|
111
|
+
{when_to_use}
|
|
112
|
+
|
|
113
|
+
## How to use
|
|
114
|
+
{how_to_use}
|
|
115
|
+
|
|
116
|
+
## Examples
|
|
117
|
+
- Example 1: ...
|
|
118
|
+
"""
|