v0.3.0: rename app Daybook -> AgentFeed
Removes the "Daybook" name from everything user- and agent-facing, since no agents are configured yet and this is the cheap moment to do it. - UI brand, docs, README, CLAUDE.md -> AgentFeed. - Ingest env vars DAYBOOK_URL/TOKEN/SOURCE/DATA_DIR/BIND_ADDR/HOST_DATA_DIR/ KEY_PROVISIONING_API -> AGENTFEED_* (token *values* unchanged). - Skill: skills/daybook-posting -> skills/agentfeed-posting, daybook_post.py -> agentfeed_post.py (+ scripts/ wrapper and its test). - static/daybook.css -> static/agentfeed.css; localStorage daybook.* -> agentfeed.*; templatetag daybook_extras -> agentfeed_extras; multipart boundaries; json/csv viewer element ids; daybook_exception_handler -> agentfeed_exception_handler; compose service/container -> agentfeed. - Key-provisioning API now OFF by default (independent of DEBUG); enable with AGENTFEED_KEY_PROVISIONING_API=1 on test installs only. - Posting helper now points at Settings -> API Keys. Deferred on purpose (a later, separate step): the Django package `daybook_project`, the `/opt/daybook` install path, and the Forgejo repo name. The sibling AGENT_DAYBOOK__LLM_TEST name is intentionally untouched. Full suite: 129 passing; live server verified serving under the new name. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
4cacd8f64e
commit
d30e2436ab
39 changed files with 303 additions and 284 deletions
|
|
@ -3,7 +3,7 @@ from pathlib import Path
|
|||
|
||||
|
||||
BASE_DIR = Path(__file__).resolve().parent.parent
|
||||
DATA_DIR = Path(os.environ.get("DAYBOOK_DATA_DIR", BASE_DIR)).resolve()
|
||||
DATA_DIR = Path(os.environ.get("AGENTFEED_DATA_DIR", BASE_DIR)).resolve()
|
||||
|
||||
SECRET_KEY = os.environ.get("DJANGO_SECRET_KEY", "dev-only-change-me")
|
||||
DEBUG = os.environ.get("DJANGO_DEBUG", "1").lower() in {"1", "true", "yes", "on"}
|
||||
|
|
@ -11,14 +11,13 @@ ALLOWED_HOSTS = [host.strip() for host in os.environ.get("DJANGO_ALLOWED_HOSTS",
|
|||
|
||||
# Allow creating/listing/revoking API keys over the ingest API (POST /api/keys).
|
||||
# Meant for automated test installations that provision their own agents. It
|
||||
# exposes key material over the API, so it is OFF in deployment. Unset, it
|
||||
# follows DEBUG (on locally, off in production); set DAYBOOK_KEY_PROVISIONING_API
|
||||
# explicitly (0/1) to override either way.
|
||||
_key_api_env = os.environ.get("DAYBOOK_KEY_PROVISIONING_API")
|
||||
if _key_api_env is None:
|
||||
DAYBOOK_KEY_PROVISIONING_API = DEBUG
|
||||
else:
|
||||
DAYBOOK_KEY_PROVISIONING_API = _key_api_env.lower() in {"1", "true", "yes", "on"}
|
||||
# exposes key material over the API, so it is DISABLED BY DEFAULT and must be
|
||||
# turned on explicitly — set AGENTFEED_KEY_PROVISIONING_API=1 only on a throwaway
|
||||
# test install. Never enable it in a real deployment. (Independent of DEBUG, so
|
||||
# a misconfigured DEBUG=1 production box still won't expose it.)
|
||||
AGENTFEED_KEY_PROVISIONING_API = os.environ.get(
|
||||
"AGENTFEED_KEY_PROVISIONING_API", ""
|
||||
).lower() in {"1", "true", "yes", "on"}
|
||||
|
||||
# Needed when running behind a TLS-terminating reverse proxy (Apache/Nginx/etc.):
|
||||
# Django otherwise thinks every request is plain HTTP, which breaks CSRF checks
|
||||
|
|
@ -71,7 +70,7 @@ WSGI_APPLICATION = "daybook_project.wsgi.application"
|
|||
REST_FRAMEWORK = {
|
||||
# Maps deeply-nested-JSON RecursionErrors (raised in DRF's parser, before
|
||||
# view validation) to a 400 instead of an unhandled 500. See issue #015.
|
||||
"EXCEPTION_HANDLER": "artifacts.exception_handlers.daybook_exception_handler",
|
||||
"EXCEPTION_HANDLER": "artifacts.exception_handlers.agentfeed_exception_handler",
|
||||
}
|
||||
|
||||
DATABASES = {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue