chore: add agents/reports to gitignore and update agent infrastructure with timestamp streaming, write budget, and codename generation

- Add `agents/reports/` to `.gitignore` to prevent generated agent report files from being tracked
- Implement `_TimestampStream` class and `install_timestamps()` function in `agents/agent.py` for prefixing stdout/stderr with timestamps and elapsed time
- Export `install_timestamps`, `set_write_budget`, `clear_write_budget`, and `set_shell_restricted` from `agents/base.py`; add `_RUN_LOCK`, `AGENT_ICONS` dictionary, and `WRITE_BUDGET = 20` constant
- Add `report_codename()` function and `CODENAME_ADJECTIVES`/`CODENAME_ANIMALS` tuples to `agents/core/__init__.py` for generating random agent report codenames
- Expand `WRITE_TOOLS` tuple in `agents/core/__init__.py` to include `replace_lines`, `insert_lines`, and `delete_lines`; remove `SWARM_TOOLS` from `payloads_for` exclusion list
- Update `CLAUDE.md` and `AGENTS.md` documentation with dataset column initialization rules and new agent infrastructure details
- Reorder route table in `README.md` to list `/uploads` before `/messages` and document Swagger/ReDoc/OpenAPI schema endpoints
This commit is contained in:
2026-06-12 03:37:12 +00:00
parent 7fc9b0f715
commit 31841fece4
80 changed files with 2095 additions and 323 deletions
+9 -3
View File
@@ -9,7 +9,7 @@ from fastapi.responses import JSONResponse, RedirectResponse
from devplacepy.constants import DEVII_GUEST_COOKIE
from devplacepy.database import get_int_setting
from devplacepy.seo import site_url
from devplacepy.seo import base_seo_context, site_url
from devplacepy.services.manager import service_manager
from devplacepy.templating import templates
from devplacepy.utils import (
@@ -17,6 +17,7 @@ from devplacepy.utils import (
_user_from_session,
get_current_user,
is_admin,
require_user,
)
from devplacepy.services.audit import record as audit
@@ -71,14 +72,19 @@ def _owner_from_request(request: Request):
@router.get("/")
async def devii_page(request: Request):
user = get_current_user(request)
seo_ctx = base_seo_context(
request,
title="Devii",
description="Your personal AI development assistant on DevPlace.",
robots="noindex,nofollow",
)
response = templates.TemplateResponse(
request,
"devii.html",
{
**seo_ctx,
"request": request,
"user": user,
"page_title": "Devii",
"meta_robots": "noindex,nofollow",
},
)
if not user and not request.cookies.get(GUEST_COOKIE):