William Valentin
2c3a00f6dd
Improve in-flight cancel latency via run abort signal propagation
2026-02-19 12:24:39 -08:00
William Valentin
f34a974210
feat: add session-scoped workflow approval gate commands
2026-02-18 10:35:42 -08:00
William Valentin
540f6780e6
feat(safety): gate sensitive tools behind elevation and immutable denylist
2026-02-17 23:51:04 -08:00
William Valentin
93621bbe6e
feat(analytics): add top tools and topics to session analytics
2026-02-16 14:45:45 -08:00
William Valentin
2cdfb66071
feat(tools): propagate timeout abort signals to tool execution
2026-02-15 22:05:43 -08:00
William Valentin
4cdad8eee9
fix(tools): clear timeout timers and update audit state
2026-02-15 21:44:40 -08:00
William Valentin
ab89378fce
feat(security): enforce elevated mode and sandbox execution
2026-02-15 17:02:05 -08:00
William Valentin
3451df41b9
feat(tools): enforce skill capabilities and secret scopes
2026-02-15 10:16:51 -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
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
6090508bad
style: auto-fix ESLint issues (curly braces and formatting)
...
- Add curly braces to all if/else/for/while statements
- Fix indentation and trailing spaces
- Auto-fixed 372 linting errors using eslint --fix
- Remaining issues are warnings only (non-null assertions, explicit any types)
2026-02-11 10:30:24 -08:00
William Valentin
6bb424cddc
feat: add agent tools and sanitize tool names for Anthropic API
...
Add 8 new agent-callable tools (sessions.list/history/create/delete,
agents.list, message.send, cron.list/trigger) and sanitize tool names
at the API boundary (dots → underscores) to comply with Anthropic's
`^[a-zA-Z0-9_-]{1,128}` requirement. Reverse-maps sanitized names
back to internal names for hook callbacks and tool execution.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-07 12:23:09 -08:00
William Valentin
ee0af0cc06
feat: add tool allow/deny profiles with per-agent and per-provider filtering
...
Implements configurable tool filtering with four built-in profiles
(minimal, messaging, coding, full), global and per-agent/per-provider
allow/deny lists with glob pattern support, and defense-in-depth
enforcement at both tool listing and execution time.
New: src/tools/policy.ts (ToolPolicy engine), src/tools/policy.test.ts (37 tests)
Modified: config schema, tool registry, tool executor, NativeAgent,
AgentOrchestrator, daemon wiring, gateway tool handler, test mocks
2026-02-06 15:30:34 -08:00
William Valentin
b00706325b
feat: add tool framework foundation (types, registry, executor, shell tool, model types, SOUL.md)
...
- Task 0: SOUL.md + loadSystemPrompt() in daemon
- Task 1: Tool type definitions (Tool, ToolCall, ToolResult, etc.)
- Task 2: ToolRegistry with Anthropic/OpenAI serialization
- Task 3: ToolExecutor with hooks, timeout, truncation
- Task 4: shell.exec builtin tool
- Task 8: Model types updated for tool use (ToolDefinition, ModelToolCall, etc.)
- Task 15: Model index exports for tool types
2026-02-05 17:39:40 -08:00