2
0

29 Commits

Author SHA1 Message Date
a55aa5f717 refactor(ai): migrate AI services to structured output plugins
All checks were successful
Build and Test / build (push) Successful in 18s
Release / build (push) Successful in 35s
Convert all AI services to use plugin-based structured output:
- Create dedicated plugins for code intelligence, review, docs, issues, and workflows
- Replace JSON parsing with SendForStructuredOutputAsync
- Add PluginHelpers for consistent deserialization
- Remove inline prompt instructions in favor of plugin definitions
- Eliminate brittle JSON parsing and error handling
- Improve type safety and maintainability across all AI features

Affected services: CodeIntelligence, CodeReview, Documentation, Issue, Workflow inspection
v1.0.6
2026-03-07 16:10:56 -05:00
1385cbafa9 feat(ai): add AI plugins for A/B test generation and analysis
Implement AI-powered A/B testing capabilities for landing pages:
- ABTestGeneratePlugin: creates experiment variants with config overrides
- ABTestAnalyzePlugin: evaluates results and determines statistical significance
- Generate 1-3 test variants focusing on high-impact changes (headlines, CTAs, value props)
- Analyze conversion rates with 95% confidence threshold
- Require minimum 100 impressions per variant before declaring winner
- Return structured recommendations for next actions
2026-03-07 15:57:28 -05:00
61ba70c2ad feat(ai): add AI plugins for landing page content generation
Implement AI plugins for automated landing page creation:
- LandingPageContentPlugin: generates hero, features, stats, CTAs from repo metadata
- LandingPageTranslationPlugin: translates landing page content to target languages
- Shared model classes matching Go server's expected JSON structure
- Uses structured output via tool_choice for reliable parsing
- Supports 20+ icon types for features and value props
- Integrates with WorkflowService for task execution
2026-03-07 15:52:11 -05:00
7f7bdcc568 Update AIController.cs
All checks were successful
Build and Test / build (push) Successful in 28s
Release / build (push) Successful in 40s
v1.0.5
2026-03-07 12:39:22 -05:00
6e25266da3 feat(plugins): add protocol versioning to plugin interface
All checks were successful
Build and Test / build (push) Successful in 20s
Release / build (push) Successful in 37s
Add protocol_version field to Initialize RPC for forward compatibility as the plugin protocol evolves.

Changes:
- Add protocol_version to InitializeRequest (server → plugin)
- Add protocol_version to InitializeResponse (plugin → server)
- Set current protocol version to 1
- Version 0 indicates pre-versioning implementations (treated as v1)

This allows the server and plugins to negotiate capabilities:
- Server can avoid calling RPCs that older plugins don't implement
- Plugins can detect newer servers and enable advanced features
- Graceful degradation when versions mismatch

The AI service now reports protocol version 1 during initialization.
v1.0.4
2026-02-13 02:17:56 -05:00
ea06ca266f docs(ai-service): update readme with plugin protocol integration
Update AI service README to reflect the dual-service architecture (AI operations + plugin protocol) and complete integration guide.

Architecture Updates:
- Document both GitCaddyAIService and PluginService running on port 5000
- Add architecture diagram showing server's AI client and plugin manager connections
- Clarify h2c (cleartext HTTP/2) transport for gRPC + REST on same port

API Reference:
- Add plugin protocol RPC methods (Initialize, HealthCheck, OnEvent, Shutdown)
- Explain plugin lifecycle and health monitoring (30s intervals)
- Document manifest-based capability declaration

Integration Guide:
- Split configuration into [ai] (operations) and [plugins.gitcaddy-ai] (lifecycle)
- Explain how both sections work together for complete integration
- Update client examples to use port 5000 (was 5051)
- Add transport details and event subscription explanation

This provides a complete picture of how the AI service integrates with the server as both an AI operations provider and a managed plugin.
2026-02-13 01:54:41 -05:00
ac8aa4c868 feat(ai-service): implement plugin protocol for managed lifecycle
Add gRPC-based plugin protocol implementation to the AI sidecar, enabling the GitCaddy server to manage it as an external plugin with lifecycle control and health monitoring.

Plugin Protocol Implementation:
- Add plugin.proto with PluginService definition (Initialize, Shutdown, HealthCheck, GetManifest, OnEvent, HandleHTTP)
- Implement PluginServiceImpl gRPC service in C#
- Return manifest declaring AI service capabilities, routes, and required permissions
- Integrate license validation into health checks
- Register plugin service alongside existing AI service

Server Integration:
- Configure Kestrel for HTTP/1.1 + HTTP/2 on port 5000 (enables gRPC + REST)
- Map PluginService gRPC endpoint at /plugin.v1.PluginService
- Enable server to call Initialize on startup, HealthCheck periodically, and Shutdown on graceful stop

This completes Phase 5 of the AI integration, allowing the server's external plugin manager to monitor and control the sidecar's lifecycle instead of relying on manual process management.
2026-02-13 01:44:55 -05:00
a1bc4faef4 feat(ai-service): add per-request provider config and workflow inspection
All checks were successful
Build and Test / build (push) Successful in 21s
Release / build (push) Successful in 40s
Add support for per-request AI provider configuration and workflow YAML inspection endpoint, enabling multi-tenant AI operations.

Per-Request Provider Config:
- Add CreateConversation overload accepting provider, model, and API key
- Add CreateConversation helper method in AIController to resolve config cascade
- When ProviderConfig is provided in request, override sidecar defaults
- Falls back to sidecar configuration when not provided (backwards compatible)

This fixes the critical multi-tenant gap where all organizations shared the sidecar's hardcoded provider configuration.

Workflow Inspection:
- Add POST /api/v1/workflows/inspect endpoint
- Analyzes GitHub Actions/Gitea Actions YAML for issues
- Detects syntax errors, security issues, performance problems, and best practice violations
- Returns structured JSON with issues (line, severity, message, fix) and suggestions
- Supports runner label compatibility checking

Both features support the ProviderConfigDto pattern for tenant-specific AI configuration.
v1.0.3
2026-02-13 01:15:47 -05:00
a07c2983d8 chore(nuget): update package source to ai organization
All checks were successful
Build and Test / build (push) Successful in 16s
Release / build (push) Successful in 40s
v1.0.2
2026-02-12 09:22:18 -05:00
71ab62a455 feat(ai-service): add issue response rest endpoint
Some checks failed
Build and Test / build (push) Has been cancelled
Release / build (push) Failing after 15s
Add missing REST endpoint POST /api/v1/issues/respond to the AI service, completing the REST API coverage for Tier 1 operations.

The endpoint wraps the existing gRPC IssueService.GenerateResponseAsync method, accepting issue metadata (title, body, comments) and returning an AI-generated response with follow-up questions.

This enables the Go server's AI client (modules/ai/client.go) to call the issue response operation via REST, matching the pattern used by other Tier 1 operations (triage, review, explain).
2026-02-12 00:47:50 -05:00
8ec672ae07 Create note-1770870661601-657f3az5c.json 2026-02-11 23:38:54 -05:00
3c566c4a71 Merge branch 'main' of https://git.marketally.com/gitcaddy/gitcaddy-ai
Some checks failed
Release / build (push) Has been cancelled
Build and Test / build (push) Has been cancelled
v1.0.0
2026-01-19 14:11:57 -05:00
f44e7fe55c ci(release): remove unnecessary zip installation step 2026-01-19 14:11:15 -05:00
5f7d5426a4 Update .gitea/workflows/release.yml
Some checks failed
Build and Test / build (push) Has been cancelled
2026-01-19 18:29:11 +00:00
f05344418f fix(ci): install zip utility in release workflow
Some checks failed
Release / build (push) Failing after 24s
Build and Test / build (push) Has been cancelled
2026-01-19 13:25:36 -05:00
1d5a7bd6eb ci(deps): remove Docker build jobs from workflows
Some checks failed
Release / build (push) Failing after 32s
Build and Test / build (push) Has been cancelled
2026-01-19 13:17:34 -05:00
750fdae1d6 ci(deps): use macOS runners for Docker build jobs
Some checks failed
Build and Test / build (push) Successful in 15s
Build and Test / docker (push) Failing after 3m31s
2026-01-19 13:04:05 -05:00
f4609ee8a7 chore(deps): update Microsoft.Extensions.Logging.Abstractions to 9.0.11
Some checks failed
Build and Test / build (push) Successful in 19s
Build and Test / docker (push) Failing after 1m20s
2026-01-19 12:44:21 -05:00
cc679e4c14 Update nuget.config
Some checks failed
Build and Test / build (push) Failing after 15s
Build and Test / docker (push) Has been skipped
2026-01-19 11:56:39 -05:00
83b06cae39 fix(build): correct Gitea NuGet package source URL
Some checks failed
Build and Test / build (push) Failing after 27s
Build and Test / docker (push) Has been skipped
2026-01-19 11:53:56 -05:00
61cc4e8fcd build(ci): add NuGet config for private package feed
Some checks failed
Build and Test / build (push) Failing after 11s
Build and Test / docker (push) Has been skipped
Add nuget.config with Gitea package source for MarketAlly.* packages and credential configuration using environment variables. Remove nuget.config from .gitignore to track package source configuration while keeping credentials secure through environment variable substitution.
2026-01-19 11:37:16 -05:00
e24b23ca3b fix(ci): support NuGet package fallback for CI builds
Some checks failed
Build and Test / build (push) Failing after 18s
Build and Test / docker (push) Has been skipped
Add conditional reference logic to use ProjectReference when available locally, falling back to PackageReference in CI environments. Pass NuGet credentials as environment variables during restore to enable authentication for private package feeds.
2026-01-19 11:33:04 -05:00
ffb468d3ee Merge branch 'main' of https://git.marketally.com/gitcaddy/gitcaddy-ai
Some checks failed
Build and Test / build (push) Failing after 21s
Build and Test / docker (push) Has been skipped
2026-01-19 11:27:26 -05:00
87b244f46c fix(ci): configure git authentication for private repository redirects
Add git configuration step before checkout to handle authentication for private repository redirects. This ensures workflow jobs can access private dependencies hosted on git.marketally.com using the GitHub token.
2026-01-19 11:27:13 -05:00
3ed8c571cf Update .gitea/workflows/release.yml
Some checks failed
Build and Test / build (push) Failing after 43s
Build and Test / docker (push) Has been skipped
2026-01-19 16:12:07 +00:00
df3ac41388 Update .gitea/workflows/build.yml
Some checks failed
Build and Test / build (push) Failing after 39s
Build and Test / docker (push) Has been skipped
2026-01-19 16:11:53 +00:00
48c3ac9dac ci(actions-manager): add build and release workflows
Some checks failed
Build and Test / build (push) Has been cancelled
Build and Test / docker (push) Has been cancelled
Add Gitea Actions workflows for automated CI/CD. Build workflow runs on push/PR to build, test, and push Docker images. Release workflow triggers on version tags to build multi-platform binaries, package NuGet client, create GitHub releases, and publish versioned Docker images. Also add REST API controller for AI services alongside existing gRPC endpoints.
2026-01-19 11:08:08 -05:00
17581918dd feat: add client libraries, examples, and project documentation
Add Go and .NET client libraries for GitCaddy AI Service with usage examples. Include Business Source License 1.1, Makefile for build automation, and comprehensive README. Update service configuration and all service classes to support new client integration.
2026-01-19 10:44:24 -05:00
a4506613fd feat: initialize GitCaddy.AI service project structure
Add complete project scaffolding for GitCaddy.AI, an AI-powered Git assistant service. Includes:

- gRPC service implementation with proto definitions
- Core services: chat, code review, code intelligence, documentation, issues, and workflows
- AI provider factory with configuration support
- License validation system
- Docker containerization with dev and prod compose files
- .NET 9.0 solution with service and client projects
2026-01-19 10:06:55 -05:00