Commit Graph

82 Commits

Author SHA1 Message Date
Hein 4f8f2f4190 Merge branch 'main' of git.warky.dev:wdevs/amcs into issue-10-per-user-tenancy
CI / build-and-test (push) Successful in 1m39s
CI / build-and-test (pull_request) Successful in 2m3s
2026-07-15 12:48:10 +02:00
warkanum 1689167a7b Merge pull request 'AMCS: add duplicate audit report tool' (#38) from issue-25-duplicate-audit-cleanup-tools into main
CI / build-and-test (push) Successful in 1m23s
Reviewed-on: #38
2026-07-15 04:35:57 +00:00
warkanum 4b3f0b1b55 feat: add per-user tenant scoping
CI / build-and-test (push) Failing after 1m53s
CI / build-and-test (pull_request) Failing after 1m43s
2026-07-15 04:27:44 +02:00
warkanum e459775740 feat: add webhook thought ingestion
CI / build-and-test (pull_request) Successful in 3m33s
CI / build-and-test (push) Successful in 3m37s
2026-07-15 04:27:09 +02:00
warkanum 5718685c40 Merge pull request 'Expose retrieval mode in query responses' (#37) from issue-14-expose-retrieval-mode into main
CI / build-and-test (push) Failing after 57s
Reviewed-on: #37
Reviewed-by: Warky <2+warkanum@noreply@warky.dev>
2026-07-14 14:44:14 +00:00
warkanum 3198600031 feat(tools): add duplicate audit report
CI / build-and-test (push) Failing after 1m24s
CI / build-and-test (pull_request) Failing after 59s
2026-07-14 16:28:06 +02:00
warkanum 81a3470407 feat(tools): link thoughts and learnings
CI / build-and-test (pull_request) Failing after 1m2s
CI / build-and-test (push) Failing after 3m10s
2026-07-14 15:18:57 +02:00
warkanum cfc78e0493 feat(tools): expose retrieval_mode in query-based tool responses
CI / build-and-test (push) Failing after 1m14s
CI / build-and-test (pull_request) Failing after 2m11s
Add a retrieval_mode field ("semantic" or "text") to the output of all
five query-driven tools so callers can distinguish vector search from
Postgres full-text fallback without inspecting server logs.

Tools updated: search_thoughts, recall_context, get_project_context,
summarize_thoughts, and related_thoughts (semantic neighbours only;
omitempty so field is absent when include_semantic is false or no query
is provided for the non-mandatory-query tools).

The shared semanticSearch helper now returns the mode as a third return
value. All callers updated; fixes two compile errors left by the
previous worker (summarize.go and links.go were not capturing the new
return).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-14 12:44:53 +02:00
warkanum c179e014ad feat(db): add project personas and skills tables
CI / build-and-test (push) Failing after 1m52s
* Introduce project_personas table with foreign keys to projects and agent_personas
* Add project_skills table with foreign key to projects and agent_skills
* Include override boolean field in agent_persona_skills and project_skills
* Update schema and migration files to reflect new tables and fields
* Enhance CORS handling to reflect request origin
2026-07-04 23:45:51 +02:00
Hein 1adf50e3db fix(go.sum): update ResolveSpec dependency to v1.0.87
CI / build-and-test (push) Failing after 1s
Release / release (push) Failing after 19m26s
2026-06-23 13:17:16 +02:00
warkanum 0227912325 feat(auth): add recent activity logging to access tracker
CI / build-and-test (push) Failing after 0s
* Introduced AccessLogEntry type for logging access details
* Updated AccessTracker to maintain a recent activity log
* Modified Metrics to include recent activity log in response
* Added RecentActivityLog component to display logged activities
2026-05-24 16:36:59 +02:00
Hein a993859c62 feat(db): add oauth_clients table for dynamic client registration
CI / build-and-test (push) Has been cancelled
* Introduced oauth_clients table with fields for client_id, client_name, redirect_uris, and created_at.
* Updated agent_persona_parts, agent_persona_skills, agent_persona_guardrails, agent_persona_traits, and arc_stage_parts tables to use unique constraints instead of primary keys for composite indexes.
2026-05-07 13:30:30 +02:00
Hein fb9606ef2b feat(db): add generated models for public schema entities
CI / build-and-test (push) Has been cancelled
* Create ModelPublicPersonaArc for persona_arc table
* Create ModelPublicPlanDependencies for plan_dependencies table
* Create ModelPublicPlanGuardrails for plan_guardrails table
* Create ModelPublicPlanRelatedPlans for plan_related_plans table
* Create ModelPublicPlanSkills for plan_skills table
* Create ModelPublicPlans for plans table
* Create ModelPublicProjectGuardrails for project_guardrails table
* Create ModelPublicProjectSkills for project_skills table
* Create ModelPublicProjects for projects table
* Create ModelPublicStoredFiles for stored_files table
* Create ModelPublicThoughtLinks for thought_links table
* Create ModelPublicThoughts for thoughts table
* Create ModelPublicToolAnnotations for tool_annotations table
2026-05-07 11:19:15 +02:00
warkanum 9230f39cb6 feat: add TraitsTab component for managing agent traits
CI / build-and-test (push) Failing after -32m5s
- Implemented TraitsTab.svelte to handle CRUD operations for agent traits.
- Integrated grid for displaying traits with context menu actions for add, edit, and delete.
- Added trait instruction editing functionality with a dedicated editor.
- Updated AdminShell to include PersonasPage for navigation.
- Enhanced AppSidebar with a new entry for Personas.
- Extended ShellPage type to include 'personas'.
- Defined new types for AgentPersona, AgentPart, and AgentTrait in types.ts.
2026-05-05 14:51:58 +02:00
warkanum e285a03639 Add schema for agent personas, parts, traits, and character arcs
CI / build-and-test (push) Failing after -31m18s
- Created tables for agent_personas, agent_parts, agent_traits, and character_arcs.
- Established relationships between personas, parts, skills, guardrails, and traits.
- Added arc stages and their corresponding parts, along with a persona_arc table to track current stages.
- Implemented cascading delete rules for referential integrity.
2026-05-05 09:43:14 +02:00
warkanum 1ceb317f4b feat(skills): enhance agent skills with additional tags and commands
CI / build-and-test (push) Failing after -29m56s
- Added language_tags, library_tags, framework_tags, and domain_tags to agent skills.
- Introduced new commands: get_skill and get_guardrail for fetching specific skills and guardrails.
- Updated database schema and migration scripts to accommodate new fields.
- Enhanced skill listing functionality to support filtering by new tags.
- Improved error handling and response structures for skill-related operations.
2026-05-05 09:24:58 +02:00
warkanum d6bf0b20d0 refactor(mcpserver): update tool IDs from string UUIDs to integers
CI / build-and-test (push) Failing after -31m3s
2026-05-03 17:26:41 +02:00
warkanum a8214aaa8b fix(db): remove array specifier from tags column
CI / build-and-test (push) Failing after -31m43s
2026-05-03 17:17:01 +02:00
warkanum bae63cb5cf fix(db): correct default values for jsonb and array columns
CI / build-and-test (push) Failing after -31m23s
* Update default values for metadata and messages columns in thoughts and chat_histories tables
* Change tags column type to text[] with default in learnings, plans, agent_skills, and agent_guardrails tables
* Adjust index creation for tags columns in learnings and plans tables
2026-05-03 16:24:16 +02:00
warkanum 91239bcf4b refactor(store,tools): migrate IDs from UUID to bigserial int64
CI / build-and-test (push) Failing after -31m12s
All internal entity lookups now use bigserial primary keys (int64) while
GUIDs are retained for external/public identification. Updated store
functions (TouchProject, UpdateThoughtMetadata, AddThoughtAttachment) to
query by id instead of guid, added GetThoughtByID, changed semanticSearch
and all tool helpers to use *int64 project IDs, and updated retry/backfill
workers to use int64 thought IDs throughout.
2026-05-03 11:43:34 +02:00
warkanum 9e6d05e055 feat(ui): add content editor components for skills and thoughts
CI / build-and-test (push) Failing after -31m24s
* Implement ContentEditorField for inline editing of content
* Create ContentEditorModal for editing content in a modal
* Introduce FormerShell for managing forms related to skills and thoughts
* Enhance SkillsPage and ThoughtsPage with new components for better content management
2026-05-02 19:35:27 +02:00
Hein 5e54167009 fix(db): update SQL default values and types for consistency
CI / build-and-test (push) Failing after -31m34s
* Corrected default values for various fields in SQL schema
* Changed tags field type from text[] to text[] with proper default
* Updated JSONB default values to remove unnecessary quotes
2026-04-30 20:31:34 +02:00
Hein 65715f7ad3 fix: remove redundant code in processing logic
CI / build-and-test (push) Failing after -31m35s
2026-04-30 16:04:04 +02:00
warkanum 537e65ea6d feat(ui): implement public status endpoint and update UI components
CI / build-and-test (push) Failing after -30m49s
* add public status handler and response types
* modify status API to restrict access and update client tracking
* adjust UI components to display public status information
* update routing to include public status endpoint
2026-04-27 00:23:06 +02:00
warkanum a4193b295a fix(ui): update AMCS references and add status handling
* Corrected "Advanced Module Control System" to "Avalon Memory Control Service" in documentation and UI components.
* Added status handling to the LoginInfoPanel and LoginPage components.
* Implemented new endpoints for robots.txt and llms.txt.
2026-04-27 00:04:08 +02:00
warkanum b17241b928 feat(auth): track unique tools in access metrics
CI / build-and-test (push) Failing after -31m49s
* Add tool tracking to AccessTracker and metrics
* Update tests to validate tool tracking functionality
* Modify middleware to record tool usage
* Enhance observability with tool context
* Update UI to display unique tools in metrics
2026-04-26 23:25:51 +02:00
warkanum 927a118338 feat(ui): add maintenance page for task management
CI / build-and-test (push) Failing after -31m53s
* Implement maintenance page with task and log display
* Add backfill and metadata retry functionality
* Integrate grid component for project display in thoughts page
* Update types for maintenance tasks and logs
* Enhance sidebar and shell for new maintenance navigation
2026-04-26 23:13:41 +02:00
warkanum b39cd3ba72 feat(generatedmodels): add ThoughtCount to ModelPublicProjects
CI / build-and-test (push) Failing after -31m42s
* Introduced ThoughtCount field for scanning computed column
* Added patch script to ensure ThoughtCount is included in generated model
2026-04-26 17:56:30 +02:00
warkanum db7b152852 refactor(store): replace project and skill models with generated models
CI / build-and-test (push) Failing after -31m25s
* Update project creation and retrieval to use generated models
* Modify skill addition and listing to utilize generated models
* Refactor thought handling to incorporate generated models
* Adjust tool annotations to align with new model structure
* Update API calls in the UI to use new ResolveSpec-based endpoints
* Enhance stats retrieval logic to aggregate thought metadata
2026-04-26 12:56:32 +02:00
warkanum 71845d38d3 feat(ui): implement OAuth login flow and dashboard components
CI / build-and-test (push) Failing after -32m0s
* Add OAuth login handling in app and UI components
* Create new components for login and dashboard pages
* Refactor sidebar and navigation structure
* Introduce types for access entries and status responses
2026-04-26 09:12:46 +02:00
sgcommand 3e832eea98 feat(learnings): add store and MCP tool layer
CI / build-and-test (push) Failing after -32m34s
CI / build-and-test (pull_request) Failing after -32m27s
2026-04-22 14:00:12 +02:00
warkanum 3dfed9c986 fix(observability): include MCP session ID in access logs
CI / build-and-test (push) Failing after -32m50s
* Add function to extract MCP session ID from request headers and query parameters
* Update access log to include MCP session ID
fix(cli): simplify project lookup logic
* Refactor project retrieval to prefer GUID lookup when input is a valid UUID
* Introduce separate functions for fetching projects by GUID and name
2026-04-21 23:04:46 +02:00
warkanum 512b16f8fe feat(observability): add MCP tool name logging in access log
CI / build-and-test (push) Failing after -32m45s
* Include tool name from request in access log entries
* Update user agent header in HTTP requests
* Add tests for MCP tool name logging
2026-04-21 22:35:42 +02:00
warkanum 9a9fa4f384 feat(cli): add verbose logging option for CLI commands
CI / build-and-test (push) Failing after -32m43s
* Introduced a new flag `--verbose` to enable detailed logging.
* Implemented logging for connection events in SSE and stdio commands.
* Added a utility function to handle verbose logging.
2026-04-21 22:24:57 +02:00
warkanum 55859811be fix(loader): disable config file rewrite during startup
CI / build-and-test (push) Failing after -32m45s
* migrate legacy schemas in memory only
* log hint to use amcs-migrate-config for persistence
2026-04-21 21:31:05 +02:00
warkanum 14e218d784 test(config): add migration tests for litellm provider
CI / build-and-test (push) Failing after -32m22s
* Implement tests for migrating configuration from v1 to v2 for the litellm provider.
* Validate the structure and values of the migrated configuration.
* Ensure migration rejects newer versions of the configuration.
fix(validate): enhance AI provider validation logic
* Consolidate provider validation into a dedicated method.
* Ensure at least one provider is specified and validate its type.
* Check for required fields based on provider type.
fix(mcpserver): update tool set to use new enrichment tool
* Replace RetryMetadataTool with RetryEnrichmentTool in the ToolSet.
fix(tools): refactor tools to use embedding and metadata runners
* Update tools to utilize EmbeddingRunner and MetadataRunner instead of Provider.
* Adjust method calls to align with the new runner interfaces.
2026-04-21 21:14:28 +02:00
sgcommand 894fa3fc1d fix: include project names in thought text search
CI / build-and-test (push) Failing after -31m57s
CI / build-and-test (pull_request) Failing after -32m8s
2026-04-21 08:31:42 +02:00
sgcommand b6e156011f Improve thought enrichment reliability
CI / build-and-test (pull_request) Failing after -32m0s
CI / build-and-test (push) Failing after -31m35s
2026-04-13 23:04:11 +02:00
warkanum 4d107cb87e feat(tools): add background embedding queue for thoughts
CI / build-and-test (push) Failing after -29m22s
* Implement QueueThought method in BackfillTool for embedding generation
* Update CaptureTool to utilize embedding queuer for failed embeddings
* Add EmbeddingStatus field to Thought type for tracking embedding state
2026-04-11 23:37:53 +02:00
warkanum 1d4dbad33f refactor(tools): remove household, calendar, meals, and CRM tools from core
CI / build-and-test (push) Failing after -30m34s
- Moved to future plugin as part of project scope adjustment
- Updated tool registration and descriptions accordingly
2026-04-05 18:55:18 +02:00
warkanum 02bcbdabd8 test(schema): add test for setting tool schemas with no argument input
CI / build-and-test (push) Failing after -30m38s
2026-04-05 16:19:55 +02:00
warkanum 5f48a197e8 feat(mcp): add SSE transport support and related configuration options
CI / build-and-test (push) Failing after -30m37s
2026-04-05 15:57:34 +02:00
warkanum 4aed4105aa fix(auth): add JSON tags to AccessSnapshot fields for proper serialization
CI / build-and-test (push) Failing after -30m35s
2026-04-05 11:59:08 +02:00
warkanum f0d9c4dc09 style(ui): improve code formatting and consistency in App.svelte 2026-04-05 10:52:25 +02:00
Jack O'Neill 4bf1c1fe60 fix: use svelte 5 mount api 2026-04-05 10:47:28 +02:00
Jack O'Neill 6c6f4022a0 feat: add embedded svelte frontend 2026-04-05 09:40:38 +02:00
Jack O'Neill 50870dd369 feat(app): add lightweight status access tracking 2026-04-04 14:16:02 +02:00
Hein d1d140e464 fix(tools): add hint for project_not_found error 2026-04-02 16:36:15 +02:00
Hein 9cfcb5621b feat(mcp): add new tools to the registered tools list 2026-04-02 13:53:11 +02:00
Hein d0bfdbfbab feat(mcp): add describe_tools and annotate_tool functionality
* Implement DescribeTool for listing available MCP tools with annotations.
* Add UpsertToolAnnotation and GetToolAnnotations methods for managing tool notes.
* Create tool_annotations table for storing tool usage notes.
2026-04-02 13:51:09 +02:00