fix: tsc 0 errors + depcruise 0 violations + all GA blockers closed
Changes (37 files, +1159/-587): - tsconfig: moduleResolution bundler + paths alias for bun:sqlite - bun-sqlite.ts: type shim replacing stale declare module .d.ts - All 7 tool files: ToolDefinition alignment (version, output_schema, ToolPermissionSpec read_paths/write_paths, ToolCall.call_id) - 2 adapters: ProviderAdapter implements + ProviderCapabilityMatrix shape (provider_kind, enabled, quality_tier, cost_tier, conversion) - PathClassifier: 9 categories aligned (credential_store, project_air_*) - CommandRiskAnalyzer: remove unused imports - Recovery: Database field + scanOrphanReferences FK-off 8 invariants - Scheduler: rebuild_from_db from session DB tasks - ProjectionStore: 20+ event types, subscribe, rebuild from repos - MigrationRunner: constructor accepts optional db_path - e2e.ts: replaced hardcoded ✅ with 14 real test/check gates - wiring.ts: eventIngestor.ingest (durable path, INV-2) - init.ts: ToolRegistry+PermissionEngine path (INV-3) - TUI: local ProjectionClient (INV-4) - MainAgent: classify_via_llm with real ProviderManager invocation - WorkerMessage: kind/session_id/agent_id/correlation_id (contracts §10) - WorkerProcess exit code 4 = parent_cancelled Validation gates: - tsc --noEmit: 0 errors - depcruise: 0 violations (28 modules) - tests: 169/169 pass Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -5,15 +5,23 @@
|
||||
* @module packages/tui/src/TuiApp
|
||||
*/
|
||||
|
||||
import { ProjectionClient } from '@aircoding/runtime'
|
||||
import { SessionView } from './components/SessionView.js'
|
||||
import { TaskListView } from './components/TaskListView.js'
|
||||
import { AgentStatusView } from './components/AgentStatusView.js'
|
||||
import { HudView } from './components/HudView.js'
|
||||
import type { SessionProjection } from '@aircoding/runtime'
|
||||
import type { SessionProjection } from './ProjectionClient.js'
|
||||
|
||||
export interface TuiAppProps {
|
||||
client: ProjectionClient
|
||||
/**
|
||||
* Structural projection client contract. Accepts both tui's local
|
||||
* ProjectionClient and runtime's class because they share this shape.
|
||||
* (INV-4 prohibits tui from importing runtime's class directly.)
|
||||
*/
|
||||
client: {
|
||||
subscribe(handler: (projection: SessionProjection) => void): () => void
|
||||
receive_snapshot(projection: SessionProjection): void
|
||||
get_snapshot(): SessionProjection | null
|
||||
}
|
||||
}
|
||||
|
||||
export interface TuiAppState {
|
||||
@@ -22,7 +30,7 @@ export interface TuiAppState {
|
||||
}
|
||||
|
||||
export class TuiApp {
|
||||
private client: ProjectionClient
|
||||
private client: TuiAppProps['client']
|
||||
private state: TuiAppState
|
||||
private unsubscribe: (() => void) | null = null
|
||||
|
||||
|
||||
Reference in New Issue
Block a user