mirror of
https://github.com/AutoMaker-Org/automaker.git
synced 2026-02-03 08:53:36 +00:00
Merge main into massive-terminal-upgrade
Resolves merge conflicts: - apps/server/src/routes/terminal/common.ts: Keep randomBytes import, use @automaker/utils for createLogger - apps/ui/eslint.config.mjs: Use main's explicit globals list with XMLHttpRequest and MediaQueryListEvent additions - apps/ui/src/components/views/terminal-view.tsx: Keep our terminal improvements (killAllSessions, beforeunload, better error handling) - apps/ui/src/config/terminal-themes.ts: Keep our search highlight colors for all themes - apps/ui/src/store/app-store.ts: Keep our terminal settings persistence improvements (merge function) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
142
libs/types/README.md
Normal file
142
libs/types/README.md
Normal file
@@ -0,0 +1,142 @@
|
||||
# @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
|
||||
|
||||
```bash
|
||||
npm install @automaker/types
|
||||
```
|
||||
|
||||
## Exports
|
||||
|
||||
### Provider Types
|
||||
|
||||
Types for AI provider integration and Claude SDK.
|
||||
|
||||
```typescript
|
||||
import type {
|
||||
ProviderConfig,
|
||||
ConversationMessage,
|
||||
ExecuteOptions,
|
||||
ContentBlock,
|
||||
ProviderMessage,
|
||||
InstallationStatus,
|
||||
ValidationResult,
|
||||
ModelDefinition,
|
||||
} from '@automaker/types';
|
||||
```
|
||||
|
||||
### Feature Types
|
||||
|
||||
Feature management and workflow types.
|
||||
|
||||
```typescript
|
||||
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.
|
||||
|
||||
```typescript
|
||||
import type {
|
||||
AgentSession,
|
||||
SessionListItem,
|
||||
CreateSessionParams,
|
||||
UpdateSessionParams,
|
||||
} from '@automaker/types';
|
||||
```
|
||||
|
||||
### Error Types
|
||||
|
||||
Error classification and handling.
|
||||
|
||||
```typescript
|
||||
import type { ErrorType, ErrorInfo } from '@automaker/types';
|
||||
```
|
||||
|
||||
### Image Types
|
||||
|
||||
Image handling for prompts.
|
||||
|
||||
```typescript
|
||||
import type { ImageData, ImageContentBlock } from '@automaker/types';
|
||||
```
|
||||
|
||||
### Model Types
|
||||
|
||||
Claude model definitions and mappings.
|
||||
|
||||
```typescript
|
||||
import { CLAUDE_MODEL_MAP, DEFAULT_MODELS, type ModelAlias } from '@automaker/types';
|
||||
```
|
||||
|
||||
## Usage Example
|
||||
|
||||
```typescript
|
||||
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
|
||||
```
|
||||
Reference in New Issue
Block a user