# . > Auto-generated API documentation ## Sections - [API Reference](./api-reference.md): Full API documentation - [API Reference](./api-reference.mdx): Full API documentation (MDX) - [Full Context](./llms-full.txt): Dense context for LLM consumption ## Quick Reference file forge-ts.config.ts file vitest.config.ts typeof ClaudeCodePathProvider - Path provider for Anthropic Claude Code CLI. Resolves Claude Code's standard directory layout: - Config dir: ~/.claude (or CLAUDE_HOME) - Settings: ~/.claude/settings.json (or CLAUDE_SETTINGS) - Agents: ~/.claude/agents - Memory DB: ~/.claude-mem/claude-mem.db (or CLAUDE_MEM_DB) file paths.ts typeof ClaudeCodeContextMonitorProvider - Context monitor provider for Claude Code. Processes context window JSON from Claude Code and writes state files for statusline display. Also provides statusline configuration and setup instructions specific to Claude Code's settings.json. file context-monitor.ts typeof ClaudeCodeHookProvider - Hook provider for Claude Code. Claude Code registers hooks via its global config at `~/.claude/settings.json`. Supported handler types: command, http, prompt, agent. Event mapping is based on `getProviderHookProfile('claude-code')` from CAAMP 1.9.1. Async accessors (`getSupportedCanonicalEvents`, `getProviderProfile`) call CAAMP directly when available. Since hooks are registered through the config system (managed by the install provider), `registerNativeHooks` and `unregisterNativeHooks` track registration state without performing filesystem operations. file hooks.ts typeof ClaudeCodeInstallProvider - Install provider for Claude Code. Manages CLEO's integration with Claude Code by: 1. Ensuring CLAUDE.md contains -references to CLEO instruction files 2. Registering the brain observation plugin in ~/.claude/settings.json file install.ts typeof ClaudeCodeSpawnProvider - Spawn provider for Claude Code. Spawns detached Claude CLI processes for subagent execution. Each spawn writes its prompt to a temporary file, then runs `claude --allow-insecure --no-upgrade-check ` as a detached, unref'd child process. file spawn.ts typeof ClaudeCodeTaskSyncProvider - Claude Code TaskSyncProvider. Reads Claude's TodoWrite JSON state, parses [T001]-prefixed task IDs and status, and returns normalized ExternalTask[]. Optional: accepts a custom file path for testing. file task-sync.ts typeof ClaudeCodeTransportProvider - Transport provider for Claude Code inter-agent communication. file transport.ts typeof ClaudeCodeAdapter - CLEO provider adapter for Anthropic Claude Code CLI. Bridges CLEO's adapter system with Claude Code's native capabilities: - Hooks: Maps Claude Code events (SessionStart, PostToolUse, etc.) to CAAMP events - Spawn: Launches subagent processes via the `claude` CLI - Install: Manages instruction files and brain observation plugin registration file adapter.ts () => StatuslineStatus - Check if statusline integration is configured. Returns the current integration status. (cleoHome: string) => Record - Get the statusline setup command for Claude Code settings. (cleoHome: string) => string - Get human-readable setup instructions. file statusline.ts () => ClaudeCodeAdapter - Factory function for creating adapter instances. Used by AdapterManager's dynamic import fallback. file index.ts - CLEO provider adapter for Anthropic Claude Code CLI. Default export is the adapter class for dynamic loading by AdapterManager. T5240 (providerDir: string) => Promise - Read the most recent JSON or JSONL session file from `providerDir` and return its contents as a flat transcript string. Files are sorted in descending order by filename — this works naturally for providers that embed timestamps in filenames. The most recently named file is read first. Returns `null` when: - `providerDir` does not exist or cannot be read - No JSON/JSONL files are present - The most recent file contains no parseable turns file transcript-reader.ts typeof CodexHookProvider - Hook provider for Codex CLI. Codex CLI registers hooks via its configuration system at ~/.codex/. Hook handlers are shell commands or script paths that execute when the corresponding event fires. Since hooks are registered through the config system (managed by the install provider), registerNativeHooks and unregisterNativeHooks track registration state without performing filesystem operations. file hooks.ts typeof CodexInstallProvider - Install provider for Codex CLI. Manages CLEO's integration with Codex CLI by: 1. Ensuring AGENTS.md contains -references to CLEO instruction files file install.ts typeof CodexAdapter - CLEO provider adapter for OpenAI Codex CLI. Bridges CLEO's adapter system with Codex CLI's native capabilities: - Hooks: Maps Codex events (SessionStart, PromptSubmit, ResponseComplete) to CAAMP events - Install: Ensures AGENTS.md references for CLEO instruction files file adapter.ts () => CodexAdapter - Factory function for creating adapter instances. Used by AdapterManager's dynamic import fallback. file index.ts - CLEO provider adapter for OpenAI Codex CLI. Default export is the adapter class for dynamic loading by AdapterManager. T162 T134 typeof CursorHookProvider - Hook provider for Cursor. Cursor registers hooks via its config system at `.cursor/hooks.json`. Supported handler types: command, prompt. CAAMP 1.9.1 reveals Cursor supports 10 of 16 canonical events. Previously this provider was a no-op stub. It now provides full event mapping and CAAMP normalizer integration. Event mapping is based on `getProviderHookProfile('cursor')` from CAAMP 1.9.1. Async accessors (`getSupportedCanonicalEvents`, `getProviderProfile`) call CAAMP directly when available. Since hooks are registered through the config system (managed by the install provider), `registerNativeHooks` and `unregisterNativeHooks` track registration state without performing filesystem operations. file hooks.ts typeof CursorInstallProvider - Install provider for Cursor. Manages CLEO's integration with Cursor by: 1. Creating/updating .cursorrules with -references (legacy) 2. Creating .cursor/rules/cleo.mdc with -references (modern) file install.ts typeof CursorAdapter - CLEO provider adapter for Cursor AI code editor. Bridges CLEO's adapter system with Cursor's capabilities: - Install: Manages .cursorrules and .cursor/rules/cleo.mdc rule files - Hooks: Stub provider (Cursor has no lifecycle event system) - Spawn: Not supported (Cursor has no CLI for subagent spawning) file adapter.ts () => CursorAdapter - Factory function for creating adapter instances. Used by AdapterManager's dynamic import fallback. file index.ts - CLEO provider adapter for Cursor AI code editor. Default export is the adapter class for dynamic loading by AdapterManager. T5240 typeof GeminiCliHookProvider - Hook provider for Gemini CLI. Gemini CLI registers hooks via its configuration system at ~/.gemini/. Hook handlers are shell scripts or commands that execute when the corresponding event fires. Since hooks are registered through the config system (managed by the install provider), registerNativeHooks and unregisterNativeHooks track registration state without performing filesystem operations. file hooks.ts typeof GeminiCliInstallProvider - Install provider for Gemini CLI. Manages CLEO's integration with Gemini CLI by: 1. Ensuring AGENTS.md contains -references to CLEO instruction files file install.ts typeof GeminiCliAdapter - CLEO provider adapter for Google Gemini CLI. Bridges CLEO's adapter system with Gemini CLI's native capabilities: - Hooks: Maps Gemini CLI events (SessionStart, PreToolUse, etc.) to CAAMP events - Install: Ensures AGENTS.md references for CLEO instruction files file adapter.ts () => GeminiCliAdapter - Factory function for creating adapter instances. Used by AdapterManager's dynamic import fallback. file index.ts - CLEO provider adapter for Google Gemini CLI. Default export is the adapter class for dynamic loading by AdapterManager. T161 T134 typeof KimiHookProvider - Hook provider for Kimi. Kimi does not expose a native hook or event system. All hook-related methods are no-ops; mapProviderEvent always returns null since there are no events to map. file hooks.ts typeof KimiInstallProvider - Install provider for Kimi. Manages CLEO's integration with Kimi by: 1. Ensuring AGENTS.md contains -references to CLEO instruction files file install.ts typeof KimiAdapter - CLEO provider adapter for Moonshot AI Kimi. Bridges CLEO's adapter system with Kimi's integration surface: - Hooks: No-op (Kimi has no native hook system) - Install: Ensures AGENTS.md references for CLEO instruction files file adapter.ts () => KimiAdapter - Factory function for creating adapter instances. Used by AdapterManager's dynamic import fallback. file index.ts - CLEO provider adapter for Moonshot AI Kimi. Default export is the adapter class for dynamic loading by AdapterManager. T163 T134 typeof OpenCodeHookProvider - Hook provider for OpenCode. OpenCode registers hooks via its JavaScript plugin system at `.opencode/plugins/`. Supported handler type: plugin (JavaScript). Event mapping is based on `getProviderHookProfile('opencode')` from CAAMP 1.9.1. Async accessors (`getSupportedCanonicalEvents`, `getProviderProfile`) call CAAMP directly when available. Since hooks are registered through the plugin system (managed by the install provider), `registerNativeHooks` and `unregisterNativeHooks` track registration state without performing filesystem operations. file hooks.ts typeof OpenCodeInstallProvider - Install provider for OpenCode. Manages CLEO's integration with OpenCode by: 1. Ensuring AGENTS.md contains -references to CLEO instruction files file install.ts (description: string, instructions: string) => string - Build the markdown content for an OpenCode agent definition file. OpenCode agents are defined as markdown files with YAML frontmatter in the .opencode/agent/ directory. typeof OpenCodeSpawnProvider - Spawn provider for OpenCode. Spawns detached OpenCode CLI processes for subagent execution. Each spawn ensures a CLEO subagent definition exists, then runs `opencode run --format json --agent --title <prompt>` as a detached, unref'd child process. file spawn.ts typeof OpenCodeAdapter - CLEO provider adapter for OpenCode AI coding assistant. Bridges CLEO's adapter system with OpenCode's native capabilities: - Hooks: Maps OpenCode events (session.start, tool.complete, etc.) to CAAMP events - Spawn: Launches subagent processes via the `opencode` CLI - Install: Ensures AGENTS.md references for CLEO instruction files file adapter.ts () => OpenCodeAdapter - Factory function for creating adapter instances. Used by AdapterManager's dynamic import fallback. file index.ts - CLEO provider adapter for OpenCode AI coding assistant. Default export is the adapter class for dynamic loading by AdapterManager. T5240 AdapterManifest - Minimal manifest shape for provider discovery. () => AdapterManifest[] - Get the manifests for all bundled provider adapters. () => Promise<Map<string, () => Promise<unknown>>> - Discover all available provider adapters. Returns a map of provider ID to adapter factory function. file registry.ts file index.ts file claude-code-adapter.test.ts file cursor-adapter.test.ts file opencode-adapter.test.ts file adapter.test.ts typeof CursorSpawnProvider - Spawn provider for Cursor. Cursor does not support subagent spawning via CLI. The adapter declares supportsSpawn: false in its capabilities. All methods either reject or return empty results. file spawn.ts file adapter.test.ts file adapter.test.ts file forge-ts.config.ts file tsup.config.ts file vitest.config.ts file generate-hook-types.ts file provider-research.ts SkillLibraryEntry - A single skill entry in a library catalog. SkillLibraryValidationResult - Validation result from skill frontmatter validation. SkillLibraryValidationIssue - A single validation issue. SkillLibraryProfile - Profile definition for grouped skill installation. SkillLibraryDispatchMatrix - Dispatch matrix for task routing to skills. SkillLibraryManifestSkill - Skill entry within the library manifest. SkillLibraryManifest - Full manifest structure for a skill library. SkillLibrary - Standard interface for a skill library. Any directory or module providing skills must implement this contract. CAAMP uses it to discover, resolve, and install skills from any source. file skill-library.ts RegistryDetection - Raw detection configuration as stored in registry.json. ProviderPriority - Priority tier identifier stored in registry.json. ProviderStatus - Lifecycle status identifier stored in registry.json. RegistryProvider - Raw provider definition as stored in registry.json before path resolution. McpConfigFormat - Supported MCP config file formats. McpTransportType - MCP transport protocols a provider may advertise. RegistryMcpIntegration - MCP server integration metadata for providers that consume MCP servers via a per-agent config file. RegistryHarnessKind - Harness role category for a primary or standalone harness. RegistryHarnessCapability - First-class harness role declaration. SkillsPrecedence - How a provider resolves skill file precedence between vendor and agents directories. RegistrySkillsCapability - Raw skills capability definition as stored in registry.json. string - Hook lifecycle event identifier from registry.json. RegistryHookFormat - The on-disk layout of a provider's hook configuration. RegistryHookCatalog - Which native event catalog a provider's hook system uses. RegistryHooksCapability - Raw hooks capability definition as stored in registry.json. SpawnMechanism - Mechanism a provider uses to spawn subagents. RegistrySpawnCapability - Raw spawn capability definition as stored in registry.json. RegistryCapabilities - Aggregate capability block for a provider in registry.json. ProviderRegistry - Top-level structure of the provider registry JSON file. file types.ts SkillLibraryEntry - Backward-compatible alias for `SkillLibraryEntry`. SkillLibraryValidationResult - Backward-compatible alias for `SkillLibraryValidationResult`. SkillLibraryValidationIssue - Backward-compatible alias for `SkillLibraryValidationIssue`. SkillLibraryProfile - Backward-compatible alias for `SkillLibraryProfile`. SkillLibraryDispatchMatrix - Backward-compatible alias for `SkillLibraryDispatchMatrix`. SkillLibraryManifest - Backward-compatible alias for `SkillLibraryManifest`. SkillLibraryManifestSkill - Backward-compatible alias for `SkillLibraryManifestSkill`. ConfigFormat - Supported configuration file formats. - `"json"` - Standard JSON - `"jsonc"` - JSON with comments (comment-preserving via jsonc-parser) - `"yaml"` - YAML (via js-yaml) - `"toml"` - TOML (via iarna/toml) TransportType - MCP server transport protocol type. - `"stdio"` - Standard input/output (local process) - `"sse"` - Server-Sent Events (remote) - `"http"` - HTTP/Streamable HTTP (remote) DetectionMethod - Method used to detect whether an AI agent is installed on the system. - `"binary"` - Check if a CLI binary exists on PATH - `"directory"` - Check if known config/data directories exist - `"appBundle"` - Check for macOS .app bundle in standard app directories - `"flatpak"` - Check for Flatpak installation on Linux DetectionConfig - Configuration for detecting whether a provider is installed. ProviderMcpCapability - Resolved MCP server integration metadata for a provider. ProviderHarnessCapability - Resolved first-class harness capability for a provider. ProviderSkillsCapability - Resolved skills capability for a provider at runtime. ProviderHooksCapability - Resolved hooks capability for a provider at runtime. ProviderSpawnCapability - Resolved spawn capability for a provider at runtime. ProviderCapabilities - Aggregate provider capabilities for MCP, harness role, skills, hooks, and spawn. ProviderPriority - Priority tier for a provider, used for sorting and default selection. - `"primary"` - First-class harness. Default target when no `--agent` flag is given. Exactly zero or one provider per registry should have this priority; CAAMP consumers (e.g. `getPrimaryProvider()`) expect that invariant but the registry loader does not enforce it. - `"high"` - Major, widely-used agents - `"medium"` - Established but less common agents - `"low"` - Niche or experimental agents ProviderStatus - Lifecycle status of a provider in the registry. - `"active"` - Fully supported - `"beta"` - Supported but may have rough edges - `"deprecated"` - Still present but no longer recommended - `"planned"` - Not yet implemented Provider - A resolved AI agent provider definition with platform-specific paths. McpServerConfig - Canonical MCP server configuration. SourceType - Classified type of an MCP server or skill source. - `"remote"` - HTTP/HTTPS URL to a remote MCP server - `"package"` - npm package name - `"command"` - Shell command string - `"github"` - GitHub repository (URL or shorthand) - `"gitlab"` - GitLab repository URL - `"local"` - Local filesystem path - `"library"` - Built-in skill library reference ParsedSource - Result of parsing a source string into its typed components. SkillMetadata - Metadata extracted from a SKILL.md frontmatter. SkillEntry - A discovered skill entry with its location and metadata. LockEntry - A single entry in the CAAMP lock file tracking an installed skill or MCP server. CaampLockFile - The CAAMP lock file structure, stored at the resolved canonical lock path. MarketplaceSkill - A skill listing from a marketplace search result. MarketplaceSearchResult - Paginated search results from a marketplace API. AuditSeverity - Severity level for a security audit finding. Ordered from most to least severe: `"critical"` `"high"` `"medium"` `"low"` `"info"`. AuditRule - A security audit rule definition with a regex pattern to match against skill content. AuditFinding - A single finding from a security audit scan, with line-level location. AuditResult - Aggregate audit result for a single file. InjectionStatus - Status of a CAAMP injection block in an instruction file. - `"current"` - Injection block exists and matches expected content - `"outdated"` - Injection block exists but content differs - `"missing"` - Instruction file does not exist - `"none"` - File exists but has no CAAMP injection block InjectionCheckResult - Result of checking a single instruction file for CAAMP injection status. McpServerEntry - An MCP server entry read from a provider's config file. GlobalOptions - Global CLI options shared across all CAAMP commands. file types.ts PlatformPaths - OS-appropriate directory paths for CAAMP's global storage. SystemInfo - Snapshot of the current system environment and resolved platform paths. () => PlatformPaths - Get OS-appropriate paths for CAAMP's global directories. () => SystemInfo - Get a cached system information snapshot. () => void - Invalidate the path and system info caches. Use in tests after mutating AGENTS_HOME env var. file platform-paths.ts PathScope - Scope for path resolution, either global (user home) or project-local. PlatformLocations - Platform-specific directory locations for agent configuration. () => PlatformLocations - Resolves platform-specific directory locations for the current OS. () => string - Returns the global agents home directory path. (projectRoot?: string) => string - Returns the project-local `.agents` directory path. (relativePath: string, projectDir?: string) => string - Resolves a relative path against a project directory. () => string - Returns the canonical skills storage directory path. () => string - Returns the path to the CAAMP lock file. (scope?: PathScope, projectDir?: string) => string - Gets the MCP directory within the `.agents/` standard structure. (scope?: PathScope, projectDir?: string) => string - Gets the MCP servers.json path within the `.agents/` standard structure. (scope?: PathScope, projectDir?: string) => string - Gets the primary AGENTS.md instruction file path within `.agents/`. (scope?: PathScope, projectDir?: string) => string - Gets the config.toml path within the `.agents/` standard structure. (scope?: PathScope, projectDir?: string) => string - Gets the wiki directory within the `.agents/` standard structure. (scope?: PathScope, projectDir?: string) => string - Gets the spec directory within the `.agents/` standard structure. (scope?: PathScope, projectDir?: string) => string - Gets the links directory within the `.agents/` standard structure. (template: string) => string - Resolves a registry template path by substituting platform variables. (provider: Provider, scope: PathScope, projectDir?: string) => string | null - Resolves the configuration file path for a provider at the given scope. (provider: Provider, useGlobalFlag?: boolean) => PathScope - Determines the preferred configuration scope for a provider. (provider: Provider, scope: PathScope, projectDir?: string) => string - Resolves the skills directory path for a provider at the given scope. (provider: Provider, scope: PathScope, projectDir?: string) => string[] - Gets all target directories for skill installation based on provider precedence. (provider: Provider, projectDir?: string) => string - Resolves a provider's project-level path against a project directory. (startDir: string) => string - Locates the providers registry.json file by searching up from a start directory. (path: string | undefined) => string | undefined - Normalizes a skill sub-path by cleaning separators and removing SKILL.md suffix. (marketplacePath: string | undefined, parsedPath: string | undefined) => (string | undefined)[] - Builds a list of candidate sub-paths for skill file resolution. file standard.ts () => Provider[] - Retrieve all registered providers with resolved platform paths. Providers are lazily loaded from `providers/registry.json` on first call and cached for subsequent calls. (idOrAlias: string) => Provider | undefined - Look up a provider by its ID or any of its aliases. (idOrAlias: string) => string - Resolve an alias to its canonical provider ID. If the input is already a canonical ID (or unrecognized), it is returned as-is. (priority: ProviderPriority) => Provider[] - Filter providers by their priority tier. () => Provider | undefined - Get the single primary harness provider, if any is registered. (status: ProviderStatus) => Provider[] - Filter providers by their lifecycle status. (file: string) => Provider[] - Filter providers that use a specific instruction file. Multiple providers often share the same instruction file (e.g. many use `"AGENTS.md"`). () => string[] - Get the set of all unique instruction file names across all providers. () => number - Get the total number of registered providers. () => string - Get the semantic version string of the provider registry. (event: HookEvent) => Provider[] - Filter providers that support a specific hook event. (providerIds?: string[]) => HookEvent[] - Get hook events common to all specified providers. If providerIds is provided, returns the intersection of their supported events. If providerIds is undefined or empty, uses all providers. (provider: Provider, dotPath: string) => boolean - Check whether a provider supports a specific capability via dot-path query. The dot-path addresses a value inside `provider.capabilities`. For boolean fields the provider "supports" the capability when the value is `true`. For non-boolean fields the provider "supports" it when the value is neither `null` nor `undefined` (and, for arrays, non-empty). () => Provider[] - Filter providers that support spawning subagents. (flag: keyof Omit<ProviderSpawnCapability, "spawnMechanism" | "spawnCommand">) => Provider[] - Filter providers by a specific boolean spawn capability flag. () => void - Reset cached registry data, forcing a reload on next access. (precedence: SkillsPrecedence) => Provider[] - Filter providers by their skills precedence value. (provider: Provider, scope: PathScope, projectDir?: string) => Array<{ path: string; source: string; scope: string; }> - Get the effective skills paths for a provider, ordered by precedence. () => Array<{ providerId: string; toolName: string; precedence: SkillsPrecedence; paths: { global: string | null; project: string | null; }; }> - Build a full skills map for all providers. (idOrAlias: string) => ProviderCapabilities | undefined - Get capabilities for a provider by ID or alias. (idOrAlias: string, capabilityPath: string) => boolean - Check if a provider supports a capability using ID/alias lookup. Convenience wrapper that resolves the provider first, then delegates to the provider-level `providerSupports`. file providers.ts InjectionTemplate - Structured template for injection content. (template: InjectionTemplate) => string - Build injection content from a structured template. Produces a string suitable for injection between CAAMP markers. References are output as `@` lines, content blocks are appended as-is. (content: string) => InjectionTemplate - Parse injection content back into template form. Lines starting with `@` are treated as references. All other non-empty lines are treated as content blocks. (options?: { mcpServerName?: string; customContent?: string; }) => string - Generate a standard CAAMP injection block for instruction files. Produces markdown content suitable for injection between CAAMP markers. Optionally includes MCP server and custom content sections. (skillNames: string[]) => string - Generate a skills discovery section for instruction files. (provider: Provider) => string - Get the correct instruction file name for a provider. (providers: Provider[]) => Map<string, Provider[]> - Group providers by their instruction file name. Useful for determining which providers share the same instruction file (e.g. multiple providers using `AGENTS.md`). file templates.ts (filePath: string, expectedContent?: string) => Promise<InjectionStatus> - Check the status of a CAAMP injection block in an instruction file. Returns the injection status: - `"missing"` - File does not exist - `"none"` - File exists but has no CAAMP markers - `"current"` - CAAMP block exists and matches expected content (or no expected content given) - `"outdated"` - CAAMP block exists but differs from expected content (filePath: string, content: string) => Promise<"created" | "added" | "consolidated" | "updated" | "intact"> - Inject content into an instruction file between CAAMP markers. Behavior depends on the file state: - File does not exist: creates the file with the injection block → `"created"` - File exists without markers: prepends the injection block → `"added"` - File exists with multiple markers (duplicates): consolidates into single block → `"consolidated"` - File exists with markers, content differs: replaces the block → `"updated"` - File exists with markers, content matches: no-op → `"intact"` This function is **idempotent** — calling it multiple times with the same content will not modify the file after the first write. (filePath: string) => Promise<boolean> - Remove the CAAMP injection block from an instruction file. If removing the block would leave the file empty, the file is deleted entirely. (providers: Provider[], projectDir: string, scope: "project" | "global", expectedContent?: string) => Promise<InjectionCheckResult[]> - Check injection status across all providers' instruction files. Deduplicates by file path since multiple providers may share the same instruction file (e.g. many providers use `AGENTS.md`). (providers: Provider[], projectDir: string, scope: "project" | "global", content: string) => Promise<Map<string, "created" | "added" | "consolidated" | "updated" | "intact">> - Inject content into all providers' instruction files. Deduplicates by file path to avoid injecting the same file multiple times. EnsureProviderInstructionFileOptions - Options for ensuring a provider instruction file. EnsureProviderInstructionFileResult - Result of ensuring a provider instruction file. (providerId: string, projectDir: string, options: EnsureProviderInstructionFileOptions) => Promise<EnsureProviderInstructionFileResult> - Ensure a provider's instruction file exists with the correct CAAMP block. This is the canonical API for adapters and external packages to manage provider instruction files. Instead of directly creating/modifying CLAUDE.md, GEMINI.md, etc., callers should use this function to delegate instruction file management to CAAMP. The instruction file name is resolved from CAAMP's provider registry (single source of truth), not hardcoded by the caller. (providerIds: string[], projectDir: string, options: EnsureProviderInstructionFileOptions) => Promise<EnsureProviderInstructionFileResult[]> - Ensure instruction files for multiple providers at once. Deduplicates by file path — providers sharing the same instruction file (e.g. many providers use AGENTS.md) are only written once. file injector.ts string - Global `.agents/` home directory (`~/.agents/` or `$AGENTS_HOME`). string - CAAMP lock file path (`~/.agents/.caamp-lock.json`). string - Canonical skills directory (`~/.agents/skills/`). string - Global MCP directory (`~/.agents/mcp/`). string - Global MCP servers.json path (`~/.agents/mcp/servers.json`). string - Global agents config.toml path (`~/.agents/config.toml`). file agents.ts (v: boolean) => void - Enable or disable verbose (debug) logging mode. When enabled, debug messages are written to stderr. (q: boolean) => void - Enable or disable quiet mode. When enabled, info and warning messages are suppressed. Errors are always shown. (...args: unknown[]) => void - Log a debug message to stderr when verbose mode is enabled. (...args: unknown[]) => void - Log an informational message to stdout. (...args: unknown[]) => void - Log a warning message to stderr. (...args: unknown[]) => void - Log an error message to stderr. () => boolean - Check if verbose (debug) logging is currently enabled. () => boolean - Check if quiet mode is currently enabled. (h: boolean) => void - Enable or disable human-readable output mode. When enabled, commands output human-readable format instead of JSON. () => boolean - Check if human-readable output mode is currently enabled. file logger.ts DetectionResult - Result of detecting whether a provider is installed on the system. DetectionCacheOptions - Options for controlling the detection result cache. (provider: Provider) => DetectionResult - Detect if a single provider is installed on the system. Checks each detection method configured for the provider (binary, directory, appBundle, flatpak) and returns which methods matched. (provider: Provider, projectDir: string) => boolean - Detect if a provider has project-level config in the given directory. (options?: DetectionCacheOptions) => DetectionResult[] - Detect all registered providers and return their installation status. Runs detection for every provider in the registry. (options?: DetectionCacheOptions) => Provider[] - Get only providers that are currently installed on the system. Convenience wrapper that filters `detectAllProviders` results to only those with `installed === true`. (projectDir: string, options?: DetectionCacheOptions) => DetectionResult[] - Detect all providers and enrich results with project-level presence. Extends `detectAllProviders` by also checking whether each provider has a project-level config file in the given directory. () => void - Reset the detection result cache, forcing fresh detection on next call. file detection.ts SkillInstallResult - Result of installing a skill to the canonical location and linking to agents. (sourcePath: string, skillName: string) => Promise<string> - Copy skill files to the canonical location. (sourcePath: string, skillName: string, providers: Provider[], isGlobal: boolean, projectDir?: string) => Promise<SkillInstallResult> - Install a skill from a local path to the canonical location and link to agents. (skillName: string, providers: Provider[], isGlobal: boolean, projectDir?: string) => Promise<{ removed: string[]; errors: string[]; }> - Remove a skill from the canonical location and all agent symlinks. () => Promise<string[]> - List all skills installed in the canonical skills directory. file installer.ts (providers: Provider[], minimumPriority?: ProviderPriority) => Provider[] - Filters providers by minimum priority and returns them in deterministic tier order. SkillBatchOperation - Single skill operation entry used by batch orchestration. BatchInstallOptions - Options for rollback-capable batch installation. BatchInstallResult - Result of rollback-capable batch installation. (options: BatchInstallOptions) => Promise<BatchInstallResult> - Installs multiple skills across filtered providers with rollback. InstructionUpdateSummary - Result of a single-operation instruction update across providers. (providers: Provider[], content: string, scope?: Scope, projectDir?: string) => Promise<InstructionUpdateSummary> - Updates instruction files across providers as a single operation. file orchestration.ts MVILevel - LAFS MVI disclosure level - defined locally to avoid CI module resolution issues with re-exported types. LAFSError - LAFS Error structure - re-exported from protocol as LAFSErrorShape for CAAMP compatibility. Warning - LAFS Warning structure - re-exported from protocol. LAFSEnvelope<T> - Generic LAFS Envelope structure for type-safe command results. FormatOptions - Format resolution options. (options: FormatOptions) => "json" | "human" - Resolves output format based on flags and defaults. <T>(operation: string, mvi: MVILevel, result: T | null, error: LAFSErrorShape | null, page?: LAFSPage | null, sessionId?: string, warnings?: LAFSWarning[]) => LAFSEnvelope<T> - Builds a standard LAFS envelope. (operation: string, mvi: MVILevel, code: string, message: string, category: LAFSErrorCategory, details?: Record<string, unknown>, exitCode?: number) => never - Emits a JSON error envelope to stderr and exits the process. (operation: string, mvi: MVILevel, code: string, message: string, category: LAFSErrorCategory, details?: Record<string, unknown>) => void - Emits a JSON error envelope without exiting (for catch blocks). <T>(operation: string, mvi: MVILevel, result: T, page?: LAFSPage, sessionId?: string, warnings?: LAFSWarning[]) => void - Outputs a successful LAFS envelope to stdout. LAFSCommandOptions - Standard command options interface for LAFS-compliant commands. (error: unknown, operation: string, mvi: MVILevel, jsonFlag: boolean | undefined) => never - Handles format resolution errors consistently. { readonly VALIDATION: LAFSErrorCategory; readonly AUTH: LAFSErrorCategory; readonly PERMISSION: LAFSErrorCategory; readonly NOT_FOUND: LAFSErrorCategory; readonly CONFLICT: LAFSErrorCategory; readonly RATE_LIMIT: LAFSErrorCategory; readonly TRANSIENT: LAFSErrorCategory; readonly INTERNAL: LAFSErrorCategory; readonly CONTRACT: LAFSErrorCategory; readonly MIGRATION: LAFSErrorCategory; } - Common error categories mapping for convenience. { readonly FORMAT_CONFLICT: "E_FORMAT_CONFLICT"; readonly INVALID_JSON: "E_INVALID_JSON"; readonly SKILL_NOT_FOUND: "E_SKILL_NOT_FOUND"; readonly PROVIDER_NOT_FOUND: "E_PROVIDER_NOT_FOUND"; readonly MCP_SERVER_NOT_FOUND: "E_MCP_SERVER_NOT_FOUND"; readonly FILE_NOT_FOUND: "E_FILE_NOT_FOUND"; readonly INVALID_INPUT: "E_INVALID_INPUT"; readonly INVALID_CONSTRAINT: "E_INVALID_CONSTRAINT"; readonly INVALID_FORMAT: "E_INVALID_FORMAT"; readonly INSTALL_FAILED: "E_INSTALL_FAILED"; readonly REMOVE_FAILED: "E_REMOVE_FAILED"; readonly UPDATE_FAILED: "E_UPDATE_FAILED"; readonly VALIDATION_FAILED: "E_VALIDATION_FAILED"; readonly AUDIT_FAILED: "E_AUDIT_FAILED"; readonly NETWORK_ERROR: "E_NETWORK_ERROR"; readonly FILE_SYSTEM_ERROR: "E_FILE_SYSTEM_ERROR"; readonly PERMISSION_DENIED: "E_PERMISSION_DENIED"; readonly INTERNAL_ERROR: "E_INTERNAL_ERROR"; } - Common error codes for consistency. file lafs.ts typeof LAFSCommandError - Structured error class for LAFS-compliant command failures with error codes and recovery hints. <T>(operation: string, result: T, mvi?: MVILevel) => void - Emits a successful LAFS result envelope to stdout. (operation: string, error: unknown, mvi?: MVILevel) => void - Emits a failed LAFS error envelope to stderr. <T>(command: string, mvi: MVILevel, action: () => Promise<T>) => Promise<void> - Runs an async action and emits the result as a LAFS success or error envelope. file lafs.ts ProviderTargetOptions - Options for resolving which providers to target in advanced commands. (value: string) => ProviderPriority - Parses and validates a provider priority tier string. (options: ProviderTargetOptions) => Provider[] - Resolves the set of target providers from CLI targeting options. (path: string) => Promise<unknown> - Reads and parses a JSON file from disk. (path: string) => Promise<SkillBatchOperation[]> - Reads and validates a JSON file containing skill batch operations. (inlineContent: string | undefined, filePath: string | undefined) => Promise<string | undefined> - Reads text input from either inline content or a file path, enforcing mutual exclusivity. file common.ts (parent: Command) => void - Registers the `advanced batch` subcommand for rollback-capable batch install of skills. file batch.ts (parent: Command) => void - Registers the `advanced instructions` subcommand for single-operation instruction updates. file instructions.ts (parent: Command) => void - Registers the `advanced providers` subcommand for selecting providers by priority tier. file providers.ts (program: Command) => void - Registers the `advanced` command group with providers, batch, and instructions subcommands. file index.ts - Advanced orchestration command group providing LAFS-compliant wrappers for batch operations, provider selection, and instruction management. (target: Record<string, unknown>, source: Record<string, unknown>) => Record<string, unknown> - Deep merge two objects, with `source` values winning on conflict. Recursively merges nested plain objects. Arrays and non-object values from `source` overwrite `target` values. (obj: Record<string, unknown>, keyPath: string, key: string, value: unknown) => Record<string, unknown> - Set a nested value using a dot-notation key path. (obj: Record<string, unknown>, keyPath: string) => unknown - Get a nested value from an object using a dot-notation key path. (filePath: string) => Promise<void> - Ensure that the parent directories of a file path exist. Creates directories recursively if they do not exist. file utils.ts (filePath: string) => Promise<Record<string, unknown>> - Read and parse a JSON or JSONC config file. (filePath: string, configKey: string, serverName: string, serverConfig: unknown) => Promise<void> - Write a server config entry to a JSON/JSONC file, preserving comments. (filePath: string, configKey: string, serverName: string) => Promise<boolean> - Remove a server entry from a JSON/JSONC config file. file json.ts (filePath: string) => Promise<Record<string, unknown>> - Read and parse a TOML config file. (filePath: string, configKey: string, serverName: string, serverConfig: unknown) => Promise<void> - Write a server config entry to a TOML file. (filePath: string, configKey: string, serverName: string) => Promise<boolean> - Remove a server entry from a TOML config file. file toml.ts (filePath: string) => Promise<Record<string, unknown>> - Read and parse a YAML config file. (filePath: string, configKey: string, serverName: string, serverConfig: unknown) => Promise<void> - Write a server config entry to a YAML file. (filePath: string, configKey: string, serverName: string) => Promise<boolean> - Remove a server entry from a YAML config file. file yaml.ts (filePath: string, format: ConfigFormat) => Promise<Record<string, unknown>> - Read and parse a config file in the specified format. Dispatches to the appropriate format handler (JSON/JSONC, YAML, or TOML). (filePath: string, format: ConfigFormat, key: string, serverName: string, serverConfig: unknown) => Promise<void> - Write a server entry to a config file, preserving existing content. Dispatches to the appropriate format handler. For JSONC files, comments are preserved using `jsonc-parser`. (filePath: string, format: ConfigFormat, key: string, serverName: string) => Promise<boolean> - Remove a server entry from a config file in the specified format. file index.ts - Provides format-agnostic config read, write, and remove operations that dispatch to JSON/JSONC, YAML, or TOML handlers based on the specified format. (program: Command) => void - Registers the `config` command group with show and path subcommands for viewing provider configurations. file config.ts () => Promise<CaampLockFile> - Read and parse the CAAMP lock file from disk. (lock: CaampLockFile) => Promise<void> - Write the lock file atomically under a process lock guard. (updater: (lock: CaampLockFile) => void | Promise<void>) => Promise<CaampLockFile> - Safely read-modify-write the lock file under a process lock guard. file lock-utils.ts () => string - Retrieve the current CAAMP package version from the nearest `package.json`. file version.ts (program: Command) => void - Registers the `doctor` command for diagnosing configuration issues and overall system health. file doctor.ts (parent: Command) => void - Registers the `instructions check` subcommand for verifying injection status across providers. file check.ts (parent: Command) => void - Registers the `instructions inject` subcommand for injecting instruction blocks into provider files. file inject.ts (parent: Command) => void - Registers the `instructions update` subcommand for refreshing all instruction file injections. file update.ts (program: Command) => void - Registers the `instructions` command group with inject, check, and update subcommands. file index.ts - Instruction file management command group for injecting, checking, and updating CAAMP-managed instruction blocks in provider instruction files (CLAUDE.md, AGENTS.md, GEMINI.md). readonly ["agent", "context", "memory", "pipeline", "prompt", "session", "task", "tool"] - All hook event categories (8 total). "agent" | "context" | "memory" | "pipeline" | "prompt" | "session" | "task" | "tool" - Union type of valid hook category strings. readonly ["domain", "provider"] - Event source types: domain, provider. "domain" | "provider" - Union type of valid event source types. readonly ["ConfigChange", "Notification", "PermissionRequest", "PostCompact", "PostModel", "PostToolUse", "PostToolUseFailure", "PreCompact", "PreModel", "PreToolUse", "PromptSubmit", "ResponseComplete", "SessionEnd", "SessionStart", "SubagentStart", "SubagentStop", "ApprovalExpired", "ApprovalGranted", "ApprovalRequested", "MemoryDecisionStored", "MemoryLearningStored", "MemoryObserved", "MemoryPatternStored", "PipelineManifestAppended", "PipelineStageCompleted", "SessionEnded", "SessionStarted", "TaskBlocked", "TaskCompleted", "TaskCreated", "TaskStarted"] - All canonical hook events (31 total: 16 provider, 15 domain). This replaces the previously hardcoded tuple in types.ts. Single source of truth: providers/hook-mappings.json "ConfigChange" | "Notification" | "PermissionRequest" | "PostCompact" | "PostModel" | "PostToolUse" | "PostToolUseFailure" | "PreCompact" | "PreModel" | "PreToolUse" | "PromptSubmit" | "ResponseComplete" | "SessionEnd" | "SessionStart" | "SubagentStart" | "SubagentStop" | "ApprovalExpired" | "ApprovalGranted" | "ApprovalRequested" | "MemoryDecisionStored" | "MemoryLearningStored" | "MemoryObserved" | "MemoryPatternStored" | "PipelineManifestAppended" | "PipelineStageCompleted" | "SessionEnded" | "SessionStarted" | "TaskBlocked" | "TaskCompleted" | "TaskCreated" | "TaskStarted" - Union type of all canonical hook event names. readonly ["ConfigChange", "Notification", "PermissionRequest", "PostCompact", "PostModel", "PostToolUse", "PostToolUseFailure", "PreCompact", "PreModel", "PreToolUse", "PromptSubmit", "ResponseComplete", "SessionEnd", "SessionStart", "SubagentStart", "SubagentStop"] - Provider-sourced events only (original 16 CAAMP events). readonly ["ApprovalExpired", "ApprovalGranted", "ApprovalRequested", "MemoryDecisionStored", "MemoryLearningStored", "MemoryObserved", "MemoryPatternStored", "PipelineManifestAppended", "PipelineStageCompleted", "SessionEnded", "SessionStarted", "TaskBlocked", "TaskCompleted", "TaskCreated", "TaskStarted"] - Domain-sourced events only (CLEO business events). Record<"ConfigChange" | "Notification" | "PermissionRequest" | "PostCompact" | "PostModel" | "PostToolUse" | "PostToolUseFailure" | "PreCompact" | "PreModel" | "PreToolUse" | "PromptSubmit" | "ResponseComplete" | "SessionEnd" | "SessionStart" | "SubagentStart" | "SubagentStop" | "ApprovalExpired" | "ApprovalGranted" | "ApprovalRequested" | "MemoryDecisionStored" | "MemoryLearningStored" | "MemoryObserved" | "MemoryPatternStored" | "PipelineManifestAppended" | "PipelineStageCompleted" | "SessionEnded" | "SessionStarted" | "TaskBlocked" | "TaskCompleted" | "TaskCreated" | "TaskStarted", { category: HookCategory; source: EventSource; canBlock: boolean; description: string; }> - Metadata for each canonical event, derived from hook-mappings.json. file generated.ts CanonicalEventDefinition - Definition of a canonical hook event including its category and behavior. HookSystemType - The type of hook system a provider uses. HookHandlerType - The mechanism a provider uses to execute hook handlers. HookMapping - Mapping of a single canonical event to a provider's native representation. ProviderHookProfile - Complete hook profile for a single provider. NormalizedHookEvent - A fully resolved hook event with both canonical and native names. HookSupportResult - Result of querying whether a provider supports a specific canonical event. ProviderHookSummary - Aggregated hook support summary for a single provider. CrossProviderMatrix - Cross-provider hook support matrix comparing multiple providers. HookMappingsFile - Schema for the `providers/hook-mappings.json` data file. file types.ts () => void - Reset the cached hook mappings data. (event: CanonicalHookEvent) => CanonicalEventDefinition - Get the canonical event definition (category, description, canBlock). () => Record<CanonicalHookEvent, CanonicalEventDefinition> - Get all canonical event definitions. (category: HookCategory) => CanonicalHookEvent[] - Get canonical events filtered by category. (providerId: string) => ProviderHookProfile | undefined - Get the full hook profile for a provider. () => string[] - Get all provider IDs that have hook mappings. (canonical: CanonicalHookEvent, providerId: string) => string | null - Translate a CAAMP canonical event name to the provider's native name. (nativeName: string, providerId: string) => CanonicalHookEvent | null - Translate a provider-native event name to the CAAMP canonical name. (canonicals: CanonicalHookEvent[], providerId: string) => NormalizedHookEvent[] - Batch-translate multiple canonical events to native names for a provider. (canonical: CanonicalHookEvent, providerId: string) => boolean - Check if a provider supports a specific canonical hook event. (canonical: CanonicalHookEvent, providerId: string) => HookSupportResult - Get full hook support details for a canonical event on a provider. (providerId: string) => CanonicalHookEvent[] - Get all supported canonical events for a provider. (providerId: string) => CanonicalHookEvent[] - Get all unsupported canonical events for a provider. (canonical: CanonicalHookEvent) => string[] - Get providers that support a specific canonical event. (providerIds: string[]) => CanonicalHookEvent[] - Get canonical events common to all specified providers. (providerId: string) => ProviderHookSummary | undefined - Get a summary of hook support for a provider. (providerIds?: string[]) => CrossProviderMatrix - Build a cross-provider hook support matrix. (providerId: string) => HookSystemType - Get the hook system type for a provider. (providerId: string) => string | null - Get the resolved hook config path for a provider. (providerId: string) => string[] - Get provider-only events (native events with no canonical mapping). (canonical: CanonicalHookEvent, providerIds: string[]) => Record<string, string> - Translate a canonical event to native names across multiple providers. (nativeName: string) => Array<{ providerId: string; canonical: CanonicalHookEvent; }> - Find the best canonical match for a native event name across all providers. () => string - Get the version of the hook mappings data. file normalizer.ts file index.ts - CAAMP Hooks Module Unified hook normalization layer that translates between CAAMP canonical hook events and provider-native names. (program: Command) => void - Registers the `providers` command group with list, detect, show, skills-map, hooks, and capabilities subcommands. file providers.ts AuditRule[] - Complete set of security audit rules for SKILL.md scanning. (category: string) => AuditRule[] - Get audit rules filtered by category. (severity: AuditSeverity) => AuditRule[] - Get audit rules filtered by severity level. () => string[] - Get all unique rule categories. file rules.ts (filePath: string, rules?: AuditRule[]) => Promise<AuditResult> - Scan a single file against security audit rules. (dirPath: string) => Promise<AuditResult[]> - Scan a directory of skills for security issues. (results: AuditResult[]) => object - Convert audit results to SARIF 2.1.0 format (Static Analysis Results Interchange Format). file scanner.ts (parent: Command) => void - Registers the `skills audit` subcommand for security scanning skill files. file audit.ts (input: string) => ParsedSource - Parse and classify a source string into a typed `ParsedSource`. (input: string) => boolean - Check if a source string looks like a marketplace scoped name (`@author/name`). file parser.ts (skillName: string, scopedName: string, source: string, sourceType: SourceType, agents: string[], canonicalPath: string, isGlobal: boolean, projectDir?: string, version?: string) => Promise<void> - Record a skill installation in the lock file. (skillName: string) => Promise<boolean> - Remove a skill entry from the lock file. () => Promise<Record<string, LockEntry>> - Get all skills tracked in the lock file. (skillName: string) => Promise<{ hasUpdate: boolean; currentVersion?: string; latestVersion?: string; status: "up-to-date" | "update-available" | "unknown"; }> - Check if a skill has updates available by comparing the installed version against the latest remote commit SHA. () => Promise<Record<string, { hasUpdate: boolean; currentVersion?: string; latestVersion?: string; status: "up-to-date" | "update-available" | "unknown"; }>> - Check for updates across all tracked skills. file lock.ts (parent: Command) => void - Registers the `skills check` subcommand for checking available skill updates. file check.ts 10000 - Default timeout in milliseconds for outbound HTTP requests. typeof NetworkError - Structured error for network failures with categorized kind. (url: string, init?: RequestInit, timeoutMs?: number) => Promise<Response> - Fetch a URL with an automatic timeout via `AbortSignal.timeout`. (response: Response, url: string) => Response - Assert that a `Response` has an OK status, throwing on failure. (error: unknown) => string - Format a network error into a user-friendly message string. file fetch.ts MarketplaceAdapter - Contract that each marketplace backend adapter must implement. MarketplaceResult - Normalized marketplace record returned by all adapters. SearchOptions - Options for marketplace search requests. file types.ts typeof SkillsMPAdapter - Marketplace adapter for the agentskills.in API. file skillsmp.ts typeof SkillsShAdapter - Marketplace adapter for the skills.sh API. file skillssh.ts typeof MarketplaceUnavailableError - Error thrown when all marketplace sources fail to respond. typeof MarketplaceClient - Unified marketplace client that aggregates results from multiple marketplace adapters. Queries all configured marketplaces in parallel, deduplicates results by scoped name, and sorts by star count. file client.ts { readonly QUERY_INVALID: "E_SKILLS_QUERY_INVALID"; readonly NO_MATCHES: "E_SKILLS_NO_MATCHES"; readonly SOURCE_UNAVAILABLE: "E_SKILLS_SOURCE_UNAVAILABLE"; readonly CRITERIA_CONFLICT: "E_SKILLS_CRITERIA_CONFLICT"; } - Error codes used in skill recommendation validation. RecommendationErrorCode - Union type of all recommendation error code string literals. RecommendationValidationIssue - Describes a single validation issue found in recommendation criteria. RecommendationValidationResult - Result of validating recommendation criteria input. RecommendationCriteriaInput - Raw user-provided criteria for skill recommendations. NormalizedRecommendationCriteria - Normalized and tokenized form of recommendation criteria. RecommendationReasonCode - String literal union of all reason codes emitted during skill scoring. RecommendationReason - A single reason contributing to a skill's recommendation score. RecommendationScoreBreakdown - Detailed breakdown of a skill's recommendation score by category. RankedSkillRecommendation - A single skill recommendation with its computed score and explanations. RecommendationOptions - Configuration options for the skill recommendation engine. RecommendationWeights - Numeric weights controlling the recommendation scoring algorithm. RecommendSkillsResult - The complete result of a skill recommendation operation. (value: string) => string[] - Splits a comma-separated criteria string into normalized tokens. (input: RecommendationCriteriaInput) => RecommendationValidationResult - Validates recommendation criteria input for correctness and consistency. (input: RecommendationCriteriaInput) => NormalizedRecommendationCriteria - Normalizes raw recommendation criteria into a consistent tokenized form. (skill: MarketplaceResult, criteria: NormalizedRecommendationCriteria, options?: RecommendationOptions) => RankedSkillRecommendation - Computes a recommendation score for a single skill against normalized criteria. (skills: MarketplaceResult[], criteriaInput: RecommendationCriteriaInput, options?: RecommendationOptions) => RecommendSkillsResult - Validates, normalizes, scores, and ranks a list of skills against criteria. (skills: MarketplaceResult[], criteriaInput: RecommendationCriteriaInput, options?: RecommendationOptions) => RecommendSkillsResult - Alias for `recommendSkills` providing a shorter function name. file recommendation.ts SearchSkillsOptions - Options for searching skills via marketplace APIs. RecommendSkillsQueryOptions - Options for the recommendation query combining ranking options with a result limit. (result: RecommendSkillsResult, opts: { mode: "human" | "json"; details?: boolean; }) => string | Record<string, unknown> - Format skill recommendation results for display or serialization. (query: string, options?: SearchSkillsOptions) => Promise<import("/mnt/projects/cleocode/packages/caamp/src/index").MarketplaceResult[]> - Search for skills via marketplace APIs. (query: string, criteria: Omit<RecommendationCriteriaInput, "query">, options?: RecommendSkillsQueryOptions) => Promise<RecommendSkillsResult> - Search and rank skills based on query and recommendation criteria. file recommendation-api.ts (parent: Command) => void - Registers the `skills find` subcommand for searching marketplaces and recommending skills. file find.ts (parent: Command) => void - Registers the `skills init` subcommand for scaffolding new SKILL.md templates. file init.ts (root: string) => SkillLibrary - Load a SkillLibrary from a module (index.js) at the given root directory. (root: string) => SkillLibrary - Build a SkillLibrary from raw files in a directory. file library-loader.ts (library: SkillLibrary) => void - Registers a SkillLibrary instance directly as the active catalog. (root: string) => void - Registers a skill library by loading it from a directory path. () => void - Clears the registered skill library instance. () => boolean - Checks whether a skill library is available for use. () => SkillLibraryEntry[] - Returns all skill entries from the catalog. () => SkillLibraryManifest - Returns the parsed skill library manifest. () => string[] - Lists all available skill names in the catalog. (name: string) => SkillLibraryEntry | undefined - Gets skill metadata by name from the catalog. (name: string) => string - Resolves the absolute path to a skill's SKILL.md file. (name: string) => string - Resolves the absolute path to a skill's directory. (name: string) => string - Reads a skill's SKILL.md content as a string. () => SkillLibraryEntry[] - Returns all skills marked as core in the catalog. (category: SkillLibraryEntry["category"]) => SkillLibraryEntry[] - Returns skills filtered by category. (name: string) => string[] - Gets the direct dependency names for a skill. (names: string[]) => string[] - Resolves the full dependency tree for a set of skill names. () => string[] - Lists all available profile names in the catalog. (name: string) => SkillLibraryProfile | undefined - Gets a profile definition by name from the catalog. (name: string) => string[] - Resolves a profile to its full skill list including inherited skills. () => string[] - Lists all available shared resource names in the catalog. (name: string) => string | undefined - Gets the absolute path to a shared resource file. (name: string) => string | undefined - Reads a shared resource file's content as a string. () => string[] - Lists all available protocol names in the catalog. (name: string) => string | undefined - Gets the absolute path to a protocol file. (name: string) => string | undefined - Reads a protocol file's content as a string. (name: string) => SkillLibraryValidationResult - Validates a single skill's frontmatter against the schema. () => Map<string, SkillLibraryValidationResult> - Validates all skills in the catalog and returns results per skill. () => SkillLibraryDispatchMatrix - Gets the dispatch matrix from the skill library manifest. () => string - Returns the skill library version string. () => string - Returns the absolute path to the skill library root directory. file catalog.ts (filePath: string) => Promise<SkillMetadata | null> - Parse a SKILL.md file and extract its frontmatter metadata. (skillDir: string) => Promise<SkillEntry | null> - Discover a single skill at a given directory path. (rootDir: string) => Promise<SkillEntry[]> - Scan a directory for skill subdirectories, each containing a SKILL.md file. (dirs: string[]) => Promise<SkillEntry[]> - Discover skills across multiple directories. file discovery.ts GitFetchResult - Result of fetching a Git repository to a local temporary directory. (owner: string, repo: string, ref?: string, subPath?: string) => Promise<GitFetchResult> - Clone a GitHub repo to a temp directory. (owner: string, repo: string, path: string, ref?: string) => Promise<string | null> - Fetch a specific file from GitHub using the raw API. (owner: string, repo: string) => Promise<boolean> - Check if a GitHub repo exists. file github.ts (owner: string, repo: string, ref?: string, subPath?: string) => Promise<GitFetchResult> - Clone a GitLab repo to a temp directory. (owner: string, repo: string, path: string, ref?: string) => Promise<string | null> - Fetch a specific file from GitLab using the raw API. file gitlab.ts (parent: Command) => void - Registers the `skills install` subcommand for installing skills from various sources. file install.ts (parent: Command) => void - Registers the `skills list` subcommand for listing installed skills. file list.ts (parent: Command) => void - Registers the `skills remove` subcommand for removing installed skills. file remove.ts (parent: Command) => void - Registers the `skills update` subcommand for updating all outdated skills. file update.ts ValidationIssue - A single validation issue found during SKILL.md validation. ValidationResult - Result of validating a SKILL.md file against the Agent Skills standard. (filePath: string) => Promise<ValidationResult> - Validate a SKILL.md file against the Agent Skills standard. file validator.ts (parent: Command) => void - Registers the `skills validate` subcommand for validating SKILL.md file format. file validate.ts (program: Command) => void - Registers the `skills` command group with all skill management subcommands. file index.ts - Skills management command group for installing, removing, listing, finding, checking, updating, initializing, auditing, and validating AI agent skills. file cli.ts SpawnOptions - Options for spawning a subagent. SpawnResult - Result from a spawn operation. SpawnAdapter - Provider-neutral interface for spawning and managing subagents. Concrete implementations will be provider-specific (e.g. ClaudeCodeSpawnAdapter, CodexSpawnAdapter) and registered by CLEO's orchestration layer. file spawn-adapter.ts SkillIntegrityStatus - Status of a single skill's integrity check. SkillIntegrityResult - Result of checking a single skill's integrity. (skillName: string) => boolean - Check whether a skill name is reserved by CAAMP (ct-* prefix). (skillName: string, providers: Provider[], scope?: "global" | "project", projectDir?: string) => Promise<SkillIntegrityResult> - Check the integrity of a single installed skill. (providers: Provider[], scope?: "global" | "project", projectDir?: string) => Promise<Map<string, SkillIntegrityResult>> - Check integrity of all tracked skills. (skillName: string, incomingSource: string, existingEntry: LockEntry | undefined) => boolean - Resolve a skill name conflict where a user-installed skill collides with a CAAMP-owned (ct-*) skill. (providers: Provider[], projectDir: string, scope: "project" | "global", expectedContent?: string) => Promise<Array<{ file: string; providerId: string; issue: string; }>> - Validate instruction file injection status across all providers. file integrity.ts file index.ts - Provides the public API surface for the CAAMP library, re-exporting types, registry functions, detection utilities, skill management, instruction file injection, marketplace search, and format-agnostic config read/write operations. ResolvedImports - Result of resolving lines in content. (content: string, projectRoot: string) => ResolvedImports - Resolve *.cant references in instruction file content. Scans each line for directives pointing to .cant files. For each match, reads and parses the .cant file, converts its definitions to markdown, and replaces the line with the generated content. Lines that don't match the .cant import pattern are left unchanged. (cantContent: string) => string - Convert a .cant file's content to markdown equivalent. Parses the frontmatter to determine the document kind, then converts the body into structured markdown that providers can consume (headings, bullet lists, code blocks). file cant-resolver.ts WellKnownSkill - A skill entry discovered via the RFC 8615 well-known endpoint. (domain: string) => Promise<WellKnownSkill[]> - Discover skills from a well-known URL. file wellknown.ts file cli.test.ts file config-providers.test.ts file coverage-config-providers-doctor.test.ts file coverage-instructions.test.ts file instructions-command-wrappers.test.ts file skill-install.test.ts file skills-commands-coverage.test.ts file skills-commands.test.ts file skills-find-recommendation.test.ts file skills-format-errors.test.ts file skills-protocol-format-errors.test.ts file skills-update-readline.test.ts file advanced-common.test.ts file advanced-lafs.test.ts file advanced-orchestration.test.ts file cant-resolver.test.ts file catalog.test.ts file core-coverage-gaps.test.ts file coverage-clone-cleanup.test.ts file coverage-deep-branches.test.ts file coverage-final-push.test.ts file coverage-lock-installer-mocked.test.ts file coverage-network-mocked.test.ts file coverage-scanner-mocked.test.ts file detection.test.ts file doctor.test.ts file formats.test.ts file hooks-normalizer.test.ts file injection-templates.test.ts file injector-idempotent.test.ts file installer.test.ts file instructions.test.ts file lock-utils.test.ts file lock.test.ts file logger.test.ts file marketplace.test.ts file network-fetch.test.ts file paths-standard.test.ts file recommendation-api.test.ts file recommendation.test.ts file registry.test.ts file skill-integrity.test.ts file skill-library.test.ts file skills-audit.test.ts file skills-discovery.test.ts file skills-installer.test.ts file skills-lock.test.ts file source-fetchers.test.ts file source-parser.test.ts file spawn-adapter.test.ts file validator.test.ts file version.test.ts file vitest.config.ts MigrationOptions - Options controlling migration behavior. MigrationResult - Result of migrating a single markdown file. ConvertedFile - A single converted .cant output file. UnconvertedSection - A section of markdown that was not converted. MarkdownSection - A parsed markdown section identified by heading. Used internally by the markdown parser to structure the input before classification and conversion. SectionClassification - Classification of a markdown section for conversion purposes. ExtractedProperty - A key-value property extracted from a markdown bullet list. Matches patterns like `- **Key**: value` or `- Key: value`. ExtractedPermission - A permission entry extracted from markdown. Matches patterns like `- Tasks: read, write` or `- Read and write tasks`. file types.ts (content: string) => MarkdownSection[] - Parse markdown content into classified sections. Splits on `##` and `###` headings, classifies each section by heuristic pattern matching, and returns structured section data with line numbers for source mapping. (section: MarkdownSection) => SectionClassification - Classify a markdown section based on its heading and content. Uses heuristic matching against known patterns. Returns 'unknown' for sections that cannot be confidently classified. (lines: string[]) => ExtractedProperty[] - Extract key-value properties from markdown bullet lists. Matches patterns like: - `- **Key**: value` - `- **Key**: value` - `- Key: value` (lines: string[]) => ExtractedPermission[] - Extract permission entries from markdown content. Handles two formats: 1. Structured: `- Tasks: read, write` 2. Prose: `- Read and write tasks` (heading: string) => string - Normalize a heading into a valid CANT identifier. Converts "Code Review Agent" to "code-review-agent", strips common suffixes like " Agent", lowercases, and replaces non-alphanumeric chars with hyphens. (heading: string) => string | null - Map a hook heading to a CAAMP event name. Converts headings like "On Session Start" to "SessionStart". Returns null if the heading does not match a known event. () => ReadonlySet<string> - Get the full set of CAAMP event names. file markdown-parser.ts CantDocumentIR - Intermediate representation of a CANT document for serialization. This is the bridge between the converter's output and the final .cant file text. Each field maps to a CANT construct. CantBlockIR - A CANT block (agent, skill, hook, or workflow). CantPropertyIR - A single property key-value pair. (doc: CantDocumentIR) => string - Serialize a CANT document IR into .cant file text. Produces a complete .cant file including frontmatter and body. All string values are quoted, arrays use bracket notation, and indentation uses 2 spaces per level. (value: string | string[] | number | boolean) => string - Format a property value for .cant output. - Strings are double-quoted - Arrays use bracket notation with quoted elements - Numbers and booleans are bare (properties: ExtractedProperty[]) => CantPropertyIR[] - Convert extracted properties to CANT property IR format. Maps known markdown property keys to their CANT equivalents: - "model" - model - "persistence" / "persist" - persist - "prompt" - prompt - "skills" - skills (as array) file serializer.ts (content: string, inputFile: string, options: MigrationOptions) => MigrationResult - Migrate a markdown file to CANT format. Parses the markdown into sections, classifies each section, converts recognized patterns to .cant files, and flags everything else as unconverted with TODO comments. file converter.ts (result: MigrationResult, useColor?: boolean) => string - Show a color-coded diff of the migration result. Displays: - A summary header with conversion stats - Each converted file with green-highlighted content - Each unconverted section with yellow-highlighted warnings (result: MigrationResult) => string - Generate a simple text-only summary (no color). Suitable for logging or non-terminal output. file diff.ts file index.ts () => boolean - Check if the native addon is available NativeParseResult - Shape returned by the native Rust WASM cantParse function. (content: string) => NativeParseResult - Parse a CANT message using the native addon (verb: string) => string - Classify a directive using the native addon () => boolean () => Promise<void> file native-loader.ts DirectiveType ParsedCANTMessage file types.ts () => Promise<void> - Initialize the CANT parser With napi-rs native addons, this is a no-op (native modules load synchronously). Kept for backward compatibility with code that previously called this for WASM init. (content: string) => ParsedCANTMessage - Parse a CANT message If the native addon is available, uses the Rust cant-core parser via napi-rs. Falls back to a basic JavaScript implementation if the native addon is not loaded. file parse.ts file index.ts () => Promise<void> - Initialize the WASM module Must be called before using any WASM functions () => boolean - Check if WASM is available (content: string) => unknown - Parse a CANT message using WASM (verb: string) => string - Classify a directive using WASM file wasm-loader.ts file parse.test.ts file converter.test.ts file diff.test.ts file markdown-parser.test.ts file roundtrip.test.ts file serializer.test.ts LoggerConfig (cleoDir: string, config: LoggerConfig, projectHash?: string) => pino.Logger - Initialize the root logger. Call once at startup. Uses pino-roll for automatic size+daily rotation with built-in retention. No custom rotation code needed. (subsystem: string) => pino.Logger - Get a child logger bound to a subsystem name. Safe to call before initLogger — returns a stderr fallback logger so early startup code and tests never crash. () => string | null - Get the current log directory path. Useful for read APIs that need to scan log files. () => Promise<void> - Flush and close the logger. Call during graceful shutdown. Returns a Promise that resolves once the pino transport worker thread has processed all pending writes. Callers that cannot await (e.g. sync shutdown handlers) may fire-and-forget safely — the underlying flush will still occur before the process exits. file logger.ts PlatformPaths - OS-appropriate paths for CLEO's global directories. SystemInfo - Immutable system information snapshot, captured once per process. () => PlatformPaths - Get OS-appropriate paths for CLEO's global directories. Cached after first call. CLEO_HOME env var overrides the data path. The cache is automatically invalidated when CLEO_HOME changes, so test code can set process.env['CLEO_HOME'] without calling _resetPlatformPathsCache() manually. () => SystemInfo - Get a cached system information snapshot. Captured once and reused for the process lifetime. Useful for diagnostics, issue reports, and log enrichment. () => void - Invalidate the path and system info caches. Use in tests after mutating CLEO_HOME env var. file platform-paths.ts (projectRoot?: string) => boolean - Check if a CLEO project is initialized at the given root. Checks for tasks.db. () => string - Get the global CLEO home directory. Respects CLEO_HOME env var; otherwise uses the OS-appropriate data path via env-paths (XDG_DATA_HOME on Linux, Library/Application Support on macOS, %LOCALAPPDATA% on Windows). () => string - Get the global CLEO templates directory. () => string - Get the global CLEO schemas directory. () => string - Get the global CLEO docs directory. (cwd?: string) => string - Get the project CLEO data directory (relative). Respects CLEO_DIR env var, defaults to ".cleo". (cwd?: string) => string - Get the absolute path to the project CLEO directory. (cwd?: string) => string - Get the project root from the CLEO directory. Respects CLEO_ROOT env var, then derives from CLEO_DIR. If CLEO_DIR is ".cleo", the project root is its parent. (relativePath: string, cwd?: string) => string - Resolve a project-relative path to an absolute path. (cwd?: string) => string - Get the path to the project's tasks.db file (SQLite database). (cwd?: string) => string - Get the path to the project's config.json file. (cwd?: string) => string - Get the path to the project's sessions.json file. (cwd?: string) => string - Get the path to the project's archive file. (cwd?: string) => string - Get the path to the project's log file. Canonical structured runtime log path (pino). (cwd?: string) => string - Get the backup directory for operational backups. () => string - Get the global config file path. () => string - Get the Global Justfile Hub directory. The hub stores cross-project recipe libraries agents can run in ANY project (cleo-bootstrap, rcasd-init, schema-validate, lint-standard). Both humans (via editor) and the meta Cleo Chef Agent write recipes here. () => string - Get the absolute path to the primary global justfile. () => string - Get the Global Pi Extensions Hub directory. Houses the Pi extensions that drive the CleoOS UI and tools: orchestrator.ts (Conductor Loop), project-manager.ts (TUI dashboard), tilldone.ts (work visualization), cant-bridge.ts (CANT runtime), stage-guide.ts (before_agent_start hook). () => string - Get the Global CANT Workflows Hub directory. Stores compiled and parsed `.cant` workflows that agents can invoke globally across projects. Project-local agents still live in `.cleo/agents/`. () => string - Get the Global CLEO Agents directory. Holds globally-available CANT agent definitions (`.cant` files). Project-local agents still live in `{projectRoot}/.cleo/agents/`. (cwd?: string) => string - Get the agent outputs directory (relative path) from config or default. Config lookup priority: 1. config.agentOutputs.directory 2. config.research.outputDir (deprecated) 3. config.directories.agentOutputs (deprecated) 4. Default: '.cleo/agent-outputs' (cwd?: string) => string - Get the absolute path to the agent outputs directory. (cwd?: string) => string - Get the absolute path to the legacy agent-outputs flat-file (deprecated per ADR-027). Checks config.agentOutputs.manifestFile for custom filename. (cwd?: string) => string - Get the absolute path to the MANIFEST.archive.jsonl file. (path: string) => boolean - Check if a path is absolute (POSIX or Windows). () => string - Get the OS log directory for CLEO global logs. Linux: ~/.local/state/cleo | macOS: ~/Library/Logs/cleo | Windows: %LOCALAPPDATA%cleoLog () => string - Get the OS cache directory for CLEO. Linux: ~/.cache/cleo | macOS: ~/Library/Caches/cleo | Windows: %LOCALAPPDATA%cleoCache () => string - Get the OS temp directory for CLEO ephemeral files. () => string - Get the OS config directory for CLEO. Linux: ~/.config/cleo | macOS: ~/Library/Preferences/cleo | Windows: %APPDATA%cleoConfig () => string - Get the CLEO templates directory as a tilde-prefixed path for use in `@` references (AGENTS.md, CLAUDE.md, etc.). Cross-platform: replaces the user's home directory with `~` so the reference works when loaded by LLM providers that resolve `~` at runtime. Linux: ~/.local/share/cleo/templates macOS: ~/Library/Application Support/cleo/templates Windows: ~/AppData/Local/cleo/Data/templates (approximate) () => string - Get the global agents hub directory. Respects AGENTS_HOME env var, defaults to ~/.agents. () => string - Get the Claude Code agents directory (~/.claude/agents by default). () => string - Get the claude-mem SQLite database path. file paths.ts RequiredColumn - Required column definition for ensureColumns(). (nativeDb: DatabaseSync, tableName: string) => boolean - Check whether a table exists in a SQLite database. (err: unknown) => boolean - Check if an error is a SQLite BUSY error (database locked by another process). node:sqlite throws native Error with message containing the SQLite error code. T5185 (dbPath: string) => void - Create a pre-migration safety backup of the database file. Only creates the backup once (idempotent). Non-fatal on failure. (nativeDb: DatabaseSync, migrationsFolder: string, existenceTable: string, logSubsystem: string) => void - Bootstrap and reconcile the Drizzle migration journal. Handles three scenarios: 1. Tables exist but no __drizzle_migrations — bootstrap baseline as applied 2. Journal has orphaned hashes (from older CLEO version) — clear and re-mark all as applied 3. Journal is healthy — no-op (db: NodeSQLiteDatabase<any>, migrationsFolder: string) => void (nativeDb: DatabaseSync, tableName: string, requiredColumns: RequiredColumn[], logSubsystem: string) => void - Ensure all required columns exist on a table. Uses PRAGMA table_info to inspect the schema and adds any missing columns via ALTER TABLE ADD COLUMN. Safety net for databases where Drizzle migrations could not run due to journal corruption or version skew. file migration-manager.ts VacuumOptions (opts?: VacuumOptions) => Promise<void> - Create a VACUUM INTO snapshot of the SQLite database. Debounced by default (30s). Pass `force: true` to bypass debounce. WAL checkpoint is run before the snapshot for consistency. Oldest snapshots are rotated out when MAX_SNAPSHOTS is reached. Non-fatal: all errors are swallowed. (cwd?: string) => Array<{ name: string; path: string; mtimeMs: number; }> - List existing SQLite backup snapshots, newest first. file sqlite-backup.ts file status-registry.ts readonly ["starting", "active", "idle", "error", "crashed", "stopped"] - Agent instance status values matching DB CHECK constraint. readonly ["orchestrator", "executor", "researcher", "architect", "validator", "documentor", "custom"] - Agent type values for classification. import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/table").SQLiteTableWithColumns<{ name: "agent_instances"; schema: undefined; columns: { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; agentType: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "string enum"; data: "orchestrator" | "custom" | "executor" | "researcher" | "architect" | "validator" | "documentor"; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["orchestrator", "executor", "researcher", "architect", "validator", "documentor", "custom"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; status: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "string enum"; data: "error" | "active" | "starting" | "idle" | "crashed" | "stopped"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["starting", "active", "idle", "error", "crashed", "stopped"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; sessionId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; taskId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; startedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; lastHeartbeat: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; stoppedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; errorCount: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "number int53"; data: number; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; totalTasksCompleted: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "number int53"; data: number; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; capacity: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; metadataJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; parentAgentId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }; dialect: "sqlite"; }> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/table").SQLiteTableWithColumns<{ name: "agent_error_log"; schema: undefined; columns: { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_error_log"; dataType: "number int53"; data: number; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; agentId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_error_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; errorType: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_error_log"; dataType: "string enum"; data: "unknown" | "retriable" | "permanent"; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["retriable", "permanent", "unknown"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; message: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_error_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; stack: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_error_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; occurredAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_error_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; resolved: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_error_log"; dataType: "boolean"; data: boolean; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }; dialect: "sqlite"; }> { id: string; agentType: "orchestrator" | "custom" | "executor" | "researcher" | "architect" | "validator" | "documentor"; status: "error" | "active" | "starting" | "idle" | "crashed" | "stopped"; sessionId: string | null; taskId: string | null; startedAt: string; lastHeartbeat: string; stoppedAt: string | null; errorCount: number; totalTasksCompleted: number; capacity: string; metadataJson: string | null; parentAgentId: string | null; } { id: string; agentType: "orchestrator" | "custom" | "executor" | "researcher" | "architect" | "validator" | "documentor"; status?: "error" | "active" | "starting" | "idle" | "crashed" | "stopped" | undefined; sessionId?: string | null | undefined; taskId?: string | null | undefined; startedAt?: string | undefined; lastHeartbeat?: string | undefined; stoppedAt?: string | null | undefined; errorCount?: number | undefined; totalTasksCompleted?: number | undefined; capacity?: string | undefined; metadataJson?: string | null | undefined; parentAgentId?: string | null | undefined; } { id: number; agentId: string; errorType: "unknown" | "retriable" | "permanent"; message: string; stack: string | null; occurredAt: string; resolved: boolean; } { agentId: string; errorType: "unknown" | "retriable" | "permanent"; message: string; id?: number | undefined; stack?: string | null | undefined; occurredAt?: string | undefined; resolved?: boolean | undefined; } "error" | "active" | "starting" | "idle" | "crashed" | "stopped" "orchestrator" | "custom" | "executor" | "researcher" | "architect" | "validator" | "documentor" AgentErrorType file agent-schema.ts readonly ["pending", "active", "completed", "failed", "cancelled"] - Chain instance status values. import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/table").SQLiteTableWithColumns<{ name: "warp_chains"; schema: undefined; columns: { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "warp_chains"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; name: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "warp_chains"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; version: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "warp_chains"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; description: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "warp_chains"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; definition: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "warp_chains"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; validated: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "warp_chains"; dataType: "boolean"; data: boolean; driverParam: number; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "warp_chains"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; updatedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "warp_chains"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }; dialect: "sqlite"; }> - Stored WarpChain definitions (serialized as JSON). import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/table").SQLiteTableWithColumns<{ name: "warp_chain_instances"; schema: undefined; columns: { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "warp_chain_instances"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; chainId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "warp_chain_instances"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; epicId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "warp_chain_instances"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; variables: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "warp_chain_instances"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; stageToTask: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "warp_chain_instances"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; status: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "warp_chain_instances"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; currentStage: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "warp_chain_instances"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; gateResults: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "warp_chain_instances"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "warp_chain_instances"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; updatedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "warp_chain_instances"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }; dialect: "sqlite"; }> - Runtime chain instances bound to epics. { name: string; id: string; version: string; description: string | null; definition: string; validated: boolean | null; createdAt: string | null; updatedAt: string | null; } { name: string; id: string; version: string; definition: string; description?: string | null | undefined; validated?: boolean | null | undefined; createdAt?: string | null | undefined; updatedAt?: string | null | undefined; } { id: string; status: string; createdAt: string | null; updatedAt: string | null; chainId: string; epicId: string; variables: string | null; stageToTask: string | null; currentStage: string | null; gateResults: string | null; } { id: string; chainId: string; epicId: string; status?: string | undefined; createdAt?: string | null | undefined; updatedAt?: string | null | undefined; variables?: string | null | undefined; stageToTask?: string | null | undefined; currentStage?: string | null | undefined; gateResults?: string | null | undefined; } file chain-schema.ts readonly ["critical", "high", "medium", "low"] - Task priorities matching DB CHECK constraint on tasks.priority. readonly ["epic", "task", "subtask"] - Task types matching DB CHECK constraint on tasks.type. readonly ["small", "medium", "large"] - Task size values matching DB CHECK constraint on tasks.size. readonly ["research", "consensus", "architecture_decision", "specification", "decomposition", "implementation", "validation", "testing", "release", "contribution"] - Canonical lifecycle stage names matching DB CHECK constraint on lifecycle_stages.stage_name. readonly ["pass", "fail", "warn"] - Gate result values matching DB CHECK constraint on lifecycle_gate_results.result. readonly ["file", "url", "manifest"] - Evidence type values matching DB CHECK constraint on lifecycle_evidence.type. readonly ["otel", "provider_api", "tokenizer", "heuristic"] - Token measurement methods for central token telemetry. readonly ["real", "high", "estimated", "coarse"] - Confidence levels for token measurements. readonly ["cli", "api", "agent", "unknown"] - Transport types for token telemetry. readonly ["related", "blocks", "duplicates", "absorbs", "fixes", "extends", "supersedes"] - Task relation types matching DB CHECK constraint on task_relations.relation_type. readonly ["automatic", "manual", "forced"] - Lifecycle transition types matching DB CHECK constraint on lifecycle_transitions.transition_type. readonly ["created", "matched", "manual", "transferred"] - External task link types matching DB constraint on external_task_links.link_type. readonly ["inbound", "outbound", "bidirectional"] - Sync direction types matching DB constraint on external_task_links.sync_direction. import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/table").SQLiteTableWithColumns<{ name: "tasks"; schema: undefined; columns: { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; title: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; description: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; status: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string enum"; data: "active" | "pending" | "cancelled" | "blocked" | "done" | "archived"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["pending", "active", "blocked", "done", "cancelled", "archived"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; priority: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string enum"; data: "high" | "medium" | "low" | "critical"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["critical", "high", "medium", "low"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; type: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string enum"; data: "task" | "epic" | "subtask"; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["epic", "task", "subtask"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; parentId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; phase: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; size: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string enum"; data: "medium" | "small" | "large"; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["small", "medium", "large"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; position: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "number int53"; data: number; driverParam: number; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; positionVersion: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "number int53"; data: number; driverParam: number; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; labelsJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; notesJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; acceptanceJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; filesJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; origin: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; blockedBy: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; epicLifecycle: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; noAutoComplete: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "boolean"; data: boolean; driverParam: number; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; updatedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; completedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; cancelledAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; cancellationReason: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; archivedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; archiveReason: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; cycleTimeDays: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "number int53"; data: number; driverParam: number; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; verificationJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdBy: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; modifiedBy: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; sessionId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; pipelineStage: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; assignee: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }; dialect: "sqlite"; }> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/table").SQLiteTableWithColumns<{ name: "task_dependencies"; schema: undefined; columns: { taskId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "task_dependencies"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; dependsOn: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "task_dependencies"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }; dialect: "sqlite"; }> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/table").SQLiteTableWithColumns<{ name: "task_relations"; schema: undefined; columns: { taskId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "task_relations"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; relatedTo: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "task_relations"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; relationType: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "task_relations"; dataType: "string enum"; data: "related" | "blocks" | "duplicates" | "absorbs" | "fixes" | "extends" | "supersedes"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["related", "blocks", "duplicates", "absorbs", "fixes", "extends", "supersedes"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; reason: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "task_relations"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }; dialect: "sqlite"; }> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/table").SQLiteTableWithColumns<{ name: "sessions"; schema: undefined; columns: { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; name: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; status: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string enum"; data: "active" | "ended" | "orphaned" | "suspended"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["active", "ended", "orphaned", "suspended"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; scopeJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; currentTask: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; taskStartedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; agent: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; notesJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; tasksCompletedJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; tasksCreatedJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; handoffJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; startedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; endedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; previousSessionId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; nextSessionId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; agentIdentifier: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; handoffConsumedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; handoffConsumedBy: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; debriefJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; providerId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; statsJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; resumeCount: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "number int53"; data: number; driverParam: number; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; gradeMode: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "number int53"; data: number; driverParam: number; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }; dialect: "sqlite"; }> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/table").SQLiteTableWithColumns<{ name: "task_work_history"; schema: undefined; columns: { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "task_work_history"; dataType: "number int53"; data: number; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; sessionId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "task_work_history"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; taskId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "task_work_history"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; setAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "task_work_history"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; clearedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "task_work_history"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }; dialect: "sqlite"; }> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/table").SQLiteTableWithColumns<{ name: "lifecycle_pipelines"; schema: undefined; columns: { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_pipelines"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; taskId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_pipelines"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; status: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_pipelines"; dataType: "string enum"; data: "active" | "completed" | "failed" | "cancelled" | "blocked" | "aborted"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["active", "completed", "blocked", "failed", "cancelled", "aborted"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; currentStageId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_pipelines"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; startedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_pipelines"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; completedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_pipelines"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; updatedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_pipelines"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; version: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_pipelines"; dataType: "number int53"; data: number; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }; dialect: "sqlite"; }> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/table").SQLiteTableWithColumns<{ name: "lifecycle_stages"; schema: undefined; columns: { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; pipelineId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; stageName: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string enum"; data: "research" | "consensus" | "architecture_decision" | "specification" | "decomposition" | "implementation" | "validation" | "testing" | "release" | "contribution"; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["research", "consensus", "architecture_decision", "specification", "decomposition", "implementation", "validation", "testing", "release", "contribution"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; status: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string enum"; data: "completed" | "failed" | "blocked" | "not_started" | "in_progress" | "skipped"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["not_started", "in_progress", "blocked", "completed", "skipped", "failed"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; sequence: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "number int53"; data: number; driverParam: number; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; startedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; completedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; blockedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; blockReason: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; skippedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; skipReason: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; notesJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; metadataJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; outputFile: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdBy: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; validatedBy: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; validatedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; validationStatus: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string enum"; data: "pending" | "in_review" | "approved" | "rejected" | "needs_revision"; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["pending", "in_review", "approved", "rejected", "needs_revision"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; provenanceChainJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }; dialect: "sqlite"; }> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/table").SQLiteTableWithColumns<{ name: "lifecycle_gate_results"; schema: undefined; columns: { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_gate_results"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; stageId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_gate_results"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; gateName: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_gate_results"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; result: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_gate_results"; dataType: "string enum"; data: "warn" | "pass" | "fail"; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["pass", "fail", "warn"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; checkedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_gate_results"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; checkedBy: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_gate_results"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; details: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_gate_results"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; reason: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_gate_results"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }; dialect: "sqlite"; }> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/table").SQLiteTableWithColumns<{ name: "lifecycle_evidence"; schema: undefined; columns: { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_evidence"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; stageId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_evidence"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; uri: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_evidence"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; type: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_evidence"; dataType: "string enum"; data: "file" | "url" | "manifest"; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["file", "url", "manifest"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; recordedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_evidence"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; recordedBy: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_evidence"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; description: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_evidence"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }; dialect: "sqlite"; }> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/table").SQLiteTableWithColumns<{ name: "lifecycle_transitions"; schema: undefined; columns: { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_transitions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; pipelineId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_transitions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; fromStageId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_transitions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; toStageId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_transitions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; transitionType: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_transitions"; dataType: "string enum"; data: "automatic" | "manual" | "forced"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["automatic", "manual", "forced"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; transitionedBy: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_transitions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_transitions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }; dialect: "sqlite"; }> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/table").SQLiteTableWithColumns<{ name: "manifest_entries"; schema: undefined; columns: { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; pipelineId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; stageId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; title: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; date: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; status: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string enum"; data: "completed" | "blocked" | "archived" | "partial"; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["completed", "partial", "blocked", "archived"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; agentType: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; outputFile: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; topicsJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; findingsJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; linkedTasksJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdBy: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }; dialect: "sqlite"; }> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/table").SQLiteTableWithColumns<{ name: "pipeline_manifest"; schema: undefined; columns: { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; sessionId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; taskId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; epicId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; type: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; content: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; contentHash: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; status: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; distilled: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "boolean"; data: boolean; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; brainObsId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; sourceFile: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; metadataJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; archivedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }; dialect: "sqlite"; }> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/table").SQLiteTableWithColumns<{ name: "release_manifests"; schema: undefined; columns: { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; version: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; status: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; pipelineId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; epicId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; tasksJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; changelog: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; notes: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; previousVersion: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; commitSha: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; gitTag: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; npmDistTag: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; preparedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; committedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; taggedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; pushedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }; dialect: "sqlite"; }> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/table").SQLiteTableWithColumns<{ name: "schema_meta"; schema: undefined; columns: { key: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "schema_meta"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; value: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "schema_meta"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }; dialect: "sqlite"; }> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/table").SQLiteTableWithColumns<{ name: "audit_log"; schema: undefined; columns: { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; timestamp: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; action: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; taskId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; actor: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; detailsJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; beforeJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; afterJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; domain: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; operation: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; sessionId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; requestId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; durationMs: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "number int53"; data: number; driverParam: number; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; success: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "number int53"; data: number; driverParam: number; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; source: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; gateway: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; errorMessage: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; projectHash: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }; dialect: "sqlite"; }> - Task change audit log — stores every add/update/complete/delete/archive operation. Migrated from legacy JSONL task logs to SQLite per ADR-006/ADR-012. No FK on taskId — log entries must survive task deletion. T4837 import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/table").SQLiteTableWithColumns<{ name: "token_usage"; schema: undefined; columns: { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; provider: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; model: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; transport: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string enum"; data: "cli" | "api" | "agent" | "unknown"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["cli", "api", "agent", "unknown"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; gateway: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; domain: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; operation: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; sessionId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; taskId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; requestId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; inputChars: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "number int53"; data: number; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; outputChars: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "number int53"; data: number; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; inputTokens: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "number int53"; data: number; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; outputTokens: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "number int53"; data: number; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; totalTokens: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "number int53"; data: number; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; method: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string enum"; data: "otel" | "provider_api" | "tokenizer" | "heuristic"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["otel", "provider_api", "tokenizer", "heuristic"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; confidence: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string enum"; data: "high" | "real" | "estimated" | "coarse"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["real", "high", "estimated", "coarse"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; requestHash: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; responseHash: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; metadataJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }; dialect: "sqlite"; }> - Central provider-aware token telemetry for CLI and external adapters. Stores measured request/response token counts plus method/confidence metadata. import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/table").SQLiteTableWithColumns<{ name: "architecture_decisions"; schema: undefined; columns: { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; title: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; status: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string enum"; data: "deprecated" | "proposed" | "accepted" | "superseded"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["proposed", "accepted", "superseded", "deprecated"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; supersedesId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; supersededById: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; consensusManifestId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; content: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; updatedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; date: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; acceptedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; gate: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string enum"; data: "HITL" | "automated"; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["HITL", "automated"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; gateStatus: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string enum"; data: "failed" | "pending" | "passed" | "waived"; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["pending", "passed", "failed", "waived"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; amendsId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; filePath: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; summary: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; keywords: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; topics: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }; dialect: "sqlite"; }> - Architecture Decision Records (ADRs) stored in the database. Corresponds to the physical ADR markdown files in .cleo/adrs/. Self-referential FKs (supersedes_id, superseded_by_id, amends_id) are enforced at the DB level by T033 migration. import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/table").SQLiteTableWithColumns<{ name: "adr_task_links"; schema: undefined; columns: { adrId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "adr_task_links"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; taskId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "adr_task_links"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; linkType: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "adr_task_links"; dataType: "string enum"; data: "related" | "governed_by" | "implements"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["related", "governed_by", "implements"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }; dialect: "sqlite"; }> - ADR-to-Task links (soft FK — tasks can be purged) import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/table").SQLiteTableWithColumns<{ name: "adr_relations"; schema: undefined; columns: { fromAdrId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "adr_relations"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; toAdrId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "adr_relations"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; relationType: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "adr_relations"; dataType: "string enum"; data: "related" | "supersedes" | "amends"; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["supersedes", "amends", "related"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }; dialect: "sqlite"; }> - ADR cross-reference relationships import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/table").SQLiteTableWithColumns<{ name: "external_task_links"; schema: undefined; columns: { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "external_task_links"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; taskId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "external_task_links"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; providerId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "external_task_links"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; externalId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "external_task_links"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; externalUrl: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "external_task_links"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; externalTitle: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "external_task_links"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; linkType: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "external_task_links"; dataType: "string enum"; data: "created" | "manual" | "matched" | "transferred"; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["created", "matched", "manual", "transferred"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; syncDirection: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "external_task_links"; dataType: "string enum"; data: "inbound" | "outbound" | "bidirectional"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["inbound", "outbound", "bidirectional"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; metadataJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "external_task_links"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; linkedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "external_task_links"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; lastSyncAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "external_task_links"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }; dialect: "sqlite"; }> - Tracks links between CLEO tasks and external system tasks (Linear, Jira, GitHub, etc.). Used by the reconciliation engine to match external tasks to existing CLEO tasks, detect updates, and maintain bidirectional traceability. Each row represents one link: one CLEO task ↔ one external task from one provider. A CLEO task MAY have links from multiple providers (e.g., both Linear and GitHub). An external task SHOULD have at most one link per provider. import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/table").SQLiteTableWithColumns<{ name: "status_registry"; schema: undefined; columns: { name: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "status_registry"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; entityType: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "status_registry"; dataType: "string enum"; data: "session" | "task" | "manifest" | "gate" | "lifecycle_pipeline" | "lifecycle_stage" | "adr"; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["task", "session", "lifecycle_pipeline", "lifecycle_stage", "adr", "gate", "manifest"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; namespace: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "status_registry"; dataType: "string enum"; data: "workflow" | "manifest" | "governance"; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["workflow", "governance", "manifest"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; description: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "status_registry"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; isTerminal: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "status_registry"; dataType: "boolean"; data: boolean; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }; dialect: "sqlite"; }> { name: string; description: string; entityType: "session" | "task" | "manifest" | "gate" | "lifecycle_pipeline" | "lifecycle_stage" | "adr"; namespace: "workflow" | "manifest" | "governance"; isTerminal: boolean; } { id: string; status: "active" | "pending" | "cancelled" | "blocked" | "done" | "archived"; sessionId: string | null; description: string | null; createdAt: string; updatedAt: string | null; title: string; priority: "high" | "medium" | "low" | "critical"; type: "task" | "epic" | "subtask" | null; parentId: string | null; phase: string | null; size: "medium" | "small" | "large" | null; position: number | null; positionVersion: number | null; labelsJson: string | null; notesJson: string | null; acceptanceJson: string | null; filesJson: string | null; origin: string | null; blockedBy: string | null; epicLifecycle: string | null; noAutoComplete: boolean | null; completedAt: string | null; cancelledAt: string | null; cancellationReason: string | null; archivedAt: string | null; archiveReason: string | null; cycleTimeDays: number | null; verificationJson: string | null; createdBy: string | null; modifiedBy: string | null; pipelineStage: string | null; assignee: string | null; } { id: string; title: string; status?: "active" | "pending" | "cancelled" | "blocked" | "done" | "archived" | undefined; sessionId?: string | null | undefined; description?: string | null | undefined; createdAt?: string | undefined; updatedAt?: string | null | undefined; priority?: "high" | "medium" | "low" | "critical" | undefined; type?: "task" | "epic" | "subtask" | null | undefined; parentId?: string | null | undefined; phase?: string | null | undefined; size?: "medium" | "small" | "large" | null | undefined; position?: number | null | undefined; positionVersion?: number | null | undefined; labelsJson?: string | null | undefined; notesJson?: string | null | undefined; acceptanceJson?: string | null | undefined; filesJson?: string | null | undefined; origin?: string | null | undefined; blockedBy?: string | null | undefined; epicLifecycle?: string | null | undefined; noAutoComplete?: boolean | null | undefined; completedAt?: string | null | undefined; cancelledAt?: string | null | undefined; cancellationReason?: string | null | undefined; archivedAt?: string | null | undefined; archiveReason?: string | null | undefined; cycleTimeDays?: number | null | undefined; verificationJson?: string | null | undefined; createdBy?: string | null | undefined; modifiedBy?: string | null | undefined; pipelineStage?: string | null | undefined; assignee?: string | null | undefined; } { agent: string | null; name: string; id: string; status: "active" | "ended" | "orphaned" | "suspended"; startedAt: string; notesJson: string | null; scopeJson: string; currentTask: string | null; taskStartedAt: string | null; tasksCompletedJson: string | null; tasksCreatedJson: string | null; handoffJson: string | null; endedAt: string | null; previousSessionId: string | null; nextSessionId: string | null; agentIdentifier: string | null; handoffConsumedAt: string | null; handoffConsumedBy: string | null; debriefJson: string | null; providerId: string | null; statsJson: string | null; resumeCount: number | null; gradeMode: number | null; } { name: string; id: string; agent?: string | null | undefined; status?: "active" | "ended" | "orphaned" | "suspended" | undefined; startedAt?: string | undefined; notesJson?: string | null | undefined; scopeJson?: string | undefined; currentTask?: string | null | undefined; taskStartedAt?: string | null | undefined; tasksCompletedJson?: string | null | undefined; tasksCreatedJson?: string | null | undefined; handoffJson?: string | null | undefined; endedAt?: string | null | undefined; previousSessionId?: string | null | undefined; nextSessionId?: string | null | undefined; agentIdentifier?: string | null | undefined; handoffConsumedAt?: string | null | undefined; handoffConsumedBy?: string | null | undefined; debriefJson?: string | null | undefined; providerId?: string | null | undefined; statsJson?: string | null | undefined; resumeCount?: number | null | undefined; gradeMode?: number | null | undefined; } { taskId: string; dependsOn: string; } { taskId: string; relatedTo: string; relationType: "related" | "blocks" | "duplicates" | "absorbs" | "fixes" | "extends" | "supersedes"; reason: string | null; } { id: number; sessionId: string; taskId: string; setAt: string; clearedAt: string | null; } { id: string; status: "active" | "completed" | "failed" | "cancelled" | "blocked" | "aborted"; taskId: string; startedAt: string; version: number; updatedAt: string | null; completedAt: string | null; currentStageId: string | null; } { id: string; taskId: string; status?: "active" | "completed" | "failed" | "cancelled" | "blocked" | "aborted" | undefined; startedAt?: string | undefined; version?: number | undefined; updatedAt?: string | null | undefined; completedAt?: string | null | undefined; currentStageId?: string | null | undefined; } { id: string; status: "completed" | "failed" | "blocked" | "not_started" | "in_progress" | "skipped"; startedAt: string | null; metadataJson: string | null; notesJson: string | null; completedAt: string | null; createdBy: string | null; pipelineId: string; stageName: "research" | "consensus" | "architecture_decision" | "specification" | "decomposition" | "implementation" | "validation" | "testing" | "release" | "contribution"; sequence: number; blockedAt: string | null; blockReason: string | null; skippedAt: string | null; skipReason: string | null; outputFile: string | null; validatedBy: string | null; validatedAt: string | null; validationStatus: "pending" | "in_review" | "approved" | "rejected" | "needs_revision" | null; provenanceChainJson: string | null; } { id: string; pipelineId: string; stageName: "research" | "consensus" | "architecture_decision" | "specification" | "decomposition" | "implementation" | "validation" | "testing" | "release" | "contribution"; sequence: number; status?: "completed" | "failed" | "blocked" | "not_started" | "in_progress" | "skipped" | undefined; startedAt?: string | null | undefined; metadataJson?: string | null | undefined; notesJson?: string | null | undefined; completedAt?: string | null | undefined; createdBy?: string | null | undefined; blockedAt?: string | null | undefined; blockReason?: string | null | undefined; skippedAt?: string | null | undefined; skipReason?: string | null | undefined; outputFile?: string | null | undefined; validatedBy?: string | null | undefined; validatedAt?: string | null | undefined; validationStatus?: "pending" | "in_review" | "approved" | "rejected" | "needs_revision" | null | undefined; provenanceChainJson?: string | null | undefined; } { id: string; reason: string | null; stageId: string; gateName: string; result: "warn" | "pass" | "fail"; checkedAt: string; checkedBy: string; details: string | null; } { id: string; stageId: string; gateName: string; result: "warn" | "pass" | "fail"; checkedBy: string; reason?: string | null | undefined; checkedAt?: string | undefined; details?: string | null | undefined; } { id: string; description: string | null; type: "file" | "url" | "manifest"; stageId: string; uri: string; recordedAt: string; recordedBy: string | null; } { id: string; type: "file" | "url" | "manifest"; stageId: string; uri: string; description?: string | null | undefined; recordedAt?: string | undefined; recordedBy?: string | null | undefined; } { id: string; createdAt: string; pipelineId: string; fromStageId: string; toStageId: string; transitionType: "automatic" | "manual" | "forced"; transitionedBy: string | null; } { id: string; pipelineId: string; fromStageId: string; toStageId: string; createdAt?: string | undefined; transitionType?: "automatic" | "manual" | "forced" | undefined; transitionedBy?: string | null | undefined; } { domain: string | null; timestamp: string; id: string; sessionId: string | null; taskId: string; action: string; actor: string; detailsJson: string | null; beforeJson: string | null; afterJson: string | null; operation: string | null; requestId: string | null; durationMs: number | null; success: number | null; source: string | null; gateway: string | null; errorMessage: string | null; projectHash: string | null; } { id: string; taskId: string; action: string; domain?: string | null | undefined; timestamp?: string | undefined; sessionId?: string | null | undefined; actor?: string | undefined; detailsJson?: string | null | undefined; beforeJson?: string | null | undefined; afterJson?: string | null | undefined; operation?: string | null | undefined; requestId?: string | null | undefined; durationMs?: number | null | undefined; success?: number | null | undefined; source?: string | null | undefined; gateway?: string | null | undefined; errorMessage?: string | null | undefined; projectHash?: string | null | undefined; } { domain: string | null; provider: string; id: string; sessionId: string | null; taskId: string | null; metadataJson: string; createdAt: string; operation: string | null; requestId: string | null; gateway: string | null; model: string | null; transport: "cli" | "api" | "agent" | "unknown"; inputChars: number; outputChars: number; inputTokens: number; outputTokens: number; totalTokens: number; method: "otel" | "provider_api" | "tokenizer" | "heuristic"; confidence: "high" | "real" | "estimated" | "coarse"; requestHash: string | null; responseHash: string | null; } { id: string; domain?: string | null | undefined; provider?: string | undefined; sessionId?: string | null | undefined; taskId?: string | null | undefined; metadataJson?: string | undefined; createdAt?: string | undefined; operation?: string | null | undefined; requestId?: string | null | undefined; gateway?: string | null | undefined; model?: string | null | undefined; transport?: "cli" | "api" | "agent" | "unknown" | undefined; inputChars?: number | undefined; outputChars?: number | undefined; inputTokens?: number | undefined; outputTokens?: number | undefined; totalTokens?: number | undefined; method?: "otel" | "provider_api" | "tokenizer" | "heuristic" | undefined; confidence?: "high" | "real" | "estimated" | "coarse" | undefined; requestHash?: string | null | undefined; responseHash?: string | null | undefined; } { date: string; id: string; status: "deprecated" | "proposed" | "accepted" | "superseded"; createdAt: string; updatedAt: string | null; title: string; content: string; supersedesId: string | null; supersededById: string | null; consensusManifestId: string | null; acceptedAt: string | null; gate: "HITL" | "automated" | null; gateStatus: "failed" | "pending" | "passed" | "waived" | null; amendsId: string | null; filePath: string; summary: string | null; keywords: string | null; topics: string | null; } { id: string; title: string; content: string; date?: string | undefined; status?: "deprecated" | "proposed" | "accepted" | "superseded" | undefined; createdAt?: string | undefined; updatedAt?: string | null | undefined; supersedesId?: string | null | undefined; supersededById?: string | null | undefined; consensusManifestId?: string | null | undefined; acceptedAt?: string | null | undefined; gate?: "HITL" | "automated" | null | undefined; gateStatus?: "failed" | "pending" | "passed" | "waived" | null | undefined; amendsId?: string | null | undefined; filePath?: string | undefined; summary?: string | null | undefined; keywords?: string | null | undefined; topics?: string | null | undefined; } { taskId: string; adrId: string; linkType: "related" | "governed_by" | "implements"; } { taskId: string; adrId: string; linkType?: "related" | "governed_by" | "implements" | undefined; } { relationType: "related" | "supersedes" | "amends"; fromAdrId: string; toAdrId: string; } { relationType: "related" | "supersedes" | "amends"; fromAdrId: string; toAdrId: string; } { date: string; id: string; agentType: string | null; status: "completed" | "blocked" | "archived" | "partial"; createdAt: string; title: string; createdBy: string | null; pipelineId: string | null; outputFile: string | null; stageId: string | null; topicsJson: string | null; findingsJson: string | null; linkedTasksJson: string | null; } { date: string; id: string; status: "completed" | "blocked" | "archived" | "partial"; title: string; agentType?: string | null | undefined; createdAt?: string | undefined; createdBy?: string | null | undefined; pipelineId?: string | null | undefined; outputFile?: string | null | undefined; stageId?: string | null | undefined; topicsJson?: string | null | undefined; findingsJson?: string | null | undefined; linkedTasksJson?: string | null | undefined; } { id: string; status: string; sessionId: string | null; taskId: string | null; metadataJson: string | null; createdAt: string; epicId: string | null; type: string; archivedAt: string | null; content: string; contentHash: string | null; distilled: boolean; brainObsId: string | null; sourceFile: string | null; } { id: string; createdAt: string; type: string; content: string; status?: string | undefined; sessionId?: string | null | undefined; taskId?: string | null | undefined; metadataJson?: string | null | undefined; epicId?: string | null | undefined; archivedAt?: string | null | undefined; contentHash?: string | null | undefined; distilled?: boolean | undefined; brainObsId?: string | null | undefined; sourceFile?: string | null | undefined; } { id: string; status: string; version: string; createdAt: string; epicId: string | null; pipelineId: string | null; tasksJson: string; changelog: string | null; notes: string | null; previousVersion: string | null; commitSha: string | null; gitTag: string | null; npmDistTag: string | null; preparedAt: string | null; committedAt: string | null; taggedAt: string | null; pushedAt: string | null; } { id: string; version: string; createdAt: string; status?: string | undefined; epicId?: string | null | undefined; pipelineId?: string | null | undefined; tasksJson?: string | undefined; changelog?: string | null | undefined; notes?: string | null | undefined; previousVersion?: string | null | undefined; commitSha?: string | null | undefined; gitTag?: string | null | undefined; npmDistTag?: string | null | undefined; preparedAt?: string | null | undefined; committedAt?: string | null | undefined; taggedAt?: string | null | undefined; pushedAt?: string | null | undefined; } { id: string; taskId: string; metadataJson: string | null; providerId: string; linkType: "created" | "manual" | "matched" | "transferred"; externalId: string; externalUrl: string | null; externalTitle: string | null; syncDirection: "inbound" | "outbound" | "bidirectional"; linkedAt: string; lastSyncAt: string | null; } { id: string; taskId: string; providerId: string; linkType: "created" | "manual" | "matched" | "transferred"; externalId: string; metadataJson?: string | null | undefined; externalUrl?: string | null | undefined; externalTitle?: string | null | undefined; syncDirection?: "inbound" | "outbound" | "bidirectional" | undefined; linkedAt?: string | undefined; lastSyncAt?: string | null | undefined; } file tasks-schema.ts readonly ["architecture", "technical", "process", "strategic", "tactical"] - Decision types from ADR-009. readonly ["low", "medium", "high"] - Confidence levels for decisions. readonly ["success", "failure", "mixed", "pending"] - Outcome types for decision tracking. readonly ["workflow", "blocker", "success", "failure", "optimization"] - Pattern types for workflow analysis. readonly ["low", "medium", "high"] - Impact levels for patterns. readonly ["produced_by", "applies_to", "informed_by", "contradicts"] - Link types for cross-referencing BRAIN entries with tasks. readonly ["discovery", "change", "feature", "bugfix", "decision", "refactor"] - Observation types for claude-mem compatible observations. readonly ["agent", "session-debrief", "claude-mem", "manual"] - Source types for observations (how the observation was created). readonly ["decision", "pattern", "learning", "observation"] - Memory entity types for the links table. readonly ["active", "converted", "archived"] - Sticky note status values. readonly ["yellow", "blue", "green", "red", "purple"] - Sticky note colors. readonly ["low", "medium", "high"] - Sticky note priority levels. import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/table").SQLiteTableWithColumns<{ name: "brain_decisions"; schema: undefined; columns: { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_decisions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; type: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_decisions"; dataType: "string enum"; data: "architecture" | "technical" | "process" | "strategic" | "tactical"; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["architecture", "technical", "process", "strategic", "tactical"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; decision: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_decisions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; rationale: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_decisions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; confidence: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_decisions"; dataType: "string enum"; data: "high" | "medium" | "low"; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["low", "medium", "high"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; outcome: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_decisions"; dataType: "string enum"; data: "pending" | "success" | "failure" | "mixed"; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["success", "failure", "mixed", "pending"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; alternativesJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_decisions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; contextEpicId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_decisions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; contextTaskId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_decisions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; contextPhase: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_decisions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_decisions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; updatedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_decisions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }; dialect: "sqlite"; }> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/table").SQLiteTableWithColumns<{ name: "brain_patterns"; schema: undefined; columns: { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_patterns"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; type: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_patterns"; dataType: "string enum"; data: "workflow" | "success" | "failure" | "blocker" | "optimization"; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["workflow", "blocker", "success", "failure", "optimization"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; pattern: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_patterns"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; context: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_patterns"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; frequency: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_patterns"; dataType: "number int53"; data: number; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; successRate: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_patterns"; dataType: "number double"; data: number; driverParam: number; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; impact: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_patterns"; dataType: "string enum"; data: "high" | "medium" | "low"; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["low", "medium", "high"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; antiPattern: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_patterns"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; mitigation: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_patterns"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; examplesJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_patterns"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; extractedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_patterns"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; updatedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_patterns"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }; dialect: "sqlite"; }> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/table").SQLiteTableWithColumns<{ name: "brain_learnings"; schema: undefined; columns: { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_learnings"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; insight: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_learnings"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; source: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_learnings"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; confidence: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_learnings"; dataType: "number double"; data: number; driverParam: number; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; actionable: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_learnings"; dataType: "boolean"; data: boolean; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; application: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_learnings"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; applicableTypesJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_learnings"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_learnings"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; updatedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_learnings"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }; dialect: "sqlite"; }> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/table").SQLiteTableWithColumns<{ name: "brain_observations"; schema: undefined; columns: { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_observations"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; type: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_observations"; dataType: "string enum"; data: "discovery" | "change" | "feature" | "bugfix" | "decision" | "refactor"; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["discovery", "change", "feature", "bugfix", "decision", "refactor"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; title: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_observations"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; subtitle: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_observations"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; narrative: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_observations"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; factsJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_observations"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; conceptsJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_observations"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; project: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_observations"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; filesReadJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_observations"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; filesModifiedJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_observations"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; sourceSessionId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_observations"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; sourceType: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_observations"; dataType: "string enum"; data: "agent" | "manual" | "session-debrief" | "claude-mem"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["agent", "session-debrief", "claude-mem", "manual"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; contentHash: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_observations"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; discoveryTokens: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_observations"; dataType: "number int53"; data: number; driverParam: number; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_observations"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; updatedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_observations"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }; dialect: "sqlite"; }> - General-purpose observations — replaces claude-mem's observations table. import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/table").SQLiteTableWithColumns<{ name: "brain_sticky_notes"; schema: undefined; columns: { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_sticky_notes"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; content: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_sticky_notes"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_sticky_notes"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; updatedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_sticky_notes"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; tagsJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_sticky_notes"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; status: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_sticky_notes"; dataType: "string enum"; data: "active" | "archived" | "converted"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["active", "converted", "archived"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; convertedToJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_sticky_notes"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; color: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_sticky_notes"; dataType: "string enum"; data: "yellow" | "blue" | "green" | "red" | "purple"; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["yellow", "blue", "green", "red", "purple"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; priority: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_sticky_notes"; dataType: "string enum"; data: "high" | "medium" | "low"; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["low", "medium", "high"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; sourceType: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_sticky_notes"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }; dialect: "sqlite"; }> - Ephemeral sticky notes for quick capture before formal classification. import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/table").SQLiteTableWithColumns<{ name: "brain_memory_links"; schema: undefined; columns: { memoryType: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_memory_links"; dataType: "string enum"; data: "decision" | "pattern" | "learning" | "observation"; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["decision", "pattern", "learning", "observation"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; memoryId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_memory_links"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; taskId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_memory_links"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; linkType: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_memory_links"; dataType: "string enum"; data: "produced_by" | "applies_to" | "informed_by" | "contradicts"; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["produced_by", "applies_to", "informed_by", "contradicts"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_memory_links"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }; dialect: "sqlite"; }> - Cross-references between BRAIN entries and tasks in tasks.db. import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/table").SQLiteTableWithColumns<{ name: "brain_schema_meta"; schema: undefined; columns: { key: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_schema_meta"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; value: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_schema_meta"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }; dialect: "sqlite"; }> readonly ["task", "doc", "file", "concept"] - Node types for PageIndex graph. readonly ["depends_on", "relates_to", "implements", "documents"] - Edge types for PageIndex graph. import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/table").SQLiteTableWithColumns<{ name: "brain_page_nodes"; schema: undefined; columns: { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_page_nodes"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; nodeType: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_page_nodes"; dataType: "string enum"; data: "task" | "file" | "doc" | "concept"; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["task", "doc", "file", "concept"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; label: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_page_nodes"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; metadataJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_page_nodes"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_page_nodes"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }; dialect: "sqlite"; }> - Documents/concepts as graph nodes for cross-document linking. import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/table").SQLiteTableWithColumns<{ name: "brain_page_edges"; schema: undefined; columns: { fromId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_page_edges"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; toId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_page_edges"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; edgeType: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_page_edges"; dataType: "string enum"; data: "depends_on" | "implements" | "relates_to" | "documents"; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["depends_on", "relates_to", "implements", "documents"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; weight: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_page_edges"; dataType: "number double"; data: number; driverParam: number; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "brain_page_edges"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }; dialect: "sqlite"; }> - Directed links between graph nodes. { id: string; createdAt: string; updatedAt: string | null; type: "architecture" | "technical" | "process" | "strategic" | "tactical"; confidence: "high" | "medium" | "low"; decision: string; rationale: string; outcome: "pending" | "success" | "failure" | "mixed" | null; alternativesJson: string | null; contextEpicId: string | null; contextTaskId: string | null; contextPhase: string | null; } { id: string; type: "architecture" | "technical" | "process" | "strategic" | "tactical"; confidence: "high" | "medium" | "low"; decision: string; rationale: string; createdAt?: string | undefined; updatedAt?: string | null | undefined; outcome?: "pending" | "success" | "failure" | "mixed" | null | undefined; alternativesJson?: string | null | undefined; contextEpicId?: string | null | undefined; contextTaskId?: string | null | undefined; contextPhase?: string | null | undefined; } { context: string; id: string; updatedAt: string | null; type: "workflow" | "success" | "failure" | "blocker" | "optimization"; pattern: string; frequency: number; successRate: number | null; impact: "high" | "medium" | "low" | null; antiPattern: string | null; mitigation: string | null; examplesJson: string | null; extractedAt: string; } { context: string; id: string; type: "workflow" | "success" | "failure" | "blocker" | "optimization"; pattern: string; updatedAt?: string | null | undefined; frequency?: number | undefined; successRate?: number | null | undefined; impact?: "high" | "medium" | "low" | null | undefined; antiPattern?: string | null | undefined; mitigation?: string | null | undefined; examplesJson?: string | null | undefined; extractedAt?: string | undefined; } { actionable: boolean; id: string; createdAt: string; updatedAt: string | null; source: string; confidence: number; insight: string; application: string | null; applicableTypesJson: string | null; } { id: string; source: string; confidence: number; insight: string; actionable?: boolean | undefined; createdAt?: string | undefined; updatedAt?: string | null | undefined; application?: string | null | undefined; applicableTypesJson?: string | null | undefined; } { project: string | null; id: string; createdAt: string; updatedAt: string | null; title: string; type: "discovery" | "change" | "feature" | "bugfix" | "decision" | "refactor"; contentHash: string | null; subtitle: string | null; narrative: string | null; factsJson: string | null; conceptsJson: string | null; filesReadJson: string | null; filesModifiedJson: string | null; sourceSessionId: string | null; sourceType: "agent" | "manual" | "session-debrief" | "claude-mem"; discoveryTokens: number | null; } { id: string; title: string; type: "discovery" | "change" | "feature" | "bugfix" | "decision" | "refactor"; project?: string | null | undefined; createdAt?: string | undefined; updatedAt?: string | null | undefined; contentHash?: string | null | undefined; subtitle?: string | null | undefined; narrative?: string | null | undefined; factsJson?: string | null | undefined; conceptsJson?: string | null | undefined; filesReadJson?: string | null | undefined; filesModifiedJson?: string | null | undefined; sourceSessionId?: string | null | undefined; sourceType?: "agent" | "manual" | "session-debrief" | "claude-mem" | undefined; discoveryTokens?: number | null | undefined; } { taskId: string; createdAt: string; linkType: "produced_by" | "applies_to" | "informed_by" | "contradicts"; memoryType: "decision" | "pattern" | "learning" | "observation"; memoryId: string; } { taskId: string; linkType: "produced_by" | "applies_to" | "informed_by" | "contradicts"; memoryType: "decision" | "pattern" | "learning" | "observation"; memoryId: string; createdAt?: string | undefined; } { id: string; metadataJson: string | null; createdAt: string; nodeType: "task" | "file" | "doc" | "concept"; label: string; } { id: string; nodeType: "task" | "file" | "doc" | "concept"; label: string; metadataJson?: string | null | undefined; createdAt?: string | undefined; } { createdAt: string; fromId: string; toId: string; edgeType: "depends_on" | "implements" | "relates_to" | "documents"; weight: number | null; } { fromId: string; toId: string; edgeType: "depends_on" | "implements" | "relates_to" | "documents"; createdAt?: string | undefined; weight?: number | null | undefined; } { id: string; status: "active" | "archived" | "converted"; createdAt: string; updatedAt: string | null; priority: "high" | "medium" | "low" | null; content: string; sourceType: string | null; tagsJson: string | null; convertedToJson: string | null; color: "yellow" | "blue" | "green" | "red" | "purple" | null; } { id: string; content: string; status?: "active" | "archived" | "converted" | undefined; createdAt?: string | undefined; updatedAt?: string | null | undefined; priority?: "high" | "medium" | "low" | null | undefined; sourceType?: string | null | undefined; tagsJson?: string | null | undefined; convertedToJson?: string | null | undefined; color?: "yellow" | "blue" | "green" | "red" | "purple" | null | undefined; } file brain-schema.ts "1.0.0" - Schema version for newly created brain databases. Single source of truth. (cwd?: string) => string - Get the path to the brain.db SQLite database file. () => string - Resolve the path to the drizzle-brain migrations folder. Works from both src/ (dev via tsx) and dist/ (compiled via esbuild bundle). - Source layout: __dirname = src/store/ → need ../../migrations/drizzle-brain - Bundled layout: __dirname = dist/ → need ../migrations/drizzle-brain () => boolean - Check whether the sqlite-vec extension is loaded for the current brain.db. (cwd?: string) => Promise<NodeSQLiteDatabase<typeof brainSchema>> - Initialize the brain.db SQLite database (lazy, singleton). Creates the database file and tables if they don't exist. Returns the drizzle ORM instance (async via sqlite-proxy). Uses a promise guard so concurrent callers wait for the same initialization to complete (migrations are async). () => void - Close the brain.db database connection and release resources. () => void - Reset brain.db singleton state without saving. Used during tests or when database file is recreated. Safe to call multiple times. () => DatabaseSync | null - Get the underlying node:sqlite DatabaseSync instance for brain.db. Useful for direct PRAGMA calls or raw SQL operations. Returns null if the database hasn't been initialized. file brain-sqlite.ts import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/table").SQLiteTableWithColumns<{ name: "project_registry"; schema: undefined; columns: { projectId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "project_registry"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; projectHash: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "project_registry"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; projectPath: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "project_registry"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; name: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "project_registry"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; registeredAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "project_registry"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; lastSeen: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "project_registry"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; healthStatus: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "project_registry"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; healthLastCheck: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "project_registry"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; permissions: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "project_registry"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; lastSync: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "project_registry"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; taskCount: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "project_registry"; dataType: "number int53"; data: number; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; labelsJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "project_registry"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }; dialect: "sqlite"; }> - Central registry of all CLEO projects known to the Nexus. import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/table").SQLiteTableWithColumns<{ name: "nexus_audit_log"; schema: undefined; columns: { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; timestamp: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; action: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; projectHash: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; projectId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; domain: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; operation: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; sessionId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; requestId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; source: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; gateway: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; success: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "number int53"; data: number; driverParam: number; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; durationMs: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "number int53"; data: number; driverParam: number; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; detailsJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; errorMessage: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }; dialect: "sqlite"; }> - Append-only audit log for all Nexus operations across projects. import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/table").SQLiteTableWithColumns<{ name: "nexus_schema_meta"; schema: undefined; columns: { key: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_schema_meta"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; value: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_schema_meta"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }; dialect: "sqlite"; }> - Key-value store for nexus.db schema versioning and metadata. { name: string; permissions: string; labelsJson: string; projectHash: string; projectId: string; projectPath: string; registeredAt: string; lastSeen: string; healthStatus: string; healthLastCheck: string | null; lastSync: string; taskCount: number; } { name: string; projectHash: string; projectId: string; projectPath: string; permissions?: string | undefined; labelsJson?: string | undefined; registeredAt?: string | undefined; lastSeen?: string | undefined; healthStatus?: string | undefined; healthLastCheck?: string | null | undefined; lastSync?: string | undefined; taskCount?: number | undefined; } { domain: string | null; timestamp: string; id: string; sessionId: string | null; action: string; detailsJson: string | null; operation: string | null; requestId: string | null; durationMs: number | null; success: number | null; source: string | null; gateway: string | null; errorMessage: string | null; projectHash: string | null; projectId: string | null; } { id: string; action: string; domain?: string | null | undefined; timestamp?: string | undefined; sessionId?: string | null | undefined; detailsJson?: string | null | undefined; operation?: string | null | undefined; requestId?: string | null | undefined; durationMs?: number | null | undefined; success?: number | null | undefined; source?: string | null | undefined; gateway?: string | null | undefined; errorMessage?: string | null | undefined; projectHash?: string | null | undefined; projectId?: string | null | undefined; } { key: string; value: string; } { key: string; value: string; } file nexus-schema.ts "1.0.0" - Schema version for newly created nexus databases. Single source of truth. () => string - Get the path to the nexus.db SQLite database file. nexus.db lives in the global ~/.cleo/ directory. () => string - Resolve the path to the drizzle-nexus migrations folder. Works from both src/ (dev via tsx) and dist/ (compiled via esbuild bundle). - Source layout: __dirname = src/store/ → need ../../migrations/drizzle-nexus - Bundled layout: __dirname = dist/ → need ../migrations/drizzle-nexus () => Promise<NodeSQLiteDatabase<typeof nexusSchema>> - Initialize the nexus.db SQLite database (lazy, singleton). Creates the database file and tables if they don't exist. Returns the drizzle ORM instance (async via sqlite-proxy). Uses a promise guard so concurrent callers wait for the same initialization to complete (migrations are async). () => void - Close the nexus.db database connection and release resources. () => void - Reset nexus.db singleton state without saving. Used during tests or when database file is recreated. Safe to call multiple times. () => DatabaseSync | null - Get the underlying node:sqlite DatabaseSync instance for nexus.db. Useful for direct PRAGMA calls or raw SQL operations. Returns null if the database hasn't been initialized. file nexus-sqlite.ts (path: string, options?: { readonly?: boolean; timeout?: number; enableWal?: boolean; allowExtension?: boolean; }) => DatabaseSync - Open a node:sqlite DatabaseSync with CLEO standard pragmas. CRITICAL: WAL mode is verified, not just requested. If another process holds an EXCLUSIVE lock in DELETE mode, PRAGMA journal_mode=WAL silently returns 'delete'. This caused data loss (T5173) when concurrent processes opened the same database — writes were silently dropped under lock contention. "2.0.0" - Schema version for newly created databases. Single source of truth. (cwd?: string) => string - Get the path to the SQLite database file. (cwd?: string) => Promise<NodeSQLiteDatabase<typeof schema>> - Initialize the SQLite database (lazy, singleton). Creates the database file and tables if they don't exist. Returns the drizzle ORM instance (node-sqlite driver). Uses a promise guard so concurrent callers wait for the same initialization to complete (migrations are async). () => string - Resolve the path to the drizzle migrations folder. Works from both src/ (dev via tsx) and dist/ (compiled via esbuild bundle). - Source layout: __dirname = src/store/ → need ../../migrations/drizzle-tasks - Bundled layout: __dirname = dist/ → need ../migrations/drizzle-tasks () => void - Close the database connection and release resources. () => void - Reset database singleton state without saving. Used during migrations when database file is deleted and recreated. Safe to call multiple times. (cwd?: string) => Promise<string | null> - Get the schema version from the database. (cwd?: string) => boolean - Check if the database file exists. () => DatabaseSync | null - Get the underlying node:sqlite DatabaseSync instance. Useful for direct PRAGMA calls or raw SQL operations. Returns null if the database hasn't been initialized. () => DatabaseSync | null - Get the underlying node:sqlite DatabaseSync instance for tasks.db. Alias for getNativeDb() — mirrors getBrainNativeDb() naming convention. () => Promise<void> - Close ALL database singletons (tasks.db, brain.db, nexus.db). Must be called before deleting temp directories on Windows, where SQLite holds exclusive file handles on .db, .db-wal, and .db-shm files. Safe to call even if some databases were never opened. T5508 file sqlite.ts <T>(str: string | null | undefined) => T | undefined - Parse a JSON string, returning undefined on null/undefined input or parse error. <T = string>(str: string | null | undefined) => T[] | undefined - Parse a JSON string expected to contain an array. Returns undefined for null/undefined input, empty arrays, or parse errors. file parsers.ts (row: TaskRow) => Task - Convert a database TaskRow to a domain Task object. (task: Partial<Task> & { id: string; }) => NewTaskRow - Convert a domain Task to a database row for insert/upsert. (task: Task) => NewTaskRow - Convert a domain Task to a row suitable for archived tasks. (row: SessionRow) => Session - Convert a SessionRow to a domain Session. file converters.ts "2026.3.76" - Schema version for signaldock databases. (cwd?: string) => string - Get the path to the signaldock.db SQLite database file. (cwd?: string) => Promise<{ action: "created" | "exists"; path: string; }> - Ensure signaldock.db exists and has the full schema applied. Idempotent — safe to call multiple times. Uses `CREATE TABLE IF NOT EXISTS` and `CREATE INDEX IF NOT EXISTS` throughout. (cwd?: string) => Promise<{ exists: boolean; path: string; tableCount: number; walMode: boolean; schemaVersion: string | null; foreignKeysEnabled: boolean; } | null> - Check signaldock.db health — table count, WAL mode, schema version. Used by `cleo doctor` to verify signaldock.db integrity. file signaldock-sqlite.ts (taskId: string, cwd?: string) => Promise<void> - Clean up brain.db references after a task is deleted from tasks.db. Handles: - XFKB-001/002: Nullify brain_decisions.context_epic_id / context_task_id - XFKB-003: Delete brain_memory_links rows where task_id matches - XFKB-005: Delete brain_page_nodes with id='task:' and cascade brain_page_edges This is a best-effort cleanup — brain.db is a cognitive store and minor staleness is preferable to failing task deletions due to brain.db errors. (sessionId: string, cwd?: string) => Promise<void> - Clean up brain.db references after a session is deleted from tasks.db. Handles: - XFKB-004: Nullify brain_observations.source_session_id where it matches (taskId: string, tasksDb: Awaited<ReturnType<typeof import("./sqlite.js").getDb>>) => Promise<boolean> - Verify a task ID exists in tasks.db before writing a cross-DB reference to brain.db. Returns true if the task exists, false otherwise. Provides write-guard for XFKB-001/002/003 on brain.db insert. (cwd?: string) => Promise<{ decisionsFixed: number; observationsFixed: number; linksRemoved: number; }> - Reconcile orphaned cross-DB references in brain.db. Scans brain.db for references to tasks/sessions that no longer exist in tasks.db and cleans them up: - brain_decisions with stale context_task_id or context_epic_id → nullify - brain_observations with stale source_session_id → nullify - brain_memory_links with stale task_id → delete row This is the background reconciliation pass mentioned in the module doc. Safe to run at any frequency — idempotent. (sessionId: string, tasksDb: Awaited<ReturnType<typeof import("./sqlite.js").getDb>>) => Promise<boolean> (agentId: string, cwd?: string) => Promise<boolean> - Verify an agent exists in signaldock.db before creating cross-DB references. Returns true if the agent_id exists in signaldock.db agents table. Provides write-guard for agent_instances and agent_error_log in tasks.db that reference agents whose identity lives in signaldock.db. file cross-db-cleanup.ts ErrorDefinition - A single entry in the unified error catalog. ReadonlyMap<number, ErrorDefinition> - The unified error catalog. Keyed by numeric ExitCode value. (code: number) => ErrorDefinition | undefined - Look up an error definition by exit code. (lafsCode: string) => ErrorDefinition | undefined - Look up an error definition by LAFS string code. () => ErrorDefinition[] - Get all error definitions as an array. file error-catalog.ts ProblemDetails - RFC 9457 Problem Details object. Structured error representation for API responses. T5240 typeof CleoError - Structured error class for CLEO operations. Carries an exit code, human-readable message, and optional fix suggestions. Produces LAFS-conformant error shapes via toLAFSError() and RFC 9457 Problem Details via toProblemDetails(). file errors.ts ArchiveFields - Archive-specific fields for task upsert. (db: DrizzleDb, row: NewTaskRow, archiveFields?: ArchiveFields) => Promise<void> - Upsert a single task row into the tasks table. Handles both active task upsert and archived task upsert via optional archiveFields. Defensively nulls out parentId if it references a non-existent task, preventing orphaned FK violations from blocking bulk operations (T5034). (db: DrizzleDb, session: Session) => Promise<void> - Upsert a single session row into the sessions table. (db: DrizzleDb, taskId: string, depends: string[], validIds?: Set<string>) => Promise<void> - Update dependencies for a task: delete existing, then re-insert. Optionally filters by a set of valid IDs. (db: DrizzleDb, tasks: Array<{ taskId: string; deps: string[]; }>, validIds?: Set<string>) => Promise<void> - Batch-update dependencies for multiple tasks in two bulk SQL operations. Replaces per-task updateDependencies() loops with: 1. Single DELETE for all task IDs 2. Single INSERT for all dependency rows Callers are responsible for wrapping this in a transaction if needed. (db: DrizzleDb, tasks: Task[], validationIds?: Set<string>) => Promise<void> - Batch-load dependencies for a list of tasks and apply them in-place. Uses inArray for efficient querying. Optionally filters by a set of valid IDs. (db: DrizzleDb, tasks: Task[]) => Promise<void> - Batch-load relations for a list of tasks and apply them in-place. Mirrors loadDependenciesForTasks pattern for task_relations table (T5168). file db-helpers.ts () => string - Generate a unique agent instance ID. Format: `agt_{YYYYMMDDHHmmss}_{6hex}` RegisterAgentOptions - Options for registering a new agent instance. (opts: RegisterAgentOptions, cwd?: string) => Promise<AgentInstanceRow> - Register a new agent instance in the database. Sets initial status to 'starting' and records the first heartbeat. (id: string, cwd?: string) => Promise<AgentInstanceRow | null> - Deregister (stop) an agent instance. Sets status to 'stopped' and records the stop timestamp. (id: string, cwd?: string) => Promise<AgentInstanceStatus | null> - Record a heartbeat for an agent instance. Updates `last_heartbeat` and returns the current status so the agent can detect if it has been externally marked for shutdown. UpdateStatusOptions - Options for updating agent status. (id: string, opts: UpdateStatusOptions, cwd?: string) => Promise<AgentInstanceRow | null> - Update agent status with optional error tracking. When status is 'error' or 'crashed', increments the error count and logs the error to the agent_error_log table. (id: string, cwd?: string) => Promise<void> - Increment the completed task count for an agent. ListAgentFilters - Filters for listing agent instances. (filters?: ListAgentFilters, cwd?: string) => Promise<AgentInstanceRow[]> - List agent instances with optional filters. (id: string, cwd?: string) => Promise<AgentInstanceRow | null> - Get a single agent instance by ID. (error: unknown) => AgentErrorType - Classify an error as retriable, permanent, or unknown. Retriable errors are transient conditions (network, rate limits, locks) where a retry may succeed. Permanent errors are structural (auth, not found, constraint violations) where retrying is pointless. (agentId: string, cwd?: string) => Promise<AgentErrorLogRow[]> - Get the error history for a specific agent. (thresholdMs?: number, cwd?: string) => Promise<AgentInstanceRow[]> - Check agent health by finding instances whose last heartbeat exceeds the threshold. Default threshold: 30000ms (30 seconds) as specified by the BRAIN spec. Returns agents that appear to have crashed (stale heartbeat). (id: string, reason?: string, cwd?: string) => Promise<AgentInstanceRow | null> - Mark an agent instance as crashed. Increments error count and sets status to 'crashed'. AgentHealthReport - Agent health report summary. (thresholdMs?: number, cwd?: string) => Promise<AgentHealthReport> - Generate a health report summarizing all agent instances. Includes counts by status and identifies stale agents. file registry.ts (cwd: string | undefined, key: string, value: unknown) => Promise<void> - Write a JSON blob to the schema_meta table by key. (cwd?: string) => Promise<DataAccessor> - Create a SQLite-backed DataAccessor. Opens (or creates) the SQLite database at `.cleo/tasks.db` and returns a DataAccessor that materializes/dematerializes whole-file structures from the relational tables. file sqlite-data-accessor.ts (filePath: string, data: string, options?: { mode?: number; encoding?: BufferEncoding; }) => Promise<void> - Write data to a file atomically. Creates parent directories if they don't exist. Uses write-file-atomic for crash-safe writes (temp file - rename). (filePath: string) => Promise<string | null> - Read a file and return its contents. Returns null if the file does not exist. (filePath: string, data: unknown, options?: { indent?: number; }) => Promise<void> - Write JSON data atomically with consistent formatting. AtomicMigrationResult - Atomic database migration result. (dbPath: string, tempPath: string, validateFn: (path: string) => Promise<boolean>) => Promise<AtomicMigrationResult> - Perform atomic database migration using rename operations. Pattern: 1. Write new database to temp file (tasks.db.new) 2. Validate temp database integrity 3. Rename existing tasks.db → tasks.db.backup 4. Rename temp → tasks.db (atomic) 5. Only delete backup on success (dbPath: string, backupPath: string) => Promise<boolean> - Restore database from backup after failed migration. (backupPath: string) => Promise<boolean> - Clean up migration artifacts after successful migration. (dbPath: string) => Promise<boolean> - Validate SQLite database integrity by attempting to open it. file atomic.ts (filePath: string, backupDir: string, maxBackups?: number) => Promise<string> - Create a numbered backup of a file. Rotates existing backups (file.1 - file.2, etc.) and removes excess. (fileName: string, backupDir: string) => Promise<string[]> - List existing backups for a file, sorted by number (newest first). (fileName: string, backupDir: string, targetPath: string) => Promise<string> - Restore a file from its most recent backup. Returns the path of the backup that was restored. file backup.ts ReleaseFn - A release function returned by acquireLock. (filePath: string, options?: { stale?: number; retries?: number; }) => Promise<ReleaseFn> - Acquire an exclusive lock on a file. Returns a release function that must be called when done. (filePath: string) => Promise<boolean> - Check if a file is currently locked. <T>(filePath: string, fn: () => Promise<T>, options?: { stale?: number; retries?: number; }) => Promise<T> - Execute a function while holding an exclusive lock on a file. The lock is automatically released when the function completes (or throws). file lock.ts "ConfigChange" | "Notification" | "PermissionRequest" | "PostCompact" | "PostModel" | "PostToolUse" | "PostToolUseFailure" | "PreCompact" | "PreModel" | "PreToolUse" | "PromptSubmit" | "ResponseComplete" | "SessionEnd" | "SessionStart" | "SubagentStart" | "SubagentStop" | "ApprovalExpired" | "ApprovalGranted" | "ApprovalRequested" | "MemoryDecisionStored" | "MemoryLearningStored" | "MemoryObserved" | "MemoryPatternStored" | "PipelineManifestAppended" | "PipelineStageCompleted" | "SessionEnded" | "SessionStarted" | "TaskBlocked" | "TaskCompleted" | "TaskCreated" | "TaskStarted" - CAAMP canonical hook event type. This is the normalized 16-event taxonomy from CAAMP 1.9.1. readonly ["onWorkAvailable", "onAgentSpawn", "onAgentComplete", "onCascadeStart", "onPatrol"] - CLEO-local coordination events used by the autonomous runtime. These are internal lifecycle signals for worker orchestration and are not surfaced through CAAMP's provider capability registry. "onWorkAvailable" | "onAgentSpawn" | "onAgentComplete" | "onCascadeStart" | "onPatrol" HookEvent - Full CLEO hook event union. CAAMP defines provider-facing canonical events; CLEO extends the registry with local coordination events for autonomous execution. (event: HookEvent) => event is ProviderHookEvent - Type guard for CAAMP/provider-discoverable canonical hook events. (event: HookEvent) => event is InternalHookEvent - Type guard for CLEO-local coordination hook events. HookPayload - Base interface for all hook payloads Provides common fields available across all hook events SessionStartPayload - Payload for SessionStart hook (canonical: was onSessionStart) Fired when a CLEO session begins SessionStartPayload SessionEndPayload - Payload for SessionEnd hook (canonical: was onSessionEnd) Fired when a CLEO session ends SessionEndPayload PreToolUsePayload - Payload for PreToolUse hook (canonical: was onToolStart) Fired when a task/tool operation begins PreToolUsePayload PostToolUsePayload - Payload for PostToolUse hook (canonical: was onToolComplete) Fired when a task/tool operation completes PostToolUsePayload HookHandler<T> - Handler function type for hook events Handlers receive project root and typed payload HookRegistration<T> - Hook registration metadata Tracks registered handlers with priority and event binding HookConfig - Configuration for the hook system Controls which events are enabled/disabled NotificationPayload - Payload for Notification hook (canonical: was onFileChange) Fired when a tracked file is written, created, or deleted, or for general-purpose notifications. OnFileChangePayload PostToolUseFailurePayload - Payload for PostToolUseFailure hook (canonical: was onError) Fired when an operation fails with a structured error PostToolUseFailurePayload PromptSubmitPayload - Payload for PromptSubmit hook (canonical: was onPromptSubmit) Fired when an agent submits a prompt through a gateway PromptSubmitPayload ResponseCompletePayload - Payload for ResponseComplete hook (canonical: was onResponseComplete) Fired when a gateway operation finishes (success or failure) ResponseCompletePayload SubagentStartPayload - Payload for SubagentStart hook Fired when a subagent process is launched SubagentStopPayload - Payload for SubagentStop hook Fired when a subagent process completes PreCompactPayload - Payload for PreCompact hook Fired before context compaction begins PostCompactPayload - Payload for PostCompact hook Fired after context compaction completes ConfigChangePayload - Payload for ConfigChange hook Fired when configuration is updated OnWorkAvailablePayload - Payload for onWorkAvailable hook Fired when the system detects ready work on a Loom/Tapestry OnAgentSpawnPayload - Payload for onAgentSpawn hook Fired when a worker session/process is launched OnAgentCompletePayload - Payload for onAgentComplete hook Fired when a worker finishes its assigned run OnCascadeStartPayload - Payload for onCascadeStart hook Fired when autonomous execution begins flowing through a chain or wave OnPatrolPayload - Payload for onPatrol hook Fired when a watcher performs a periodic health/sweep cycle { readonly 'session.start': "SessionStart"; readonly 'session.end': "SessionEnd"; readonly 'task.start': "PreToolUse"; readonly 'task.complete': "PostToolUse"; readonly 'file.change': "Notification"; readonly 'system.error': "PostToolUseFailure"; readonly 'prompt.submit': "PromptSubmit"; readonly 'response.complete': "ResponseComplete"; } - Mapping from CLEO internal lifecycle events to CAAMP canonical hook event names. Updated for CAAMP 1.9.1 canonical taxonomy. { readonly 'agent.work.available': "onWorkAvailable"; readonly 'agent.spawn': "onAgentSpawn"; readonly 'agent.complete': "onAgentComplete"; readonly 'cascade.start': "onCascadeStart"; readonly 'watcher.patrol': "onPatrol"; } - Internal CLEO lifecycle events that drive autonomous coordination. "session.start" | "session.end" | "task.start" | "task.complete" | "file.change" | "system.error" | "prompt.submit" | "response.complete" - Type for CLEO lifecycle event names These are the internal events CLEO fires that get mapped to CAAMP events "agent.work.available" | "agent.spawn" | "agent.complete" | "cascade.start" | "watcher.patrol" - Type for autonomous CLEO lifecycle events. file types.ts typeof HookRegistry - Central registry for hook handlers. Manages registration, priority-based ordering, and async dispatch of hook handlers. Provides best-effort execution where errors in one handler do not block others. Backward compatibility: handlers registered with legacy `on`-prefix event names (e.g. `onSessionStart`) are automatically remapped to their canonical equivalents (e.g. `SessionStart`) with a deprecation warning. HookRegistry - Singleton instance of the HookRegistry. Use this instance for all hook operations throughout the application. file registry.ts <T = unknown>(filePath: string) => Promise<T | null> - Read and parse a JSON file. Returns null if the file does not exist. <T = unknown>(filePath: string) => Promise<T> - Read a JSON file, throwing if it doesn't exist. (data: unknown) => string - Compute a truncated SHA-256 checksum of a value. Used for integrity verification (matches Bash CLI's 16-char hex format). SaveJsonOptions - Options for saveJson. (filePath: string, data: unknown, options?: SaveJsonOptions) => Promise<void> - Save JSON data with optional locking, backup, and validation. Follows the CLEO atomic write pattern: 1. Acquire lock 2. Validate data 3. Create backup of existing file 4. Atomic write (temp file - rename) 5. Release lock (filePath: string, entry: unknown) => Promise<void> - Append a line to a JSONL file atomically. Used for manifest entries and audit logs. (filePath: string) => Promise<Record<string, unknown>[]> - Read log entries from a hybrid JSON/JSONL file. Handles three formats: 1. Pure JSON: `{ "entries": [...] }` (legacy bash format) 2. Pure JSONL: one JSON object per line (new TS format) 3. Hybrid: JSON object followed by JSONL lines (migration state) Returns a flat array of all entries found. T4622 file json.ts (cleoDir: string) => NodeJS.ProcessEnv - Build environment variables that point git at the isolated .cleo/.git repo. T4872 (args: string[], cleoDir: string) => Promise<{ stdout: string; success: boolean; }> - Run a git command against the isolated .cleo/.git repo, suppressing errors. T4872 (cleoDir: string) => boolean - Check whether the isolated .cleo/.git repo has been initialized. T4872 (cwd?: string) => Promise<string[]> - Load additional state file paths from config.json `checkpoint.stateFileAllowlist`. Returns an empty array if config is missing, malformed, or the key is absent. CheckpointConfig - Checkpoint configuration. CheckpointStatus - Checkpoint status information. ChangedFile - Changed file with its status. (cwd?: string) => Promise<CheckpointConfig> - Load checkpoint configuration from config.json. T4552 (options?: { force?: boolean; cwd?: string; }) => Promise<boolean> - Check whether a checkpoint should be performed. Evaluates: enabled, .cleo/.git initialized, debounce elapsed, files changed. T4552 T4872 (trigger?: "auto" | "session-end" | "manual", context?: string, cwd?: string) => Promise<void> - Stage .cleo/ state files and commit to the isolated .cleo/.git repo. Never fatal - all git errors are suppressed. T4552 T4872 (cwd?: string) => Promise<CheckpointStatus> - Show checkpoint configuration and status. T4552 T4872 (cwd?: string) => Promise<ChangedFile[]> - Show what files would be committed (dry-run). T4552 T4872 file git-checkpoint.ts typeof DataSafetyError - Safety violation error SafetyOptions - Safety configuration - can be overridden per-operation () => SafetyStats - Get current safety statistics () => void - Reset safety statistics (for testing) (accessor: DataAccessor, data: Session[], cwd?: string, options?: Partial<SafetyOptions>) => Promise<void> - Safe wrapper for DataAccessor.saveSessions() (accessor: DataAccessor, data: ArchiveFile, cwd?: string, options?: Partial<SafetyOptions>) => Promise<void> - Safe wrapper for DataAccessor.saveArchive() (_accessor: DataAccessor, taskId: string, writeFn: () => Promise<void>, cwd?: string, options?: Partial<SafetyOptions>) => Promise<void> - Safe wrapper for single-task write operations (T5034). Performs: 1. Sequence validation 2. Write operation (caller-provided function) 3. Git checkpoint Verification is lightweight — no full-file read-back. The write itself is a targeted SQL operation that either succeeds or throws. (accessor: DataAccessor, entry: Record<string, unknown>, cwd?: string, options?: Partial<SafetyOptions>) => Promise<void> - Safe wrapper for DataAccessor.appendLog() Note: Log appends are fire-and-forget (no verification) but we still checkpoint to ensure data is committed. (accessor: DataAccessor, cwd?: string) => Promise<{ passed: boolean; errors: string[]; warnings: string[]; stats: SafetyStats; }> - Run comprehensive data integrity check. Validates all data files and sequence consistency. (context: string, cwd?: string) => Promise<void> - Force immediate checkpoint. Use before destructive operations. () => void - Disable all safety for current process. DANGEROUS - only use for recovery operations. () => void - Re-enable safety after being disabled. file data-safety-central.ts typeof SafetyDataAccessor - Safety-enabled DataAccessor wrapper. Wraps any DataAccessor implementation and automatically applies safety checks to all write operations. Read operations pass through. This class CANNOT be bypassed - it's the only way to get a DataAccessor from the factory (unless emergency disable is active). (accessor: DataAccessor, cwd?: string) => DataAccessor - Wrap a DataAccessor with safety. This is the internal factory helper that wraps any accessor with the SafetyDataAccessor wrapper. () => boolean - Check if safety is currently enabled. () => { enabled: boolean; reason?: string; } - Get safety status information. file safety-data-accessor.ts (_engine?: "sqlite", cwd?: string) => Promise<import("@cleocode/contracts").DataAccessor> - Create a DataAccessor for the given working directory. Always creates a SQLite accessor (ADR-006 canonical storage). ALL accessors returned are safety-enabled by default via SafetyDataAccessor wrapper. Use CLEO_DISABLE_SAFETY=true to bypass (emergency only). (cwd?: string) => Promise<import("@cleocode/contracts").DataAccessor> - Convenience: get a DataAccessor with auto-detected engine. file data-accessor.ts (cwd?: string) => Promise<Record<string, unknown>> - Show current sequence state. (cwd?: string, accessor?: DataAccessor) => Promise<Record<string, unknown>> - Check sequence integrity. RepairResult - Repair result with proper typing. (cwd?: string, accessor?: DataAccessor) => Promise<RepairResult> - Repair sequence if behind. (cwd?: string, retryCount?: number) => Promise<string> - Atomically allocate the next task ID via SQLite. Uses BEGIN IMMEDIATE to guarantee no two concurrent callers receive the same ID, even across processes (WAL mode). Falls back to repair+retry if the sequence counter is behind the actual max task ID (e.g., stale counter from installations that never incremented it). T5184 file index.ts SafetyConfig - Safety configuration options. typeof SafetyError - Safety violation error. (taskId: string, cwd?: string, config?: Partial<SafetyConfig>) => Promise<boolean> - Check if a task ID already exists (collision detection). (taskId: string, expectedData?: Partial<Task>, cwd?: string, config?: Partial<SafetyConfig>) => Promise<boolean> - Verify a task was actually written to the database. (cwd?: string, config?: Partial<SafetyConfig>) => Promise<{ valid: boolean; repaired: boolean; oldCounter?: number; newCounter?: number; }> - Validate and repair sequence if necessary. (context: string, cwd?: string, config?: Partial<SafetyConfig>) => Promise<void> - Trigger auto-checkpoint after successful write. (createFn: () => Promise<Task>, task: Task, cwd?: string, config?: Partial<SafetyConfig>) => Promise<Task> - Safely create a task with all safety mechanisms. Wraps the actual createTask operation. (updateFn: () => Promise<Task | null>, taskId: string, _updates: Partial<Task>, cwd?: string, config?: Partial<SafetyConfig>) => Promise<Task | null> - Safely update a task with all safety mechanisms. (deleteFn: () => Promise<boolean>, taskId: string, cwd?: string, config?: Partial<SafetyConfig>) => Promise<boolean> - Safely delete a task with all safety mechanisms. (sessionId: string, cwd?: string, config?: Partial<SafetyConfig>) => Promise<boolean> - Verify session write. (createFn: () => Promise<Session>, session: Session, cwd?: string, config?: Partial<SafetyConfig>) => Promise<Session> - Safely create a session with all safety mechanisms. (operation: string, cwd?: string) => Promise<void> - Force a checkpoint before destructive operations. Use this before migrations, bulk updates, etc. (cwd?: string) => Promise<{ passed: boolean; issues: string[]; repairs: string[]; }> - Run comprehensive data integrity check. Reports all issues found. file data-safety.ts (taskId: string, cwd?: string) => Promise<Task | null> - Get a task by ID, including its dependencies. (taskId: string, updates: Partial<Task>, cwd?: string) => Promise<Task | null> - Update an existing task. (taskId: string, cwd?: string) => Promise<boolean> - Delete a task by ID. (filters?: { status?: TaskStatus; parentId?: string | null; type?: TaskType; phase?: string; limit?: number; }, cwd?: string) => Promise<Task[]> - List tasks with optional filters. (query: string, limit?: number, cwd?: string) => Promise<Task[]> - Find tasks by fuzzy text search. (taskId: string, reason?: string, cwd?: string) => Promise<boolean> - Archive a task (sets status to 'archived' with metadata). (taskId: string, dependsOn: string, cwd?: string) => Promise<void> - Add a dependency between tasks. (taskId: string, dependsOn: string, cwd?: string) => Promise<void> - Remove a dependency. (taskId: string, relatedTo: string, relationType?: "related" | "blocks" | "duplicates" | "absorbs" | "fixes" | "extends" | "supersedes", cwd?: string, reason?: string) => Promise<void> - Add a relation between tasks. (taskId: string, cwd?: string) => Promise<Array<{ relatedTo: string; type: string; reason?: string; }>> - Get relations for a task. (taskId: string, cwd?: string) => Promise<string[]> - Get the dependency chain (blockers) for a task using recursive CTE. (parentId: string, cwd?: string) => Promise<Task[]> - Get children of a task (hierarchy). (rootId: string, cwd?: string) => Promise<Task[]> - Build a tree from a root task using recursive CTE. (cwd?: string) => Promise<Record<string, number>> - Count tasks by status. (cwd?: string) => Promise<number> - Get total task count (excluding archived). (task: Task, cwd?: string, config?: Partial<SafetyConfig>) => Promise<Task> - Create a task with full safety protections. Includes: collision detection, write verification, sequence validation, auto-checkpoint. (taskId: string, updates: Partial<Task>, cwd?: string, config?: Partial<SafetyConfig>) => Promise<Task | null> - Update a task with full safety protections. Includes: write verification, auto-checkpoint. (taskId: string, cwd?: string, config?: Partial<SafetyConfig>) => Promise<boolean> - Delete a task with full safety protections. Includes: delete verification, auto-checkpoint. file task-store.ts NextDirectives - Map of follow-up operation names to CLI command strings. (taskId: string) => NextDirectives - Build `_next` directives for a full task detail result (tasks.show). (taskId: string) => NextDirectives - Build `_next` directives for a task in a list or find result. (sessionId: string) => NextDirectives - Build `_next` directives for a session in a list or find result. () => NextDirectives - Build `_next` directives for a session start result. (entryId: string) => NextDirectives - Build `_next` directives for a memory search (find) hit. file mvi-helpers.ts TaskDetail - Enriched task with hierarchy info. (taskId: string, cwd?: string, accessor?: DataAccessor) => Promise<TaskDetail> - Get a task by ID with enriched details. Checks active tasks first, then archive if not found. T4460 file show.ts Record<string, number> - Canonical mapping from string error codes to numeric exit codes. Source of truth: src/types/exit-codes.ts (ExitCode enum). Must stay in sync with ERROR_CODE_TO_EXIT in src/dispatch/adapters/cli.ts. <T>(code: string, message: string, options?: { details?: Record<string, unknown>; fix?: string; alternatives?: Array<{ action: string; command: string; }>; }) => EngineResult<T> - Create a typed engine error result with pino logging and correct exit code. <T>(data: T) => EngineResult<T> - Create an engine success result. file _error.ts TaskRecord - Task object as stored in task data. MinimalTaskRecord - Minimal task representation for find results. (projectRoot: string, taskId: string) => Promise<EngineResult<{ task: TaskRecord; }>> - Get a single task by ID. (projectRoot: string, params?: { parent?: string; status?: string; priority?: string; type?: string; phase?: string; label?: string; children?: boolean; limit?: number; offset?: number; compact?: boolean; }) => Promise<EngineResult<{ tasks: TaskRecord[] | CompactTask[]; total: number; filtered: number; }>> - List tasks with optional filters. (projectRoot: string, query: string, limit?: number, options?: { id?: string; exact?: boolean; status?: string; includeArchive?: boolean; offset?: number; }) => Promise<EngineResult<{ results: MinimalTaskRecord[]; total: number; }>> - Fuzzy search tasks by title/description/ID. (projectRoot: string, taskId: string) => Promise<EngineResult<{ exists: boolean; taskId: string; }>> - Check if a task exists. (projectRoot: string, params: { title: string; description: string; parent?: string; depends?: string[]; priority?: string; labels?: string[]; type?: string; phase?: string; size?: string; acceptance?: string[]; notes?: string; files?: string[]; dryRun?: boolean; }) => Promise<EngineResult<{ task: TaskRecord; duplicate: boolean; dryRun?: boolean; }>> - Create a new task. (projectRoot: string, taskId: string, updates: { title?: string; description?: string; status?: string; priority?: string; notes?: string; labels?: string[]; addLabels?: string[]; removeLabels?: string[]; depends?: string[]; addDepends?: string[]; removeDepends?: string[]; acceptance?: string[]; parent?: string | null; type?: string; size?: string; }) => Promise<EngineResult<{ task: TaskRecord; changes?: string[]; }>> - Update a task's fields. (projectRoot: string, taskId: string, notes?: string) => Promise<EngineResult<{ task: TaskRecord; autoCompleted?: string[]; unblockedTasks?: Array<{ id: string; title: string; }>; }>> - Complete a task (set status to done). (projectRoot: string, taskId: string, force?: boolean) => Promise<EngineResult<{ deletedTask: TaskRecord; deleted: boolean; cascadeDeleted?: string[]; }>> - Delete a task. (projectRoot: string, taskId?: string, before?: string) => Promise<EngineResult<{ archivedCount: number; archivedTasks: Array<{ id: string; }>; }>> - Archive completed tasks. Moves done/cancelled tasks from active task data to archive. (projectRoot: string, params?: { count?: number; explain?: boolean; }) => Promise<EngineResult<{ suggestions: Array<{ id: string; title: string; priority: string; phase: string | null; score: number; reasons?: string[]; }>; totalCandidates: number; }>> - Suggest next task to work on based on priority, phase alignment, age, and dependency readiness. (projectRoot: string, params?: { analyze?: boolean; limit?: number; }) => Promise<EngineResult<{ blockedTasks: Array<{ id: string; title: string; status: string; depends?: string[]; blockingChain: string[]; }>; criticalBlockers: Array<{ id: string; title: string; blocksCount: number; }>; summary: string; total: number; limit: number; }>> - Show blocked tasks and analyze blocking chains. (projectRoot: string, taskId?: string) => Promise<EngineResult> - Build hierarchy tree. (projectRoot: string, taskId: string) => Promise<EngineResult<{ taskId: string; dependsOn: Array<{ id: string; title: string; status: string; }>; dependedOnBy: Array<{ id: string; title: string; status: string; }>; unresolvedDeps: string[]; allDepsReady: boolean; }>> - Show dependencies for a task - both what it depends on and what depends on it. (projectRoot: string, taskId: string) => Promise<EngineResult<{ taskId: string; relations: Array<{ taskId: string; type: string; reason?: string; }>; count: number; }>> - Show task relations (existing relates entries). (projectRoot: string, taskId: string, relatedId: string, type: string, reason?: string) => Promise<EngineResult<{ from: string; to: string; type: string; added: boolean; }>> - Add a relation between two tasks. (projectRoot: string, taskId?: string, params?: { tierLimit?: number; }) => Promise<EngineResult<{ recommended: { id: string; title: string; leverage: number; reason: string; } | null; bottlenecks: Array<{ id: string; title: string; blocksCount: number; }>; tiers: { critical: Array<{ id: string; title: string; leverage: number; }>; high: Array<{ id: string; title: string; leverage: number; }>; normal: Array<{ id: string; title: string; leverage: number; }>; }; metrics: { totalTasks: number; actionable: number; blocked: number; avgLeverage: number; }; tierLimit: number; }>> - Analyze a task for description quality, missing fields, and dependency health. (projectRoot: string, change: string, matchLimit?: number) => Promise<EngineResult<ImpactReport>> - Predict downstream impact of a free-text change description. Delegates to `predictImpact` from the intelligence module. Uses keyword matching against task titles/descriptions, then traces the reverse dependency graph for transitive effects. (projectRoot: string, taskId: string, params?: { cascade?: boolean; notes?: string; }) => Promise<EngineResult<{ task: string; restored: string[]; count: number; }>> - Restore a cancelled task back to pending. (projectRoot: string, taskId: string, params?: { status?: string; preserveStatus?: boolean; }) => Promise<EngineResult<{ task: string; unarchived: boolean; title: string; status: string; }>> - Move an archived task back to active task data with status 'done' (or specified status). (projectRoot: string, taskId: string, position: number) => Promise<EngineResult<{ task: string; reordered: boolean; newPosition: number; totalSiblings: number; }>> - Change task position within its sibling group. (projectRoot: string, taskId: string, newParentId: string | null) => Promise<EngineResult<{ task: string; reparented: boolean; oldParent: string | null; newParent: string | null; newType?: string; }>> - Move task under a different parent. (projectRoot: string, taskId: string) => Promise<EngineResult<{ task: string; promoted: boolean; previousParent: string | null; typeChanged: boolean; }>> - Promote a subtask to task or task to root (remove parent). (projectRoot: string, taskId: string, params?: { status?: string; reason?: string; }) => Promise<EngineResult<{ task: string; reopened: boolean; previousStatus: string; newStatus: string; }>> - Reopen a completed task (set status back to pending). (projectRoot: string, taskId: string, reason?: string) => Promise<EngineResult<{ task: string; cancelled: boolean; reason?: string; cancelledAt: string; }>> - Cancel a task (soft terminal state -- reversible via restore). (projectRoot: string, params: { taskId: string; }) => Promise<EngineResult<{ size: "small" | "medium" | "large"; score: number; factors: ComplexityFactor[]; dependencyDepth: number; subtaskCount: number; fileCount: number; }>> - Deterministic complexity scoring from task metadata. (projectRoot: string, taskId: string, direction?: "upstream" | "downstream" | "both", tree?: boolean) => Promise<EngineResult> - List dependencies for a task in a given direction. T4657 T4790 T4654 (projectRoot: string) => Promise<EngineResult<{ totalTasks: number; tasksWithDeps: number; blockedTasks: Array<{ id: string; title: string; status: string; unblockedBy: string[]; }>; readyTasks: Array<{ id: string; title: string; status: string; }>; validation: { valid: boolean; errorCount: number; warningCount: number; }; }>> - Overview of all dependencies across the project. T5157 (projectRoot: string) => Promise<EngineResult<{ hasCycles: boolean; cycles: Array<{ path: string[]; tasks: Array<{ id: string; title: string; }>; }>; }>> - Detect circular dependencies across the project. T5157 (projectRoot: string, epicId?: string) => Promise<EngineResult<{ total: number; pending: number; active: number; blocked: number; done: number; cancelled: number; byPriority: Record<string, number>; byType: Record<string, number>; }>> - Compute task statistics, optionally scoped to an epic. T4657 T4790 T4654 (projectRoot: string, params?: { format?: "json" | "csv"; status?: string; parent?: string; }) => Promise<EngineResult<unknown>> - Export tasks as JSON or CSV. T4657 T4790 T4654 (projectRoot: string, taskId: string, limit?: number) => Promise<EngineResult<Array<Record<string, unknown>>>> - Get task history from the log file. T4657 T4790 T4654 (projectRoot: string, taskId?: string) => Promise<EngineResult<Array<{ taskId: string; severity: "error" | "warning"; rule: string; message: string; }>>> - Lint tasks for common issues. T4657 T4790 T4654 (projectRoot: string, taskIds: string[], checkMode?: "full" | "quick") => Promise<EngineResult<{ results: Record<string, Array<{ severity: "error" | "warning"; rule: string; message: string; }>>; summary: { totalTasks: number; validTasks: number; invalidTasks: number; totalIssues: number; errors: number; warnings: number; }; }>> - Validate multiple tasks at once. T4657 T4790 T4654 (projectRoot: string, source: string, overwrite?: boolean) => Promise<EngineResult<{ imported: number; skipped: number; errors: string[]; remapTable?: Record<string, string>; }>> - Import tasks from a JSON source string or export package. T4790 (projectRoot: string) => Promise<EngineResult> - Compute a ranked plan: in-progress epics, ready tasks, blockers, bugs. T4815 (projectRoot: string, taskId: string, params?: { mode?: "suggest" | "discover"; threshold?: number; }) => Promise<EngineResult<Record<string, unknown>>> - Find related tasks using semantic search or keyword matching. T5672 (projectRoot: string) => Promise<EngineResult<{ labels: unknown[]; count: number; }>> - List all labels used in tasks. T5672 (projectRoot: string, label: string) => Promise<EngineResult<Record<string, unknown>>> - Show tasks associated with a label. T5672 (projectRoot: string, params: { providerId: string; externalTasks: Array<import("@cleocode/contracts").ExternalTask>; dryRun?: boolean; conflictPolicy?: string; defaultPhase?: string; defaultLabels?: string[]; }) => Promise<EngineResult<import("@cleocode/contracts").ReconcileResult>> - Reconcile external tasks with CLEO as SSoT. (projectRoot: string, params?: { providerId?: string; taskId?: string; }) => Promise<EngineResult<{ links: import("@cleocode/contracts").ExternalTaskLink[]; count: number; }>> - List external task links by provider or task ID. (projectRoot: string, providerId: string) => Promise<EngineResult<{ providerId: string; removed: number; }>> - Remove all external task links for a provider. (projectRoot: string, taskId: string, agentId: string) => Promise<EngineResult<{ taskId: string; agentId: string; }>> - Atomically claim a task for an agent. Fails if the task is already claimed by a different agent. No-op if the task is already claimed by the same agent (idempotent). (projectRoot: string, taskId: string) => Promise<EngineResult<{ taskId: string; }>> - Release an agent's claim on a task, setting assignee to null. No-op if the task is not currently claimed. file task-engine.ts PaginateInput - Input parameters for paginating a result set. T4668 T4663 (input: PaginateInput) => LAFSPage - Create an LAFSPage object from pagination parameters. Returns mode:"none" when no pagination is requested (no limit/offset). Returns mode:"offset" with hasMore/total when pagination is active. T4668 T4663 <T>(items: T[] | undefined | null, limit?: number, offset?: number) => { items: T[]; page: LAFSPage; } - Apply pagination to an array of items and return the sliced result with page metadata. T4668 T4663 file pagination.ts CompactTask - Compact task representation — minimal fields for list responses. (task: Task) => CompactTask - Convert a full Task to compact representation with _next directives. ListTasksOptions - Filter options for listing tasks. ListTasksResult - Result of listing tasks. (options?: ListTasksOptions, cwd?: string, accessor?: DataAccessor) => Promise<ListTasksResult> - List tasks with optional filtering and pagination. T4460 file list.ts FindResult - Minimal task info for search results. FindTasksOptions - Options for finding tasks. FindTasksResult - Result of finding tasks. (query: string, text: string) => number - Calculate fuzzy match score between query and text. Higher score = better match. 0 = no match. T4460 (options: FindTasksOptions, cwd?: string, accessor?: DataAccessor) => Promise<FindTasksResult> - Search tasks by fuzzy matching, ID prefix, or exact title. Returns minimal fields only (context-efficient). T4460 file find.ts (projectRoot: string) => Promise<EngineResult<{ hasActiveSession: boolean; session?: Session | null; taskWork?: TaskWorkState | null; }>> - Get current session status. (projectRoot: string, params?: { active?: boolean; status?: string; limit?: number; offset?: number; }) => Promise<EngineResult<{ sessions: Session[]; total: number; filtered: number; _meta: { truncated: boolean; total: number; }; }>> - List sessions with budget enforcement. When a limit is applied (explicit or default), the response includes `_meta.truncated` and `_meta.total` so agents know the result set was capped. (projectRoot: string, params?: FindSessionsParams) => Promise<EngineResult<MinimalSessionRecord[]>> - Lightweight session discovery -- returns minimal session records. (projectRoot: string, sessionId: string) => Promise<EngineResult<Session>> - Show a specific session by ID. (projectRoot: string) => Promise<EngineResult<{ currentTask: string | null; currentPhase: string | null; }>> - Get current task being worked on. Delegates to core/task-work/currentTask. T4782 (projectRoot: string, taskId: string) => Promise<EngineResult<{ taskId: string; previousTask: string | null; }>> - Start working on a specific task. Delegates to core/task-work/startTask. T4782 (projectRoot: string) => Promise<EngineResult<{ cleared: boolean; previousTask: string | null; }>> - Stop working on the current task. Delegates to core/task-work/stopTask. T4782 (projectRoot: string) => Promise<EngineResult<{ history: TaskWorkHistoryEntry[]; count: number; }>> - Get task work history from session notes. T5323 (projectRoot: string, params: { scope: string; name?: string; autoStart?: boolean; startTask?: string; grade?: boolean; }) => Promise<EngineResult<Session>> - Start a new session. Note: This function has engine-specific logic for task file focus management and session store updates, so it remains in the engine layer. T4782 (projectRoot: string, notes?: string, params?: { sessionSummary?: import("@cleocode/contracts").SessionSummaryInput; }) => Promise<EngineResult<{ sessionId: string; ended: boolean; memoryPrompt?: string; }>> - End the current session. Note: This function has engine-specific logic for task file focus management and session store management, so it remains in the engine layer. T4782 T140 T134 - Summarization wiring (projectRoot: string, sessionId: string) => Promise<EngineResult<Session>> - Resume an ended or suspended session. Note: This function has engine-specific logic for task file focus sync, so it remains in the engine layer. T4782 (projectRoot: string, maxAgeDays?: number) => Promise<EngineResult<{ orphaned: string[]; removed: string[]; }>> - Garbage collect old sessions. T4782 (projectRoot: string, sessionId: string, reason?: string) => Promise<EngineResult<Session>> - Suspend an active session. T4782 (projectRoot: string, params?: { sessionId?: string; limit?: number; }) => Promise<EngineResult<{ sessions: Array<{ id: string; name?: string; status: string; startedAt: string; endedAt?: string | null; tasksCompleted: number; focusChanges: number; focusHistory: Array<{ taskId: string; timestamp: string; }>; }>; }>> - List session history with focus changes and completed tasks. T4782 (projectRoot: string) => Promise<EngineResult<{ removed: string[]; autoEnded: string[]; cleaned: boolean; }>> - Remove orphaned sessions and clean up stale data. T4782 (projectRoot: string, params: { sessionId: string; taskId: string; decision: string; rationale: string; alternatives?: string[]; }) => Promise<EngineResult<DecisionRecord>> - Record a decision to the audit trail. T4782 (projectRoot: string, params?: { sessionId?: string; taskId?: string; }) => Promise<EngineResult<DecisionRecord[]>> - Read the decision log, optionally filtered by sessionId and/or taskId. T4782 (projectRoot: string, params?: { sessionId?: string; }) => Promise<EngineResult<{ score: number; factors: string[]; completedInScope: number; totalInScope: number; outOfScope: number; }>> - Compute context drift score for the current session. T4782 (projectRoot: string, params: { sessionId?: string; taskId?: string; assumption: string; confidence: "high" | "medium" | "low"; }) => Promise<EngineResult<{ id: string; sessionId: string; taskId: string | null; assumption: string; confidence: string; timestamp: string; }>> - Record an assumption made during a session. T4782 (projectRoot: string, sessionId?: string) => Promise<EngineResult<{ totalSessions: number; activeSessions: number; suspendedSessions: number; endedSessions: number; archivedSessions: number; totalTasksCompleted: number; totalFocusChanges: number; averageResumeCount: number; session?: { id: string; status: string; tasksCompleted: number; focusChanges: number; resumeCount: number; durationMinutes: number; }; }>> - Compute session statistics, optionally for a specific session. T4782 (projectRoot: string, sessionId: string) => Promise<EngineResult<Session>> - Switch to a different session. T4782 (projectRoot: string, olderThan?: string) => Promise<EngineResult<{ archived: string[]; count: number; }>> - Archive old/ended sessions. T4782 (projectRoot: string, scope?: { type: string; epicId?: string; }) => Promise<EngineResult<{ sessionId: string; handoff: HandoffData; } | null>> - Get handoff data for the most recent ended session. T4915, T5123 (projectRoot: string, sessionId: string, options?: { note?: string; nextAction?: string; }) => Promise<EngineResult<HandoffData>> - Compute and persist handoff data for a session. T4915 (projectRoot: string, options?: { maxNextTasks?: number; maxBugs?: number; maxBlocked?: number; maxEpics?: number; scope?: string; }) => Promise<EngineResult<SessionBriefing>> - Compute session briefing - composite view for session start. Aggregates data from handoff, current focus, next tasks, bugs, blockers, and epics. T4916 (projectRoot: string, sessionId: string, options?: { note?: string; nextAction?: string; }) => Promise<EngineResult<DebriefData>> - Compute and persist rich debrief data for a session. Persists as both handoffJson (backward compat) and debriefJson (rich data). T4959 (projectRoot: string, sessionId: string) => Promise<EngineResult<DebriefData | { handoff: unknown; fallback: true; } | null>> - Read a session's debrief data. Falls back to handoff data if no debrief is available. T4959 (projectRoot: string, sessionId: string) => Promise<EngineResult<Array<{ id: string; status: string; startedAt: string; endedAt: string | null; agentIdentifier: string | null; position: number; }>>> - Show the session chain for a given session. Returns ordered list of sessions linked via previousSessionId/nextSessionId. T4959 (protocolType: string, params?: { taskId?: string; variant?: string; }, projectRoot?: string) => EngineResult<ContextInjectionData> - Inject context protocol content. T5673 file session-engine.ts (projectRoot?: string) => Promise<string[]> - List all epic IDs that have RCASD pipeline data. (epicId: string, projectRoot?: string) => Promise<EngineResult> - lifecycle.check / lifecycle.status - Get lifecycle status for epic. T4785 (taskId: string, projectRoot?: string) => Promise<EngineResult> - lifecycle.history - Stage transition history. T4785 (taskId: string, projectRoot?: string) => Promise<EngineResult> - lifecycle.gates - Get all gate statuses for an epic. T4785 (targetStage: string, _projectRoot?: string) => Promise<EngineResult> - lifecycle.prerequisites - Get required prior stages for a target stage. T4785 (epicId: string, targetStage: string, projectRoot?: string) => Promise<EngineResult> - lifecycle.check - Check if a stage's prerequisites are met. T4785 (taskId: string, stage: string, status: string, notes?: string, projectRoot?: string) => Promise<EngineResult> - lifecycle.progress / lifecycle.record - Record stage completion. T4785 (taskId: string, stage: string, reason: string, projectRoot?: string) => Promise<EngineResult> - lifecycle.skip - Skip a stage with reason. T4785 (taskId: string, stage: string, reason: string, projectRoot?: string) => Promise<EngineResult> - lifecycle.reset - Reset a stage (emergency). T4785 (taskId: string, gateName: string, agent?: string, notes?: string, projectRoot?: string) => Promise<EngineResult> - lifecycle.gate.pass - Mark gate as passed. T4785 (taskId: string, gateName: string, reason?: string, projectRoot?: string) => Promise<EngineResult> - lifecycle.gate.fail - Mark gate as failed. T4785 file lifecycle-engine.ts AdrFrontmatter - Parsed ADR frontmatter from .md file AdrRecord AdrSyncResult AdrListResult AdrFindResult file types.ts (filename: string) => string - Extract ADR ID from filename (e.g., 'ADR-007-domain-consolidation.md' - 'ADR-007') (content: string) => AdrFrontmatter - Parse bold-key frontmatter pattern: **Key**: value (content: string) => string - Extract H1 title from markdown (filePath: string, projectRoot: string) => AdrRecord - Parse a single ADR markdown file into an AdrRecord file parse.ts PipelineAdrLinkResult (projectRoot: string, taskId: string) => Promise<PipelineAdrLinkResult> - Link ADRs to a pipeline task when the architecture_decision stage completes. file link-pipeline.ts (projectRoot: string) => Promise<AdrSyncResult> - Sync all ADR markdown files into the architecture_decisions table AND regenerate the ADR index (adr-index.jsonl) in one pass. file sync.ts EvidenceType EvidenceRecord (epicId: string, stage: string, uri: string, type: EvidenceType, options?: { agent?: string; description?: string; cwd?: string; }) => Promise<EvidenceRecord> - Record an evidence artifact linked to a lifecycle stage. Writes to the SQLite `lifecycle_evidence` table. (epicId: string, stage?: string, cwd?: string) => Promise<EvidenceRecord[]> - Query evidence records for an epic, optionally filtered by stage. (epicId: string, stage: string, filePath: string, cwd?: string) => Promise<EvidenceRecord> - Convenience wrapper to record a file as provenance evidence. Converts the file path to a URI relative to the `.cleo/` directory, sets the type to 'file', and extracts a description from the filename. (epicId: string, cwd?: string) => Promise<{ stage: string; count: number; types: Record<EvidenceType, number>; }[]> - Aggregate evidence counts per stage for an epic. file evidence.ts (dirName: string) => string - Strip suffixes from epic directory names. E.g. `T4881_install-channels` - `T4881` (cwd?: string) => string - Get the absolute path to the `.cleo/rcasd/` base directory. (epicId: string, cwd?: string) => string - Get the absolute path to `.cleo/rcasd/{epicId}/`. Uses the normalized epic ID (without suffixes). (epicId: string, cwd?: string) => string | null - Search both `rcasd/` and legacy `rcsd/` for an existing epic directory. Also checks suffixed directory names (e.g. `T4881_install-channels` matches `T4881`). (epicId: string, stage: string, cwd?: string) => string - Get the stage subdirectory path for an epic. Uses STAGE_SUBDIRS mapping, falling back to the raw stage name. (epicId: string, stage: string, cwd?: string) => string - Get the stage subdirectory path, creating it if it does not exist. (epicId: string, cwd?: string) => string - Get the manifest path for an epic under the default rcasd directory. (epicId: string, cwd?: string) => string | null - Search both `rcasd/` and `rcsd/` for an existing manifest file. Checks suffixed directory names as well. (cwd?: string) => Array<{ file: string; epicId: string; fullPath: string; }> - Scan the rcasd root directory for loose `T####_*.md` files that are not inside subdirectories. (cwd?: string) => Array<{ epicId: string; dirName: string; fullPath: string; }> - List all epic directories across `rcasd/` and `rcsd/`. file rcasd-paths.ts RelatedLink - Related link in frontmatter. FrontmatterMetadata - Frontmatter metadata for an RCASD artifact. ParsedFrontmatter - Result of parsing frontmatter from a markdown file. (content: string) => ParsedFrontmatter - Parse YAML frontmatter from a markdown string. Finds the YAML block delimited by `---` at the start of the file, parses key-value pairs, and returns the structured metadata plus the remaining body content. (metadata: FrontmatterMetadata) => string - Convert a FrontmatterMetadata object to a YAML frontmatter string. Output format: (content: string, metadata: FrontmatterMetadata) => string - Add or replace YAML frontmatter in markdown content. If the content already has a frontmatter block, it is replaced. Otherwise the YAML block is prepended. (epicId: string, stage: string, options?: { task?: string; related?: RelatedLink[]; created?: string; }) => FrontmatterMetadata - Convenience builder for common frontmatter patterns. Auto-sets `updated` to the current ISO date string. (epicId: string, stage: string, cwd?: string) => Array<{ file: string; link: RelatedLink; }> - Scan all markdown files in `.cleo/rcasd/` for files that reference the given epic+stage combination via their `related` frontmatter links. This enables "what links here?" queries (Obsidian-style backlinks). file frontmatter.ts readonly ["research", "consensus", "architecture_decision", "specification", "decomposition", "implementation", "validation", "testing", "release"] "contribution" - Cross-cutting contribution stage. Not part of the pipeline execution order, but tracked in the schema for attribution and provenance recording. T4800 "research" | "consensus" | "architecture_decision" | "specification" | "decomposition" | "implementation" | "validation" | "testing" | "release" - Stage type derived from canonical stage list. T4800 StageCategory - Stage category for grouping related stages. T4800 StageDefinition - Stage metadata with descriptive information. T4800 Record<"research" | "consensus" | "architecture_decision" | "specification" | "decomposition" | "implementation" | "validation" | "testing" | "release", StageDefinition> - Canonical stage definitions with complete metadata. T4800 T4799 - Replaces legacy STAGE_DEFINITIONS from index.ts Record<"research" | "consensus" | "architecture_decision" | "specification" | "decomposition" | "implementation" | "validation" | "testing" | "release", number> - Stage order mapping for quick lookups. T4800 (stage: Stage) => number - Get the order/index of a stage (1-based). (stageA: Stage, stageB: Stage) => boolean - Check if stage A comes before stage B in the pipeline. (stageA: Stage, stageB: Stage) => boolean - Check if stage A comes after stage B in the pipeline. (stage: Stage) => Stage | null - Get the next stage in the pipeline. (stage: Stage) => Stage | null - Get the previous stage in the pipeline. (from: Stage, to: Stage) => Stage[] - Get all stages between two stages (inclusive). Record<"research" | "consensus" | "architecture_decision" | "specification" | "decomposition" | "implementation" | "validation" | "testing" | "release", ("research" | "consensus" | "architecture_decision" | "specification" | "decomposition" | "implementation" | "validation" | "testing" | "release")[]> - Prerequisites for each stage - which stages must be completed before entering. T4800 T4799 - Canonical prerequisite map (stage: Stage) => Stage[] - Get prerequisites for a stage. (potentialPrereq: Stage, stage: Stage) => boolean - Check if one stage is a prerequisite of another. (stage: Stage) => Stage[] - Get all stages that depend on a given stage. (stage: string) => stage is Stage - Check if a stage name is valid. (stage: string) => Stage - Validate a stage name and throw if invalid. (status: string) => status is StageStatus - Check if a stage status is valid. (category: StageCategory) => Stage[] - Get stages by category. () => Stage[] - Get skippable stages. TransitionRule - Transition rule - defines if a transition is allowed. T4800 TransitionRule[] - Allowed transitions between stages. By default, stages progress linearly. These rules define exceptions. T4800 (from: Stage, to: Stage, force?: boolean) => { allowed: boolean; requiresForce: boolean; reason?: string; } - Check if a transition is allowed. 9 - Total number of stages in the pipeline. T4800 "research" | "consensus" | "architecture_decision" | "specification" | "decomposition" | "implementation" | "validation" | "testing" | "release" - First stage in the pipeline. T4800 "research" | "consensus" | "architecture_decision" | "specification" | "decomposition" | "implementation" | "validation" | "testing" | "release" - Last stage in the pipeline. T4800 ("research" | "consensus" | "architecture_decision" | "specification" | "decomposition" | "implementation" | "validation" | "testing" | "release")[] - Planning stages. T4800 ("research" | "consensus" | "architecture_decision" | "specification" | "decomposition" | "implementation" | "validation" | "testing" | "release")[] - Decision stages. T4800 ("research" | "consensus" | "architecture_decision" | "specification" | "decomposition" | "implementation" | "validation" | "testing" | "release")[] - Execution stages (canonical). T4800 ("research" | "consensus" | "architecture_decision" | "specification" | "decomposition" | "implementation" | "validation" | "testing" | "release")[] - Validation stages. T4800 ("research" | "consensus" | "architecture_decision" | "specification" | "decomposition" | "implementation" | "validation" | "testing" | "release")[] - Delivery stages. T4800 file stages.ts StageArtifactResult (epicId: string, stage: Stage, cwd?: string) => Promise<StageArtifactResult> - Ensure stage artifact exists and frontmatter/backlinks are up to date. file stage-artifacts.ts SkillFrontmatter - Skill frontmatter parsed from SKILL.md YAML header. This is CLEO's extended skill metadata -- a functional superset of CAAMP's `SkillMetadata`. All fields from `CaampSkillMetadata` (name, description, version, allowedTools) are present here. CLEO adds: tags, triggers, dispatchPriority, model, invocable, command, protocol. Use this type when working with CLEO's skill loading, dispatch, and orchestration systems. Use `CaampSkillMetadata` when interfacing directly with CAAMP's discovery/install APIs. Skill - Skill definition loaded from disk. CLEO-specific type that wraps a `SkillFrontmatter` with filesystem context. For CAAMP's equivalent, see `CtSkillEntry` which wraps `CaampSkillMetadata` with install/discovery metadata instead. SkillSummary - Lightweight skill summary for manifest/listing. Projected from `Skill` for efficient caching in `SkillManifest`. Contains only the fields needed for CLI display and dispatch selection. SkillManifest - Skill manifest (cached aggregate of all discovered skills). SkillProtocolType - RCASD-IVTR+C protocol types. AgentConfig - Agent configuration from AGENT.md or agent definition. AgentRegistryEntry - Agent registry entry. AgentRegistry - Agent registry (persisted). SkillSearchScope - CAAMP search order for skill discovery. SkillSearchPath - Ordered search path entry. DispatchStrategy - Dispatch strategy for skill selection. DispatchResult - Dispatch result from skill_auto_dispatch. TokenDefinition - Token definition from placeholders.json. TokenValidationResult - Token validation result. TokenContext - Token injection context. OrchestratorThresholds - Orchestrator context thresholds. PreSpawnCheckResult - Pre-spawn check result. SpawnPromptResult - Spawn prompt result. DependencyWave - Dependency wave for parallel execution. DependencyAnalysis - Dependency analysis result. HitlSummary - HITL summary for session handoff. ManifestEntry - Research manifest entry (pipeline_manifest table, ADR-027). ManifestValidationResult - Manifest validation result. ComplianceResult - Compliance verification result. InstalledSkill - Installed skill tracking. InstalledSkillsFile - Installed skills file. Record<string, string> - Canonical skill name mapping (user-friendly to ct-prefixed). file types.ts (cwd?: string) => SkillSearchPath[] - Build the CAAMP skill search paths in priority order. Uses CAAMP's canonical path functions for standard locations. T4516 (cwd?: string) => string - Get the primary skills directory (app-embedded). T4516 (cwd?: string) => string - Get the shared skills resources directory. T4516 (input: string) => { canonical: string; mapped: boolean; } - Map a user-friendly skill name to the canonical ct-prefixed directory name. Supports: UPPER-CASE, lower-case, with/without ct- prefix. T4516 () => string[] - List all known canonical skill names (unique values from the map). T4516 (content: string) => SkillFrontmatter - Parse YAML-like frontmatter from a SKILL.md file. Handles the --- delimited header with key: value pairs. T4516 (skillDir: string) => Skill | null - Discover a single skill from a directory. Tries CAAMP's parseSkillFile first, falls back to local parsing. T4516 (dir: string) => Skill[] - Discover all skills in a single directory. Scans for subdirectories containing SKILL.md. T4516 (cwd?: string) => Skill[] - Discover all skills across CAAMP search paths. Returns skills in priority order (earlier paths take precedence). T4516 (name: string, cwd?: string) => Skill | null - Find a specific skill by name across all search paths. T4516 (skill: Skill) => SkillSummary - Convert a Skill to a lightweight SkillSummary. T4516 (cwd?: string) => SkillManifest - Generate a skill manifest from discovered skills. T4516 (name: string, cwd?: string) => string | null - Resolve a skill template path (SKILL.md) by name. T4516 file discovery.ts TokenValues - Token values map: TOKEN_NAME - value. (cwd?: string) => PlaceholdersConfig | null - Load token definitions from placeholders.json. T4521 (cwd?: string) => TokenValues - Build the full default values map (merging placeholders.json with hardcoded defaults). T4521 (token: string, value: string) => { valid: boolean; error?: string; } - Validate a single token value against its pattern. T4521 (values: TokenValues) => { valid: boolean; missing: string[]; invalid: Array<{ token: string; error: string; }>; } - Validate all required tokens are present and valid. T4521 (values: TokenValues) => { valid: boolean; errors: Array<{ token: string; error: string; }>; } - Validate all tokens in a values map (required + optional). T4521 (template: string, values: TokenValues) => string - Inject token values into a template string. Replaces all TOKEN_NAME patterns with corresponding values. Unresolved tokens are left as-is (for debugging). T4521 (content: string) => string[] - Check if a template has unresolved tokens after injection. T4521 (templatePath: string, values: TokenValues) => { content: string; unresolvedTokens: string[]; } - Load a skill template and inject tokens. T4521 (task: { id: string; title: string; description?: string; parentId?: string; labels?: string[]; depends?: string[]; }, options?: { date?: string; topicSlug?: string; outputDir?: string; manifestPath?: string; }) => TokenValues - Build a complete TokenValues map from a task, resolving all standard tokens. Ports ti_set_full_context from lib/skills/token-inject.sh. This is the primary entry point for orchestrators to prepare token values before spawning subagents. It populates: TASK_ID, DATE, TOPIC_SLUG, EPIC_ID, TITLE, TASK_TITLE, TASK_DESCRIPTION, TOPICS_JSON, DEPENDS_LIST, RESEARCH_ID, OUTPUT_DIR, MANIFEST_PATH, and all command defaults. T4712 T4663 file token.ts (task: Task, cwd?: string) => DispatchResult - Auto-dispatch a task to the most appropriate skill. Tries strategies in priority order: label - catalog - type - keyword - fallback. T4517 (skillName: string, cwd?: string) => DispatchResult | null - Dispatch with explicit skill override. Verifies the skill exists before returning. T4517 (result: DispatchResult) => SkillProtocolType | null - Get the protocol type for a dispatch result. T4517 (task: Task, overrideSkill?: string, cwd?: string) => { skill: string; protocol: SkillProtocolType | null; dispatch: DispatchResult; } - Prepare spawn context for a dispatched skill. Returns the skill name and protocol needed for token injection. T4517 MultiSkillComposition - Result of multi-skill composition. (skillNames: string[], tokenValues: Record<string, string>, cwd?: string) => MultiSkillComposition - Compose multiple skills into a single prompt with progressive disclosure. Ports skill_prepare_spawn_multi from lib/skills/skill-dispatch.sh. The first skill is loaded fully (primary). Secondary skills use progressive disclosure (frontmatter + first section only) to save context budget. T4712 T4663 file dispatch.ts Record<"research" | "consensus" | "architecture_decision" | "specification" | "decomposition" | "implementation" | "validation" | "testing" | "release", string> - Canonical mapping from RCASD-IVTR+C pipeline stages to the primary skill that encodes the protocol for that stage. Mirrors `packages/skills/skills/manifest.json#dispatch_matrix.by_protocol` but is kept in TypeScript for ergonomic consumption. If the two drift, the manifest.json is authoritative — this table should be regenerated. Every stage gets at least one dedicated skill. Some stages reuse skills (e.g. testing and release both use `ct-dev-workflow`). readonly string[] - Tier 0 skills — always loaded alongside the stage-specific skill. - `ct-cleo`: CLEO task management protocol (session, task, memory CLI) - `ct-orchestrator`: pipeline-aware orchestration constraints (ORC-001..009) `ct-task-executor` is NOT unconditionally included because most stages already resolve to a more-specific executor skill; it's only added when no stage-specific skill exists. StageGuidance - Structured guidance for a single pipeline stage. Pi extensions consume the `.prompt` field directly (render via `{ systemPrompt }` in `before_agent_start`). The structured fields are exposed for TUI widgets, badges, and logging. (stage: Stage, cwd?: string) => StageGuidance - Build structured stage guidance for a given pipeline stage. Resolves the primary skill for the stage from `STAGE_SKILL_MAP`, composes a prompt from the real `SKILL.md` files via `prepareSpawnMulti()`, and returns a `StageGuidance` object suitable for Pi extension injection or direct CLI rendering. If the skills cannot be resolved, returns a fallback prompt built from `STAGE_DEFINITIONS` metadata only — no hand-authored protocol text. (guidance: StageGuidance) => string - Format stage guidance as a Markdown-wrapped system prompt. Since `buildStageGuidance()` now returns the already-composed prompt in `.prompt`, this helper simply passes it through with a header banner identifying which skills are loaded and which stage is active. (stage: Stage, cwd?: string) => string - Convenience wrapper: build AND format in a single call. file stage-guidance.ts EnforcementMode - Lifecycle enforcement modes. GateData - Gate data within a stage. ManifestStageData - Stage data in an on-disk manifest. RcasdManifest - Canonical RCASD manifest-shaped interface for compatibility payloads. Lifecycle persistence is SQLite-native; this shape is used for API responses that present stage+gate state in a manifest-like structure. Stage keys use full canonical names matching the DB CHECK constraint: research, consensus, architecture_decision, specification, decomposition, implementation, validation, testing, release. T4798 GateCheckResult - Gate check result. StageTransitionResult - Stage transition result. (epicId: string, cwd?: string) => Promise<RcasdManifest> - Get the current lifecycle state for an epic. T4467 (epicId: string, stage: string, cwd?: string) => Promise<StageTransitionResult> - Start a lifecycle stage. T4467 (epicId: string, stage: string, artifacts?: string[], cwd?: string) => Promise<StageTransitionResult> - Complete a lifecycle stage. T4467 (epicId: string, stage: string, reason: string, cwd?: string) => Promise<StageTransitionResult> - Skip a lifecycle stage. T4467 (epicId: string, targetStage: string, cwd?: string) => Promise<GateCheckResult> - Check lifecycle gate before starting a stage. T4467 (epicId: string, cwd?: string) => Promise<{ epicId: string; title?: string; currentStage: Stage | null; stages: Array<{ stage: string; status: string; completedAt?: string; notes?: string; outputFile?: string; provenanceChain?: Record<string, unknown>; }>; nextStage: Stage | null; blockedOn: string[]; initialized: boolean; }> - Get lifecycle status for an epic from SQLite. Returns stage progress, current/next stage, and blockers. T4801 - SQLite-native implementation LifecycleHistoryEntry - History entry for stage transitions. (epicId: string, cwd?: string) => Promise<{ epicId: string; history: LifecycleHistoryEntry[]; }> - Get lifecycle history for an epic. Returns stage transitions and gate events sorted by timestamp. SQLite-native implementation - queries lifecycle_stages and lifecycle_gate_results tables. T4785 T4801 (epicId: string, cwd?: string) => Promise<Record<string, Record<string, GateData>>> - Get all gate statuses for an epic. T4785 (targetStage: string) => { prerequisites: string[]; stageInfo: { stage: string; name: string; description: string; order: number; } | undefined; } - Get prerequisites for a target stage. Pure data function, no I/O. T4785 (epicId: string, targetStage: string, cwd?: string) => Promise<{ epicId: string; targetStage: string; valid: boolean; canProgress: boolean; missingPrerequisites: string[]; issues: Array<{ stage: string; severity: string; message: string; }>; }> - Check if a stage's prerequisites are met for an epic. T4785 (epicId: string, stage: string, status: string, notes?: string, cwd?: string) => Promise<{ epicId: string; stage: string; status: string; timestamp: string; }> - Record a stage status transition (progress/record). SQLite-native implementation - T4801 T4785 T4801 (epicId: string, stage: string, reason: string, cwd?: string) => Promise<{ epicId: string; stage: string; reason: string; timestamp: string; }> - Skip a stage with a reason (engine-compatible). T4785 (epicId: string, stage: string, reason: string, cwd?: string) => Promise<{ epicId: string; stage: string; reason: string; }> - Reset a stage to pending (emergency). T4785 (epicId: string, gateName: string, agent?: string, notes?: string, cwd?: string) => Promise<{ epicId: string; gateName: string; timestamp: string; }> - Mark a gate as passed. SQLite-native implementation - T4801 T4785 T4801 (epicId: string, gateName: string, reason?: string, cwd?: string) => Promise<{ epicId: string; gateName: string; reason?: string; timestamp: string; }> - Mark a gate as failed. SQLite-native implementation - T4801 T4785 T4801 (cwd?: string) => Promise<string[]> - List all epic IDs that have lifecycle data. T4785 file index.ts file core-parity.test.ts { readonly WARNING: 70; readonly CAUTION: 85; readonly CRITICAL: 90; readonly EMERGENCY: 95; } - Context alert thresholds (percentage of context window). AlertLevel - Alert level names. (cwd?: string) => string | null - Get the current session ID. (sessionId?: string, cwd?: string) => string - Get context state file path for a session. (sessionId?: string, cwd?: string) => Record<string, unknown> | null - Read context state for a session. Returns null if stale or missing. (percentage: number) => AlertLevel | null - Determine the threshold level for a given percentage. (currentPct: number, lastAlertedPct?: number, minThreshold?: AlertLevel) => AlertLevel | null - Determine if we should alert based on threshold crossing. Returns the alert level if a new threshold was crossed, null otherwise. AlertCheckResult - Alert result from check_context_alert. (percentage: number) => string | null - Get recommended action for an alert level. (currentCommand?: string, cwd?: string) => AlertCheckResult - Main function to check and determine if an alert should fire. Non-blocking - always returns a result. file context-alert.ts (warning: Warning) => void - Push a deprecation or informational warning into the current envelope. Warnings are drained (consumed) by the next formatSuccess/formatError call. T4669 T4663 FormatOptions - Options for envelope formatting. T4668 T4670 T4663 <T>(data: T, message?: string, operationOrOpts?: string | FormatOptions) => string - Format a successful result as a full LAFS-conformant envelope. Always produces the full LAFSEnvelope with $schema and _meta. When operation is omitted, defaults to 'cli.output'. Supports optional page (T4668) and _extensions (T4670). T4672 T4668 T4670 T4663 (error: CleoError, operation?: string) => string - Format an error as a full LAFS-conformant envelope. Always produces the full LAFSEnvelope with $schema and _meta. When operation is omitted, defaults to 'cli.output'. T4672 T4663 <T>(result: T | CleoError) => string - Format any result (success or error) as LAFS JSON. file output.ts GatewayMetaRecord - GatewayMeta with an index signature for DomainResponse._meta compatibility. All domain handlers receive this from createGatewayMeta(). T4655 (gateway: string, domain: string, operation: string, startTime: number) => GatewayMetaRecord - Create a fully typed GatewayMeta for domain responses. file gateway-meta.ts file golden-parity.test.ts CleoRegistryEntry - Entry in the CLEO-to-LAFS error registry. T4671 T4663 (exitCode: ExitCode) => CleoRegistryEntry | undefined - Look up a registry entry by CLEO exit code. T4671 T4663 (lafsCode: string) => CleoRegistryEntry | undefined - Look up a registry entry by LAFS string code. T4671 T4663 () => CleoRegistryEntry[] - Get the full CLEO error registry for conformance testing. T4671 T4663 (lafsCode: string) => boolean - Check if a LAFS code is registered in the CLEO error registry. T4671 T4663 file error-registry.ts TestDbEnv - Result of creating a test database environment. () => Promise<TestDbEnv> - Create a temporary directory with an initialized tasks.db. Usage: (tasks: Array<Partial<Task> & { id: string; }>) => Task[] - Build full Task objects from a list of task partials. Useful for seeding test data via accessor.upsertSingleTask(). (accessor: DataAccessor, tasks: Array<Partial<Task> & { id: string; }>) => Promise<void> - Seed tasks into the test database via the accessor. Uses a two-pass approach to avoid foreign key violations: 1. First pass: upsert all tasks without dependencies so FK targets exist 2. Second pass: upsert tasks again with dependencies (all FK targets now exist) 3. Initialize metadata for the test environment file test-db-helper.ts (taskId: string, tasks: Task[]) => Task[] - Get direct children of a task. (taskId: string, tasks: Task[]) => string[] - Get direct child IDs. (taskId: string, tasks: Task[]) => Task[] - Get all descendants of a task (recursive). (taskId: string, tasks: Task[]) => string[] - Get all descendant IDs (flat list). (taskId: string, tasks: Task[]) => Task[] - Get the parent chain (ancestors) from a task up to the root. Returns ordered from immediate parent to root. (taskId: string, tasks: Task[]) => string[] - Get the parent chain as IDs. (taskId: string, tasks: Task[]) => number - Calculate depth of a task in the hierarchy (0-based). Root tasks have depth 0, their children depth 1, etc. (taskId: string, tasks: Task[]) => Task | null - Get the root ancestor of a task. (ancestorId: string, descendantId: string, tasks: Task[]) => boolean - Check if a task is an ancestor of another. (descendantId: string, ancestorId: string, tasks: Task[]) => boolean - Check if a task is a descendant of another. (taskId: string, tasks: Task[]) => Task[] - Get sibling tasks (same parent). HierarchyValidation - Validate that adding a child to a parent would not violate constraints. (parentId: string | null, tasks: Task[], policy?: { maxDepth?: number; maxSiblings?: number; }) => HierarchyValidation (taskId: string, newParentId: string, tasks: Task[]) => boolean - Detect circular reference if parentId were set. TaskTreeNode - Build a tree structure from flat task list. (tasks: Task[]) => TaskTreeNode[] (nodes: TaskTreeNode[]) => Task[] - Flatten a tree back to a list (depth-first). file hierarchy.ts HierarchyPolicy HierarchyValidationResult { readonly 'llm-agent-first': { readonly maxSiblings: 0; readonly maxActiveSiblings: 0; readonly maxDepth: 3; readonly countDoneInLimit: false; }; readonly 'human-cognitive': { readonly maxSiblings: 7; readonly maxActiveSiblings: 3; readonly maxDepth: 3; readonly countDoneInLimit: false; }; } (config: CleoConfig) => HierarchyPolicy - Resolve a full HierarchyPolicy from config, starting with a profile preset and overriding with any explicitly set config.hierarchy fields. (parentId: string, tasks: Task[]) => HierarchyValidationResult | null - Assert that a parent task exists in the task list. Returns an error result if not found, null if OK. (taskId: string, newParentId: string, tasks: Task[]) => HierarchyValidationResult | null - Assert that re-parenting would not create a cycle. Returns an error result if a cycle is detected, null if OK. (parentId: string, tasks: Task[]) => number - Count active (non-done, non-cancelled, non-archived) children of a parent. (parentId: string | null, tasks: Task[], policy: HierarchyPolicy) => HierarchyValidationResult - Validate whether a new task can be placed under the given parent according to the resolved hierarchy policy. file hierarchy-policy.ts (response: Record<string, unknown>, budget?: number) => { response: Record<string, unknown>; enforcement: BudgetEnforcementResult; } - Apply budget enforcement to a dispatch response envelope. Converts the DomainResponse into an LAFSEnvelope shape for budget checking, then applies truncation if the response exceeds the budget. (response: Record<string, unknown>, budget?: number) => boolean - Quick check whether a response exceeds a token budget without modifying it. T4701 T4663 file budget.ts (cwd?: string) => Promise<CleoConfig> - Load and merge configuration from all sources. Priority: defaults global config project config environment vars <T>(path: string, cwd?: string) => Promise<ResolvedValue<T>> - Get a single config value with source tracking. Returns the value and which source it came from. (key: string, cwd?: string) => Promise<unknown> - Get a raw config value from the project config file only (no cascade). Returns undefined if the key is not found. Used by the engine layer for simple key lookups without source tracking. T4789 (cwd?: string) => Promise<Record<string, unknown> | null> - Get the full raw project config (no cascade). Returns null if no config file exists. T4789 (value: unknown) => unknown - Parse a string value into its appropriate JS type. Handles booleans, null, integers, floats, and JSON. T4789 (key: string, value: unknown, cwd?: string, opts?: { global?: boolean; }) => Promise<{ key: string; value: unknown; scope: "project" | "global"; }> - Set a config value in the project or global config file (dot-notation supported). Creates intermediate objects as needed. Parses string values into appropriate types (boolean, number, null, JSON). T4789 T4795 StrictnessPreset - Valid preset names. PresetDefinition - A preset definition: the config keys it sets and a human description. Record<StrictnessPreset, PresetDefinition> - All three strictness presets. strict — block on missing AC, require sessions, enforce lifecycle pipeline standard — warn on missing AC, optional sessions, advisory pipeline minimal — no AC checking, no session requirement, lifecycle off ApplyPresetResult - Result of applying a preset. (preset: StrictnessPreset, cwd?: string, opts?: { global?: boolean; }) => Promise<ApplyPresetResult> - Apply a strictness preset to the project (or global) config. Merges preset values over existing config — keys not covered by the preset are preserved unchanged. Idempotent: applying the same preset twice yields the same config. T067 () => Array<{ name: StrictnessPreset; description: string; values: Record<string, unknown>; }> - List all available presets with their descriptions and values. Used by the CLI help output. T067 file config.ts (err: unknown) => boolean - Return true when the error is the "no such table: brain_*" SQLite error thrown before brain.db has been migrated. Hook handlers use this to swallow migration-lag errors without hiding genuine failures: if the error is NOT a missing-schema error it is re-thrown so it propagates normally. (projectRoot: string) => Promise<boolean> - Return true when `brain.autoCapture` is enabled for the given project. Resolution order (first truthy wins): 1. `brain.autoCapture` project config value (via `loadConfig` cascade) Defaults to `false` when the config is unreadable or the key is absent, so handlers are safely disabled in environments where brain.db is not set up. file handler-helpers.ts SessionRecord - Session object (engine-compatible). TaskWorkStateExt - Task work state from the task store. Extends the strict contracts `TaskWorkState` with required-null fields for session engine compatibility. The engine layer always expects these fields to be present (even if null), whereas the contracts type marks them as optional. DecisionRecord - Decision record stored in decisions.jsonl. AssumptionRecord - Assumption record stored in assumptions.jsonl. file types.ts RecordDecisionParams DecisionLogParams (projectRoot: string, params: RecordDecisionParams) => Promise<DecisionRecord> - Record a decision to the audit trail. Appends a JSON line to `.cleo/audit/decisions.jsonl`. Throws if required params are missing. (projectRoot: string, params?: DecisionLogParams) => Promise<DecisionRecord[]> - Read the decision log, optionally filtered by sessionId and/or taskId. file decisions.ts HandoffData - Handoff data schema - structured state for session transition. ComputeHandoffOptions - Options for computing handoff data. (projectRoot: string, options: ComputeHandoffOptions) => Promise<HandoffData> - Compute handoff data for a session. Gathers all session statistics and auto-computes structured state. (projectRoot: string, sessionId: string, handoff: HandoffData) => Promise<void> - Persist handoff data to a session. (projectRoot: string, sessionId: string) => Promise<HandoffData | null> - Get handoff data for a session. (projectRoot: string, scope?: { type: string; epicId?: string; rootTaskId?: string; }) => Promise<{ sessionId: string; handoff: HandoffData; } | null> - Get handoff data for the most recent ended session. Filters by scope if provided. GitState - Git state snapshot captured at session end. DebriefDecision - Decision summary for debrief output. DebriefData - Rich debrief data — superset of HandoffData. Captures comprehensive session state for cross-conversation continuity. T4959 ComputeDebriefOptions - Options for computing debrief data. (projectRoot: string, options: ComputeDebriefOptions) => Promise<DebriefData> - Compute rich debrief data for a session. Builds on computeHandoff() and adds decisions, git state, chain position. T4959 file handoff.ts typeof BrainDataAccessor (cwd?: string) => Promise<BrainDataAccessor> - Factory: get a BrainDataAccessor backed by the brain.db singleton. file brain-accessor.ts <T>(stmt: StatementSync, ...params: SQLInputValue[]) => T[] - Type-safe wrapper for `StatementSync.all` — centralizes the `as unknown as` cast required by node:sqlite's untyped return type. <T>(stmt: StatementSync, ...params: SQLInputValue[]) => T | undefined - Type-safe wrapper for `StatementSync.get` — centralizes the `as unknown as` cast required by node:sqlite's untyped return type. file typed-query.ts BrainFtsRow - Row returned by FTS content_hash duplicate check (brain-retrieval.ts observeBrain). BrainNarrativeRow - Row returned by narrative backfill query (brain-retrieval.ts populateEmbeddings). BrainSearchHit - Flattened FTS hit used in hybrid search scoring (brain-search.ts hybridSearch). BrainKnnRow - Row returned by KNN vector similarity query (brain-similarity.ts searchSimilar). BrainDecisionNode - Decision node attached to a blocker in causal traces (brain-reasoning.ts reasonWhy). BrainAnchor - Anchor entry in a timeline result (brain-retrieval.ts timelineBrain). BrainTimelineNeighborRow - Row returned by timeline UNION ALL neighbor queries (brain-retrieval.ts timelineBrain). Represents an entry from any of the four brain tables projected to a common id, type, date shape for chronological ordering. BrainConsolidationObservationRow - Row returned by the consolidation observation query (brain-lifecycle.ts consolidateMemories). Fetches old observations for keyword-based clustering and archival. Uses snake_case column names matching the raw SQLite row shape. BrainIdCheckRow - Row returned by ID existence check queries (claude-mem-migration.ts). Used by `SELECT id FROM brain_observations WHERE id = ?` and similar single-column lookups for idempotent migration dedup. file brain-row-types.ts typeof LocalEmbeddingProvider - Local embedding provider backed by xenova/transformers. Produces 384-dimension Float32Array vectors compatible with the brain_embeddings vec0 table. The model is downloaded on first use and cached locally by the transformers library. Use `initDefaultProvider` (in brain-embedding.ts) to register an instance when brain.embedding.enabled=true and brain.embedding.provider='local'. () => LocalEmbeddingProvider - Get or create the shared LocalEmbeddingProvider singleton. file embedding-local.ts EmbeddingProvider - Contract for embedding providers (local models, API services, etc.). 384 - Matches the brain_embeddings vec0 table: FLOAT[384]. (provider: EmbeddingProvider) => void - Register an embedding provider for the brain system. Validates that the provider's dimensions match the vec0 table. () => EmbeddingProvider | null - Get the currently registered embedding provider, or null. () => void - Clear the current embedding provider (useful for testing). (text: string) => Promise<Float32Array | null> - Embed text into a float vector using the registered provider. Returns null when no provider is set or not available (FTS5-only fallback). () => boolean - Check whether embedding is currently available. () => Promise<void> - Initialize the default local embedding provider. Loads the LocalEmbeddingProvider dynamically and registers it via setEmbeddingProvider(). Should be called once at startup when `brain.embedding.enabled` is true. Uses dynamic import to avoid loading the heavy xenova/transformers bundle unless embedding is actually requested. T136 T134 file brain-embedding.ts SimilarityResult (query: string, projectRoot: string, limit?: number) => Promise<SimilarityResult[]> - Search for entries similar to a query string using vector similarity. 1. Embeds the query text via the registered embedding provider. 2. Runs KNN query against brain_embeddings vec0 table. 3. Joins with observation/decision/pattern/learning tables for full entries. Returns empty array when embedding is unavailable (graceful fallback). file brain-similarity.ts BrainSearchResult - Search result with BM25 rank. BrainSearchOptions - Search options. (nativeDb: DatabaseSync) => boolean - Create FTS5 virtual tables and content-sync triggers if they don't exist. Uses content= to sync from main tables, so inserts to main tables auto-populate FTS. UPDATE/DELETE require triggers. T5130 (nativeDb: DatabaseSync) => void - Rebuild FTS5 indexes from the content tables. Useful after bulk inserts that bypass triggers. T5130 (projectRoot: string, query: string, options?: BrainSearchOptions) => Promise<BrainSearchResult> - Unified search across all BRAIN memory tables. Uses FTS5 MATCH for full-text search with BM25 ranking when available, falls back to LIKE queries otherwise. T5130 () => void - Reset the cached FTS5 availability flag. Used in tests to force re-detection. HybridResult - Result from hybridSearch combining multiple search signals. HybridSearchOptions - Options for hybridSearch weighting and limits. (query: string, projectRoot: string, options?: HybridSearchOptions) => Promise<HybridResult[]> - Hybrid search across FTS5, vector similarity, and graph neighbors. 1. Runs FTS5 search via existing searchBrain. 2. Runs vector similarity via searchSimilar (if available). 3. Runs graph neighbor expansion via getNeighbors (if query matches a node). 4. Normalizes scores to 0-1 using min-max normalization. 5. Combines with configurable weights. 6. Deduplicates by ID, keeping highest combined score. 7. Returns top-N sorted by score descending. Graceful fallback: if vec unavailable, redistributes weight to FTS5. file brain-search.ts MemoryBridgeConfig - Configuration for memory bridge content generation. (projectRoot: string, config?: Partial<MemoryBridgeConfig>) => Promise<string> - Generate memory bridge content from brain.db. Returns the markdown string (does not write to disk). (projectRoot: string, config?: Partial<MemoryBridgeConfig>) => Promise<{ path: string; written: boolean; }> - Write memory bridge content to .cleo/memory-bridge.md. (projectRoot: string, scope?: string, currentTaskId?: string) => Promise<void> - Best-effort refresh: call from session.end, tasks.complete, or memory.observe. Never throws. (projectRoot: string, scope: string, currentTaskId?: string) => Promise<void> - Generate context-aware memory bridge content and write to disk. When `brain.memoryBridge.contextAware` is true and a scope is available, uses hybridSearch() to surface memories relevant to the current scope, then enforces the `brain.memoryBridge.maxTokens` budget. Falls back to standard generation if hybrid search is unavailable. Never throws. file memory-bridge.ts (projectRoot: string) => Promise<void> - Refresh the memory bridge if autoRefresh is enabled and the debounce window has elapsed. Reads config via loadConfig() (cascaded). Never throws. file memory-bridge-refresh.ts BrainCompactHit - Compact search hit — minimal fields for index-level results. SearchBrainCompactParams - Parameters for searchBrainCompact. SearchBrainCompactResult - Result from searchBrainCompact. TimelineBrainParams - Parameters for timelineBrain. TimelineNeighbor - Timeline entry — compact id/type/date tuple. TimelineBrainResult - Result from timelineBrain. FetchBrainEntriesParams - Parameters for fetchBrainEntries. FetchedBrainEntry - Fetched entry with full data. FetchBrainEntriesResult - Result from fetchBrainEntries. "discovery" | "change" | "feature" | "bugfix" | "decision" | "refactor" - Observation type from schema. "agent" | "manual" | "session-debrief" | "claude-mem" - Observation source type from schema. ObserveBrainParams - Parameters for observeBrain. ObserveBrainResult - Result from observeBrain. (projectRoot: string, params: SearchBrainCompactParams) => Promise<SearchBrainCompactResult> - Token-efficient compact search across BRAIN tables. Returns index-level hits (~50 tokens per result). Delegates to searchBrain() from brain-search.ts for FTS5/LIKE search, then projects results to a compact format with optional date filtering. (projectRoot: string, params: TimelineBrainParams) => Promise<TimelineBrainResult> - Get chronological context around an anchor entry. Fetches the anchor's full data, then queries all 4 BRAIN tables via UNION ALL to find chronological neighbors. (projectRoot: string, params: FetchBrainEntriesParams) => Promise<FetchBrainEntriesResult> - Batch-fetch full details by IDs. Groups IDs by prefix to query the correct tables via BrainDataAccessor. (projectRoot: string, params: ObserveBrainParams) => Promise<ObserveBrainResult> - Save an observation to the BRAIN observations table. Replaces the external claude-mem save_observation pattern. Auto-classifies type from text if not provided. Generates a unique ID with O- prefix + base36 timestamp. PopulateEmbeddingsResult - Result from populateEmbeddings backfill. PopulateEmbeddingsOptions - Options for the embedding backfill pipeline. (projectRoot: string, options?: PopulateEmbeddingsOptions) => Promise<PopulateEmbeddingsResult> - Backfill embeddings for existing observations that lack them. Iterates through observations not yet in brain_embeddings and generates vectors using the registered embedding provider. Processes in batches to avoid memory pressure. An optional `PopulateEmbeddingsOptions.onProgress` callback is called after each observation is attempted, enabling callers to report progress. file brain-retrieval.ts AuditEntry - Audit entry interface. Used by session-grade and system-engine for behavioral analysis. (options?: { sessionId?: string; domain?: string; operation?: string; taskId?: string; since?: string; limit?: number; }) => Promise<AuditEntry[]> - Query audit entries from SQLite audit_log table. Used by session-grade.ts for behavioral analysis. Returns entries ordered chronologically (ASC) to preserve behavioral sequence for grading analysis. file audit.ts StoreLearningParams - Parameters for storing a new learning. SearchLearningParams - Parameters for searching learnings. (projectRoot: string, params: StoreLearningParams) => Promise<{ applicableTypes: any; actionable: boolean; id: string; createdAt: string; updatedAt: string | null; source: string; confidence: number; insight: string; application: string | null; applicableTypesJson: string | null; }> - Store a new learning. T4769, T5241 (projectRoot: string, params?: SearchLearningParams) => Promise<{ applicableTypes: any; actionable: boolean; id: string; createdAt: string; updatedAt: string | null; source: string; confidence: number; insight: string; application: string | null; applicableTypesJson: string | null; }[]> - Search learnings by criteria. Results sorted by confidence (highest first). T4769, T5241 (projectRoot: string) => Promise<{ total: number; actionable: number; averageConfidence: number; bySource: Record<string, number>; highConfidence: number; lowConfidence: number; }> - Get learning statistics. T4769, T5241 file learnings.ts DimensionScore GradeResult (sessionId: string, cwd?: string) => Promise<GradeResult> - Grade a session by sessionId using the 5-dimension behavioral rubric. (sessionId?: string, cwd?: string) => Promise<GradeResult[]> - Read past grade results from .cleo/metrics/GRADES.jsonl file session-grade.ts (adapter: unknown) => adapter is CLEOProviderAdapter - Validate that a loaded module export implements the CLEOProviderAdapter interface. Checks for required methods and properties without relying on instanceof. (manifest: AdapterManifest) => Promise<CLEOProviderAdapter> - Dynamically load and instantiate an adapter from its manifest. Uses the manifest's packagePath to resolve the adapter module, then looks for a `createAdapter()` factory or a default export class. file adapter-registry.ts (projectRoot: string) => AdapterManifest[] - Scan the packages/adapters/ directory for adapter packages. Each adapter must have a manifest.json at its root. (patterns: DetectionPattern[]) => boolean - Detect whether a provider is active in the current environment by checking its detection patterns. file discovery.ts AdapterInfo - Summary info for an adapter without exposing the full instance. typeof AdapterManager - Central adapter manager. Singleton per process. Lifecycle: 1. discover() — scan for adapter packages and their manifests 2. activate(id) — load, initialize, and set as active adapter 3. getActive() — return the current active adapter 4. dispose() — clean up all initialized adapters file manager.ts file index.ts SessionBridgeData - Session data needed to create a memory bridge observation. (projectRoot: string, sessionData: SessionBridgeData) => Promise<void> - Bridge session end data to brain.db as an observation. Builds a summary text from the session metadata and saves it as a 'change' observation with source_type 'agent'. file session-memory-bridge.ts StoreDecisionParams - Parameters for storing a new decision. SearchDecisionParams - Parameters for searching decisions. ListDecisionParams - Parameters for listing decisions. (projectRoot: string, params: StoreDecisionParams) => Promise<BrainDecisionRow> - Store a new decision or update an existing one if a duplicate is found. Duplicate detection: same decision text (case-insensitive). T5155 (projectRoot: string, id: string) => Promise<BrainDecisionRow | null> - Recall a specific decision by ID. T5155 (projectRoot: string, params?: SearchDecisionParams) => Promise<BrainDecisionRow[]> - Search decisions by type, confidence, outcome, and/or free-text query. Query searches across decision + rationale fields using LIKE. T5155 (projectRoot: string, params?: ListDecisionParams) => Promise<{ decisions: BrainDecisionRow[]; total: number; }> - List decisions with pagination. T5155 (projectRoot: string, id: string, outcome: BrainDecisionRow["outcome"]) => Promise<BrainDecisionRow> - Update the outcome of a decision after learning from results. T5155 file decisions.ts PatternType - Pattern types from ADR-009. PatternImpact - Impact level. StorePatternParams - Parameters for storing a new pattern. SearchPatternParams - Parameters for searching patterns. (projectRoot: string, params: StorePatternParams) => Promise<{ examples: any; context: string; id: string; updatedAt: string | null; type: "workflow" | "success" | "failure" | "blocker" | "optimization"; pattern: string; frequency: number; successRate: number | null; impact: "high" | "medium" | "low" | null; antiPattern: string | null; mitigation: string | null; examplesJson: string | null; extractedAt: string; }> - Store a new pattern. If a similar pattern already exists (same type + matching text), increments frequency. T4768, T5241 (projectRoot: string, params?: SearchPatternParams) => Promise<{ examples: any; context: string; id: string; updatedAt: string | null; type: "workflow" | "success" | "failure" | "blocker" | "optimization"; pattern: string; frequency: number; successRate: number | null; impact: "high" | "medium" | "low" | null; antiPattern: string | null; mitigation: string | null; examplesJson: string | null; extractedAt: string; }[]> - Search patterns by criteria. T4768, T5241 (projectRoot: string) => Promise<{ total: number; byType: Record<string, number>; byImpact: Record<string, number>; highestFrequency: { pattern: string; frequency: number; } | null; }> - Get pattern statistics. T4768, T5241 file patterns.ts (projectRoot: string, task: Task, _parentTask?: Task) => Promise<void> - Extract and store memory entries when a task is completed. - Always stores a learning for the completed task. - Stores a second learning if the task had dependencies. - Detects recurring label patterns across recent completed tasks and stores a success pattern when any label appears 3+ times. (projectRoot: string, sessionData: SessionBridgeData, taskDetails: Task[]) => Promise<void> - Extract and store memory entries when a session ends. - Stores a process decision summarising the session. - Stores a per-task learning for each completed task. - Stores a workflow pattern when 2+ completed tasks share a label. (projectRoot: string, taskIds: string[]) => Promise<Task[]> - Resolve an array of task IDs to their full Task objects. Tasks that cannot be found are silently excluded. (projectRoot: string, sessionId: string, transcript: string) => Promise<void> - Extract key observations from a provider session transcript and store them in brain.db as learnings. Filters assistant lines that contain action words, stores up to 5 as learnings with 0.6 confidence. Always best-effort — never throws. file auto-extract.ts (projectRoot: string, payload: SessionStartPayload) => Promise<void> - Handle SessionStart - capture initial session context T138: Refresh memory bridge on session start. T139: Regenerate bridge with session scope context. (projectRoot: string, payload: SessionEndPayload) => Promise<void> - Handle SessionEnd - capture session summary T138: Refresh memory bridge after session ends. T144: Extract transcript observations via cross-provider adapter. file session-hooks.ts (projectRoot: string, payload: PreToolUsePayload) => Promise<void> - Handle PreToolUse (maps to task.start in CLEO, canonical: was onToolStart) (projectRoot: string, payload: PostToolUsePayload) => Promise<void> - Handle PostToolUse (maps to task.complete in CLEO, canonical: was onToolComplete) T138: Refresh memory bridge after task completion. file task-hooks.ts (projectRoot: string, payload: PostToolUseFailurePayload) => Promise<void> - Handle PostToolUseFailure — capture operation errors to BRAIN. Includes an infinite-loop guard: if the payload carries a `_fromHook` metadata marker the handler skips immediately to prevent the cycle `PostToolUseFailure → observeBrain → PostToolUseFailure`. All `observeBrain` errors are also silently suppressed for the same reason. Never throws. All brain-write errors are swallowed so error hooks never block the original error path. file error-hooks.ts (projectRoot: string, payload: NotificationPayload) => Promise<void> - Handle Notification (file-change variant) - capture file changes to BRAIN Gated behind brain.captureFiles config or CLEO_BRAIN_CAPTURE_FILES env var. Env var takes precedence over config for backward compatibility. Deduplicates rapid writes to the same file within a 5-second window. Filters out .cleo/ internal files and test temp directories. Converts absolute paths to project-relative paths. file file-hooks.ts (projectRoot: string, payload: NotificationPayload) => Promise<void> - Handle Notification — capture system notifications as BRAIN observations. Only fires for Notification payloads that carry a message field (i.e. system notifications). File-change notifications (filePath + changeType) are handled exclusively by file-hooks.ts and are skipped here to avoid double-capture. Gated behind brain.autoCapture config. Never throws. file notification-hooks.ts (projectRoot: string, payload: PromptSubmitPayload) => Promise<void> - Handle PromptSubmit — log incoming mutation intents to BRAIN. Only fires for mutate operations in CAPTURE_OPERATIONS. Gated behind brain.captureWork config (or CLEO_BRAIN_CAPTURE_WORK env). (projectRoot: string, payload: ResponseCompletePayload) => Promise<void> - Handle ResponseComplete — capture completed mutations to BRAIN. Only fires for successful mutate operations in CAPTURE_OPERATIONS. Failures are skipped — the intent was already captured by handleWorkPromptSubmit. Gated behind brain.captureWork config (or CLEO_BRAIN_CAPTURE_WORK env). file work-capture-hooks.ts (projectRoot: string, payload: SubagentStartPayload) => Promise<void> - Handle SubagentStart — log subagent spawn as a BRAIN observation. Records the agent ID, role, and task assignment so orchestrators can trace which agents were active in a given session. Gated behind brain.autoCapture config. Never throws. (projectRoot: string, payload: SubagentStopPayload) => Promise<void> - Handle SubagentStop — log subagent completion result as a BRAIN observation. Records the agent ID, completion status, assigned task, and optional summary reference so orchestrators can audit subagent outcomes. Gated behind brain.autoCapture config. Never throws. file agent-hooks.ts (projectRoot: string, payload: PreCompactPayload) => Promise<void> - Handle PreCompact — snapshot current session memory context to BRAIN. Fires immediately before context compaction begins. Records the token count and compaction reason so the brain retains context about what was in scope before compaction. Gated behind brain.autoCapture config. Never throws. (projectRoot: string, payload: PostCompactPayload) => Promise<void> - Handle PostCompact — record compaction completion to BRAIN. Fires immediately after context compaction completes. Records the before/after token counts so agents can correlate observations made before compaction with those made after. Gated behind brain.autoCapture config. Never throws. file context-hooks.ts file index.ts RecordAssumptionParams (projectRoot: string, params: RecordAssumptionParams) => Promise<Omit<AssumptionRecord, "validatedAt"> & { timestamp: string; }> - Record an assumption made during a session. Appends to .cleo/audit/assumptions.jsonl (creates dir if needed). Throws if required params are missing or invalid. file assumptions.ts BulkLinkEntry - A link to be created in bulk. (projectRoot: string, memoryType: MemoryType, memoryId: string, taskId: string, linkType: LinkType) => Promise<BrainMemoryLinkRow> - Link a memory entry to a task. T5156 (projectRoot: string, memoryType: MemoryType, memoryId: string, taskId: string, linkType: LinkType) => Promise<void> - Remove a link between a memory entry and a task. T5156 (projectRoot: string, taskId: string) => Promise<BrainMemoryLinkRow[]> - Get all memory entries linked to a specific task. T5156 (projectRoot: string, memoryType: MemoryType, memoryId: string) => Promise<BrainMemoryLinkRow[]> - Get all tasks linked to a specific memory entry. T5156 (projectRoot: string, links: BulkLinkEntry[]) => Promise<{ created: number; skipped: number; }> - Batch create multiple links at once. T5156 (projectRoot: string, taskId: string) => Promise<BrainDecisionRow[]> - Get all decisions linked to a task. Convenience method that fetches full decision rows. T5156 (projectRoot: string, taskId: string) => Promise<BrainPatternRow[]> - Get all patterns linked to a task. Convenience method that fetches full pattern rows. T5156 (projectRoot: string, taskId: string) => Promise<BrainLearningRow[]> - Get all learnings linked to a task. Convenience method that fetches full learning rows. T5156 file brain-links.ts SessionMemoryResult - Result of persisting session memory to brain.db. MemoryItem - A memory item to be persisted to brain.db. SessionMemoryContext - Memory context returned for session start/resume enrichment. (sessionId: string, debrief: DebriefData | null | undefined) => MemoryItem[] - Extract memory-worthy items from debrief data. Pure function -- no side effects. Items extracted: - Decisions (from debrief.decisions[]) - observations with type='decision' - Tasks completed summary - observation with type='change' - Session-level note (if present) - observation with type='discovery' (projectRoot: string, sessionId: string, debrief: DebriefData | null | undefined) => Promise<SessionMemoryResult> - Main entry point -- called from session.end handler. Extracts memory-worthy content from debrief data and persists to brain.db. ALL errors are caught and accumulated in result.errors -- never throws. (sessionId: string, debrief: DebriefData | null | undefined) => string | null - Build a summarization prompt from debrief data. Returns a formatted prompt string that guides an LLM to produce a structured session summary (key learnings, decisions, patterns, next actions). The result can be passed to an LLM or stored directly as a `memoryPrompt` in the session end result. Returns null when debrief contains no meaningful content to summarize. (projectRoot: string, sessionId: string, summary: import("@cleocode/contracts").SessionSummaryInput) => Promise<void> - Ingest a structured session summary directly into brain.db. Stores each field as a typed brain observation. Best-effort — never throws. (projectRoot: string, scope?: { type: string; epicId?: string; rootTaskId?: string; }, options?: { limit?: number; includeDecisions?: boolean; includePatterns?: boolean; }) => Promise<SessionMemoryContext> - Retrieve session memory for a given scope. Used by briefing/handoff to enrich response with brain context. file session-memory.ts (depends: string[] | undefined, taskLookup: ReadonlyMap<string, { status?: string; } | unknown>) => boolean - Check if all dependencies of a task are satisfied. file deps-ready.ts Pipeline - Pipeline entity representing a task's lifecycle state. T4800 T4799 - Unified pipeline structure replaces scattered manifests PipelineStageRecord - Pipeline stage record linking pipeline to individual stages. T4800 T4801 - Requires pipeline_stages table PipelineTransition - Pipeline transition record for audit trail. T4800 T4801 - Requires pipeline_transitions table InitializePipelineOptions - Options for initializing a pipeline. T4800 AdvanceStageOptions - Options for advancing pipeline stage. T4800 PipelineQueryOptions - Pipeline query options. T4800 (taskId: string, options?: InitializePipelineOptions) => Promise<Pipeline> - Initialize a new pipeline for a task. Creates a new pipeline record in the database with all 9 stages initialized to 'not_started' status. The pipeline starts at the research stage by default. (taskId: string) => Promise<Pipeline | null> - Retrieve a pipeline by task ID. Returns the complete pipeline state including current stage and status. Returns null if no pipeline exists for the given task ID. (taskId: string, options: AdvanceStageOptions) => Promise<void> - Advance a pipeline to the next stage. Performs atomic stage transition with prerequisite checking and audit logging. Validates the transition is allowed, updates stage statuses, and records the transition in the audit trail. (taskId: string) => Promise<Stage> - Get the current stage of a pipeline. Convenience method to quickly check which stage a task is currently in. (options?: PipelineQueryOptions) => Promise<Pipeline[]> - List pipelines with optional filtering. (taskId: string, reason?: string) => Promise<void> - Complete a pipeline (mark all stages done). Marks the pipeline as completed and sets the completion timestamp. Only valid when the pipeline is in the 'release' stage. (taskId: string, reason: string) => Promise<void> - Cancel a pipeline before completion. Marks the pipeline as cancelled (user-initiated). Once cancelled, the pipeline cannot be resumed (a new one must be created). Use this for deliberate user decisions to abandon a pipeline. System-forced terminations should use the 'aborted' status directly. (taskId: string) => Promise<boolean> - Check if a pipeline exists for a task. () => Promise<{ total: number; byStatus: Record<PipelineStatus, number>; byStage: Partial<Record<Stage, number>>; }> - Get pipeline statistics. Returns aggregate counts of pipelines by status and stage. (taskId: string) => Promise<PipelineStageRecord[]> - Get all stages for a pipeline. file pipeline.ts BriefingTask - Task summary for briefing output. BriefingBug - Bug summary for briefing output. BriefingBlockedTask - Blocked task summary for briefing output. BriefingEpic - Active epic summary for briefing output. PipelineStageInfo - Pipeline stage data for briefing output. LastSessionInfo - Last session info with handoff data. CurrentTaskInfo - Currently active task info. SessionBriefing - Session briefing result. BriefingOptions - Options for computing session briefing. (projectRoot: string, options?: BriefingOptions) => Promise<SessionBriefing> - Compute the complete session briefing. Aggregates data from all 6+ sources. file briefing.ts MinimalSessionRecord - Minimal session record returned by findSessions(). FindSessionsParams - Parameters for findSessions(). (accessor: DataAccessor, params?: FindSessionsParams) => Promise<MinimalSessionRecord[]> - Find sessions with minimal field projection. Loads all sessions, applies filters, then projects to minimal fields. This is cheaper for agents that only need discovery-level data. file find.ts (projectRoot: string, olderThan?: string) => Promise<{ archived: string[]; count: number; }> - Archive old/ended sessions. Identifies ended and suspended sessions older than the threshold. With SQLite, all sessions live in a single table — "archiving" marks them as identified for potential cleanup rather than moving between arrays. file session-archive.ts (projectRoot: string) => Promise<{ removed: string[]; autoEnded: string[]; cleaned: boolean; }> - Remove orphaned sessions, auto-end stale active sessions, and clean up stale data. Stale active sessions (no activity beyond the configured threshold) are transitioned to 'ended' with an auto-end note. The threshold is read from `retention.autoEndActiveAfterDays` in the project config (default: 7 days). T2304 file session-cleanup.ts ContextDriftResult (projectRoot: string, params?: { sessionId?: string; }) => Promise<ContextDriftResult> - Compute context drift score for the current session. Compares session progress against original scope by counting completed vs total tasks in scope, and detecting out-of-scope work. file session-drift.ts SessionHistoryEntry SessionHistoryParams (projectRoot: string, params?: SessionHistoryParams) => Promise<{ sessions: SessionHistoryEntry[]; }> - List session history with focus changes and completed tasks. If sessionId is provided, returns history for that specific session. Otherwise, returns history across all sessions. file session-history.ts (projectRoot: string, sessionId: string) => Promise<Session> - Show a specific session. Looks in active sessions first, then session history. Throws CleoError if not found. file session-show.ts SessionStatsResult (projectRoot: string, sessionId?: string) => Promise<SessionStatsResult> - Compute session statistics, optionally for a specific session. Throws CleoError if a specific session is requested but not found. file session-stats.ts (projectRoot: string, sessionId: string, reason?: string) => Promise<Session> - Suspend an active session. Sets status to 'suspended' and records the reason. Throws if session not found or not active. file session-suspend.ts (projectRoot: string, sessionId: string) => Promise<Session> - Switch to a different session. Suspends the current active session and activates the target. Throws if session not found or archived. file session-switch.ts typeof SessionView file session-view.ts RuntimeProviderContext RuntimeProviderSnapshot (detections: DetectionResult[], snapshot?: RuntimeProviderSnapshot) => RuntimeProviderContext (snapshot?: RuntimeProviderSnapshot) => RuntimeProviderContext () => void file provider-detection.ts StartSessionOptions - Options for starting a session. EndSessionOptions - Options for ending a session. ListSessionsOptions - Options for listing sessions. (scopeStr: string) => SessionScope - Parse a scope string into a SessionScope. T4463 (cwd?: string, accessor?: DataAccessor) => Promise<Session[]> - Read sessions from accessor or JSON file. T4463 (sessions: Session[], cwd?: string, accessor?: DataAccessor) => Promise<void> - Save sessions via accessor or JSON file. T4463 (options: StartSessionOptions, cwd?: string, accessor?: DataAccessor) => Promise<Session> - Start a new session. T4463 (options?: EndSessionOptions, cwd?: string, accessor?: DataAccessor) => Promise<Session> - End a session. T4463 (cwd?: string, accessor?: DataAccessor) => Promise<Session | null> - Get current session status. T4463 (sessionId: string, cwd?: string, accessor?: DataAccessor) => Promise<Session> - Resume an existing session. T4463 (options?: ListSessionsOptions, cwd?: string, accessor?: DataAccessor) => Promise<Session[]> - List sessions with optional filtering. T4463 (maxAgeHours?: number, cwd?: string, accessor?: DataAccessor) => Promise<{ orphaned: string[]; removed: string[]; }> - Garbage collect old sessions. Marks orphaned sessions that have been active too long. T4463 file index.ts EnforcementMode - Enforcement modes. (cwd?: string) => EnforcementMode - Get the current enforcement mode. (cwd?: string) => boolean - Check if session enforcement is enabled. ActiveSessionInfo - Session info for enforcement checks. (cwd?: string) => Promise<ActiveSessionInfo | null> - Get active session info. Returns null if no active session. EnforcementResult - Enforcement result. (operation: string, cwd?: string) => Promise<EnforcementResult> - Require an active session for write operations. In strict mode, throws if no session is active. In warn mode, returns a warning but allows the operation. In none mode, always allows. (taskId: string, taskEpicId?: string, cwd?: string) => Promise<{ inScope: boolean; warning?: string; }> - Validate that a task is within the current session's scope. Only enforced when a session is active. file session-enforcement.ts ValidationResult AddTaskEnforcementOptions UpdateTaskEnforcementOptions AcceptanceEnforcement (cwd?: string) => Promise<AcceptanceEnforcement> file enforcement.ts ResolvedParent - Minimal parent task shape needed for pipeline stage resolution. T060 readonly ["research", "consensus", "architecture_decision", "specification", "decomposition", "implementation", "validation", "testing", "release", "contribution"] - Ordered pipeline stages (RCASD-IVTR+C). This matches lifecycle/stages.ts PIPELINE_STAGES but is kept local to avoid a circular dependency — tasks/ must not import from lifecycle/. T060 "research" | "consensus" | "architecture_decision" | "specification" | "decomposition" | "implementation" | "validation" | "testing" | "release" | "contribution" - Union type of all valid pipeline stage names. (stage: string) => stage is TaskPipelineStage - Check whether a string is a valid pipeline stage name. (stage: string) => asserts stage is TaskPipelineStage - Validate a pipeline stage name and throw a CleoError on failure. (options: { explicitStage?: string | null; taskType?: TaskType | null; parentTask?: ResolvedParent | null; }) => TaskPipelineStage - Determine the default pipeline stage for a new task. Rules (in priority order): 1. If an explicit stage is provided and valid, use it. 2. If the task has a parent, inherit the parent's pipelineStage. 3. If the task type is 'epic', default to 'research'. 4. Otherwise default to 'implementation'. (stage: string) => number - Get the numeric order of a pipeline stage (1-based). (currentStage: string, newStage: string) => boolean - Check whether transitioning from `currentStage` to `newStage` is forward-only. "Forward" means the new stage's order is greater than or equal to the current stage's order (same stage is a no-op and is considered valid). (currentStage: string | null | undefined, newStage: string) => void - Validate a pipeline stage transition and throw if it would move backward. file pipeline-stage.ts 5 - Minimum acceptance criteria count required for epic creation in strict mode. 3 - Minimum acceptance criteria count for regular tasks. LifecycleMode - The resolved enforcement mode (from lifecycle.mode config key). EpicEnforcementResult - Result of an enforcement check. `warning` is populated in advisory mode. (cwd?: string) => Promise<LifecycleMode> - Read `lifecycle.mode` from config. Falls back to "strict" when unset (matches the DEFAULTS in config.ts). (options: { acceptance?: string[]; description?: string; }, cwd?: string) => Promise<EpicEnforcementResult> - Validate that a new epic satisfies creation requirements. In **strict** mode: - At least `EPIC_MIN_AC` acceptance criteria must be provided. - `description` must be non-empty (treated as completion criteria). In **advisory** mode the same checks are run but violations do not block — they are returned as `warning` text for the caller to surface. In **off** mode this function is a no-op. (options: { childStage: string; epicId: string; }, accessor: DataAccessor, cwd?: string) => Promise<EpicEnforcementResult> - Validate that a child task's pipeline stage does not exceed its epic's stage. Call this when: - A child task is **created** under an epic parent. - A child task's `pipelineStage` is **updated** and it has an epic ancestor. The check walks the task's ancestor chain to find the nearest epic ancestor. If none exists, the check is skipped. (taskId: string, accessor: DataAccessor) => Promise<Task | null> - Find the nearest epic ancestor for a given task. Walks the ancestor chain (root-first) and returns the first task whose type is "epic", or null if no epic ancestor exists. (options: { epicId: string; currentStage: string; newStage: string; }, accessor: DataAccessor, cwd?: string) => Promise<EpicEnforcementResult> - Validate that an epic can advance its pipeline stage. An epic is **blocked** from advancing to a later stage when it has at least one child that: - Has a pipeline stage **equal to the epic's current stage**, AND - Has a status that is **not** "done" (i.e., is still in-flight). Rationale: the epic stage represents the stage the team is actively working in. Moving the epic forward while children are unfinished at the current stage violates the pipeline discipline. file epic-enforcement.ts AddTaskOptions - Options for creating a task. `description` is **required** per CLEO's anti-hallucination rules — every task must have both a title and a description, and they must differ. AddTaskResult - Result of adding a task. (initializedAt: string) => TaskVerification - Build the default verification metadata applied to every new task. Gates are initialized to false (not yet passed). `passed` starts false because no gates have been verified yet. T061 (title: string) => void - Validate a task title. T4460 (status: string) => asserts status is TaskStatus - Validate task status. T4460 readonly TaskPriority[] - Valid string priority values. (priority: string | number) => TaskPriority - Normalize priority to canonical string format. Accepts both string names ("critical","high","medium","low") and numeric (1-9). Returns the canonical string format per todo.schema.json. T4572 (priority: string) => asserts priority is TaskPriority - Validate task priority. T4460 T4572 (type: string) => asserts type is TaskType - Validate task type. T4460 (size: string) => asserts size is TaskSize - Validate task size. T4460 (labels: string[]) => void - Validate label format. T4460 (phase: string) => void - Validate phase slug format. T4460 (depends: string[], tasks: Task[]) => void - Validate dependency IDs exist. T4460 (parentId: string, tasks: Task[], maxDepth?: number, maxSiblings?: number) => void - Validate parent hierarchy constraints. T4460 (taskId: string, tasks: Task[]) => number - Get the depth of a task in the hierarchy. T4460 (parentId: string | null | undefined, tasks: Task[]) => TaskType - Infer task type from parent context. T4460 (parentId: string | null | undefined, tasks: Task[]) => number - Get the next position for a task within a parent scope. T4460 (operation: string, taskId: string, details: Record<string, unknown>, accessor?: import("../store/data-accessor.js").DataAccessor) => Promise<void> - Log an operation to the audit log. T4460 (title: string, phase: string | undefined, tasks: Task[], windowSeconds?: number) => Task | null - Check for recent duplicate task. T4460 (options: AddTaskOptions, cwd?: string, accessor?: DataAccessor) => Promise<AddTaskResult> - Add a new task to the todo file. T4460 file add.ts ListPhasesResult - Options for listing phases. SetPhaseOptions - Options for setting current phase. SetPhaseResult - Result of a phase set operation. ShowPhaseResult - Phase show result. AdvancePhaseResult - Phase advance result. RenamePhaseResult - Phase rename result. DeletePhaseResult - Phase delete result. (_cwd?: string, accessor?: DataAccessor) => Promise<ListPhasesResult> - List all phases with status summaries. T4464 (slug?: string, _cwd?: string, accessor?: DataAccessor) => Promise<ShowPhaseResult> - Show the current phase details. T4464 (options: SetPhaseOptions, _cwd?: string, accessor?: DataAccessor) => Promise<SetPhaseResult> - Set the current project phase. T4464 (slug: string, _cwd?: string, accessor?: DataAccessor) => Promise<{ phase: string; startedAt: string; }> - Start a phase (pending - active). T4464 (slug: string, _cwd?: string, accessor?: DataAccessor) => Promise<{ phase: string; completedAt: string; }> - Complete a phase (active - completed). T4464 (force?: boolean, _cwd?: string, accessor?: DataAccessor) => Promise<AdvancePhaseResult> - Advance to the next phase. T4464 (oldName: string, newName: string, _cwd?: string, accessor?: DataAccessor) => Promise<RenamePhaseResult> - Rename a phase and update all task references. T4464 (slug: string, options?: { reassignTo?: string; force?: boolean; }, _cwd?: string, accessor?: DataAccessor) => Promise<DeletePhaseResult> - Delete a phase with optional task reassignment. T4464 file index.ts file lafs-conformance.test.ts ShimOption - Parsed option definition. ShimArg - Positional argument definition. CommanderCompatOption - Commander-compatible option view for tests. ActionHandler - Type for the action handler function - flexible to support various signatures typeof ShimCommand - Minimal Commander-compatible Command class. Captures command definitions for later translation into citty commands. file commander-shim.ts (ctx: FieldExtractionResolution) => void - Set the field extraction context for this CLI invocation. Called once from the preAction hook in src/cli/index.ts. () => FieldExtractionResolution - Get the current field extraction context. (opts: Record<string, unknown>) => FieldExtractionResolution - Parse global field options from Commander.js parsed opts and resolve via the canonical LAFS SDK resolver (conflict detection, type narrowing). file field-context.ts (resolution: FlagResolution) => void - Set the resolved format for this CLI invocation. Called once from the preAction hook in src/cli/index.ts. () => FlagResolution - Get the current resolved format. () => boolean - Check if output should be JSON format. () => boolean - Check if output should be human-readable format. () => boolean - Check if quiet mode is enabled (suppress non-essential output). file format-context.ts (opts: Record<string, unknown>, defaults?: { projectDefault?: "json" | "human"; userDefault?: "json" | "human"; }) => FlagResolution - Resolve output format from Commander.js option values. Reads --json, --human, and --quiet flags and delegates to the canonical LAFS resolveOutputFormat(). Project/user defaults can be passed via the optional `defaults` parameter. file output-format.ts LafsShapeViolation - The minimum shape invariants for a LAFS envelope, compatible with both minimal (`{ok, r, _m}`) and full (`{success, result, _meta}`) formats. (envelope: unknown) => LafsShapeViolation - Validate a LAFS envelope shape and report violations. Full envelopes are delegated to `@cleocode/lafs.validateEnvelope()` (which uses the canonical schema via lafs-napi/AJV). Minimal envelopes are checked against the lightweight invariants in this module. (envelope: unknown) => void - Assert that a LAFS envelope conforms to the shape contract, throwing an error with a LAFS-shaped diagnostic if it does not. Used by the renderer middleware to fail LOUDLY when CLEO itself emits a malformed envelope — this is a developer bug, not an operator issue. typeof LafsViolationError - Error thrown by `assertLafsShape` when an envelope fails validation. Carries the full `LafsShapeViolation` report so diagnostic tooling can report which specific invariants were violated. (err: LafsViolationError) => void - Emit a LAFS-shaped error envelope describing a validation failure and set `process.exitCode` to `ExitCode.LAFS_VIOLATION`. Called by the renderer middleware as a recovery path when a previously- emitted envelope turns out to be malformed. file lafs-validator.ts (command: string, data: Record<string, unknown>) => Record<string, unknown> - Normalize data shape for human renderers. Each command expects data with specific named keys (e.g., `data.task` for 'show', `data.tasks` for 'list'). This function detects and corrects flat/array data from the engine layer. file normalizer.ts string string string string string string string string string (status: string) => string - Map task status to a display symbol. Falls back to '?' for unknown values. (status: string) => string - Map task status to a color escape. (priority: string) => string - Map task priority to a display symbol. (priority: string) => string - Map task priority to a color escape. { tl: string; tr: string; bl: string; br: string; h: string; v: string; ml: string; mr: string; } (width?: number) => string - Create a horizontal rule with box-drawing characters. (isoDate: string | null | undefined) => string - Format a date string as YYYY-MM-DD. file colors.ts (data: Record<string, unknown>, quiet: boolean) => string (data: Record<string, unknown>, quiet: boolean) => string (data: Record<string, unknown>, quiet: boolean) => string (data: Record<string, unknown>, quiet: boolean) => string (data: Record<string, unknown>, quiet: boolean) => string (data: Record<string, unknown>, quiet: boolean) => string (data: Record<string, unknown>, quiet: boolean) => string (data: Record<string, unknown>, quiet: boolean) => string (data: Record<string, unknown>, quiet: boolean) => string (data: Record<string, unknown>, quiet: boolean) => string (data: Record<string, unknown>, quiet: boolean) => string (data: Record<string, unknown>, quiet: boolean) => string - Generic human renderer for commands that don't have a specific renderer. Renders data as indented key-value pairs. file system.ts (data: Record<string, unknown>, quiet: boolean) => string - Render a single task in a box format (mirrors bash display_text). (data: Record<string, unknown>, quiet: boolean) => string - Render a list of tasks (mirrors bash list.sh text output). (data: Record<string, unknown>, quiet: boolean) => string - Render search results. (data: Record<string, unknown>, quiet: boolean) => string - Render add result. (data: Record<string, unknown>, quiet: boolean) => string - Render update result. (data: Record<string, unknown>, quiet: boolean) => string - Render complete result. (data: Record<string, unknown>, quiet: boolean) => string - Render delete result. (data: Record<string, unknown>, quiet: boolean) => string - Render archive result. (data: Record<string, unknown>, quiet: boolean) => string - Render restore result. file tasks.ts CliOutputOptions (data: unknown, opts: CliOutputOptions) => void - Output data to stdout in the resolved format (JSON or human-readable). Replaces `console.log(formatSuccess(data))` in all V2 commands. When format is 'human', normalizes the data shape then dispatches to the appropriate renderer. When format is 'json', delegates to existing formatSuccess(). T4665 T4666 T4813 CliErrorDetails - Error details for structured error output. (message: string, code?: number | string, _details?: CliErrorDetails) => void - Output an error in the resolved format. For JSON: delegates to formatError (already handled in command catch blocks). For human: prints a plain error message to stderr. T4666 T4813 file index.ts Gateway - CQRS gateway: read-only queries vs state-modifying mutations. "cli" - Where the request originated. Tier - Progressive disclosure tier. 0 = tasks + session (80% of agents) 1 = + memory + check (15% of agents) 2 = + pipeline + orchestrate + tools + admin + nexus (5%) ParamType - The concrete value types a parameter can carry at runtime. Drives JSON Schema `type` and Commander argument/option parsing. ParamCliDef - CLI-specific decoration for a parameter. All fields are optional — omit the entire `cli` key for params with no CLI surface. ParamDef - A fully-described parameter definition. One `ParamDef` entry drives Commander: `.argument()` (positional) or `.option()` (flag). readonly ["tasks", "session", "memory", "check", "pipeline", "orchestrate", "tools", "admin", "nexus", "sticky", "conduit"] - The 10 canonical domain names. "memory" | "pipeline" | "session" | "tasks" | "check" | "orchestrate" | "tools" | "admin" | "nexus" | "sticky" | "conduit" DispatchRequest - Canonical request shape that the CLI adapter produces. The dispatcher validates this against the OperationRegistry before passing it through the middleware pipeline and into a DomainHandler. RateLimitMeta - Rate limit metadata attached to every response. DispatchError - Structured error shape (LAFS-compatible). DispatchResponse - Canonical response shape returned by the dispatcher. The CLI adapter translates this into cliOutput() / cliError() + process.exit(). DomainHandler - Contract for domain handlers. Each of the 9 target domains (tasks, session, memory, check, pipeline, orchestrate, tools, admin, nexus) implements this interface. DispatchNext - Async function that produces a DispatchResponse. Middleware - Middleware function signature. Receives the request and a `next` continuation. Can short-circuit by returning early (e.g., rate-limit exceeded) or modify the request/response. file types.ts (gateway: string, domain: string, operation: string, startTime: number, source?: Source, requestId?: string, sessionId?: string | null) => DispatchResponse["_meta"] - Create metadata for a dispatch response. file meta.ts (middlewares: Middleware[]) => Middleware - Composes an array of Middleware functions into a single Middleware function. Execution flows through the array from first to last, and returns bubble back up from last to first. file pipeline.ts OperationDef - Definition of a single dispatchable operation. Resolution - Resolution output for a dispatch request. OperationDef[] - The single source of truth for all operations in CLEO. (gateway: Gateway) => Record<string, string[]> - Derive a gateway operation matrix from the registry. Returns `Record<string, string[]>` containing: - All canonical domains with their operations This is the SINGLE derivation point — gateways use this instead of maintaining independent operation lists. (gateway: Gateway) => string[] - Get all accepted domain names for a gateway (canonical only). (gateway: Gateway, domain: string, operation: string) => Resolution | undefined - Resolves a domain + operation to its registered definition. (def: OperationDef, params?: Record<string, unknown>) => string[] - Validates that all required parameters are present in the request. Returns an array of missing parameter keys. (domain: CanonicalDomain) => OperationDef[] - Get all operations for a specific canonical domain. (gateway: Gateway) => OperationDef[] - Get all operations for a specific gateway. (tier: Tier) => OperationDef[] - Get all operations available at or below a specific tier. () => CanonicalDomain[] - Get a list of canonical domains that actually have operations registered. () => { query: number; mutate: number; total: number; } - Returns summary counts of operations for module validation. file registry.ts DispatcherConfig typeof Dispatcher file dispatcher.ts (projectRoot: string, options?: { focus?: string; storeToBrain?: boolean; }) => Promise<EngineResult> - Analyze a codebase and return structured mapping. When storeToBrain is true, findings are persisted to brain.db. file codebase-map-engine.ts (projectRoot: string, key?: string) => Promise<EngineResult<unknown>> - Get config value by key (dot-notation supported) (projectRoot: string, key: string, value: unknown) => Promise<EngineResult<{ key: string; value: unknown; }>> - Set a config value by key (dot-notation supported) (projectRoot: string, preset: string) => Promise<EngineResult<unknown>> - Apply a strictness preset to the project config. T067 () => EngineResult<unknown> - List all available strictness presets. T067 file config-engine.ts (event: HookEvent) => Promise<EngineResult<{ event: HookEvent; providers: ProviderHookInfo[]; }>> - Query providers that support a specific hook event Returns detailed provider information including which hooks each provider supports, enabling intelligent routing and filtering of hook handlers. (providerIds?: string[]) => Promise<EngineResult<{ providerIds?: string[]; commonEvents: ProviderHookEvent[]; }>> - Get hook events common to specified providers Analyzes which hook events are supported by all providers in the given list, useful for determining the intersection of hook capabilities. ProviderMatrixEntry - Coverage summary for a single provider in the hook matrix. HookMatrixResult - Full hook matrix result. (params?: { providerIds?: string[]; detectProvider?: boolean; }) => Promise<EngineResult<HookMatrixResult>> - Build a cross-provider hook support matrix using CAAMP APIs. Calls `buildHookMatrix()` to assemble the two-dimensional grid, then augments each provider row with `getProviderSummary()` coverage stats. Optionally runs `detectAllProviders()` to surface the active runtime. file hooks-engine.ts (projectRoot: string, options?: { projectName?: string; force?: boolean; mapCodebase?: boolean; }) => Promise<EngineResult<{ initialized: boolean; projectRoot: string; filesCreated: string[]; skipped: string[]; warnings: string[]; classification?: { kind: "greenfield" | "brownfield"; signalCount: number; topLevelFileCount: number; hasGit: boolean; }; nextSteps?: Array<{ action: string; command: string; }>; }>> - Initialize a CLEO project directory. Creates the .cleo/ directory structure with empty data files. Returns error if already initialized (unless force=true). () => boolean - Check if auto-init is enabled via environment variable (projectRoot: string) => Promise<EngineResult<{ initialized: boolean; }>> - Check initialization status and auto-init if configured (projectRoot: string) => Promise<EngineResult<{ version: string; }>> - Get current version (native implementation) file init-engine.ts file memory-engine.ts (epicId?: string, projectRoot?: string) => Promise<EngineResult> - orchestrate.status - Get orchestrator status T4478 (epicId?: string, projectRoot?: string, mode?: string) => Promise<EngineResult> - orchestrate.analyze - Dependency analysis T4478 (epicId: string, projectRoot?: string) => Promise<EngineResult> - orchestrate.ready - Get parallel-safe tasks (ready to execute) T4478 (epicId: string, projectRoot?: string) => Promise<EngineResult> - orchestrate.next - Next task to spawn T4478 (epicId: string, projectRoot?: string) => Promise<EngineResult> - orchestrate.waves - Compute dependency waves T4478 (epicId?: string, projectRoot?: string) => Promise<EngineResult> - orchestrate.context - Context usage check T4478 (taskId: string, projectRoot?: string) => Promise<EngineResult> - orchestrate.validate - Validate spawn readiness for a task T4478 (capabilities: Array<"supportsSubagents" | "supportsProgrammaticSpawn" | "supportsInterAgentComms" | "supportsParallelSpawn">, _projectRoot?: string) => Promise<EngineResult> - orchestrate.spawn.select - Select best provider for spawn based on required capabilities T5236 (taskId: string, adapterId?: string, protocolType?: string, projectRoot?: string, tier?: 0 | 1 | 2) => Promise<EngineResult> - orchestrate.spawn.execute - Execute spawn for a task using adapter registry T5236 (taskId: string, protocolType?: string, projectRoot?: string, tier?: 0 | 1 | 2) => Promise<EngineResult> - orchestrate.spawn - Generate spawn prompt for a task T4478 (epicId: string, projectRoot?: string) => Promise<EngineResult> - orchestrate.startup - Initialize orchestration for an epic T4478 (projectRoot?: string, params?: { speed?: "fast" | "full" | "complete"; }) => Promise<EngineResult<BrainState>> - orchestrate.bootstrap - Load brain state for agent bootstrapping T4478 T4657 (projectRoot?: string) => Promise<EngineResult> - orchestrate.critical-path - Find the longest dependency chain T4478 (projectRoot?: string) => Promise<EngineResult> - orchestrate.unblock-opportunities - Analyze dependency graph for unblocking opportunities T4478 (action: "start" | "end", epicId: string, wave?: number, projectRoot?: string) => Promise<EngineResult> - orchestrate.parallel - Manage parallel execution (start/end) T4632 (epicId: string, wave: number, projectRoot?: string) => Promise<EngineResult> - orchestrate.parallel.start - Start parallel execution for a wave T4632 (epicId: string, wave: number, projectRoot?: string) => Promise<EngineResult> - orchestrate.parallel.end - End parallel execution for a wave T4632 (projectRoot?: string) => Promise<EngineResult> - orchestrate.check - Check current orchestration state T4632 (skillName: string, projectRoot?: string) => EngineResult - orchestrate.skill.inject - Read skill content for injection into agent context T4632 (params: OrchestrateHandoffParams, projectRoot?: string) => Promise<EngineResult> - orchestrate.handoff - Composite session handoff + successor spawn Step order is explicit and fixed: 1) session.context.inject 2) session.end 3) orchestrate.spawn Idempotency policy: - Non-idempotent overall. A retry after step 2 can duplicate spawn output. - Failures include exact step state and a safe retry entry point. file orchestrate-engine.ts (projectRoot?: string) => Promise<EngineResult> - phase.list - List all project phases (phaseId?: string, projectRoot?: string) => Promise<EngineResult> - phase.show - Show details of a specific phase (params: { phaseId: string; rollback?: boolean; force?: boolean; dryRun?: boolean; }, projectRoot?: string) => Promise<EngineResult> - phase.set - Set the current phase (phaseId: string, projectRoot?: string) => Promise<EngineResult> - phase.start - Start a pending phase (phaseId: string, projectRoot?: string) => Promise<EngineResult> - phase.complete - Complete an active phase (force?: boolean, projectRoot?: string) => Promise<EngineResult> - phase.advance - Advance to the next phase (oldName: string, newName: string, projectRoot?: string) => Promise<EngineResult> - phase.rename - Rename a phase (phaseId: string, params?: { reassignTo?: string; force?: boolean; }, projectRoot?: string) => Promise<EngineResult> - phase.delete - Delete a phase file pipeline-engine.ts (version: string, tasks?: string[], notes?: string, projectRoot?: string) => Promise<EngineResult> - release.prepare - Prepare a release T4788 (version: string, projectRoot?: string) => Promise<EngineResult> - release.changelog - Generate changelog T4788 (optionsOrProjectRoot?: ReleaseListOptions | string, projectRoot?: string) => Promise<EngineResult> - release.list - List all releases (query operation via data read) T4788 (version: string, projectRoot?: string) => Promise<EngineResult> - release.show - Show release details (query operation via data read) T4788 (version: string, projectRoot?: string) => Promise<EngineResult> - release.commit - Mark release as committed (metadata only) T4788 (version: string, projectRoot?: string) => Promise<EngineResult> - release.tag - Mark release as tagged (metadata only) T4788 (version: string, projectRoot?: string) => Promise<EngineResult> - release.gates.run - Run release gates (validation checks) T4788 (version: string, reason?: string, projectRoot?: string) => Promise<EngineResult> - release.rollback - Rollback a release T4788 (version: string, projectRoot?: string) => Promise<EngineResult> - release.cancel - Cancel and remove a release in draft or prepared state T5602 (version: string, remote?: string, projectRoot?: string, opts?: { explicitPush?: boolean; }) => Promise<EngineResult> - release.push - Push release to remote via git Uses execFileSync (no shell) for safety. Respects config.release.push policy. Agent protocol guard (T4279): When running in agent context (detected via CLEO_SESSION_ID or CLAUDE_AGENT_TYPE env vars), requires a release manifest entry for the version. This ensures agents go through the proper release.ship workflow rather than calling release.push directly, maintaining provenance tracking. T4788 T4276 T4279 (params: { version: string; epicId: string; remote?: string; dryRun?: boolean; bump?: boolean; }, projectRoot?: string) => Promise<EngineResult> - release.ship - Composite release operation Sequence: validate gates → epic completeness → double-listing check → write CHANGELOG → git commit/tag/push (or PR) → record provenance T5582 T5586 T5576 file release-engine.ts RuntimeDiagnostics DashboardData - Dashboard data shape returned by `systemDash`. StatsData - Project statistics data shape returned by `systemStats`. LogQueryData - Paginated operation log query result. ContextData - Context window monitoring data. SequenceData - Task ID sequence state. RoadmapData - Project roadmap data with upcoming epics and release history. ComplianceData - Compliance monitoring data. HelpData - Help topic content and related commands. (projectRoot: string, params?: { blockedTasksLimit?: number; }) => Promise<EngineResult<DashboardData>> - Project dashboard: task counts by status, active session info, current focus, recent completions. (projectRoot: string, params?: { period?: number; }) => Promise<EngineResult<StatsData>> - Detailed statistics: tasks by status/priority/type/phase, completion rate, average cycle time. (projectRoot: string) => Promise<EngineResult<import("@cleocode/core/internal").LabelsResult>> - List all unique labels across tasks with counts and task IDs per label. (projectRoot: string, params?: { period?: number; }) => Promise<EngineResult<import("@cleocode/core/internal").ArchiveStatsResult>> - Archive metrics: total archived, by reason, average cycle time, archive rate. (projectRoot: string, filters?: { operation?: string; taskId?: string; since?: string; until?: string; limit?: number; offset?: number; }) => Promise<EngineResult<LogQueryData>> - Query audit log with optional filters. Reads from SQLite audit_log table. T4837 (projectRoot: string, params?: { session?: string; }) => EngineResult<ContextData> - Context window tracking: estimate token usage from current session/state. (projectRoot: string, params?: { action?: "show" | "check"; }) => Promise<EngineResult<SequenceData | Record<string, unknown>>> - Read task ID sequence state from canonical SQLite metadata. Supports 'show' and 'check' actions. T4815 (projectRoot?: string) => Promise<EngineResult<import("@cleocode/core/internal").InjectGenerateResult>> - Generate Minimum Viable Injection (MVI). (projectRoot: string, params?: { scope?: string; since?: string; }) => Promise<EngineResult<import("@cleocode/core/internal").SystemMetricsResult>> - System metrics: token usage, compliance summary, session counts. T4631 (projectRoot: string, params?: { detailed?: boolean; }) => Promise<EngineResult<import("@cleocode/core/internal").HealthResult>> - System health check: verify core data files exist and are valid. T4631 (projectRoot: string, params?: { checks?: string[]; }) => Promise<EngineResult<import("@cleocode/core/internal").DiagnosticsResult>> - System diagnostics: extended health checks with fix suggestions. T4631 (_projectRoot: string, params?: { topic?: string; }) => EngineResult<HelpData> - Return help text for the system. T4631 (projectRoot: string, params?: { includeHistory?: boolean; upcomingOnly?: boolean; }) => Promise<EngineResult> - Generate roadmap from pending epics and optional CHANGELOG history. T4631 (projectRoot: string, params?: { subcommand?: string; days?: number; epic?: string; }) => EngineResult<ComplianceData> - System compliance report from COMPLIANCE.jsonl. T4631 (projectRoot: string, params?: { type?: string; note?: string; }) => EngineResult<import("@cleocode/core/internal").BackupResult> - Create a backup of CLEO data files. T4631 (projectRoot: string) => EngineResult<import("@cleocode/core/internal").BackupEntry[]> - List available system backups (read-only). T4783 (projectRoot: string, params: { backupId: string; force?: boolean; }) => EngineResult<import("@cleocode/core/internal").RestoreResult> - Restore from a backup. T4631 (projectRoot: string, fileName: string, options?: { dryRun?: boolean; }) => Promise<EngineResult<{ restored: boolean; file: string; from: string; targetPath: string; dryRun?: boolean; }>> - Restore an individual file from backup. T5329 (projectRoot: string, params?: { target?: string; dryRun?: boolean; }) => Promise<EngineResult<import("@cleocode/core/internal").MigrateResult>> - Check/run schema migrations. T4631 (projectRoot: string, params: { target: string; olderThan?: string; dryRun?: boolean; }) => Promise<EngineResult<import("@cleocode/core/internal").CleanupResult>> - Cleanup stale data (sessions, backups, logs). T4631 (projectRoot: string, params?: { scope?: string; fix?: boolean; }) => Promise<EngineResult<import("@cleocode/core/internal").AuditResult>> - Audit data integrity. T4631 SyncData (_projectRoot: string, params?: { direction?: string; }) => EngineResult<SyncData> - Sync check (no external sync targets in native mode). T4631 (projectRoot: string, params?: { reason?: string; commit?: boolean; handoff?: string; noSessionEnd?: boolean; dryRun?: boolean; }) => EngineResult<import("@cleocode/core/internal").SafestopResult> - Safe stop: signal clean shutdown for agents. T4631 (projectRoot: string, params: { taskId: string; cascade?: boolean; notes?: string; dryRun?: boolean; }) => Promise<EngineResult<import("@cleocode/core/internal").UncancelResult>> - Uncancel a cancelled task (restore to pending). T4631 (projectRoot: string) => Promise<EngineResult<import("@cleocode/core/internal").DoctorReport>> - Run comprehensive doctor diagnostics. T4795 (projectRoot: string) => Promise<EngineResult<import("@cleocode/core/internal").FixResult[]>> - Run auto-fix for failed doctor checks. T4795 (_projectRoot: string, params?: { detailed?: boolean; }) => Promise<EngineResult<RuntimeData>> - Runtime/channel diagnostics for CLI installation mode checks. T4815 PathsData - Summary of all resolved CleoOS paths (project + global hub). (projectRoot: string) => Promise<EngineResult<PathsData>> - Report all resolved CleoOS paths (project + global hub). Backs the `cleo admin paths` CLI command. Read-only: reports current state without mutating the filesystem. Use `systemScaffoldHub()` to create missing hub directories and seed the starter justfile. Phase 1 — XDG Foundation + Justfile Hub Skeleton ScaffoldHubData - Result of scaffolding the CleoOS Hub. () => Promise<EngineResult<ScaffoldHubData>> - Create the CleoOS Hub directories and seed the starter justfile if absent. Idempotent: safe to call repeatedly. Never overwrites existing user-edited justfile or README content. Backs the `cleo admin scaffold-hub` CLI command and is invoked automatically by `cleo init` (Phase 5). Phase 1 — XDG Foundation + Justfile Hub Skeleton (projectRoot: string) => Promise<EngineResult<Record<string, unknown>>> - Repair task ID sequence using canonical core implementation. T4815 SmokeProbe - Result for a single domain smoke probe. SmokeResult - Aggregate smoke test result. () => Promise<EngineResult<SmokeResult>> - Run operational smoke tests across all domains. Dispatches one read-only query per domain through the full CLI dispatch pipeline and reports pass/fail with timing. Catches crashes (TypeError, ReferenceError, etc.) not just structured error responses. T130 file system-engine.ts (projectRoot: string) => EngineResult<import("@cleocode/core/internal").TemplateConfig> - Parse all templates from the repo's .github/ISSUE_TEMPLATE/ directory. (projectRoot: string, subcommand: string) => EngineResult<import("@cleocode/core/internal").IssueTemplate> - Get template config for a specific subcommand (bug/feature/help). (projectRoot: string) => Promise<EngineResult<import("@cleocode/core/internal").TemplateConfig>> - Generate and cache the config as .cleo/issue-templates.json. (labels: string[], repoLabels: string[]) => EngineResult<{ existing: string[]; missing: string[]; }> - Validate that labels exist on a GitHub repo. file template-parser.ts (type: string, data?: unknown, projectRoot?: string) => EngineResult - validate.schema - JSON Schema validation T4477 (taskId: string, projectRoot?: string) => Promise<EngineResult> - validate.task - Anti-hallucination task validation T4477 (taskId: string, protocolType?: string, projectRoot?: string) => Promise<EngineResult> - validate.protocol - Protocol compliance check T4477 (projectRoot?: string) => EngineResult - validate.manifest - Manifest entry validation T4477 (filePath: string, taskId?: string, projectRoot?: string) => EngineResult - validate.output - Output file validation T4477 (projectRoot?: string) => EngineResult - validate.compliance.summary - Aggregated compliance metrics T4477 (limit?: number, projectRoot?: string) => EngineResult - validate.compliance.violations - List compliance violations T4477 (taskId: string, result: string, protocol?: string, violations?: Array<{ code: string; message: string; severity: "warning" | "error"; }>, projectRoot?: string) => EngineResult - validate.compliance.record - Record compliance check result T4477 (projectRoot?: string) => EngineResult - validate.test.status - Test suite status T4477 (projectRoot?: string) => Promise<EngineResult<{ coherent: boolean; issues: CoherenceIssue[]; }>> - validate.coherence-check - Cross-validate task graph for consistency T4477 (params?: { scope?: string; pattern?: string; parallel?: boolean; }, projectRoot?: string) => EngineResult - validate.test.run - Execute test suite via subprocess T4632 (projectRoot?: string) => Promise<EngineResult> - validate.batch-validate - Batch validate all tasks against schema and rules T4632 (projectRoot?: string) => EngineResult - validate.test.coverage - Coverage metrics T4477 (params: ProtocolValidationParams, _projectRoot?: string) => Promise<EngineResult> - check.protocol.consensus - Validate consensus protocol compliance T5327 (params: ProtocolValidationParams, _projectRoot?: string) => Promise<EngineResult> - check.protocol.contribution - Validate contribution protocol compliance T5327 (params: ProtocolValidationParams, _projectRoot?: string) => Promise<EngineResult> - check.protocol.decomposition - Validate decomposition protocol compliance T5327 (params: ProtocolValidationParams, _projectRoot?: string) => Promise<EngineResult> - check.protocol.implementation - Validate implementation protocol compliance T5327 (params: ProtocolValidationParams, _projectRoot?: string) => Promise<EngineResult> - check.protocol.specification - Validate specification protocol compliance T5327 (params: ProtocolValidationParams, _projectRoot?: string) => Promise<EngineResult> - check.protocol.research - Validate research protocol compliance T260 (params: ProtocolValidationParams, _projectRoot?: string) => Promise<EngineResult> - check.protocol.architecture-decision - Validate ADR protocol compliance T260 (params: ProtocolValidationParams, _projectRoot?: string) => Promise<EngineResult> - check.protocol.validation - Validate validation-stage protocol compliance T260 (params: ProtocolValidationParams, _projectRoot?: string) => Promise<EngineResult> - check.protocol.testing - Validate testing-stage protocol compliance (IVT loop) T260 (params: ProtocolValidationParams, _projectRoot?: string) => Promise<EngineResult> - check.protocol.release - Validate release protocol compliance T260 (params: ProtocolValidationParams, _projectRoot?: string) => Promise<EngineResult> - check.protocol.artifact-publish - Validate artifact-publish protocol compliance T260 (params: ProtocolValidationParams, _projectRoot?: string) => Promise<EngineResult> - check.protocol.provenance - Validate provenance protocol compliance T260 (params: GateVerifyParams, projectRoot?: string) => Promise<EngineResult<GateVerifyResult>> - check.gate.verify - View or modify verification gates for a task T5327 file validate-engine.ts file engine.ts (gateway: string, domain: string, operation: string, startTime: number, source?: Source) => DispatchResponse["_meta"] - Build metadata for a dispatch domain response. file _meta.ts EngineResult - Engine result shape accepted by wrapResult. Matches the union of what all engine functions return. (result: EngineResult, gateway: string, domain: string, operation: string, startTime: number) => DispatchResponse - Wrap a native engine result into a DispatchResponse. Handles success data, page metadata, and structured errors. (gateway: string, domain: string, operation: string, code: string, message: string, startTime: number) => DispatchResponse - Return a standard error response. (gateway: string, domain: string, operation: string, startTime: number) => DispatchResponse - Return a standard "unsupported operation" error response. (params?: Record<string, unknown>) => { limit?: number; offset?: number; } - Extract limit and offset pagination params from a params dict. (gateway: string, domain: string, operation: string, error: unknown, startTime: number) => DispatchResponse - Handle a caught error: extract message and return an internal error response. Callers should log the error themselves (with their domain-specific logger) before or after calling this. file _base.ts <T>(params: Record<string, unknown> | undefined, paramName: string, routes: Record<string, () => T>, defaultRoute?: string) => T - Shared parameter-based routing for merged operations. DRY utility -- all domain handlers use this instead of re-implementing action dispatch. T5671 file _routing.ts JobStatus - Background job status BackgroundJob - Background job representation BackgroundJobManagerConfig - Configuration for BackgroundJobManager typeof BackgroundJobManager - Manages background jobs for long-running operations file background-jobs.ts (manager: BackgroundJobManager) => void () => BackgroundJobManager | null file job-manager-accessor.ts typeof AdminHandler file admin.ts typeof CheckHandler file check.ts typeof ConduitHandler - Conduit dispatch handler for agent messaging operations. file conduit.ts typeof MemoryHandler file memory.ts () => Promise<EngineResult<{ initialized: boolean; projectCount: number; lastUpdated: string | null; }>> - Get nexus status (initialized, project count, last updated). (limit?: number, offset?: number) => Promise<EngineResult<{ projects: Awaited<ReturnType<typeof nexusList>>; count: number; total: number; filtered: number; page: ReturnType<typeof paginate>["page"]; }>> - List all registered projects. (name: string) => Promise<EngineResult<Awaited<ReturnType<typeof nexusGetProject>>>> - Show a single project by name. (query: string, currentProject?: string) => Promise<EngineResult<Awaited<ReturnType<typeof resolveTask>>>> - Resolve a cross-project task query. (query: string, direction?: "forward" | "reverse") => Promise<EngineResult<Awaited<ReturnType<typeof nexusDeps>>>> - Get cross-project dependencies for a task query. () => Promise<EngineResult<Awaited<ReturnType<typeof buildGlobalGraph>>>> - Build the global dependency graph. () => Promise<EngineResult<Awaited<ReturnType<typeof criticalPath>>>> - Get the critical path across projects. (query: string) => Promise<EngineResult<Awaited<ReturnType<typeof blockingAnalysis>>>> - Analyze blockers for a task query. (limit?: number, offset?: number) => Promise<EngineResult<{ orphans: Awaited<ReturnType<typeof orphanDetection>>; count: number; total: number; filtered: number; page: ReturnType<typeof paginate>["page"]; }>> - List orphaned cross-project tasks. (taskQuery: string, method?: string, limit?: number) => Promise<EngineResult<{ query: string; method: string; results: Array<{ project: string; taskId: string; title: string; score: number; type: string; reason: string; }>; total: number; }>> - Discover tasks related to a given task query across projects. Delegates all business logic to src/core/nexus/discover.ts. (pattern: string, projectFilter?: string, limit?: number) => Promise<EngineResult<{ pattern: string; results: Array<{ id: string; title: string; status: string; priority?: string; description?: string; _project: string; }>; resultCount: number; }>> - Search for tasks across all registered projects. Delegates all business logic to src/core/nexus/discover.ts. () => Promise<EngineResult<{ message: string; }>> - Initialize the nexus. (path: string, name?: string, permission?: NexusPermissionLevel) => Promise<EngineResult<{ hash: string; message: string; }>> - Register a project in the nexus. (name: string) => Promise<EngineResult<{ message: string; }>> - Unregister a project from the nexus. (name?: string) => Promise<EngineResult<unknown>> - Sync a specific project or all projects. (name: string, level: NexusPermissionLevel) => Promise<EngineResult<{ message: string; }>> - Set permission level for a project. (projectRoot: string) => Promise<EngineResult<Awaited<ReturnType<typeof nexusReconcile>>>> - Reconcile the nexus registry with the filesystem. (projectRoot: string) => Promise<EngineResult<Awaited<ReturnType<typeof getSharingStatus>>>> - Get sharing status for a project. (projectRoot: string, outputPath?: string) => Promise<EngineResult<{ path: string; taskCount: number; checksum: string; }>> - Export a snapshot of the project's tasks. (projectRoot: string, inputPath: string) => Promise<EngineResult<Awaited<ReturnType<typeof importSnapshot>>>> - Import a snapshot into the project. (params: TransferParams) => Promise<EngineResult<TransferResult>> - Preview a cross-project task transfer (dry run). (params: TransferParams) => Promise<EngineResult<TransferResult>> - Execute a cross-project task transfer. file nexus-engine.ts typeof NexusHandler file nexus.ts typeof OrchestrateHandler file orchestrate.ts typeof PipelineHandler file pipeline.ts SessionContext - Immutable snapshot of the bound session context. (ctx: Omit<SessionContext, "agentPid" | "boundAt">) => SessionContext - Bind a session to the current process. Called by session.start mutation handler after successful session creation. () => SessionContext | null - Get the currently bound session context, or null if none is bound. () => boolean - Check whether a session is currently bound. () => SessionContext | null - Unbind the current session context. Called by session.end mutation handler. () => void - Reset the session context (for testing only). file session-context.ts typeof SessionHandler file session.ts (projectRoot: string, params: CreateStickyParams) => Promise<EngineResult<StickyNote>> - Create a new sticky note. (projectRoot: string, params?: ListStickiesParams) => Promise<EngineResult<{ stickies: StickyNote[]; total: number; }>> - List sticky notes with optional filtering. (projectRoot: string, id: string) => Promise<EngineResult<StickyNote | null>> - Get a single sticky note by ID. (projectRoot: string, stickyId: string, title?: string) => Promise<EngineResult<{ taskId: string; }>> - Convert a sticky note to a task. (projectRoot: string, stickyId: string, memoryType?: string) => Promise<EngineResult<{ memoryId: string; }>> - Convert a sticky note to a memory observation. (projectRoot: string, id: string) => Promise<EngineResult<StickyNote>> - Archive a sticky note. (projectRoot: string, stickyId: string, taskId: string) => Promise<EngineResult<{ taskId: string; }>> - Convert a sticky note to a task note. (projectRoot: string, stickyId: string, sessionId?: string) => Promise<EngineResult<{ sessionId: string; }>> - Convert a sticky note to a session note. (projectRoot: string, id: string) => Promise<EngineResult<StickyNote>> - Purge (permanently delete) a sticky note. file sticky-engine.ts typeof StickyHandler file sticky.ts typeof TasksHandler file tasks.ts (params?: Record<string, unknown>) => Promise<EngineResult> - code.outline — file structural skeleton. (params?: Record<string, unknown>) => Promise<EngineResult> - code.search — cross-codebase symbol search. (params?: Record<string, unknown>) => Promise<EngineResult> - code.unfold — single symbol extraction. (params?: Record<string, unknown>) => Promise<EngineResult> - code.parse — raw AST parse for a single file. file code-engine.ts () => EngineResult<ReturnType<typeof collectDiagnostics>> - Collect issue diagnostics. (limit?: number, offset?: number) => Promise<EngineResult<{ skills: Awaited<ReturnType<typeof discoverSkills>>; count: number; total: number; filtered: number; page: ReturnType<typeof paginate>["page"]; }>> - List all discovered skills. (name: string) => Promise<EngineResult<{ skill: Awaited<ReturnType<typeof discoverSkill>>; }>> - Show a single skill by name. (query?: string) => Promise<EngineResult<{ skills: Awaited<ReturnType<typeof discoverSkills>>; count: number; query: string; }>> - Find skills matching a query string. (name: string) => EngineResult<{ skill: string; dispatch: { byTaskType: string[]; byKeyword: string[]; byProtocol: string[]; }; }> - Get dispatch matrix entries for a skill. (name: string) => Promise<EngineResult<{ skill: string; installed: boolean; inCatalog: boolean; installPath: string | null; }>> - Verify a skill's installation and catalog status. (name: string) => EngineResult<{ skill: string; direct: ReturnType<typeof catalog.getSkillDependencies>; tree: ReturnType<typeof catalog.resolveDependencyTree>; }> - Get dependency tree for a skill. (capability?: "supportsSubagents" | "supportsProgrammaticSpawn" | "supportsInterAgentComms" | "supportsParallelSpawn") => Promise<EngineResult<{ providers: unknown[]; capability: string; count: number; }>> - Get spawn-capable providers by capability. () => EngineResult<{ available: boolean; version: string | null; libraryRoot: string | null; skillCount: number; protocolCount: number; profileCount: number; }> - Get catalog info (protocols, profiles, resources, or summary). (limit?: number, offset?: number) => EngineResult<{ protocols: Array<{ name: string; path: string | null; }>; count: number; total: number; filtered: number; page: ReturnType<typeof paginate>["page"]; }> - List catalog protocols. (limit?: number, offset?: number) => EngineResult<{ profiles: Array<{ name: string; description: string; extends: string | undefined; skillCount: number; skills: string[]; }>; count: number; total: number; filtered: number; page: ReturnType<typeof paginate>["page"]; }> - List catalog profiles. (limit?: number, offset?: number) => EngineResult<{ resources: Array<{ name: string; path: string | null; }>; count: number; total: number; filtered: number; page: ReturnType<typeof paginate>["page"]; }> - List catalog shared resources. () => Promise<EngineResult<{ precedenceMap: unknown; }>> - Show skill precedence map. (providerId: string, scope: "global" | "project", projectRoot: string) => Promise<EngineResult<{ providerId: string; scope: string; paths: unknown; }>> - Resolve skill paths for a specific provider. (name: string, projectRoot: string, source?: string, isGlobal?: boolean) => Promise<EngineResult<{ results: Array<{ providerId: string; success: boolean; errors: string[]; }>; targets: string[]; }>> - Install a skill to one or more providers. (name: string, projectRoot: string, isGlobal?: boolean) => Promise<EngineResult<{ removed: string[]; errors: string[]; }>> - Uninstall a skill from all providers. (projectRoot: string) => Promise<EngineResult<{ updated: string[]; failed: Array<{ name: string; error: string; }>; checked: number; }>> - Refresh all tracked skills that have updates available. (limit?: number, offset?: number) => EngineResult<{ providers: ReturnType<typeof getAllProviders>; count: number; total: number; filtered: number; page: ReturnType<typeof paginate>["page"]; }> - List all registered providers. () => EngineResult<{ providers: ReturnType<typeof detectAllProviders>; count: number; }> - Detect all available providers in the environment. (projectRoot: string, scope?: "project" | "global", content?: string) => Promise<EngineResult<{ checks: unknown[]; count: number; }>> - Check injection status for all installed providers. (providerId: string, capability: string) => Promise<EngineResult<{ providerId: string; capability: string; supported: boolean; }>> - Check if a provider supports a specific capability. (event: string) => Promise<EngineResult<unknown>> - Query hook providers for a specific event. (projectRoot: string, scope?: "project" | "global", references?: string[], content?: string) => Promise<EngineResult<{ actions: Array<{ file: string; action: string; }>; count: number; }>> - Inject CLEO directives into all installed provider instruction files. (projectRoot: string) => EngineResult<{ adapters: ReturnType<AdapterManager["listAdapters"]>; count: number; }> - List all discovered adapters. (projectRoot: string, id: string) => EngineResult<{ manifest: unknown; initialized: boolean; active: boolean; }> - Show a single adapter by ID. (projectRoot: string) => EngineResult<{ detected: string[]; count: number; }> - Detect active adapters. (projectRoot: string, id?: string) => EngineResult<{ adapters: ReturnType<AdapterManager["listAdapters"]>; count: number; }> - Get adapter health status. (projectRoot: string, id: string) => Promise<EngineResult<{ id: string; name: string; version: string; active: boolean; }>> - Activate an adapter by ID. (projectRoot: string, id?: string) => Promise<EngineResult<{ disposed: string; }>> - Dispose one or all adapters. file tools-engine.ts typeof ToolsHandler file tools.ts () => Map<string, DomainHandler> - Create a Map of all canonical domain handlers. file index.ts RateLimitConfig - Per-category rate limit thresholds. RateLimitingConfig - Full rate limiting configuration across all categories. RateLimitingConfig typeof RateLimiter - Sliding-window rate limiter for the dispatch pipeline. (config?: Partial<RateLimitingConfig>) => Middleware - Creates a rate limiting middleware for the dispatch pipeline. file rate-limiter.ts LifecycleEnforcementConfig - Lifecycle enforcement configuration (Section 12.2) ProtocolValidationConfig - Protocol validation configuration (Section 12.3) DispatchConfig LifecycleEnforcementConfig - Default lifecycle enforcement configuration ProtocolValidationConfig - Default protocol validation configuration DispatchConfig - Alias for DispatchConfig. DispatchConfig "CLEO_" - Environment variable prefix for CLEO configuration { readonly cliPath: { readonly type: "string"; readonly required: true; }; readonly timeout: { readonly type: "number"; readonly min: 1000; readonly max: 300000; }; readonly logLevel: { readonly type: "string"; readonly enum: readonly ["debug", "info", "warn", "error"]; }; readonly enableMetrics: { readonly type: "boolean"; }; readonly maxRetries: { readonly type: "number"; readonly min: 0; readonly max: 10; }; readonly queryCache: { readonly type: "boolean"; }; readonly queryCacheTtl: { readonly type: "number"; readonly min: 0; readonly max: 600000; }; readonly auditLog: { readonly type: "boolean"; }; readonly strictValidation: { readonly type: "boolean"; }; } - Configuration schema for validation file defaults.ts typeof ConfigValidationError - Configuration validation error (config: DispatchConfig) => void - Validate complete configuration (projectRoot?: string) => DispatchConfig - Load configuration from all sources Priority order: 1. Environment variables (CLEO_*) 2. Config file (.cleo/config.json) 3. Defaults () => DispatchConfig - Get global configuration (singleton) () => void - Reset global configuration (for testing) file config-loader.ts file config.ts () => Middleware - Creates an audit middleware that logs all mutate operations (and query operations during grade sessions) to Pino + SQLite. file audit.ts () => Middleware - Create the LAFS field-filter middleware. Handles: - _fields: filter response data to specified fields (delegates to SDK applyFieldFilter) - _mvi: envelope verbosity — stored on request for downstream use _fields and _mvi are extracted from req.params (for callers that pass them as params) and stored on the DispatchRequest before the domain handler runs. file field-filter.ts file security.ts (getProjectRoot?: () => string) => Middleware - Creates a middleware that sanitizes incoming request parameters. Uses the canonical sanitization logic from security.ts to handle Task IDs, paths, string lengths, and enum validation. file sanitizer.ts (cliSessionLookup?: () => Promise<string | null>) => Middleware - Creates the session resolver middleware. file session-resolver.ts () => Dispatcher - Get or create the singleton CLI dispatcher. Creates a Dispatcher with all 9 domain handlers and sanitizer middleware. No rate limiter — CLI is a single-user tool. () => Dispatcher - Factory: creates a Dispatcher with all domain handlers + session-resolver, sanitizer, field-filter, and audit middleware. T4959 — added session-resolver + audit to CLI pipeline () => void - Reset the singleton dispatcher (for testing). (gateway: Gateway, domain: string, operation: string, params?: Record<string, unknown>, outputOpts?: CliOutputOptions) => Promise<void> - Build a DispatchRequest, dispatch it, and handle output/errors. This is the primary entry point for migrated CLI commands: await dispatchFromCli('query', 'tasks', 'show', taskId , command: 'show' ); Automatically honors global --field/--fields/--mvi flags from the FieldContext: - --field → plain-text extraction, no JSON envelope - --fields → field-filter middleware filters the JSON response - --mvi → envelope verbosity passed to field-filter middleware On success: calls cliOutput(response.data, outputOpts) On error: calls cliError(message, exitCode) + process.exit(exitCode) T4953 T4955 (response: DispatchResponse, _opts: { command: string; operation: string; }) => void - Handle an error response from dispatchRaw(). Calls cliError() and process.exit() when the response indicates failure. No-op when response.success is true. (gateway: Gateway, domain: string, operation: string, params?: Record<string, unknown>) => Promise<DispatchResponse> - Dispatch and return the raw response without handling output. For commands that need custom output logic (pagination, conditional messages, etc.), call this instead of dispatchFromCli(). file cli.ts (program: Command) => void - Register the add command. T4460 file add.ts (program: Command) => void - Register the admin command group. file admin.ts (program: Command) => void file adr.ts (program: Command) => void - Register the `cleo agent` command group. file agent.ts (_program: Command) => void - Register `agents` as an alias that prints deprecation notice. Health monitoring is now under `cleo agent health`. file agents.ts (program: Command) => void - Register the analyze command. T4538 file analyze.ts (program: Command) => void - Register the archive command. T4461 file archive.ts (program: Command) => void - Register the archive-stats command. Routes through dispatch layer to admin.archive.stats. T4555 file archive-stats.ts (program: Command) => void - Register the `cleo backfill` CLI command. file backfill.ts (program: Command) => void file backup.ts (program: Command) => void file blockers.ts (program: Command) => void - Register the `cleo brain` command group. Registers a `brain` parent command and a `maintenance` subcommand that combines temporal decay, memory consolidation, and embedding backfill into one idempotent pass. file brain.ts (program: Command) => void - Register the briefing command. T4916 file briefing.ts (program: Command) => void - Register the bug command. T4913 file bug.ts (program: Command) => void file cant.ts (program: Command) => void - Register the check command group. file check.ts (program: Command) => void - Register the checkpoint command. Delegates to src/store/git-checkpoint.ts for isolated .cleo/.git operations. T4551 T4872 file checkpoint.ts (program: Command) => void - Register the commands command. T4551, T5671 file commands.ts (program: Command) => void - Register the complete command. T4461 file complete.ts (program: Command) => void file compliance.ts (program: Command) => void file config.ts (program: Command) => void - Register the consensus command group. T4537 file consensus.ts (program: Command) => void file context.ts (program: Command) => void - Register the contribution command group. T4537 file contribution.ts (program: Command) => void - Register the current command. T4756 T4666 file current.ts (program: Command) => void - Register the dash command. T4535 file dash.ts (program: Command) => void - Register the decomposition command group. T4537 file decomposition.ts (program: Command) => void - Register the delete command. T4461 file delete.ts (program: Command) => void - Register the deps command group and its subcommands. (program: Command) => void - Register the tree command. file deps.ts (program: Command) => void file detect.ts (program: Command) => void file detect-drift.ts (program: Command) => void - Register the docs command. T4551 file docs.ts ProgressOptions typeof ProgressTracker - Simple progress tracker for CLI operations. typeof Spinner - Simple spinner for indeterminate progress. (enabled: boolean) => ProgressTracker - Create a progress tracker for self-update operations. (enabled: boolean) => ProgressTracker - Create a progress tracker for doctor operations. (enabled: boolean) => ProgressTracker - Create a progress tracker for upgrade operations. file progress.ts (program: Command) => void file doctor.ts (program: Command) => void - Register the env command group. T4581 file env.ts (program: Command) => void - Register the exists command. file exists.ts (program: Command) => void file export.ts (program: Command) => void file export-tasks.ts (program: Command) => void - Register the find command. T4460 T4668 file find.ts (program: Command) => void - Register the generate-changelog command. T4555 file generate-changelog.ts (program: Command) => void file grade.ts (program: Command) => void file history.ts (program: Command) => void - Register the implementation command group. T4537 file implementation.ts (program: Command) => void file import.ts (program: Command) => void file import-tasks.ts () => string - Load the gitignore template from the package's templates/ directory. Falls back to embedded content if file not found. Kept as export for backward compatibility (used by upgrade.ts). T4700 (program: Command) => void - Register the init command. T4681 T4663 file init.ts (program: Command) => void file inject.ts (program: Command) => void - Register the issue command with all subcommands. T4555 file issue.ts (program: Command) => void - Register the labels command group. T4538 file labels.ts (program: Command) => void file lifecycle.ts (program: Command) => void - Register the list command. T4460 T4668 file list.ts (program: Command) => void - Register the log command. T4538 file log.ts (program: Command) => void - Register the map command. file map.ts (program: Command) => void file memory-brain.ts (program: Command) => void - Register the `migrate claude-mem` command under a migrate parent command. Usage: cleo migrate claude-mem [--dry-run] [--source ] [--project ] file migrate-claude-mem.ts (program: Command) => void file next.ts (program: Command) => void - Register the nexus command group. T4554 file nexus.ts (program: Command) => void file observe.ts (program: Command) => void - Register the ops command. file ops.ts (program: Command) => void file orchestrate.ts (program: Command) => void - Register the otel command group. T4535 file otel.ts (program: Command) => void - Register the phase command group. T4464, T5326 file phase.ts (program: Command) => void - Register the phases command group. T4538, T5326 file phases.ts (program: Command) => void file plan.ts (program: Command) => void file promote.ts (program: Command) => void - Register the `cleo reason` command group and its subcommands. file reason.ts (program: Command) => void file refresh-memory.ts (program: Command) => void - Register the relates command group. T4538 file relates.ts (program: Command) => void file release.ts (program: Command) => void - Register the remote command with add/remove/list/push/pull subcommands. T4884 file remote.ts (program: Command) => void file reorder.ts (program: Command) => void file reparent.ts (program: Command) => void file research.ts (program: Command) => void file restore.ts (program: Command) => void file roadmap.ts (program: Command) => void - Register the safestop command. T4551 file safestop.ts (program: Command) => void file self-update.ts (program: Command) => void file sequence.ts (program: Command) => void - Register the session command group. T4463 file session.ts (program: Command) => void - Register the show command. T4460 T4666 file show.ts (program: Command) => void - Register the skills command with all subcommands. T4555 file skills.ts (program: Command) => void file snapshot.ts (program: Command) => void - Register the specification command group. T4537 file specification.ts (program: Command) => void - Register the start command. T4756 T4666 file start.ts (program: Command) => void - Register the stats command. T4535 file stats.ts (program: Command) => void - Register the sticky command group. T5281 file sticky.ts (program: Command) => void - Register the stop command. T4756 T4666 file stop.ts (program: Command) => void - Register the testing command. T4551 file testing.ts (program: Command) => void file token.ts (program: Command) => void - Register the update command. T4461 file update.ts (program: Command) => void file upgrade.ts (program: Command) => void file validate.ts (program: Command) => void file verify.ts (program: Command) => void - Register the web command. T4551 file web.ts import("/mnt/projects/cleocode/node_modules/.pnpm/citty@0.2.1/node_modules/citty/dist/index").CommandDef<import("/mnt/projects/cleocode/node_modules/.pnpm/citty@0.2.1/node_modules/citty/dist/index").ArgsDef> file code.ts file index.ts (cwd: string, loggingConfig: LoggerConfig) => void - Initialize CLI logger with optional projectHash correlation context. file logger-bootstrap.ts file archive-stats.test.ts file checkpoint.test.ts file cli-output-flags.test.ts file commands.test.ts file docs.test.ts file export-tasks.test.ts file import-tasks.test.ts file logger-bootstrap.test.ts file safestop.test.ts file testing.test.ts file web.test.ts (_program: Command) => void - Register dynamically-generated commands onto the Commander program. Stub implementation: no commands registered until T4897 populates OperationDef.params arrays for all operations. file dynamic.ts file init-detect.test.ts file init-gitignore.test.ts file nexus.test.ts (error: CleoError) => string - Render a CleoError as structured markdown for CLI display. file error.ts file cli-error-signature.test.ts (strictMode?: boolean) => Middleware - Creates a middleware that enforces protocol compliance. Delegates to ProtocolEnforcer.enforceProtocol() which: - Passes through query operations untouched - Passes through mutate operations that don't require validation - Validates protocol compliance on validated mutate operations after execution - In strict mode, blocks operations with protocol violations (exit codes 60-70) file protocol-enforcement.ts (strictMode?: boolean) => Middleware - Creates a middleware that enforces verification gates on task operations. file verification-gates.ts file index.ts file parity.integration.test.ts file param-utils.ts (domain: string, operation: string, gateway: Gateway) => JSONSchemaObject - Look up an operation in the OPERATIONS registry and return a JSON Schema object suitable for use as `input_schema.properties.params` or as a stand-alone per-operation schema. (gateway: Gateway) => Record<string, JSONSchemaObject> - Return schemas for ALL operations of a given gateway. Useful for documentation generation and tool introspection endpoints. file schema-utils.ts file parity.test.ts file registry-derivation.test.ts file registry.test.ts file cli.test.ts file admin.test.ts file alias-detection.test.ts file check-ops.test.ts file check.test.ts file memory-brain.test.ts file memory-legacy-rejection.test.ts file nexus.test.ts file orchestrate-handoff.test.ts file orchestrate.test.ts file pipeline-manifest.test.ts file pipeline.test.ts file registry-parity.test.ts file sticky-list.test.ts file sticky.test.ts file tasks-filters.test.ts file tasks.test.ts file tools.test.ts file hooks-engine.test.ts file lifecycle-engine.test.ts file orchestrate-engine.test.ts file release-engine.test.ts file release-push-guard.test.ts file release-ship.test.ts file session-engine-scope.test.ts file session-handoff-fix.test.ts file session-safety.test.ts file task-engine.test.ts file validate-engine.test.ts file capability-matrix.ts MviTier - Disclosure tier level for MVI (Minimum Viable Information) filtering. ProjectionConfig - Configuration for a single MVI projection tier. Record<MviTier, ProjectionConfig> (params?: Record<string, unknown>, sessionScope?: { type: string; epicId?: string; } | null) => MviTier - Resolve tier from request params, defaulting to 'standard'. file projections.ts file meta.test.ts ProjectionContext (domain: string, tier: MviTier) => boolean - Check if a domain is allowed at the given tier. <T>(data: T, config: ProjectionConfig) => T - Apply field projection to a result object. Removes fields that are excluded at the given tier and prunes depth. (params?: Record<string, unknown>) => ProjectionContext - Create projection context from request params. () => Middleware - Create the MVI projection middleware. Extracts _mviTier from params, checks domain access, and applies field exclusions to the response. file projection.ts file projections.test.ts file security.test.ts file audit.test.ts file pipeline.test.ts file projection.test.ts file protocol-enforcement.test.ts AdapterCapabilities - Adapter capability declarations for CLEO provider adapters. T5240 file capabilities.ts AdapterContextMonitorProvider - Context monitor provider interface for CLEO provider adapters. Allows providers to implement context window tracking and statusline integration. T5240 file context-monitor.ts AdapterHookProvider - Hook provider interface for CLEO provider adapters. Maps provider-specific events to CAAMP hook events. T5240 file hooks.ts AdapterInstallProvider - Install provider interface for CLEO provider adapters. Handles registration with the provider and instruction file references. T5240 InstallOptions InstallResult file install.ts AdapterPathProvider - Path provider interface for CLEO provider adapters. Allows providers to declare their OS-specific directory locations. T5240 file provider-paths.ts AdapterSpawnProvider - Spawn provider interface for CLEO provider adapters. T5240 SpawnContext SpawnResult file spawn.ts ExternalTaskStatus - Normalized status for tasks coming from an external provider. ExternalTask - A task as reported by an external provider, normalized to a common shape. Provider-specific adapters translate their native format into this. ExternalLinkType - How an external task link was established. SyncDirection - Direction of the sync that established the link. ExternalTaskLink - A link between a CLEO task and an external provider task. Stored in the external_task_links table in tasks.db. ConflictPolicy - Policy for resolving conflicts between CLEO and provider state. - `cleo-wins`: CLEO state takes precedence (default). - `provider-wins`: Provider state takes precedence. - `latest-wins`: Most recently modified value wins. - `report-only`: Report conflicts without applying changes. ReconcileOptions - Options for the reconciliation engine. ReconcileActionType - The type of action the reconciliation engine will take. ReconcileAction - A single reconciliation action (planned or applied). ReconcileResult - Result of a full reconciliation run. ExternalTaskProvider - Interface that provider adapters implement to expose their external task system to the reconciliation engine. Provider-specific parsing lives in the adapter — core never sees native formats. Consumers implement this interface to integrate their issue tracker with CLEO. file task-sync.ts TransportConfig - Transport-specific configuration stored per agent credential. AgentCredential - A registered agent's credentials and profile. AgentListFilter - Filter options for listing agent credentials. AgentRegistryAPI - CRUD and lifecycle operations for agent credentials. file agent-registry.ts ConduitMessage - A message received through the Conduit. ConduitSendOptions - Options for sending a message. ConduitSendResult - Result of sending a message. ConduitUnsubscribe - Unsubscribe function returned by event subscriptions. ConduitState - Conduit connection states. ConduitStateChange - Connection state change event. Conduit - The Conduit Protocol interface — high-level agent messaging. Conduit wraps a Transport adapter, adding messaging semantics. Implementations: - `ConduitClient` (`@cleocode/core` — wraps any Transport) - `HttpTransport` (HTTP polling to cloud SignalDock API) - `LocalTransport` (napi-rs in-process — embedded SignalDock, future) - `SseTransport` (Server-Sent Events — real-time cloud, future) Consumers: - `@cleocode/cleo` CLI (`cleo agent watch/poll/send`) - `@cleocode/runtime` (background polling, SSE connections) - CleoOS Electron (embedded SignalDock via LocalTransport) - Agent spawners (deliver task assignments, collect results) ConduitConfig - Configuration for creating a Conduit instance. file conduit.ts TransportConnectConfig - Configuration passed to Transport.connect(). Transport - Low-level wire transport for agent messaging. AdapterTransportProvider file transport.ts CLEOProviderAdapter - Core provider adapter interface that every CLEO provider must implement. AdapterHealthStatus - Health check result returned by `CLEOProviderAdapter.healthCheck`. file adapter.ts readonly ["pending", "active", "blocked", "done", "cancelled", "archived"] readonly ["active", "ended", "orphaned", "suspended"] readonly ["active", "completed", "blocked", "failed", "cancelled", "aborted"] readonly ["not_started", "in_progress", "blocked", "completed", "skipped", "failed"] readonly ["proposed", "accepted", "superseded", "deprecated"] readonly ["pending", "passed", "failed", "waived"] readonly ["completed", "partial", "blocked", "archived"] "active" | "pending" | "cancelled" | "blocked" | "done" | "archived" "active" | "ended" | "orphaned" | "suspended" "active" | "completed" | "failed" | "cancelled" | "blocked" | "aborted" "completed" | "failed" | "blocked" | "not_started" | "in_progress" | "skipped" "deprecated" | "proposed" | "accepted" | "superseded" "failed" | "pending" | "passed" | "waived" "completed" | "blocked" | "archived" | "partial" ReadonlySet<"active" | "pending" | "cancelled" | "blocked" | "done" | "archived"> ReadonlySet<"active" | "completed" | "failed" | "cancelled" | "blocked" | "aborted"> ReadonlySet<"completed" | "failed" | "blocked" | "not_started" | "in_progress" | "skipped"> EntityType Record<EntityType, readonly string[]> (entityType: EntityType, value: string) => boolean Record<"active" | "completed" | "failed" | "cancelled" | "blocked" | "aborted", string> - Pipeline status → Unicode progress icon. Used wherever lifecycle pipeline status is rendered to a terminal. Record<"completed" | "failed" | "blocked" | "not_started" | "in_progress" | "skipped", string> - Stage status → Unicode progress icon. Used wherever pipeline stage status is rendered to a terminal. Record<"active" | "pending" | "cancelled" | "blocked" | "done" | "archived", string> - Task status → Unicode symbol (rich terminal / Unicode-enabled). Falls back to TASK_STATUS_SYMBOLS_ASCII when Unicode is unavailable. Record<"active" | "pending" | "cancelled" | "blocked" | "done" | "archived", string> - Task status → ASCII fallback symbol (non-Unicode terminals, CI output). file status-registry.ts TaskPriority - Task priority levels. TaskType - Task type in hierarchy. TaskSize - Task size (scope, NOT time). EpicLifecycle - Epic lifecycle states. TaskOrigin - Task origin (provenance). VerificationAgent - Verification agent types. VerificationGate - Verification gate names. VerificationFailure - Verification failure log entry. TaskVerification - Task verification state. TaskProvenance - Task provenance tracking. TaskRelation - A single task relation entry. Task - A single CLEO task as stored in the database. Fields marked as required are enforced by CLEO's anti-hallucination validation at runtime. Making them required here ensures the type system catches violations at compile time rather than deferring to runtime checks. TaskCreate - Input type for creating a new task via `addTask()`. Only the fields the caller MUST provide are required. All other fields have sensible defaults applied by the creation logic: - `status` defaults to `'pending'` - `priority` defaults to `'medium'` - `type` is inferred from parent context - `size` defaults to `'medium'` CompletedTask - A task with `status = 'done'`. Narrows `Task` to require `completedAt`. Use this type when you need to guarantee a completed task has its completion timestamp — for example, in cycle-time calculations or archive operations. CancelledTask - A task with `status = 'cancelled'`. Narrows `Task` to require `cancelledAt` and `cancellationReason`. Use this type when processing cancelled tasks where the cancellation metadata is guaranteed to be present. PhaseStatus - Phase status. Phase - Phase definition. PhaseTransition - Phase transition record. ReleaseStatus - Release status. Release - Release definition. ProjectMeta - Project metadata. FileMeta - File metadata (_meta block). SessionNote - Session note in taskWork block. TaskWorkState - Task work state. file task.ts ArchiveMetadata - Archive metadata attached to archived task records. ArchivedTask - A task with archive metadata. ArchiveReportType - Report type for archive statistics. ArchiveSummaryReport - Summary report from archive statistics. ArchivePhaseEntry - Phase breakdown entry from archive statistics. ArchiveLabelEntry - Label breakdown entry from archive statistics. ArchivePriorityEntry - Priority breakdown entry from archive statistics. CycleTimeDistribution - Cycle time distribution buckets. CycleTimePercentiles - Cycle time percentiles. ArchiveCycleTimesReport - Cycle times report from archive statistics. ArchiveDailyTrend - Daily archive trend entry. ArchiveMonthlyTrend - Monthly archive trend entry. ArchiveTrendsReport - Trends report from archive statistics. ArchiveStatsEnvelope - Archive statistics result envelope. file archive.ts BrainEntryRef - Compact brain entry reference used in contradiction analysis. BrainEntrySummary - Brain entry reference with summary, used in superseded analysis. ContradictionDetail - Contradiction detail between two brain entries. SupersededEntry - Superseded entry pair showing old and replacement entries. file brain.ts CodeSymbolKind - Kind of code symbol extracted from AST. CodeSymbol - A structured code symbol extracted from a source file via tree-sitter. ParseResult - Result of parsing a single file. BatchParseResult - Result of batch-parsing multiple files. file code-symbol.ts OutputFormat - Output format options. DateFormat - Date format options. OutputConfig - Output configuration. BackupConfig - Backup configuration. EnforcementProfile - Hierarchy enforcement profile preset. HierarchyConfig - Hierarchy configuration. SessionConfig - Session configuration. LogLevel - Pino log levels. LoggingConfig - Logging configuration. AcceptanceEnforcementMode - Acceptance criteria enforcement mode. AcceptanceEnforcementConfig - Acceptance criteria enforcement settings. SessionEnforcementConfig - Session enforcement settings. EnforcementConfig - Top-level enforcement configuration. VerificationConfig - Verification gate configuration. LifecycleEnforcementMode - Lifecycle enforcement mode. LifecycleConfig - Lifecycle enforcement configuration. SharingMode - Sharing mode: whether .cleo/ files are committed to the project git repo. SharingConfig - Sharing configuration for multi-contributor .cleo/ state management. BrainMemoryBridgeConfig - Brain memory bridge refresh configuration. Controls when `.cleo/memory-bridge.md` is automatically regenerated. T134 T135 BrainEmbeddingConfig - Brain embedding provider configuration. T134 T136 BrainSummarizationConfig - Brain session summarization configuration. T134 T140 BrainConfig - Brain (BRAIN memory system) configuration. Controls automated memory capture, embedding generation, memory bridge refresh behavior, and session summarization. T134 T135 SessionSummaryInput - Structured session summary input for ingestStructuredSummary(). T134 T140 SignalDockMode - SignalDock transport mode. SignalDockConfig - SignalDock integration configuration. CleoConfig - CLEO project configuration (config.json). ConfigSource - Configuration resolution priority. ResolvedValue<T> - A resolved config value with its source. file config.ts SessionScope - Session scope JSON blob shape. SessionStats - Session statistics. SessionTaskWork - Active task work state within a session. Session - Session domain type — plain interface aligned with Drizzle sessions table. SessionStartResult - Result of a session start operation. The `sessionId` field is a convenience alias for `session.id`, provided for consumers that expect it at the top level of the result. typeof SessionView - SessionView — typed wrapper over Session[] with collection helpers. Provides discoverable query methods for common session lookups. Does NOT change the DataAccessor interface — consumers create views from Session[]. file session.ts DataAccessorAgentInstance - Agent instance row shape for DataAccessor methods. Mirrors the agent_instances Drizzle table in core but avoids Drizzle dependency. ArchiveFields - Archive-specific fields for task upsert. ArchiveFile - Archive file structure. TaskQueryFilters - Filter bag for queryTasks(). Covers ~90% of task query patterns. QueryTasksResult - Result from queryTasks() with pagination support. TaskFieldUpdates - Partial task row fields for updateTaskFields(). TransactionAccessor - Subset of DataAccessor methods available inside a transaction callback. Write-only — reads use the outer accessor (snapshot isolation). DataAccessor - DataAccessor interface. Core modules call these methods instead of readJson/saveJson. Each method maps directly to the file-level operations that core modules already perform. file data-accessor.ts AdapterManifest DetectionPattern file discovery.ts (error: unknown, fallbackMessage?: string) => Error - Normalize any thrown value into a standardized error object. Handles: - Error instances (preserves stack trace info) - Strings (wraps in Error) - Objects with message property - null/undefined (provides fallback) (error: unknown, fallback?: string) => string - Extract a human-readable message from any error value. Safe to use on unknown thrown values without type guards. (error: unknown, context?: string, includeStack?: boolean) => string - Format error details for logging or display. Includes stack trace for Error instances when includeStack is true. (error: unknown, codeOrName: string) => boolean - Check if an error represents a specific error type by code or name. Useful for conditional error handling based on error types. (error: unknown) => { success: false; error: string; } - Create a standardized error result object. Common pattern for operations that return success: boolean, error?: string () => { success: true; } - Create a standardized success result object. (result: { success: boolean; error?: string; }) => result is { success: false; error: string; } - Type guard for error results. file errors.ts ExitCode - CLEO exit codes — canonical definitions shared across all layers. Ranges: 0 = success, 1-99 = errors, 100+ = special (non-error) states. T4454 T4456 T5710 (code: ExitCode) => boolean - Check if an exit code represents an error (1-99). (code: ExitCode) => boolean - Check if an exit code represents success (0 or 100+). (code: ExitCode) => boolean - Check if an exit code indicates no change (idempotent operation). (code: ExitCode) => boolean - Check if an exit code is recoverable (retry may succeed). (code: ExitCode) => string - Human-readable name for an exit code. file exit-codes.ts LAFSErrorCategory - LAFS error category. LAFSError - LAFS error object. Warning - LAFS warning. LAFSTransport - LAFS transport metadata. MVILevel - MVI (Minimal Viable Information) level. LAFSPageNone - LAFS page — no pagination. LAFSPageOffset - LAFS page — offset-based pagination. LAFSPage - LAFS page union. LAFSMeta - LAFS metadata block. LAFSEnvelope<T> - LAFS envelope (canonical protocol type). FlagInput - Flag input for conformance checks. ConformanceReport - Conformance report. LafsAlternative - Actionable alternative the caller can try. LafsErrorDetail - LAFS error detail shared between CLI and gateway. LafsSuccess<T> - LAFS success envelope (CLI). LafsError - LAFS error envelope (CLI). LafsEnvelope<T> - CLI envelope union type. GatewayMeta - Metadata attached to every gateway response. Extends the canonical LAFSMeta with CLEO gateway-specific fields. T4655 GatewaySuccess<T> - Gateway success envelope (extends CLI base with _meta). GatewayError - Gateway error envelope (extends CLI base with _meta). GatewayEnvelope<T> - Gateway envelope union type. CleoResponse<T> - Unified CLEO response envelope. Every CLEO response (CLI or Gateway) is a CleoResponse. Gateway responses include the _meta field; CLI responses do not. <T>(envelope: LafsEnvelope<T>) => envelope is LafsSuccess<T> - Type guard for success responses. <T>(envelope: LafsEnvelope<T>) => envelope is LafsError - Type guard for error responses. <T>(envelope: CleoResponse<T>) => envelope is GatewayEnvelope<T> - Type guard for gateway responses (has _meta). file lafs.ts MemoryBridgeConfig - Memory bridge types for CLEO provider adapters. Defines the shape of .cleo/memory-bridge.md content for cross-provider memory sharing. T5240 MemoryBridgeContent - Structured content of the `.cleo/memory-bridge.md` file. SessionSummary - Summary of a completed session for the memory bridge. BridgeLearning - A key learning extracted from brain.db for the memory bridge. BridgePattern - A recurring pattern identified in brain.db entries. BridgeDecision - A decision recorded in brain.db for the memory bridge. BridgeObservation - A recent observation from brain.db for the memory bridge. file memory.ts IssueSeverity - Common issue types IssueArea IssueType Diagnostics IssuesDiagnosticsParams IssuesDiagnosticsResult IssuesCreateBugParams IssuesCreateBugResult IssuesCreateFeatureParams IssuesCreateFeatureResult IssuesCreateHelpParams IssuesCreateHelpResult file issues.ts LifecycleStage - Common lifecycle types GateStatus StageRecord Gate LifecycleCheckParams LifecycleCheckResult LifecycleStatusParams LifecycleStatusResult LifecycleHistoryParams LifecycleHistoryEntry LifecycleHistoryResult LifecycleGatesParams LifecycleGatesResult LifecyclePrerequisitesParams LifecyclePrerequisitesResult LifecycleProgressParams LifecycleProgressResult LifecycleSkipParams LifecycleSkipResult LifecycleResetParams LifecycleResetResult LifecycleGatePassParams LifecycleGatePassResult LifecycleGateFailParams LifecycleGateFailResult file lifecycle.ts Wave - Common orchestration types SkillDefinition OrchestrateStatusParams OrchestrateStatusResult OrchestrateNextParams OrchestrateNextResult OrchestrateReadyParams OrchestrateReadyResult OrchestrateAnalyzeParams OrchestrateAnalyzeResult OrchestrateContextParams OrchestrateContextResult OrchestrateWavesParams OrchestrateWavesResult OrchestrateSkillListParams OrchestrateSkillListResult OrchestrateBootstrapParams BrainState OrchestrateStartupParams OrchestrateStartupResult OrchestrateSpawnParams OrchestrateSpawnResult OrchestrateHandoffParams OrchestrateHandoffResult OrchestrateValidateParams OrchestrateValidateResult OrchestrateParallelStartParams OrchestrateParallelStartResult OrchestrateParallelEndParams OrchestrateParallelEndResult file orchestrate.ts ReleaseType - Common release types ReleaseGate ChangelogSection ReleasePrepareParams ReleasePrepareResult ReleaseChangelogParams ReleaseChangelogResult ReleaseCommitParams ReleaseCommitResult ReleaseTagParams ReleaseTagResult ReleasePushParams ReleasePushResult ReleaseGatesRunParams ReleaseGatesRunResult ReleaseRollbackParams ReleaseRollbackResult file release.ts ResearchEntry - Common research types ManifestEntry ResearchShowParams ResearchEntry ResearchListParams ResearchListResult ResearchQueryParams ResearchQueryResult ResearchPendingParams ResearchPendingResult ResearchStatsParams ResearchStatsResult ResearchManifestReadParams ResearchManifestReadResult ResearchInjectParams ResearchInjectResult ResearchLinkParams ResearchLinkResult ResearchManifestAppendParams ResearchManifestAppendResult ResearchManifestArchiveParams ResearchManifestArchiveResult file research.ts SessionOp - Common session types SessionStatusParams SessionStatusResult SessionListParams SessionListResult SessionShowParams SessionOp SessionHistoryParams SessionHistoryEntry SessionHistoryResult SessionStartParams SessionOp SessionEndParams SessionEndResult SessionResumeParams SessionOp SessionSuspendParams SessionSuspendResult SessionGcParams SessionGcResult file session.ts SkillCategory - Common skill types SkillStatus DispatchStrategy SkillSummary SkillDetail DispatchCandidate DependencyNode ValidationIssue SkillsListParams SkillsListResult SkillsShowParams SkillDetail SkillsFindParams SkillsFindResult SkillsDispatchParams SkillsDispatchResult SkillsVerifyParams SkillsVerifyResult SkillsDependenciesParams SkillsDependenciesResult SkillsInstallParams SkillsInstallResult SkillsUninstallParams SkillsUninstallResult SkillsEnableParams SkillsEnableResult SkillsDisableParams SkillsDisableResult SkillsConfigureParams SkillsConfigureResult SkillsRefreshParams SkillsRefreshResult file skills.ts HealthCheck - Common system types ProjectStats SystemVersionParams SystemVersionResult SystemDoctorParams SystemDoctorResult SystemConfigGetParams SystemConfigGetResult SystemStatsParams ProjectStats SystemContextParams SystemContextResult SystemInitParams SystemInitResult SystemConfigSetParams SystemConfigSetResult SystemBackupParams SystemBackupResult SystemRestoreParams SystemRestoreResult SystemMigrateParams SystemMigrateResult SystemSyncParams SystemSyncResult SystemCleanupParams SystemCleanupResult file system.ts TaskPriority TaskOp MinimalTask TasksGetParams TaskOp TasksListParams TasksListResult TasksFindParams TasksFindResult TasksExistsParams TasksExistsResult TasksTreeParams TaskTreeNode TasksTreeResult TasksBlockersParams Blocker TasksBlockersResult TasksDepsParams TaskDependencyNode TasksDepsResult TasksAnalyzeParams TriageRecommendation TasksAnalyzeResult TasksNextParams SuggestedTask TasksNextResult TasksCreateParams TaskOp TasksUpdateParams TaskOp TasksCompleteParams TasksCompleteResult TasksDeleteParams TasksDeleteResult TasksArchiveParams TasksArchiveResult TasksUnarchiveParams TaskOp TasksReparentParams TaskOp TasksPromoteParams TaskOp TasksReorderParams TasksReorderResult TasksReopenParams TaskOp TasksStartParams TasksStartResult TasksStopParams TasksStopResult TasksCurrentParams TasksCurrentResult file tasks.ts ValidationSeverity - Common validation types ValidationViolation ComplianceMetrics ValidateSchemaParams ValidateSchemaResult ValidateProtocolParams ValidateProtocolResult ValidateTaskParams ValidateTaskResult ValidateManifestParams ValidateManifestResult ValidateOutputParams ValidateOutputResult ValidateComplianceSummaryParams ComplianceMetrics ValidateComplianceViolationsParams ValidateComplianceViolationsResult ValidateTestStatusParams ValidateTestStatusResult ValidateTestCoverageParams ValidateTestCoverageResult ValidateComplianceRecordParams ValidateComplianceRecordResult ValidateTestRunParams ValidateTestRunResult file validate.ts file index.ts OrchestrationLevel - The 5 orchestration levels in order of authority. AgentHierarchyEntry - An agent's position in the orchestration hierarchy. AgentHierarchy - The full agent hierarchy tree. EscalationChain - An escalation path from an agent to its authority chain. OrchestrationHierarchyAPI - API for querying and managing the agent hierarchy. file orchestration-hierarchy.ts TaskRecordRelation - A single task relation entry (string-widened version). ValidationHistoryEntry - Validation history entry. TaskRecord - String-widened Task for JSON serialization in dispatch/LAFS layer. MinimalTaskRecord - Minimal task representation for find results. file task-record.ts TaskSummary - Task summary counts used in dashboard and stats views. LabelCount - Label frequency entry. DashboardResult - Dashboard result from system.dash query. StatsCurrentState - Current state counts used in stats results. StatsCompletionMetrics - Completion metrics for a given time period. StatsActivityMetrics - Activity metrics for a given time period. StatsAllTime - All-time cumulative statistics. StatsCycleTimes - Cycle time statistics. StatsResult - Stats result from system.stats query. LogQueryResult - Log query result from system.log query. ContextResult - Context monitoring data from system.context query. SequenceResult - Sequence counter data from system.sequence query. TaskRef - Compact task reference used across analysis and dependency results. TaskRefPriority - Task reference with optional priority (used in orchestrator/HITL contexts). LeveragedTask - Task with leverage score for prioritization. BottleneckTask - Bottleneck task — blocks other tasks. TaskAnalysisResult - Task analysis result from tasks.analyze. TaskDepsResult - Single task dependency result from tasks.deps. CompleteTaskUnblocked - Completion result — unblocked tasks after completing a task. file results.ts string - Provider identifier for spawn operations. CAAMPSpawnOptions - CAAMP-compatible spawn options (inlined for zero-dep contracts). CAAMPSpawnResult - CAAMP-compatible spawn result (inlined for zero-dep contracts). CLEOSpawnContext - CLEO-specific spawn context Extends CAAMP options with CLEO task and protocol metadata CLEOSpawnResult - CLEO spawn result Extends CAAMP SpawnResult with CLEO-specific timing and metadata CLEOSpawnAdapter - Spawn adapter interface Wraps CAAMP SpawnAdapter with CLEO-specific context and result types TokenResolution - Token resolution information for prompt processing SpawnStatus - Spawn status values file spawn-types.ts ProtocolType - All supported protocol types. Covers the 9 RCASD-IVTR pipeline stages plus the 3 cross-cutting protocols (contribution, artifact-publish, provenance). Must stay in sync with `packages/core/src/orchestration/protocol-validators.ts#PROTOCOL_TYPES`. T260 — add architecture-decision, validation, testing GateName - Verification gate names (ordered dependency chain). WarpStage - A single stage in the warp chain. The category union includes all canonical CLEO pipeline stages plus 'custom' for user-defined stages. WarpLink - Connection between two stages in the chain. ChainShape - The topology/DAG of a workflow. GateCheck - Discriminated union for gate check types. GateContract - A quality gate embedded in the chain. WarpChain - Complete chain definition combining shape and gates. ChainValidation - Result of validating a chain definition. WarpChainInstance - A chain bound to a specific epic. GateResult - Result of evaluating a single gate. WarpChainExecution - Runtime state of a chain instance execution. file warp-chain.ts TesseraVariable - A variable declaration within a Tessera template. TesseraTemplate - A parameterized WarpChain template with variable bindings. TesseraInstantiationInput - Input for instantiating a Tessera template into a concrete chain. file tessera.ts file index.ts readonly ["discovery", "change", "feature", "bugfix", "decision", "refactor"] - Observation type categories for brain entries. "discovery" | "change" | "feature" | "bugfix" | "decision" | "refactor" - Brain observation type. HybridSearchOptions - Options for hybrid (FTS + vector + graph) brain search. DuplicateStrategy - Strategy for handling duplicate tasks during import. ImportParams - Parameters for task import operations. readonly ["starting", "active", "idle", "error", "crashed", "stopped"] - Agent instance status values. "error" | "active" | "starting" | "idle" | "crashed" | "stopped" - Agent instance status type. readonly ["orchestrator", "executor", "researcher", "architect", "validator", "documentor", "custom"] - Agent type classification values. "orchestrator" | "custom" | "executor" | "researcher" | "architect" | "validator" | "documentor" - Agent type classification. AgentInstanceRow - Row shape for the `agent_instances` table. Manually defined to avoid Drizzle dependency in contracts. Must stay in sync with `packages/core/src/agents/agent-schema.ts`. RegisterAgentOptions - Options for registering a new agent instance. AgentCapacity - Agent capacity information. AgentHealthStatus - Agent health status from heartbeat monitoring. BlastRadiusSeverity - Severity classification for blast radius. ImpactedTask - A single task predicted to be affected by a change. ImpactReport - Full impact prediction report for a free-text change description. BlastRadius - Quantified scope of a task's impact across the project. TaskStartResult - Result of starting work on a task. TasksAPI - Tasks domain API. SessionsAPI - Sessions domain API. MemoryAPI - Memory/Brain domain API. OrchestrationAPI - Orchestration domain API. LifecycleAPI - Lifecycle pipeline domain API. ReleaseAPI - Release management domain API. AdminAPI - Admin domain API. StickyAPI - Sticky notes domain API. NexusAPI - Cross-project Nexus domain API. SyncAPI - Task reconciliation / sync domain API. AgentsAPI - Agent registry domain API. IntelligenceAPI - Intelligence / impact analysis domain API. CleoInitOptions - Options for initializing the Cleo facade. file facade.ts PruneResult (cleoDir: string, config: LoggingConfig) => Promise<PruneResult> - Prune old audit_log rows from tasks.db. 1. If auditRetentionDays is 0 or undefined, skip age-based pruning. 2. Compute cutoff timestamp from auditRetentionDays. 3. If archiveBeforePrune, select rows older than cutoff and write to .cleo/backups/logs/audit-YYYY-MM-DD.jsonl.gz. 4. Delete rows older than cutoff from audit_log. Idempotent — safe to call multiple times. Never throws — returns zero counts on any error. file audit-prune.ts (projectPath: string) => string - Canonical project identity hash. SHA-256 of absolute path, first 12 hex chars. Single source of truth — do not duplicate this function elsewhere. file hash.ts (data: unknown, schema: Record<string, unknown>, schemaId?: string) => void - Validate data against a JSON Schema object. Throws CleoError on validation failure. (data: unknown, schemaPath: string) => Promise<void> - Load a JSON Schema file and validate data against it. (data: unknown, schema: Record<string, unknown>) => string[] - Check if data is valid against a schema without throwing. Returns an array of error messages (empty if valid). file json-schema-validator.ts SchemaInstallResult StalenessReport InstalledSchema CheckResult (schemaName: string) => string | null - Resolve the absolute path to a schema file at runtime. Priority: 1. Global install: ~/.cleo/schemas/schemaName 2. Package bundled: /schemas/schemaName (schemaName: string) => string | null - Read the schema version from a resolved schema file. Checks `schemaVersion` (top-level) and `_meta.schemaVersion` (canonical). (_opts?: Record<string, unknown>) => SchemaInstallResult - Copy ALL bundled schemas from package schemas/ to ~/.cleo/schemas/. - Creates the global schemas directory if it doesn't exist. - Skips files that are already up-to-date (same version). - Overwrites stale files (version mismatch). () => CheckResult - Verify that global schemas are installed and not stale. () => StalenessReport - Compare global schema versions against bundled package versions. () => InstalledSchema[] - List all schemas installed in ~/.cleo/schemas/. (projectRoot: string) => Promise<{ cleaned: boolean; }> - Backup and remove deprecated .cleo/schemas/ directory from a project. Schemas should live in ~/.cleo/schemas/ (global) not in project directories. This function creates a backup before removal for safety. file schema-management.ts JsonFileIntegrityResult - Result for a single file check. SchemaIntegrityReport - Full integrity report for all JSON files. (schemaName: string) => string | null - Read the top-level `schemaVersion` field from a schema file. Delegates to the centralized schema-management module. Returns null if the file cannot be read or has no such field. (cwd?: string) => Promise<SchemaIntegrityReport> - Check integrity of all active JSON files in a CLEO project. file schema-integrity.ts ProjectType - Detected project type. TestFramework - Test framework. FileNamingConvention ImportStyle ProjectContext - Schema-compliant project context for LLM agent consumption. (projectDir: string) => ProjectContext - Detect project type from directory contents. Returns a schema-compliant ProjectContext object. file project-detect.ts ScaffoldResult InjectionCheckResult () => string | null - Get the CLEO-INJECTION.md template content from the package templates/ directory. Returns null if the template file is not found. (projectRoot: string) => Promise<ScaffoldResult> - Full injection refresh: strip legacy blocks, inject CAAMP content, install global template, create hub. Replaces initInjection from init.ts with a ScaffoldResult return type. Target architecture: CLAUDE.md/GEMINI.md - AGENTS.md (via injectAll) AGENTS.md - ~/.agents/AGENTS.md + .cleo/project-context.json + .cleo/memory-bridge.md T4682 (projectRoot: string) => string | null - Build a smart, contextual contributor block for AGENTS.md injection. Returns null if this is not a contributor project. The block is INFORMATIONAL, not prescriptive. It tells agents: - This is the CLEO source repo (contributor project) - cleo-dev is available (or not, with reason) - Prefer cleo-dev for unreleased features, but fall back to cleo if the dev build is broken or unavailable This avoids the trap where a hardcoded "ALWAYS use cleo-dev" instruction sends agents into a loop when the dev build has compile errors. (projectRoot: string) => InjectionCheckResult - Verify injection health: AGENTS.md exists, has CAAMP markers, markers are balanced, and references resolve. Combines logic from doctor/checks.ts checkAgentsMdHub, checkCaampMarkerIntegrity, and checkAtReferenceTargetExists. file injection.ts ScaffoldResult - Result of an ensure* scaffolding operation. CheckStatus - Status of a check* diagnostic. CheckResult - Result of a check* diagnostic (compatible with doctor/checks.ts CheckResult). readonly ["backups/operational", "backups/safety", "agent-outputs", "logs", "rcasd", "adrs"] - Required subdirectories under .cleo/. "# .cleo/.gitignore — Deny-by-default for CLEO project data\n# Ignore everything, then explicitly allow only tracked files.\n\n# Step 1: Ignore everything\n*\n\n# Allow list\n!.gitignore\n!config.json\n!project-context.json\n!project-info.json\n!setup-otel.sh\n!DATA-SAFETY-IMPLEMENTATION-SUMMARY.md\n!adrs/\n!adrs/**\n!rcasd/\n!rcasd/**\n!agent-outputs/\n!agent-outputs/**\n\n# Explicit deny safety net\n*.db\n*.db-shm\n*.db-wal\n*.db-journal\nlog.json\nbypass-log.json\nqa-log.json\n.deps-cache/\n.context-alert-state.json\n.context-state*.json\ncontext-states/\n.git-checkpoint-state\n.migration-state.json\nmigrations.json\nsync/\nmetrics/\n.backups/\nbackups/\n" - Embedded fallback for .cleo/.gitignore content (deny-by-default). (path: string) => Promise<boolean> - Check if a file exists and is readable. (filePath: string) => Promise<void> - Strip legacy CLEO:START/CLEO:END blocks from a file. Called before CAAMP injection to prevent competing blocks. (projectRoot: string) => Promise<{ removed: boolean; }> - Remove .cleo/ or .cleo entries from the project root .gitignore. () => string - Resolve the package root directory (where schemas/ and templates/ live). scaffold.ts lives in packages/core/src/, so 1 level up reaches the package root. () => string - Load the gitignore template from the package's templates/ directory. Falls back to embedded content if file not found. () => string - Read CLEO version from package.json. () => Record<string, unknown> - Create default config.json content. (projectRoot: string) => Promise<ScaffoldResult> - Create .cleo/ directory and all required subdirectories. Idempotent: skips directories that already exist. (projectRoot: string) => Promise<ScaffoldResult> - Create or repair .cleo/.gitignore from template. Idempotent: skips if file already exists with correct content. (projectRoot: string, opts?: { force?: boolean; }) => Promise<ScaffoldResult> - Create default config.json if missing. Idempotent: skips if file already exists. (projectRoot: string, opts?: { force?: boolean; }) => Promise<ScaffoldResult> - Create or refresh project-info.json. Idempotent: skips if file already exists (unless force). (projectRoot: string) => Promise<ScaffoldResult> - No-op. Kept for API compatibility. (projectRoot: string, opts?: { force?: boolean; staleDays?: number; }) => Promise<ScaffoldResult> - Detect and write project-context.json. Idempotent: skips if file exists and is less than staleDays old (default: 30). (projectRoot: string) => Promise<ScaffoldResult> - Initialize isolated .cleo/.git checkpoint repository. Idempotent: skips if .cleo/.git already exists. (projectRoot: string) => Promise<ScaffoldResult> - Create SQLite database if missing. Idempotent: skips if tasks.db already exists. (projectRoot: string) => CheckResult - Verify all required .cleo/ subdirectories exist. (projectRoot: string) => CheckResult - Verify .cleo/.gitignore exists and matches template. (projectRoot: string) => CheckResult - Verify config.json exists and is valid JSON. (projectRoot: string) => CheckResult - Verify project-info.json exists with required fields. (projectRoot: string, staleDays?: number) => CheckResult - Verify project-context.json exists and is not stale (default: 30 days). (projectRoot: string) => CheckResult - Verify .cleo/.git checkpoint repository exists. (projectRoot: string) => CheckResult - Verify .cleo/tasks.db exists and is non-empty. (projectRoot: string) => Promise<ScaffoldResult> - Create brain.db if missing. Idempotent: skips if brain.db already exists. (projectRoot: string) => CheckResult - Verify .cleo/brain.db exists and is non-empty. (projectRoot: string) => CheckResult - Verify .cleo/memory-bridge.md exists. Warning level if missing (not failure) -- it is auto-generated. readonly ["logs", "templates", "global-recipes", "pi-extensions", "cant-workflows", "agents"] - Required subdirectories under the global ~/.cleo/ home. These are infrastructure directories managed by CLEO itself, not project-specific data. Truly global: - logs — global log output - templates — CLEO-INJECTION.md symlink target Note: nexus.db lives directly in ~/.cleo/, not a subdir. Schemas are read at runtime from getPackageRoot()/schemas/ — no copy needed. Project-level dirs (adrs/, rcasd/, agent-outputs/, backups/) live in .cleo/ only. readonly ["adrs", "rcasd", "agent-outputs", "backups", "sandbox", "tasks.db", "tasks.db-shm", "tasks.db-wal", "brain-worker.pid", "VERSION", "schemas", "bin", ".install-state", "templates/templates"] - Stale entries that must NOT exist at the global ~/.cleo/ level. These were project-level artefacts accidentally placed in the global home by old versions of CLEO. They are safe to remove because: - adrs/, rcasd/, agent-outputs/, backups/ — project-level, live in .cleo/ - sandbox/ — unused - tasks.db / tasks.db-shm / tasks.db-wal — project-level database files - brain-worker.pid — stale PID file - VERSION — redundant (read from package.json) - schemas/ — now read from npm binary at runtime - bin/ — stale dev symlink directory () => Promise<ScaffoldResult> - Ensure the global ~/.cleo/ home directory and its required subdirectories exist. Idempotent: skips directories that already exist. Also removes known stale project-level entries that old CLEO versions incorrectly placed at the global level (see STALE_GLOBAL_ENTRIES). This is the SSoT for global home scaffolding, replacing raw mkdirSync calls that were previously scattered across global-bootstrap.ts. () => Promise<ScaffoldResult> - Ensure the global CLEO injection template is installed. Delegates to injection.ts for the template content, but owns the filesystem write to maintain SSoT for scaffolding. Idempotent: skips if the template already exists with correct content. () => Promise<{ home: ScaffoldResult; templates: ScaffoldResult; cleoosHub: ScaffoldResult; }> - Perform a complete global scaffold operation: ensure home and templates are all present and current. This is the single entry point for global infrastructure scaffolding. Schemas are NOT copied here — they are read at runtime from the npm package path (getPackageRoot() + '/schemas/'). Use ensureGlobalSchemas() explicitly from init or upgrade if a copy is needed for a specific workflow. Used by: - CLI startup (via startupHealthCheck in health.ts) - init (for first-time global setup) - upgrade (for global repair) () => Promise<ScaffoldResult> - Ensure the CleoOS Hub subdirectories exist under the global CLEO home, and seed a starter Justfile Hub if none exists yet. This is the Phase 1 scaffolding entry point. Idempotent: re-running is safe and will not overwrite an existing user-edited justfile. () => CheckResult - Check that the global ~/.cleo/ home and its required subdirectories exist. Read-only: no side effects. () => CheckResult - Check that the global injection template is present and current. Read-only: no side effects. (projectRoot: string) => CheckResult - Check that the project log directory exists. Read-only: no side effects. file scaffold.ts ProjectClassification - Classification result for a project directory. ClassificationSignal - A single classification signal detected on the filesystem. (directory?: string) => ProjectClassification - Classify a project directory as greenfield or brownfield. Read-only — never mutates the filesystem. Safe to call at any time. file discovery.ts ScaffoldResult HookCheckResult EnsureGitHooksOptions readonly ["commit-msg", "pre-commit", "pre-push"] - Git hooks managed by CLEO. "commit-msg" | "pre-commit" | "pre-push" (projectRoot: string, opts?: EnsureGitHooksOptions) => Promise<ScaffoldResult> - Install or update managed git hooks from templates/git-hooks/ into .git/hooks/. Handles: - No .git directory (skips gracefully) - No source templates directory (skips gracefully) - Hooks already installed (skips unless force) - Sets executable permissions on installed hooks (projectRoot: string) => Promise<HookCheckResult[]> - Verify managed hooks are installed and current. Compares installed hooks in .git/hooks/ against source templates in the package's templates/git-hooks/ directory. Returns per-hook status including whether the hook is installed and whether its content matches the source. file hooks.ts LegacyDetectionResult - Result of detecting legacy agent-output directories. AgentOutputsMigrationResult - Result of running the agent-outputs migration. (projectRoot: string, cleoDir: string) => LegacyDetectionResult - Detect legacy agent-output directories in a project. Read-only check — never modifies the filesystem. (projectRoot: string, cleoDir: string) => AgentOutputsMigrationResult - Run the full agent-outputs migration. Copies files from all legacy locations into .cleo/agent-outputs/, merges legacy flat-file entries with path rewriting and deduplication, updates config.json, and removes legacy directories. Safe to call when no legacy directories exist (returns early). Safe to call when canonical directory already exists (merges). file agent-outputs.ts () => Promise<number> - Migrate projects from legacy JSON registry to nexus.db. For each project entry in projects-registry.json: - Reads target/.cleo/project-info.json for a stable UUID (projectId) - Falls back to randomUUID() if project-info.json is absent - Upserts into project_registry (on conflict by projectHash → update path/name/lastSeen) On success, renames the JSON file to .migrated. file migrate-json-to-sqlite.ts NexusPermissionLevel NexusHealthStatus NexusProject - Domain representation of a registered Nexus project. NexusRegistryFile - Legacy registry file shape (pre-SQLite). Retained for migration compatibility. () => string - Get path to the NEXUS home directory (cache, etc.). () => string - Get path to the NEXUS cache directory. () => string - Get path to the legacy projects registry JSON file. () => Promise<NexusRegistryFile | null> - Read all projects from nexus.db and return as a NexusRegistryFile. Compatibility wrapper for consumers that expect the legacy JSON shape. Returns null if nexus.db has not been initialized yet. () => Promise<NexusRegistryFile> - Read the global registry, throwing if not initialized. () => Promise<void> - Initialize the NEXUS directory structure and nexus.db. Idempotent -- safe to call multiple times. Migrates legacy JSON registry on first run if present. (projectPath: string, name?: string, permissions?: NexusPermissionLevel) => Promise<string> - Register a project in the global registry (nexus.db). (nameOrHash: string) => Promise<void> - Unregister a project from the global registry. () => Promise<NexusProject[]> - List all registered projects. (nameOrHash: string) => Promise<NexusProject | null> - Get a project by name or hash. Returns null if not found. (nameOrHash: string) => Promise<boolean> - Check if a project exists in the registry. (nameOrHash: string) => Promise<void> - Sync project metadata (task count, labels) for a registered project. () => Promise<{ synced: number; failed: number; }> - Sync all registered projects. (nameOrHash: string, permission: NexusPermissionLevel) => Promise<void> - Update a project's permission level in the registry. Used by permissions.ts to avoid direct JSON file writes. (projectRoot: string) => Promise<{ status: "ok" | "path_updated" | "auto_registered"; oldPath?: string; newPath?: string; }> - Reconcile the current project's identity with the global nexus registry. 4-scenario policy: 1. projectId in registry + path matches → update lastSeen, return status:'ok' 2. projectId in registry + path changed → update path+hash, return status:'path_updated' 3. projectId not in registry → auto-register, return status:'auto_registered' 4. projectHash matches but different projectId → throw CleoError (identity conflict) Uses projectId as the stable identifier across project moves, since projectHash is derived from the absolute path and changes when moved. T5368 file registry.ts (projectRoot: string, projectContext: ProjectContext) => StackAnalysis file stack.ts (projectRoot: string, _projectContext: ProjectContext) => ArchAnalysis file architecture.ts (projectRoot: string) => StructureAnalysis file structure.ts (projectRoot: string, projectContext: ProjectContext) => ConventionAnalysis file conventions.ts (projectRoot: string, projectContext: ProjectContext) => TestingAnalysis file testing.ts (projectRoot: string, _projectContext: ProjectContext) => IntegrationAnalysis file integrations.ts (projectRoot: string) => ConcernAnalysis file concerns.ts (projectRoot: string, result: CodebaseMapResult) => Promise<{ patternsStored: number; learningsStored: number; observationsStored: number; }> file store.ts StackAnalysis ArchAnalysis StructureAnalysis ConventionAnalysis TestingAnalysis IntegrationAnalysis ConcernAnalysis CodebaseMapResult MapCodebaseOptions (projectRoot: string, options?: MapCodebaseOptions) => Promise<CodebaseMapResult> file index.ts InitOptions - Options for the init operation. InitResult - Result of the init operation. (created: string[], warnings: string[]) => Promise<void> - Install cleo-subagent agent definition to ~/.agents/agents/. T4685 (_projectRoot: string, _created: string[], _warnings: string[]) => Promise<void> - No-op. Kept for API compatibility. T4706 (created: string[], warnings: string[]) => Promise<void> - Install CLEO core skills to the canonical skills directory via CAAMP. T4707 T4689 (projectRoot: string, created: string[], warnings: string[]) => Promise<void> - Register/reconcile project with NEXUS. Uses nexusReconcile for idempotent handshake — auto-registers if new, updates path if moved, confirms identity if unchanged. T4684 T5368 (projectRoot: string, created: string[], skipped: string[]) => Promise<void> - Install GitHub issue and PR templates to .github/ if a git repo exists but .github/ISSUE_TEMPLATE/ is not yet present. Idempotent: skips files that already exist. Never overwrites existing templates — the project owner's customisations take precedence. () => Promise<InitResult> - Run update-docs only: refresh all injections without reinitializing. Re-injects CLEO-INJECTION.md into all detected agent instruction files. T4686 (opts?: InitOptions) => Promise<InitResult> - Run full project initialization. Creates the .cleo/ directory structure, installs schemas, templates, agent definitions, skills, and registers with NEXUS. T4681 T4682 T4684 T4685 T4686 T4687 T4689 T4706 T4707 () => boolean - Check if auto-init is enabled via environment variable. T4789 (projectRoot?: string) => Promise<{ initialized: boolean; }> - Check if a project is initialized and auto-init if configured. Returns initialized: true if ready, throws otherwise. T4789 (projectRoot?: string) => Promise<{ version: string; }> - Get the current CLEO/project version. Checks VERSION file, then package.json. T4789 file init.ts BootstrapContext - Result tracking arrays passed through each bootstrap step. BootstrapOptions - Options for bootstrapGlobalCleo. (options?: BootstrapOptions) => Promise<BootstrapContext> - Bootstrap the global CLEO directory structure and install templates. Creates: - ~/.local/share/cleo/templates/CLEO-INJECTION.md (XDG primary) - ~/.cleo/templates/CLEO-INJECTION.md (legacy sync) - ~/.agents/AGENTS.md with CAAMP injection block This is idempotent — safe to call multiple times. (_ctx: BootstrapContext) => Promise<void> - No-op. Kept for API compatibility. (ctx: BootstrapContext) => Promise<void> - Install CLEO core skills globally via CAAMP. file bootstrap.ts () => void file caamp-init.ts ExportFormat ExportParams ExportResult (params: ExportParams) => Promise<ExportResult> - Export tasks to a portable format. Returns the formatted content and metadata. file export.ts ImportParams ImportResult (params: ImportParams) => Promise<ImportResult> - Import tasks from an export file. file import.ts AgentExecutionOutcome - The outcome of an agent's execution attempt on a task. AgentExecutionEvent - Context recorded when an agent completes or fails a task. AgentPerformanceSummary - Summary of an agent type's execution performance on a task type. HealingSuggestion - A self-healing suggestion derived from failure pattern history. (event: AgentExecutionEvent, cwd?: string) => Promise<BrainDecisionRow | null> - Record an agent execution event to brain_decisions. Each event becomes a `tactical` decision entry describing which agent type handled which task type and whether it succeeded. This gives the BRAIN system a queryable history of agent-task execution for pattern extraction. The call is best-effort — if brain.db is unavailable the error is swallowed and null is returned so agent lifecycle code is never disrupted. (event: AgentExecutionEvent, brain: BrainDataAccessor) => Promise<BrainDecisionRow | null> - Internal implementation that accepts a pre-constructed accessor. Separated for testability without touching the real file system. (filters?: { agentType?: AgentType; taskType?: string; limit?: number; }, cwd?: string) => Promise<AgentPerformanceSummary[]> - Retrieve agent execution performance history from brain_decisions. Queries all `tactical` decisions recorded by `recordAgentExecution` and aggregates them into per-(agentType, taskType) performance summaries. (filters: { agentType?: AgentType; taskType?: string; limit?: number; }, brain: BrainDataAccessor) => Promise<AgentPerformanceSummary[]> - Internal implementation with injected accessor for testability. (event: AgentExecutionEvent, cwd?: string) => Promise<BrainPatternRow | null> - Record a task failure pattern to brain_patterns. When a task fails, the (agentType, taskType, errorType) combination is stored as a `failure` pattern in brain.db. On subsequent failures matching the same combination, the frequency counter is incremented and the success rate updated. This data is what powers `getSelfHealingSuggestions`. The call is best-effort and never throws. (event: AgentExecutionEvent, brain: BrainDataAccessor) => Promise<BrainPatternRow | null> - Internal implementation with injected accessor. (event: AgentExecutionEvent, strategy: string, cwd?: string) => Promise<BrainObservationRow | null> - Store a healing strategy observation to brain_observations. When a failure pattern reaches a significant frequency threshold (≥ 3), a `change` observation is recorded to represent the healing action recommended for future recurrences of the same pattern. The call is best-effort and never throws. (event: AgentExecutionEvent, strategy: string, brain: BrainDataAccessor) => Promise<BrainObservationRow | null> - Internal implementation with injected accessor. (agentType: AgentType, taskType: string, cwd?: string) => Promise<HealingSuggestion[]> - Get self-healing suggestions for a given agent type and task type. Queries brain_patterns for known failure patterns matching the (agentType, taskType) combination and returns healing suggestions ordered by frequency (most-seen first). Returns an empty array if no failure patterns are found or brain.db is unavailable. (agentType: AgentType, taskType: string, brain: BrainDataAccessor) => Promise<HealingSuggestion[]> - Internal implementation with injected accessor. (event: AgentExecutionEvent, cwd?: string) => Promise<{ decisionId: string | null; patternId: string | null; observationId: string | null; healingSuggestions: HealingSuggestion[]; }> - Full agent lifecycle event processor. Convenience function that: 1. Records the execution event to brain_decisions 2. On failure: records/updates the failure pattern in brain_patterns 3. On failure with frequency ≥ 3: stores a healing strategy observation Returns a structured result with the recorded IDs and any healing suggestions that now apply. All operations are best-effort — the call never throws. file execution-learning.ts 5 - Maximum number of tasks that can be concurrently assigned to one agent. Used as the upper bound for task-count-based capacity calculation. AgentCapacity - Task-count-based capacity for a single agent instance. AgentPerformanceMetrics - Metrics provided when recording agent performance. (agentId: string, cwd?: string) => Promise<AgentCapacity | null> - Get task-count-based remaining capacity for an agent. Remaining capacity = `MAX_TASKS_PER_AGENT` minus the number of tasks currently routed to this agent instance (tracked via the `task_id` column on `agent_instances` — each instance handles one task at a time; child agents spawned by an orchestrator appear as sibling rows referencing the same `parent_agent_id`). For capacity purposes the "active tasks" count is derived from the number of non-terminal sibling rows that share the same `parent_agent_id` as this agent, plus 1 for the agent's own current task when `task_id` is set. (agentType?: AgentType, cwd?: string) => Promise<AgentCapacity[]> - List all non-terminal agents sorted by remaining task capacity (descending). Returns agents with the most available slots first, enabling callers to select the least-loaded agent for new work assignment. (agentId: string, cwd?: string) => Promise<string[]> - Get the specialization/skills list for an agent. Specializations are stored as a string array under the `specializations` key in the agent's `metadata_json` column. An empty array is returned when the field is absent or the agent is not found. (agentId: string, specializations: string[], cwd?: string) => Promise<string[] | null> - Update the specializations list stored in an agent's metadata. Merges the new list into the existing `metadata_json` object, preserving any other keys already present. Returns the updated specializations list, or null if the agent was not found. (agentId: string, metrics: AgentPerformanceMetrics, cwd?: string) => Promise<string | null> - Record agent performance metrics to the BRAIN execution history. Translates a simplified `AgentPerformanceMetrics` object into the `AgentExecutionEvent` format expected by `execution-learning.ts` and delegates to `recordAgentExecution`. The agent type is resolved from the `agent_instances` table so callers only need to supply the agent ID. file agent-registry.ts (id: string, capacity: number, cwd?: string) => Promise<AgentInstanceRow | null> - Update the capacity value for an agent instance. (cwd?: string) => Promise<number> - Get the total available capacity across all active agents. Only considers agents in 'active' or 'idle' status. Returns the sum of all capacity values. (agentType?: AgentType, cwd?: string) => Promise<AgentInstanceRow | null> - Find the agent with the most available capacity. (threshold?: number, cwd?: string) => Promise<boolean> - Check if the system is overloaded (total capacity below threshold). CapacitySummary - Capacity summary for reporting. (threshold?: number, cwd?: string) => Promise<CapacitySummary> - Get a capacity summary across the entire agent pool. file capacity.ts 30000 - Default heartbeat interval (30 seconds) per BRAIN spec. number - Default staleness threshold: 3 minutes without a heartbeat. AgentHealthStatus - Health status of a specific agent instance. (agentId: string, cwd?: string) => Promise<AgentInstanceStatus | null> - Record a heartbeat for an agent instance. Updates `last_heartbeat` to the current time and returns the agent's current `AgentInstanceStatus`. Returns `null` if the agent does not exist or is already in a terminal state (`stopped` / `crashed`). This is the primary mechanism by which long-running agents signal liveness. Call this every `HEARTBEAT_INTERVAL_MS` (30 s) from the agent loop. (agentId: string, thresholdMs?: number, cwd?: string) => Promise<AgentHealthStatus | null> - Check the health of a specific agent instance by ID. Queries the agent's current record and returns a structured `AgentHealthStatus` describing staleness, heartbeat age, and whether the agent is considered healthy relative to `thresholdMs`. Returns `null` if the agent ID is not found in the database. (thresholdMs?: number, cwd?: string) => Promise<AgentHealthStatus[]> - Find all non-terminal agents whose last heartbeat is older than `thresholdMs`. "Stale" means an agent with status `starting`, `active`, or `idle` has not sent a heartbeat within the threshold window. This is a precursor to crash detection — a stale agent may still recover if it is under heavy load. Agents with status `stopped` or `crashed` are excluded — they are already in a terminal state and do not participate in the heartbeat protocol. (thresholdMs?: number, cwd?: string) => Promise<AgentInstanceRow[]> - Find agents with status `active` whose heartbeat has been silent for longer than `thresholdMs`, and mark them as `crashed` in the database. An agent is considered crashed when it: 1. Has status `active` (not `idle`, `starting`, `stopped`, or `crashed`) 2. Has not sent a heartbeat for longer than `thresholdMs` Each detected agent is immediately marked `crashed` via `markCrashed`, incrementing its error count and writing a reason to `agent_error_log`. file health-monitor.ts RetryPolicy - Configuration for retry behavior. Readonly<RetryPolicy> - Default retry policy matching the BRAIN specification. (overrides?: Partial<RetryPolicy>) => RetryPolicy - Create a retry policy by merging overrides with the default policy. (attempt: number, policy: RetryPolicy) => number - Calculate the delay for a given retry attempt using exponential backoff. (error: unknown, attempt: number, policy: RetryPolicy) => boolean - Determine whether an error should be retried based on its classification and the retry policy. RetryResult<T> - Result of a retried operation. <T>(fn: () => Promise<T>, policy?: Partial<RetryPolicy>) => Promise<RetryResult<T>> - Wrap an async function with retry logic using configurable exponential backoff. AgentRecoveryResult - Result of a recovery attempt for a single agent. (thresholdMs?: number, cwd?: string) => Promise<AgentRecoveryResult[]> - Attempt to recover crashed agents. Finds all agents with status 'crashed' and determines if they can be restarted based on their error history. Agents whose last error was classified as 'permanent' are abandoned. Agents with retriable errors are reset to 'starting' for the orchestration layer to re-assign. file retry.ts file index.ts RiskFactor - A single factor contributing to a task's overall risk score. Each factor has a weight (how much it matters) and a value (current level, 0-1). The weighted sum of all factors produces the aggregate risk score. RiskAssessment - Complete risk assessment for a single task. Returned by `calculateTaskRisk`. The `riskScore` is the weighted aggregate of all `RiskFactor` entries in `factors`. ValidationPrediction - Predicted outcome for a lifecycle validation gate. Returned by `predictValidationOutcome`. Combines historical pattern data with the task's current state to estimate pass likelihood. DetectedPattern - A pattern automatically detected from historical brain/task data. Detected patterns may be stored in the existing brain_patterns table if they meet frequency and confidence thresholds. PatternMatch - Result of matching a task against known patterns from brain_patterns. Includes the original pattern row and a relevance score indicating how strongly the pattern applies to the target task. PatternExtractionOptions - Options for pattern extraction from historical data. PatternStatsUpdate - Result of updating pattern statistics after an outcome. LearningContext - Summary of applicable learnings for a task, used in prediction. ImpactAssessment - Full impact assessment for a task within its dependency graph. Captures direct dependents, transitive dependents, lifecycle pipeline effects, blocked work counts, and critical path membership. ChangeType - The type of change being analyzed. ChangeImpact - Predicted downstream effects of a specific change to a task. Models what happens when a task is cancelled, blocked, completed, or reprioritized -- including cascading status changes and recommendations. AffectedTask - A single task affected by a change, with its predicted new state. ImpactedTask - A single task predicted to be affected by a free-text change description. Produced by `predictImpact` after matching candidate tasks against the change description and running downstream dependency analysis. ImpactReport - Full impact prediction report for a free-text change description. Returned by `predictImpact`. Combines fuzzy task search with reverse dependency analysis to enumerate which tasks are at risk. BlastRadiusSeverity - Severity classification for blast radius. BlastRadius - Quantified scope of a task's impact across the project. file types.ts (taskId: string, taskAccessor: DataAccessor, brainAccessor: BrainDataAccessor) => Promise<RiskAssessment> - Calculate the risk score for a task based on multiple contributing factors. Factors considered: - Task complexity (size, dependency count, hierarchy depth) - Historical patterns (similar tasks' failure rates from brain_patterns) - Blocking risk (does this task block others?) - Dependency depth (how deep in the dependency chain) (taskId: string, stage: string, taskAccessor: DataAccessor, brainAccessor: BrainDataAccessor) => Promise<ValidationPrediction> - Predict the likelihood of a task passing a lifecycle validation gate. Combines: - Historical gate results for similar tasks (from brain_patterns) - Current task completion state - Applicable learnings from brain_learnings (task: Task, brainAccessor: BrainDataAccessor) => Promise<LearningContext> - Gather applicable learnings for a task from brain_learnings. file prediction.ts GateFocusRecommendation - A gate-level focus recommendation produced by adaptive validation. AdaptiveValidationSuggestion - Full adaptive validation suggestion set for a task. VerificationConfidenceScore - Result of scoring and persisting a completed verification round. StorePredictionOptions - Parameters for storing a quality prediction as a brain observation. (taskId: string, taskAccessor: DataAccessor, brainAccessor: BrainDataAccessor) => Promise<AdaptiveValidationSuggestion> - Suggest which verification gates to focus on for a task, ordered by risk. Uses: - Historical failure patterns from brain_patterns filtered by task type/labels - Task characteristics (size, type, labels, priority) to weight gate risk - Existing gate state from task.verification to skip already-passed gates (taskId: string, verification: TaskVerification, taskAccessor: DataAccessor, brainAccessor: BrainDataAccessor, options?: StorePredictionOptions) => Promise<VerificationConfidenceScore> - Compute a confidence score for a completed verification round and persist it to brain.db as an observation and learning. Called after `cleo verify` gates are set. Stores: - A `brain_observations` row (type: 'discovery') with score, gates, task metadata - A `brain_learnings` row if the result is notable (high pass or high failure) (prediction: ValidationPrediction, brainAccessor: BrainDataAccessor, options?: StorePredictionOptions) => Promise<string | undefined> - Store a validation prediction as a brain observation for future learning. Saves the full `ValidationPrediction` to brain_observations so that accumulated predictions can later be analyzed to improve gate pass rates. (taskId: string, stage: string, taskAccessor: DataAccessor, brainAccessor: BrainDataAccessor, options?: StorePredictionOptions) => Promise<ValidationPrediction & { observationId?: string; }> - Compute a prediction for a task and immediately persist it to brain. Convenience wrapper combining `predictValidationOutcome` and `storePrediction`. file adaptive-validation.ts DependencyCheckResult - Result of a dependency validation check. DependencyError - A dependency error. DependencyWarning - A dependency warning. (taskId: string, tasks: Task[]) => string[] - Detect circular dependencies using DFS. Returns the cycle path if found, empty array otherwise. (fromId: string, toId: string, tasks: Task[]) => boolean - Check if adding a dependency would create a cycle. (tasks: Task[]) => Task[] - Get tasks that are blocked (have unmet dependencies). (tasks: Task[]) => Task[] - Get tasks that are ready (all dependencies met). (taskId: string, tasks: Task[]) => Task[] - Get tasks that depend on a given task. (taskId: string, tasks: Task[]) => string[] - Get dependent IDs. (taskId: string, tasks: Task[]) => string[] - Get unresolved dependencies for a task (deps that are not done/cancelled). (tasks: Task[]) => DependencyError[] - Validate dependencies for missing references. (tasks: Task[]) => DependencyCheckResult - Full dependency graph validation. (tasks: Task[]) => string[] | null - Topological sort of tasks by dependencies. Returns sorted task IDs or null if cycle detected. (taskId: string, tasks: Task[]) => string[] - Walk upstream recursively through a task's dependency chain. Returns all non-done/non-cancelled dependency IDs (deduplicated). Uses a visited set for cycle protection. (taskId: string, tasks: Task[]) => string[] - From the transitive blockers, return only "leaf" blockers — those whose own dependencies are all resolved (done/cancelled) or that have no dependencies at all. These are the root-cause tasks that need action first. file dependency-check.ts DependencyWave - A wave of parallelizable tasks. (tasks: Task[]) => DependencyWave[] - Compute dependency waves for parallel execution. Tasks in the same wave can run in parallel; waves must be sequential. (tasks: Task[]) => Task | null - Get the next task to work on (highest priority ready task). (tasks: Task[]) => string[] - Calculate the critical path (longest dependency chain). Returns task IDs along the critical path. (tasks: Task[]) => string[] - Get task ordering by dependency + priority. (tasks: Task[]) => string[] - Get parallelizable tasks (tasks with no unmet dependencies). file graph-ops.ts (taskId: string, accessor?: DataAccessor, cwd?: string) => Promise<ImpactAssessment> - Analyze the full downstream impact of a task. Computes direct and transitive dependents, affected lifecycle pipelines, blocked work counts, critical path membership, and blast radius. (taskId: string, changeType: ChangeType, accessor?: DataAccessor, cwd?: string) => Promise<ChangeImpact> - Analyze the downstream effects of a specific change to a task. Predicts what happens when a task is cancelled, blocked, completed, or reprioritized, including cascading status changes. (taskId: string, accessor?: DataAccessor, cwd?: string) => Promise<BlastRadius> - Calculate the blast radius for a task. Quantifies how many tasks, epics, and what percentage of the project would be impacted by changes to this task. (change: string, cwd?: string, accessor?: DataAccessor, matchLimit?: number) => Promise<ImpactReport> - Predict the downstream impact of a free-text change description. Uses fuzzy keyword matching to identify candidate tasks that relate to the change, then walks the reverse dependency graph to enumerate all downstream tasks that may be affected. file impact.ts (taskAccessor: DataAccessor, brainAccessor: BrainDataAccessor, options?: PatternExtractionOptions) => Promise<DetectedPattern[]> - Analyze brain_observations and task history to find recurring patterns. Detects: - Workflow patterns: common task sequences that succeed/fail - Blocker patterns: what commonly blocks tasks - Success patterns: what correlates with successful task completion - Time patterns: recurring label/type distributions by task status (taskId: string, taskAccessor: DataAccessor, brainAccessor: BrainDataAccessor) => Promise<PatternMatch[]> - Find which known patterns from brain_patterns apply to a given task. Compares task attributes (labels, title, description, type, size, status) against stored patterns and returns matches with relevance scores. (detected: DetectedPattern, brainAccessor: BrainDataAccessor) => Promise<BrainPatternRow> - Save a detected pattern to the brain_patterns table. Uses the existing brain_patterns schema: type, pattern, context, frequency, success_rate, impact, anti_pattern, mitigation, examples_json. (patternId: string, outcome: boolean, brainAccessor: BrainDataAccessor) => Promise<PatternStatsUpdate | null> - Update the frequency and success_rate of an existing pattern after an outcome. Increments frequency by 1 and recalculates success_rate using the running average formula: newRate = (oldRate * oldFreq + (success ? 1 : 0)) / newFreq. file patterns.ts file index.ts NexusParsedQuery NexusResolvedTask - Task with project context annotation. (query: string) => boolean - Validate a query string matches expected syntax. (query: string, currentProject?: string) => NexusParsedQuery - Parse a query string into its components. () => string - Get the current project name from context. Reads .cleo/project-info.json or falls back to directory name. (projectName: string) => Promise<string> - Resolve a project name to its filesystem path. Handles special cases: "." (current), "*" (wildcard marker). (query: string, currentProject?: string) => Promise<NexusResolvedTask | NexusResolvedTask[]> - Resolve a query to task data. For wildcard queries, returns an array of matches from all projects. For named projects, returns a single task with project context. (query: string, currentProject?: string) => string - Extract the project name from a query without full resolution. Useful for permission checks before task lookup. file query.ts (text: string) => string[] - Extract meaningful keywords from text (filters stop words and short tokens). DiscoverResult NexusDiscoverResult SearchResult NexusSearchResult (taskQuery: string, method?: string, limit?: number) => Promise<NexusDiscoverResult | { error: { code: string; message: string; }; }> - Discover tasks related to a given task query across projects. Returns a structured result or throws on unrecoverable errors. Validation errors (bad syntax, wildcard) are returned as error objects so callers can wrap them in an appropriate engine error response. (pattern: string, projectFilter?: string, limit?: number) => Promise<NexusSearchResult | { error: { code: string; message: string; }; }> - Search for tasks across all registered projects. Returns a structured result or throws on unrecoverable errors. Validation errors (bad pattern) are returned as error objects. file discover.ts PermissionCheckResult (permission: string) => number - Convert a permission string to its numeric level. Returns 0 for invalid/unknown permissions. (nameOrHash: string) => Promise<NexusPermissionLevel> - Get the permission level for a registered project. Returns 'read' as default if the project has no explicit permission. (nameOrHash: string, required: NexusPermissionLevel) => Promise<boolean> - Check if a project has sufficient permissions (non-throwing). Uses hierarchical comparison: execute = write = read. (nameOrHash: string, required: NexusPermissionLevel, operationName?: string) => Promise<void> - Require a permission level or throw CleoError. Used as a guard at the start of cross-project operations. (nameOrHash: string, required: NexusPermissionLevel) => Promise<PermissionCheckResult> - Full permission check returning a structured result. (nameOrHash: string, permission: NexusPermissionLevel) => Promise<void> - Set the permission level for a project. Validates the permission value and updates the registry. T4574 (nameOrHash: string) => Promise<boolean> - Convenience: check read access. (nameOrHash: string) => Promise<boolean> - Convenience: check write access. (nameOrHash: string) => Promise<boolean> - Convenience: check execute access. file permissions.ts SharingStatus - Result of a sharing status check. (filePath: string, pattern: string) => boolean - Match a file path against a glob-like pattern. Supports: '*' (single segment wildcard), '**' (recursive wildcard), and trailing '/' for directory matching. T4883 (cwd?: string) => Promise<SharingStatus> - Get the sharing status: which .cleo/ files are tracked vs ignored, plus git sync state for Nexus multi-project visibility. (cwd?: string) => Promise<{ updated: boolean; entriesCount: number; }> - Sync the project .gitignore to match the sharing config. Adds/updates a managed section between CLEO markers. T4883 file index.ts TaskCurrentResult - Result of getting current task. TaskStartResult - Result of starting work on a task. TaskWorkHistoryEntry - Task work history entry. (cwd?: string, accessor?: DataAccessor) => Promise<TaskCurrentResult> - Show current task work state. T4462 T4750 (taskId: string, cwd?: string, accessor?: DataAccessor) => Promise<TaskStartResult> - Start working on a specific task. T4462 T4750 (cwd?: string, accessor?: DataAccessor) => Promise<{ previousTask: string | null; }> - Stop working on the current task. T4462 T4750 (cwd?: string, accessor?: DataAccessor) => Promise<TaskWorkHistoryEntry[]> - Get task work history from session notes. T4462 T4750 (cwd?: string, accessor?: DataAccessor) => Promise<TaskWorkHistoryEntry[]> - Get task work history (canonical verb alias for dispatch layer). T5323 file index.ts CompleteTaskOptions - Options for completing a task. CompleteTaskResult - Result of completing a task. (options: CompleteTaskOptions, cwd?: string, accessor?: DataAccessor) => Promise<CompleteTaskResult> - Complete a task by ID. Handles dependency checking and optional auto-completion of epics. T4461 file complete.ts RuleViolation - Validation error from anti-hallucination checks (title?: string, description?: string) => RuleViolation[] - Validate that title and description are both present and different. This is a critical anti-hallucination check. (task: TaskLike) => RuleViolation[] - Validate that timestamps are not in the future (taskId: string, existingIds: Set<string>) => RuleViolation[] - Validate ID uniqueness across all tasks (todo + archive) (description: string, existingDescriptions: string[], _excludeTaskId?: string) => RuleViolation[] - Validate no duplicate task descriptions (parentId: string | null | undefined, tasks: Array<{ id: string; parentId?: string | null; type?: string; }>, _taskType?: string, limits?: { maxDepth?: number; maxSiblings?: number; }) => RuleViolation[] - Validate hierarchy constraints. Accepts optional limits to override defaults (from config). (currentStatus: string, newStatus: string) => RuleViolation[] - Validate status transition (task: TaskLike, existingIds: Set<string>, existingDescriptions: string[], existingTasks: Array<{ id: string; parentId?: string | null; type?: string; }>, limits?: { maxDepth?: number; maxSiblings?: number; }) => RuleViolation[] - Run all validation rules on a task being created (violations: RuleViolation[]) => boolean - Check if violations contain any errors (not just warnings) file validation-rules.ts UpdateTaskOptions - Options for updating a task. UpdateTaskResult - Result of updating a task. (options: UpdateTaskOptions, cwd?: string, accessor?: DataAccessor) => Promise<UpdateTaskResult> - Update a task's fields. T4461 file update.ts ParsedDirective - Parsed directive from a Conduit message. RouteResult - Result of routing a directive to a project. WorkspaceStatus - Aggregated task status across all projects. WorkspaceProjectSummary - Task summary for a single project. WorkspaceAgent - Agent info aggregated across projects. ProjectACL - Project-level ACL entry. (message: ConduitMessage) => ParsedDirective | null - Parse a Conduit message into a structured directive. Extracts directive verbs (/claim, /done, /blocked) and task references from the message content and metadata. (directive: ParsedDirective) => Promise<RouteResult[]> - Route a Conduit directive to the correct project's CLEO instance. Resolves which project owns the referenced task, checks ACL, and dispatches the appropriate CLEO operation. () => Promise<WorkspaceStatus> - Get aggregated task status across all registered projects. Returns per-project task counts and workspace-wide totals. Respects project permissions — only includes readable projects. () => Promise<WorkspaceAgent[]> - Get all agents registered across all projects. Queries each project's agent_instances table and returns a unified list. file workspace.ts () => void - Invalidate the cached TaskFile (call after writes). T4659 T4654 DepNode - A node in the dependency graph. DepsOverviewResult - Dependency overview result. TaskDepsResult - Single task dependency result. ExecutionWave - Execution wave (group of parallelizable tasks). CriticalPathResult - Critical path result. CycleResult - Cycle detection result. (tasks: Task[]) => Map<string, DepNode> - Build an adjacency graph from task dependencies. T4464 (cwd?: string, accessor?: DataAccessor) => Promise<DepsOverviewResult> - Get dependency overview for all tasks. T4464 (taskId: string, cwd?: string, accessor?: DataAccessor) => Promise<TaskDepsResult> - Get dependencies for a specific task. T4464 (tasks: Task[]) => Task[] - Topological sort of tasks respecting dependencies. Returns tasks in execution order. Throws on cycles. T4464 (epicId?: string, cwd?: string, accessor?: DataAccessor) => Promise<ExecutionWave[]> - Group tasks into parallelizable execution waves. T4464 (taskId: string, cwd?: string, accessor?: DataAccessor) => Promise<CriticalPathResult> - Find the critical path (longest dependency chain) from a task. T4464 (taskId: string, maxDepth?: number, cwd?: string, accessor?: DataAccessor) => Promise<string[]> - Find all tasks affected by changes to a given task. T4464 (cwd?: string, accessor?: DataAccessor) => Promise<CycleResult> - Detect circular dependencies in the task graph. T4464 (rootId?: string, cwd?: string, accessor?: DataAccessor) => Promise<TreeNode[]> - Build task hierarchy tree. T4464 TreeNode - Tree node representation. (taskId: string, relatedId: string, _cwd?: string, accessor?: DataAccessor) => Promise<{ taskId: string; relatedId: string; }> - Manage task relationships (relates/blocks). T4464 file deps.ts CircularDependency - A circular dependency cycle found via DFS traversal. MissingDependency - A missing dependency reference within an epic. DependencyAnalysis - Full dependency analysis result for an epic. (tasks: Task[]) => Map<string, Set<string>> - Build a dependency graph for a set of tasks. Returns a Map from task ID to the set of task IDs it depends on. (tasks: Task[], graph?: Map<string, Set<string>>) => CircularDependency[] - Detect circular dependencies using DFS traversal. (children: Task[], allTasks: Task[]) => MissingDependency[] - Find missing dependencies — deps that reference tasks outside the epic that are not yet completed. (children: Task[], allTasks: Task[]) => DependencyAnalysis - Perform full dependency analysis for an epic's children. Combines dependency graph building, circular detection, and missing dep identification into a single analysis result. file analyze.ts ContextEstimation - Context estimation result. (projectRoot: string) => number - Count manifest entries from pipeline_manifest (ADR-027). (taskCount: number, projectRoot: string, epicId?: string) => ContextEstimation - Estimate context usage for orchestration. file context.ts typeof OrchestrationHierarchyImpl - Concrete implementation of OrchestrationHierarchyAPI. file hierarchy.ts Wave EnrichedWave (tasks: Task[]) => Wave[] - Compute execution waves using topological sort. (epicId: string, cwd?: string, accessor?: DataAccessor) => Promise<{ epicId: string; waves: EnrichedWave[]; totalWaves: number; totalTasks: number; }> - Get enriched wave data for an epic. file waves.ts StatusCounts - Status counts by task state. EpicStatus - Epic-specific status result. OverallStatus - Overall orchestration status (no specific epic). ProgressMetrics - Progress metrics for orchestration check. StartupSummary - Startup summary for an epic. (tasks: Task[]) => StatusCounts - Count tasks by status. (epicId: string, epicTitle: string, children: Task[]) => EpicStatus - Compute epic-specific status. (tasks: Task[]) => OverallStatus - Compute overall orchestration status across all tasks. (tasks: Task[]) => ProgressMetrics - Compute progress metrics for all tasks. (epicId: string, epicTitle: string, children: Task[], readyCount: number) => StartupSummary - Compute startup summary for an epic. file status.ts OrchestratorSession - Orchestrator session state. SpawnContext - Spawn context for a subagent. TaskReadiness - Task readiness assessment. AnalysisResult - Orchestrator analysis result. (epicId: string, _cwd?: string, accessor?: DataAccessor) => Promise<OrchestratorSession> - Start an orchestrator session for an epic. T4466 (epicId: string, cwd?: string, accessor?: DataAccessor) => Promise<AnalysisResult> - Analyze an epic's dependency structure. T4466 (epicId: string, _cwd?: string, accessor?: DataAccessor) => Promise<TaskReadiness[]> - Get parallel-safe ready tasks for an epic. T4466 (epicId: string, cwd?: string, accessor?: DataAccessor) => Promise<TaskReadiness | null> - Get the next task to work on for an epic. T4466 (taskId: string, _cwd?: string, accessor?: DataAccessor) => Promise<SpawnContext> - Prepare a spawn context for a subagent. T4466 (_taskId: string, output: { file?: string; manifestEntry?: boolean; }) => Promise<{ valid: boolean; errors: string[]; }> - Validate a subagent's output. T4466 (epicId: string, _cwd?: string, accessor?: DataAccessor) => Promise<{ epicId: string; epicTitle: string; totalTasks: number; completed: number; inProgress: number; blocked: number; pending: number; completionPercent: number; }> - Get orchestrator context summary. T4466 (task: Task) => string - Auto-dispatch: determine the protocol for a task based on metadata. T4466 (prompt: string, context: Record<string, string>) => { resolved: string; unresolved: string[]; } - Resolve tokens in a prompt string. T4466 file index.ts (providerId: string, cwd?: string) => Promise<ExternalTaskLink[]> - Find all links for a given provider. (providerId: string, externalId: string, cwd?: string) => Promise<ExternalTaskLink | null> - Find a link by provider + external ID. (taskId: string, cwd?: string) => Promise<ExternalTaskLink[]> - Find all links for a given CLEO task. (params: { taskId: string; providerId: string; externalId: string; externalUrl?: string; externalTitle?: string; linkType: ExternalTaskLink["linkType"]; syncDirection?: ExternalTaskLink["syncDirection"]; metadata?: Record<string, unknown>; }, cwd?: string) => Promise<ExternalTaskLink> - Create a new external task link. (linkId: string, updates?: { externalTitle?: string; metadata?: Record<string, unknown>; }, cwd?: string) => Promise<void> - Update the lastSyncAt and optionally the title/metadata for an existing link. (providerId: string, cwd?: string) => Promise<number> - Remove all links for a provider (used during provider deregistration). file link-store.ts (externalTasks: ExternalTask[], options: ReconcileOptions, accessor?: DataAccessor) => Promise<ReconcileResult> - Reconcile external task state with CLEO's authoritative task store. file reconciliation-engine.ts file index.ts ArtifactType - Supported artifact types. ArtifactConfig - Artifact configuration from release config. ArtifactResult - Result of an artifact operation. ArtifactHandler - Artifact handler interface. (artifactType: ArtifactType) => ArtifactHandler | null - Get handler for an artifact type. T4552 (artifactType: string) => artifactType is ArtifactType - Check if a handler is registered for an artifact type. T4552 (config: ArtifactConfig, dryRun?: boolean) => Promise<ArtifactResult> - Build an artifact using the appropriate handler. T4552 (config: ArtifactConfig) => Promise<ArtifactResult> - Validate an artifact using the appropriate handler. T4552 (config: ArtifactConfig, dryRun?: boolean) => Promise<ArtifactResult> - Publish an artifact using the appropriate handler. T4552 () => ArtifactType[] - Get all supported artifact types. T4552 file artifacts.ts (content: string) => { customBlocks: string[]; strippedContent: string; } - Parse [custom-log]...[/custom-log] blocks from a CHANGELOG section. Returns the extracted block content (tags stripped) and the content with tags+content removed. (version: string, generatedContent: string, customBlocks: string[], changelogPath: string) => Promise<void> - Write or update a CHANGELOG.md section for a specific version. - If ## [VERSION] section exists: replaces it in-place. - If not: prepends as new section after any top-level # heading. - Custom block content (from [custom-log] blocks) is appended after generated content. - Section header format: '## [VERSION] (YYYY-MM-DD)' file changelog-writer.ts ReleaseConfig - Release configuration shape. ReleaseGate - Release gate definition. (cwd?: string) => ReleaseConfig - Load release configuration with defaults. (config: ReleaseConfig) => { valid: boolean; errors: string[]; warnings: string[]; } - Validate release configuration. (cwd?: string) => string - Get artifact type from config. (cwd?: string) => ReleaseGate[] - Get release gates from config. (cwd?: string) => { format: string; file: string; } - Get changelog configuration. GitFlowConfig - GitFlow branch configuration. ChannelConfig - Channel-to-branch mapping for npm dist-tag resolution. PushMode - Push mode: direct push vs PR creation vs auto-detect. () => GitFlowConfig - Return the default GitFlow branch configuration. (config: ReleaseConfig) => GitFlowConfig - Merge caller-supplied GitFlow config with defaults. () => ChannelConfig - Return the default channel configuration. (config: ReleaseConfig) => ChannelConfig - Merge caller-supplied channel config with defaults. (config: ReleaseConfig) => PushMode - Return the configured push mode, defaulting to 'auto'. file release-config.ts ReleaseChannel - npm dist-tag channel for a release. ChannelValidationResult - Result of validating a version string against a channel's expectations. () => ChannelConfig - Return the default branch-to-channel mapping. (branch: string, config?: ChannelConfig) => ReleaseChannel - Resolve the release channel for a given Git branch name. Resolution order: 1. Exact match in `config.custom` 2. Prefix match in `config.custom` 3. Exact match against `config.main` → 'latest' 4. Exact match against `config.develop` → 'beta' 5. Starts with 'feature/', 'hotfix/', 'release/', or `config.feature` → 'alpha' 6. Fallback → 'alpha' (channel: ReleaseChannel) => string - Map a release channel to its npm dist-tag string. Kept as an explicit function (rather than a direct cast) so that callers remain decoupled from the string values and the mapping can be extended without changing call sites. (version: string, channel: ReleaseChannel) => ChannelValidationResult - Validate that a version string satisfies the pre-release conventions for the given channel. Rules: - 'latest': version must NOT contain '-' (no pre-release suffix) - 'beta': version must contain '-beta' or '-rc' - 'alpha': version must contain '-alpha', '-dev', '-rc', or '-beta' (channel: ReleaseChannel) => string - Return a human-readable description of the given release channel. file channel.ts CIPlatform - Supported CI/CD platforms. CIPlatform[] - All supported platforms. (platform: CIPlatform) => string - Get the output path for a CI platform. (projectDir?: string) => CIPlatform | null - Detect the CI platform from the project. (platform: CIPlatform, cwd?: string) => string - Generate CI config for a platform. (platform: CIPlatform, options?: { projectDir?: string; dryRun?: boolean; }) => { action: string; path: string; content: string; } - Write CI config to the appropriate path. (platform: CIPlatform, projectDir?: string) => { valid: boolean; exists: boolean; errors: string[]; } - Validate an existing CI config. file ci.ts BranchProtectionResult PRCreateOptions PRResult RepoIdentity () => boolean - Check if the `gh` CLI is available by attempting to run `gh --version`. Does NOT use `which` to remain cross-platform. (remote: string) => RepoIdentity | null - Parse a GitHub remote URL (HTTPS or SSH) into owner and repo components. Returns null if the URL cannot be parsed. Supported formats: https://github.com/owner/repo.git https://github.com/owner/repo gitgithub.com:owner/repo.git gitgithub.com:owner/repo (branch: string, remote: string, projectRoot?: string) => Promise<BranchProtectionResult> - Detect whether a branch has protection rules enabled. Strategy 1 (preferred): use `gh api` to query GitHub branch protection. Strategy 2 (fallback): use `git push --dry-run` and inspect stderr. (opts: PRCreateOptions) => string - Build the markdown body for a GitHub pull request. (opts: PRCreateOptions) => string - Format human-readable instructions for creating a PR manually. (opts: PRCreateOptions) => Promise<PRResult> - Create a GitHub pull request using the `gh` CLI, or return manual instructions if the CLI is unavailable or the operation fails. file github-pr.ts EpicCompletenessResult - Epic completeness result. (releaseTaskIds: string[], cwd?: string, accessor?: DataAccessor) => Promise<EpicCompletenessResult> - Check epic completeness for a set of release task IDs. Verifies all children of each referenced epic are included. DoubleListingResult - Double-listing check result. (releaseTaskIds: string[], existingReleases: Array<{ version: string; tasks: string[]; }>) => DoubleListingResult - Check if any tasks are listed in multiple releases. file guards.ts (version: string) => boolean - Validate version format (semver X.Y.Z or CalVer YYYY.M.patch, with optional pre-release). (version: string) => boolean - Check if a version string is CalVer format. BumpType - Bump type for version calculation. (current: string, bump: BumpType | string) => string - Calculate new version from current + bump type. VersionBumpTarget - Version bump target config from .cleo/config.json. (cwd?: string) => VersionBumpTarget[] - Get version bump configuration, mapping config field names to VersionBumpTarget. (cwd?: string) => boolean - Check if version bump is configured. BumpResult - Bump result for a single file. (newVersion: string, options?: { dryRun?: boolean; }, cwd?: string) => { results: BumpResult[]; allSuccess: boolean; } - Bump version in all configured files. file version-bump.ts ReleaseManifest - Release manifest structure. ReleaseListOptions ReleaseTaskRecord - Task record shape needed for release operations. (version: string, tasks: string[] | undefined, notes: string | undefined, loadTasksFn: () => Promise<ReleaseTaskRecord[]>, cwd?: string) => Promise<{ version: string; status: string; tasks: string[]; taskCount: number; }> - Prepare a release (create a release manifest entry). T4788 (version: string, loadTasksFn: () => Promise<ReleaseTaskRecord[]>, cwd?: string) => Promise<{ version: string; changelog: string; taskCount: number; sections: Record<string, number>; }> - Generate changelog for a release. T4788 (optionsOrCwd?: ReleaseListOptions | string, cwd?: string) => Promise<{ releases: Array<{ version: string; status: string; createdAt: string; taskCount: number; }>; total: number; filtered: number; latest?: string; page: ReturnType<typeof createPage>; }> - List all releases. T4788 (version: string, cwd?: string) => Promise<ReleaseManifest> - Show release details. T4788 (version: string, cwd?: string) => Promise<{ version: string; status: string; committedAt: string; }> - Mark release as committed (metadata only). T4788 (version: string, cwd?: string) => Promise<{ version: string; status: string; taggedAt: string; }> - Mark release as tagged (metadata only). T4788 (version: string, loadTasksFn: () => Promise<ReleaseTaskRecord[]>, cwd?: string, opts?: { dryRun?: boolean; }) => Promise<{ version: string; allPassed: boolean; gates: Array<{ name: string; status: "passed" | "failed"; message: string; }>; passedCount: number; failedCount: number; metadata: ReleaseGateMetadata; }> - Run release validation gates. T4788 T5586 (version: string, projectRoot?: string) => Promise<{ success: boolean; message: string; version: string; }> - Cancel and remove a release in draft or prepared state. Only releases that have not yet been committed to git can be cancelled. For committed/tagged/pushed releases, use rollbackRelease() instead. T5602 (version: string, reason?: string, cwd?: string) => Promise<{ version: string; previousStatus: string; status: string; reason: string; }> - Rollback a release. T4788 ReleaseGateMetadata - Metadata captured during gate evaluation, returned alongside gate results. Downstream (engine layer) uses this to determine PR vs direct push. PushPolicy - Push policy configuration from config.release.push. (version: string, remote?: string, cwd?: string, opts?: { explicitPush?: boolean; mode?: PushMode; prBase?: string; epicId?: string; guided?: boolean; }) => Promise<{ version: string; status: string; remote: string; pushedAt: string; requiresPR?: boolean; }> - Push release to remote via git. Respects config.release.push policy: - remote: override default remote (fallback to 'origin') - requireCleanTree: verify git working tree is clean before push - allowedBranches: verify current branch is in the allowed list - enabled: if false and no explicit push flag, caller should skip T4788 T4276 (version: string, pushedAt: string, cwd?: string, provenance?: { commitSha?: string; gitTag?: string; }) => Promise<void> - Update release status after push, with optional provenance fields. T4788 T5580 (projectRoot?: string) => Promise<{ migrated: number; }> - One-time migration: read .cleo/releases.json and insert each release into the release_manifests table. Renames the file to releases.json.migrated on success. T5580 file release-manifest.ts file index.ts 1 - Version of the snapshot schema. Increment on breaking changes. SnapshotDecision - A decision recorded during the session. SnapshotObservation - Brain observation linked to this session. SnapshotTaskContext - Active task context at snapshot time. SessionSnapshot - Complete session snapshot — everything needed to resume. This is the serialization format. It is JSON-safe and can be stored in a file, database column, or transmitted over the network. SerializeOptions - Options for serializing a session. RestoreOptions - Options for restoring a session. (projectRoot: string, options?: SerializeOptions, accessor?: DataAccessor) => Promise<SessionSnapshot> - Serialize a session into a complete snapshot. Captures the full session state including handoff data, decisions, brain observations, and active task context. The result is a JSON-serializable object that can be stored and later restored. (projectRoot: string, snapshot: SessionSnapshot, options?: RestoreOptions, accessor?: DataAccessor) => Promise<Session> - Restore a session from a snapshot. Hydrates a session from a previously serialized snapshot. The session is re-inserted into the sessions store and optionally activated. Brain observations from the snapshot are NOT re-inserted (they already exist in brain.db) — only the session state is restored. file snapshot.ts StickyNoteStatus - Sticky note status values. StickyNoteColor - Sticky note color options. StickyNotePriority - Sticky note priority levels. ConvertedTargetType - Converted target type. ConvertedTarget - Converted target reference. StickyNote - Core sticky note interface. CreateStickyParams - Parameters for creating a sticky note. ListStickiesParams - Parameters for listing sticky notes. ConvertStickyParams - Parameters for converting a sticky note. file types.ts (id: string, projectRoot: string) => Promise<StickyNote | null> - Archive a sticky note. file archive.ts (stickyId: string, taskTitle: string | undefined, projectRoot: string) => Promise<{ success: boolean; taskId?: string; error?: { code: string; message: string; }; }> - Convert a sticky note to a task. (stickyId: string, memoryType: string | undefined, projectRoot: string) => Promise<{ success: boolean; memoryId?: string; error?: { code: string; message: string; }; }> - Convert a sticky note to a memory observation. (stickyId: string, taskId: string, projectRoot: string) => Promise<{ success: boolean; taskId?: string; error?: { code: string; message: string; }; }> - Convert a sticky note to a task note. (stickyId: string, sessionId: string | undefined, projectRoot: string) => Promise<{ success: boolean; sessionId?: string; error?: { code: string; message: string; }; }> - Convert a sticky note to a session note. file convert.ts (projectRoot: string) => Promise<string> - Generate the next sticky note ID. Finds the highest existing SN-XXX ID and increments. file id.ts (params: CreateStickyParams, projectRoot: string) => Promise<StickyNote> - Create a new sticky note. file create.ts (params: ListStickiesParams, projectRoot: string) => Promise<StickyNote[]> - List sticky notes with optional filters. file list.ts (id: string, projectRoot: string) => Promise<StickyNote | null> - Purge (permanently delete) a sticky note. file purge.ts (id: string, projectRoot: string) => Promise<StickyNote | null> - Get a sticky note by ID. file show.ts file index.ts ArchiveTasksOptions - Options for archiving tasks. ArchiveTasksResult - Result of archiving tasks. (options?: ArchiveTasksOptions, cwd?: string, accessor?: DataAccessor) => Promise<ArchiveTasksResult> - Archive completed (and optionally cancelled) tasks. Moves them from active task data to archive. T4461 file archive.ts DeleteTaskOptions - Options for deleting a task. DeleteTaskResult - Result of deleting a task. (options: DeleteTaskOptions, cwd?: string, accessor?: DataAccessor) => Promise<DeleteTaskResult> - Delete a task (soft delete - moves to archive). T4461 file delete.ts typeof Cleo file cleo.ts readonly ["config.json", ".gitignore", "project-info.json", "project-context.json"] - Configuration files relative to .cleo/ that MUST remain tracked by project git. These are JSON/text config files only — NOT databases. SQLite databases (tasks.db) are excluded: they must be gitignored to prevent data-loss from merge conflicts (see ADR-013). If any of these files are gitignored, cleo doctor reports a critical finding. file constants.ts EngineResult<T> - Canonical EngineResult type used by all engines and core engine-compat modules. file engine-result.ts ExportMeta - Export package metadata. ExportSelection - Export selection criteria. IdMapEntry - ID map entry. RelationshipGraph - Relationship graph. ExportPackage - Complete export package. (tasksJson: string) => string - Calculate SHA-256 checksum for export integrity (truncated to 16 hex chars). (pkg: ExportPackage) => boolean - Verify export package checksum. (tasks: Task[]) => Record<string, IdMapEntry> - Build ID map from tasks. (tasks: Task[]) => RelationshipGraph - Build relationship graph from tasks. (tasks: Task[], options: { mode: string; rootTaskIds: string[]; includeChildren: boolean; cleoVersion?: string; filters?: unknown; projectName?: string; }) => ExportPackage - Build a complete export package. (taskId: string, allTasks: Task[], projectName?: string) => ExportPackage | null - Export a single task. (rootId: string, allTasks: Task[], projectName?: string) => ExportPackage | null - Export a subtree (task + all descendants). file export.ts ExportTasksParams ExportTasksResult (params: ExportTasksParams) => Promise<ExportTasksResult> - Export tasks to a portable cross-project package. file export-tasks.ts HelpOperationDef - Minimal operation definition consumed by help logic. CostHint - Cost hint classification for an operation. GroupedOperations - Domain-grouped operation format (compact). VerboseOperation - Verbose operation entry with cost hints. HelpResult - Result of the help computation. (domain: string, operation: string) => CostHint - Determine cost hint for an operation based on domain and operation name. (ops: HelpOperationDef[]) => GroupedOperations - Group operations by domain into a compact format. (ops: HelpOperationDef[]) => VerboseOperation[] - Build verbose operation entries with cost hints. (allOperations: HelpOperationDef[], tier: number, verbose: boolean) => HelpResult - Compute the help result for the admin.help operation. Accepts the full OPERATIONS registry and filters/formats based on tier and verbosity. This is pure business logic with no dispatch or engine dependencies. file help.ts TransferMode - Transfer mode: copy keeps source tasks, move archives them. TransferScope - Transfer scope: single task or full subtree. TransferOnConflict - Conflict resolution when target has tasks with duplicate titles. TransferOnMissingDep - How to handle missing dependencies in the target project. TransferParams - Parameters for a cross-project transfer operation. TransferManifestEntry - A single task entry in the transfer manifest. TransferManifest - Manifest describing what was (or would be) transferred. TransferResult - Result of a transfer operation. ImportFromPackageOptions - Options passed to importFromPackage (extracted from importTasksPackage). ImportFromPackageResult - Result from importFromPackage. file transfer-types.ts RemapTable - Forward and reverse remap tables. (tasks: Task[]) => number - Get the next available task ID number from existing tasks. (sourceTaskIds: string[], existingTasks: Task[]) => RemapTable - Generate a remap table for importing tasks. Maps source task IDs to new sequential IDs starting from nextAvailable. (table: RemapTable, expectedSourceIds: string[]) => { valid: boolean; errors: string[]; } - Validate that a remap table is complete and consistent. (taskId: string | null, table: RemapTable) => string | null - Remap a single task ID, returning original if not in table. (task: Task, table: RemapTable, existingTaskIds: Set<string>, missingDepStrategy?: "strip" | "fail") => Task - Remap all ID references in a task. (importTasks: Task[], existingTasks: Task[]) => Array<{ sourceId: string; title: string; existingId: string; }> - Detect duplicate titles between import and target. (title: string, existingTitles: Set<string>) => string - Resolve duplicate title by appending suffix. file import-remap.ts ImportTasksParams ImportTasksResult (exportPkg: ExportPackage, options?: ImportFromPackageOptions) => Promise<ImportFromPackageResult> - Import tasks from an in-memory ExportPackage with ID remapping. Core logic extracted from importTasksPackage for reuse by transfer engine. (params: ImportTasksParams) => Promise<ImportTasksResult> - Import tasks from a cross-project export package file with ID remapping. Thin wrapper around importFromPackage that handles file I/O. file import-tasks.ts file index.ts (projectRoot: string, query: string, opts?: { topics?: string; keywords?: string; status?: string; }) => Promise<AdrFindResult> file find.ts (projectRoot: string, opts?: { status?: string; since?: string; limit?: number; offset?: number; }) => Promise<AdrListResult> - List ADRs from .cleo/adrs/ directory with optional status filter file list.ts (projectRoot: string, adrId: string) => Promise<AdrRecord | null> - Retrieve a single ADR by ID (e.g., 'ADR-007') file show.ts ValidationError ValidationResult ValidationError - ValidationError — canonical name per ADR-017 spec ValidationResult - ValidationResult — canonical name per ADR-017 spec (projectRoot: string) => Promise<ValidationResult> - Validate all ADRs in .cleo/adrs/ against the schema file validate.ts file index.ts () => EngineResult<Provider[]> - List all registered providers. T4332 (idOrAlias: string) => EngineResult<Provider> - Get a single provider by ID or alias. T4332 () => EngineResult<DetectionResult[]> - Detect all providers installed on the system. T4332 () => EngineResult<Provider[]> - Get providers that are installed on the system. T4332 () => EngineResult<{ count: number; }> - Get count of registered providers. T4332 () => EngineResult<{ version: string; }> - Get CAAMP registry version. T4332 (filePath: string, expectedContent?: string) => Promise<EngineResult<InjectionStatus>> - Check injection status for a single file. T4332 (projectDir: string, scope: "project" | "global", expectedContent?: string) => Promise<EngineResult<{ results: unknown[]; }>> - Check injection status across all providers. T4332 (filePath: string, content: string) => Promise<EngineResult<{ action: string; }>> - Inject or update content in a single file. T4332 (projectDir: string, scope: "project" | "global", content: string) => Promise<EngineResult<{ results: Record<string, string>; }>> - Inject content to all providers' instruction files. T4332 (options: BatchInstallOptions) => Promise<EngineResult<BatchInstallResult>> - Install multiple skills atomically with rollback on failure. T4705 T4663 file adapter.ts (provider: Provider | string, capabilityPath: string) => boolean - Check if provider supports a specific capability (providerId: string, capabilities: string[]) => Record<string, boolean> - Check multiple capabilities at once file capability-check.ts file index.ts TreeSitterLanguage - Supported tree-sitter language identifiers. (filePath: string) => TreeSitterLanguage | undefined - Detect tree-sitter language from a file path. (language: TreeSitterLanguage) => string - Get the npm grammar package name for a language. string[] - All supported file extensions. TreeSitterLanguage[] - All supported languages. file tree-sitter-languages.ts () => boolean - Check if tree-sitter CLI is available and executable. Cached after first call. (filePath: string, projectRoot?: string) => ParseResult - Parse a single file and extract code symbols. (filePaths: string[], projectRoot?: string) => BatchParseResult - Batch-parse multiple files, grouping by language for efficiency. Files with the same language share a single query pattern file but each file is parsed individually (tree-sitter CLI limitation). file parser.ts OutlineNode - A symbol node in the outline tree, with optional children. SmartOutlineResult - Result of generating a smart outline for a file. (filePath: string, projectRoot?: string) => SmartOutlineResult - Generate a smart outline for a source file. Returns a tree of symbols with signatures only (bodies collapsed), suitable for giving agents a quick structural overview. file outline.ts SmartSearchResult - A search result with relevance score. SmartSearchOptions - Options for smart_search. (query: string, options?: SmartSearchOptions) => SmartSearchResult[] - Search for symbols across a codebase. Walks the directory tree, batch-parses source files, and returns symbols matching the query ranked by relevance score. file search.ts SmartUnfoldResult - Result of unfolding a single symbol. (filePath: string, symbolName: string, projectRoot?: string) => SmartUnfoldResult - Extract a symbol's complete source from a file. Finds the symbol by name (supports "Class.method" dot notation), determines its full range including leading documentation, and returns the exact source text. file unfold.ts file index.ts ComplianceJsonlEntry (projectRoot: string) => string - Resolve COMPLIANCE.jsonl path for a project root. (projectRoot: string) => ComplianceJsonlEntry[] - Read COMPLIANCE.jsonl entries. Invalid JSON lines are skipped to preserve append-only log resilience. (projectRoot: string, entry: ComplianceJsonlEntry) => void - Append one entry to COMPLIANCE.jsonl, creating directories as needed. file store.ts (opts: { since?: string; agent?: string; cwd?: string; }) => Promise<Record<string, unknown>> - Get compliance summary. (opts: { severity?: string; since?: string; agent?: string; cwd?: string; }) => Promise<Record<string, unknown>> - List compliance violations. (days?: number, cwd?: string) => Promise<Record<string, unknown>> - Get compliance trend. (epicId: string, opts: { since?: string; cwd?: string; }) => Promise<Record<string, unknown>> - Audit epic compliance. (opts: { force?: boolean; cwd?: string; }) => Promise<Record<string, unknown>> - Sync compliance metrics to a summary file. (opts: { global?: boolean; cwd?: string; }) => Promise<Record<string, unknown>> - Get skill reliability stats. (days?: number, cwd?: string) => Promise<Record<string, unknown>> - Get value metrics (T2833). file index.ts typeof ConduitClient - ConduitClient wraps a Transport, adding high-level messaging semantics. file conduit-client.ts typeof HttpTransport - HTTP transport with automatic primary/fallback failover. file http-transport.ts typeof LocalTransport - In-process SQLite transport for fully offline agent messaging. file local-transport.ts typeof SseTransport - SseTransport — real-time SSE with HTTP polling fallback. file sse-transport.ts (credential: AgentCredential) => Transport - Resolve the best available transport for a credential. Cloud-backed agents (apiBaseUrl is a remote URL) use HttpTransport so they can receive messages from the SignalDock cloud relay. LocalTransport is only used when the agent is explicitly local-only (apiBaseUrl is 'local' or absent), since local signaldock.db doesn't sync with the cloud. (registry: AgentRegistryAPI, agentId?: string) => Promise<Conduit> - Create a Conduit instance from the agent registry. file factory.ts file index.ts (opts: { session?: string; cwd?: string; }) => Promise<Record<string, unknown>> - Get context status. (opts: { session?: string; cwd?: string; }) => Promise<Record<string, unknown> & { exitCode?: number; }> - Check context threshold (returns exit code info). (cwd?: string) => Promise<Record<string, unknown>> - List all context state files. file index.ts z.ZodObject<{ timestamp: z.ZodISODateTime; sessionId: z.ZodOptional<z.ZodString>; taskId: z.ZodOptional<z.ZodString>; providerId: z.ZodOptional<z.ZodString>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; }, z.core.$strip> - Zod schema for `HookPayload`. z.ZodObject<{ timestamp: z.ZodISODateTime; taskId: z.ZodOptional<z.ZodString>; providerId: z.ZodOptional<z.ZodString>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; sessionId: z.ZodString; name: z.ZodString; scope: z.ZodString; agent: z.ZodOptional<z.ZodString>; }, z.core.$strip> - Zod schema for `SessionStartPayload`. z.ZodObject<{ timestamp: z.ZodISODateTime; taskId: z.ZodOptional<z.ZodString>; providerId: z.ZodOptional<z.ZodString>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; sessionId: z.ZodString; name: z.ZodString; scope: z.ZodString; agent: z.ZodOptional<z.ZodString>; }, z.core.$strip> z.ZodObject<{ timestamp: z.ZodISODateTime; taskId: z.ZodOptional<z.ZodString>; providerId: z.ZodOptional<z.ZodString>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; sessionId: z.ZodString; duration: z.ZodNumber; tasksCompleted: z.ZodArray<z.ZodString>; }, z.core.$strip> - Zod schema for `SessionEndPayload`. z.ZodObject<{ timestamp: z.ZodISODateTime; taskId: z.ZodOptional<z.ZodString>; providerId: z.ZodOptional<z.ZodString>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; sessionId: z.ZodString; duration: z.ZodNumber; tasksCompleted: z.ZodArray<z.ZodString>; }, z.core.$strip> z.ZodObject<{ timestamp: z.ZodISODateTime; sessionId: z.ZodOptional<z.ZodString>; providerId: z.ZodOptional<z.ZodString>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; taskId: z.ZodString; taskTitle: z.ZodString; previousTask: z.ZodOptional<z.ZodString>; toolName: z.ZodOptional<z.ZodString>; toolInput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; }, z.core.$strip> - Zod schema for `PreToolUsePayload`. z.ZodObject<{ timestamp: z.ZodISODateTime; sessionId: z.ZodOptional<z.ZodString>; providerId: z.ZodOptional<z.ZodString>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; taskId: z.ZodString; taskTitle: z.ZodString; previousTask: z.ZodOptional<z.ZodString>; toolName: z.ZodOptional<z.ZodString>; toolInput: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; }, z.core.$strip> z.ZodObject<{ timestamp: z.ZodISODateTime; sessionId: z.ZodOptional<z.ZodString>; providerId: z.ZodOptional<z.ZodString>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; taskId: z.ZodString; taskTitle: z.ZodString; status: z.ZodEnum<{ cancelled: "cancelled"; done: "done"; archived: "archived"; }>; toolResult: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; }, z.core.$strip> - Zod schema for `PostToolUsePayload`. z.ZodObject<{ timestamp: z.ZodISODateTime; sessionId: z.ZodOptional<z.ZodString>; providerId: z.ZodOptional<z.ZodString>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; taskId: z.ZodString; taskTitle: z.ZodString; status: z.ZodEnum<{ cancelled: "cancelled"; done: "done"; archived: "archived"; }>; toolResult: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; }, z.core.$strip> z.ZodObject<{ timestamp: z.ZodISODateTime; sessionId: z.ZodOptional<z.ZodString>; taskId: z.ZodOptional<z.ZodString>; providerId: z.ZodOptional<z.ZodString>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; filePath: z.ZodOptional<z.ZodString>; changeType: z.ZodOptional<z.ZodEnum<{ write: "write"; create: "create"; delete: "delete"; }>>; sizeBytes: z.ZodOptional<z.ZodNumber>; message: z.ZodOptional<z.ZodString>; }, z.core.$strip> - Zod schema for `NotificationPayload`. z.ZodObject<{ timestamp: z.ZodISODateTime; sessionId: z.ZodOptional<z.ZodString>; taskId: z.ZodOptional<z.ZodString>; providerId: z.ZodOptional<z.ZodString>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; filePath: z.ZodOptional<z.ZodString>; changeType: z.ZodOptional<z.ZodEnum<{ write: "write"; create: "create"; delete: "delete"; }>>; sizeBytes: z.ZodOptional<z.ZodNumber>; message: z.ZodOptional<z.ZodString>; }, z.core.$strip> z.ZodObject<{ timestamp: z.ZodISODateTime; sessionId: z.ZodOptional<z.ZodString>; taskId: z.ZodOptional<z.ZodString>; providerId: z.ZodOptional<z.ZodString>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; errorCode: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>; message: z.ZodString; domain: z.ZodOptional<z.ZodString>; operation: z.ZodOptional<z.ZodString>; gateway: z.ZodOptional<z.ZodString>; stack: z.ZodOptional<z.ZodString>; }, z.core.$strip> - Zod schema for `PostToolUseFailurePayload`. z.ZodObject<{ timestamp: z.ZodISODateTime; sessionId: z.ZodOptional<z.ZodString>; taskId: z.ZodOptional<z.ZodString>; providerId: z.ZodOptional<z.ZodString>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; errorCode: z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>; message: z.ZodString; domain: z.ZodOptional<z.ZodString>; operation: z.ZodOptional<z.ZodString>; gateway: z.ZodOptional<z.ZodString>; stack: z.ZodOptional<z.ZodString>; }, z.core.$strip> z.ZodObject<{ timestamp: z.ZodISODateTime; sessionId: z.ZodOptional<z.ZodString>; taskId: z.ZodOptional<z.ZodString>; providerId: z.ZodOptional<z.ZodString>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; gateway: z.ZodString; domain: z.ZodString; operation: z.ZodString; source: z.ZodOptional<z.ZodString>; }, z.core.$strip> - Zod schema for `PromptSubmitPayload`. z.ZodObject<{ timestamp: z.ZodISODateTime; sessionId: z.ZodOptional<z.ZodString>; taskId: z.ZodOptional<z.ZodString>; providerId: z.ZodOptional<z.ZodString>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; gateway: z.ZodString; domain: z.ZodString; operation: z.ZodString; source: z.ZodOptional<z.ZodString>; }, z.core.$strip> z.ZodObject<{ timestamp: z.ZodISODateTime; sessionId: z.ZodOptional<z.ZodString>; taskId: z.ZodOptional<z.ZodString>; providerId: z.ZodOptional<z.ZodString>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; gateway: z.ZodString; domain: z.ZodString; operation: z.ZodString; success: z.ZodBoolean; durationMs: z.ZodOptional<z.ZodNumber>; errorCode: z.ZodOptional<z.ZodString>; }, z.core.$strip> - Zod schema for `ResponseCompletePayload`. z.ZodObject<{ timestamp: z.ZodISODateTime; sessionId: z.ZodOptional<z.ZodString>; taskId: z.ZodOptional<z.ZodString>; providerId: z.ZodOptional<z.ZodString>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; gateway: z.ZodString; domain: z.ZodString; operation: z.ZodString; success: z.ZodBoolean; durationMs: z.ZodOptional<z.ZodNumber>; errorCode: z.ZodOptional<z.ZodString>; }, z.core.$strip> z.ZodObject<{ timestamp: z.ZodISODateTime; sessionId: z.ZodOptional<z.ZodString>; providerId: z.ZodOptional<z.ZodString>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; agentId: z.ZodString; role: z.ZodOptional<z.ZodString>; taskId: z.ZodOptional<z.ZodString>; }, z.core.$strip> - Zod schema for `SubagentStartPayload`. z.ZodObject<{ timestamp: z.ZodISODateTime; sessionId: z.ZodOptional<z.ZodString>; providerId: z.ZodOptional<z.ZodString>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; agentId: z.ZodString; status: z.ZodOptional<z.ZodEnum<{ failed: "failed"; blocked: "blocked"; partial: "partial"; complete: "complete"; }>>; taskId: z.ZodOptional<z.ZodString>; summary: z.ZodOptional<z.ZodString>; }, z.core.$strip> - Zod schema for `SubagentStopPayload`. z.ZodObject<{ timestamp: z.ZodISODateTime; sessionId: z.ZodOptional<z.ZodString>; taskId: z.ZodOptional<z.ZodString>; providerId: z.ZodOptional<z.ZodString>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; tokensBefore: z.ZodOptional<z.ZodNumber>; reason: z.ZodOptional<z.ZodString>; }, z.core.$strip> - Zod schema for `PreCompactPayload`. z.ZodObject<{ timestamp: z.ZodISODateTime; sessionId: z.ZodOptional<z.ZodString>; taskId: z.ZodOptional<z.ZodString>; providerId: z.ZodOptional<z.ZodString>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; tokensBefore: z.ZodOptional<z.ZodNumber>; tokensAfter: z.ZodOptional<z.ZodNumber>; success: z.ZodBoolean; }, z.core.$strip> - Zod schema for `PostCompactPayload`. z.ZodObject<{ timestamp: z.ZodISODateTime; sessionId: z.ZodOptional<z.ZodString>; taskId: z.ZodOptional<z.ZodString>; providerId: z.ZodOptional<z.ZodString>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; key: z.ZodString; previousValue: z.ZodOptional<z.ZodUnknown>; newValue: z.ZodOptional<z.ZodUnknown>; }, z.core.$strip> - Zod schema for `ConfigChangePayload`. z.ZodObject<{ timestamp: z.ZodISODateTime; sessionId: z.ZodOptional<z.ZodString>; taskId: z.ZodOptional<z.ZodString>; providerId: z.ZodOptional<z.ZodString>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; taskIds: z.ZodArray<z.ZodString>; epicId: z.ZodOptional<z.ZodString>; chainId: z.ZodOptional<z.ZodString>; reason: z.ZodOptional<z.ZodEnum<{ manual: "manual"; "dependency-cleared": "dependency-cleared"; "new-task": "new-task"; retry: "retry"; patrol: "patrol"; }>>; }, z.core.$strip> - Zod schema for `OnWorkAvailablePayload`. z.ZodObject<{ timestamp: z.ZodISODateTime; sessionId: z.ZodOptional<z.ZodString>; providerId: z.ZodOptional<z.ZodString>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; agentId: z.ZodString; role: z.ZodString; adapterId: z.ZodOptional<z.ZodString>; taskId: z.ZodOptional<z.ZodString>; }, z.core.$strip> - Zod schema for `OnAgentSpawnPayload`. z.ZodObject<{ timestamp: z.ZodISODateTime; sessionId: z.ZodOptional<z.ZodString>; providerId: z.ZodOptional<z.ZodString>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; agentId: z.ZodString; role: z.ZodString; status: z.ZodEnum<{ failed: "failed"; blocked: "blocked"; partial: "partial"; complete: "complete"; }>; taskId: z.ZodOptional<z.ZodString>; summary: z.ZodOptional<z.ZodString>; }, z.core.$strip> - Zod schema for `OnAgentCompletePayload`. z.ZodObject<{ timestamp: z.ZodISODateTime; sessionId: z.ZodOptional<z.ZodString>; taskId: z.ZodOptional<z.ZodString>; providerId: z.ZodOptional<z.ZodString>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; cascadeId: z.ZodString; chainId: z.ZodOptional<z.ZodString>; tesseraId: z.ZodOptional<z.ZodString>; taskIds: z.ZodOptional<z.ZodArray<z.ZodString>>; }, z.core.$strip> - Zod schema for `OnCascadeStartPayload`. z.ZodObject<{ timestamp: z.ZodISODateTime; sessionId: z.ZodOptional<z.ZodString>; taskId: z.ZodOptional<z.ZodString>; providerId: z.ZodOptional<z.ZodString>; metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>; watcherId: z.ZodString; patrolType: z.ZodEnum<{ custom: "custom"; health: "health"; sweep: "sweep"; refinery: "refinery"; watcher: "watcher"; }>; scope: z.ZodOptional<z.ZodString>; }, z.core.$strip> - Zod schema for `OnPatrolPayload`. PayloadValidationResult - Result of payload validation. (event: HookEvent, payload: unknown) => PayloadValidationResult - Validate a hook payload against its event-specific Zod schema. Falls back to the base `HookPayloadSchema` for events without a dedicated schema. Returns a result object rather than throwing, so callers can decide how to handle validation failures. file payload-schemas.ts file index.ts (opts: { maxTasks?: number; focusedOnly?: boolean; phase?: string; output?: string; saveState?: boolean; dryRun?: boolean; cwd?: string; }, accessor?: DataAccessor) => Promise<Record<string, unknown>> - Inject tasks for external consumption. file index.ts { readonly name: "@cleocode/cleo"; readonly version: "2026.3.36"; readonly description: "CLEO V2 - TypeScript task management CLI for AI coding agents"; readonly repository: { readonly owner: "kryptobaseddev"; readonly name: "cleo"; readonly fullName: "kryptobaseddev/cleo"; readonly url: "https://github.com/kryptobaseddev/cleo.git"; readonly issuesUrl: "https://github.com/kryptobaseddev/cleo/issues"; }; readonly buildDate: "2026-03-18T09:06:32.935Z"; readonly templates: { readonly issueTemplatesDir: "templates/issue-templates"; }; } - BUILD CONFIGURATION - AUTO-GENERATED FILE This file is generated by dev/generate-build-config.js DO NOT EDIT MANUALLY - Changes will be overwritten on next build Source of truth: package.json Generated at: 2026-03-18T09:06:32.935Z T5245 auto-generated { readonly name: "@cleocode/cleo"; readonly version: "2026.3.36"; readonly description: "CLEO V2 - TypeScript task management CLI for AI coding agents"; readonly repository: { readonly owner: "kryptobaseddev"; readonly name: "cleo"; readonly fullName: "kryptobaseddev/cleo"; readonly url: "https://github.com/kryptobaseddev/cleo.git"; readonly issuesUrl: "https://github.com/kryptobaseddev/cleo/issues"; }; readonly buildDate: "2026-03-18T09:06:32.935Z"; readonly templates: { readonly issueTemplatesDir: "templates/issue-templates"; }; } { readonly owner: "kryptobaseddev"; readonly name: "cleo"; readonly fullName: "kryptobaseddev/cleo"; readonly url: "https://github.com/kryptobaseddev/cleo.git"; readonly issuesUrl: "https://github.com/kryptobaseddev/cleo/issues"; } file build-config.ts () => Record<string, string> - Collect system diagnostics for bug reports. (diag: Record<string, string>) => string - Format diagnostics as markdown table. file diagnostics.ts IssueTemplate - Parsed issue template. (projectDir?: string) => IssueTemplate[] - Parse all issue templates from available sources. Priority: 1. Packaged templates in the CLEO installation (for npm-installed users) 2. Project's .github/ISSUE_TEMPLATE/ (for contributors working on CLEO) (cwd?: string) => IssueTemplate[] - Get template configuration - tries live parse, cache, then fallback. (subcommand: string, cwd?: string) => IssueTemplate | null - Get the template for a specific subcommand (bug, feature, etc.). (templates: IssueTemplate[], cwd?: string) => void - Cache parsed templates to .cleo/issue-templates.json. (templates: IssueTemplate[]) => { valid: boolean; missingLabels: string[]; } - Validate that labels referenced in issue templates are consistent. Collects all labels used across templates and checks that each label appears in at least one template definition. Reports any labels that are referenced by only one template but not defined as a known label across the template set. This catches typos and orphaned labels without requiring GitHub API access. file template-parser.ts (subcommand: string, rawBody: string, severity?: string, area?: string) => string - Build structured issue body with template sections. () => void - Check that gh CLI is installed and authenticated. AddIssueParams AddIssueResult (params: AddIssueParams) => AddIssueResult - Add a GitHub issue for a given type (bug, feature, help). Returns structured result. Does not handle CLI output or process.exit. Note: Named 'add' per VERB-STANDARDS.md (canonical verb for "Create new entity") file create.ts file index.ts RetryablePredicate - A predicate or pattern used to decide whether an error is retryable. - `RegExp` — matched against `error.message` (or `String(error)`) - `(error: unknown) => boolean` — arbitrary predicate function RetryOptions - Options that control retry behavior for `withRetry`. RetryContext - Metadata attached to errors thrown after all retry attempts are exhausted. The last error from the final attempt is augmented with these fields so callers can distinguish a retry-exhausted failure from a first-attempt one. <T>(fn: () => Promise<T>, options?: RetryOptions) => Promise<T> - Execute an async function with automatic retry and exponential backoff. (attempt: number, baseDelayMs: number, maxDelayMs: number) => number - Compute the wait time before the next attempt. file retry.ts file index.ts DecayResult - Result from applying temporal decay. (projectRoot: string, options?: { decayRate?: number; olderThanDays?: number; }) => Promise<DecayResult> - Apply temporal decay to brain_learnings confidence values. Entries older than `olderThanDays` have their confidence reduced by an exponential decay factor based on the number of days since their last update (or creation if never updated). Formula: new_confidence = confidence * (decayRate ^ daysSinceUpdate) ConsolidationResult - Result from consolidating memories. (projectRoot: string, options?: { olderThanDays?: number; minClusterSize?: number; }) => Promise<ConsolidationResult> - Consolidate old observations by keyword similarity. Groups observations older than `olderThanDays` by FTS5 keyword overlap. For groups with at least `minClusterSize` entries, creates one summary observation and marks originals as archived (updated_at set, narrative prefixed with [ARCHIVED]). file brain-lifecycle.ts BrainMigrationResult - Result from a migration run. (projectRoot: string) => Promise<BrainMigrationResult> - Migrate BRAIN memory data from JSONL files to brain.db. Reads: - .cleo/memory/patterns.jsonl - brain_patterns table - .cleo/memory/learnings.jsonl - brain_learnings table Skips entries where the ID already exists in the database (idempotent). T5129 file brain-migration.ts ResearchEntry - Research entry attached to a task. ManifestEntry - Manifest entry (JSONL line). AddResearchOptions - Options for adding research. ListResearchOptions - Options for listing research. ManifestQueryOptions - Manifest query options. (options: AddResearchOptions, cwd?: string, accessor?: DataAccessor) => Promise<ResearchEntry> - Add a research entry. (researchId: string, cwd?: string) => Promise<ResearchEntry> - Show a specific research entry. (options?: ListResearchOptions, cwd?: string) => Promise<ResearchEntry[]> - List research entries with optional filtering. (cwd?: string) => Promise<ResearchEntry[]> - List pending research entries. (researchId: string, taskId: string, cwd?: string, accessor?: DataAccessor) => Promise<{ researchId: string; taskId: string; }> - Link a research entry to a task. (researchId: string, updates: { findings?: string[]; sources?: string[]; status?: "pending" | "complete" | "partial"; }, cwd?: string) => Promise<ResearchEntry> - Update research findings. (cwd?: string) => Promise<{ total: number; byStatus: Record<string, number>; byTopic: Record<string, number>; }> - Get research statistics. (taskId: string, cwd?: string) => Promise<ResearchEntry[]> - Get research entries linked to a specific task. (cwd?: string) => Promise<{ action: string; entriesArchived: number; entriesRemaining: number; }> - Archive old research entries by status. Moves 'complete' entries to an archive and keeps non-complete ones. (cwd?: string) => Promise<ManifestEntry[]> - Read manifest entries from the legacy agent-outputs flat-file (deprecated per ADR-027). (entry: ManifestEntry, cwd?: string) => Promise<void> - Append a manifest entry. (options?: ManifestQueryOptions, cwd?: string) => Promise<ManifestEntry[]> - Query manifest entries with filtering. ExtendedManifestEntry - Extended manifest entry with optional fields used by the engine. ResearchFilter - Research filter criteria used by the engine. (cwd?: string) => Promise<ExtendedManifestEntry[]> - Read all manifest entries as extended entries. (entries: ExtendedManifestEntry[], filter: ResearchFilter) => ExtendedManifestEntry[] - Filter manifest entries by criteria. (researchId: string, cwd?: string) => Promise<ExtendedManifestEntry & { fileContent: string | null; fileExists: boolean; }> - Show a manifest entry by ID with optional file content. (query: string, options?: { confidence?: number; limit?: number; }, cwd?: string) => Promise<Array<ExtendedManifestEntry & { relevanceScore: number; }>> - Search manifest entries by text with relevance scoring. (epicId?: string, cwd?: string) => Promise<{ entries: ExtendedManifestEntry[]; total: number; byStatus: { partial: number; blocked: number; needsFollowup: number; }; }> - Get pending manifest entries (partial, blocked, or needing followup). (epicId?: string, cwd?: string) => Promise<{ total: number; byStatus: Record<string, number>; byType: Record<string, number>; actionable: number; needsFollowup: number; averageFindings: number; }> - Get manifest-based research statistics. (taskId: string, researchId: string, cwd?: string) => Promise<{ taskId: string; researchId: string; alreadyLinked: boolean; }> - Link a manifest entry to a task (adds taskId to linked_tasks array). (entry: ExtendedManifestEntry, cwd?: string) => Promise<{ entryId: string; file: string; }> - Append an extended manifest entry. Validates required fields before appending. (beforeDate: string, cwd?: string) => Promise<{ archived: number; remaining: number; archiveFile: string; }> - Archive manifest entries older than a date. ContradictionDetail - Contradiction detail between two manifest entries. (cwd?: string, params?: { topic?: string; }) => Promise<ContradictionDetail[]> - Find manifest entries with overlapping topics but conflicting key_findings. SupersededDetail - Superseded entry detail. (cwd?: string, params?: { topic?: string; }) => Promise<SupersededDetail[]> - Identify research entries replaced by newer work on same topic. (protocolType: string, params?: { taskId?: string; variant?: string; }, cwd?: string) => Promise<{ protocolType: string; content: string; path: string; contentLength: number; estimatedTokens: number; taskId: string | null; variant: string | null; }> - Read protocol injection content for a given protocol type. (cwd?: string) => Promise<{ compacted: boolean; originalLines: number; malformedRemoved: number; duplicatesRemoved: number; remainingEntries: number; }> - Compact the legacy agent-outputs flat-file by removing duplicate/stale entries. (taskId: string, cwd?: string) => Promise<{ taskId: string; valid: boolean; entriesFound: number; issues: Array<{ entryId: string; issue: string; severity: "error" | "warning"; }>; errorCount: number; warningCount: number; }> - Validate research entries for a task. file index.ts - Research commands and manifest operations. T4465 T4454 (metricsDir?: string) => Promise<string> - Ensure metrics directory exists, returning its path. (metricsDir?: string) => string - Get compliance log path. (metricsDir?: string) => string - Get violations log path. (metricsDir?: string) => string - Get sessions metrics log path. () => string - Generate ISO 8601 UTC timestamp. () => string - Generate ISO 8601 date only. (filePath: string) => Record<string, unknown>[] - Read a JSONL file into an array of parsed objects. ComplianceSummary - Compliance summary shape. (compliancePath?: string) => ComplianceSummary - Get compliance summary from log file. file common.ts () => boolean - Check if OTel telemetry is enabled. OtelCaptureMode - OTel capture mode. (mode?: OtelCaptureMode, cwd?: string) => string - Get environment variable commands for OTel capture setup. OtelTokenDataPoint - Token data point parsed from OTel metrics. (inputFile?: string, cwd?: string) => OtelTokenDataPoint[] - Parse OTel token metrics from collected data. AggregatedTokens - Aggregated token counts. (sessionId?: string, cwd?: string) => AggregatedTokens - Get aggregated token counts from OTel data. (sessionId: string, cwd?: string) => Promise<Record<string, unknown>> - Record token counts at session start. (sessionId: string, cwd?: string) => Promise<Record<string, unknown>> - Record token counts at session end. (sessionA: string, sessionB: string, cwd?: string) => Record<string, unknown> - Compare token usage between two sessions. (cwd?: string) => Record<string, unknown> - Get statistics about token usage across sessions. file otel-integration.ts ABVariant - A/B test variant. ABEventType - A/B test event types. (eventType: ABEventType, testName: string, variant: ABVariant, context?: Record<string, unknown> | string, cwd?: string) => Promise<void> - Log an A/B test event. (testName: string, variant: ABVariant, description?: string, cwd?: string) => Promise<void> - Start an A/B test session. ABTestSummary - A/B test summary result. (options?: { tasksCompleted?: number; validationPasses?: number; validationFailures?: number; notes?: string; }, cwd?: string) => Promise<ABTestSummary | null> - End an A/B test session with summary. (testName: string, variant: ABVariant, cwd?: string) => Record<string, unknown> | null - Get results for a specific test variant. (filter?: string, cwd?: string) => Record<string, unknown>[] - List all A/B tests. (testName: string, cwd?: string) => Record<string, unknown> - Compare two variants of the same test. (cwd?: string) => Record<string, unknown> - Get aggregate statistics of all A/B tests. file ab-test.ts (options?: { force?: boolean; }, cwd?: string) => Promise<Record<string, unknown>> - Sync project metrics to global aggregation file. (options?: { since?: string; agent?: string; category?: string; }, cwd?: string) => Record<string, unknown> - Get compliance summary for the current project. (options?: { since?: string; project?: string; }) => Record<string, unknown> - Get compliance summary across all projects. (days?: number, options?: { project?: string; global?: boolean; }, cwd?: string) => Record<string, unknown> - Get compliance trend over time. (options?: { since?: string; global?: boolean; }, cwd?: string) => Record<string, unknown> - Get reliability stats per skill/agent. (metricsJson: Record<string, unknown>, cwd?: string) => Promise<Record<string, unknown>> - Log session metrics to SESSIONS.jsonl. (options?: { since?: string; }, cwd?: string) => Record<string, unknown> - Get summary of session metrics. file aggregation.ts Severity - Violation severity levels. ManifestIntegrity - Manifest integrity states. InstructionStability - Instruction stability levels. SessionDegradation - Session degradation levels. AgentReliability - Agent reliability levels. MetricCategory - Metric categories. MetricSource - Metric sources. AggregationPeriod - Aggregation periods. <T extends Record<string, string>>(enumObj: T, value: string) => value is T[keyof T] - Validate that a value is a member of a given enum. file enums.ts TokenEventType - Token event types. TokenEvent - A token usage event entry. (text: string) => number - Estimate token count from text. ~4 characters per token. (filePath: string) => number - Estimate token count from a file. (eventType: TokenEventType, tokens: number, source: string, taskId?: string, context?: Record<string, unknown>, cwd?: string) => Promise<void> - Log a token usage event to the JSONL file. (filePath: string, purpose: "manifest" | "full_file" | "full" | "skill" | "protocol" | string, taskId?: string, cwd?: string) => Promise<number> - Track a file read with token estimate. (queryType: string, resultCount: number, taskId?: string, cwd?: string) => Promise<number> - Track a manifest query (partial read). (skillName: string, tier: number, tokens: number, taskId?: string, cwd?: string) => Promise<void> - Track skill injection with tokens. (prompt: string, taskId: string, skillsUsed: string, cwd?: string) => Promise<number> - Track final prompt size. (taskId: string, outputText: string, sessionId?: string, cwd?: string) => Promise<number> - Track subagent output tokens. (taskId: string, promptTokens: number, outputTokens: number, sessionId?: string, cwd?: string) => Promise<number> - Track complete spawn cycle (prompt + output). (sessionId: string, cwd?: string) => Promise<void> - Start tracking tokens for a session. TokenSessionSummary - Token session summary shape. (cwd?: string) => Promise<TokenSessionSummary | null> - End token tracking session with summary. (days?: number, cwd?: string) => Record<string, unknown> - Get token usage summary for a time period. (manifestEntries: number) => Record<string, unknown> - Compare manifest vs full file token usage strategies. () => { tracking_enabled: boolean; env_var: string; } - Get tracking status. file token-estimation.ts file index.ts VerificationResult - Result of a backup verification operation. (filePath: string) => Promise<string> - Compute SHA-256 checksum of a file. (sourcePath: string, backupPath: string) => Promise<VerificationResult> - Verify that a backup file matches the source file and is a valid SQLite database. Performs three checks: 1. Computes SHA-256 checksum of both files 2. Compares checksums to detect any content differences 3. Verifies the backup can be opened as a valid SQLite database (filePath1: string, filePath2: string) => Promise<boolean> - Quick checksum comparison without SQLite verification. Use when you only need to compare file contents. file checksum.ts LogLevel - Log entry severity level MigrationLogEntry - Single migration log entry MigrationLoggerConfig - Migration logger configuration typeof MigrationLogger - Structured logger for migration operations (cleoDir: string, config?: MigrationLoggerConfig) => MigrationLogger - Create a migration logger for the given cleo directory. Convenience function for functional programming style. (logPath: string) => MigrationLogEntry[] - Read and parse a migration log file. (logPath: string) => boolean - Check if a log file exists and is readable. (cleoDir: string) => string | null - Get the most recent migration log file for a cleo directory. file logger.ts PreflightResult - Pre-flight check result. (cwd?: string) => PreflightResult - Check whether legacy JSON data needs to be migrated to SQLite. Returns a diagnostic result that callers can use to warn users. This function is read-only and never modifies any files. file storage-preflight.ts file preflight.ts MigrationPhase - Migration phase - tracks current step in the migration process SourceFileInfo - Source file info with checksum for integrity verification MigrationProgress - Migration progress tracking MigrationState - Complete migration state structure (cleoDir: string, sourceFiles?: MigrationState["sourceFiles"]) => Promise<MigrationState> - Create initial migration state at the start of migration. Captures source file checksums and initializes progress tracking. Uses atomic write pattern to ensure state is never in an inconsistent state. (cleoDir: string, updates: Partial<MigrationState>) => Promise<MigrationState> - Update migration state with partial updates. Merges updates with existing state and writes atomically. Automatically adds timestamp to phase transitions. (cleoDir: string, phase: MigrationPhase) => Promise<MigrationState> - Update just the migration phase. Convenience wrapper for common phase transition. (cleoDir: string, progress: Partial<MigrationProgress>) => Promise<MigrationState> - Update progress counters during import. (cleoDir: string, error: string) => Promise<MigrationState> - Add an error to the migration state. (cleoDir: string, warning: string) => Promise<MigrationState> - Add a warning to the migration state. (cleoDir: string) => Promise<MigrationState | null> - Load existing migration state. (cleoDir: string) => Promise<boolean> - Check if a migration is in progress. (cleoDir: string) => Promise<{ canResume: boolean; phase: MigrationPhase; progress: MigrationProgress; errors: string[]; } | null> - Check if migration can be resumed. (cleoDir: string) => Promise<MigrationState> - Mark migration as complete. (cleoDir: string, error: string) => Promise<MigrationState> - Mark migration as failed with error details. (cleoDir: string) => Promise<void> - Clear migration state file. Safe to call even if state doesn't exist. (cleoDir: string) => Promise<string | null> - Get a summary of migration state for display. (cleoDir: string) => Promise<{ valid: boolean; changed: string[]; missing: string[]; }> - Verify source files haven't changed since migration started. Compares current checksums with stored checksums to detect if source files were modified during migration. file state.ts JsonFileValidation - Result of validating a single JSON file. JsonValidationResult - Complete validation result for all source files. (cleoDir: string) => JsonValidationResult - Validate all JSON source files before migration. This function MUST be called BEFORE any destructive database operations. It checks that all JSON files are parseable and contain expected data. (result: JsonValidationResult) => string - Format validation result for human-readable output. (cleoDir: string, jsonTaskCount: number) => string | null - Check for task count mismatch between existing database and JSON. This helps detect cases where the database has data but JSON is empty (indicating a potential configuration or path issue). file validate.ts SchemaVersion - Schema version info. MigrationFn - Migration function signature. MigrationDef - Migration definition. MigrationResult - Migration run result. MigrationStatus - Status of all data files. (data: unknown) => string - Detect schema version from a data file. T4468 (a: string, b: string) => number - Compare two version strings (X.Y.Z format, works for both semver and CalVer). Returns -1 if a b, 0 if equal, 1 if a b. T4468 (cwd?: string) => Promise<MigrationStatus> - Get migration status for all data files. T4468 (fileType: string, options?: { dryRun?: boolean; }, cwd?: string) => Promise<MigrationResult> - Run migrations on a data file. T4468 (options?: { dryRun?: boolean; }, cwd?: string) => Promise<MigrationResult[]> - Run all pending migrations. T4468 file index.ts NexusGraphNode NexusGraphEdge NexusGlobalGraph DepsResult - Result of a dependency query. DepsEntry - Single dependency entry with resolution status. CriticalPathResult - Critical path result. BlockingAnalysisResult - Blocking analysis result. OrphanEntry - Orphan detection result. () => void - Invalidate the in-memory graph cache. () => Promise<NexusGlobalGraph> - Build the global dependency graph from all registered projects. Uses checksum-based caching to avoid unnecessary rebuilds. (taskQuery: string, direction?: "forward" | "reverse") => Promise<DepsResult> - Show dependencies for a task across projects. Supports forward (what this depends on) and reverse (what depends on this) lookups. (depsArray: string[], sourceProject: string) => Promise<DepsEntry[]> - Resolve an array of dependencies (local or cross-project). () => Promise<CriticalPathResult> - Calculate the critical path across project boundaries. Returns the longest dependency chain in the global graph. (taskQuery: string) => Promise<BlockingAnalysisResult> - Analyze the blocking impact of a task across all projects. Uses BFS to find all direct and transitive dependents. () => Promise<OrphanEntry[]> - Detect orphaned cross-project dependencies. Finds tasks with dependency references to projects or tasks that don't exist. file deps.ts (params: TransferParams) => Promise<TransferResult> - Preview a transfer without writing any data. Validates projects, permissions, and builds the manifest. (params: TransferParams) => Promise<TransferResult> - Execute a cross-project task transfer. Pipeline: 1. Validate source/target projects via nexusGetProject() 2. Check permissions: read on source, write on target 3. Read source tasks 4. Build ExportPackage via exportSubtree/exportSingle 5. Import into target via importFromPackage() 6. Create bidirectional external_task_links 7. Write nexus_audit_log entry 8. If move mode: archive source tasks 9. If transferBrain: copy brain observations file transfer.ts file index.ts PinoLevel - Pino log levels as written by CLEO's logger (uppercase). Record<PinoLevel, number> - Numeric pino level values for comparison. PinoLogEntry - A parsed pino log entry from a CLEO log file. Core fields are always present; additional fields are captured in `extra`. LogFileInfo - Metadata about a discovered log file. LogFilter - Filter criteria for log queries. All fields are optional; when multiple are provided, they are ANDed. LogQueryResult - Result of a log query operation. LogDiscoveryOptions - Options for discovering log files. LogSummary - Summary of log activity across files. file types.ts (a: PinoLevel, b: PinoLevel) => number - Compare two pino levels numerically. Returns negative if a b, 0 if equal, positive if a b. (entry: PinoLogEntry, filter: LogFilter) => boolean - Check if a single entry matches the filter criteria. All specified fields must match (AND logic). (entries: PinoLogEntry[], filter: LogFilter) => PinoLogEntry[] - Filter an array of parsed log entries against criteria. Returns entries matching ALL specified criteria (AND logic). Does not apply pagination (limit/offset) -- use paginate() for that. (entries: PinoLogEntry[], limit?: number, offset?: number) => PinoLogEntry[] - Apply pagination (limit/offset) to a result set. file log-filter.ts (level: string) => level is PinoLevel - Validate that a string is a valid PinoLevel. (line: string) => PinoLogEntry | null - Parse a single JSONL line into a PinoLogEntry. Returns null for empty lines, non-JSON, or lines missing required fields. (lines: string[]) => PinoLogEntry[] - Parse multiple JSONL lines into PinoLogEntry array. Skips malformed lines. file log-parser.ts (cwd?: string) => string | null - Get the project log directory path. Uses getLogDir() from logger if available, falls back to config-based resolution. () => string - Get the global log directory path (~/.cleo/logs/). (options?: LogDiscoveryOptions, cwd?: string) => LogFileInfo[] - Discover all log files in the specified scope. Returns file info sorted by date (newest first). (filePath: string) => string[] - Read all lines from a log file synchronously. Returns raw JSON strings (one per line). Suitable for small-to-medium files. (filePath: string) => AsyncGenerator<string> - Create an async iterable over lines of a log file. Suitable for large files -- does not load entire file into memory. file log-reader.ts (filter?: LogFilter, options?: LogDiscoveryOptions, cwd?: string) => LogQueryResult - High-level query: discover files, parse, filter, paginate. Convenience wrapper combining all three layers. (filter?: LogFilter, options?: LogDiscoveryOptions, cwd?: string) => AsyncGenerator<PinoLogEntry> - Stream-based query for large log datasets. Yields matching entries one at a time. Respects limit. Does not support offset (streaming is forward-only). (options?: LogDiscoveryOptions, cwd?: string) => LogSummary - Get a summary of log activity (counts by level, date range, subsystems). Reads all discovered files but does not return individual entries. file index.ts () => Promise<Record<string, unknown>> - Get token tracking status. () => Promise<Record<string, unknown>> - Get combined token usage summary. (opts: { session?: string; task?: string; }) => Promise<Record<string, unknown>> - Get session-level token data. (opts: { task?: string; epic?: string; }) => Promise<Record<string, unknown>> - Get spawn-level token data. (opts: { session?: string; since?: string; }) => Promise<Record<string, unknown>> - Get real token usage from Claude Code API. () => Promise<Record<string, unknown>> - Clear token tracking data with backup. file index.ts (projectRoot: string, accessor?: DataAccessor) => Promise<{ success: boolean; data?: ListPhasesResult; error?: { code: string; message: string; }; }> - List all phases with status summaries. T5326 (projectRoot: string, phaseId?: string, accessor?: DataAccessor) => Promise<{ success: boolean; data?: ShowPhaseResult; error?: { code: string; message: string; }; }> - Show phase details by slug or current phase. T5326 file phase.ts file index.ts RemoteConfig - Remote configuration. PushResult - Result of a push operation. PullResult - Result of a pull operation. RemoteInfo - Result of a remote list operation. (cwd?: string) => Promise<string> - Get the current branch name in .cleo/.git. T4884 (url: string, name?: string, cwd?: string) => Promise<void> - Add a git remote to .cleo/.git. T4884 (name?: string, cwd?: string) => Promise<void> - Remove a git remote from .cleo/.git. T4884 (cwd?: string) => Promise<RemoteInfo[]> - List configured remotes in .cleo/.git. T4884 (remote?: string, options?: { force?: boolean; setUpstream?: boolean; }, cwd?: string) => Promise<PushResult> - Push .cleo/.git to a remote. T4884 (remote?: string, cwd?: string) => Promise<PullResult> - Pull from a remote into .cleo/.git. Uses rebase strategy to maintain clean history. T4884 (remote?: string, cwd?: string) => Promise<{ ahead: number; behind: number; branch: string; remote: string; }> - Get the sync status between local .cleo/.git and remote. T4884 file index.ts file index.ts (opts: { includeHistory?: boolean; upcomingOnly?: boolean; cwd?: string; }, accessor?: DataAccessor) => Promise<Record<string, unknown>> - Get roadmap from pending epics and CHANGELOG history. file index.ts ExecutionMode - Execution mode for an operation GatewayType - Gateway type PreferredChannel - Preferred communication channel for token efficiency. CLI is the only dispatch channel. T5240 OperationCapability CapabilityReport - Capability report returned by system.doctor (domain: string, operation: string, gateway: GatewayType) => ExecutionMode | undefined - Lookup the execution mode for a specific operation (domain: string, operation: string, gateway: GatewayType) => boolean - Check if an operation can run natively (without CLI) (domain: string, operation: string, gateway: GatewayType) => boolean - Check if an operation requires CLI (domain: string) => OperationCapability[] - Get all native-capable operations for a domain () => CapabilityReport - Generate a capability report for system.doctor () => ReadonlyArray<OperationCapability> - Get the full capability matrix (for testing/introspection) file capability-matrix.ts file index.ts (existingIds: Set<string>) => number - Find the highest existing task ID number (existingIds: Set<string>) => string - Generate the next ID given an explicit set of existing IDs. Useful when caller has already loaded task data. (id: string) => boolean - Validate that a task ID matches the expected format (input: unknown) => string | null - Normalize a task ID input to canonical T#### format. Accepts various loose formats (lowercase prefix, bare digits, underscore-suffixed descriptors) and returns the canonical form, or null if the input cannot be parsed as a task ID. file id-generator.ts typeof SecurityError - Security validation error thrown when input fails sanitization (value: unknown) => string - Sanitize and validate a task ID (path: string, projectRoot: string) => string - Sanitize and validate a file path (content: string, maxLength?: number) => string - Sanitize content string (value: string, allowed: string[], fieldName: string) => string - Validate that a value is in an allowed enum set readonly ["tasks", "session", "orchestrate", "research", "lifecycle", "validate", "release", "system"] - Known enum values for CLEO domains readonly ["query", "mutate"] readonly ["completed", "partial", "blocked", "archived"] readonly ["not_started", "in_progress", "blocked", "completed", "skipped", "failed"] readonly ["pending", "active", "blocked", "done", "cancelled", "archived", "completed", "partial", "blocked", "archived"] readonly ["critical", "high", "medium", "low"] RateLimitConfig - Rate limiter configuration RateLimitResult - Rate limit check result Record<string, RateLimitConfig> - Default rate limit configurations per operation type typeof RateLimiter - In-memory sliding window rate limiter (value: unknown, separator?: string) => string[] | undefined - Normalize a value to an array of strings. Handles external clients sending comma-separated strings where arrays are expected. (params: Record<string, unknown> | undefined, projectRoot?: string, context?: { domain?: string; operation?: string; }) => Record<string, unknown> | undefined - Sanitize all params in a request before routing file input-sanitization.ts file index.ts (cwd?: string) => string - Get the agents directory path. T4518 (agentDir: string) => AgentConfig | null - Parse an AGENT.md file into an AgentConfig. AGENT.md uses the same YAML frontmatter format as SKILL.md. T4518 (agentName: string, cwd?: string) => AgentConfig | null - Load agent configuration by name. Searches in the agents/ directory. T4518 (cwd?: string) => AgentConfig | null - Get the cleo-subagent configuration (universal executor). T4518 (agentName: string, cwd?: string) => boolean - Check if an agent definition exists. T4518 file config.ts (agentDir: string) => { installed: boolean; path: string; error?: string; } - Install a single agent via symlink. T4518 (cwd?: string) => Array<{ name: string; installed: boolean; error?: string; }> - Install all agents from the project agents/ directory. T4518 (agentName: string) => boolean - Uninstall a single agent by removing its symlink. T4518 file install.ts () => string - Get the agent registry file path. T4518 () => AgentRegistry - Read the agent registry, creating if needed. T4518 (registry: AgentRegistry) => void - Save the agent registry. T4518 (name: string, path: string, config: AgentConfig) => AgentRegistryEntry - Register an agent in the registry. T4518 (name: string) => boolean - Unregister an agent from the registry. T4518 (name: string) => AgentRegistryEntry | null - Get an agent from the registry by name. T4518 () => AgentRegistryEntry[] - List all registered agents. T4518 (cwd?: string) => { added: string[]; removed: string[]; unchanged: string[]; } - Scan the agents/ directory and register all found agents. T4518 file registry.ts (cwd?: string) => string | null - Load the subagent protocol base content. T4521 (taskId: string, cwd?: string) => Promise<string> - Build task context block for injection into a subagent prompt. T4521 (content: string, tier: 0 | 1 | 2) => string - Filter protocol content by MVI tier. Extracts sections based on !-- TIER:X -- markers. - tier 0: header + minimal only + footer - tier 1: header + minimal + standard + footer - tier 2: header + all tiers + footer (full content) Header = content before first TIER marker. Footer = content after last /TIER marker. T5155 (skillContent: string, taskId: string, tokenValues: TokenValues, cwd?: string, tier?: 0 | 1 | 2) => Promise<string> - Inject the subagent protocol into skill content. Composes: skill content + protocol base + task context. T4521 (taskId: string, skillName: string, tokenValues: TokenValues, cwd?: string, tier?: 0 | 1 | 2) => Promise<string> - Full orchestrator spawn workflow (skill-based). High-level function that loads the skill, injects protocol, and returns the prompt. T4521 (taskId: string, topicSlug: string, epicId?: string, _cwd?: string) => TokenValues - Prepare standard token values for a task spawn. T4521 file subagent.ts (skillName: string, projectDir?: string) => Promise<{ installed: boolean; path: string; error?: string; }> - Install a single skill via CAAMP. file install.ts ContributionDecision - A contribution decision from an agent. ContributionConflict - Conflict between two agent decisions. ConsensusResult - Consensus result from weighted voting. (taskId: string) => string - Generate a unique contribution ID. T4520 (taskId: string, cwd?: string) => Promise<{ valid: boolean; issues: string[]; }> - Validate that a task is suitable for contribution protocol. T4520 (taskId: string, protocolPath?: string, _cwd?: string) => string - Generate the contribution injection block for a subagent prompt. T4520 (decisions1: ContributionDecision[], decisions2: ContributionDecision[]) => ContributionConflict[] - Detect conflicts between two sets of decisions. T4520 (decisions: ContributionDecision[], weights?: Record<string, number>) => ConsensusResult - Compute weighted consensus from multiple agent decisions. T4520 (taskId: string, contributionId: string, decisions: ContributionDecision[]) => ManifestEntry - Create a manifest entry for a contribution. T4520 file contribution.ts (cwd?: string) => { created: string[]; } - Ensure agent outputs directory and manifest file exist. T4520 (cwd?: string) => ManifestEntry[] - Read all manifest entries. T4520 (entry: ManifestEntry, cwd?: string) => void - Append a manifest entry (atomic JSONL append). T4520 (id: string, cwd?: string) => ManifestEntry | null - Find a manifest entry by ID. T4520 (criteria: { status?: string; agentType?: string; topic?: string; linkedTask?: string; actionable?: boolean; }, cwd?: string) => ManifestEntry[] - Filter manifest entries by criteria. T4520 (cwd?: string) => ManifestEntry[] - Get entries with pending follow-ups. T4520 (cwd?: string) => string[] - Get unique follow-up task IDs from all manifest entries. T4520 (taskId: string, cwd?: string) => { hasResearch: boolean; count: number; } - Check if a task has linked research. T4520 (entryId: string, cwd?: string) => boolean - Archive a manifest entry (move to archive status). T4520 (maxEntries?: number, cwd?: string) => number - Rotate manifest by archiving old entries. T4520 file research.ts (cachePath?: string) => boolean - Check if the cached manifest is fresh (within TTL). T4520 () => void - Invalidate the cache (delete the cached manifest). T4520 (cwd?: string) => SkillManifest - Resolve the skills manifest. Returns a cached version if fresh, otherwise generates a new one. Graceful degradation: 1. Fresh cached manifest (within TTL) 2. Stale cached manifest (expired but valid) 3. Embedded project manifest (skills/manifest.json) 4. Freshly generated manifest T4520 (cwd?: string) => SkillManifest - Force regenerate the cache. T4520 file resolver.ts SkillsMpConfig - SkillsMP configuration. MarketplaceSkill - Marketplace skill result (CLEO-specific shape). (cwd?: string) => SkillsMpConfig | null - Load SkillsMP configuration from skillsmp.json. T4521 (query: string, _config?: SkillsMpConfig) => Promise<MarketplaceSkill[]> - Search the skills marketplace. Delegates to CAAMP's searchSkills for the actual API call. T4521 (skillId: string, _config?: SkillsMpConfig) => Promise<MarketplaceSkill | null> - Get a specific skill from the marketplace. Uses CAAMP's MarketplaceClient for retrieval. T4521 (cwd?: string) => boolean - Check if the marketplace is enabled and reachable. T4521 file marketplace.ts (taskId: string, templateName?: string, cwd?: string, tier?: 0 | 1 | 2) => Promise<SpawnPromptResult> - Build a fully-resolved prompt for spawning a subagent. T4519 (taskId: string, templateName?: string, cwd?: string, tier?: 0 | 1 | 2) => Promise<SpawnPromptResult & { spawnTimestamp: string; }> - Generate full spawn command with metadata. T4519 (taskIds: string[], cwd?: string) => Promise<{ canParallelize: boolean; conflicts: Array<Pick<Task, "id"> & { dependsOn: string[]; }>; safeToSpawn: string[]; }> - Check if tasks can be spawned in parallel (no inter-dependencies). T4519 BatchSpawnEntry - Result of a single spawn within a batch. BatchSpawnResult - Result of a batch spawn operation. (taskIds: string[], templateName?: string, cwd?: string, tier?: 0 | 1 | 2) => Promise<BatchSpawnResult> - Spawn prompts for multiple tasks in a batch. Ports orchestrator_spawn_batch from lib/skills/orchestrator-spawn.sh. Iterates over task IDs, building spawn prompts for each. Individual failures are captured per-entry rather than aborting the entire batch. T4712 T4663 file spawn.ts (config?: Record<string, unknown>) => OrchestratorThresholds - Get orchestrator context thresholds from config or defaults. T4519 (sessionId?: string, cwd?: string) => ContextState - Read the current context state from session-aware files. T4519 SessionInitResult - Session init result. (epicId?: string, cwd?: string) => Promise<SessionInitResult> - Initialize orchestrator session state. Determines the recommended action based on current state. T4519 PauseStatus - Pause status result. (config?: Record<string, unknown>, sessionId?: string, cwd?: string) => PauseStatus - Check if orchestrator should pause based on context usage. T4519 (epicId: string, cwd?: string) => Promise<DependencyAnalysis> - Analyze dependency graph and compute execution waves. T4519 (epicId: string, cwd?: string) => Promise<{ task: Task | null; readyCount: number; }> - Get the next task ready to spawn for an epic. T4519 (epicId: string, cwd?: string) => Promise<TaskRefPriority[]> - Get all tasks ready to spawn in parallel (no inter-dependencies). T4519 (epicId?: string, stopReason?: string, cwd?: string) => Promise<HitlSummary> - Generate a Human-in-the-Loop summary for session handoff. T4519 file startup.ts (researchId: string, cwd?: string) => { passed: boolean; issues: string[]; checkedRules: string[]; } - Validate a subagent's manifest entry for protocol compliance. T4519 (cwd?: string) => ManifestValidationResult - Validate the entire manifest file integrity. T4519 (previousTaskId: string, researchId?: string, cwd?: string) => ComplianceResult - Verify previous agent completed protocol compliance before spawning next. T4519 (epicId?: string, cwd?: string) => Promise<{ compliant: boolean; violations: string[]; warnings: string[]; }> - Validate orchestrator compliance (post-hoc behavioral checks). T4519 file validator.ts SkillSourceType - Source type classification for a skill directory. SkillSourceMode - Skill source mode. SkillSearchPath - Search path entry with its origin. (projectRoot?: string) => SkillSearchPath[] - Get ordered skill search paths based on configuration. Priority: 1. CLEO_SKILL_PATH entries (colon-separated, explicit overrides) 2. Source-determined paths based on CLEO_SKILL_SOURCE CLEO_SKILL_SOURCE modes: - auto: CAAMP canonical + embedded (default) - caamp: CAAMP canonical only - embedded: Project embedded only T4552 (skillName: string, projectRoot?: string) => string | null - Resolve a skill directory containing SKILL.md. Searches all paths from getSkillSearchPaths() in priority order. First match wins. T4552 (protocolName: string, projectRoot?: string) => string | null - Resolve a protocol .md file. Search order: 1. `<core-package>/src/validation/protocols/protocols-markdown/{name}.md` (canonical location, where the markdown lives in this monorepo) 2. `<base>/protocols/{name}.md` for each registered skill base path (project-local protocol overrides) T4552 T260 — drop dead Strategy B paths, point at the real protocols-markdown dir (resourceName: string, projectRoot?: string) => string | null - Resolve a shared resource .md file. Search order per base path: `{base}/_shared/{resource_name}.md`. The `_shared/` directory is the canonical location in `@cleocode/skills`. T4552 T260 — drop dead Strategy B path (skillDir: string, projectRoot?: string) => SkillSourceType | null - Classify the source of a skill directory. Determines where a skill directory lives in the search hierarchy: - "embedded": Within the project's skills/ directory - "caamp": Within the CAAMP canonical directory (~/.agents/skills) - "project-link": Symlink pointing to project directory - "global-link": Symlink pointing to CAAMP or external location T4552 file skill-paths.ts (inputDate: string) => string - Format a date string in ISO 8601 format. Converts a YYYY-MM-DD date string to a full ISO 8601 timestamp. () => string - Get current timestamp in ISO 8601 format. Returns the current UTC time as an ISO 8601 string. (dateStr: string) => boolean - Validate that a string is a valid ISO 8601 date. T4552 (date: Date) => string - Format a Date object to a YYYY-MM-DD string. T4552 file test-utility.ts IssueSeverity - Validation issue severity. ValidationIssue - Single validation issue. SkillValidationResult - Validation result for a skill. (skillDir: string) => SkillValidationResult - Validate a skill directory structure and content. T4517 (skillDirs: string[]) => SkillValidationResult[] - Validate multiple skills at once. T4517 (message: string) => { valid: boolean; error?: string; } - Validate a return message against protocol-compliant patterns. T4517 file validation.ts (name: string) => Promise<string | null> - Get the installed version of a skill from CAAMP lock state. (name: string) => Promise<{ needsUpdate: boolean; currentVersion?: string; latestVersion?: string; }> - Check if a specific skill needs an update via CAAMP. () => Promise<Array<{ name: string; installedVersion: string; availableVersion: string; needsUpdate: boolean; }>> - Check all installed skills for available updates via CAAMP. file version.ts file index.ts SnapshotMeta - Snapshot metadata. SnapshotTask - Portable task representation (subset of Task, omitting local-only fields). Snapshot - Complete snapshot package. ImportResult - Import result summary. (cwd?: string) => Promise<Snapshot> - Export current task state to a snapshot. T4882 (snapshot: Snapshot, outputPath: string) => Promise<void> - Write a snapshot to a file. T4882 (inputPath: string) => Promise<Snapshot> - Read a snapshot from a file. T4882 (cwd?: string) => string - Generate a default snapshot file path. T4882 (snapshot: Snapshot, cwd?: string) => Promise<ImportResult> - Import a snapshot into the local task database. Uses last-write-wins strategy: if a task exists locally and in the snapshot, the snapshot version wins only if its updatedAt is newer. T4882 file index.ts SpawnCapability - Spawn capability type - subset of provider capabilities related to spawning typeof SpawnAdapterRegistry - Registry to manage spawn adapters. Maintains mappings between adapter IDs, provider IDs, and adapter instances. Supports registration, lookup, and capability-based filtering. (capability: SpawnCapability) => Provider[] - Get providers by specific spawn capability Queries CAAMP for providers that support a specific spawn capability. () => boolean - Check if any provider supports parallel spawn SpawnAdapterRegistry - Singleton registry instance. Use this instance for all spawn adapter registration and lookup operations. (manifests: import("@cleocode/contracts").AdapterManifest[]) => Promise<void> - Initialize spawn adapters dynamically from discovered adapter manifests. Scans all discovered manifests for adapters with `capabilities.supportsSpawn`, dynamically imports their spawn provider, and bridges it into the spawn registry. Zero hardcoded adapter names — everything derives from manifests. () => Promise<void> - Initialize the registry with default adapters. Legacy entry point that discovers adapters from the project root and delegates to initializeSpawnAdapters(). Maintains backward compatibility for callers that don't have manifests handy. file adapter-registry.ts file index.ts WorkflowRuleMetric - Per-rule compliance breakdown. WorkflowComplianceReport - Full workflow compliance report. (opts: { since?: string; cwd?: string; }) => Promise<WorkflowComplianceReport> - Compute workflow compliance metrics from existing task, session, and audit data. Rules evaluated: WF-001: Tasks MUST have ≥3 acceptance criteria (T058) WF-002: Task completions MUST occur within an active session (T059) WF-003: Completed tasks SHOULD have verification gates set (T061) WF-004: Tasks with verification SHOULD have all 3 gates set WF-005: Tasks MUST have session binding on creation (non-epic) file workflow-telemetry.ts (opts: { period?: string; verbose?: boolean; cwd?: string; }, accessor?: DataAccessor) => Promise<Record<string, unknown>> - Get project statistics. (task: Task, allTasks: Task[], focusTask: Task | null) => number - Compute a ranking score for a blocked task. Higher score = more urgent = sort first. (opts: { compact?: boolean; period?: number; showCharts?: boolean; sections?: string[]; verbose?: boolean; quiet?: boolean; cwd?: string; blockedTasksLimit?: number; }, accessor?: DataAccessor) => Promise<Record<string, unknown>> - Get project dashboard data. (opts: { days?: number; since?: string; until?: string; cwd?: string; }) => Promise<Record<string, unknown>> - Get completion history data. file index.ts ArchiveMetadata - Archive metadata that may be attached to archived task records. AnalyticsTask - Archived task shape used internally for analytics. ArchiveReportType SummaryReportData - Summary report result. PhaseGroupEntry - Phase group entry. LabelFrequencyEntry - Label frequency entry. PriorityGroupEntry - Priority group entry. CycleTimeDistribution - Cycle time distribution buckets. CycleTimePercentiles - Cycle time percentiles. CycleTimesReportData - Cycle times report result. DailyArchiveEntry - Daily archive entry. MonthlyArchiveEntry - Monthly archive entry. TrendsReportData - Trends report result. EmptyArchiveData - Empty archive sentinel (when totalArchived is 0). ArchiveReportDataMap - Union type mapping report types to their data shapes. ArchiveAnalyticsResult<R> - The envelope returned by analyzeArchive. AnalyzeArchiveOptions - Options for analyzeArchive. (tasks: AnalyticsTask[], since?: string, until?: string) => AnalyticsTask[] - Filter tasks by date range on archivedAt. (tasks: AnalyticsTask[]) => SummaryReportData - Generate summary statistics. (tasks: AnalyticsTask[]) => PhaseGroupEntry[] - Group tasks by phase with cycle time averages. (tasks: AnalyticsTask[]) => LabelFrequencyEntry[] - Group tasks by label frequency. (tasks: AnalyticsTask[]) => PriorityGroupEntry[] - Group tasks by priority with cycle time averages. (tasks: AnalyticsTask[]) => CycleTimesReportData - Compute cycle time statistics with distribution buckets. (tasks: AnalyticsTask[]) => TrendsReportData - Compute archive trends by day and month. (opts: AnalyzeArchiveOptions, accessor?: DataAccessor) => Promise<ArchiveAnalyticsResult> - Analyze archived tasks and produce a report. This is the primary entry point for archive analytics. It loads archive data from the DataAccessor, normalizes task records, applies date filters, and delegates to the appropriate report function. file archive-analytics.ts ArchiveStatsResult (opts: { period?: number; cwd?: string; }, accessor?: DataAccessor) => Promise<ArchiveStatsResult> - Get archive statistics. file archive-stats.ts AuditIssue AuditResult (projectRoot: string, opts?: { scope?: string; fix?: boolean; }) => Promise<AuditResult> - Audit data integrity. file audit.ts BackupResult RestoreResult (projectRoot: string, opts?: { type?: string; note?: string; }) => BackupResult - Create a backup of CLEO data files. BackupEntry - A single backup entry returned by listSystemBackups. (projectRoot: string) => BackupEntry[] - List all available system backups (snapshot, safety, migration types). Reads `.meta.json` sidecar files written by createBackup. This is a pure read operation — it does not modify any files. T4783 (projectRoot: string, params: { backupId: string; force?: boolean; }) => RestoreResult - Restore from a backup. file backup.ts CleanupResult (projectRoot: string, params: { target: string; olderThan?: string; dryRun?: boolean; }) => Promise<CleanupResult> - Cleanup stale data (sessions, backups, logs). file cleanup.ts <T>(filePath: string, data: T, indent?: number) => void - Write a JSON file atomically with backup rotation. Pattern: write temp - backup original - rename temp to target <T = unknown>(filePath: string) => T | null - Read a JSON file, returning parsed content or null if not found. (projectRoot: string, filename: string) => string - Get the path to a CLEO data file within a project root. () => string - Resolve the project root directory. Checks CLEO_ROOT env, then falls back to cwd. <T>(filePath: string, transform: (current: T | null) => T) => Promise<T> - Read and write a JSON file with exclusive locking. Acquires a cross-process lock, reads current state, applies the transform function, validates, and writes back atomically. <R>(filePath: string, operation: () => R | Promise<R>) => Promise<R> - Acquire a file lock and execute an operation. Unlike withLock, this doesn't read/write the file - caller manages I/O. The return type R is independent of the file content type. <T>(filePaths: string[], operation: () => T | Promise<T>) => Promise<T> - Acquire locks on multiple files in correct order. Used for operations that need to modify multiple files atomically (e.g., coordinated updates across task data and config). (projectRoot: string) => boolean - Check if a CLEO project directory exists at the given path (filePath: string) => string[] - List backup files for a given data file file file-utils.ts Platform - Detected platform. () => Platform - Detect the current platform. Platform - Cached platform value. (command: string) => boolean - Check if a command exists on PATH. (tool: string, installHint?: string) => { available: boolean; error?: string; } - Require a tool to be available, returning an error message if missing. (tools: Array<{ name: string; installHint?: string; }>) => { allAvailable: boolean; missing: string[]; } - Check all required tools. () => string - Get ISO 8601 UTC timestamp. (isoTimestamp: string) => number - Convert ISO timestamp to epoch seconds. (days: number) => string - Get ISO date for N days ago. (filePath: string) => number - Get file size in bytes. (filePath: string) => string | null - Get file modification time as ISO string. (bytes?: number) => string - Generate N random hex characters. (data: string) => string - Compute SHA-256 checksum of a string. (prefix?: string, suffix?: string) => string - Create a temporary file path. 24 - Minimum required Node.js major version. () => { version: string; major: number; minor: number; patch: number; meetsMinimum: boolean; } - Get Node.js version info. () => { platform: Platform; arch: string; instructions: string[]; recommended: string; } - Get platform-specific Node.js upgrade instructions. Returns actionable install/upgrade guidance based on OS and available tools. SystemInfo - Structured snapshot of the host system for diagnostics, error reports, and logging. () => SystemInfo - Gather a snapshot of the host system. This is the SSoT for system information. Use this instead of scattering `process.platform` / `os.type()` calls throughout the codebase. Use cases: - Logger base context (every log entry carries platform info) - Error reports and issue submission - Doctor diagnostics - Startup health check results file platform.ts CheckStatus CheckResult (cleoHome?: string) => CheckResult - T4525 (cleoHome?: string) => CheckResult - T4525 (cleoHome?: string) => CheckResult - T4525 (cleoHome?: string) => CheckResult - T4525 (projectRoot?: string) => CheckResult - Check that AGENTS.md exists in project root and contains the CAAMP:START marker, indicating it serves as the injection hub for CLEO protocol content. (projectRoot?: string) => CheckResult - Check if project root .gitignore is blocking the entire .cleo/ directory. This prevents core CLEO data from being tracked by git. T4641 T4637 (projectRoot?: string) => CheckResult - Check if .cleo/.gitignore exists and matches the template. T4700 (projectRoot?: string) => CheckResult - Check that vital CLEO configuration files are tracked by git. Only checks config files (config.json, .gitignore, project-info.json, project-context.json). SQLite databases are excluded per ADR-013. T4700 (projectRoot?: string) => CheckResult - Check that core CLEO files are not being ignored by .gitignore. Uses `git check-ignore` to detect files that would be excluded by any gitignore rule (root, .cleo/, or global). Returns critical status if any protected file is gitignored. (projectRoot?: string) => CheckResult - Check that SQLite databases (.cleo/tasks.db) are NOT tracked by project git. Tracked SQLite files cause data loss from merge conflicts (ADR-013). Warns if tasks.db is currently tracked so the user can untrack it. T5160 (projectRoot?: string) => CheckResult - Check if any legacy output directories still exist. Delegates detection to the migration/agent-outputs utility. T4700 (projectRoot?: string) => CheckResult - Verify balanced CAAMP:START/END markers in CLAUDE.md and AGENTS.md. T5153 (projectRoot?: string) => CheckResult - Parse references from AGENTS.md CAAMP block and verify each target file exists. T5153 (projectRoot?: string, cleoHome?: string) => CheckResult - Compare templates/CLEO-INJECTION.md vs ~/.cleo/templates/CLEO-INJECTION.md. T5153 (cleoHome?: string) => CheckResult - Verify all 3 tier markers exist with matching close tags in deployed template. T5153 () => CheckResult - Check that Node.js meets the minimum required version. Provides OS-specific upgrade instructions when below minimum. (_projectRoot?: string) => CheckResult - Check that global schemas at ~/.cleo/schemas/ are installed and not stale. Delegates to checkGlobalSchemas() from schema-management.ts. The projectRoot parameter exists for API consistency with other check functions in runAllGlobalChecks(), but global schemas live at ~/.cleo/schemas/ (not per-project). The parameter is intentionally unused because schema health is a system-wide concern, not project-scoped. (projectRoot?: string) => CheckResult - Warn if deprecated .cleo/schemas/ directory still exists in the project. Schemas should live in ~/.cleo/schemas/ (global), not in project directories. (projectDir: string) => Promise<CheckResult> - Check that active JSON files (config.json, project-info.json, etc.) are valid against their schemas and have current schema versions. Maps JsonFileIntegrityResult[] from checkSchemaIntegrity() into CheckResult[], then returns a single rolled-up CheckResult for the doctor summary. (cleoHome?: string, projectRoot?: string) => CheckResult[] - Run all global health checks and return results array. T4525 (checks: CheckResult[]) => number - Calculate overall status from check results. Returns: 0=passed, 50=warning, 52=critical. T4525 file checks.ts HealthCheck HealthResult DiagnosticsCheck DiagnosticsResult (projectRoot: string, opts?: { detailed?: boolean; }) => Promise<HealthResult> - Run system health checks (SQLite-first per ADR-006). (projectRoot: string, opts?: { checks?: string[]; }) => Promise<DiagnosticsResult> - Run extended diagnostics with fix suggestions. DoctorCheck DoctorReport (projectRoot: string) => Promise<DoctorReport> - Run comprehensive doctor diagnostics combining dependency checks, directory checks, data file checks, gitignore checks, and environment info. T4795 FixResult (projectRoot: string) => Promise<FixResult[]> - Run auto-fix for failed doctor checks by calling the corresponding ensure* functions. Returns a list of fix results for each attempted repair. StartupState - Outcome of a startup health check. Tells the caller exactly what state the system is in so it can route to init, upgrade, or proceed normally. StartupHealthCheck StartupHealthResult (projectRoot?: string) => Promise<StartupHealthResult> - Unified startup health check for CLI entry points. This is the single entry point for startup diagnostics. It follows a three-phase approach: Phase 1: Global scaffold (~/.cleo/) — always auto-repaired. The global home is CLEO infrastructure, not project data. It is safe to create/repair unconditionally on every startup. Phase 2: Project detection — determines if this is an initialized project. Uses isProjectInitialized() from paths.ts as the SSoT for detection. Phase 3: Project health — lightweight checks on the project scaffold. If the project is initialized, runs check* functions to detect drift. Auto-repairs safe items (missing subdirs via ensureCleoStructure). Flags items requiring full upgrade (missing DB, config issues). Design principles: - SSoT: All checks delegate to scaffold.ts check* functions - DRY: No duplicated health-check logic - SRP: This function only diagnoses and does safe auto-repair - Graceful: Never throws. All errors are captured as check results. - Logged: Returns structured results for the caller to log via pino file health.ts InjectGenerateResult (projectRoot: string, accessor?: DataAccessor) => Promise<InjectGenerateResult> - Generate Minimum Viable Injection (MVI) markdown. file inject-generate.ts LabelsResult (cwd?: string, accessor?: DataAccessor) => Promise<LabelsResult> - Get all labels with counts and task IDs per label. file labels.ts SystemMetricsResult (projectRoot: string, opts?: { scope?: string; since?: string; }, accessor?: DataAccessor) => Promise<SystemMetricsResult> - Get system metrics: token usage, compliance summary, session counts. file metrics.ts MigrateResult (projectRoot: string, opts?: { target?: string; dryRun?: boolean; }) => Promise<MigrateResult> - Check/report schema migration status. file migrate.ts RuntimeDiagnostics (options?: { detailed?: boolean; }) => Promise<RuntimeDiagnostics> file runtime.ts SafestopResult UncancelResult (projectRoot: string, opts?: { reason?: string; commit?: boolean; handoff?: string; noSessionEnd?: boolean; dryRun?: boolean; }) => SafestopResult - Safe stop: signal clean shutdown for agents. (projectRoot: string, params: { taskId: string; cascade?: boolean; notes?: string; dryRun?: boolean; }) => Promise<UncancelResult> - Uncancel a cancelled task (restore to pending). file safestop.ts file index.ts file index.ts TemplateSection - A single section/field within an issue template. IssueTemplate - A parsed issue template. TemplateConfig - The full template config output. TemplateResult<T> - Result type for template parser operations. (projectRoot: string) => TemplateResult<TemplateConfig> - Parse all templates from the repo's .github/ISSUE_TEMPLATE/ directory. Reads YAML files directly (live parse, no caching). Excludes config.yml which is the GitHub template chooser config. (projectRoot: string, subcommand: string) => TemplateResult<IssueTemplate> - Get template config for a specific subcommand (bug/feature/help). Performs a live parse and filters to the matching template. (projectRoot: string) => Promise<TemplateResult<TemplateConfig>> - Generate and cache the config as .cleo/issue-templates.json. Performs a live parse, then writes the result using writeJsonFileAtomic. (labels: string[], repoLabels: string[]) => TemplateResult<{ existing: string[]; missing: string[]; }> - Validate that labels exist on a GitHub repo. Compares the template labels against a list of known repo labels. Returns which labels exist and which are missing. file parser.ts file index.ts "1.0.0" - Current alias version. ShellType - Supported shell types. () => ShellType - Detect the current shell. (shell?: ShellType) => string - Get the RC file path for a shell. () => ShellType[] - Detect which shells are available on the system. (cleoPath?: string) => string - Generate bash/zsh alias content. (cleoPath?: string) => string - Generate PowerShell alias content. (filePath: string) => boolean - Check if aliases are already injected in a file. (filePath: string) => string | null - Get the installed alias version from an RC file. (filePath: string, shell?: ShellType, cleoPath?: string) => { action: "created" | "updated" | "added"; version: string; } - Inject aliases into a shell RC file. (filePath: string) => boolean - Remove aliases from a shell RC file. (shell?: ShellType) => { shell: ShellType; rcFile: string; installed: boolean; version: string | null; needsUpdate: boolean; } - Get alias status for the current shell. file aliases.ts (options?: { since?: string; until?: string; taskIds?: string[]; }, cwd?: string, accessor?: DataAccessor) => Promise<ChangelogTask[]> - Discover task IDs for a release from completed tasks. Optionally filtered by date range or specific task IDs. ChangelogSection - Grouped changelog sections. (tasks: ChangelogTask[]) => ChangelogSection[] - Group tasks into changelog sections. (version: string, date: string, sections: ChangelogSection[]) => string - Generate changelog markdown for a version. (version: string, date: string, sections: ChangelogSection[]) => Record<string, unknown> - Format changelog data as JSON. (filePath: string, content: string) => void - Write changelog content to a file. (filePath: string, newContent: string) => void - Append a new release section to an existing CHANGELOG.md. (version: string, options?: { since?: string; until?: string; taskIds?: string[]; outputPath?: string; append?: boolean; }, cwd?: string, accessor?: DataAccessor) => Promise<Record<string, unknown>> - Full changelog generation: discover tasks, group, generate, write. file changelog.ts CommandMeta - Parsed command metadata. (scriptPath: string) => CommandMeta | null - Parse a ###CLEO header block from a script file. (scriptsDir: string) => Map<string, CommandMeta> - Scan a scripts directory and build a command registry. Returns a map of command name to metadata. (meta: CommandMeta) => { valid: boolean; errors: string[]; } - Validate a command header has required fields. (scriptsDir: string) => Record<string, string> - Get command-to-script mapping. (scriptsDir: string) => Record<string, CommandMeta[]> - Group commands by category. (scriptsDir: string, relevance: string) => CommandMeta[] - Filter commands by relevance level. file command-registry.ts ParsedFlags - Parsed flag state. () => ParsedFlags - Default flag values. (args: string[]) => ParsedFlags - Parse common CLI flags from an argument array. Returns flags and remaining positional arguments. (flagFormat: string) => "json" | "human" - Resolve output format based on flags and TTY detection. Returns 'json' for non-TTY (piped), 'human' for TTY. (flags: ParsedFlags) => boolean - Check if output should be JSON. file flags.ts file index.ts z.ZodEnum<{ active: "active"; pending: "pending"; cancelled: "cancelled"; blocked: "blocked"; done: "done"; archived: "archived"; }> - Zod enum schema for task statuses. z.ZodEnum<{ high: "high"; medium: "medium"; low: "low"; critical: "critical"; }> - Zod enum schema for task priorities. z.ZodEnum<{ task: "task"; epic: "epic"; subtask: "subtask"; }> - Zod enum schema for task types. z.ZodEnum<{ medium: "medium"; small: "small"; large: "large"; }> - Zod enum schema for task sizes. z.ZodEnum<{ active: "active"; ended: "ended"; orphaned: "orphaned"; suspended: "suspended"; }> - Zod enum schema for session statuses. z.ZodEnum<{ active: "active"; completed: "completed"; failed: "failed"; cancelled: "cancelled"; blocked: "blocked"; aborted: "aborted"; }> - Zod enum schema for lifecycle pipeline statuses. z.ZodEnum<{ completed: "completed"; failed: "failed"; blocked: "blocked"; not_started: "not_started"; in_progress: "in_progress"; skipped: "skipped"; }> - Zod enum schema for lifecycle stage statuses. z.ZodEnum<{ research: "research"; consensus: "consensus"; architecture_decision: "architecture_decision"; specification: "specification"; decomposition: "decomposition"; implementation: "implementation"; validation: "validation"; testing: "testing"; release: "release"; contribution: "contribution"; }> - Zod enum schema for lifecycle stage names. z.ZodEnum<{ warn: "warn"; pass: "pass"; fail: "fail"; }> - Zod enum schema for lifecycle gate results. z.ZodEnum<{ file: "file"; url: "url"; manifest: "manifest"; }> - Zod enum schema for lifecycle evidence types. z.ZodEnum<{ deprecated: "deprecated"; proposed: "proposed"; accepted: "accepted"; superseded: "superseded"; }> - Zod enum schema for ADR statuses. z.ZodEnum<{ failed: "failed"; pending: "pending"; passed: "passed"; waived: "waived"; }> - Zod enum schema for gate statuses. z.ZodEnum<{ completed: "completed"; blocked: "blocked"; archived: "archived"; partial: "partial"; }> - Zod enum schema for manifest statuses. z.ZodEnum<{ otel: "otel"; provider_api: "provider_api"; tokenizer: "tokenizer"; heuristic: "heuristic"; }> - Zod enum schema for token usage measurement methods. z.ZodEnum<{ high: "high"; real: "real"; estimated: "estimated"; coarse: "coarse"; }> - Zod enum schema for token usage confidence levels. z.ZodEnum<{ cli: "cli"; api: "api"; agent: "agent"; unknown: "unknown"; }> - Zod enum schema for token usage transports. z.ZodEnum<{ related: "related"; blocks: "blocks"; duplicates: "duplicates"; absorbs: "absorbs"; fixes: "fixes"; extends: "extends"; supersedes: "supersedes"; }> - Zod enum schema for task relation types. z.ZodEnum<{ created: "created"; manual: "manual"; matched: "matched"; transferred: "transferred"; }> - Zod enum schema for external task link types. z.ZodEnum<{ inbound: "inbound"; outbound: "outbound"; bidirectional: "bidirectional"; }> - Zod enum schema for sync directions. z.ZodEnum<{ automatic: "automatic"; manual: "manual"; forced: "forced"; }> - Zod enum schema for lifecycle transition types. z.ZodEnum<{ discovery: "discovery"; change: "change"; feature: "feature"; bugfix: "bugfix"; decision: "decision"; refactor: "refactor"; }> - Zod enum schema for brain observation types. z.ZodEnum<{ agent: "agent"; manual: "manual"; "session-debrief": "session-debrief"; "claude-mem": "claude-mem"; }> - Zod enum schema for brain observation source types. z.ZodEnum<{ architecture: "architecture"; technical: "technical"; process: "process"; strategic: "strategic"; tactical: "tactical"; }> - Zod enum schema for brain decision types. z.ZodEnum<{ high: "high"; medium: "medium"; low: "low"; }> - Zod enum schema for brain confidence levels. z.ZodEnum<{ pending: "pending"; success: "success"; failure: "failure"; mixed: "mixed"; }> - Zod enum schema for brain outcome types. z.ZodEnum<{ workflow: "workflow"; success: "success"; failure: "failure"; blocker: "blocker"; optimization: "optimization"; }> - Zod enum schema for brain pattern types. z.ZodEnum<{ high: "high"; medium: "medium"; low: "low"; }> - Zod enum schema for brain impact levels. z.ZodEnum<{ produced_by: "produced_by"; applies_to: "applies_to"; informed_by: "informed_by"; contradicts: "contradicts"; }> - Zod enum schema for brain link types. z.ZodEnum<{ decision: "decision"; pattern: "pattern"; learning: "learning"; observation: "observation"; }> - Zod enum schema for brain memory entity types. z.ZodEnum<{ active: "active"; archived: "archived"; converted: "converted"; }> - Zod enum schema for brain sticky note statuses. z.ZodEnum<{ yellow: "yellow"; blue: "blue"; green: "green"; red: "red"; purple: "purple"; }> - Zod enum schema for brain sticky note colors. z.ZodEnum<{ high: "high"; medium: "medium"; low: "low"; }> - Zod enum schema for brain sticky note priorities. z.ZodEnum<{ task: "task"; file: "file"; doc: "doc"; concept: "concept"; }> - Zod enum schema for brain page node types. z.ZodEnum<{ depends_on: "depends_on"; implements: "implements"; relates_to: "relates_to"; documents: "documents"; }> - Zod enum schema for brain page edge types. import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"insert", { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; title: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; description: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; status: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string enum"; data: "active" | "pending" | "cancelled" | "blocked" | "done" | "archived"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["pending", "active", "blocked", "done", "cancelled", "archived"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; priority: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string enum"; data: "high" | "medium" | "low" | "critical"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["critical", "high", "medium", "low"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; type: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string enum"; data: "task" | "epic" | "subtask"; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["epic", "task", "subtask"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; parentId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; phase: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; size: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string enum"; data: "medium" | "small" | "large"; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["small", "medium", "large"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; position: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "number int53"; data: number; driverParam: number; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; positionVersion: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "number int53"; data: number; driverParam: number; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; labelsJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; notesJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; acceptanceJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; filesJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; origin: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; blockedBy: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; epicLifecycle: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; noAutoComplete: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "boolean"; data: boolean; driverParam: number; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; updatedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; completedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; cancelledAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; cancellationReason: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; archivedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; archiveReason: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; cycleTimeDays: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "number int53"; data: number; driverParam: number; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; verificationJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdBy: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; modifiedBy: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; sessionId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; pipelineStage: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; assignee: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, { id: (s: z.ZodString) => z.ZodString; title: (s: z.ZodString) => z.ZodString; description: (s: z.ZodString) => z.ZodString; }, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"select", { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; title: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; description: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; status: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string enum"; data: "active" | "pending" | "cancelled" | "blocked" | "done" | "archived"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["pending", "active", "blocked", "done", "cancelled", "archived"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; priority: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string enum"; data: "high" | "medium" | "low" | "critical"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["critical", "high", "medium", "low"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; type: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string enum"; data: "task" | "epic" | "subtask"; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["epic", "task", "subtask"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; parentId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; phase: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; size: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string enum"; data: "medium" | "small" | "large"; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["small", "medium", "large"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; position: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "number int53"; data: number; driverParam: number; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; positionVersion: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "number int53"; data: number; driverParam: number; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; labelsJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; notesJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; acceptanceJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; filesJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; origin: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; blockedBy: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; epicLifecycle: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; noAutoComplete: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "boolean"; data: boolean; driverParam: number; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; updatedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; completedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; cancelledAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; cancellationReason: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; archivedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; archiveReason: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; cycleTimeDays: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "number int53"; data: number; driverParam: number; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; verificationJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdBy: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; modifiedBy: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; sessionId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; pipelineStage: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; assignee: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "tasks"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, { id: (s: z.ZodString) => z.ZodString; title: (s: z.ZodString) => z.ZodString; description: (s: z.ZodString) => z.ZodString; }, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"insert", { taskId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "task_dependencies"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; dependsOn: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "task_dependencies"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, undefined, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"select", { taskId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "task_dependencies"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; dependsOn: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "task_dependencies"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, undefined, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"insert", { taskId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "task_relations"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; relatedTo: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "task_relations"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; relationType: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "task_relations"; dataType: "string enum"; data: "related" | "blocks" | "duplicates" | "absorbs" | "fixes" | "extends" | "supersedes"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["related", "blocks", "duplicates", "absorbs", "fixes", "extends", "supersedes"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; reason: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "task_relations"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, { reason: (s: z.ZodString) => z.ZodString; }, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"select", { taskId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "task_relations"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; relatedTo: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "task_relations"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; relationType: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "task_relations"; dataType: "string enum"; data: "related" | "blocks" | "duplicates" | "absorbs" | "fixes" | "extends" | "supersedes"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["related", "blocks", "duplicates", "absorbs", "fixes", "extends", "supersedes"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; reason: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "task_relations"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, { reason: (s: z.ZodString) => z.ZodString; }, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"insert", { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; name: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; status: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string enum"; data: "active" | "ended" | "orphaned" | "suspended"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["active", "ended", "orphaned", "suspended"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; scopeJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; currentTask: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; taskStartedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; agent: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; notesJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; tasksCompletedJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; tasksCreatedJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; handoffJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; startedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; endedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; previousSessionId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; nextSessionId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; agentIdentifier: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; handoffConsumedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; handoffConsumedBy: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; debriefJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; providerId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; statsJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; resumeCount: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "number int53"; data: number; driverParam: number; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; gradeMode: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "number int53"; data: number; driverParam: number; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, { name: (s: z.ZodString) => z.ZodString; }, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"select", { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; name: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; status: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string enum"; data: "active" | "ended" | "orphaned" | "suspended"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["active", "ended", "orphaned", "suspended"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; scopeJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; currentTask: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; taskStartedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; agent: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; notesJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; tasksCompletedJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; tasksCreatedJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; handoffJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; startedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; endedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; previousSessionId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; nextSessionId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; agentIdentifier: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; handoffConsumedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; handoffConsumedBy: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; debriefJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; providerId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; statsJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; resumeCount: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "number int53"; data: number; driverParam: number; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; gradeMode: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "sessions"; dataType: "number int53"; data: number; driverParam: number; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, { name: (s: z.ZodString) => z.ZodString; }, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"insert", { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "task_work_history"; dataType: "number int53"; data: number; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; sessionId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "task_work_history"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; taskId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "task_work_history"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; setAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "task_work_history"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; clearedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "task_work_history"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, undefined, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"select", { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "task_work_history"; dataType: "number int53"; data: number; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; sessionId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "task_work_history"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; taskId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "task_work_history"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; setAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "task_work_history"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; clearedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "task_work_history"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, undefined, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"insert", { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_pipelines"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; taskId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_pipelines"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; status: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_pipelines"; dataType: "string enum"; data: "active" | "completed" | "failed" | "cancelled" | "blocked" | "aborted"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["active", "completed", "blocked", "failed", "cancelled", "aborted"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; currentStageId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_pipelines"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; startedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_pipelines"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; completedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_pipelines"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; updatedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_pipelines"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; version: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_pipelines"; dataType: "number int53"; data: number; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, { id: (s: z.ZodString) => z.ZodString; taskId: (s: z.ZodString) => z.ZodString; }, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"select", { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_pipelines"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; taskId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_pipelines"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; status: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_pipelines"; dataType: "string enum"; data: "active" | "completed" | "failed" | "cancelled" | "blocked" | "aborted"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["active", "completed", "blocked", "failed", "cancelled", "aborted"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; currentStageId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_pipelines"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; startedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_pipelines"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; completedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_pipelines"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; updatedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_pipelines"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; version: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_pipelines"; dataType: "number int53"; data: number; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, { id: (s: z.ZodString) => z.ZodString; taskId: (s: z.ZodString) => z.ZodString; }, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"insert", { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; pipelineId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; stageName: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string enum"; data: "research" | "consensus" | "architecture_decision" | "specification" | "decomposition" | "implementation" | "validation" | "testing" | "release" | "contribution"; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["research", "consensus", "architecture_decision", "specification", "decomposition", "implementation", "validation", "testing", "release", "contribution"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; status: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string enum"; data: "completed" | "failed" | "blocked" | "not_started" | "in_progress" | "skipped"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["not_started", "in_progress", "blocked", "completed", "skipped", "failed"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; sequence: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "number int53"; data: number; driverParam: number; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; startedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; completedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; blockedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; blockReason: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; skippedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; skipReason: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; notesJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; metadataJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; outputFile: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdBy: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; validatedBy: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; validatedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; validationStatus: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string enum"; data: "pending" | "in_review" | "approved" | "rejected" | "needs_revision"; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["pending", "in_review", "approved", "rejected", "needs_revision"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; provenanceChainJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, { id: (s: z.ZodString) => z.ZodString; pipelineId: (s: z.ZodString) => z.ZodString; blockReason: (s: z.ZodString) => z.ZodString; skipReason: (s: z.ZodString) => z.ZodString; }, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"select", { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; pipelineId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; stageName: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string enum"; data: "research" | "consensus" | "architecture_decision" | "specification" | "decomposition" | "implementation" | "validation" | "testing" | "release" | "contribution"; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["research", "consensus", "architecture_decision", "specification", "decomposition", "implementation", "validation", "testing", "release", "contribution"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; status: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string enum"; data: "completed" | "failed" | "blocked" | "not_started" | "in_progress" | "skipped"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["not_started", "in_progress", "blocked", "completed", "skipped", "failed"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; sequence: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "number int53"; data: number; driverParam: number; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; startedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; completedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; blockedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; blockReason: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; skippedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; skipReason: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; notesJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; metadataJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; outputFile: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdBy: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; validatedBy: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; validatedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; validationStatus: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string enum"; data: "pending" | "in_review" | "approved" | "rejected" | "needs_revision"; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["pending", "in_review", "approved", "rejected", "needs_revision"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; provenanceChainJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_stages"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, { id: (s: z.ZodString) => z.ZodString; pipelineId: (s: z.ZodString) => z.ZodString; blockReason: (s: z.ZodString) => z.ZodString; skipReason: (s: z.ZodString) => z.ZodString; }, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"insert", { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_gate_results"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; stageId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_gate_results"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; gateName: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_gate_results"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; result: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_gate_results"; dataType: "string enum"; data: "warn" | "pass" | "fail"; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["pass", "fail", "warn"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; checkedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_gate_results"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; checkedBy: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_gate_results"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; details: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_gate_results"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; reason: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_gate_results"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, { id: (s: z.ZodString) => z.ZodString; stageId: (s: z.ZodString) => z.ZodString; gateName: (s: z.ZodString) => z.ZodString; checkedBy: (s: z.ZodString) => z.ZodString; details: (s: z.ZodString) => z.ZodString; reason: (s: z.ZodString) => z.ZodString; }, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"select", { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_gate_results"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; stageId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_gate_results"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; gateName: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_gate_results"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; result: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_gate_results"; dataType: "string enum"; data: "warn" | "pass" | "fail"; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["pass", "fail", "warn"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; checkedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_gate_results"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; checkedBy: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_gate_results"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; details: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_gate_results"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; reason: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_gate_results"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, { id: (s: z.ZodString) => z.ZodString; stageId: (s: z.ZodString) => z.ZodString; gateName: (s: z.ZodString) => z.ZodString; checkedBy: (s: z.ZodString) => z.ZodString; details: (s: z.ZodString) => z.ZodString; reason: (s: z.ZodString) => z.ZodString; }, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"insert", { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_evidence"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; stageId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_evidence"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; uri: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_evidence"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; type: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_evidence"; dataType: "string enum"; data: "file" | "url" | "manifest"; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["file", "url", "manifest"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; recordedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_evidence"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; recordedBy: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_evidence"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; description: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_evidence"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, undefined, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"select", { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_evidence"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; stageId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_evidence"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; uri: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_evidence"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; type: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_evidence"; dataType: "string enum"; data: "file" | "url" | "manifest"; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["file", "url", "manifest"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; recordedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_evidence"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; recordedBy: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_evidence"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; description: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_evidence"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, undefined, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"insert", { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_transitions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; pipelineId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_transitions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; fromStageId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_transitions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; toStageId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_transitions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; transitionType: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_transitions"; dataType: "string enum"; data: "automatic" | "manual" | "forced"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["automatic", "manual", "forced"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; transitionedBy: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_transitions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_transitions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, undefined, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"select", { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_transitions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; pipelineId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_transitions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; fromStageId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_transitions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; toStageId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_transitions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; transitionType: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_transitions"; dataType: "string enum"; data: "automatic" | "manual" | "forced"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["automatic", "manual", "forced"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; transitionedBy: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_transitions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "lifecycle_transitions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, undefined, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"insert", { key: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "schema_meta"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; value: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "schema_meta"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, undefined, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"select", { key: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "schema_meta"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; value: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "schema_meta"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, undefined, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"insert", { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; timestamp: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; action: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; taskId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; actor: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; detailsJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; beforeJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; afterJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; domain: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; operation: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; sessionId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; requestId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; durationMs: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "number int53"; data: number; driverParam: number; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; success: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "number int53"; data: number; driverParam: number; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; source: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; gateway: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; errorMessage: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; projectHash: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, { id: (s: z.ZodString) => z.ZodString; timestamp: (s: z.ZodString) => z.ZodUnion<[z.ZodString, z.ZodString]>; action: (s: z.ZodString) => z.ZodString; taskId: (s: z.ZodString) => z.ZodString; actor: (s: z.ZodString) => z.ZodString; }, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> - Zod schema for validating audit log insert payloads. T4848 import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"insert", { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; timestamp: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; action: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; taskId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; actor: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; detailsJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; beforeJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; afterJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; domain: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; operation: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; sessionId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; requestId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; durationMs: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "number int53"; data: number; driverParam: number; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; success: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "number int53"; data: number; driverParam: number; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; source: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; gateway: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; errorMessage: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; projectHash: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, { id: (s: z.ZodString) => z.ZodString; timestamp: (s: z.ZodString) => z.ZodUnion<[z.ZodString, z.ZodString]>; action: (s: z.ZodString) => z.ZodString; taskId: (s: z.ZodString) => z.ZodString; actor: (s: z.ZodString) => z.ZodString; }, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> - Canonical named export for audit log insert schema (T4848). Alias for insertAuditLogSchema. import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"select", { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; timestamp: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; action: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; taskId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; actor: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; detailsJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; beforeJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; afterJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; domain: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; operation: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; sessionId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; requestId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; durationMs: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "number int53"; data: number; driverParam: number; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; success: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "number int53"; data: number; driverParam: number; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; source: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; gateway: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; errorMessage: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; projectHash: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, undefined, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"select", { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; timestamp: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; action: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; taskId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; actor: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; detailsJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; beforeJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; afterJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; domain: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; operation: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; sessionId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; requestId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; durationMs: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "number int53"; data: number; driverParam: number; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; success: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "number int53"; data: number; driverParam: number; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; source: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; gateway: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; errorMessage: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; projectHash: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, undefined, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> - Canonical named export for audit log select schema (T4848). Alias for selectAuditLogSchema. import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"insert", { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; title: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; status: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string enum"; data: "deprecated" | "proposed" | "accepted" | "superseded"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["proposed", "accepted", "superseded", "deprecated"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; supersedesId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; supersededById: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; consensusManifestId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; content: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; updatedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; date: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; acceptedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; gate: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string enum"; data: "HITL" | "automated"; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["HITL", "automated"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; gateStatus: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string enum"; data: "failed" | "pending" | "passed" | "waived"; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["pending", "passed", "failed", "waived"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; amendsId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; filePath: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; summary: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; keywords: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; topics: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, { id: (s: z.ZodString) => z.ZodString; title: (s: z.ZodString) => z.ZodString; content: (s: z.ZodString) => z.ZodString; summary: (s: z.ZodString) => z.ZodString; }, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"select", { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; title: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; status: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string enum"; data: "deprecated" | "proposed" | "accepted" | "superseded"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["proposed", "accepted", "superseded", "deprecated"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; supersedesId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; supersededById: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; consensusManifestId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; content: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; updatedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; date: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; acceptedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; gate: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string enum"; data: "HITL" | "automated"; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["HITL", "automated"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; gateStatus: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string enum"; data: "failed" | "pending" | "passed" | "waived"; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["pending", "passed", "failed", "waived"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; amendsId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; filePath: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; summary: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; keywords: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; topics: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "architecture_decisions"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, { id: (s: z.ZodString) => z.ZodString; title: (s: z.ZodString) => z.ZodString; content: (s: z.ZodString) => z.ZodString; summary: (s: z.ZodString) => z.ZodString; }, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"insert", { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; provider: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; model: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; transport: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string enum"; data: "cli" | "api" | "agent" | "unknown"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["cli", "api", "agent", "unknown"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; gateway: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; domain: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; operation: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; sessionId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; taskId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; requestId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; inputChars: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "number int53"; data: number; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; outputChars: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "number int53"; data: number; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; inputTokens: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "number int53"; data: number; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; outputTokens: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "number int53"; data: number; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; totalTokens: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "number int53"; data: number; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; method: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string enum"; data: "otel" | "provider_api" | "tokenizer" | "heuristic"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["otel", "provider_api", "tokenizer", "heuristic"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; confidence: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string enum"; data: "high" | "real" | "estimated" | "coarse"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["real", "high", "estimated", "coarse"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; requestHash: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; responseHash: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; metadataJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, { id: (s: z.ZodString) => z.ZodString; provider: (s: z.ZodString) => z.ZodString; model: (s: z.ZodString) => z.ZodString; }, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"select", { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; provider: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; model: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; transport: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string enum"; data: "cli" | "api" | "agent" | "unknown"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["cli", "api", "agent", "unknown"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; gateway: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; domain: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; operation: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; sessionId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; taskId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; requestId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; inputChars: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "number int53"; data: number; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; outputChars: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "number int53"; data: number; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; inputTokens: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "number int53"; data: number; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; outputTokens: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "number int53"; data: number; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; totalTokens: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "number int53"; data: number; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; method: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string enum"; data: "otel" | "provider_api" | "tokenizer" | "heuristic"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["otel", "provider_api", "tokenizer", "heuristic"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; confidence: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string enum"; data: "high" | "real" | "estimated" | "coarse"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["real", "high", "estimated", "coarse"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; requestHash: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; responseHash: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; metadataJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "token_usage"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, { id: (s: z.ZodString) => z.ZodString; provider: (s: z.ZodString) => z.ZodString; model: (s: z.ZodString) => z.ZodString; }, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"insert", { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; pipelineId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; stageId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; title: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; date: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; status: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string enum"; data: "completed" | "blocked" | "archived" | "partial"; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["completed", "partial", "blocked", "archived"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; agentType: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; outputFile: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; topicsJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; findingsJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; linkedTasksJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdBy: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, undefined, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"select", { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; pipelineId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; stageId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; title: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; date: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; status: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string enum"; data: "completed" | "blocked" | "archived" | "partial"; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["completed", "partial", "blocked", "archived"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; agentType: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; outputFile: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; topicsJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; findingsJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; linkedTasksJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdBy: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "manifest_entries"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, undefined, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"insert", { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; sessionId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; taskId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; epicId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; type: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; content: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; contentHash: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; status: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; distilled: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "boolean"; data: boolean; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; brainObsId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; sourceFile: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; metadataJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; archivedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, { id: (s: z.ZodString) => z.ZodString; type: (s: z.ZodString) => z.ZodString; content: (s: z.ZodString) => z.ZodString; }, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"select", { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; sessionId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; taskId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; epicId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; type: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; content: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; contentHash: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; status: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; distilled: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "boolean"; data: boolean; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; brainObsId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; sourceFile: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; metadataJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; archivedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "pipeline_manifest"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, { id: (s: z.ZodString) => z.ZodString; type: (s: z.ZodString) => z.ZodString; content: (s: z.ZodString) => z.ZodString; }, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"insert", { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; version: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; status: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; pipelineId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; epicId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; tasksJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; changelog: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; notes: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; previousVersion: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; commitSha: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; gitTag: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; npmDistTag: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; preparedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; committedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; taggedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; pushedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, { id: (s: z.ZodString) => z.ZodString; version: (s: z.ZodString) => z.ZodString; }, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"select", { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; version: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; status: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; pipelineId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; epicId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; tasksJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; changelog: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; notes: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; previousVersion: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; commitSha: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; gitTag: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; npmDistTag: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; createdAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; preparedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; committedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; taggedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; pushedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "release_manifests"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, { id: (s: z.ZodString) => z.ZodString; version: (s: z.ZodString) => z.ZodString; }, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"insert", { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "external_task_links"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; taskId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "external_task_links"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; providerId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "external_task_links"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; externalId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "external_task_links"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; externalUrl: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "external_task_links"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; externalTitle: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "external_task_links"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; linkType: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "external_task_links"; dataType: "string enum"; data: "created" | "manual" | "matched" | "transferred"; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["created", "matched", "manual", "transferred"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; syncDirection: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "external_task_links"; dataType: "string enum"; data: "inbound" | "outbound" | "bidirectional"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["inbound", "outbound", "bidirectional"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; metadataJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "external_task_links"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; linkedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "external_task_links"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; lastSyncAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "external_task_links"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, { id: (s: z.ZodString) => z.ZodString; taskId: (s: z.ZodString) => z.ZodString; providerId: (s: z.ZodString) => z.ZodString; externalId: (s: z.ZodString) => z.ZodString; externalUrl: (s: z.ZodString) => z.ZodString; externalTitle: (s: z.ZodString) => z.ZodString; }, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"select", { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "external_task_links"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; taskId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "external_task_links"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; providerId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "external_task_links"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; externalId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "external_task_links"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; externalUrl: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "external_task_links"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; externalTitle: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "external_task_links"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; linkType: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "external_task_links"; dataType: "string enum"; data: "created" | "manual" | "matched" | "transferred"; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["created", "matched", "manual", "transferred"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; syncDirection: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "external_task_links"; dataType: "string enum"; data: "inbound" | "outbound" | "bidirectional"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["inbound", "outbound", "bidirectional"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; metadataJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "external_task_links"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; linkedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "external_task_links"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; lastSyncAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "external_task_links"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, { id: (s: z.ZodString) => z.ZodString; taskId: (s: z.ZodString) => z.ZodString; providerId: (s: z.ZodString) => z.ZodString; externalId: (s: z.ZodString) => z.ZodString; externalUrl: (s: z.ZodString) => z.ZodString; externalTitle: (s: z.ZodString) => z.ZodString; }, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"insert", { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; agentType: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "string enum"; data: "orchestrator" | "custom" | "executor" | "researcher" | "architect" | "validator" | "documentor"; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["orchestrator", "executor", "researcher", "architect", "validator", "documentor", "custom"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; status: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "string enum"; data: "error" | "active" | "starting" | "idle" | "crashed" | "stopped"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["starting", "active", "idle", "error", "crashed", "stopped"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; sessionId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; taskId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; startedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; lastHeartbeat: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; stoppedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; errorCount: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "number int53"; data: number; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; totalTasksCompleted: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "number int53"; data: number; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; capacity: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; metadataJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; parentAgentId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, { id: (s: z.ZodString) => z.ZodString; }, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"select", { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; agentType: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "string enum"; data: "orchestrator" | "custom" | "executor" | "researcher" | "architect" | "validator" | "documentor"; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["orchestrator", "executor", "researcher", "architect", "validator", "documentor", "custom"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; status: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "string enum"; data: "error" | "active" | "starting" | "idle" | "crashed" | "stopped"; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["starting", "active", "idle", "error", "crashed", "stopped"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; sessionId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; taskId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; startedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; lastHeartbeat: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; stoppedAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; errorCount: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "number int53"; data: number; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; totalTasksCompleted: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "number int53"; data: number; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; capacity: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; metadataJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; parentAgentId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_instances"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, { id: (s: z.ZodString) => z.ZodString; }, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"insert", { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_error_log"; dataType: "number int53"; data: number; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; agentId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_error_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; errorType: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_error_log"; dataType: "string enum"; data: "unknown" | "retriable" | "permanent"; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["retriable", "permanent", "unknown"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; message: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_error_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; stack: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_error_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; occurredAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_error_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; resolved: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_error_log"; dataType: "boolean"; data: boolean; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, undefined, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"select", { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_error_log"; dataType: "number int53"; data: number; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; agentId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_error_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; errorType: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_error_log"; dataType: "string enum"; data: "unknown" | "retriable" | "permanent"; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: ["retriable", "permanent", "unknown"]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; message: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_error_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; stack: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_error_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; occurredAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_error_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; resolved: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "agent_error_log"; dataType: "boolean"; data: boolean; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, undefined, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> z.ZodEnum<{ error: "error"; active: "active"; starting: "starting"; idle: "idle"; crashed: "crashed"; stopped: "stopped"; }> - Zod enum schema for agent instance statuses. z.ZodEnum<{ orchestrator: "orchestrator"; custom: "custom"; executor: "executor"; researcher: "researcher"; architect: "architect"; validator: "validator"; documentor: "documentor"; }> - Zod enum schema for agent types. { id: string; title: string; description: string | null; status?: string | undefined; priority?: string | undefined; type?: string | null | undefined; parentId?: string | null | undefined; phase?: string | null | undefined; size?: string | null | undefined; position?: number | null | undefined; positionVersion?: number | null | undefined; labelsJson?: string | null | undefined; notesJson?: string | null | undefined; acceptanceJson?: string | null | undefined; filesJson?: string | null | undefined; origin?: string | null | undefined; blockedBy?: string | null | undefined; epicLifecycle?: string | null | undefined; noAutoComplete?: boolean | null | undefined; createdAt?: string | undefined; updatedAt?: string | null | undefined; completedAt?: string | null | undefined; cancelledAt?: string | null | undefined; cancellationReason?: string | null | undefined; archivedAt?: string | null | undefined; archiveReason?: string | null | undefined; cycleTimeDays?: number | null | undefined; verificationJson?: string | null | undefined; createdBy?: string | null | undefined; modifiedBy?: string | null | undefined; sessionId?: string | null | undefined; pipelineStage?: string | null | undefined; assignee?: string | null | undefined; } { id: string; title: string; description: string | null; status: string; priority: string; type: string | null; parentId: string | null; phase: string | null; size: string | null; position: number | null; positionVersion: number | null; labelsJson: string | null; notesJson: string | null; acceptanceJson: string | null; filesJson: string | null; origin: string | null; blockedBy: string | null; epicLifecycle: string | null; noAutoComplete: boolean | null; createdAt: string; updatedAt: string | null; completedAt: string | null; cancelledAt: string | null; cancellationReason: string | null; archivedAt: string | null; archiveReason: string | null; cycleTimeDays: number | null; verificationJson: string | null; createdBy: string | null; modifiedBy: string | null; sessionId: string | null; pipelineStage: string | null; assignee: string | null; } { taskId: string; dependsOn: string; } { taskId: string; dependsOn: string; } { taskId: string; relatedTo: string; reason: string | null; relationType?: string | undefined; } { taskId: string; relatedTo: string; relationType: string; reason: string | null; } { id: string; name: string; status?: string | undefined; scopeJson?: string | undefined; currentTask?: string | null | undefined; taskStartedAt?: string | null | undefined; agent?: string | null | undefined; notesJson?: string | null | undefined; tasksCompletedJson?: string | null | undefined; tasksCreatedJson?: string | null | undefined; handoffJson?: string | null | undefined; startedAt?: string | undefined; endedAt?: string | null | undefined; previousSessionId?: string | null | undefined; nextSessionId?: string | null | undefined; agentIdentifier?: string | null | undefined; handoffConsumedAt?: string | null | undefined; handoffConsumedBy?: string | null | undefined; debriefJson?: string | null | undefined; providerId?: string | null | undefined; statsJson?: string | null | undefined; resumeCount?: number | null | undefined; gradeMode?: number | null | undefined; } { id: string; name: string; status: string; scopeJson: string; currentTask: string | null; taskStartedAt: string | null; agent: string | null; notesJson: string | null; tasksCompletedJson: string | null; tasksCreatedJson: string | null; handoffJson: string | null; startedAt: string; endedAt: string | null; previousSessionId: string | null; nextSessionId: string | null; agentIdentifier: string | null; handoffConsumedAt: string | null; handoffConsumedBy: string | null; debriefJson: string | null; providerId: string | null; statsJson: string | null; resumeCount: number | null; gradeMode: number | null; } { sessionId: string; taskId: string; id?: number | undefined; setAt?: string | undefined; clearedAt?: string | null | undefined; } { id: number; sessionId: string; taskId: string; setAt: string; clearedAt: string | null; } { id: string; taskId: string; status?: string | undefined; currentStageId?: string | null | undefined; startedAt?: string | undefined; completedAt?: string | null | undefined; updatedAt?: string | null | undefined; version?: number | undefined; } { id: string; taskId: string; status: string; currentStageId: string | null; startedAt: string; completedAt: string | null; updatedAt: string | null; version: number; } { id: string; pipelineId: string; stageName: string; sequence: number; blockReason: string | null; skipReason: string | null; status?: string | undefined; startedAt?: string | null | undefined; completedAt?: string | null | undefined; blockedAt?: string | null | undefined; skippedAt?: string | null | undefined; notesJson?: string | null | undefined; metadataJson?: string | null | undefined; outputFile?: string | null | undefined; createdBy?: string | null | undefined; validatedBy?: string | null | undefined; validatedAt?: string | null | undefined; validationStatus?: string | null | undefined; provenanceChainJson?: string | null | undefined; } { id: string; pipelineId: string; stageName: string; status: string; sequence: number; startedAt: string | null; completedAt: string | null; blockedAt: string | null; blockReason: string | null; skippedAt: string | null; skipReason: string | null; notesJson: string | null; metadataJson: string | null; outputFile: string | null; createdBy: string | null; validatedBy: string | null; validatedAt: string | null; validationStatus: string | null; provenanceChainJson: string | null; } { id: string; stageId: string; gateName: string; result: string; checkedBy: string; details: string | null; reason: string | null; checkedAt?: string | undefined; } { id: string; stageId: string; gateName: string; result: string; checkedAt: string; checkedBy: string; details: string | null; reason: string | null; } { id: string; stageId: string; uri: string; type: string; recordedAt?: string | undefined; recordedBy?: string | null | undefined; description?: string | null | undefined; } { id: string; stageId: string; uri: string; type: string; recordedAt: string; recordedBy: string | null; description: string | null; } { id: string; pipelineId: string; fromStageId: string; toStageId: string; transitionType?: string | undefined; transitionedBy?: string | null | undefined; createdAt?: string | undefined; } { id: string; pipelineId: string; fromStageId: string; toStageId: string; transitionType: string; transitionedBy: string | null; createdAt: string; } { key: string; value: string; } { key: string; value: string; } { id: string; timestamp: string; action: string; taskId: string; actor: string; detailsJson?: string | null | undefined; beforeJson?: string | null | undefined; afterJson?: string | null | undefined; domain?: string | null | undefined; operation?: string | null | undefined; sessionId?: string | null | undefined; requestId?: string | null | undefined; durationMs?: number | null | undefined; success?: number | null | undefined; source?: string | null | undefined; gateway?: string | null | undefined; errorMessage?: string | null | undefined; projectHash?: string | null | undefined; } { id: string; timestamp: string; action: string; taskId: string; actor: string; detailsJson: string | null; beforeJson: string | null; afterJson: string | null; domain: string | null; operation: string | null; sessionId: string | null; requestId: string | null; durationMs: number | null; success: number | null; source: string | null; gateway: string | null; errorMessage: string | null; projectHash: string | null; } { id: string; timestamp: string; action: string; taskId: string; actor: string; detailsJson?: string | null | undefined; beforeJson?: string | null | undefined; afterJson?: string | null | undefined; domain?: string | null | undefined; operation?: string | null | undefined; sessionId?: string | null | undefined; requestId?: string | null | undefined; durationMs?: number | null | undefined; success?: number | null | undefined; source?: string | null | undefined; gateway?: string | null | undefined; errorMessage?: string | null | undefined; projectHash?: string | null | undefined; } - Canonical type alias for audit log insert (T4848). { id: string; timestamp: string; action: string; taskId: string; actor: string; detailsJson: string | null; beforeJson: string | null; afterJson: string | null; domain: string | null; operation: string | null; sessionId: string | null; requestId: string | null; durationMs: number | null; success: number | null; source: string | null; gateway: string | null; errorMessage: string | null; projectHash: string | null; } - Canonical type alias for audit log select (T4848). { id: string; provider: string; model: string | null; createdAt?: string | undefined; transport?: string | undefined; gateway?: string | null | undefined; domain?: string | null | undefined; operation?: string | null | undefined; sessionId?: string | null | undefined; taskId?: string | null | undefined; requestId?: string | null | undefined; inputChars?: number | undefined; outputChars?: number | undefined; inputTokens?: number | undefined; outputTokens?: number | undefined; totalTokens?: number | undefined; method?: string | undefined; confidence?: string | undefined; requestHash?: string | null | undefined; responseHash?: string | null | undefined; metadataJson?: string | undefined; } { id: string; createdAt: string; provider: string; model: string | null; transport: string; gateway: string | null; domain: string | null; operation: string | null; sessionId: string | null; taskId: string | null; requestId: string | null; inputChars: number; outputChars: number; inputTokens: number; outputTokens: number; totalTokens: number; method: string; confidence: string; requestHash: string | null; responseHash: string | null; metadataJson: string; } { id: string; title: string; content: string; summary: string | null; status?: string | undefined; supersedesId?: string | null | undefined; supersededById?: string | null | undefined; consensusManifestId?: string | null | undefined; createdAt?: string | undefined; updatedAt?: string | null | undefined; date?: string | undefined; acceptedAt?: string | null | undefined; gate?: string | null | undefined; gateStatus?: string | null | undefined; amendsId?: string | null | undefined; filePath?: string | undefined; keywords?: string | null | undefined; topics?: string | null | undefined; } { id: string; title: string; status: string; supersedesId: string | null; supersededById: string | null; consensusManifestId: string | null; content: string; createdAt: string; updatedAt: string | null; date: string; acceptedAt: string | null; gate: string | null; gateStatus: string | null; amendsId: string | null; filePath: string; summary: string | null; keywords: string | null; topics: string | null; } { id: string; title: string; date: string; status: string; pipelineId?: string | null | undefined; stageId?: string | null | undefined; agentType?: string | null | undefined; outputFile?: string | null | undefined; topicsJson?: string | null | undefined; findingsJson?: string | null | undefined; linkedTasksJson?: string | null | undefined; createdBy?: string | null | undefined; createdAt?: string | undefined; } { id: string; pipelineId: string | null; stageId: string | null; title: string; date: string; status: string; agentType: string | null; outputFile: string | null; topicsJson: string | null; findingsJson: string | null; linkedTasksJson: string | null; createdBy: string | null; createdAt: string; } { id: string; type: string; content: string; createdAt: string; sessionId?: string | null | undefined; taskId?: string | null | undefined; epicId?: string | null | undefined; contentHash?: string | null | undefined; status?: string | undefined; distilled?: boolean | undefined; brainObsId?: string | null | undefined; sourceFile?: string | null | undefined; metadataJson?: string | null | undefined; archivedAt?: string | null | undefined; } { id: string; sessionId: string | null; taskId: string | null; epicId: string | null; type: string; content: string; contentHash: string | null; status: string; distilled: boolean; brainObsId: string | null; sourceFile: string | null; metadataJson: string | null; createdAt: string; archivedAt: string | null; } { id: string; version: string; createdAt: string; status?: string | undefined; pipelineId?: string | null | undefined; epicId?: string | null | undefined; tasksJson?: string | undefined; changelog?: string | null | undefined; notes?: string | null | undefined; previousVersion?: string | null | undefined; commitSha?: string | null | undefined; gitTag?: string | null | undefined; npmDistTag?: string | null | undefined; preparedAt?: string | null | undefined; committedAt?: string | null | undefined; taggedAt?: string | null | undefined; pushedAt?: string | null | undefined; } { id: string; version: string; status: string; pipelineId: string | null; epicId: string | null; tasksJson: string; changelog: string | null; notes: string | null; previousVersion: string | null; commitSha: string | null; gitTag: string | null; npmDistTag: string | null; createdAt: string; preparedAt: string | null; committedAt: string | null; taggedAt: string | null; pushedAt: string | null; } { id: string; taskId: string; providerId: string; externalId: string; externalUrl: string | null; externalTitle: string | null; linkType: string; syncDirection?: string | undefined; metadataJson?: string | null | undefined; linkedAt?: string | undefined; lastSyncAt?: string | null | undefined; } { id: string; taskId: string; providerId: string; externalId: string; externalUrl: string | null; externalTitle: string | null; linkType: string; syncDirection: string; metadataJson: string | null; linkedAt: string; lastSyncAt: string | null; } { id: string; agentType: string; status?: string | undefined; sessionId?: string | null | undefined; taskId?: string | null | undefined; startedAt?: string | undefined; lastHeartbeat?: string | undefined; stoppedAt?: string | null | undefined; errorCount?: number | undefined; totalTasksCompleted?: number | undefined; capacity?: string | undefined; metadataJson?: string | null | undefined; parentAgentId?: string | null | undefined; } { id: string; agentType: string; status: string; sessionId: string | null; taskId: string | null; startedAt: string; lastHeartbeat: string; stoppedAt: string | null; errorCount: number; totalTasksCompleted: number; capacity: string; metadataJson: string | null; parentAgentId: string | null; } { agentId: string; errorType: string; message: string; id?: number | undefined; stack?: string | null | undefined; occurredAt?: string | undefined; resolved?: boolean | undefined; } { id: number; agentId: string; errorType: string; message: string; stack: string | null; occurredAt: string; resolved: boolean; } file validation-schemas.ts ManifestIntegrity Severity ComplianceMetrics ManifestEntry TokenMetrics TokenEfficiency OrchestrationOverhead (entry: ManifestEntry | null) => ManifestIntegrity - Verify a manifest entry for a task has valid required fields. T4524 (response: string) => boolean - Check if a response matches the expected return format. T4524 (taskId: string, agentId: string, manifestEntry: ManifestEntry | null, researchLinked: boolean, response: string) => ComplianceMetrics - Calculate comprehensive compliance score for a subagent. T4524 (tokensUsed: number, maxTokens?: number, tasksCompleted?: number, inputTokens?: number, outputTokens?: number) => TokenEfficiency - Calculate token efficiency metrics. T4524 (orchestratorTokens: number, totalSubagentTokens: number, numSubagents?: number) => OrchestrationOverhead - Calculate orchestration overhead metrics. T4524 file compliance.ts DriftIssue DriftReport CommandIndexEntry CommandIndex (scriptsDir: string) => string[] - Get command names from scripts directory. Returns sorted list of script basenames without .sh extension. T4527 (indexPath: string) => string[] - Get script names from COMMANDS-INDEX.json. T4527 (indexPath: string) => string[] - Get command names from COMMANDS-INDEX.json. T4527 (scriptsDir: string, indexPath: string) => DriftIssue[] - Check commands index vs scripts directory for sync. T4527 (wrapperPath: string, indexPath: string) => DriftIssue[] - Check wrapper template sync with COMMANDS-INDEX. T4527 (mode?: "quick" | "full", projectRoot?: string) => DriftReport - Run full drift detection across scripts, index, wrapper, and README. T4527 (enabled?: boolean, autoCheck?: boolean, command?: string, criticalCommands?: string[]) => boolean - Check if drift detection should run automatically based on config. T4527 file docs-sync.ts SchemaVersions FileHashes ProjectCacheEntry DoctorProjectCache "1.0.0" 300 (cleoHome?: string) => string - Get cache file path. T4525 (cacheFile: string) => DoctorProjectCache - Initialize empty cache file. T4525 (cacheFile: string) => DoctorProjectCache | null - Load cache file or return null if missing/invalid. T4525 (filePath: string) => string - Get file hash for cache invalidation. T4525 (projectHash: string, projectPath: string, cacheFile?: string) => ProjectCacheEntry | null - Check if project validation is cached and valid. Returns the cache entry if valid, null if cache miss. T4525 (projectHash: string, projectPath: string, validationStatus: "passed" | "failed" | "warning", issues?: string[], schemaVersions?: SchemaVersions, cacheFile?: string) => void - Cache project validation results. T4525 (projectHash: string, cacheFile?: string) => void - Clear cache for a specific project. T4525 (cacheFile?: string) => void - Clear entire cache. T4525 file project-cache.ts ProjectDetail CategorizedProjects UserJourneyStage (path: string) => boolean - Check if a project path is a temporary/test directory. T4525 (projects: ProjectDetail[]) => CategorizedProjects - Filter projects into categories: active, temp, orphaned. T4525 (category: "active" | "temp" | "orphaned") => string - Get human-readable project category name. T4525 HealthSummary (summary: HealthSummary) => string - Format project health summary for display. T4525 (activeFailed: number, activeWarnings: number, tempCount: number, orphanedCount: number) => string[] - Get actionable guidance for project issues. T4525 (hasProjects: boolean, tempProjectCount: number, agentConfigsOk: boolean) => UserJourneyStage - Check user journey stage based on system state. T4525 (stage: UserJourneyStage) => string[] - Get journey-specific guidance text. T4525 file utils.ts file index.ts readonly ["create", "update", "complete", "archive", "restore", "delete", "validate", "backup"] { readonly MAX_TITLE_LENGTH: 120; readonly MAX_DESCRIPTION_LENGTH: 2000; readonly MAX_NOTE_LENGTH: 5000; readonly MAX_BLOCKED_BY_LENGTH: 300; readonly MAX_SESSION_NOTE_LENGTH: 2500; readonly MIN_CANCEL_REASON_LENGTH: 5; readonly MAX_CANCEL_REASON_LENGTH: 300; } - Field length limits matching the Bash implementation. 0 - Validation result exit codes. 1 2 3 ValidationError ValidationResult (path: string) => string - Sanitize a file path for safe shell usage. Prevents command injection via malicious file names. T4523 (title: string) => ValidationResult - Validate a task title. Checks for emptiness, newlines, invisible characters, control chars, and length. T4523 (desc: string) => ValidationResult - T4523 (note: string) => ValidationResult - T4523 (reason: string) => ValidationResult - T4523 (note: string) => ValidationResult - T4523 (reason: string) => ValidationResult - Validate a cancellation reason. T4523 (oldStatus: TaskStatus, newStatus: TaskStatus) => ValidationResult - Validate that a status transition is allowed. T4523 (status: string) => status is TaskStatus - Check if a status string is valid. T4523 (createdAt: string, completedAt?: string) => ValidationResult - Check timestamp format and sanity. T4523 (fields: string[]) => boolean - Check if an update contains only metadata fields (safe for done tasks). T4523 (labels: string) => string - Deduplicate and normalize labels. T4523 Task TaskData - Task data shape for validation functions. ArchiveData - Archive data shape for validation functions. (taskFile: TaskData, archiveFile?: ArchiveData) => ValidationResult - Check ID uniqueness within and across files. T4523 (task: Task) => ValidationResult - Validate a single task object. T4523 (tasks: Task[], taskId: string, newDeps: string[]) => ValidationResult - Check for circular dependencies using DFS. T4523 (taskFile: TaskData) => ValidationResult - Validate only one phase is active. T4523 (taskFile: TaskData) => ValidationResult - Validate currentPhase matches an active phase. T4523 (taskFile: TaskData) => ValidationResult - Validate phase timestamp ordering. T4523 (taskFile: TaskData) => ValidationResult - Validate phase status requirements (e.g., active phases must have startedAt). T4523 ComprehensiveValidationResult (taskFile: TaskData, archiveFile?: ArchiveData) => ComprehensiveValidationResult - Run all validation checks on a TaskFile. T4523 file engine.ts ManifestDoc GapEntry CoverageEntry GapReport (content: string) => ManifestDoc[] - Parse a manifest JSONL content string into entries. Skips invalid JSON lines gracefully. T4524 (entries: ManifestDoc[], filterId?: string) => ManifestDoc[] - Find documents in review status. T4524 (content: string) => string[] - Extract markdown headings from file content. T4524 (topic: string, docsFileContents: Map<string, string>) => { topic: string; matches: number; files: string[]; } - Search for topic coverage in a docs directory. Returns count of matching files. T4524 (reviewDocs: ManifestDoc[], docsFileContents: Map<string, string>, filterId?: string) => GapReport - Analyze documentation coverage for review documents. T4524 (report: GapReport) => string - Format a gap report for human-readable display. T4524 file gap-check.ts ManifestEntry ManifestViolation ManifestValidationResult ComplianceEntry (taskId: string, manifestPath?: string) => Promise<ManifestEntry | null> - Find a manifest entry for a task ID in a JSONL file. T4526 (taskId: string, manifestEntry?: ManifestEntry | null, manifestPath?: string) => Promise<ManifestValidationResult> - Run validation on a manifest entry for a specific task. T4526 (taskId: string, validationResult: ManifestValidationResult, agentType?: string, compliancePath?: string) => Promise<void> - Log validation results to the compliance JSONL file. T4526 (taskId: string, manifestPath?: string, compliancePath?: string) => Promise<ManifestValidationResult> - Find, validate, and log compliance for a task in one call. T4526 file manifest.ts ProtocolViolation ProtocolValidationResult (taskId: string, expectedDir: string, pattern?: string) => boolean - Check if expected output file exists. T4527 (filePath: string, sections: string[]) => boolean - Check if file contains required documentation sections. T4527 (message: string, protocolType?: string) => boolean - Check if return message follows protocol format. Expected: "<Type> <status>. Manifest appended to pipeline_manifest." When protocolType is provided, the message type must match the protocol (e.g., a 'research' protocol must produce a "Research ..." message). T4527 (entry: Record<string, unknown>, fieldName: string) => boolean - Check if manifest entry has a required field (non-null, non-empty). T4527 (entry: Record<string, unknown>, fieldName: string, expectedType: "string" | "array" | "number" | "boolean" | "object") => boolean - Check if manifest field has expected type. T4527 (entry: Record<string, unknown>) => boolean - Check if key_findings array has valid count (3-7). T4527 (entry: Record<string, unknown>) => boolean - Check if status is valid enum value. T4527 (entry: Record<string, unknown>, expectedType: string) => boolean - Check if agent_type matches expected value. T4527 (entry: Record<string, unknown>, requiredIds: string[]) => boolean - Check if linked_tasks array contains required task IDs. T4527 (filePath: string, taskId?: string) => boolean - Check if file contains provenance tag. T4527 (entry: Record<string, unknown>, protocolType?: string) => ProtocolValidationResult - Validate common manifest requirements across all protocols. When protocolType is provided, additionally validates that the manifest entry's agent_type matches the expected protocol type. T4527 file protocol-common.ts readonly ["implemented", "testsPassed", "qaPassed", "cleanupDone", "securityPassed", "documented"] "implemented" | "testsPassed" | "qaPassed" | "cleanupDone" | "securityPassed" | "documented" readonly ["planner", "coder", "testing", "qa", "cleanup", "security", "docs"] "testing" | "security" | "planner" | "coder" | "qa" | "cleanup" | "docs" FailureLogEntry VerificationGates Verification VerificationStatus (name: string) => name is GateName - T4526 (name: string) => name is AgentName - T4526 () => GateName[] - T4526 (gateName: GateName) => number - T4526 (fromGate: GateName) => GateName[] - T4526 () => Verification - Initialize a new verification object with default values. T4526 (verification: Verification, requiredGates?: GateName[]) => boolean - Compute whether verification has passed based on required gates. T4526 (verification: Verification, passed: boolean) => Verification - Update the passed field on a verification object. T4526 (verification: Verification, gateName: GateName, value: boolean | null, agent?: string) => Verification - Update a single gate value. T4526 (verification: Verification, fromGate: GateName) => Verification - Reset all downstream gates to null after a gate failure. T4526 (verification: Verification, maxRounds?: number) => Verification | null - Increment the round counter. Returns null if max rounds exceeded. T4526 (verification: Verification, gateName: GateName, agent: string, reason: string) => Verification - Log a failure to the failureLog array. T4526 (verification: Verification, requiredGates?: GateName[]) => boolean - Check if all required gates have passed. T4526 (verification: Verification | null) => boolean - Check if verification is complete (passed = true). T4526 (verification: Verification | null) => VerificationStatus - Get verification status for display. T4526 (taskType?: string, verificationEnabled?: boolean) => boolean - Check if a task type should require verification. T4526 (verification: Verification, requiredGates?: GateName[]) => GateName[] - Get gate names that are not yet true. T4526 (verification: Verification) => { passed: boolean; round: number; gates: VerificationGates; lastAgent: string | null; lastUpdated: string; failureCount: number; } - Get gate summary for display. T4526 CircularValidationResult (currentAgent: string, createdBy?: string | null, validatedBy?: string | null, testedBy?: string | null) => CircularValidationResult - Check for circular validation (self-approval prevention). Prevents: creator validating own work, validator re-testing, tester self-creating. T4526 TaskForVerification (epicId: string, tasks: TaskForVerification[]) => boolean - Check if all children of an epic have verification.passed = true. T4526 (parentId: string, tasks: TaskForVerification[]) => boolean - Check if all siblings of a task are verified. T4526 file verification.ts file index.ts ProjectInfo - Fields consumed by logging, audit, and correlation subsystems. (cwd?: string) => Promise<ProjectInfo> - Read project-info.json and return a typed ProjectInfo. Falls back gracefully when projectId is missing (pre-T5333 installs) by returning an empty string, allowing callers to detect and handle. (cwd?: string) => ProjectInfo | null - Synchronous variant for use in hot paths where async is not feasible. Returns null if the file is missing or unparseable. (cwd: string, name: string) => void - Update the project name in project-info.json. Used by `cleo upgrade --name` and programmatic consumers. file project-info.ts file index.ts BackfillOptions - Options for backfillTasks(). BackfillTaskChange - Summary of what was (or would be) changed for a single task. BackfillResult - Overall result returned by backfillTasks(). (title: string, description: string) => string[] - Generate 3 baseline acceptance criteria from a task description. Uses simple text analysis — no LLM required. (projectRoot: string, options?: BackfillOptions) => Promise<BackfillResult> - Retroactively populate AC and verification metadata for tasks that lack them. file index.ts - Backfill module: retroactively add AC and verification metadata to existing tasks that were created before T058 (AC enforcement) and T061 (verification gate auto-init). Usage: backfillTasks(root, dryRun: true ) -- preview only backfillTasks(root, ) -- apply changes backfillTasks(root, rollback: true ) -- revert backfill T056 T066 RequirementLevel - RFC 2119 requirement levels ViolationSeverity - Violation severity ProtocolRule - Protocol rule definition ProtocolViolation - Protocol violation result ProtocolValidationResult - Protocol validation result Record<string, ProtocolRule[]> - Protocol rule registry file protocol-rules.ts ErrorSeverity - Error severity levels for protocol/gate validation. ErrorCategory - Error category for grouping protocol/gate violations. ProtocolExitCode - Protocol-specific exit codes used by the RCASD-IVTR+C enforcement system. These map to the protocol violation range (60-70) and lifecycle enforcement range (80-84) defined in the protocol specification. The values here align with the protocol enforcement layer's own exit code semantics, which differ from the canonical CLI exit codes in src/types/exit-codes.ts. The canonical CLI ExitCode enum at src/types/exit-codes.ts maps range 60-67 to orchestrator errors, while this enum maps them to protocol violations. Both are valid in their respective contexts — CLI vs protocol enforcement. ProtocolRequest - Request shape used by the protocol enforcement system. Minimal interface matching the fields needed by ProtocolEnforcer. ProtocolResponse - Response shape used by the protocol enforcement system. file protocol-types.ts ProtocolType - Protocol types aligned with RCASD-IVTR+C lifecycle ViolationLogEntry - Violation log entry typeof ProtocolEnforcer - Main protocol enforcement class ProtocolEnforcer - Default protocol enforcer instance file protocol-enforcement.ts (event: HookEvent) => string[] - Get all providers that support a specific hook event (providerIds?: string[]) => CanonicalHookEvent[] - Get hook events supported by all specified providers (event: CanonicalHookEvent, providerId: string) => string | null - Translate a canonical hook event to a provider-native event name. (nativeEvent: string, providerId: string) => CanonicalHookEvent | null - Translate a provider-native event name back to its canonical equivalent. (event: CanonicalHookEvent, providerId: string) => boolean - Check if a provider supports a specific canonical hook event. file provider-hooks.ts (shape: ChainShape) => string[] - Validate the topology/DAG of a chain shape. Checks: - All link source/target IDs reference existing stages - entryPoint references an existing stage - All exitPoints reference existing stages - No cycles (topological sort) - All stages are reachable from the entry point T5401 (chain: WarpChain) => string[] - Validate that all gates in a chain reference valid stages and gate names. Checks: - Every gate's stageId references an existing stage - Every stage_complete check references an existing stage - Every verification_gate check references a valid GateName T5401 (chain: WarpChain) => ChainValidation - Validate a complete WarpChain definition. Orchestrates shape validation and gate satisfiability checks, returning a unified ChainValidation result. T5401 file chain-validation.ts ChainFindCriteria (chain: WarpChain, projectRoot: string) => Promise<void> - Store a validated WarpChain definition. Validates the chain before storing. Throws if validation fails. T5403 (id: string, projectRoot: string) => Promise<WarpChain | null> - Retrieve a WarpChain definition by ID. T5403 (projectRoot: string) => Promise<WarpChain[]> - List all stored WarpChain definitions. T5403 (criteria: ChainFindCriteria, projectRoot: string) => Promise<WarpChain[]> - Find WarpChain definitions by criteria. T5403 (params: { chainId: string; epicId: string; variables?: Record<string, unknown>; stageToTask?: Record<string, string>; }, projectRoot: string) => Promise<WarpChainInstance> - Create a chain instance binding a chain to an epic. T5403 (id: string, projectRoot: string) => Promise<WarpChainInstance | null> - Retrieve a chain instance by ID. T5403 (id: string, projectRoot: string) => Promise<GateResult[]> - Read persisted gate results for a chain instance. (id: string, nextStage: string, gateResults: GateResult[], projectRoot: string) => Promise<WarpChainInstance> - Advance a chain instance to the next stage, recording gate results. T5403 file chain-store.ts ProtocolViolation - Protocol violation entry. ProtocolValidationResult - Protocol validation result. ManifestEntryInput - Manifest entry structure for validation. readonly ["research", "consensus", "architecture-decision", "specification", "decomposition", "implementation", "contribution", "validation", "testing", "release", "artifact-publish", "provenance"] - All supported protocol types. The canonical set covers all 9 RCASD-IVTR pipeline stages plus the 3 cross-cutting protocols that compose with specific stages: - Pipeline stages: research, consensus, architecture-decision, specification, decomposition, implementation, validation, testing, release - Cross-cutting: contribution (at implementation), artifact-publish (at release), provenance (at release) T260 — unify pipeline stages and cross-cutting protocols "research" | "consensus" | "specification" | "decomposition" | "implementation" | "validation" | "testing" | "release" | "contribution" | "provenance" | "artifact-publish" | "architecture-decision" Record<"research" | "consensus" | "specification" | "decomposition" | "implementation" | "validation" | "testing" | "release" | "contribution" | "provenance" | "artifact-publish" | "architecture-decision", ExitCode> - Map protocol types to exit codes. Pipeline protocols use the 60-67 orchestrator range. Cross-cutting protocols with dedicated ranges (artifact-publish 85-89, provenance 90-94) use their own codes. Architecture-decision uses 84 PROVENANCE_REQUIRED because every ADR MUST be generated from an accepted Consensus verdict (ADR-001) — the provenance chain is the whole point. T260 (entry: ManifestEntryInput, options?: { strict?: boolean; hasCodeChanges?: boolean; }) => ProtocolValidationResult - T4499 VotingMatrix (entry: ManifestEntryInput, votingMatrix?: VotingMatrix) => ProtocolValidationResult - T4499 (entry: ManifestEntryInput, specContent?: string) => ProtocolValidationResult - T4499 (entry: ManifestEntryInput, options?: { siblingCount?: number; descriptionClarity?: boolean; maxSiblings?: number; maxDepth?: number; }) => ProtocolValidationResult - T4499 (entry: ManifestEntryInput, options?: { hasTaskTags?: boolean; }) => ProtocolValidationResult - T4499 (entry: ManifestEntryInput, options?: { hasContributionTags?: boolean; }) => ProtocolValidationResult - T4499 (entry: ManifestEntryInput, options?: { version?: string; hasChangelog?: boolean; }) => ProtocolValidationResult - T4499 (entry: ManifestEntryInput, options?: { artifactType?: string; buildPassed?: boolean; }) => ProtocolValidationResult - T4499 (entry: ManifestEntryInput, options?: { hasAttestation?: boolean; hasSbom?: boolean; }) => ProtocolValidationResult - T4499 AdrStatus - ADR lifecycle status values. T260 ArchitectureDecisionOptions - Architecture decision options for validator. (entry: ManifestEntryInput & { consensus_manifest_id?: string; }, options?: ArchitectureDecisionOptions) => ProtocolValidationResult - Validate an Architecture Decision Record manifest entry. Enforces the 8 MUST requirements from `architecture-decision.md`: ADR-001 (consensus provenance), ADR-002 (manifest link), ADR-003 (HITL), ADR-004 (required sections), ADR-005 (cascade on supersession), ADR-006 (SQLite persistence), ADR-007 (agent_type), ADR-008 (spec block). ADR-005, ADR-006, and ADR-008 require runtime state the caller must provide via options — this validator checks the options and never performs side-effectful I/O. T260 ValidationStageOptions - Validation-stage options for validator. (entry: ManifestEntryInput, options?: ValidationStageOptions) => ProtocolValidationResult - Validate a manifest entry against the validation stage protocol. Enforces VALID-001..007 from `validation.md`. The validation stage runs static analysis, type checking, and pre-test quality gates. This validator verifies the manifest entry captures a real validation run; runtime gate enforcement happens in the lifecycle state machine, not here. T260 TestFramework - Project-agnostic test framework identifiers. The testing protocol is deliberately framework-neutral. Whichever framework the project uses, the protocol only cares that tests run autonomously via a framework adapter and loop until the spec is met. T260 TestingOptions - Testing-stage options for validator. (entry: ManifestEntryInput, options?: TestingOptions) => ProtocolValidationResult - Validate a manifest entry against the testing protocol. This validator is **project-agnostic**: it makes no assumption about the underlying test framework. It enforces the invariant that tests ran via a detected framework, achieved 100% pass rate, and (if an IVT loop was used) converged before the stage completes. Enforces TEST-001..007 from the post-2026-04 rewrite of `testing.md`. T260 (protocol: ProtocolType, entry: ManifestEntryInput, options?: Record<string, unknown>, strict?: boolean) => ProtocolValidationResult - Validate a manifest entry against a specific protocol. Throws CleoError with appropriate exit code on strict failure. T4499 file protocol-validators.ts "rcasd-ivtrc" Record<"research" | "consensus" | "specification" | "decomposition" | "implementation" | "validation" | "testing" | "release" | "contribution" | "provenance" | "artifact-publish" | "architecture-decision", "research" | "consensus" | "architecture_decision" | "specification" | "decomposition" | "implementation" | "validation" | "testing" | "release"> - Stage mapping for protocol validation gates in the default chain. Cross-cutting protocols compose with specific host stages: - `contribution` is validated at implementation (author attribution). - `artifact-publish` and `provenance` are validated at release (see release.md composition: release triggers artifact-publish for the distribution phase, which delegates signing/attestation to provenance). Pipeline stages map 1:1 to their own protocol validators. T5419 T260 — add architecture-decision, validation, testing mappings () => WarpChain - Build the canonical 9-stage RCASD-IVTR+C WarpChain. - Each PIPELINE_STAGE becomes a WarpStage - Each prerequisite from STAGE_PREREQUISITES becomes an entry GateContract - Each verification gate from VERIFICATION_GATE_ORDER becomes an exit GateContract - All 8 links are linear (stage[i] - stage[i+1]) T5399 file default-chain.ts () => TesseraTemplate - Build the default RCASD Tessera template. Wraps buildDefaultChain() with template variables: - epicId (required, type 'epicId') - projectName (optional, type 'string', default 'unnamed') - skipResearch (optional, type 'boolean', default false) T5409 (template: TesseraTemplate, input: TesseraInstantiationInput, projectRoot: string) => Promise<WarpChainInstance> - Instantiate a Tessera template into a concrete WarpChainInstance. Steps: 1. Validate all required variables are provided 2. Apply defaults for missing optional variables 3. Construct concrete WarpChain from template 4. Validate chain via validateChain() 5. Store via createInstance() from chain-store 6. Return instance T5409 () => TesseraTemplate[] - List all registered Tessera templates. T5409 (id: string) => TesseraTemplate | null - Find a Tessera template by ID. T5409 file tessera-engine.ts BrainMaintenanceDecayResult - Temporal decay step result subset used in maintenance output. BrainMaintenanceConsolidationResult - Memory consolidation step result subset used in maintenance output. BrainMaintenanceReconciliationResult - Orphaned reference reconciliation step result. BrainMaintenanceEmbeddingsResult - Embedding backfill step result. BrainMaintenanceResult - Aggregated result from a full brain maintenance run. All counts are zero when a step is skipped via the corresponding `skip*` option. BrainMaintenanceOptions - Options for `runBrainMaintenance`. All `skip*` flags default to `false` — the full maintenance pass runs unless specific steps are disabled. (projectRoot: string, options?: BrainMaintenanceOptions) => Promise<BrainMaintenanceResult> - Run a combined brain maintenance pass: decay, consolidation, and embeddings. The three steps always run in the same order: 1. `applyTemporalDecay` — decay stale learning confidence values 2. `consolidateMemories` — merge clustered old observations 3. `populateEmbeddings` — backfill missing vectors Each step is optional via the `skip*` flags. The function is idempotent: re-running it when there is nothing to process returns zero counts. file brain-maintenance.ts ClaudeMemMigrationResult - Result from a claude-mem migration run. ClaudeMemMigrationOptions - Options for the claude-mem migration. (projectRoot: string, options?: ClaudeMemMigrationOptions) => Promise<ClaudeMemMigrationResult> - Migrate observations from claude-mem's SQLite database into CLEO brain.db. Reads from ~/.claude-mem/claude-mem.db (or a custom path) and inserts into: - brain_observations (all observations, prefixed CM-) - brain_decisions (decision-typed observations, prefixed CMD-) - brain_learnings (session summaries with learned field, prefixed CML-) Idempotent: skips rows whose ID already exists in brain.db. After all inserts, rebuilds FTS5 indexes. file claude-mem-migration.ts BlockerNode CausalTrace (taskId: string, projectRoot: string, taskAccessor?: DataAccessor) => Promise<CausalTrace> - Build a causal trace for why a task is blocked. Walks upstream through `depends` fields, collecting unresolved blockers and their associated brain decisions. Leaf blockers (no further unresolved deps) are reported as root causes. SimilarEntry (entryId: string, projectRoot: string, limit?: number) => Promise<SimilarEntry[]> - Find entries similar to a given brain.db entry. 1. Loads the source entry's text from brain.db. 2. Calls searchSimilar() for vector-based similarity if embeddings exist. 3. Falls back to FTS5 keyword search if no embeddings are available. 4. Filters out the source entry itself. file brain-reasoning.ts (entryId: string, projectRoot?: string) => Promise<EngineResult> - Look up a brain.db entry by ID. (projectRoot?: string) => Promise<EngineResult> - Aggregate stats from brain.db across all tables. (params: { query?: string; taskId?: string; limit?: number; }, projectRoot?: string) => Promise<EngineResult> - Search decisions in brain.db. (params: { decision: string; rationale: string; alternatives?: string[]; taskId?: string; sessionId?: string; }, projectRoot?: string) => Promise<EngineResult> - Store a decision to brain.db. (params: { query: string; limit?: number; tables?: string[]; dateStart?: string; dateEnd?: string; }, projectRoot?: string) => Promise<EngineResult> - Token-efficient brain search returning compact results. (params: { anchor: string; depthBefore?: number; depthAfter?: number; }, projectRoot?: string) => Promise<EngineResult> - Chronological context around a brain entry anchor. (params: { ids: string[]; }, projectRoot?: string) => Promise<EngineResult> - Batch fetch brain entries by IDs. (params: { text: string; title?: string; type?: string; project?: string; sourceSessionId?: string; sourceType?: string; }, projectRoot?: string) => Promise<EngineResult> - Save an observation to brain.db. (params: StorePatternParams, projectRoot?: string) => Promise<EngineResult> - Store a pattern to BRAIN memory. (params: SearchPatternParams, projectRoot?: string) => Promise<EngineResult> - Search patterns in BRAIN memory. (projectRoot?: string) => Promise<EngineResult> - Get pattern memory statistics. (params: StoreLearningParams, projectRoot?: string) => Promise<EngineResult> - Store a learning to BRAIN memory. (params: SearchLearningParams, projectRoot?: string) => Promise<EngineResult> - Search learnings in BRAIN memory. (projectRoot?: string) => Promise<EngineResult> - Get learning memory statistics. (projectRoot?: string) => Promise<EngineResult> - Find contradictory entries in brain.db. (params?: { type?: string; project?: string; }, projectRoot?: string) => Promise<EngineResult> - Find superseded entries in brain.db. Identifies entries that have been superseded by newer entries on the same topic. (params: { taskId: string; entryId: string; }, projectRoot?: string) => Promise<EngineResult> - Link a brain entry to a task. (params: { taskId: string; entryId: string; }, projectRoot?: string) => Promise<EngineResult> - Remove a link between a brain entry and a task. (params: { nodeId?: string; nodeType?: string; label?: string; metadataJson?: string; fromId?: string; toId?: string; edgeType?: string; weight?: number; }, projectRoot?: string) => Promise<EngineResult> - Add a node or edge to the PageIndex graph. (params: { nodeId: string; }, projectRoot?: string) => Promise<EngineResult> - Get a node and its edges from the PageIndex graph. (params: { nodeId: string; edgeType?: string; }, projectRoot?: string) => Promise<EngineResult> - Get neighbor nodes from the PageIndex graph. (params: { taskId: string; }, projectRoot?: string) => Promise<EngineResult> - Causal trace through task dependency chains. (params: { entryId: string; limit?: number; }, projectRoot?: string) => Promise<EngineResult> - Find semantically similar entries. (params: { query: string; ftsWeight?: number; vecWeight?: number; graphWeight?: number; limit?: number; }, projectRoot?: string) => Promise<EngineResult> - Hybrid search across FTS5, vector, and graph. (params: { nodeId?: string; fromId?: string; toId?: string; edgeType?: string; }, projectRoot?: string) => Promise<EngineResult> - Remove a node or edge from the PageIndex graph. file engine-compat.ts ExtendedManifestEntry (researchId: string, projectRoot?: string) => Promise<EngineResult> - pipeline.manifest.show - Get manifest entry details by ID (params: PipelineManifestListParams, projectRoot?: string) => Promise<EngineResult> - pipeline.manifest.list - List manifest entries with filters (query: string, options?: { confidence?: number; limit?: number; }, projectRoot?: string) => Promise<EngineResult> - pipeline.manifest.find - Find manifest entries by text (LIKE search on content + type) (epicId?: string, projectRoot?: string) => Promise<EngineResult> - pipeline.manifest.pending - Get pending manifest items (epicId?: string, projectRoot?: string) => Promise<EngineResult> - pipeline.manifest.stats - Manifest statistics (filter?: ResearchFilter, projectRoot?: string) => Promise<EngineResult> - pipeline.manifest.read - Read manifest entries with optional filter (entry: ExtendedManifestEntry, projectRoot?: string) => Promise<EngineResult> - pipeline.manifest.append - Append entry to pipeline_manifest table (beforeDate: string, projectRoot?: string) => Promise<EngineResult> - pipeline.manifest.archive - Archive old manifest entries by date (projectRoot?: string) => Promise<EngineResult> - pipeline.manifest.compact - Dedup by contentHash (keep newest by createdAt) (taskId: string, projectRoot?: string) => Promise<EngineResult> - pipeline.manifest.validate - Validate manifest entries for a task (projectRoot?: string, params?: { topic?: string; }) => Promise<EngineResult<{ contradictions: ContradictionDetail[]; }>> - pipeline.manifest.contradictions - Find entries with overlapping topics but conflicting key_findings (projectRoot?: string, params?: { topic?: string; }) => Promise<EngineResult<{ superseded: SupersededDetail[]; }>> - pipeline.manifest.superseded - Identify entries replaced by newer work on same topic (taskId: string, researchId: string, notes?: string, projectRoot?: string) => Promise<EngineResult> - pipeline.manifest.link - Link manifest entry to a task (projectRoot?: string) => Promise<ExtendedManifestEntry[]> - Read all manifest entries from the pipeline_manifest table. Replaces readManifestEntries() from pipeline-manifest-compat. (entries: ExtendedManifestEntry[], filter: ResearchFilter) => ExtendedManifestEntry[] - Filter manifest entries by criteria (alias for backward compatibility). (_entryId: string, _projectRoot?: string) => Promise<EngineResult> - Distill a manifest entry to brain.db observation (Phase 3, pending). (projectRoot?: string) => Promise<{ migrated: number; skipped: number; }> - Migrate existing legacy flat-file entries into the pipeline_manifest table. Skips entries that already exist (by id). Renames legacy file to .migrated when done. file pipeline-manifest-sqlite.ts ModelProviderLookup (index: ModelsDevIndex, model?: string) => ModelProviderLookup (model?: string) => Promise<ModelProviderLookup> () => void file model-provider-registry.ts TokenMethod TokenConfidence TokenTransport TokenExchangeInput TokenMeasurement TokenUsageFilters TokenUsageSummary (input: TokenExchangeInput) => Promise<TokenMeasurement> (input: TokenExchangeInput) => Promise<TokenUsageRow> (id: string, cwd?: string) => Promise<TokenUsageRow | null> (filters?: TokenUsageFilters, cwd?: string) => Promise<{ records: TokenUsageRow[]; total: number; filtered: number; }> (filters?: TokenUsageFilters, cwd?: string) => Promise<TokenUsageSummary> (id: string, cwd?: string) => Promise<{ deleted: boolean; id: string; }> (filters?: TokenUsageFilters, cwd?: string) => Promise<{ deleted: number; }> (input: TokenExchangeInput) => Promise<void> (cwd?: string) => Promise<TokenUsageRow | null> (cwd?: string) => Promise<Array<{ provider: string; transport: string; totalTokens: number; count: number; }>> file token-service.ts (epicId: string, wave: number, cwd?: string, accessor?: DataAccessor) => Promise<{ epicId: string; wave: number; tasks: string[]; taskCount: number; startedAt: string; }> - Start parallel execution for a wave. (epicId: string, wave: number, cwd?: string, accessor?: DataAccessor) => Promise<{ epicId: string; wave: number; tasks: string[]; taskCount: number; startedAt: string | null; endedAt: string; durationMs: number; alreadyEnded?: boolean; }> - End parallel execution for a wave. (cwd?: string, accessor?: DataAccessor) => Promise<ParallelState> - Get current parallel execution state. file parallel.ts SkillEntry SkillContent (projectRoot: string) => { skills: SkillEntry[]; total: number; } - List available skills from canonical and project-local directories. (skillName: string, projectRoot: string) => SkillContent - Read skill content for injection into agent context. Checks project-local skills first. file skill-ops.ts HighImpactTask SingleBlockerTask CommonBlocker UnblockResult (cwd?: string, accessor?: DataAccessor) => Promise<UnblockResult> - Analyze dependency graph for unblocking opportunities. file unblock.ts ValidationIssue SpawnValidationResult (taskId: string, cwd?: string, accessor?: DataAccessor) => Promise<SpawnValidationResult> - Validate spawn readiness for a task. file validate-spawn.ts ContextInjectionData - Data returned by context injection. (protocolType: string, params?: { taskId?: string; variant?: string; }, projectRoot?: string) => ContextInjectionData - Read protocol injection content for a given protocol type. Core logic for session.context.inject. file context-inject.ts () => string - Generate a canonical session ID. Format: ses_YYYYMMDDHHmmss_6hex Example: ses_20260227171900_a1b2c3 (id: string) => boolean - Check if a string is a valid session ID (any format). (id: string) => boolean - Check if a session ID uses the canonical format. (id: string) => Date | null - Extract an approximate timestamp from any valid session ID format. Returns null if the ID format is not recognized. file session-id.ts (session: Session, cwd?: string) => Promise<Session> - Create a new session. (sessionId: string, cwd?: string) => Promise<Session | null> - Get a session by ID. (sessionId: string, updates: Partial<Session>, cwd?: string) => Promise<Session | null> - Update a session. (filters?: { active?: boolean; limit?: number; }, cwd?: string) => Promise<Session[]> - List sessions with optional filters. (sessionId: string, note?: string, cwd?: string) => Promise<Session | null> - End a session. (sessionId: string, taskId: string, cwd?: string) => Promise<void> - Start working on a task within a session. (sessionId: string, cwd?: string) => Promise<{ taskId: string | null; since: string | null; }> - Get current task for a session. (sessionId: string, cwd?: string) => Promise<void> - Stop working on the current task for a session. (sessionId: string, limit?: number, cwd?: string) => Promise<Array<{ taskId: string; setAt: string; clearedAt: string | null; }>> - Get work history for a session. (maxAgeDays?: number, cwd?: string) => Promise<number> - Garbage collect old sessions (mark ended sessions as orphaned after threshold). (cwd?: string) => Promise<Session | null> - Get the currently active session (if any). file session-store.ts (taskId: string, opts: { threshold?: number; cwd?: string; }, accessor?: DataAccessor) => Promise<Record<string, unknown>> - Suggest related tasks based on shared attributes. (from: string, to: string, type: string, reason: string, cwd?: string, accessor?: DataAccessor) => Promise<Record<string, unknown>> - Add a relation between tasks. (taskId: string, cwd?: string, accessor?: DataAccessor) => Promise<Record<string, unknown>> - Discover related tasks using various methods. (taskId: string, cwd?: string, accessor?: DataAccessor) => Promise<Record<string, unknown>> - List existing relations for a task. file relates.ts CancelResult - Result of a cancel operation. (task: Task) => { allowed: boolean; reason?: string; } - Check if a task can be cancelled. (taskId: string, tasks: Task[], reason?: string) => { tasks: Task[]; result: CancelResult; } - Cancel a task in the tasks array (returns updated array). Does NOT handle children - use deletion-strategy for that. (taskIds: string[], tasks: Task[], reason?: string) => { tasks: Task[]; results: CancelResult[]; } - Batch cancel multiple tasks. file cancel-ops.ts FlatTreeNode - Tree node representation for task hierarchy. ComplexityFactor - Complexity factor contributing to a task's size estimate. (projectRoot: string, params?: { count?: number; explain?: boolean; }) => Promise<{ suggestions: Array<{ id: string; title: string; priority: string; phase: string | null; score: number; reasons?: string[]; }>; totalCandidates: number; }> - Suggest next task to work on based on priority, phase, age, and deps. (projectRoot: string, params?: { analyze?: boolean; limit?: number; }) => Promise<{ blockedTasks: Array<{ id: string; title: string; status: string; depends?: string[]; blockingChain: string[]; }>; criticalBlockers: BottleneckTask[]; summary: string; total: number; limit: number; }> - Show blocked tasks and analyze blocking chains. (projectRoot: string, taskId?: string) => Promise<{ tree: FlatTreeNode[]; totalNodes: number; }> - Build hierarchy tree for tasks. (projectRoot: string, taskId: string) => Promise<TaskDepsResult> - Show dependencies for a task. (projectRoot: string, taskId: string) => Promise<{ taskId: string; relations: Array<{ taskId: string; type: string; reason?: string; }>; count: number; }> - Show task relations. (projectRoot: string, taskId: string, relatedId: string, type: string, reason?: string) => Promise<{ from: string; to: string; type: string; reason?: string; added: boolean; }> - Add a relation between two tasks. (projectRoot: string, taskId?: string, params?: { tierLimit?: number; }) => Promise<TaskAnalysisResult & { tierLimit: number; }> - Analyze tasks for priority and leverage. (projectRoot: string, taskId: string, params?: { cascade?: boolean; notes?: string; }) => Promise<{ task: string; restored: string[]; count: number; }> - Restore a cancelled task back to pending. (projectRoot: string, taskId: string, params?: { reason?: string; }) => Promise<{ task: string; cancelled: boolean; reason?: string; cancelledAt: string; }> - Cancel a task (sets status to 'cancelled', a soft terminal state). Use restore to reverse. Use delete for permanent removal. (projectRoot: string, taskId: string, params?: { status?: string; preserveStatus?: boolean; }) => Promise<{ task: string; unarchived: boolean; title: string; status: string; }> - Move an archived task back to active tasks. (projectRoot: string, taskId: string, position: number) => Promise<{ task: string; reordered: boolean; newPosition: number; totalSiblings: number; }> - Change task position within its sibling group. (projectRoot: string, taskId: string, newParentId: string | null) => Promise<{ task: string; reparented: boolean; oldParent: string | null; newParent: string | null; newType?: string; }> - Move task under a different parent. (projectRoot: string, taskId: string) => Promise<{ task: string; promoted: boolean; previousParent: string | null; typeChanged: boolean; }> - Promote a subtask to task or task to root. (projectRoot: string, taskId: string, params?: { status?: string; reason?: string; }) => Promise<{ task: string; reopened: boolean; previousStatus: string; newStatus: string; }> - Reopen a completed task. (projectRoot: string, params: { taskId: string; }) => Promise<{ size: "small" | "medium" | "large"; score: number; factors: ComplexityFactor[]; dependencyDepth: number; subtaskCount: number; fileCount: number; }> - Deterministic complexity scoring from task metadata. (projectRoot: string) => Promise<{ totalTasks: number; tasksWithDeps: number; blockedTasks: Array<TaskRef & { unblockedBy: string[]; }>; readyTasks: TaskRef[]; validation: { valid: boolean; errorCount: number; warningCount: number; }; }> - Overview of all dependencies across the project. (projectRoot: string) => Promise<{ hasCycles: boolean; cycles: Array<{ path: string[]; tasks: Array<Pick<TaskRef, "id" | "title">>; }>; }> - Detect circular dependencies across the project. (projectRoot: string, taskId: string, direction?: "upstream" | "downstream" | "both", options?: { tree?: boolean; }) => Promise<{ taskId: string; direction: string; upstream: TaskRef[]; downstream: TaskRef[]; unresolvedChain: number; leafBlockers: TaskRef[]; allDepsReady: boolean; hint?: string; upstreamTree?: FlatTreeNode[]; }> - List dependencies for a task in a given direction. (projectRoot: string, epicId?: string) => Promise<{ total: number; pending: number; active: number; blocked: number; done: number; cancelled: number; byPriority: Record<string, number>; byType: Record<string, number>; }> - Compute task statistics. (projectRoot: string, params?: { format?: "json" | "csv"; status?: string; parent?: string; }) => Promise<unknown> - Export tasks as JSON or CSV. (projectRoot: string, taskId: string, limit?: number) => Promise<Array<Record<string, unknown>>> - Get task history from the audit log. (projectRoot: string, taskId?: string) => Promise<Array<{ taskId: string; severity: "error" | "warning"; rule: string; message: string; }>> - Lint tasks for common issues. (projectRoot: string, taskIds: string[], checkMode?: "full" | "quick") => Promise<{ results: Record<string, Array<{ severity: "error" | "warning"; rule: string; message: string; }>>; summary: { totalTasks: number; validTasks: number; invalidTasks: number; totalIssues: number; errors: number; warnings: number; }; }> - Validate multiple tasks at once. (projectRoot: string, source: string, overwrite?: boolean) => Promise<{ imported: number; skipped: number; errors: string[]; remapTable?: Record<string, string>; }> - Import tasks from a JSON source string. file task-ops.ts AnalysisResult (opts: { autoStart?: boolean; cwd?: string; }, accessor?: DataAccessor) => Promise<AnalysisResult> - Analyze task priority with leverage scoring. file analyze.ts (cwd?: string, accessor?: DataAccessor) => Promise<LabelInfo[]> - List all labels with task counts. (label: string, cwd?: string, accessor?: DataAccessor) => Promise<Record<string, unknown>> - Show tasks with a specific label. (cwd?: string, accessor?: DataAccessor) => Promise<Record<string, unknown>> - Get detailed label statistics. file labels.ts "sqlite" - Store engine type. SQLite is the only supported engine (ADR-006). T4647 TaskFilters - Common task filter options. SessionFilters - Common session filter options. StoreProvider - Store provider interface. Backed by SQLite (ADR-006 canonical storage). (_engine?: StoreEngine, cwd?: string) => Promise<StoreProvider> - Create a store provider. Always creates SQLite provider (ADR-006). T4647 file provider.ts (cwd?: string) => Promise<import("./provider.js").StoreProvider> - Get a StoreProvider instance for the given working directory. Convenience wrapper around createStoreProvider with auto-detection. T4645 T4638 file index.ts MigrationResult - Migration result. MigrationOptions - Options for migration. (cleoDir: string) => { tasks: number; archived: number; sessions: number; } - Count records in JSON source files. (cwd?: string, tempDbPath?: string, logger?: import("../migration/logger.js").MigrationLogger) => Promise<MigrationResult> - Migrate JSON data to SQLite with atomic rename pattern. Writes to a temporary database file first, then atomically renames. (cwd?: string, options?: MigrationOptions) => Promise<MigrationResult> (cwd?: string) => Promise<{ tasks: Task[]; archived: Task[]; sessions: Session[]; }> - Export SQLite data back to JSON format (for inspection or emergency recovery). file migration-sqlite.ts RepairAction - A single repair action with status. (cwd: string | undefined, dryRun: boolean) => Promise<RepairAction> - Set size='medium' on tasks that have no size value. Operates directly on the SQLite tasks table. (cwd: string | undefined, dryRun: boolean) => Promise<RepairAction> - Set completedAt=now() on done/cancelled tasks that are missing a completedAt timestamp. Operates directly on the SQLite tasks table. (cwd: string | undefined, dryRun: boolean) => Promise<RepairAction> - Detect and add missing required columns on the tasks table. Uses PRAGMA table_info to check actual schema vs required columns. (cwd: string | undefined, dryRun: boolean) => Promise<RepairAction[]> - Run all repair functions. Returns all actions taken (or previewed in dry-run mode). file repair.ts UpgradeAction - A single upgrade action with status. UpgradeResult - Full upgrade result. UpgradeSummary - Counts of what upgrade checked/applied/skipped. DiagnoseFinding - A single diagnostic finding from --diagnose. DiagnoseResult - Result from diagnoseUpgrade(). (options?: { dryRun?: boolean; includeGlobal?: boolean; autoMigrate?: boolean; forceDetect?: boolean; mapCodebase?: boolean; projectName?: string; cwd?: string; }) => Promise<UpgradeResult> - Run a full upgrade pass on the project .cleo/ directory. Steps: 1. Pre-flight storage check (JSON → SQLite) 2. If migration needed and not dry-run, run auto-migration with backup 3. Schema version checks on JSON files 4. Structural repairs (checksums, missing fields) (options?: { cwd?: string; }) => Promise<DiagnoseResult> - Deep diagnostic inspection of schema and migration state. Unlike bare `cleo upgrade` which skips checks that "look OK", --diagnose validates: - tasks.db: all required columns present via PRAGMA table_info - tasks.db: migration journal entries match local migration files - brain.db: migration journal entries match local migration files - brain.db: expected tables exist - Stale/orphaned journal entries detected and reported Read-only: does not modify any data. T131 file upgrade.ts GateLayer - Gate layer enumeration GateStatus - Gate status for each layer GateViolation - Violation detail for a specific gate layer LayerResult - Result from a single gate layer validation VerificationResult - Complete verification result across all 4 layers OperationContext - Operation context for gate validation typeof VerificationGate - Main Verification Gate class Orchestrates 4-layer validation and determines pass/fail status. Each layer must pass before proceeding to the next. (strictMode?: boolean) => VerificationGate - Factory function for creating verification gates readonly [GateLayer.SCHEMA, GateLayer.SEMANTIC, GateLayer.REFERENTIAL, GateLayer.PROTOCOL] - Export gate layer sequence for external use WorkflowGateName - Workflow gate names per protocol specification Section 7.1 T3141 WorkflowGateStatus - Workflow gate status values per Section 7.3 WorkflowGateAgent - Agent responsible for each gate per Section 7.2 WorkflowGateDefinition - Individual workflow gate definition per Section 7.2 WorkflowGateState - State of a single workflow gate WorkflowGateDefinition[] - Complete workflow gate definitions per Section 7.2 WorkflowGateName[] - Ordered workflow gate sequence per Section 7.1 typeof WorkflowGateTracker - WorkflowGateTracker Tracks the status of all 6 workflow verification gates for a task. Implements Section 7.4 failure cascade behavior: when a gate fails, all downstream gates reset to null. T3141 (name: string) => name is WorkflowGateName - Validate a workflow gate name string (name: WorkflowGateName) => WorkflowGateDefinition | undefined - Get the definition for a workflow gate file operation-verification-gates.ts (context: OperationContext) => Promise<LayerResult> - Layer 1: Schema Validation Validates operation parameters against JSON Schema definitions. Checks required fields, data types, and format constraints. (context: OperationContext) => Promise<LayerResult> - Layer 2: Semantic Validation Validates business rules and logical constraints. (context: OperationContext) => Promise<LayerResult> - Layer 3: Referential Validation Validates cross-entity references and relationships. (context: OperationContext, _enforcer: ProtocolEnforcer) => Promise<LayerResult> - Layer 4: Protocol Validation Validates RCASD-IVTR+C lifecycle compliance and protocol requirements. { TASK_ID_PATTERN: RegExp; MANIFEST_ID_PATTERN: RegExp; DATE_FORMAT_PATTERN: RegExp; TITLE_MIN_LENGTH: number; TITLE_MAX_LENGTH: number; DESCRIPTION_MIN_LENGTH: number; DESCRIPTION_MAX_LENGTH: number; VALID_STATUSES: readonly ["pending", "active", "blocked", "done", "cancelled", "archived"]; VALID_MANIFEST_STATUSES: readonly ["completed", "partial", "blocked", "archived"]; VALID_AGENT_TYPES: readonly ["research", "analysis", "specification", "implementation", "testing", "validation", "documentation", "release"]; VALID_PRIORITIES: readonly ["critical", "high", "medium", "low"]; PRIORITY_NUMERIC_MIN: number; PRIORITY_NUMERIC_MAX: number; MAX_DEPTH: number; MAX_SIBLINGS: number; KEY_FINDINGS_MIN: number; KEY_FINDINGS_MAX: number; } - Validation rule definitions for reuse (domain: string, operation: string, field: string) => boolean - Helper to check if a field is required for an operation readonly ["coder", "testing", "qa", "cleanup", "security", "docs"] - Valid workflow gate agent names per Section 7.2 readonly [null, "passed", "failed", "blocked"] - Valid workflow gate status values per Section 7.3 (name: string) => boolean - Validate a workflow gate name T3141 (status: unknown) => status is null | "passed" | "failed" | "blocked" - Validate a workflow gate status value per Section 7.3 T3141 (gateName: string, status: string, agent?: string, tracker?: WorkflowGateTracker) => GateViolation[] - Validate a gate update operation. T3141 file operation-gate-validators.ts JsonSchemaType JsonSchemaProperty JSONSchemaObject (def: OperationDef) => JSONSchemaObject - Build a JSON Schema `input_schema` object from an `OperationDef`. Algorithm: 1. Iterate `def.params` 2. Skip params where schema `mcp.hidden === true` 3. Map ParamType → JSON Schema type 4. Collect names where `required === true` into `required[]` 5. Return type: 'object', properties, required CommanderArgSplit (def: OperationDef) => CommanderArgSplit - Split `OperationDef.params` into positional arguments and option flags, suitable for Commander.js registration. - `cli.positional === true` → goes into `positionals[]` - everything else with a `cli` key → goes into `options[]` - Params with no `cli` key → dispatch-only; excluded from both arrays (param: ParamDef) => string - Build the Commander option string for a single non-positional ParamDef. Examples: name:'taskId', type:'string', cli: → '--taskId ' name:'status', type:'string', cli:short:'-s', flag:'status' → '-s, --status ' name:'dryRun', type:'boolean', cli:flag:'dry-run' → '--dry-run' name:'limit', type:'number', cli: → '--limit ' (s: string) => string - Convert a camelCase string to kebab-case. e.g. 'includeArchive' → 'include-archive' (def: OperationDef, params?: Record<string, unknown>) => string[] - Validates that all required parameters are present in the request. Returns an array of missing parameter names. Replaces the old `requiredParams: string[]` check in registry.ts. file param-utils.ts (taskId: string, manifestPath: string) => string | null - Locate the manifest line for a given task ID, reading from the end of the file so the most recent entry wins. T260 (taskId: string) => ManifestEntryInput - Load a manifest entry by task ID from the canonical manifest file. T260 (manifestFile: string) => ManifestEntryInput - Load a manifest entry from an arbitrary JSON file (used by the `manifest` dispatch mode where the caller already has a serialized entry). T260 (result: ProtocolValidationResult, opts: { strict?: boolean; }, protocol: ProtocolType, taskId: string) => void - Throw a CleoError with the protocol's canonical exit code when strict validation fails. T260 file _shared.ts (taskId: string, opts: { strict?: boolean; } & ArchitectureDecisionOptions) => Promise<ProtocolValidationResult> - Validate architecture-decision protocol for a task. (manifestFile: string, opts: { strict?: boolean; } & ArchitectureDecisionOptions) => Promise<ProtocolValidationResult> - Validate architecture-decision protocol from a manifest file. file architecture-decision.ts (taskId: string, opts: ArtifactPublishOpts) => Promise<ProtocolValidationResult> - Validate artifact-publish protocol for a task. (manifestFile: string, opts: ArtifactPublishOpts) => Promise<ProtocolValidationResult> - Validate artifact-publish protocol from a manifest file. file artifact-publish.ts (taskId: string, opts: { strict?: boolean; votingMatrixFile?: string; }) => Promise<ProtocolValidationResult> - Validate consensus protocol for a task. (manifestFile: string, opts: { strict?: boolean; votingMatrixFile?: string; }) => Promise<ProtocolValidationResult> - Validate consensus protocol from a manifest file. file consensus.ts (taskId: string, opts: { strict?: boolean; hasContributionTags?: boolean; }) => Promise<ProtocolValidationResult> - Validate contribution protocol for a task. (manifestFile: string, opts: { strict?: boolean; hasContributionTags?: boolean; }) => Promise<ProtocolValidationResult> - Validate contribution protocol from a manifest file. file contribution.ts (taskId: string, opts: DecompositionOpts) => Promise<ProtocolValidationResult> - Validate decomposition protocol for a task. (manifestFile: string, opts: DecompositionOpts) => Promise<ProtocolValidationResult> - Validate decomposition protocol from a manifest file. file decomposition.ts (taskId: string, opts: { strict?: boolean; hasTaskTags?: boolean; }) => Promise<ProtocolValidationResult> - Validate implementation protocol for a task. (manifestFile: string, opts: { strict?: boolean; hasTaskTags?: boolean; }) => Promise<ProtocolValidationResult> - Validate implementation protocol from a manifest file. file implementation.ts (taskId: string, opts: ProvenanceOpts) => Promise<ProtocolValidationResult> - Validate provenance protocol for a task. (manifestFile: string, opts: ProvenanceOpts) => Promise<ProtocolValidationResult> - Validate provenance protocol from a manifest file. file provenance.ts (taskId: string, opts: { strict?: boolean; version?: string; hasChangelog?: boolean; }) => Promise<ProtocolValidationResult> - Validate release protocol for a task. (manifestFile: string, opts: { strict?: boolean; version?: string; hasChangelog?: boolean; }) => Promise<ProtocolValidationResult> - Validate release protocol from a manifest file. file release.ts (taskId: string, opts: { strict?: boolean; hasCodeChanges?: boolean; }) => Promise<ProtocolValidationResult> - Validate research protocol for a task. (manifestFile: string, opts: { strict?: boolean; hasCodeChanges?: boolean; }) => Promise<ProtocolValidationResult> - Validate research protocol from a manifest file. file research.ts (taskId: string, opts: { strict?: boolean; specFile?: string; }) => Promise<ProtocolValidationResult> - Validate specification protocol for a task. (manifestFile: string, opts: { strict?: boolean; specFile?: string; }) => Promise<ProtocolValidationResult> - Validate specification protocol from a manifest file. file specification.ts (taskId: string, opts: { strict?: boolean; } & TestingOptions) => Promise<ProtocolValidationResult> - Validate testing protocol for a task. (manifestFile: string, opts: { strict?: boolean; } & TestingOptions) => Promise<ProtocolValidationResult> - Validate testing protocol from a manifest file. file testing.ts (taskId: string, opts: { strict?: boolean; } & ValidationStageOptions) => Promise<ProtocolValidationResult> - Validate validation-stage protocol for a task. (manifestFile: string, opts: { strict?: boolean; } & ValidationStageOptions) => Promise<ProtocolValidationResult> - Validate validation-stage protocol from a manifest file. file validation.ts ValidationResult - Validation result ValidationError - Individual validation error "config" - Schema types that can be validated via AJV/JSON Schema. SQLite-backed types (todo, archive, log, sessions) use drizzle-zod validation instead. (schemaType: SchemaType, data: unknown) => ValidationResult - Validate data against a CLEO schema (task: unknown) => ValidationResult - Validate a single task object against the drizzle-zod insert schema. Uses drizzle-derived Zod schemas as the single source of truth for field-level constraints (pattern, length, enum). () => void - Clear the schema cache (useful for testing) file schema-validator.ts ComplianceEntry - Compliance entry stored in COMPLIANCE.jsonl CoherenceIssue - Coherence issue found during graph validation. ValidateCheckDetail ValidateReportResult (projectRoot: string) => Promise<ValidateReportResult> - Run comprehensive validation report on tasks database — checks business rules, dependencies, checksums, data integrity, and schema compliance. T4795 ValidateAndFixResult - Result from validate + fix operation. (projectRoot: string, dryRun?: boolean) => Promise<ValidateAndFixResult> - Run validation report, then apply data repairs for fixable issues. Calls runAllRepairs() from src/core/repair.ts (same repairs used by `upgrade`). T4795 (type: string, data: unknown | undefined, projectRoot: string) => Promise<{ type: string; valid: boolean; errors: unknown[]; errorCount: number; }> - Validate data against a schema type. For SQLite-backed types (todo, archive, sessions, log), queries rows directly from SQLite and validates with drizzle-zod schemas. For config type, uses AJV against the JSON schema file. If raw `data` is provided, validates directly with AJV (backward compat). T4786 (taskId: string, projectRoot: string) => Promise<{ taskId: string; valid: boolean; violations: RuleViolation[]; errorCount: number; warningCount: number; }> - Validate a single task against anti-hallucination rules. T4786 (taskId: string, protocolType: string | undefined, projectRoot: string) => Promise<{ taskId: string; protocolType: string; compliant: boolean; violations: Array<{ code: string; message: string; severity: string; }>; }> - Check basic protocol compliance for a task. T4786 (projectRoot: string) => { valid: boolean; totalEntries: number; validEntries: number; invalidEntries: number; errors: Array<{ line: number; entryId: string; errors: string[]; }>; message?: string; } - Validate manifest JSONL entries for required fields. T4786 (filePath: string, taskId: string | undefined, projectRoot: string) => { filePath: string; valid: boolean; issues: Array<{ code: string; message: string; severity: string; }>; fileSize: number; lineCount: number; } - Validate an output file for required sections. T4786 (projectRoot: string) => { total: number; pass: number; fail: number; partial: number; passRate: number; byProtocol: Record<string, { pass: number; fail: number; partial: number; }>; } - Get aggregated compliance metrics. T4786 (limit: number | undefined, projectRoot: string) => { violations: Array<{ timestamp: string; taskId: string; protocol: string; result: string; violations?: ComplianceEntry["violations"]; }>; total: number; } - List compliance violations. T4786 (taskId: string, result: string, protocol: string | undefined, violations: Array<{ code: string; message: string; severity: "error" | "warning"; }> | undefined, projectRoot: string) => { recorded: boolean; taskId: string; result: string; protocol: string; } - Record a compliance check result to COMPLIANCE.jsonl. T4786 (projectRoot: string) => { batsTests: { available: boolean; directory: string | null; }; dispatchTests: { available: boolean; directory: string | null; }; message: string; } - Check test suite availability. T4786 (projectRoot: string) => Promise<{ coherent: boolean; issues: CoherenceIssue[]; }> - Cross-validate task graph for consistency. T4786 (params: { scope?: string; pattern?: string; parallel?: boolean; } | undefined, projectRoot: string) => { ran: boolean; runner?: string; output?: unknown; exitCode?: number; stdout?: string; stderr?: string; passed?: boolean; message?: string; } - Execute test suite via subprocess. T4786 (projectRoot: string) => Promise<{ totalTasks: number; validTasks: number; invalidTasks: number; totalErrors: number; totalWarnings: number; results: Array<{ taskId: string; valid: boolean; errorCount: number; warningCount: number; violations: RuleViolation[]; }>; }> - Batch validate all tasks against schema and rules. T4786 (projectRoot: string) => { available: boolean; message?: string; [key: string]: unknown; } - Get test coverage metrics. T4786 file validate-ops.ts (projectRoot: string, opts?: { speed?: "fast" | "full" | "complete"; }, accessor?: DataAccessor) => Promise<BrainState> - Build brain state for agent bootstrapping. file bootstrap.ts CriticalPathNode CriticalPathResult (cwd?: string, accessor?: DataAccessor) => Promise<CriticalPathResult> - Find the critical path (longest dependency chain) in the task graph. file critical-path.ts SkillsPrecedenceConfig - Configuration for skill precedence resolution across providers. ResolvedSkillPath - A resolved skill path with full provenance metadata. SkillInstallationContext - Context for a skill installation operation. file precedence-types.ts (providerId: string, scope: "global" | "project", projectRoot?: string) => Promise<ResolvedSkillPath[]> - Get effective skill paths for a provider considering precedence (precedence: SkillsPrecedence) => string[] - Get all providers that use a specific precedence mode () => Array<{ providerId: string; toolName: string; precedence: SkillsPrecedence; paths: { global: string | null; project: string | null; }; }> - Build complete skills map with precedence information (context: SkillInstallationContext) => Promise<Array<{ providerId: string; path: string; }>> - Determine target installation paths for a skill (providerId: string) => Promise<boolean> - Check if provider supports agents path file precedence-integration.ts InProgressEpic - In-progress epic entry. ReadyTask - Ready task entry with leverage analysis. BlockedTask - Blocked task entry. OpenBug - Open bug entry. PlanMetrics - Planning metrics. PlanResult - Composite planning view result. (projectRoot: string) => Promise<PlanResult> - Build composite planning view. T4914 file plan.ts (plaintext: string, projectPath: string) => Promise<string> - Encrypt a plaintext string using AES-256-GCM with a per-project key. Output format: base64(version + iv + ciphertext + authTag) - version: 1 byte (0x01 = AES-256-GCM) - iv: 12 bytes - ciphertext: variable length - authTag: 16 bytes (ciphertext: string, projectPath: string) => Promise<string> - Decrypt a base64-encoded ciphertext using AES-256-GCM with a per-project key. file credentials.ts typeof AgentRegistryAccessor - signaldock.db implementation of the AgentRegistryAPI. file agent-registry-accessor.ts file internal.ts file audit-prune.test.ts file caamp-skill-install.test.ts file cli-parity.test.ts file config.test.ts file error-catalog.test.ts file hooks.test.ts file human-output.test.ts file index-api-compat.test.ts file init-e2e.test.ts file injection-chain.test.ts file injection-mvi-tiers.test.ts file injection-shared.test.ts file logger.test.ts file paths.test.ts file project-info.test.ts RcasdIndex - RCASD-INDEX.json top-level structure. IndexMeta - Index metadata. IndexTotals - Aggregate counts. TaskAnchor - Task-anchored RCASD artifact reference. SpecEntry - Specification entry. ReportEntry - Report entry. PipelineState - Pipeline state. PipelineOperation - Active pipeline operation. ChangeEntry - Change entry. (cwd?: string) => RcasdIndex - Scan .cleo/rcasd/ and legacy .cleo/rcsd/ directories and build the RCASD index. Reads all _manifest.json files and any spec/report markdown files to produce a complete index. (index: RcasdIndex, cwd?: string) => void - Write RCASD-INDEX.json to disk. (cwd?: string) => RcasdIndex | null - Read RCASD-INDEX.json from disk. (cwd?: string) => RcasdIndex - Rebuild and write the index from current disk state. (taskId: string, cwd?: string) => TaskAnchor | null - Get task anchor by task ID. (stage: string, cwd?: string) => Array<[string, TaskAnchor]> - Find tasks by pipeline stage. (status: "active" | "paused" | "completed" | "failed" | "archived", cwd?: string) => Array<[string, TaskAnchor]> - Find tasks by status. (cwd?: string) => IndexTotals | null - Get index summary statistics. file rcasd-index.ts file rcsd-pipeline-e2e.test.ts file remote.test.ts file scaffold.test.ts file schema-management.test.ts file schema.test.ts file sharing.test.ts file snapshot.test.ts file upgrade.test.ts file discovery.test.ts file manager.test.ts file agent-registry.test.ts file capacity.test.ts file execution-learning.test.ts file health-monitor.test.ts file registry.test.ts file retry.test.ts ExecutionResult - The aggregate result of executing a CANT workflow. StepResult - The result of a single workflow statement execution. DiscretionContext - Context provided to a discretion evaluator for AI-judged conditions. ApprovalTokenStatus - Valid states for an approval token. ApprovalToken - An approval token for human-in-the-loop workflow gates. Tokens are bound to a specific session and workflow. The `workflowHash` provides TOCTOU protection: if the workflow is modified between token creation and approval, the token is invalidated. Security invariants: - Token values MUST NOT appear in audit logs, summaries, or error messages. - `approvalTokensJson` is NEVER included in handoff/debrief serialization. - Status transitions use atomic CAS (pending - approved|rejected|expired only). TokenValidation - Result of validating an approval token. JoinStrategy - Join strategy for parallel block execution. SettleResult - Result of a parallel block execution with the settle strategy. ExecutionScope - Variable scope for workflow execution. file types.ts typeof ApprovalManager - Manages approval tokens for CANT workflow gates. Tokens are stored in-memory per instance. In production, these are persisted via the session's `approvalTokensJson` column in tasks.db. file approval.ts (initialBindings?: Record<string, unknown>) => ExecutionScope - Creates a new root execution scope with initial variable bindings. (parent: ExecutionScope, localBindings?: Record<string, unknown>) => ExecutionScope - Creates a child scope that inherits from a parent. Lookups in the child scope fall through to the parent if not found locally. This is used for parallel arms, loop iterations, and nested blocks. (scope: ExecutionScope, name: string) => unknown - Resolves a variable name in the scope chain. Searches the current scope first, then walks up the parent chain. (scope: ExecutionScope, name: string, value: unknown) => void - Sets a variable in the current scope (does not affect parent scopes). (template: string, scope: ExecutionScope) => string - Resolves `{variable}` placeholders in a template string against the scope. Performs single-pass replacement per the T07 security rule: nested interpolation within resolved values is treated as literal text. (scope: ExecutionScope, stepName: string, output: Record<string, unknown>) => void - Merges step output into the current scope. Binds `<stepName>.stdout`, `<stepName>.stderr`, and `<stepName>.exitCode` for use in subsequent step variable resolution. (scope: ExecutionScope) => Record<string, unknown> - Collects all variable bindings visible from the given scope (including parents). Parent bindings are overridden by child bindings of the same name. file context-builder.ts DiscretionEvaluator - Evaluates a discretion condition and returns a boolean judgment. typeof DefaultDiscretionEvaluator - Default discretion evaluator that always returns `true`. This is a stub implementation. The real LLM-backed evaluator will be implemented as a separate task. In production, this should be replaced with an evaluator that: - Calls the LLM API with the condition in a structured field - Uses structured prompting (tool use / JSON mode) - Returns a boolean judgment typeof MockDiscretionEvaluator - Mock discretion evaluator with configurable responses for testing. Responses can be set per condition text or as a blanket default. typeof RateLimitedDiscretionEvaluator - Wraps a discretion evaluator with rate limiting. Enforces a configurable maximum number of discretion evaluations per workflow execution. Default limit is 100 per the spec. This prevents runaway costs from loops containing discretion conditions. file discretion.ts ParallelArm - A single parallel arm to execute. ParallelResult - Result of a parallel block execution. (arms: ParallelArm[], strategy?: JoinStrategy) => Promise<ParallelResult> - Executes parallel arms according to the specified join strategy. file parallel-runner.ts WorkflowExecutorConfig - Configuration options for the workflow executor. typeof WorkflowExecutor - Executes CANT workflow definitions. The executor processes each statement in the workflow body sequentially, maintaining an execution scope for variable bindings and dispatching to the appropriate handler based on statement type. file workflow-executor.ts file index.ts file cant-agent-parse.test.ts (result: CodebaseMapResult) => string file summary.ts file sync.test.ts file dual-api-e2e.test.ts file local-credential-flow.test.ts file local-transport.test.ts file sse-transport.test.ts file provider-hooks.test.ts file registry.test.ts file error-hooks.test.ts file file-hooks.test.ts file hook-automation-e2e.test.ts file session-hooks.test.ts file task-hooks.test.ts file adaptive-validation.test.ts file impact.test.ts file patterns.test.ts file prediction.test.ts file retry.test.ts (a: WarpChain, b: WarpChain) => WarpChain - Sequence two chains: connect A's exit points to B's entry point. B's stage IDs are prefixed with "b" to avoid collision with A. The result is validated and throws if invalid. T5406 (chains: WarpChain[], joinStage: WarpStage) => WarpChain - Compose chains in parallel with a common fork entry and join stage. Creates a fork entry stage that links to each chain's entry, and all chain exits link to the provided joinStage. Each chain's IDs are prefixed with "pindex" to avoid collisions. T5406 file chain-composition.ts (content: string) => string | null - Extract an epic/task ID from file content by searching for: 1. `@task T####` or `@epic T####` annotations (highest priority) 2. JSON `"task"`, `"epicId"`, or `"taskId"` fields 3. First `T####` at a word boundary (fallback) (filename: string) => string | null - Extract an epic ID from a filename pattern like `T####-*` or `T####_*`. (options?: ConsolidateOptions) => MoveRecord[] - Rename suffixed epic directories (e.g. `T4881_install-channels` → `T4881`). (options?: ConsolidateOptions) => MoveRecord[] - Migrate `.cleo/consensus/` files to appropriate epic's consensus/ subdirectory. - T4869-checkpoint-consensus.json → rcasd/T4869/consensus/ - Agent finding files and CONSENSUS-REPORT.md → resolve epic from content - phase1-best-practices-evidence.md → resolve epic from content → research/ (options?: ConsolidateOptions) => MoveRecord[] - Migrate `.cleo/contributions/` files to appropriate epic's contributions/ subdirectory. Files follow the pattern `T####-session-*.json` with epicId in content. (options?: ConsolidateOptions) => MoveRecord[] - Migrate loose `T####_*.md` files from `.cleo/rcasd/` root into `rcasd/{epicId}/research/` subdirectories. (options?: ConsolidateOptions) => MigrationResult - Consolidate all provenance files into the unified `.cleo/rcasd/{epicId}/` structure with stage subdirectories. Performs migrations in order: 1. Rename suffixed directories (T4881_install-channels → T4881) 2. Move consensus files to appropriate epic's consensus/ subdirectory 3. Move contribution files to appropriate epic's contributions/ subdirectory 4. Move loose research files to appropriate epic's research/ subdirectory file consolidate-rcasd.ts ResumablePipeline - Resumable pipeline information returned to callers. T4805 T4798 PipelineContext - Pipeline context for session resume. T4805 StageContext - Stage context within a pipeline. T4805 GateResultContext - Gate result context. T4805 T4804 EvidenceContext - Evidence context. T4805 T4804 TransitionContext - Transition context. T4805 TaskContext - Task context. T4805 ResumeResult - Result of a resume operation. T4805 AutoResumeResult - Auto-resume detection result. T4805 FindResumableOptions - Options for finding resumable pipelines. T4805 (options?: FindResumableOptions, cwd?: string) => Promise<ResumablePipeline[]> - Query active pipelines that can be resumed. Searches the lifecycle_pipelines table for pipelines with status 'active' and joins with lifecycle_stages to determine current stage status. Also joins with tasks table to get task metadata. (taskId: string, cwd?: string) => Promise<PipelineContext> - Load complete pipeline context for session resume. Uses SQL JOINs to efficiently load all related data: - Pipeline and current stage - All stages with their status - Gate results for current stage - Evidence linked to current stage - Recent transitions - Task details (taskId: string, targetStage: Stage, options?: { reason?: string; agent?: string; force?: boolean; }, cwd?: string) => Promise<ResumeResult> - Resume a specific stage in a pipeline. Updates the stage status from 'blocked' or 'not_started' to 'in_progress', records the transition, and returns the resume result. (cwd?: string) => Promise<AutoResumeResult> - Auto-detect where to resume across all active pipelines. Finds the best candidate for resuming work based on: 1. Active stages (currently in progress) 2. Blocked stages (can be unblocked) 3. Failed stages (can be retried) 4. Priority ordering SessionResumeCheckOptions - Options for session start with resume check. T4805 SessionResumeCheckResult - Result of session resume check. T4805 (options?: SessionResumeCheckOptions, cwd?: string) => Promise<SessionResumeCheckResult> - Check for resumable work on session start. Integrates with session initialization to check for active pipelines and present resumable work to the user. Can auto-resume if there's a clear single candidate. (pipelines: ResumablePipeline[]) => string - Get resume summary for display to user. Formats resumable pipelines into a human-readable summary. (context: PipelineContext) => { action: "advance" | "stay" | "review"; message: string; nextStage?: Stage; } - Handle completed stage edge case. If the current stage is completed, suggests advancing to next stage. (context: PipelineContext) => { isBlocked: boolean; blockReason?: string; blockedSince?: Date; resolutions: string[]; canUnblock: boolean; } - Handle blocked stage edge case. Provides information about why a stage is blocked and potential resolutions. (taskId: string, cwd?: string) => Promise<{ isBlocked: boolean; blockReason?: string; blockedSince?: Date; resolutions: string[]; canUnblock: boolean; prerequisites?: { stage: Stage; status: DbStageStatus; completed: boolean; }[]; }> - Handle blocked stage edge case - async version with database lookup. file resume.ts PrereqCheck - Prerequisite check result. T4800 TransitionValidation - Transition validation result. T4800 StageState - Stage state snapshot for state machine. T4800 StateMachineContext - State machine context for a pipeline. T4800 StateTransition - State transition request. T4800 StateTransitionResult - State transition result. T4800 (targetStage: Stage, currentStages: Record<Stage, StageState>) => Promise<PrereqCheck> - Check if prerequisites are met for a stage. Validates that all prerequisite stages are in an acceptable state (completed or skipped) for the target stage to proceed. (transition: StateTransition, context: StateMachineContext) => Promise<TransitionValidation> - Validate a stage transition. Comprehensive validation that checks both transition rules and prerequisites. This is the core state machine validation logic. (transition: StateTransition, context: StateMachineContext) => Promise<StateTransitionResult> - Execute a state transition. Applies the transition to the state machine context, updating stage statuses and returning the new state. This function does NOT persist to database - that is handled by the pipeline module. (stage: Stage, status: StageStatus, context: StateMachineContext) => StageState - Set the status of a stage. Updates stage status with validation of allowed state transitions. (stage: Stage, context: StateMachineContext) => StageStatus - Get the status of a stage. (from: StageStatus, to: StageStatus) => { valid: boolean; reason?: string; } - Check if a status transition is valid. State transitions: not_started → in_progress, skipped in_progress → completed, blocked, failed blocked → in_progress failed → in_progress (retry) completed → (no transition - use force to override) skipped → (no transition) (pipelineId: string, assignedAgent?: string) => StateMachineContext - Create initial state machine context for a pipeline. (context: StateMachineContext, includeForce?: boolean) => Stage[] - Get stages that can be transitioned to from the current stage. (context: StateMachineContext) => StageState - Get the current stage state. (context: StateMachineContext) => boolean - Check if the pipeline is in a terminal state. (context: StateMachineContext) => boolean - Check if the pipeline is blocked. (transitions: StateTransition[], context: StateMachineContext) => Promise<TransitionValidation[]> - Validate multiple transitions. (stage: Stage) => boolean - Check if a stage can be skipped. (stage: Stage, reason: string, context: StateMachineContext) => StageState - Skip a stage with validation. file state-machine.ts file chain-store.test.ts file consolidate-rcasd.test.ts file default-chain.test.ts file frontmatter.test.ts file lifecycle.test.ts file pipeline.integration.test.ts file rcasd-paths.test.ts file resume-schema-contract.test.ts file stage-record-provenance.integration.test.ts file tessera-engine.test.ts typeof EmbeddingQueue - Singleton embedding queue. Batches embedding requests and processes them via a worker thread, keeping heavy model inference off the main event loop. Use `getEmbeddingQueue` to obtain the shared instance. () => EmbeddingQueue - Get or create the shared EmbeddingQueue singleton. Registers a process `exit` handler on first call to flush and terminate the worker thread cleanly. () => Promise<void> - Reset the singleton (for testing only). Shuts down the existing queue before clearing the reference. file embedding-queue.ts file embedding-worker.ts file auto-extract.test.ts file brain-automation.test.ts file brain-embedding.test.ts file brain-links.test.ts file brain-migration.test.ts file brain-retrieval.test.ts file brain-search.test.ts file claude-mem-migration.test.ts file decisions.test.ts file engine-compat.test.ts file memory-bridge.test.ts file pipeline-manifest-sqlite.test.ts file session-memory.test.ts file model-provider-registry.test.ts file provider-detection.test.ts file checksum.test.ts file logger.test.ts file migration-failure.integration.test.ts file migration.test.ts file state.test.ts file validate.test.ts file deps.test.ts file nexus-e2e.test.ts file permissions.test.ts file query.test.ts file reconcile.test.ts file registry.test.ts file transfer.test.ts file index.test.ts file log-filter.test.ts file log-parser.test.ts file log-reader.test.ts file autonomous-spec.test.ts file orchestration.test.ts file protocol-validators.test.ts file deps.test.ts file phases.test.ts file artifacts.test.ts file cancel-release.test.ts file changelog-writer.test.ts file push-policy.test.ts file release.test.ts file allocate.test.ts ContextWindowInput - Context window input from Claude Code. ContextStatus - Context status derived from input. (percentage: number) => ContextStatus - Determine status from percentage. (input: ContextWindowInput, cwd?: string) => Promise<string> - Process context window input and write state file. Returns the status line string for display. Tries adapter-based context monitoring first; falls back to local implementation. file context-monitor.ts HITLLevel - HITL warning level. HITLWarning - HITL warning entry. HITLWarningsResult - HITL warnings result. (cwd?: string) => boolean - Check if HITL warnings are enabled. (cwd?: string) => HITLWarningsResult - Generate HITL warnings based on lock state. (warnings: HITLWarning[]) => HITLLevel - Get highest warning level from warnings. (cwd?: string) => Record<string, unknown> - Get concurrency data for analyze JSON output. file hitl-warnings.ts StatuslineStatus - Statusline integration status. () => StatuslineStatus - Check if statusline integration is configured. Returns the current integration status. () => Record<string, unknown> - Get the statusline setup command for Claude Code settings. () => string - Get human-readable setup instructions. file statusline-setup.ts file briefing-blocked.test.ts file briefing.test.ts file handoff-integration.test.ts file handoff.test.ts file index.test.ts file session-cleanup.test.ts file session-edge-cases.test.ts file session-find.test.ts file session-grade.integration.test.ts file session-grade.test.ts file session-memory-bridge.test.ts file sessions.test.ts RoutingEntry - Routing entry describing the preferred channel for an operation. Derived from OperationCapability in the capability matrix. Use this type when consuming domain-level routing results from getRoutingForDomain() or getOperationsByChannel(). (domain: string, operation: string) => "cli" | "either" - Look up the preferred channel for a given domain + operation. Reads from the merged capability matrix (single SSoT). (domain: string) => RoutingEntry[] - Get routing entries for a specific domain. Derives entries from the capability matrix. (channel: "cli" | "either") => RoutingEntry[] - Get all operations that prefer a specific channel. Derives entries from the capability matrix. file routing-table.ts ProviderContext - Provider capability context for dynamic skill generation. (_context: ProviderContext) => string - Generate dynamic memory protocol instructions based on provider capabilities. (_context: ProviderContext) => string - Generate a dynamic routing guide based on operation preferences. (context: ProviderContext) => string - Generate complete dynamic skill content for the current provider. file dynamic-skill-generator.ts file discovery.test.ts file dispatch.test.ts file dynamic-skill-generator.test.ts file manifests.test.ts file precedence.test.ts file routing-table.test.ts file skill-paths.test.ts file test-utility.test.ts file token.test.ts file validation.test.ts file version.test.ts file subagent.test.ts file spawn-tier.test.ts file adapter-registry.test.ts file stats.test.ts file purge.test.ts IndexMap - Cache index mapping labels/phases to task IDs. typeof TaskCache - In-memory cache for task indices with checksum-based staleness detection. file cache.ts ImportPackageMeta - Import package metadata extracted from the export file. ImportConflictType - Import conflict types. ImportConflictResolution - Import conflict resolution strategies. ImportOptions - Import options for logging context. (sourceFilePath: string) => Promise<ImportPackageMeta> - Extract package metadata from an export file. T4552 (sourceFilePath: string, sessionId?: string, cwd?: string) => Promise<void> - Log import operation start with package metadata. T4552 (sourceFilePath: string, tasksImported: string[], idRemap: Record<string, string>, conflicts?: Array<{ type: string; resolution: string; }>, options?: ImportOptions, sessionId?: string, cwd?: string) => Promise<void> - Log import operation completion with full metadata. T4552 (sourceFilePath: string, errorMessage: string, errorCode: string | number, stage?: "validation" | "parsing" | "remapping" | "writing" | "unknown", sessionId?: string, cwd?: string) => Promise<void> - Log import operation error with diagnostic details. T4552 (conflictType: ImportConflictType, taskId: string, conflictDetails: Record<string, unknown>, resolution: ImportConflictResolution, sessionId?: string, cwd?: string) => Promise<void> - Log import conflict detection and resolution. T4552 file import-logging.ts SortableTask - Minimal task shape needed for topological sorting. (tasks: SortableTask[]) => string[] - Topological sort for task import order using Kahn's algorithm. Ensures tasks are imported in dependency order: - Parents before children (parentId references) - Dependencies before dependents (depends[] references) - Only counts edges to tasks within the set (external deps ignored) T4552 (tasks: SortableTask[]) => boolean - Detect cycles in task dependency graph. Returns true if no cycles, false if cycles detected. T4552 file import-sort.ts PipelineStageTaskRow - Row shape for pipeline + stage + task JOIN. PipelineStageRow - Row shape for pipeline + stage JOIN. (taskIds?: string[], cwd?: string) => Promise<PipelineStageTaskRow[]> - Find active pipelines joined with their stages and tasks. Optionally filters by specific task IDs. (taskId: string, cwd?: string) => Promise<PipelineStageTaskRow[]> - Find a pipeline with its current stage and task by taskId. Matches stages where stageName equals the pipeline's currentStageId. (taskId: string, stageName: string, cwd?: string) => Promise<PipelineStageRow[]> - Find a pipeline and a specific stage by taskId and stageName. (pipelineId: string, currentStageId: string, cwd?: string) => Promise<void> - Update pipeline's currentStageId. (pipelineId: string, cwd?: string) => Promise<(typeof schema.lifecycleStages.$inferSelect)[]> - Get all stages for a pipeline, ordered by sequence. (stageId: string, startedAt: string, cwd?: string) => Promise<void> - Update a stage's status to 'in_progress' and clear block fields. (taskId: string, cwd?: string) => Promise<PipelineStageRow[]> - Find pipeline with current stage (no task join) by taskId. Used by checkBlockedStageDetails. (stageId: string, cwd?: string) => Promise<(typeof schema.lifecycleGateResults.$inferSelect)[]> - Get gate results for a stage, ordered by checkedAt descending. (stageId: string, cwd?: string) => Promise<(typeof schema.lifecycleGateResults.$inferSelect)[]> - Get gate results for a stage without ordering (for simple checks). (stageId: string, cwd?: string) => Promise<(typeof schema.lifecycleEvidence.$inferSelect)[]> - Get evidence for a stage, ordered by recordedAt descending. (pipelineId: string, limit?: number, cwd?: string) => Promise<(typeof schema.lifecycleTransitions.$inferSelect)[]> - Get recent transitions for a pipeline, ordered by createdAt descending. (transition: typeof schema.lifecycleTransitions.$inferInsert, cwd?: string) => Promise<void> - Insert a new transition record. file lifecycle-store.ts import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"insert", { projectId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "project_registry"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; projectHash: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "project_registry"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; projectPath: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "project_registry"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; name: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "project_registry"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; registeredAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "project_registry"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; lastSeen: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "project_registry"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; healthStatus: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "project_registry"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; healthLastCheck: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "project_registry"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; permissions: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "project_registry"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; lastSync: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "project_registry"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; taskCount: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "project_registry"; dataType: "number int53"; data: number; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; labelsJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "project_registry"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, { projectId: (s: z.ZodString) => z.ZodString; projectHash: (s: z.ZodString) => z.ZodString; projectPath: (s: z.ZodString) => z.ZodString; name: (s: z.ZodString) => z.ZodString; }, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"select", { projectId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "project_registry"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; projectHash: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "project_registry"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; projectPath: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "project_registry"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; name: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "project_registry"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; registeredAt: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "project_registry"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; lastSeen: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "project_registry"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; healthStatus: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "project_registry"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; healthLastCheck: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "project_registry"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; permissions: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "project_registry"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; lastSync: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "project_registry"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; taskCount: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "project_registry"; dataType: "number int53"; data: number; driverParam: number; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; labelsJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "project_registry"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, undefined, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"insert", { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; timestamp: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; action: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; projectHash: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; projectId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; domain: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; operation: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; sessionId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; requestId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; source: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; gateway: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; success: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "number int53"; data: number; driverParam: number; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; durationMs: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "number int53"; data: number; driverParam: number; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; detailsJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; errorMessage: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, { id: (s: z.ZodString) => z.ZodString; action: (s: z.ZodString) => z.ZodString; }, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"select", { id: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; timestamp: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; action: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; projectHash: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; projectId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; domain: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; operation: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; sessionId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; requestId: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; source: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; gateway: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; success: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "number int53"; data: number; driverParam: number; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; durationMs: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "number int53"; data: number; driverParam: number; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: undefined; baseColumn: never; identity: undefined; generated: undefined; }, {}>; detailsJson: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: true; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; errorMessage: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_audit_log"; dataType: "string"; data: string; driverParam: string; notNull: false; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, undefined, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"insert", { key: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_schema_meta"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; value: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_schema_meta"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, undefined, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types.internal").BuildSchema<"select", { key: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_schema_meta"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: true; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; value: import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/sqlite-core/index").SQLiteColumn<{ name: string; tableName: "nexus_schema_meta"; dataType: "string"; data: string; driverParam: string; notNull: true; hasDefault: false; isPrimaryKey: false; isAutoincrement: false; hasRuntimeDefault: false; enumValues: [string, ...string[]]; baseColumn: never; identity: undefined; generated: undefined; }, {}>; }, undefined, import("/mnt/projects/cleocode/node_modules/.pnpm/drizzle-orm@1.0.0-beta.19-d95b7a4_@types+mssql@9.1.9_@azure+core-client@1.10.1__mssql@1_735b8d50d0ee1e3e16a97e41691265be/node_modules/drizzle-orm/zod/schema.types").CoerceOptions> { projectId: string; projectHash: string; projectPath: string; name: string; registeredAt?: string | undefined; lastSeen?: string | undefined; healthStatus?: string | undefined; healthLastCheck?: string | null | undefined; permissions?: string | undefined; lastSync?: string | undefined; taskCount?: number | undefined; labelsJson?: string | undefined; } { projectId: string; projectHash: string; projectPath: string; name: string; registeredAt: string; lastSeen: string; healthStatus: string; healthLastCheck: string | null; permissions: string; lastSync: string; taskCount: number; labelsJson: string; } { id: string; action: string; timestamp?: string | undefined; projectHash?: string | null | undefined; projectId?: string | null | undefined; domain?: string | null | undefined; operation?: string | null | undefined; sessionId?: string | null | undefined; requestId?: string | null | undefined; source?: string | null | undefined; gateway?: string | null | undefined; success?: number | null | undefined; durationMs?: number | null | undefined; detailsJson?: string | null | undefined; errorMessage?: string | null | undefined; } { id: string; timestamp: string; action: string; projectHash: string | null; projectId: string | null; domain: string | null; operation: string | null; sessionId: string | null; requestId: string | null; source: string | null; gateway: string | null; success: number | null; durationMs: number | null; detailsJson: string | null; errorMessage: string | null; } { key: string; value: string; } { key: string; value: string; } file nexus-validation-schemas.ts file schema.ts file atomic.test.ts file backup.test.ts file brain-accessor-pageindex.test.ts file brain-accessor.test.ts file brain-pageindex.test.ts file brain-schema.test.ts file brain-vec.test.ts file collision-detection.test.ts file data-safety-central.test.ts file db-helpers.test.ts file e2e-safety-integration.test.ts file git-checkpoint.test.ts file idempotent-migration.test.ts file import-logging.test.ts file import-sort.test.ts file json.test.ts file lifecycle-schema-parity.test.ts file migration-integration.test.ts file migration-retry.test.ts file migration-safety.test.ts file migration-sqlite.test.ts file performance-safety.test.ts file project-detect.test.ts file project-registry.test.ts file provider.test.ts file relations.test.ts file safety-accessor.test.ts file sequence-validation.test.ts file session-store.test.ts file sqlite-backup.test.ts file sqlite.test.ts file task-store.test.ts file write-verification.test.ts file cleanup.test.ts file health.test.ts file start-deps.test.ts AtomicityResult readonly ["single-file-scope", "single-cognitive-concern", "clear-acceptance-criteria", "no-context-switching", "no-hidden-decisions", "programmatic-validation-possible"] "single-file-scope" | "single-cognitive-concern" | "clear-acceptance-criteria" | "no-context-switching" | "no-hidden-decisions" | "programmatic-validation-possible" (task: Task, threshold?: number) => AtomicityResult - Check task atomicity using 6-point heuristic test. Default threshold: 4 (passing requires = 4/6 criteria met). file atomicity.ts RelatesType - Valid relationship types for relates entries. RelatesEntry - A single relates entry. (text: string, excludeId?: string) => string[] - Extract task IDs from text content. Scans for patterns like T1234, T001, T42 (T followed by 3+ digits). (refs: string[], relType?: RelatesType, reason?: string) => RelatesEntry[] - Create relates entries from extracted task IDs. (existing: RelatesEntry[], newEntries: RelatesEntry[]) => RelatesEntry[] - Merge new relates entries with existing ones. Existing entries take precedence (dedup by taskId). (relates: RelatesEntry[], validTaskIds: string[]) => string[] - Validate that referenced task IDs exist. Returns array of invalid (non-existent) task IDs. (text: string, excludeId?: string, relType?: RelatesType, reason?: string) => RelatesEntry[] - Convenience: extract task refs from text and create relates entries. file crossref-extract.ts Severity - Impact severity levels. DeleteWarning - An impact warning. AffectedTasks - Affected tasks info. DeleteImpact - Impact analysis. DeletePreview - Full preview result. (taskId: string, strategy: string, tasks: Task[]) => AffectedTasks - Calculate which tasks would be affected by a delete operation. (affected: AffectedTasks, tasks: Task[]) => DeleteImpact - Calculate impact of deletion. (affected: AffectedTasks, impact: DeleteImpact, strategy: string) => DeleteWarning[] - Generate warnings based on impact analysis. (taskId: string, tasks: Task[], options?: { strategy?: string; reason?: string; }) => DeletePreview - Main preview function - coordinates all preview calculations. file delete-preview.ts ChildStrategy - Valid child handling strategies. ChildStrategy[] StrategyResult - Result from a strategy handler. (strategy: string) => strategy is ChildStrategy - Validate a strategy name. (taskId: string, strategy: ChildStrategy, tasks: Task[], options?: { force?: boolean; cascadeThreshold?: number; allowCascade?: boolean; }) => { tasks: Task[]; result: StrategyResult; } - Handle children using the specified strategy. Returns the modified tasks array and the strategy result. file deletion-strategy.ts typeof GraphCache - Graph cache for expensive dependency calculations. Automatically invalidates when tasks change. file graph-cache.ts DiscoveryMethod - Discovery method. DiscoveryMatch - A single discovery match. (taskId: string, tasks: Task[]) => DiscoveryMatch[] - Discover related tasks by shared labels. (taskId: string, tasks: Task[]) => DiscoveryMatch[] - Discover related tasks by description similarity (keyword-based Jaccard). (taskId: string, tasks: Task[]) => DiscoveryMatch[] - Discover related tasks by shared files. (taskId: string, tasks: Task[], options?: { siblingBoost?: number; cousinBoost?: number; }) => DiscoveryMatch[] - Discover related tasks by hierarchical proximity (siblings and cousins). (taskId: string, tasks: Task[], method?: DiscoveryMethod) => DiscoveryMatch[] - Discover related tasks using all methods combined. (taskId: string, tasks: Task[], threshold?: number) => DiscoveryMatch[] - Suggest relates entries filtered by threshold. file graph-rag.ts PhaseProgress - Phase progress information. (project: ProjectMeta) => Phase | null - Get the current active phase from project metadata. (phaseName: string, tasks: Task[]) => Task[] - Get tasks belonging to a specific phase. (phaseName: string, tasks: Task[]) => PhaseProgress - Calculate progress for a phase. (phases: Record<string, Phase>, tasks: Task[]) => PhaseProgress[] - Get progress for all phases. PhaseTransitionValidation - Validate a phase transition. (fromPhase: string | null, toPhase: string, phases: Record<string, Phase>) => PhaseTransitionValidation (phase: string, transitionType: PhaseTransition["transitionType"], taskCount: number, fromPhase?: string | null, reason?: string) => PhaseTransition - Create a phase transition record. (project: ProjectMeta, toPhase: string, transitionType: PhaseTransition["transitionType"], taskCount: number, reason?: string) => ProjectMeta - Apply a phase transition to project metadata. Returns updated project data. (currentPhaseName: string | null, phases: Record<string, Phase>) => string | null - Get the next phase in order. (phases: Record<string, Phase>) => boolean - Check if all phases are complete. file phase-tracking.ts (size: TaskSize | null | undefined) => number - Get weight for a task size. (priority: TaskPriority) => number - Get weight for a task priority. (task: Task) => number - Calculate a composite score for task ordering. Higher score = should be worked on first. (tasks: Task[]) => Task[] - Sort tasks by weighted score (highest first). (tasks: Task[]) => number - Calculate total weighted effort for a set of tasks. (tasks: Task[]) => number - Calculate completion percentage by weight. (tasks: Task[]) => number - Estimate remaining effort (weighted sum of non-complete tasks). file size-weighting.ts StalenessThresholds - Staleness thresholds in days. StalenessThresholds - Default thresholds. StalenessLevel - Staleness classification. StalenessInfo - Staleness assessment for a single task. (task: Task) => string - Get the most recent activity timestamp for a task. (task: Task, thresholds?: StalenessThresholds) => StalenessLevel - Classify staleness level for a task. (task: Task, thresholds?: StalenessThresholds) => StalenessInfo - Get staleness info for a single task. (tasks: Task[], thresholds?: StalenessThresholds) => StalenessInfo[] - Find all stale tasks (stale, critical, or abandoned). StalenessSummary - Get staleness summary statistics. (tasks: Task[], thresholds?: StalenessThresholds) => StalenessSummary file staleness.ts file add.test.ts file archive.test.ts file assignee.test.ts file atomicity.test.ts file cancel-ops.test.ts file complete-unblocks.test.ts file complete.test.ts file delete.test.ts file dependency-check.test.ts file deps-ready.test.ts file epic-enforcement.test.ts file find.test.ts file graph-ops.test.ts file hierarchy-policy.test.ts file hierarchy.test.ts file id-generator.test.ts file labels.test.ts file list.test.ts file minimal-test.test.ts file phase-tracking.test.ts file pipeline-stage.test.ts file plan-priority.test.ts file priority-normalization.test.ts file relates.test.ts file show-deps.test.ts file show.test.ts file staleness.test.ts file task-ops-depends.test.ts file update.test.ts file chain-validation.test.ts file compliance.test.ts file docs-sync.test.ts file doctor-gitignore.test.ts file doctor-injection.test.ts file doctor.test.ts file engine.test.ts file manifest.test.ts file protocol-common.test.ts file verification.test.ts "https://lafs.dev/extensions/envelope/v1" - Canonical LAFS extension URI "A2A-Extensions" - Canonical A2A Extensions header per spec Section 3.2.6 LafsExtensionParams - LAFS extension parameters declared in Agent Card ExtensionKind - Classification of an A2A extension's behavior. ExtensionNegotiationResult - Result of extension negotiation between client and agent (headerValue: string | undefined) => string[] - Parse A2A-Extensions header value into URI array. (requestedUris: string[], agentExtensions: AgentExtension[]) => ExtensionNegotiationResult - Negotiate extensions between client-requested and agent-declared sets. (activatedUris: string[]) => string - Format activated extension URIs into header value. BuildLafsExtensionOptions - Options for building the LAFS extension declaration (options?: BuildLafsExtensionOptions) => AgentExtension - Build an A2A AgentExtension object declaring LAFS support. BuildExtensionOptions - Options for building a generic A2A extension declaration (options: BuildExtensionOptions) => AgentExtension - Build a generic A2A AgentExtension object. (kind: string) => kind is ExtensionKind - Check whether a string is a valid extension kind. (extension: AgentExtension) => { valid: boolean; error?: string; } - Validate an A2A extension declaration for correctness. typeof ExtensionSupportRequiredError - Error thrown when required A2A extensions are not supported by the client. ExtensionNegotiationMiddlewareOptions - Options for the extension negotiation middleware (options: ExtensionNegotiationMiddlewareOptions) => RequestHandler - Express middleware for A2A extension negotiation. file extensions.ts AgentProvider - A2A Agent Provider information. AgentCapabilities - A2A Agent Capabilities. AgentExtension - A2A Agent Extension declaration. AgentSkill - A2A Agent Skill. SecurityScheme - Security scheme for authentication (OpenAPI 3.0 style). AgentCard - A2A v1.0 Agent Card - Standard format for agent discovery. Capability - Legacy capability descriptor. ServiceConfig - Legacy service configuration. EndpointConfig - Legacy endpoint configuration. DiscoveryDocument - Legacy discovery document format. DiscoveryConfig - Configuration for the discovery middleware (A2A v1.0 format). DiscoveryMiddlewareOptions - Discovery middleware options. (config: DiscoveryConfig, options?: DiscoveryMiddlewareOptions) => RequestHandler - Create Express middleware for serving A2A Agent Card. (fastify: unknown, options: { config: DiscoveryConfig; path?: string; }) => Promise<void> - Fastify plugin for A2A Agent Card discovery. file discovery.ts file discovery-server.ts TokenEstimatorOptions - Configuration options for the token estimator. typeof TokenEstimator - Character-based token estimator for JSON payloads. TokenEstimator - Global token estimator instance with default settings. (value: unknown, options?: TokenEstimatorOptions) => number - Convenience function to estimate tokens for a value. (json: string, options?: TokenEstimatorOptions) => number - Convenience function to estimate tokens from a JSON string. file tokenEstimator.ts LAFSTransport - Transport protocol used to deliver a LAFS envelope. LAFSErrorCategory - Classification category for a LAFS error. Warning - A non-fatal warning attached to a LAFS envelope's `_meta.warnings` array. MVILevel - Minimum Viable Information level controlling envelope verbosity. ReadonlySet<MVILevel> - Immutable set of all valid `MVILevel` values. (value: unknown) => value is MVILevel - Type guard that checks whether an unknown value is a valid `MVILevel`. LAFSMeta - Metadata block (`_meta`) embedded in every LAFS envelope. LAFSAgentAction - Recommended action an LLM agent should take in response to an error. ReadonlySet<LAFSAgentAction> - Immutable set of all valid `LAFSAgentAction` values. (value: unknown) => value is LAFSAgentAction - Type guard that checks whether an unknown value is a valid `LAFSAgentAction`. LAFSError - Structured error payload returned in a failing LAFS envelope. LAFSPageCursor - Cursor-based pagination metadata. LAFSPageOffset - Offset-based pagination metadata. LAFSPageNone - Sentinel pagination mode indicating no pagination is applied. LAFSPage - Discriminated union of all supported pagination modes. ContextLedgerEntry - A single entry in the context ledger recording one state mutation. ContextLedger - Append-only ledger tracking context mutations across agent interactions. LAFSEnvelope - Top-level LAFS response envelope wrapping every operation result. FlagInput - Input parameters for resolving the output format via flag semantics. ConformanceReport - Result of a LAFS conformance test run. BudgetEnforcementOptions - Options controlling token-budget enforcement behaviour. TokenEstimate - Token-count estimate attached to a budget-aware envelope. LAFSMetaWithBudget - Extended metadata block that includes an optional token-budget estimate. LAFSEnvelopeWithBudget - LAFS envelope variant whose metadata includes token-budget estimates. MiddlewareFunction - Middleware function that transforms a LAFS envelope. NextFunction - Continuation function passed to `BudgetMiddleware` to invoke the next middleware in the chain. BudgetMiddleware - Middleware function for token-budget enforcement with chain delegation. BudgetEnforcementResult - Outcome of running budget enforcement on a LAFS envelope. file types.ts (envelope: LAFSEnvelope, budget: number, options?: BudgetEnforcementOptions) => BudgetEnforcementResult - Apply budget enforcement to an envelope. (budget: number, options?: BudgetEnforcementOptions) => EnvelopeMiddleware - Create a budget enforcement middleware function. (envelope: LAFSEnvelope, budget: number) => { exceeded: boolean; estimated: number; remaining: number; } - Check if an envelope has exceeded its budget without modifying it. (budget: number, options?: BudgetEnforcementOptions) => (envelope: LAFSEnvelope, next: () => LAFSEnvelope) => LAFSEnvelope - Synchronous version of withBudget for non-async contexts. <TArgs extends unknown[], TResult extends LAFSEnvelope>(handler: (...args: TArgs) => TResult | Promise<TResult>, budget: number, options?: BudgetEnforcementOptions) => (...args: TArgs) => Promise<LAFSEnvelope> - Higher-order function that wraps a handler with budget enforcement. (...middlewares: EnvelopeMiddleware[]) => EnvelopeMiddleware - Compose multiple middleware functions into a single middleware. file budgetEnforcement.ts file conformance-profiles.json ConformanceTier - Named conformance tier indicating the breadth of checks applied. ConformanceProfiles - Schema for the conformance-profiles JSON file. () => ConformanceProfiles - Loads the conformance profiles from the bundled JSON schema. (tier: ConformanceTier) => string[] - Returns the list of check names that belong to the given conformance tier. (availableChecks: string[]) => { valid: boolean; errors: string[]; } - Validates that the conformance profiles are internally consistent and reference only known checks. file conformanceProfiles.ts file error-registry.json RegistryCode - A single entry in the LAFS error-code registry. ErrorRegistry - Top-level shape of the LAFS error-registry JSON file. TransportMapping - A transport-specific status value resolved from the error registry. () => ErrorRegistry - Loads the full LAFS error registry from the bundled JSON. (code: string) => boolean - Checks whether a given error code exists in the LAFS error registry. (code: string) => RegistryCode | undefined - Retrieves the full registry entry for a given error code. (code: string) => LAFSAgentAction | undefined - Returns the default agent action for a given error code. (code: string) => string | undefined - Returns the RFC 9457 type URI for a given error code. (code: string) => string | undefined - Returns the documentation URL for a given error code. (code: string, transport: "http" | "grpc" | "cli") => TransportMapping | null - Resolves the transport-specific status value for a given error code and transport. file errorRegistry.ts FlagResolution - Result of resolving output format flags. typeof LAFSFlagError - Error thrown when LAFS flag validation fails. (input: FlagInput) => FlagResolution - Resolve the output format from flag inputs using the LAFS precedence chain. file flagSemantics.ts NativeValidationResult - Shape of the validation result from the native binding. () => boolean - Check if the native addon is available. () => LafsNativeModule | null - Get the native module, or `null` if unavailable. file native-loader.ts StructuredValidationError - Structured representation of a single schema validation error. EnvelopeValidationResult - Result of validating a value against the LAFS envelope JSON Schema. (input: unknown) => EnvelopeValidationResult - Validates an unknown input against the LAFS envelope JSON Schema (Draft-07). (input: unknown) => LAFSEnvelope - Validates input and throws on schema failure, returning a typed envelope on success. file validateEnvelope.ts EnvelopeConformanceOptions - Options for configuring envelope conformance checking. (envelope: unknown, options?: EnvelopeConformanceOptions) => ConformanceReport - Runs the full suite of LAFS envelope conformance checks. (flags: FlagInput) => ConformanceReport - Runs LAFS flag-semantics conformance checks against a set of flag inputs. file conformance.ts file cli.ts ComplianceStage - Identifies which stage of the compliance pipeline produced an issue. ComplianceIssue - Describes a single compliance failure detected during enforcement. EnforceComplianceOptions - Options controlling which compliance stages are executed. ComplianceResult - Aggregated result of a full LAFS compliance run. typeof ComplianceError - Error thrown when `assertCompliance` or `withCompliance` detects failures. (input: unknown, options?: EnforceComplianceOptions) => ComplianceResult - Runs the full LAFS compliance pipeline against an unknown input value. (input: unknown, options?: EnforceComplianceOptions) => LAFSEnvelope - Validates input and throws `ComplianceError` on any failure. <TArgs extends unknown[], TResult extends LAFSEnvelope>(producer: (...args: TArgs) => TResult | Promise<TResult>, options?: EnforceComplianceOptions) => (...args: TArgs) => Promise<LAFSEnvelope> - Wraps an envelope-producing function with automatic compliance enforcement. ComplianceMiddleware - Middleware signature for intercepting LAFS envelopes in a pipeline. (options?: EnforceComplianceOptions) => ComplianceMiddleware - Creates a `ComplianceMiddleware` that enforces LAFS compliance on the next handler's output. file compliance.ts DeprecationEntry - A single deprecation rule in the registry. () => DeprecationEntry[] - Retrieve all registered deprecation entries. (envelope: LAFSEnvelope) => Warning[] - Detect deprecated field usage in a LAFS envelope. (envelope: LAFSEnvelope) => LAFSEnvelope - Emit deprecation warnings by attaching them to the envelope metadata. file deprecationRegistry.ts "https://lafs.dev/schemas/v1/envelope.schema.json" - Canonical JSON Schema URL for the LAFS v1 envelope. CreateEnvelopeMetaInput - Input for constructing the `_meta` block of a LAFS envelope. CreateEnvelopeSuccessInput - Input for creating a successful LAFS envelope. CreateEnvelopeErrorInput - Input for creating a failing LAFS envelope. CreateEnvelopeInput - Discriminated union of success and error inputs for `createEnvelope`. Record<LAFSErrorCategory, LAFSAgentAction> - Default agent action for each error category. (input: CreateEnvelopeInput) => LAFSEnvelope - Create a fully validated LAFS envelope from a success or error input. typeof LafsError - Error subclass that carries the full `LAFSError` payload. ParseLafsResponseOptions - Options for `parseLafsResponse`. <T = unknown>(input: unknown, options?: ParseLafsResponseOptions) => T - Parse and unwrap a raw LAFS envelope, returning the result or throwing on error. file envelope.ts FieldExtractionInput - Input flags for the field extraction layer. FieldExtractionResolution - Resolved field extraction configuration. (input: FieldExtractionInput) => FieldExtractionResolution - Resolve field extraction flags into a validated configuration. (result: LAFSEnvelope["result"], field: string) => unknown - Extract a named field from a LAFS result object. (envelope: LAFSEnvelope, field: string) => unknown - Extract a named field from an envelope's result. (envelope: LAFSEnvelope, fields: string[]) => LAFSEnvelope - Filter result fields in a LAFS envelope to the requested subset. file fieldExtraction.ts UnifiedFlagInput - Combined input for both format and field extraction layers. UnifiedFlagResolution - Combined resolution result with cross-layer warnings. (input: UnifiedFlagInput) => UnifiedFlagResolution - Resolve all flags across both layers and validate cross-layer semantics. file flagResolver.ts LafsA2AConfig - Configuration for LAFS A2A integration. LafsSendMessageParams - Request parameters for sending messages. typeof LafsA2AResult - Wrapper for A2A responses with LAFS envelope support. (envelope: LAFSEnvelope) => Artifact - Create a LAFS envelope artifact for A2A. (text: string, name?: string) => Artifact - Create a text artifact. (fileUrl: string, mediaType: string, filename?: string) => Artifact - Create a file artifact. (agentCard: AgentCard, extensionUri: string) => boolean - Check if an extension is required in an Agent Card. (agentCard: AgentCard, extensionUri: string) => Record<string, unknown> | undefined - Get extension parameters from an Agent Card. file bridge.ts ReadonlySet<TaskState> - States from which no further transitions are possible ReadonlySet<TaskState> - States where the task is paused awaiting external input ReadonlyMap<TaskState, ReadonlySet<TaskState>> - Valid state transitions (adjacency map). Terminal states have empty outgoing sets. (from: TaskState, to: TaskState) => boolean - Check if a transition from one state to another is valid. (state: TaskState) => boolean - Check if a state is terminal (no further transitions allowed). (state: TaskState) => boolean - Check if a state is interrupted (paused awaiting input). typeof InvalidStateTransitionError - Thrown when attempting an invalid state transition. typeof TaskImmutabilityError - Thrown when attempting to modify a task in a terminal state. typeof TaskNotFoundError - Thrown when a task is not found. typeof TaskRefinementError - Thrown when a refinement/follow-up task references invalid parent tasks. CreateTaskOptions - Options for creating a new task ListTasksOptions - Options for listing tasks ListTasksResult - Paginated result from listTasks typeof TaskManager - In-memory task manager implementing A2A task lifecycle. (manager: TaskManager, taskId: string, envelope: LAFSEnvelope) => Task - Attach a LAFS envelope as an artifact to an A2A task. file task-lifecycle.ts TaskStreamEvent - Union type of task stream events emitted by the event bus. typeof TaskEventBus - In-memory event bus for task lifecycle streaming events. StreamIteratorOptions - Options for the stream task events async iterator (bus: TaskEventBus, taskId: string, options?: StreamIteratorOptions) => AsyncGenerator<TaskStreamEvent> - Build an async iterator for real-time task stream events. typeof PushNotificationConfigStore - In-memory manager for async push-notification configs. PushNotificationDeliveryResult - Result of delivering a push notification to a single webhook PushTransport - Transport function for sending HTTP requests to push-notification webhooks. typeof PushNotificationDispatcher - Deliver task updates to registered push-notification webhooks. typeof TaskArtifactAssembler - Applies append/lastChunk artifact deltas into task-local snapshots. file streaming.ts { readonly SendMessage: "message/send"; readonly SendStreamingMessage: "message/stream"; readonly GetTask: "tasks/get"; readonly ListTasks: "tasks/list"; readonly CancelTask: "tasks/cancel"; readonly SubscribeToTask: "tasks/resubscribe"; readonly SetTaskPushNotificationConfig: "tasks/pushNotificationConfig/set"; readonly GetTaskPushNotificationConfig: "tasks/pushNotificationConfig/get"; readonly ListTaskPushNotificationConfig: "tasks/pushNotificationConfig/list"; readonly DeleteTaskPushNotificationConfig: "tasks/pushNotificationConfig/delete"; readonly GetExtendedAgentCard: "agent/getAuthenticatedExtendedCard"; } - All JSON-RPC method names defined by the A2A protocol. JsonRpcMethod - Union of all valid JSON-RPC method string values from `JSONRPC_METHODS` { readonly ParseError: -32700; readonly InvalidRequest: -32600; readonly MethodNotFound: -32601; readonly InvalidParams: -32602; readonly InternalError: -32603; } - Standard JSON-RPC 2.0 error codes. { readonly TaskNotFound: -32001; readonly TaskNotCancelable: -32002; readonly PushNotificationNotSupported: -32003; readonly UnsupportedOperation: -32004; readonly ContentTypeNotSupported: -32005; readonly InvalidAgentResponse: -32006; readonly AuthenticatedExtendedCardNotConfigured: -32007; readonly ExtensionSupportRequired: -32008; readonly VersionNotSupported: -32009; } - A2A-specific error codes (-32001 through -32009). "TaskNotFound" | "TaskNotCancelable" | "PushNotificationNotSupported" | "UnsupportedOperation" | "ContentTypeNotSupported" | "InvalidAgentResponse" | "AuthenticatedExtendedCardNotConfigured" | "ExtensionSupportRequired" | "VersionNotSupported" - Union of A2A error type key names from `JSONRPC_A2A_ERROR_CODES` JsonRpcRequest - A JSON-RPC 2.0 request object. JsonRpcResponse - A JSON-RPC 2.0 success response object. JsonRpcErrorResponse - A JSON-RPC 2.0 error response object. (id: string | number, method: string, params?: Record<string, unknown>) => JsonRpcRequest - Create a JSON-RPC 2.0 request object. (id: string | number | null, result: unknown) => JsonRpcResponse - Create a JSON-RPC 2.0 success response. (id: string | number | null, code: number, message: string, data?: Record<string, unknown>) => JsonRpcErrorResponse - Create a JSON-RPC 2.0 error response. (id: string | number | null, errorType: A2AErrorType, message: string, data?: Record<string, unknown>) => JsonRpcErrorResponse - Create an A2A-specific JSON-RPC error response by error type name. (input: unknown) => { valid: boolean; errors: string[]; } - Validate the structure of a JSON-RPC request. (code: number) => boolean - Check if a numeric error code is an A2A-specific error. file jsonrpc.ts { readonly OK: 0; readonly CANCELLED: 1; readonly UNKNOWN: 2; readonly INVALID_ARGUMENT: 3; readonly DEADLINE_EXCEEDED: 4; readonly NOT_FOUND: 5; readonly ALREADY_EXISTS: 6; readonly PERMISSION_DENIED: 7; readonly RESOURCE_EXHAUSTED: 8; readonly FAILED_PRECONDITION: 9; readonly ABORTED: 10; readonly OUT_OF_RANGE: 11; readonly UNIMPLEMENTED: 12; readonly INTERNAL: 13; readonly UNAVAILABLE: 14; readonly DATA_LOSS: 15; readonly UNAUTHENTICATED: 16; } - Standard gRPC status codes (numeric values 0-16). GrpcStatusCode - Numeric gRPC status code value (0-16) "NOT_FOUND" | "INTERNAL" | "FAILED_PRECONDITION" | "INVALID_ARGUMENT" | "ABORTED" | "RESOURCE_EXHAUSTED" | "UNAVAILABLE" | "OK" | "CANCELLED" | "UNKNOWN" | "DEADLINE_EXCEEDED" | "ALREADY_EXISTS" | "PERMISSION_DENIED" | "OUT_OF_RANGE" | "UNIMPLEMENTED" | "DATA_LOSS" | "UNAUTHENTICATED" - String name of a gRPC status code (e.g. `"OK"`, `"NOT_FOUND"`) Record<"TaskNotFound" | "TaskNotCancelable" | "PushNotificationNotSupported" | "UnsupportedOperation" | "ContentTypeNotSupported" | "InvalidAgentResponse" | "AuthenticatedExtendedCardNotConfigured" | "ExtensionSupportRequired" | "VersionNotSupported", "NOT_FOUND" | "INTERNAL" | "FAILED_PRECONDITION" | "INVALID_ARGUMENT" | "ABORTED" | "RESOURCE_EXHAUSTED" | "UNAVAILABLE" | "OK" | "CANCELLED" | "UNKNOWN" | "DEADLINE_EXCEEDED" | "ALREADY_EXISTS" | "PERMISSION_DENIED" | "OUT_OF_RANGE" | "UNIMPLEMENTED" | "DATA_LOSS" | "UNAUTHENTICATED"> - Maps A2A error types to gRPC status names. Record<"TaskNotFound" | "TaskNotCancelable" | "PushNotificationNotSupported" | "UnsupportedOperation" | "ContentTypeNotSupported" | "InvalidAgentResponse" | "AuthenticatedExtendedCardNotConfigured" | "ExtensionSupportRequired" | "VersionNotSupported", string> - UPPER_SNAKE_CASE error reasons without "Error" suffix. "a2a-protocol.org" - Error domain for A2A gRPC errors. GrpcServiceMethod - Descriptor for a single gRPC service method. Record<string, GrpcServiceMethod> - gRPC service method definitions for the A2A protocol. "a2a-version" - gRPC metadata key for A2A protocol version. "a2a-extensions" - gRPC metadata key for activated A2A extensions. GrpcStatus - gRPC Status object for A2A errors. GrpcErrorInfo - Equivalent of `google.rpc.ErrorInfo` for structured gRPC error details. (errorType: A2AErrorType, message: string, metadata?: Record<string, string>) => GrpcStatus - Create a gRPC Status object for an A2A error type. file grpc.ts { readonly SendMessage: { readonly method: "POST"; readonly path: "/message:send"; }; readonly SendStreamingMessage: { readonly method: "POST"; readonly path: "/message:stream"; }; readonly GetTask: { readonly method: "GET"; readonly path: "/tasks/:id"; }; readonly ListTasks: { readonly method: "GET"; readonly path: "/tasks"; }; readonly CancelTask: { readonly method: "POST"; readonly path: "/tasks/:id:cancel"; }; readonly SubscribeToTask: { readonly method: "GET"; readonly path: "/tasks/:id:subscribe"; }; readonly SetTaskPushNotificationConfig: { readonly method: "POST"; readonly path: "/tasks/:id/pushNotificationConfig"; }; readonly GetTaskPushNotificationConfig: { readonly method: "GET"; readonly path: "/tasks/:id/pushNotificationConfig"; }; readonly ListTaskPushNotificationConfig: { readonly method: "GET"; readonly path: "/tasks/:id/pushNotificationConfig:list"; }; readonly DeleteTaskPushNotificationConfig: { readonly method: "DELETE"; readonly path: "/tasks/:id/pushNotificationConfig/:configId"; }; readonly GetExtendedAgentCard: { readonly method: "GET"; readonly path: "/agent/authenticatedExtendedCard"; }; } - HTTP+JSON endpoint definitions for each A2A operation. HttpEndpoint - Union of all HTTP endpoint descriptor objects from `HTTP_ENDPOINTS` Record<"TaskNotFound" | "TaskNotCancelable" | "PushNotificationNotSupported" | "UnsupportedOperation" | "ContentTypeNotSupported" | "InvalidAgentResponse" | "AuthenticatedExtendedCardNotConfigured" | "ExtensionSupportRequired" | "VersionNotSupported", number> - Maps A2A error types to HTTP status codes. Record<"TaskNotFound" | "TaskNotCancelable" | "PushNotificationNotSupported" | "UnsupportedOperation" | "ContentTypeNotSupported" | "InvalidAgentResponse" | "AuthenticatedExtendedCardNotConfigured" | "ExtensionSupportRequired" | "VersionNotSupported", string> - RFC 9457 Problem Details type URIs for A2A errors. ProblemDetails - RFC 9457 Problem Details object. (errorType: A2AErrorType, detail: string, extensions?: Record<string, unknown>) => ProblemDetails - Create an RFC 9457 Problem Details object for an A2A error. (errorType: A2AErrorType, lafsError: LAFSError, requestId?: string) => ProblemDetails - Create an RFC 9457 Problem Details object bridging A2A error types with LAFS error data. (endpoint: HttpEndpoint, params?: Record<string, string>) => string - Build a URL by substituting path parameters. ListTasksQueryParams - Parsed query parameters for the ListTasks endpoint. (query: Record<string, string | undefined>) => ListTasksQueryParams - Parse camelCase query parameters for the ListTasks endpoint. file http.ts ErrorCodeMapping - Complete error code mapping across all three transports. ReadonlyMap<"TaskNotFound" | "TaskNotCancelable" | "PushNotificationNotSupported" | "UnsupportedOperation" | "ContentTypeNotSupported" | "InvalidAgentResponse" | "AuthenticatedExtendedCardNotConfigured" | "ExtensionSupportRequired" | "VersionNotSupported", ErrorCodeMapping> - Precomputed cross-binding error mapping for all 9 A2A error types. (errorType: A2AErrorType) => ErrorCodeMapping - Get the complete error code mapping for a given A2A error type. readonly ["1.0"] - Supported A2A protocol versions. "1.0" - Default A2A protocol version used when none is requested. (headerValue: string | undefined) => string[] - Parse the `a2a-version` header into an array of version strings. (requestedVersions: string[]) => string | null - Negotiate an A2A protocol version from the client's requested versions. file index.ts - A2A Protocol Bindings - Barrel Export Re-exports all binding modules and provides cross-binding error code mapping for consistent error handling across transports. file index.ts CircuitState - Represents the three possible states of a circuit breaker. CircuitBreakerConfig - Configuration options for a `CircuitBreaker` instance. CircuitBreakerMetrics - Snapshot of runtime metrics for a `CircuitBreaker`. typeof CircuitBreakerError - Error thrown when a circuit breaker rejects a call. typeof CircuitBreaker - Circuit breaker for protecting against cascading failures. typeof CircuitBreakerRegistry - Registry for managing multiple named circuit breakers. (config: CircuitBreakerConfig) => (_req: unknown, res: { status: (code: number) => { json: (body: unknown) => void; }; }, next: () => void) => Promise<void> - Create an Express middleware that wraps downstream handlers with a circuit breaker. file index.ts HealthCheckConfig - Configuration for the `healthCheck` middleware. HealthCheckFunction - A function that performs a single health check. HealthCheckResult - Result of an individual health check. HealthStatus - Aggregated health status returned by the health endpoint. (config?: HealthCheckConfig) => (_req: unknown, res: { status: (code: number) => { json: (body: unknown) => void; }; }) => Promise<void> - Health check middleware for Express applications. (config: { checkConnection: () => Promise<boolean>; name?: string; }) => HealthCheckFunction - Create a health check function that verifies database connectivity. (config: { name: string; url: string; timeout?: number; }) => HealthCheckFunction - Create a health check function that probes an external HTTP service. () => (_req: unknown, res: { status: (code: number) => { json: (body: unknown) => void; }; }) => void - Liveness probe -- a minimal check confirming the process is running. (config?: { checks?: HealthCheckFunction[]; }) => (_req: unknown, res: { status: (code: number) => { json: (body: unknown) => void; }; }) => Promise<void> - Readiness probe -- verifies the service can accept traffic. file index.ts - LAFS Health Check Module Provides health check endpoints for monitoring and orchestration. (envelope: LAFSEnvelope, mviLevel?: MVILevel) => Record<string, unknown> - Project an envelope to the declared MVI verbosity level. (projected: Record<string, unknown>) => number - Estimate token count for a projected envelope. file mviProjection.ts LafsProblemDetails - RFC 9457 Problem Details with LAFS extensions. (error: LAFSError, requestId?: string) => LafsProblemDetails - Convert a LAFSError to an RFC 9457 Problem Details object. "application/problem+json" - Content-Type for RFC 9457 Problem Details responses. file problemDetails.ts GracefulShutdownConfig - Configuration for the `gracefulShutdown` handler. ShutdownState - Snapshot of the current shutdown state. (server: Server, config?: GracefulShutdownConfig) => void - Enable graceful shutdown for an HTTP server. () => boolean - Check whether a shutdown sequence is currently in progress. () => ShutdownState - Get a snapshot of the current shutdown state. (exitCode?: number) => void - Terminate the process immediately without waiting for connections to drain. () => (_req: unknown, res: { status: (code: number) => { json: (body: unknown) => void; }; }, next: () => void) => void - Express middleware that rejects requests with 503 while the server is shutting down. () => Promise<void> - Wait until a shutdown sequence begins. file index.ts - LAFS Graceful Shutdown Module Handles graceful shutdown of LAFS servers. file index.ts file a2aBridge.test.ts file agentAction.test.ts file bindings.test.ts file budgetEnforcement.test.ts file compliance.test.ts file conformanceProfiles.test.ts file deprecationMigration.test.ts file discovery.test.ts file envelope.test.ts file envelopeApi.test.ts file extensions.test.ts file fieldExtraction.test.ts file flag-resolver.test.ts file flags.test.ts file mviProjection.test.ts file problemDetails.test.ts file streamingAsync.test.ts file structuredValidation.test.ts file task-lifecycle.test.ts file tsup.config.ts MessageHandler - Message handler callback. AgentPollerConfig - Poller configuration. typeof AgentPoller - AgentPoller service — polls peek endpoint AND group conversations. Deduplicates messages by ID across both sources. file agent-poller.ts HeartbeatConfig - Heartbeat service configuration. typeof HeartbeatService - HeartbeatService sends periodic online status to the cloud API. file heartbeat.ts KeyRotationConfig - Key rotation service configuration. typeof KeyRotationService - KeyRotationService monitors credential age and auto-rotates when threshold is exceeded. file key-rotation.ts SseConnectionConfig - SSE connection service configuration. SseMessageHandler - Message handler callback. typeof SseConnectionService - SseConnectionService manages a persistent transport with subscribe() support. file sse-connection.ts RuntimeConfig - Configuration for createRuntime(). RuntimeHandle - Handle returned by createRuntime(). (registry: AgentRegistryAPI, config?: RuntimeConfig) => Promise<RuntimeHandle> - Create and start a runtime from the agent registry. Resolves the agent credential, configures the poller, and starts polling. Returns a handle to register message handlers and stop the runtime. file index.ts file lifecycle-e2e.test.ts