Files
automaker/libs/types
gsxdsm 0a5540c9a2 Fix concurrency limits and remote branch fetching issues (#788)
* Changes from fix/bug-fixes

* feat: Refactor worktree iteration and improve error logging across services

* feat: Extract URL/port patterns to module level and fix abort condition

* fix: Improve IPv6 loopback handling, select component layout, and terminal UI

* feat: Add thinking level defaults and adjust list row padding

* Update apps/ui/src/store/app-store.ts

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* feat: Add worktree-aware terminal creation and split options, fix npm security issues from audit

* feat: Add tracked remote detection to pull dialog flow

* feat: Add merge state tracking to git operations

* feat: Improve merge detection and add post-merge action preferences

* Update apps/ui/src/components/views/board-view/dialogs/git-pull-dialog.tsx

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update apps/ui/src/components/views/board-view/dialogs/git-pull-dialog.tsx

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix: Pass merge detection info to stash reapplication and handle merge state consistently

* fix: Call onPulled callback in merge handlers and add validation checks

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2026-02-20 13:48:22 -08: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,
  AgentDefinition,
  ReasoningEffort,
  SystemPromptPreset,
  McpServerConfig,
  McpStdioServerConfig,
  McpSSEServerConfig,
  McpHttpServerConfig,
} from '@automaker/types';

Codex CLI Types

Types for Codex CLI integration.

import type {
  CodexSandboxMode,
  CodexApprovalPolicy,
  CodexCliConfig,
  CodexAuthStatus,
  CodexEventType,
  CodexItemType,
  CodexEvent,
} 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