export { Orchestrator, type OrchestratorConfig } from './orchestrator.js'; export { generateTurnId, logTurnEvent, startTurnCapture, stopTurnCapture, type TurnLogPayload, type TurnEventRecord, } from './turn-context.js'; export { createMindTools, createToolUtilizationTracker, formatCombinedResult, type ToolDefinition, type MindToolDeps, type ToolUtilizationTracker, type ConfidenceLevel } from './tools.js'; export { createSystemTools, type FileBackend, type SystemToolDeps } from './system-tools.js'; export { resolveModelForClass, LIGHTWEIGHT_MODEL, type ModelClass, type ModelClassOpts } from './model-class-router.js'; export { ModelRouter, createLiteLLMRouter, type ProviderConfig, type ProviderEntry, type ResolvedModel, } from './model-router.js'; export { openaiChat, type ChatMessage, type ChatResponse, } from './providers/openai-compat.js'; export { classifyRateLimitError, planRateLimitResume, type RateLimitAssessment, type ResumePlan, } from './rate-limit-classifier.js'; export { Workspace, type WorkspaceConfig } from './workspace.js'; export { runAgentLoop, type AgentLoopConfig, type AgentResponse, type AgentMessage, // Phase 2 Commit 2.1 — structured-action retrieval loop (re-exported from agent-loop.ts): runSoloAgent, runRetrievalAgentLoop, type SoloAgentRunConfig, type MultiStepAgentRunConfig, type AgentRunResult, type LlmCallFn, type LlmCallInput, type LlmCallResult, type RetrievalSearchFn, type RetrievalSearchInput, type RetrievalSearchResult, type NormalizationPresetName, type BaseAgentRunConfig, // Phase 3.4 — long-task integration (whole-loop recovery + progress events): runRetrievalAgentLoopWithRecovery, type LoopRecoveryOptions, type AgentRunProgressEvent, type AgentRunProgressEventType, type AgentRunProgressCallback, } from './agent-loop.js'; // Phase 1.2 — model-aware prompt shapes (oversight in original Phase 1.2: // re-export to public API was missing; surfaced + fixed during Phase 2.3 // when benchmarks/harness/src/cells.ts started consuming selectShape). export { selectShape, listShapes, getShapeMetadata, REGISTRY, registerShape, claudeShape, qwenThinkingShape, qwenNonThinkingShape, gptShape, genericSimpleShape, claudeGen1V1Shape, qwenThinkingGen1V1Shape, MULTI_STEP_ACTION_CONTRACT, type PromptShape, type PromptShapeMetadata, type SystemPromptInput, type SoloUserPromptInput, type MultiStepKickoffInput, type RetrievalInjectionInput, type SelectShapeOptions, } from './prompt-shapes/index.js'; // Phase 1.1 — output normalization (also missing from Phase 1.1 public API). export { normalize, normalizeWithPreset, PRESETS, type NormalizationConfig, type NormalizationAction, type NormalizationResult, } from './output-normalize.js'; // Phase 1.3 — run-meta (also missing from Phase 1.3 public API). export { RunMetaCapture, RunMetaReader, verifyDeterministicReplay, RUN_META_SCHEMA_VERSION, type RunMeta, type PredictionRecord, type JudgeCallTrace, type AuditSha, type ModelVersion, type ProviderRoute, type ReplayResult, type ReplayMismatch, } from './run-meta.js'; // Phase 3.1 — long-task checkpointing (per-step state serialization). export { CheckpointStore, CHECKPOINT_SCHEMA_VERSION, makeInitialState, nextStateFrom, type CheckpointStepState, type CheckpointStoreOptions, type Decision as CheckpointDecision, type IntegrityReport as CheckpointIntegrityReport, } from './long-task/checkpoint.js'; // Phase 3.2 — long-task recovery (retry + fallback + crash-resume). export { RecoveryRunner, type RecoveryRunnerOptions, type RecoveryRunResult, type RecoveryRunOptions, type RecoveryEvent, type RecoveryEventType, type StepFn as RecoveryStepFn, type StepFnInput as RecoveryStepFnInput, type StepFnResult as RecoveryStepFnResult, type ErrorClass as RecoveryErrorClass, type ErrorClassifier as RecoveryErrorClassifier, } from './long-task/recovery.js'; // Phase 3.3 — long-task context management (compression / eviction / decision rollup). export { ContextManager, type ContextManagerOptions, type CompressionStrategy as ContextCompressionStrategy, type CompressionEvent as ContextCompressionEvent, type ContextCompressionEvent as ContextCompressionEventDetail, type DecisionsCompressionEvent, type CacheEvictionEvent, type ArchivedContextRange, type CompressOptions as ContextCompressOptions, } from './long-task/context-manager.js'; // Phase 4.1 — failure classifier (10-category taxonomy + LLM judge fallback). export { classifyFailure, classifyFailureBatch, failureDistribution, FAILURE_CATEGORIES, type FailureCategory, type FailureClassification, type ClassifierInput, type ClassifierOptions, type ConfidenceLevel as FailureConfidenceLevel, } from './long-task/failure-classify.js'; // Phase 4.2 — reporting (summary.json/md, predictions.jsonl, failures.jsonl, cross-model matrix). export { generateReport, writeReportToDisk, fromPilotRecord, type AgentPredictionRecord, type ReportOptions, type CellMetrics, type ModelComparisonMatrix, type RunSummary, type ReportArtifacts, type WrittenReportPaths, type PilotJsonlRecord, } from './long-task/report.js'; // Phase 4.6 — messages-array compression integration (closes Phase 3 gate finding). export { maybeCompressMessages, shouldCompressMessages, type MessagesContextManagerConfig, type MessagesCompressionEvent, type CompressMessagesResult, } from './long-task/messages-compressor.js'; export { createTeamTools, type TeamToolDeps } from './team-tools.js'; export { ensureIdentity, type IdentityConfig } from './auto-identity.js'; export { buildSelfAwareness, type AgentCapabilities } from './self-awareness.js'; export { loadSystemPrompt, loadSystemPromptWithOverrides, assertOverridesReachActiveSpec, loadSkills, type ComposedSystemPrompt, type LoadedSkill, } from './prompt-loader.js'; export { LoopGuard, type LoopGuardConfig } from './loop-guard.js'; export { scanForInjection, type ScanResult } from './injection-scanner.js'; export { checkGrounding, extractClaimedSpecifics, type GroundingResult, type ClaimedSpecific } from './grounding-check.js'; export { CostTracker, DEFAULT_MODEL_PRICING, type ModelPricing, type UsageStats, type UsageEntry } from './cost-tracker.js'; export { extractEntities, type ExtractedEntity } from './entity-extractor.js'; export { CognifyPipeline, type CognifyConfig, type CognifyResult } from './cognify.js'; export { AgentLearning, type LearnedBehavior, type PersonaEffectiveness, type LearningSnapshot } from './agent-learning.js'; export { TraceRecorder, truncate as truncateTraceText, scrubSecrets, type TraceHandle, type FinalizeOptions as TraceFinalizeOptions, } from './trace-recorder.js'; export { EvalDatasetBuilder, detectSecrets, redactSecrets, SECRET_PATTERN_NAMES, toJSONL as evalToJSONL, fromJSONL as evalFromJSONL, type EvalExample, type EvalExampleMetadata, type DatasetSplit, type BuildOptions as EvalBuildOptions, type JudgeVerdict, } from './eval-dataset.js'; export { IterativeGEPA, paretoFront, scoreCandidate, aggregateScores, pickWinner, pickSample as pickGepaSample, type Candidate as GEPACandidate, type CandidateScore as GEPACandidateScore, type IterativeGEPAOptions, type GEPARunResult, type GEPAProgress, type ScoreCandidateOptions, type MutateArgs, type MutateFn, type MutationStrategy, type EvolutionTarget, } from './iterative-optimizer.js'; export { runGates, DEFAULT_SIZE_LIMITS, checkNonEmpty, checkSize, checkGrowth, checkBalancedFences, checkNoPlaceholders, checkNoObviousTodos, checkRegression, type GateVerdict, type GateResult as EvolutionGateResult, type GateCheckResult, type SizeLimits, type GateOptions, type CheckInput as GateCheckInput, } from './evolution-gates.js'; export { EvolveSchema, addOutputField, removeField, editFieldDescription, changeFieldType, addConstraint, removeConstraint, reorderFields, replaceOutputFields, schemaComplexity, aggregateSchemaScores, paretoFrontSchema, scoreSchemaCandidate, pickSchemaWinner, generateStructureMutations, generateOrderMutations, generateRefinementMutations, pickSample as pickSchemaSample, type Schema, type SchemaField, type FieldType, type FieldConstraint, type Mutation as SchemaMutation, type MutationKind as SchemaMutationKind, type SchemaCandidate, type SchemaCandidateScore, type SchemaExampleResult, type SchemaExecuteFn, type EvolveSchemaOptions, type EvolveSchemaResult, type EvolveSchemaProgress, } from './evolve-schema.js'; export { ComposeEvolution, defaultFeedbackFilter, filterJudgeFeedback, stripStructuralLines, schemaExecutorFromInstructionRunner, type ComposeEvolutionOptions, type ComposeEvolutionResult, type ComposeProgress, type FeedbackFilter, } from './compose-evolution.js'; export { EvolutionOrchestrator, eligibleForEvolution, summarizeRuns, type EvolutionOrchestratorDeps, type EvolutionOrchestratorOptions, type EvolutionAutoTriggerConfig, type OrchestratorRunResult, type OrchestratorOutcome, type EvolutionProgress, type SchemaBaselineInput, } from './evolution-orchestrator.js'; export { deployPersonaOverride, rollbackPersonaOverride, deployBehavioralSpecOverride, rollbackBehavioralSpecOverride, loadBehavioralSpecOverrides, applyBehavioralSpecOverrides, BEHAVIORAL_SPEC_SECTIONS, type DeployResult, type DeployPersonaInput, type DeployBehavioralSpecInput, type BehavioralSpecOverride, type BehavioralSpecSection, } from './evolution-deploy.js'; export { LLMJudge, DEFAULT_WEIGHTS, DEFAULT_RUBRIC, buildPrompt as buildJudgePrompt, parseJudgeResponse, computeLengthPenalty, type JudgeLLMCall, type JudgeInput, type JudgeScore, type JudgeOptions, type ParsedJudgeResponse, } from './judge.js'; export { createAnthropicEvolutionLLM, buildJudgeLLMCall, buildGEPAMutateFn, buildSchemaExecuteFn, buildReflectiveMutationPrompt, buildSchemaFillPrompt, makeRunningJudge, isRunningJudge, RUNNING_JUDGE_BRAND, retryWithBackoff, wrapWithRetry, isRetryableEvolutionError, computeRetryDelay, DEFAULT_RETRY_OPTIONS, type EvolutionLLM, type CreateAnthropicEvolutionLLMOptions, type BuildReflectiveMutationPromptArgs, type RetryOptions, type RetryInfo, type RunningJudge, } from './evolution-llm-wiring.js'; export { createHarnessRun, advancePhase, getCurrentPhaseInstruction, canRetry, getRunSummary, harnessEvents, type WorkflowHarness, type HarnessPhase, type PhaseGate, type GateResult, type PhaseOutput, type HarnessCheckpoint, type HarnessRunState, type PhaseStatus, type HarnessPhaseStartEvent, type HarnessPhaseCompleteEvent, type HarnessPhaseFailEvent, type HarnessGatePassEvent, type HarnessGateFailEvent, } from './workflow-harness.js'; export { HarnessTraceBridge, type HarnessTraceBridgeOptions, type HarnessTraceContext, type HarnessTraceContextResolver, } from './harness-trace-bridge.js'; export { BUILTIN_HARNESSES, getHarnessById, matchHarness, researchVerifyHarness, codeReviewFixHarness, documentDraftHarness, } from './builtin-harnesses.js'; export { FeedbackHandler } from './feedback-handler.js'; export { checkResponseQuality, type QualityIssue } from './quality-controller.js'; export { HookRegistry, type HookEvent, type HookContext, type HookResult, type HookActivityEntry, type HookFn } from './hooks.js'; export { loadHooksFromConfig } from './hook-loader.js'; export { Plan, type PlanStep } from './plan.js'; export { createPlanTools } from './plan-tools.js'; export { createGitTools } from './git-tools.js'; export { PermissionManager, READONLY_TOOLS } from './permissions.js'; export { filterToolsForContext, filterAvailableTools, filterOfflineTools, getOfflineCapableToolNames, type ToolContext, type ToolFilterConfig } from './tool-filter.js'; export { needsConfirmation, needsConfirmationWithAutonomy, isCriticalNeverAutopass, ConfirmationGate, getApprovalClass, classifyGatedToolRisk, type ConfirmationGateConfig, type ApprovalClass, type AutonomyLevel, } from './confirmation.js'; export { createAuditTools } from './audit-tools.js'; export { createDocumentTools } from './document-tools.js'; export { createSpreadsheetTools } from './spreadsheet-tools.js'; export { createPresentationTools } from './presentation-tools.js'; export { createPdfTools } from './pdf-tools.js'; export { createInsightsTools, type InsightsDeps } from './insights-tools.js'; export { createConnectorSearchTools } from './connector-search.js'; export { createCrossWorkspaceTools, type CrossWorkspaceToolDeps } from './cross-workspace-tools.js'; export { extractEntitiesWithLLM, type LLMCallFn as EntityLLMCallFn } from './entity-extractor.js'; export { createSkillTools, type SkillToolsDeps } from './skill-tools.js'; export { SkillRecommender, type SkillRecommendation, type SkillRecommenderDeps } from './skill-recommender.js'; export { createSubAgentTools, ROLE_TOOL_PRESETS, type SubAgentToolsDeps, type SubAgentDef, type SubAgentResult } from './subagent-tools.js'; export { MemoryLinker, type MemoryLink } from './memory-linker.js'; export { CapabilityRouter, type CapabilityRoute, type CapabilitySource, type CapabilityRouterDeps, type ConnectorInfo } from './capability-router.js'; export { searchCapabilities, validateInstallCandidate, loadStarterSkillsMeta, type CapabilityCandidate, type CapabilitySourceType, type CapabilityAvailability, type AcquisitionProposal, type InstallValidation, type SearchCapabilitiesInput, type MarketplaceCandidate, } from './capability-acquisition.js'; export { McpServerInstance, McpRuntime, type McpServerConfig, type McpServerState, type McpToolInfo, type McpProcess, type SpawnFn } from './mcp/mcp-runtime.js'; export { McpToolRetriever, buildRetrievalQuery, DEFAULT_MCP_TOOL_RETRIEVAL_CONFIG, type McpToolRetrievalConfig, type RetrievalMessage } from './mcp/mcp-tool-retrieval.js'; export { SubagentOrchestrator, type WorkerState, type WorkerStatus, type WorkflowStep, type WorkflowTemplate, type OrchestratorConfig as SubagentOrchestratorConfig } from './subagent-orchestrator.js'; export { BEHAVIORAL_SPEC, COMPACTION_PROMPT, buildActiveBehavioralSpec, type BehavioralSpecSectionName, } from './behavioral-spec.js'; export { FEATURE_FLAGS, isEnabled, type FeatureFlag } from './feature-flags.js'; export { WORKFLOW_TEMPLATES, listWorkflowTemplates, createResearchTeamTemplate, createReviewPairTemplate, createPlanExecuteTemplate, createTicketResolveTemplate, createContentPipelineTemplate } from './workflow-templates.js'; export { loadCustomWorkflows, saveCustomWorkflow, deleteCustomWorkflow, listAllWorkflows } from './custom-workflows.js'; export { createWorkflowTools, type WorkflowToolsConfig } from './workflow-tools.js'; export { detectTaskShape, type TaskShape, type TaskShapeType, type TaskShapeSignal, type ComponentPhase } from './task-shape.js'; export { PromptAssembler, type AssembledPrompt, type AssembleOptions, type AssembleInput, type ScaffoldStyle } from './prompt-assembler.js'; export { composeWorkflow, validateTemplate, type WorkflowPlan, type ExecutionMode, type PlanStep as ComposerPlanStep, type ComposerContext, type ValidationError, } from './workflow-composer.js'; export { CommandRegistry, AGENT_LOOP_REROUTE_PREFIX, type CommandDefinition, type CommandContext } from './commands/command-registry.js'; export { registerWorkflowCommands } from './commands/workflow-commands.js'; export { registerMarketplaceCommands } from './commands/marketplace-commands.js'; export { createCronTools, type TurnOrigin } from './cron-tools.js'; export { createKvarkTools, parseSearchResults, type KvarkClientLike, type KvarkToolsDeps, type KvarkSearchResponseLike, type KvarkAskResponseLike, type KvarkStructuredResult, type KvarkFeedbackResponseLike, type KvarkActionResponseLike, } from './kvark-tools.js'; export { PERSONAS, getPersona, listPersonas, composePersonaPrompt, setPersonaDataDir, type AgentPersona } from './personas.js'; export { loadCustomPersonas, saveCustomPersona, deleteCustomPersona } from './custom-personas.js'; export { AgentMessageBus, type AgentMessage as BusAgentMessage } from './agent-message-bus.js'; export { createAgentCommsTools } from './agent-comms-tools.js'; export { createCliTools, type CliToolsConfig } from './cli-tools.js'; export { createSearchTools } from './search-tools.js'; export { createBrowserTools, closeBrowser } from './browser-tools.js'; export { createLspTools, stopLsp } from './lsp-tools.js'; export { assessTrust, resolveTrustSource, detectPermissions, classifyRisk, deriveApprovalClass, formatTrustSummary, type TrustAssessment, type TrustSource, type RiskLevel, type RiskFactor, type PermissionSummary, type AssessmentMode, type AssessTrustInput, } from './trust-model.js'; export { parseSkillFrontmatter, serializeFrontmatter, nextScope, SKILL_SCOPE_ORDER, type SkillFrontmatter, type SkillScope, } from './skill-frontmatter.js'; export { extractSkillRequirements, checkSkillRequirements, clearSkillRequirementsCache, type SkillRequirements, type SkillRequirementsStatus, type SkillRequirementDeps, } from './skill-requirements.js'; export { generateSkillMarkdown, type SkillTemplate } from './skill-creator.js'; export { autoExtractAndCreateSkill, skillFilename, type AutoExtractMessage, type AutoExtractDeps, type AutoExtractResult, } from './skill-autoextract.js'; export { getSkillDirForScope } from './skill-tools.js'; export { redactSkillContent, type SkillRedactionResult } from './skill-redaction.js'; export { writeSkill, deleteSkill, undoSkillWrite, type SkillWriteDeps, type WriteSkillInput, type DeleteSkillInput, type SkillWriteResult, type UndoSkillInput, type UndoSkillResult, } from './skill-write-service.js'; export { shouldDistillSkill, planSkillDistillation, SKILL_DISTILL_MIN_TOOL_CALLS, type SkillDistillationPlan, } from './skill-distillation.js'; export { assertsUnverifiedCompletion, VERIFICATION_GATE_DIRECTIVE, } from './verification-gate.js'; export { loadSkillUsage, saveSkillUsage, recordSkillUsage, forgetSkillUsage, getSkillUsagePath, type SkillUsageEntry, type SkillUsageIndex, } from './skill-usage.js'; export { retireStaleSkills, type RetireOptions, type RetireReport, } from './skill-retirement.js'; export { loadSkillHygiene, saveSkillHygiene, getSkillHygienePath, demoteSkillToDraft, restoreSkillToActive, isSkillDraft, type SkillHygieneEntry, type SkillHygieneIndex, type SkillHygieneStatus, type SkillHygieneVerdict, } from './skill-hygiene-store.js'; export { runSkillHygieneScan, judgeSkillHygiene, parseHygieneVerdict, buildHygienePrompt, loadActiveSkills, SKILL_HYGIENE_RUBRIC, type SkillForHygiene, type SkillHygieneJudgement, type SkillHygieneScanOptions, type SkillHygieneScanReport, } from './skill-hygiene.js'; export { getSkillAuditPath, loadSkillAudit, saveSkillAudit, recordAuditBadge, getAuditBadge, isSkillVerified, clearAuditBadge, shouldSkipAudit, type SkillAuditBadge, type SkillAuditIndex, type SkipAuditOptions, } from './skill-audit-store.js'; export { auditSkill, runSkillAuditBatch, synthesizeAuditTask, runSkillUnderTest, rewriteSkill, validateProposedRewrite, AUDIT_SYNTH_RUBRIC, AUDIT_REWRITE_RUBRIC, DEFAULT_VERIFY_THRESHOLD, DEFAULT_MAX_ATTEMPTS, MAX_ATTEMPTS_CAP, DEMOTE_SCORE_FLOOR, DEFAULT_MIN_CONSECUTIVE_FAILS, type SkillForAudit, type AuditTask, type SkillAuditOptions, type SkillAuditHooks, type SkillAuditOutcome, type SkillAuditReport, type RewriteValidation, } from './skill-audit.js'; export { buildComplianceDocDefinition, renderComplianceReportPdf, writeComplianceReportPdf, type PdfTemplateOverrides, } from './compliance-pdf.js'; export { watchSkillDirectory, type SkillWatcherOptions, type SkillWatcherHandle, } from './skill-watcher.js'; export { BaseConnector, type WaggleConnector, type ConnectorAction, type ConnectorResult } from './connector-sdk.js'; export { ConnectorRegistry, type AuditLogger } from './connector-registry.js'; export { GitHubConnector, SlackConnector, JiraConnector, EmailConnector, GoogleCalendarConnector, DiscordConnector, LinearConnector, AsanaConnector, TrelloConnector, MondayConnector, NotionConnector, ConfluenceConnector, ObsidianConnector, HubSpotConnector, SalesforceConnector, PipedriveConnector, AirtableConnector, GitLabConnector, BitbucketConnector, DropboxConnector, PostgresConnector, GmailConnector, GoogleDocsConnector, GoogleDriveConnector, GoogleSheetsConnector, ComposioConnector, MSTeamsConnector, OutlookConnector, OneDriveConnector, OneNoteConnector, } from './connectors/index.js'; export { IterationBudget, type IterationBudgetConfig } from './iteration-budget.js'; export { captureInteraction, getRecentLogs, isWithinBudget, type CaptureInteractionInput } from './optimization-capture.js'; export { routeMessage, type RoutingDecision } from './smart-router.js'; export { compressConversation, estimateTokens, needsCompression, pruneToolResults, splitProtectedRegions, summarizeMiddle, createDefaultCompressionConfig, type CompressionConfig, type CompressionResult, type CompressibleMessage, } from './context-compressor.js'; export { computeInputTokenBudget, getModelContextWindow, DEFAULT_HARD_MAX, DEFAULT_HEADROOM, DEFAULT_CONTEXT_WINDOW, type InputTokenBudgetOptions, } from './input-token-budget.js'; export { rankModels, OLLAMA_CATALOG, estimateMemoryGb, estimateTps, qualityScore, fitScore, type Hardware, type ModelRecommendation as CookbookModelRecommendation, type CatalogModel, type RankOptions, } from './cookbook/index.js'; export { CredentialPool, loadCredentialPool, extractStatusCode, type CredentialEntry, type CredentialPoolConfig, type PoolStatus, type VaultLike, } from './credential-pool.js'; export { shouldSuggestCapture, type CaptureCheckParams, type CaptureResult, type CaptureNotification, } from './workflow-capture.js'; export { deliverCronResult, createDefaultDeliveryPreferences, type DeliveryChannel, type DeliveryPreferences, type DeliveryMessage, type DeliveryResult, type DeliveryConnector, type DeliveryConnectorRegistry, type InAppEmitter, } from './cron-delivery-router.js'; export { detectCorrection, detectCorrectionsInHistory, type DetectedCorrection, type CorrectionDurability } from './correction-detector.js'; export { detectContradiction, type ContradictionResult } from './contradiction-detector.js'; export { recordCapabilityGap, analyzeAndRecordCorrection, recordWorkflowPattern, buildAwarenessSummary, formatAwarenessPrompt, markSummarySurfaced, type AwarenessSummary, type CapabilityGapSignal, type CorrectionSignal, type WorkflowPatternSignal, } from './improvement-detector.js'; export { lintMemoryWrite, type MemoryLintResult, type MemoryLintVerdict, } from './memory-write-lint.js'; export { detectInstalledTools, type ToolDetectionDeps, } from './tool-detection.js'; export { launchTool, runHookCommand, hookPackageFor, resolveHookRuntime, resolveWaggleRuntime, type ToolLauncherDeps, type LaunchOptions, type LaunchResult, type ObservedHandle, type HookAction, type HookCommandOptions, type HookCommandResult, type HookRuntimePaths, type WaggleRuntimePaths, } from './tool-launcher.js'; export { ToolProcessTracker, type TrackedProcess, type ToolProcessTrackerDeps, } from './tool-process-tracker.js'; export { ToolOutputBuffer, stripAnsi, type OutputTail, type ToolOutputBufferDeps, } from './tool-output-buffer.js'; export { renderGoalAncestry } from './goal-ancestry.js'; export { getToolRegistry } from './tool-registry.js'; export { loadThirdPartyManifests, type ManifestLoaderDeps } from './tool-manifest-loader.js'; export { safeFetch, assertUrlAllowed, allowLocalFromEnv, EgressBlockedError } from './url-egress-guard.js'; export { runExternalTool, buildExternalToolEnv, type ExternalRunEvent, type ExternalRunEventType, type ExternalToolRunRequest, type ExternalToolRunResult, type ExternalProcessHandle, type ExternalToolRunnerDeps, } from './external-tool-runner.js'; // SPEC P1-A — pure ExecutorRouter (A1) + static fit table & task classifier (A2). export { routeTask, type TaskCategory, type PrivacyClass, type AuthClass, type RateLimitState, type ExecutorCandidate, type RouteTask, type RouteRejection, type RouteScoreParts, type RouteScore, type RouteDecision, } from './executor-router.js'; export { EXECUTOR_FIT, DEFAULT_TASK_FIT, resolveTaskFit, buildTaskFit, classifyTask, type TaskClassification, } from './executor-fit.js';