Shaun Arman
8c96bfcba2
fix: add missing @testing-library/dom dependency and fix clippy warning
...
Test / rust-fmt-check (pull_request) Successful in 1m27s
Test / frontend-tests (pull_request) Successful in 1m30s
Test / frontend-typecheck (pull_request) Successful in 1m32s
Test / rust-clippy (pull_request) Successful in 3m25s
PR Review Automation / review (pull_request) Successful in 4m47s
Test / rust-tests (pull_request) Successful in 5m27s
- Add @testing-library/dom ^10.4.1 to devDependencies (required by @testing-library/react)
- Fix clippy::uninlined_format_args warning in shell.rs (use inline format)
Resolves CI test failures in frontend tests and rust-clippy job.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-06-05 10:11:41 -05:00
Shaun Arman
276fdae104
fix: address valid PR review findings
...
Test / rust-fmt-check (pull_request) Successful in 2m19s
Test / rust-clippy (pull_request) Failing after 4m15s
Test / frontend-typecheck (pull_request) Successful in 2m35s
Test / frontend-tests (pull_request) Failing after 1m47s
Test / rust-tests (pull_request) Successful in 6m17s
PR Review Automation / review (pull_request) Successful in 8m17s
Fix two valid issues identified in automated code review:
1. Fix OAuth callback AppState to preserve pending_approvals
- Clone existing pending_approvals instead of creating empty HashMap
- Prevents loss of shell approval requests during OAuth flow
2. Add validation to activate_kubeconfig
- Check that kubeconfig ID exists before activation
- Return error if ID not found to prevent silent failure
Invalid findings clarified:
- Ollama retry logic is correct (anyhow::bail exits immediately)
- systemctl classification already handles subcommands correctly
(lines 230-239: status/is-active/is-enabled are Tier 1)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-06-05 09:04:28 -05:00
Shaun Arman
b0961e7a60
fix(ci): fix YAML syntax error in test.yml
...
Test / rust-fmt-check (pull_request) Successful in 1m53s
Test / frontend-typecheck (pull_request) Successful in 1m52s
Test / frontend-tests (pull_request) Failing after 1m50s
Test / rust-clippy (pull_request) Successful in 3m13s
Test / rust-tests (pull_request) Successful in 6m30s
PR Review Automation / review (pull_request) Successful in 8m56s
Quote shell:: argument to fix YAML parsing error at line 121.
The double colon was being interpreted as a YAML mapping value.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-06-05 09:01:16 -05:00
Shaun Arman
496177b9ec
chore: trigger CI workflows
...
PR Review Automation / review (pull_request) Successful in 2m30s
Empty commit to re-trigger test.yml workflow in PR #66 .
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-06-05 08:56:04 -05:00
Shaun Arman
57fff0c8a2
style: run cargo fmt to fix formatting
...
PR Review Automation / review (pull_request) Successful in 2m19s
Fix formatting in integrations.rs and ollama/installer.rs per cargo fmt.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-06-05 08:43:50 -05:00
Shaun Arman
9b8f4fffe2
chore: update assets and version to 1.0.8
...
Updated icons, banner, version bump, changelog configuration.
- Update icon.png (336KB, updated design)
- Add new_banner.png (4MB promotional banner)
- Bump package.json version to 1.0.8
- Update package-lock.json
- Add cliff.toml for git-cliff changelog generation
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-06-05 08:36:57 -05:00
Shaun Arman
71ff71833d
ci: add shell module tests to Gitea Actions
...
Update test workflow with shell module tests.
- Add dedicated shell module test step to .gitea/workflows/test.yml
- Tests run with --test-threads=1 for consistency
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-06-05 08:26:44 -05:00
Shaun Arman
7b5f727da9
test: add shell execution and tool calling detection tests
...
Unit tests for shell classifier, executor, tool calling detection, and
frontend components.
- Add detectToolCalling.test.ts (136 lines)
- Add aiProvidersOllamaDropdown.test.tsx (129 lines)
- Add selectDropdownViewport.test.tsx (124 lines)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-06-05 08:26:22 -05:00
Shaun Arman
1400f43d7a
feat: add kubectl binary bundling for cross-platform support
...
Download and package kubectl v1.30.0 binaries for Linux (amd64/arm64),
Windows, macOS.
- Add scripts/download-kubectl.sh for kubectl binary management
- Update Cargo.toml dependencies (http 1.4, thiserror 2, rand 0.8)
- Add ollama/installer::start_ollama_service() and find_ollama_binary()
- Fix rand API deprecation (thread_rng deprecated in favor of rng in 0.8)
- Fix AppState initialization in integrations.rs (add pending_approvals)
- Configure kubectl as Tauri sidecar (currently empty array for dev)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-06-05 08:22:54 -05:00
Shaun Arman
b23ba4430a
docs: add v1.0.7 and v1.0.8 release notes
...
Release notes with sanitized content. Update CHANGELOG.md with merged
changes.
- Add v1.0.7-summary.md (Ollama function calling)
- Add v1.0.8-summary.md (Ollama reliability, auto-detection)
- Update CHANGELOG.md with release history
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-06-05 08:19:16 -05:00
Shaun Arman
40074b4202
docs: update wiki with shell execution, Ollama function calling, and CI/CD changes
...
Comprehensive wiki updates with sanitized content. Add new Shell-Execution
guide.
- Add Shell-Execution.md guide (665 lines, sanitized)
- Update AI-Providers.md with Ollama function calling
- Update Architecture.md with shell execution system
- Update IPC-Commands.md with shell commands
- Update Database.md with new tables
- Update CICD-Pipeline.md for Gitea Actions
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-06-05 08:17:19 -05:00
Shaun Arman
dd9e6c0d3d
feat: add shell execution and kubeconfig management UI
...
Real-time approval modal, settings pages, tool calling auto-detect button,
and IPC command wrappers.
- Add ShellApprovalModal component for Tier 2 command approvals
- Add ShellExecution settings page
- Add KubeconfigManager settings page
- Update AIProviders page with tool calling detection button
- Add shell command wrappers to tauriCommands.ts
- Add routes for new settings pages
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-06-05 08:14:03 -05:00
Shaun Arman
117ab390a2
feat: add Ollama function calling and tool calling auto-detection
...
Enable Ollama models to execute shell commands. Add detection command
for provider capability testing.
- Replace ai/ollama.rs with function calling support (180s timeout, retry logic)
- Update ai/openai.rs with tool calling improvements
- Add detect_tool_calling_support() command to commands/ai.rs
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-06-05 08:13:51 -05:00
Shaun Arman
e5593cbfe2
docs: add ADRs for shell safety, MCP transport, kubectl bundling
...
Architecture decision records with sanitized content (proprietary
references removed).
- ADR-007: Three-Tier Shell Safety Classification
- ADR-008: MCP Protocol Integration (HTTP transport)
- ADR-009: Bundled kubectl Binary rationale
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-06-05 08:12:19 -05:00
Shaun Arman
ad2d1ced84
feat: add shell execution database migrations (migrations #24-28)
...
Add database schema for shell command execution, kubeconfig management,
and approval tracking.
- Migration 024: shell_commands table with tier classification
- Migration 025: kubeconfig_files table for encrypted kubeconfig storage
- Migration 026: command_executions table for execution audit trail
- Migration 027: approval_decisions table for session-based approval tracking
- Migration 028: supports_tool_calling column for AI provider capabilities
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-06-05 08:00:12 -05:00
Shaun Arman
ea170ab340
feat: add three-tier shell execution with kubectl support
...
Introduce shell classifier, executor, kubeconfig manager, and kubectl
binary management. Integrates with existing commands/agentic.rs primitives.
- Add shell/classifier.rs: Three-tier safety classification (Tier 1: auto-execute, Tier 2: approve, Tier 3: deny)
- Add shell/executor.rs: Command executor with approval gates
- Add shell/kubeconfig.rs: kubeconfig parsing and management
- Add shell/kubectl.rs: kubectl binary management
- Add commands/shell.rs: Tauri IPC commands for shell execution
- Update state.rs: Add pending_approvals field for approval flow
- Update lib.rs: Register shell module and commands
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-06-05 07:59:04 -05:00