Files
automaker/libs/types
Shirone de11908db1 feat: Integrate Cursor provider support in AI profiles
- Updated AIProfile type to include support for Cursor provider, adding cursorModel and validation logic.
- Enhanced ProfileForm component to handle provider selection and corresponding model configurations for both Claude and Cursor.
- Implemented display functions for model and thinking configurations in ProfileQuickSelect.
- Added default Cursor profiles to the application state.
- Updated UI components to reflect provider-specific settings and validations.
- Marked completion of the AI Profiles Integration phase in the project plan.
2025-12-28 01:32:55 +01:00
..

@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 identifier
  • category - Feature category/type
  • description - Feature description
  • dependencies - Array of feature IDs this depends on
  • status - 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:

  1. Never add dependencies to other @automaker/* packages in package.json
  2. Keep result types here - For example, DependencyResolutionResult should stay in @automaker/dependency-resolver, not be moved here
  3. Import only base types - Other packages can import from here, but this package cannot import from them
  4. 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