Archon/packages/isolation/tsconfig.json
Rasmus Widing a9ed888ae6
refactor: extract @archon/isolation package from @archon/core (#492)
* refactor: extract @archon/isolation package from @archon/core

Move isolation logic (worktree provider, types, resolver, errors,
worktree-copy) into a dedicated @archon/isolation package following
the same pattern as the @archon/git extraction.

- New package depends only on @archon/git and @archon/paths
- Core re-exports all public types/functions for backward compat
- Extract IsolationResolver from orchestrator into resolver.ts
- Extract IsolationBlockedError and error classifiers into errors.ts
- Add IIsolationStore interface for DB abstraction
- Add bun-types to web tsconfig (needed for transitive @archon/paths)

* docs: update CLAUDE.md for @archon/isolation extraction

- Add packages/isolation/ to the directory structure
- Update packages/core/src/isolation/ comment (now re-exports only)
- Add @archon/isolation to the Package Split section
- Fix classifyIsolationError() source reference (now in @archon/isolation, not orchestrator.ts)

* fix: address all PR review findings from @archon/isolation extraction

- Fix EnvironmentStatus type: 'suspended' → 'destroyed' (matches actual usage)
- Tighten IsolationEnvironmentRow.status from string to EnvironmentStatus
- classifyIsolationError now checks stderr in addition to err.message
- Fix /worktree remove command text (no <name> arg)
- Refactor _autoCleanedCount hack into proper return type
- Add stale cleanup to findReusable and findLinkedIssueEnv
- Fix adopt() to re-throw unexpected errors instead of returning null
- Fix copyConfiguredFiles log level: debug → warn for partial copies
- Replace empty catch block with isolation_rollback_failed logging
- Add recursion guard for stale_cleaned resolution loop
- Remove duplicate WorktreeStatusBreakdown from cleanup-service
- Port 91 worktree provider tests to @archon/isolation
- Add 14 error utility tests and 4 resolver edge-case tests

* chore: add .zed/ to gitignore

* refactor: simplify @archon/isolation code after review fixes

- Extract markDestroyedBestEffort() helper from 3 identical try/catch blocks
- Extract buildAdoptedEnvironment() and extractOwnerRepo() in worktree provider
- Remove redundant JSDoc comments that restate type/interface names
- Replace heavy ASCII section banners with lightweight separators
- Remove redundant parameter type annotations inferred from interfaces

* refactor: strengthen @archon/isolation types and clean up dead code

- Use branded types (RepoPath, BranchName) from @archon/git in isolation
  type definitions, removing redundant toRepoPath/toBranchName wrappers
  where inputs are already branded
- Add IsolationWorkflowType to narrow workflow_type/provider fields in
  IsolationEnvironmentRow and CreateEnvironmentParams
- Remove GenericEnvironment (YAGNI — only worktree provider exists)
- Rename findByWorkflow → findActiveByWorkflow and countByCodebase →
  countActiveByCodebase to clarify they filter by active status
- Add constructor validation for maxWorktreesPerCodebase and
  staleThresholdDays in IsolationResolver (must be positive)
- Fix generateBranchName comment to accurately describe shortHash and
  slugify behavior
- Remove dead isWorktreeEnvironment type guard (always true after
  GenericEnvironment removal) and unused core/src/isolation/ re-export
  shim

* refactor: use isPRIsolationRequest type guard in WorktreeProvider

Replace raw `workflowType === 'pr'` checks with the exported
isPRIsolationRequest() guard in findExisting and createWorktree.
2026-02-25 11:28:22 +02:00

8 lines
168 B
JSON

{
"extends": "../../tsconfig.json",
"compilerOptions": {
"noEmit": true
},
"include": ["src/**/*"],
"exclude": ["node_modules", "dist", "**/*.test.ts"]
}