Commit Graph

331 Commits

Author SHA1 Message Date
William Valentin 93991dd685 Fix whisper compose healthcheck 2026-02-13 22:52:44 -08:00
William Valentin 5f833e84a6 Use local Whisper compose stack 2026-02-13 22:22:04 -08:00
William Valentin 151b48310e orchestrator: recover from context overflow on fallback 2026-02-13 21:19:02 -08:00
William Valentin 944b2c916a routing: fast-path voice when transcription not configured 2026-02-13 18:35:04 -08:00
William Valentin 7df0569a39 feat(models): add Z.AI (GLM) credential integration and setup flow
Implement first-class Z.AI credential storage and authentication:

- New auth provider: src/auth/zai.ts for Z.AI API key management
- New CLI command: flynn zai-auth to store Z.AI API keys
- New TUI command: /login zai for interactive credential entry
- Modified src/auth/index.ts to register zai provider
- Modified src/cli/index.ts to register zai-auth command
- Modified src/cli/setup/providers.ts to include Z.AI in setup wizard
- Modified src/daemon/models.ts to support zhipuai use_oauth flag
- Modified src/daemon/clientFactory.test.ts to add Z.AI tests
- Modified src/frontends/tui/commands.ts to add login command
- Modified src/frontends/tui/minimal.ts to support credential prompts

This allows users to authenticate with Z.AI (GLM models) without
embedding secrets in config files. Credentials are stored securely in
~/.config/flynn/auth.json and resolved at runtime.

Updated state.json with new feature entry documenting the integration.
2026-02-13 16:23:49 -08:00
William Valentin 8a6cd7f559 docs: Add comprehensive documentation for production deployment and contribution
This commit adds 6 new documentation files to fill critical gaps:

- CONTRIBUTING.md: Developer onboarding guide with setup, workflow,
  code style, testing, and adding features

- TROUBLESHOOTING.md: Common issues and solutions for errors,
  model issues, tool issues, channel issues, gateway issues,
  configuration issues, and memory/database issues

- docs/api/PROTOCOL.md: Gateway JSON-RPC protocol documentation
  with connection, authentication, message format, methods,
  events, error codes, and example client implementation

- docs/api/TOOLS.md: Tools API documentation covering tool interface,
  input schema format, result format, tool patterns,
  tool registration, tool policy, execution flow, and
  builtin tools reference

- docs/deployment/PRODUCTION.md: Production deployment guide
  covering Docker deployment, systemd service, security,
  configuration, monitoring, backup & recovery, and
  performance tuning

- docs/performance/TUNING.md: Performance optimization guide
  covering context management, model routing, tool execution,
  memory & embeddings, session management, database
  performance, gateway performance, and resource usage

These files complement the existing excellent documentation
(README.md, AGENTS.md, ARCHITECTURE.md, STRUCTURE.md,
CONVENTIONS.md) to provide complete coverage for users,
developers, and operators.
2026-02-13 16:07:29 -08:00
William Valentin cc54b3a10c feat(webchat): support image attachments 2026-02-13 15:03:48 -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 8f644d5e25 feat(skills): add rollout promotion contract and sync planning state 2026-02-13 08:51:19 -08:00
William Valentin 46099664f0 feat(gateway): wire safe-point runtime cancellation for agent.cancel 2026-02-13 08:51:14 -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 3472a0b926 docs(plans): add openclaw analysis and rollout checklists 2026-02-12 22:47:28 -08:00
William Valentin 6e8984f788 feat(core): add command, intent, and routing primitives 2026-02-12 22:47:22 -08:00
William Valentin 7ae0fb51c2 feat(skills): add rollout status governance and promotion policy checks 2026-02-12 22:43:46 -08:00
William Valentin 43b584257f feat(skills): hash installer audit commands for shell runner telemetry 2026-02-12 22:20:14 -08:00
William Valentin d3647567ee test(skills): add edge-case receipt tests for partial/missing runner results 2026-02-12 21:12:15 -08:00
William Valentin 8c4ac2cb00 fix(skills): reject execute without explicit confirm 2026-02-12 20:59:11 -08:00
William Valentin 81d5c4d730 test(skills): cover install and execute option parsing 2026-02-12 19:38:16 -08:00
William Valentin 8affe8bea9 feat(skills): add execute command opt-in runner flow 2026-02-12 19:28:44 -08:00
William Valentin 3272387eaa feat(skills): wire opt-in execution runner selection 2026-02-12 19:23:30 -08:00
William Valentin 30fcccd05a feat(skills): add optional shell command runner 2026-02-12 19:18:20 -08:00
William Valentin 3a1bac0891 feat(skills): map runner outcomes into step receipts 2026-02-12 19:07:13 -08:00
William Valentin 5e5d96523e feat(skills): add per-step no-op execution envelopes 2026-02-12 19:03:27 -08:00
William Valentin 0d324886eb feat(skills): add pluggable no-op runner interface 2026-02-12 18:50:28 -08:00
William Valentin a983e01db7 feat(skills): gate execution receipts with policy checks 2026-02-12 18:48:08 -08:00
William Valentin 1159fac640 feat(skills): add confirmed no-op execution receipts 2026-02-12 18:44:13 -08:00
William Valentin f0fc806f95 refactor(skills): centralize install action modes 2026-02-12 18:36:09 -08:00
William Valentin e8d5d01d4d feat(skills): add installer execution stub command 2026-02-12 18:26:09 -08:00
William Valentin 1bb791c7dd feat(skills): support install preflight-only mode 2026-02-12 18:17:46 -08:00
William Valentin 601844c50e feat(skills): preview installer plan during install 2026-02-12 18:15:42 -08:00
William Valentin d3ba1328f2 feat(skills): add installer plan command output 2026-02-12 18:11:38 -08:00
William Valentin bd754d520e feat(skills): add dry-run installer planning surface 2026-02-12 17:56:51 -08:00
William Valentin 81d04357a1 feat(skills): validate manifest installer specs 2026-02-12 17:52:53 -08:00
William Valentin bd29afeaff chore(skills): improve watcher event observability 2026-02-12 17:40:41 -08:00
William Valentin 333e33f30f feat(skills): target watcher updates with safe fallback 2026-02-12 17:36:32 -08:00
William Valentin 2fb5c9adab feat(skills): reload registry on watcher change events 2026-02-12 17:30:23 -08:00
William Valentin b773e2bbf3 feat(skills): enable watcher wiring through daemon lifecycle 2026-02-12 17:18:22 -08:00
William Valentin 95091cc198 feat(skills): add debounced watcher foundation for phase 2 2026-02-12 17:15:46 -08:00
William Valentin 0a19f01639 feat(doctor): surface skill directory health in diagnostics 2026-02-12 17:05:04 -08:00
William Valentin fc3d2ab4d8 feat(skills): add refresh summary for discovery health 2026-02-12 17:02:23 -08:00
William Valentin 2d753321b3 feat(skills): guard uninstall with explicit confirmation 2026-02-12 16:59:50 -08:00
William Valentin d5b7d72e5d feat(skills): add install dispatch for local skill setup 2026-02-12 16:50:25 -08:00
William Valentin 0d84a6bccc feat(skills): add info command for skill inspection 2026-02-12 16:44:46 -08:00
William Valentin b3e5aee333 feat(skills): expose list command for skill visibility 2026-02-12 16:42:00 -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 125af4e832 refactor(backend): use systemd for daemon management
Replace manual process management with systemctl --user commands.
Uses ollama.service and llama-server.service units for proper lifecycle
management, VRAM cleanup, and integration with system services.
2026-02-12 00:24:43 -08:00
William Valentin 1c8da30905 fix(backend): only kill processes started by TUI
Track PIDs of backends started by /backend command and only kill those
specific PIDs. Previous implementation used pkill which would kill all
Ollama/llama-server processes including those started by the user or
systemd services. Now we only terminate processes we started.
2026-02-12 00:19:26 -08:00
William Valentin 636f4b3311 feat(deploy): add whisper.cpp Kubernetes deployment
Add Dockerfile and K8s manifests for whisper.cpp transcription service.
Deploys to ai-stack namespace with worker node affinity for GPU access.
2026-02-12 00:14:41 -08:00
William Valentin e0ce07ac43 feat(makefile): add llama-server systemd management targets
Add llama-start, llama-stop, llama-restart, llama-status, llama-logs,
llama-enable, llama-disable targets for managing llama-server as a systemd service.
Matches existing daemon management pattern for consistency.
2026-02-12 00:14:28 -08:00
William Valentin 05037a917e feat(backend): auto-stop/start daemon when switching backends
- Add local_providers with ollama and llamacpp configurations
- /backend command now stops current daemon before starting new one
- Start backends as detached processes to avoid blocking TUI
- Wait 500ms for daemon to initialize before switching
2026-02-12 00:13:59 -08:00