William Valentin
776b47f80f
feat: wire agent.delegate tool with sub-agent configs
...
- Export createAgentDelegateTool through builtin/index.ts → tools/index.ts
- Register agent.delegate in routing.ts with lazy orchestrator pattern
- Add agent.delegate + agents.list to messaging and coding policy profiles
- Add group:agents tool group to policy.ts
- Add research/code/comms agent config examples to default.yaml
- Add research/code/comms agent configs to user config.yaml
- Add 11 tests for agent-delegate tool (all pass)
- Typecheck clean, no regressions
2026-02-17 10:28:29 -08:00
William Valentin
8758ea8f1c
feat(compaction): add proactive context budget and checkpointing
2026-02-16 15:44:00 -08:00
William Valentin
3210e75c94
feat(ops): add setup operator pack, heartbeat alert cooldown, and doctor strict mode
2026-02-16 14:57:56 -08:00
William Valentin
63df791b26
feat(tools): add kubernetes homelab awareness tools
2026-02-16 14:45:45 -08:00
William Valentin
21c986b671
feat(automation): add scheduled minio memory sync jobs
2026-02-16 14:45:45 -08:00
William Valentin
56854f04bd
feat(automation): add timezone-safe daily briefing dedupe
2026-02-16 14:45:45 -08:00
William Valentin
71af3b5a42
feat(heartbeat): add provider error-rate spike check
2026-02-16 14:45:45 -08:00
William Valentin
07340ff0af
feat(heartbeat): add process memory and backup health checks
2026-02-16 14:45:45 -08:00
William Valentin
8684c3a07d
feat(backup): add scheduler alerts and recovery notifications
2026-02-16 14:45:45 -08:00
William Valentin
ce621d1b72
feat(automation): add daily briefing preset and cron backup scheduling
2026-02-16 14:45:45 -08:00
William Valentin
3f627cc1ad
feat(session): add optional end-of-session summarization
2026-02-16 13:18:42 -08:00
William Valentin
01ee6ba53f
feat(backup): add MinIO snapshot backups via CLI and scheduler
2026-02-16 13:16:29 -08:00
William Valentin
8bed99c770
Add Zalo channel adapter with webhook and send path
2026-02-16 13:11:51 -08:00
William Valentin
891ccb696e
Add Feishu channel adapter with webhook and send path
2026-02-16 13:07:45 -08:00
William Valentin
76d44a74bf
Add LINE channel adapter with webhook ingress and gating
2026-02-16 13:02:26 -08:00
William Valentin
58c4b0b9bb
Add iOS node push-token registration foundation
2026-02-16 12:47:34 -08:00
William Valentin
fe8674e108
Add node location access RPCs and operator visibility
2026-02-16 12:30:55 -08:00
William Valentin
d9f7807ab2
feat(gateway): add node capability negotiation foundation
2026-02-16 12:14:25 -08:00
William Valentin
de0c1f41b3
feat(channels): add mattermost adapter and wiring
2026-02-16 12:09:44 -08:00
William Valentin
813a0dc5c5
feat(gateway): complete openclaw phase1 queue parity v2
2026-02-16 12:04:33 -08:00
William Valentin
fbd24d4379
feat(gateway): support per-channel and per-session queue policy overrides
2026-02-16 11:51:26 -08:00
William Valentin
f7284a4ef1
feat(gateway): add configurable lane queue mode, cap, and overflow
2026-02-16 11:48:45 -08:00
William Valentin
83b8e38b11
feat(runtime): add talk mode and capture tools
2026-02-16 10:17:24 -08:00
William Valentin
8e9f9aa4de
feat(channels): add bluebubbles imessage adapter
2026-02-16 09:41:26 -08:00
William Valentin
693dcd8421
feat(channels): add google chat adapter and webhook route
2026-02-16 02:07:55 -08:00
William Valentin
8e35d2d674
feat(channels): add microsoft teams bot framework adapter
2026-02-16 02:00:14 -08:00
William Valentin
0269c6032d
feat(channels): add signal-cli channel adapter
2026-02-16 01:54:54 -08:00
William Valentin
323bef0526
feat(gateway): add optional bonjour/mdns discovery
2026-02-16 01:48:59 -08:00
William Valentin
ae36248da8
feat(skills): add registry doctor diagnostics and docs
2026-02-16 00:53:25 -08:00
William Valentin
8709c3c9b4
fix(whatsapp): sandbox chromium by default
2026-02-15 21:57:52 -08:00
William Valentin
63d645bd87
feat(gateway): add websocket ingress rate limiting
2026-02-15 21:56:13 -08:00
William Valentin
7f563b4bb1
fix(agent): raise max iterations default from 10 to 200
...
The low default caused the agent to stop mid-task prematurely.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-15 21:48:16 -08:00
William Valentin
d93c1c9f8d
fix(gateway): enforce request body size limits
2026-02-15 21:44:36 -08:00
William Valentin
81c97a9df1
feat(memory): add experimental qmd search backend
2026-02-15 19:33:43 -08:00
William Valentin
421942f66d
feat(automation): add isolated job delivery mode
2026-02-15 19:23:15 -08:00
William Valentin
0470647ee7
feat(models): add minimax and moonshot providers
2026-02-15 19:18:48 -08:00
William Valentin
5fdb9e5a83
feat(config): add Matrix channel config
2026-02-15 18:02:14 -08:00
William Valentin
87e942b4c5
feat(models): add Vercel AI Gateway provider
2026-02-15 10:52:03 -08:00
William Valentin
9755487793
config: add per-tier auth_mode
2026-02-15 10:23:03 -08:00
William Valentin
184ebe4480
models: add synthetic provider
2026-02-14 09:34:39 -08:00
William Valentin
955b9e28e0
feat: add OpenAI OAuth, strict model overrides, and Gmail pull mode
2026-02-13 14:55:40 -08:00
William Valentin
9f81c01603
feat(session): persist model tier overrides per session
...
Store per-session config in SQLite and route /model and /reset through command fast-paths so channel sessions keep independent model selection across reconnects and restarts.
2026-02-13 01:04:26 -08:00
William Valentin
b773e2bbf3
feat(skills): enable watcher wiring through daemon lifecycle
2026-02-12 17:18:22 -08:00
William Valentin
90ce622080
feat(policy): enforce truthfulness and autonomy guardrails
...
Add runtime truthfulness modes and autonomy-level tool gating with audit metadata for overrides/denials.
Wire policy through prompt assembly, tool execution context, and daemon/gateway agent paths; update tests and planning state for Phase 3 PR #2 completion.
2026-02-12 16:06:45 -08:00
William Valentin
148219153e
feat(audio): add tests, token estimation, and config override for native audio
...
- Add capabilities.test.ts (18 tests) for supportsAudioInput()
- Add 15 audio tests to media.test.ts (hasAudio, stripAudioParts, attachmentToAudioSource)
- Add estimateAudioTokens() to tokens.ts (base64→bytes→duration→tokens)
- Update estimateMessageTokens() to include audio content parts
- Add 5 audio token tests to tokens.test.ts
- Add supports_audio config override to model schema
- Wire supports_audio from tier config through routing to capability check
Total tests: 1369 (was 1331, +38 audio-related)
2026-02-11 18:27:19 -08:00
William Valentin
a875bcc4ae
feat(audio): add audio.transcribe tool with Whisper-compatible API support
...
- Add createAudioTranscribeTool with OpenAI/Groq/Ollama/llama.cpp provider support
- Refactor audio config schema to nested audio.enabled + audio.provider structure
- Move audio tool registration to initTools() for conditional enablement
- Fix duplication bug in audio-transcribe.ts URL download handler
- Support base64 data and URL-based audio input with format detection
2026-02-11 18:13:19 -08:00
William Valentin
d62e836b5d
feat(audit): Add core audit logging infrastructure
...
- Add AuditLogger class with rotation support
- Add audit configuration to config schema
- Instrument tool execution with full audit logging
- Instrument session lifecycle (create, message, delete, transfer, compact)
- Add audit logger initialization in daemon
- Add cron scheduler audit logging
Audit events captured:
- tool.start/success/error/denied
- session.create/message/delete/transfer/compact
- cron.trigger/add/remove
All logs go to ~/.local/share/flynn/audit.log (JSON lines)
with rotation (10MB files, 30-day retention)
2026-02-11 15:58:07 -08:00
William Valentin
eea7ca62a8
chore: increase GmailWatcher default poll interval from 60s to 300s
2026-02-11 08:43:48 -08:00
William Valentin
60b214e7c4
feat: add per-cron-job model tier selection
...
Allow cron jobs to specify a `model_tier` field that controls which LLM
tier handles the job, without needing separate agent configs. Precedence:
cron job model_tier > agent config > global primary_tier > 'default'.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-10 22:31:18 -08:00
William Valentin
25482b8516
feat: sync PROVIDER_NAMES with config schema and update README docs
...
Extract MODEL_PROVIDERS const from config schema as single source of truth
for provider names. PROVIDER_NAMES in TUI commands now imports from schema
instead of maintaining a hardcoded list. Adds tests verifying sync.
Updates README TUI Commands section with /model hot-swap documentation,
supported providers, and runtime model switching examples.
2026-02-10 21:26:18 -08:00