* memory * feat: add smart memory selection with task context - Add taskContext parameter to loadContextFiles for intelligent file selection - Memory files are scored based on tag matching with task keywords - Category name matching (e.g., "terminals" matches terminals.md) with 4x weight - Usage statistics influence scoring (files that helped before rank higher) - Limit to top 5 files + always include gotchas.md - Auto-mode passes feature title/description as context - Chat sessions pass user message as context This prevents loading 40+ memory files and killing context limits. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * refactor: enhance auto-mode service and context loader - Improved context loading by adding task context for better memory selection. - Updated JSON parsing logic to handle various formats and ensure robust error handling. - Introduced file locking mechanisms to prevent race conditions during memory file updates. - Enhanced metadata handling in memory files, including validation and sanitization. - Refactored scoring logic for context files to improve selection accuracy based on task relevance. These changes optimize memory file management and enhance the overall performance of the auto-mode service. * refactor: enhance learning extraction and formatting in auto-mode service - Improved the learning extraction process by refining the user prompt to focus on meaningful insights and structured JSON output. - Updated the LearningEntry interface to include additional context fields for better documentation of decisions and patterns. - Enhanced the formatLearning function to adopt an Architecture Decision Record (ADR) style, providing richer context for recorded learnings. - Added detailed logging for better traceability during the learning extraction and appending processes. These changes aim to improve the quality and clarity of learnings captured during the auto-mode service's operation. * feat: integrate stripProviderPrefix utility for model ID handling - Added stripProviderPrefix utility to various routes to ensure providers receive bare model IDs. - Updated model references in executeQuery calls across multiple files, enhancing consistency in model ID handling. - Introduced memoryExtractionModel in settings for improved learning extraction tasks. These changes streamline the model ID processing and enhance the overall functionality of the provider interactions. * feat: enhance error handling and server offline management in board actions - Improved error handling in the handleRunFeature and handleStartImplementation functions to throw errors for better caller management. - Integrated connection error detection and server offline handling, redirecting users to the login page when the server is unreachable. - Updated follow-up feature logic to include rollback mechanisms and improved user feedback for error scenarios. These changes enhance the robustness of the board actions by ensuring proper error management and user experience during server connectivity issues. --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com> Co-authored-by: webdevcody <webdevcody@gmail.com>
@automaker/types
Shared TypeScript type definitions for AutoMaker.
Overview
This package contains all core type definitions used across AutoMaker's server and UI components. It has no dependencies and serves as the foundation for other packages.
Installation
npm install @automaker/types
Exports
Provider Types
Types for AI provider integration and Claude SDK.
import type {
ProviderConfig,
ConversationMessage,
ExecuteOptions,
ContentBlock,
ProviderMessage,
InstallationStatus,
ValidationResult,
ModelDefinition,
} from '@automaker/types';
Feature Types
Feature management and workflow types.
import type { Feature, FeatureStatus, PlanningMode, PlanSpec } from '@automaker/types';
Feature Interface:
id- Unique feature identifiercategory- Feature category/typedescription- Feature descriptiondependencies- Array of feature IDs this depends onstatus- Current status (pending/running/completed/failed/verified)planningMode- Planning approach (skip/lite/spec/full)planSpec- Plan specification and approval status
Session Types
Agent session management.
import type {
AgentSession,
SessionListItem,
CreateSessionParams,
UpdateSessionParams,
} from '@automaker/types';
Error Types
Error classification and handling.
import type { ErrorType, ErrorInfo } from '@automaker/types';
Image Types
Image handling for prompts.
import type { ImageData, ImageContentBlock } from '@automaker/types';
Model Types
Claude model definitions and mappings.
import { CLAUDE_MODEL_MAP, DEFAULT_MODELS, type ModelAlias } from '@automaker/types';
Usage Example
import type { Feature, ExecuteOptions } from '@automaker/types';
const feature: Feature = {
id: 'auth-feature',
category: 'backend',
description: 'Implement user authentication',
dependencies: ['database-setup'],
status: 'pending',
planningMode: 'spec',
};
const options: ExecuteOptions = {
model: 'claude-sonnet-4-20250514',
temperature: 0.7,
};
Dependencies
None - this is a pure types package.
IMPORTANT: This package must NEVER depend on other @automaker/* packages to prevent circular dependencies. All other packages depend on this one, making it the foundation of the dependency tree.
Used By
@automaker/utils@automaker/platform@automaker/model-resolver@automaker/dependency-resolver@automaker/git-utils@automaker/server@automaker/ui
Circular Dependency Prevention
To maintain the package dependency hierarchy and prevent circular dependencies:
- Never add dependencies to other
@automaker/*packages inpackage.json - Keep result types here - For example,
DependencyResolutionResultshould stay in@automaker/dependency-resolver, not be moved here - Import only base types - Other packages can import from here, but this package cannot import from them
- Document the rule - When adding new functionality, ensure it follows this constraint
This constraint ensures a clean one-way dependency flow:
@automaker/types (foundation - no dependencies)
↓
@automaker/utils, @automaker/platform, etc.
↓
@automaker/server, @automaker/ui