@butlerw/vellum 0.1.13 → 0.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -89721,11 +89721,13 @@ __export(dist_exports, {
89721
89721
  AGENTS_FILE_PATTERNS: () => AGENTS_FILE_PATTERNS,
89722
89722
  AGENTS_MD_PRIORITY: () => AGENTS_MD_PRIORITY,
89723
89723
  AGENT_MODES: () => AGENT_MODES,
89724
+ AGENT_ROLES: () => AGENT_ROLES2,
89724
89725
  AGENT_STATES: () => AGENT_STATES,
89725
89726
  ALL_BUILTIN_TOOLS: () => ALL_BUILTIN_TOOLS,
89726
89727
  ALWAYS_AVAILABLE_TOOLS: () => ALWAYS_AVAILABLE_TOOLS,
89727
89728
  ANTHROPIC_KEY_PATTERN: () => ANTHROPIC_KEY_PATTERN2,
89728
89729
  APPROVAL_POLICIES: () => APPROVAL_POLICIES,
89730
+ AVAILABLE_ROLES: () => AVAILABLE_ROLES,
89729
89731
  AZURE_KEY_PATTERN: () => AZURE_KEY_PATTERN,
89730
89732
  AbortError: () => AbortError,
89731
89733
  AdaptiveBackpressure: () => AdaptiveBackpressure,
@@ -90143,6 +90145,7 @@ __export(dist_exports, {
90143
90145
  RetryAttemptEventSchema: () => RetryAttemptEventSchema,
90144
90146
  RetryCompletedEventSchema: () => RetryCompletedEventSchema,
90145
90147
  RetryableQuotaError: () => RetryableQuotaError,
90148
+ RoleManager: () => RoleManager,
90146
90149
  RoleSchema: () => RoleSchema,
90147
90150
  RotationManager: () => RotationManager,
90148
90151
  SAFE_PATTERNS: () => SAFE_PATTERNS,
@@ -90528,6 +90531,7 @@ __export(dist_exports, {
90528
90531
  createResilienceEventBus: () => createResilienceEventBus,
90529
90532
  createResourceQuotaManager: () => createResourceQuotaManager,
90530
90533
  createResultAggregator: () => createResultAggregator,
90534
+ createRoleManager: () => createRoleManager,
90531
90535
  createSession: () => createSession,
90532
90536
  createSessionAgentsIntegration: () => createSessionAgentsIntegration,
90533
90537
  createSessionRetry: () => createSessionRetry,
@@ -101415,6 +101419,9 @@ function createModeManager(config) {
101415
101419
  function createModeRegistry() {
101416
101420
  return new ModeRegistryImpl();
101417
101421
  }
101422
+ function createRoleManager(options) {
101423
+ return new RoleManager(options);
101424
+ }
101418
101425
  function isNodeError4(error2) {
101419
101426
  return error2 instanceof Error && "code" in error2;
101420
101427
  }
@@ -105431,7 +105438,7 @@ function createWatcherRegistry(logger5) {
105431
105438
  function createWorkflowLoader(options) {
105432
105439
  return new WorkflowLoader(options);
105433
105440
  }
105434
- var import_picomatch, import_picomatch2, import_picomatch3, import_picomatch4, import_ignore, import_picomatch5, import_picomatch6, import_picomatch7, import_picomatch8, import_picomatch9, import_picomatch10, TOML, import_sdk_node, import_sdk_trace_node, import_picomatch11, DEFAULT_EXPANSION_OPTIONS, MentionErrorCode, handleFileMention, SKIP_DIRS, handleFolderMention, handleUrlMention, handleGitDiffMention, handleProblemsMention, handleTerminalMention, SEARCHABLE_EXTENSIONS, SEARCH_SKIP_DIRS, handleCodebaseMention, mentionHandlers, MAX_SELECTION_LENGTH, TRUNCATION_SUFFIX, ContextBuilder, PromptError, LOG_LEVEL_PRIORITY, Logger2, tuiModeActive, COLORS, LEVEL_COLORS, ConsoleTransport, JsonTransport, RotatingFileTransport, FileTransport, DEFAULT_DEBOUNCE_MS, WATCH_DIRECTORIES, PromptWatcher, MAX_PROMPT_SIZE, AGENT_ROLES, PROMPT_LAYER_SOURCES, PromptLayerSourceSchema, PromptPrioritySchema, ActiveFileSchema, GitStatusSchema, TaskStatusSchema, TaskSchema, PromptSizeError, VARIABLE_PATTERN, PromptBuilder, PROMPT_SOURCE_PRIORITY, SOURCE_DIRECTORIES, DEPRECATED_SOURCES, CATEGORY_SUBDIRS, PromptDiscovery, SHELL_CONFIGS, EnvironmentManager, ShellTypeSchema, ShellDetectionResultSchema, ShellConfigSchema, EnvOperationSchema, EnvPatchEntrySchema, EnvironmentPatchSchema, CONFIG_MARKERS, POWERSHELL_MARKERS, ConfigPatchOperationSchema, ShellConfigPatchSchema, PatchResultSchema, ShellSetupOptionsSchema, ShellSetupResultSchema, ShellConfigPatcher, VARIABLE_PATTERN2, BUILTIN_VARIABLES, PromptParser, DEFAULT_MAX_CACHE_SIZE, DEFAULT_CACHE_TTL_MS2, PromptLoader, AgentLevel, AgentLevelSchema, FileRestrictionsSchema, VIBE_AGENT, PLAN_AGENT, SPEC_ORCHESTRATOR, BUILT_IN_AGENTS, AgentFactory, DuplicateAgentError, AgentRegistry, AGENTS_MD_PRIORITY, MAX_AGENTS_MD_LENGTH, AgentsMdIntegration, DEFAULT_CLEANUP_INTERVAL_MS, ModelAvailabilityService, CONFIG_DEFAULTS, TimeoutError3, EventBus, ErrorSeverity, LegacyErrorSeverity, VellumError, CircuitOpenError, circuitOpen, circuitClose, circuitHalfOpen, DEFAULT_FAILURE_THRESHOLD, DEFAULT_RESET_TIMEOUT_MS, DEFAULT_WINDOW_MS, DEFAULT_HALF_OPEN_MAX_ATTEMPTS, CircuitBreaker, CircuitBreakerRegistry, DEFAULT_TTL_MS, CacheFallback, ProviderFallbackChain, RoleSchema, PartBaseSchema, ToolStatePendingSchema, ToolStateRunningSchema, ToolStateCompletedSchema, ToolStateErrorSchema, ToolStateSchema, TextPartSchema, ToolPartSchema, ToolResultPartSchema, ReasoningPartSchema, FilePartSchema, ImagePartSchema, MessageContentSchema, MessageSchema, Parts, ToolStates, messageCreated, messageUpdated, toolStart, toolStateChange, toolEnd, streamToken, streamEnd, sessionStart, sessionEnd, errorEvent, credentialResolved, credentialStored, credentialRotated, credentialNotFound, AgentStateEnum, TerminationReasonEnum, agentStateChange, agentText, agentThinking, agentToolStart, agentToolEnd, agentTerminated, agentShutdownComplete, gitSnapshotCreated, gitSnapshotRestored, gitSnapshotReverted, Events, ErrorNoTelemetry, GlobalErrorHandler, NETWORK_ERROR_CODES, NETWORK_ERROR_MESSAGES, NetworkError, TERMINAL_THRESHOLD_MS, DEFAULT_RETRY_DELAY_MS, TERMINAL_PATTERNS, RETRYABLE_PATTERNS, TerminalQuotaError, RetryableQuotaError, AbortError, DEFAULT_RETRY_OPTIONS, DEFAULT_FLUSH_INTERVAL_MS, DEFAULT_MAX_BUFFER_SIZE, BufferedErrorTelemetry, DEFAULT_COOLDOWN_THRESHOLDS, DEFAULT_PRUNE_INTERVAL_MS, MAX_EVENT_AGE_MS, WINDOW_DURATIONS, UsageTracker, WebErrorCode, WebError, PrivateIPError, DNSRebindingError, CloudMetadataError, UnsafeRedirectError, RateLimitError, DomainBlockedError, ConnectionError, BrowserError, CDPConnectionError, CancelledError, CancellationToken, PERMISSION_TOOL_GROUP_NAMES, PermissionToolGroupNameSchema, PermissionToolGroupConfigSchema, PERMISSION_TOOL_GROUPS, READ_ONLY_FILESYSTEM_TOOLS, VIBE_MODE_GROUPS, PLAN_MODE_GROUPS, SPEC_MODE_GROUPS, TOOL_GROUP_NAMES, BUILTIN_TOOL_GROUPS, ALWAYS_AVAILABLE_TOOLS, MODE_TOOL_GROUPS, FileAccessSchema, FileRestrictionSchema, ToolGroupEntrySchema, AgentModeSchema, AGENT_MODES, ToolPermissionsSchema, ModeConfigSchema, DEFAULT_MAX_CONCURRENT_SUBAGENTS, ExtendedModeConfigSchema, PROMPT_PLAN, PROMPT_CODE, PROMPT_DRAFT, PROMPT_DEBUG, PROMPT_ASK, MODE_CONFIGS, ApprovalPolicySchema, APPROVAL_POLICIES, SandboxPolicySchema, SANDBOX_POLICIES, APPROVAL_TO_TRUST_MAPPING, CODING_MODES, CodingModeSchema, CodingModeConfigSchema, VIBE_MODE, PLAN_MODE, SPEC_MODE, BUILTIN_CODING_MODES, SPEC_PHASES, SpecPhaseSchema, SPEC_PHASE_CONFIG, MessagePriority, DEFAULT_THRESHOLDS, DEFAULT_PRIORITY, CompactionErrorCode, CompactionError, TruncationPolicySchema, SummaryModelFallbackSchema, ProtectedToolsSchema, CustomThresholdsSchema, ContextManagerConfigSchema, DEFAULT_CONFIG, MODEL_RESERVE_THRESHOLDS, DEFAULT_SYSTEM_RESERVE, DEFAULT_MAX_SIZE2, DEFAULT_TTL, CachedTokenizer, DEFAULT_WIDTH, DEFAULT_HEIGHT, MAX_DIMENSION, MIN_TOKENS, ANTHROPIC_DIVISOR, ANTHROPIC_MAX_DIMENSION, ANTHROPIC_MAX_MEGAPIXELS, OPENAI_LOW_DETAIL_TOKENS, OPENAI_HIGH_DETAIL_BASE, OPENAI_TILE_TOKENS, OPENAI_TILE_SIZE, OPENAI_MAX_LONG_SIDE, OPENAI_SHORT_SIDE_TARGET, GEMINI_FIXED_TOKENS, AnthropicImageCalculator, OpenAIImageCalculator, GeminiImageCalculator, DefaultImageCalculator, DEFAULT_RECENT_COUNT, DEFAULT_MAX_OUTPUT_CHARS, DEFAULT_TRUNCATION_MARKER, PRUNE_MINIMUM_TOKENS, PRUNE_PROTECT_TOKENS, DEFAULT_PROTECTED_TOOLS, DEFAULT_SUMMARY_PROMPT, SUMMARY_PREFIX, DEFAULTS, NonDestructiveCompressor, CondensedMessageStore, DEFAULTS2, ContextGrowthValidator, DEEPSEEK_PATTERNS, DEFAULT_THINKING_PREFIX, REASONING_BLOCK_TEMPLATE, ReasoningBlockHandler, THINKING_BLOCK_PATTERN, CONCLUSION_PATTERNS, DEFAULT_TIMEOUT_MS, DEFAULT_MAX_RETRIES, DEFAULT_RETRY_DELAY_MS2, FallbackChain, DEFAULT_MAX_CHECKPOINTS, DEFAULT_MIN_CHECKPOINT_INTERVAL, DEFAULT_AUTO_CHECKPOINT, CheckpointManager, checkpointCounter, THRESHOLD_PROFILES, BUILT_IN_MODEL_THRESHOLDS, customModelThresholds, MODEL_THRESHOLDS, DEFAULT_PROFILE_THRESHOLDS, MIN_CONDENSE_THRESHOLD, MAX_CONDENSE_THRESHOLD, DEFAULT_CONDENSE_THRESHOLD, DEFAULT_RECENT_COUNT2, DEFAULT_MAX_CHECKPOINTS2, DEFAULT_SYSTEM_RESERVE2, DEFAULT_COMPRESSION_RATIO, AGGRESSIVE_TRUNCATE_TARGET, EMERGENCY_KEEP_COUNT, COMPACTION_WARNING_THRESHOLD, AutoContextManager, DEFAULT_FEATURE_FLAGS, ENV_FLAG_MAP, DISABLE_PREFIX, DEFAULT_IGNORE_PATTERNS, IgnoreManager, TIME_UNITS, DEFAULT_SUMMARY_WINDOW_MS, PROVIDER_OVERRIDES, customOverrides, AutomaticInstructionsMatcher, AGENTS_FILE_PATTERNS, DEFAULT_STOP_BOUNDARIES, AgentsFileDiscovery, AgentsErrorCode, AgentsError, AgentsParseError, ImportSecurityError, DEFAULT_MAX_FILE_SIZE, GLOBAL_RULES_DIR, MODE_RULES_PREFIX, CONFIG_DIR, ExternalRulesLoader, DEFAULT_MERGE_CONFIG, DEFAULT_SCOPE_CONFIG, DEFAULT_SECURITY_CONFIG, ImportSecurityValidator, DEFAULT_OPTIONS, DirectoryImportResolver, DEFAULT_OPTIONS2, FileImportResolver, DEFAULT_OPTIONS3, IMPORT_REGEX, ImportParser, HEADER_REGEX, STANDARD_SECTION_NAMES, TOOL_ITEM_REGEX, TOOL_PATTERN_REGEX, AgentsParser, DEFAULT_CACHE_TTL_MS22, AgentsLoader, INSTRUCTIONS_PRIORITY, METADATA_PRIORITY, SECTION_HEADER, SOURCE_ATTRIBUTION_TEMPLATE, AgentsPromptBuilder, TOOL_GROUPS, ToolAllowlistFilter, DEFAULT_DEBOUNCE_MS2, DEFAULT_MAX_PARENT_DEPTH, AgentsWatcher, DEFAULT_CACHE_TTL_MS3, DEFAULT_DEBOUNCE_MS3, SessionAgentsIntegration, MODEL_PRICING, MILLION, CostService, CostLimitHandler, CostLimitIntegration, DEFAULT_DOOM_LOOP_OPTIONS, LEGACY_MODE_MAP, LEGACY_MODES, VALID_CODING_MODES, InvalidModeError, DEFAULT_ASK_TIMEOUT_MS, PermissionAskService, DEFAULT_AUTO_APPROVAL_REQUEST_LIMIT, DEFAULT_AUTO_APPROVAL_COST_LIMIT, DEFAULT_AUTO_APPROVAL_LIMIT, AutoApprovalLimitsHandler, Wildcard, SAFE_PATTERNS, DANGEROUS_PATTERNS, CommandSafetyClassifier, createIgnore, DEFAULT_PROTECTED_PATTERNS, ProtectedFilesManager, PROTECTED_FILE_INDICATOR, DANGEROUS_PIPE_PATTERNS, DANGEROUS_CHAIN_PATTERNS, DangerousOperationDetector, PermissionCheckEventSchema, PermissionGrantedEventSchema, PermissionDeniedEventSchema, TrustChangedEventSchema, EVENT_SCHEMAS, PermissionEventBus, SessionPermissionManager, TrustedFoldersManager, PermissionLevelSchema, PERMISSION_LEVELS, TrustPresetSchema, TRUST_PRESETS, PatternPermissionSchema, PermissionConfigSchema, PermissionInfoSchema, PermissionResponseSchema, PERMISSION_RESPONSES, PermissionDecisionResultSchema, PermissionRecordSchema, TRUST_PRESET_CONFIGS, TRUST_MODE_INFO, TRUST_ENV_VAR, TRUST_ORDER, TrustPresetManager, DefaultPermissionChecker, ERROR_CLASSIFICATIONS, MemoryEntryTypeSchema, MemoryEntrySchema, ProjectMemorySchema, MemoryConfigSchema, DEFAULT_MEMORY_CONFIG, ProjectMemoryService, PROTECTED_DIR_NAMES, SENSITIVE_ENV_VARS, SnapshotErrorCode, SnapshotError, SHADOW_DIR_NAME, VELLUM_DIR, DEFAULT_COMMIT_MESSAGE, Snapshot, SessionTextPartSchema, SessionToolPartSchema, SessionToolResultPartSchema, SessionReasoningPartSchema, SessionFilePartSchema, SessionImagePartSchema, SessionMessagePartSchema, SessionRoleSchema, SessionMessageMetadataSchema, SessionMessageSchema, SessionParts, SessionStatusSchema, SessionModeSchema, SessionMetadataSchema, SessionCheckpointSchema, SessionSchema, DEFAULT_COMPACTION_CONFIG, DEFAULT_AUTO_COMPACTION_CONFIG, CompactionService, ROLE_EMOJIS, ROLE_NAMES, ROLE_COLORS, DEFAULT_OPTIONS4, ExportService, DEFAULT_MAX_ENTRIES, DEFAULT_HISTORY_FILE, SENSITIVE_PATTERNS, CommandHistory, SessionFilterSchema, SessionSortFieldSchema, SortDirectionSchema, SessionSortSchema, PaginationOptionsSchema, PaginatedResultSchema, DEFAULT_PAGE, DEFAULT_PAGE_SIZE, DEFAULT_SORT, SessionListService, MAX_OUTPUT_TOKENS, DEFAULT_STREAM_TIMEOUT_MS, StreamConfigSchema, LLM, DEFAULT_PERSISTENCE_CONFIG, PersistenceManager, RecoveryLogSchema, RecoveryErrorType, RecoveryError, RECOVERY_FILE_EXTENSION, RecoveryManager, SessionResumeService, ResumeContextSchema, ResumeOptionsSchema, SessionSearchQuerySchema, SessionSearchResultSchema, DEFAULT_OPTIONS5, RetryAbortedError, DEFAULT_INDEX_FILE, MAX_CONTENT_LENGTH, MAX_TOOL_OUTPUT_LENGTH, DEFAULT_SEARCH_LIMIT, MAX_SEARCH_RESULTS, SNIPPET_CONTEXT_LENGTH, RECENCY_BOOST_FACTOR, MINISEARCH_OPTIONS, SearchService, gzip2, gunzip2, StorageErrorType, StorageError, StorageConfigSchema, StorageManager, MAX_SUMMARY_LENGTH, MAX_TITLE_LENGTH, DEFAULT_TITLES, DEFAULT_SUMMARY_CONFIG, SessionSummaryService, MAX_HISTORY_SIZE, SessionSwitcher, ThinkingHandler, SessionTodoStatusSchema, SessionTodoItemSchema, SessionTodoOperationSchema, SKILL_SECTION_NAMES, SKILL_MANIFEST_FILENAME, SkillParser, skillParser, SKILL_SOURCE_PRIORITY, TRIGGER_TYPE_MULTIPLIERS, SKILL_NAME_MIN_LENGTH, SKILL_NAME_MAX_LENGTH, SKILL_NAME_PATTERN, SkillDiscovery, ROO_CODE_MODE_MAPPINGS, ModeSkillDiscovery, skillDiscovery, SkillLoader, skillLoader, SkillMatcher, skillMatcher, SECTION_PRIORITIES, MAX_SKILL_SECTION_LENGTH, SkillManager, StreamCollector, DEFAULT_NEWLINE_GATE_CONFIG, NewlineGate, TextBlockProcessor, ReasoningBlockProcessor, StreamProcessor, ToolKindSchema, defaultExecutionLogger, PermissionDeniedError, ToolNotFoundError, ToolExecutionError, ToolTimeoutError, ToolAbortedError, DEFAULT_TIMEOUT_MS2, SHELL_TIMEOUT_MS, ToolExecutor, MCPConnectionError, MCPProtocolError, MCPTimeoutError, DEFAULT_MCP_TIMEOUT_MS, DEFAULT_TOOL_PREFIX, MCPProxyImpl, _internal, ToolRegistryImpl, DEFAULT_STRATEGIES, DEFAULT_CONFIDENCE_THRESHOLD, _internal2, DEFAULT_MAX_BUFFER, applyDiffParamsSchema, applyDiffTool, applyPatchParamsSchema, applyPatchTool, askFollowupQuestionParamsSchema, askFollowupQuestionTool, attemptCompletionParamsSchema, attemptCompletionTool, DEFAULT_TIMEOUT, bashParamsSchema, bashTool, DEFAULT_CONCURRENCY, MAX_CONCURRENCY, batchOperationSchema, batchParamsSchema, toolRegistryRef, batchTool, IPV4_PRIVATE_RANGES, IPV6_PRIVATE_PREFIXES, CLOUD_METADATA_ENDPOINTS, BrowserActionSchema, browserParamsSchema, browserInstance, pageInstance, playwrightModule, browserTool, ResponseCache, DEFAULT_MAX_RESULTS, CONTEXT_LINES, codebaseSearchParamsSchema, IGNORED_DIRS, BINARY_EXTENSIONS, STOP_WORDS, codebaseSearchTool, DEFAULT_MAX_TURNS, delegateAgentParamsSchema, delegateAgentTool, DocSourceSchema, docLookupParamsSchema, docLookupTool, exampleReadFileTool, exampleWriteFileTool, DEFAULT_MAX_FILES, DEFAULT_IGNORE_DIRS, globParamsSchema, globTool, insertAtLineParamsSchema, insertAtLineTool, StoredPermissionDataSchema, PermissionStorage, AlwaysAllowManager, LSP_TOOL_PERMISSIONS, READ_ONLY_OPERATIONS, WRITE_INDICATORS, protectedFilesManager, DEFAULT_MAX_DEPTH2, listDirParamsSchema, MAX_ENTRIES, listDirTool, editOperationSchema, multiEditParamsSchema, multiEditTool, MAX_FILE_SIZE_BYTES, WARNING_FILE_SIZE_BYTES, CHARS_PER_TOKEN, readFileParamsSchema, readFileTool, DEFAULT_MAX_FILES2, DEFAULT_MAX_SIZE_PER_FILE, DEFAULT_IGNORE_DIRS2, readManyFilesParamsSchema, readManyFilesTool, MEMORY_BASE_PATH, DEFAULT_NAMESPACE, KEY_PATTERN, recallMemoryParamsSchema, recallMemoryTool, MEMORY_BASE_PATH2, DEFAULT_NAMESPACE2, KEY_PATTERN2, saveMemoryParamsSchema, saveMemoryTool, DEFAULT_TIMEOUT2, GitGrepBackend, GitGrepStateTracker, GitGrepError, DEFAULT_EXCLUDES, BINARY_EXTENSIONS2, MAX_FILE_SIZE, LOCK_FILE_PATTERNS, JavaScriptBackend, APP_NAME, RIPGREP_VERSION, RIPGREP_TARGETS, DEFAULT_TIMEOUT3, VERSION_REGEX, BinaryManager, defaultManager, DEFAULT_EXCLUDES2, DEFAULT_TIMEOUT4, SearchStateTracker, RipgrepBackend, RipgrepError, StrategySelector, defaultSelector, SearchFacade, defaultFacade, searchAndReplaceParamsSchema, searchAndReplaceTool, DEFAULT_MAX_RESULTS2, CONTEXT_LINES2, BackendTypeSchema, searchFilesParamsSchema, searchFilesTool, DEFAULT_TIMEOUT5, shellParamsSchema, shellTool, skillParamsSchema, sharedManager, skillConfig, skillTool, strategySchema, smartEditParamsSchema, smartEditTool, TODO_FILE_PATH, todoManageParamsSchema, todoManageTool, TODO_FILE_PATH2, TodoStatusSchema, TodoWriteItemSchema, todoWriteParamsSchema, todoWriteTool, DEFAULT_TIMEOUT6, MAX_RESPONSE_SIZE, responseCache, webFetchParamsSchema, webFetchTool, DEFAULT_MAX_RESULTS3, DEFAULT_TIMEOUT7, DUCKDUCKGO_HTML_URL, SERPAPI_BASE_URL, webSearchParamsSchema, webSearchTool, writeFileParamsSchema, writeFileTool, ALL_BUILTIN_TOOLS, UnifiedToolContainer, Semaphore, GIT_TIMEOUTS, MAX_OUTPUT_LINES, TRUNCATION_MARKER, FilePathSchema, BranchNameSchema, GitDiffInputSchema, gitDiffTool, DEFAULT_LIMIT, MAX_LIMIT, FIELD_SEPARATOR, COMMIT_SEPARATOR, GitLogInputSchema, gitLogTool, GitStatusInputSchema, gitStatusTool, GitBranchInputSchema, GitCheckoutInputSchema, GitMergeInputSchema, gitBranchTool, gitCheckoutTool, gitMergeTool, GitCommitInputSchema, gitCommitTool, GitConflictInfoInputSchema, GitResolveConflictInputSchema, gitConflictInfoTool, gitResolveConflictTool, GitStashInputSchema, gitStashTool, GitFetchInputSchema, GitPullInputSchema, GitPushInputSchema, GitRemoteInputSchema, gitFetchTool, gitPullTool, gitPushTool, gitRemoteTool, DEFAULT_TARGET_BRANCH, MAX_COMMITS_IN_BODY, FIELD_SEPARATOR2, COMMIT_SEPARATOR2, GitGeneratePrInputSchema, gitGeneratePrTool, gitTools, DEFAULT_MAX_LENGTH2, DEFAULT_PRESERVE_TAIL, DEFAULT_PRESERVE_HEAD_RATIO, DEFAULT_STUCK_DETECTOR_CONFIG, LLMStuckDetector, DEFAULT_LOOP_DETECTION_CONFIG, SystemPromptConfigSchema, AgentStateSchema, AGENT_STATES, VALID_TRANSITIONS, DEFAULT_STREAMING_LOOP_CONFIG, StreamingLoopDetector, TerminationReason, DEFAULT_TERMINATION_LIMITS, TerminationChecker, AgentLoop, FileMemoryConfigSchema, DetectionResultSchema, ComplexityResultSchema, VIBE_KEYWORDS, PLAN_KEYWORDS, SPEC_KEYWORDS, HIGH_COMPLEXITY_KEYWORDS, MEDIUM_COMPLEXITY_KEYWORDS, FILE_COUNT_PATTERNS, ModeDetector, ComplexityAnalyzer, BaseModeHandler, PlanModeHandler, PhaseStatusSchema, SPEC_PHASES2, SpecPhaseSchema2, PhaseStateSchema, SpecWorkflowStateSchema, PhaseResultSchema, WorkflowProgressSchema, CHECKPOINT_DIR, DEFAULT_KEEP_COUNT, CheckpointReasonSchema, CheckpointSchema, CheckpointManager2, HandoffExecutor, PHASE_TRANSITIONS, SKIPPABLE_PHASES, PHASE_EXECUTION_MODE, StateMachine, TEMPLATE_SEARCH_PATHS, PHASE_TEMPLATES, TemplateFrontmatterSchema, TemplateLoader, DEFAULT_MAX_RETRIES2, SpecWorkflowEngine, SpecModeHandler, VibeModeHandler, YamlAgentLevelSchema, YamlModeConfigSchema, ModeFileNotFoundError, ModeValidationError, ModeLoaderImpl, ModeSwitchResultSchema, NoOpActivityTracker, SimpleActivityTracker, ModeSwitcher, TypedEventEmitter, ModeManager, CUSTOM_AGENT_PREFIX, ModeRegistryImpl, SNAPSHOT_VERSION, DEFAULT_SESSION_DIR, FileStatePersister, MemoryStatePersister, DEFAULT_OPTIONS6, GracefulShutdownHandler, Agent, SLUG_PATTERN, MAX_SLUG_LENGTH, MAX_NAME_LENGTH, MAX_DESCRIPTION_LENGTH, TriggerPatternTypeSchema, TriggerPatternSchema, WhenToUseSchema, AgentRestrictionsSchema, AgentHooksSchema, AgentCoordinationSchema, AgentSettingsSchema, CustomAgentDefinitionSchema, AgentErrorCode, AgentError, AgentValidationError, AgentNotFoundError, AgentCircularInheritanceError, AgentParseError, SUPPORTED_EXTENSIONS, AgentLoader, MAX_INHERITANCE_DEPTH, InheritanceResolver, DEFAULT_DEBOUNCE_MS4, AGENT_GLOB_PATTERNS, DiscoverySource, AgentDiscovery, ARCHITECT_SYSTEM_PROMPT, specArchitectAgent, REQUIREMENTS_SYSTEM_PROMPT, specRequirementsAgent, RESEARCHER_SYSTEM_PROMPT, specResearcherAgent, TASKS_SYSTEM_PROMPT, specTasksAgent, VALIDATOR_SYSTEM_PROMPT, specValidatorAgent, SPEC_SPAWNABLE_AGENTS, CustomAgentRegistry, ROUTING_WEIGHTS, MIN_ROUTING_SCORE, EXPLICIT_INVOCATION_PATTERN, PatternCache, AgentRouter, BuiltinTargetSchema, CustomAgentTargetSchema, CustomModeTargetSchema, McpTargetSchema, DelegationTargetSchema, TaskContextSchema, TaskConstraintsSchema, TaskPacketSchema, DelegateTaskContextSchema, DelegateTaskParamsSchema, DelegateTaskResultSchema, DEFAULT_DELEGATION_TIMEOUT, WorkerDelegationError, defaultHandler, delegationHandler, delegateTaskTool, TaskStatusSchema2, PartialFailureStrategySchema, TaskResultSchema, AggregatedResultSchema, DefaultResultAggregator, ApprovalRequestSchema, ApprovalDecisionSchema, WORKER_TOOL_SETS, WorkerPermissionWrapper, WorkerToolBridge, promptLoader, WORKER_PROMPTS, DEFAULT_CONFIG2, SubtaskDependencySchema, EstimatedEffortSchema, SubtaskDefinitionSchema, DecompositionResultSchema, TaskComplexitySchema, TaskAnalysisSchema, IMPLEMENT_KEYWORDS, TEST_KEYWORDS, DOCUMENT_KEYWORDS, DEPLOY_KEYWORDS, REFACTOR_KEYWORDS, REVIEW_KEYWORDS, KEYWORD_TO_AGENT, ALL_KEYWORDS, TaskRouterImpl, SPEC_ROUTING_RULES, MAX_DELEGATION_DEPTH, DEFAULT_MAX_CONCURRENT_SUBAGENTS2, DEFAULT_TASK_TIMEOUT, OrchestratorCoreImpl, HandoffRequestSchema, HandoffResultSchema, ApprovalRouterImpl, WORKER_BLOCKED_TOOLS, FilteredToolRegistryImpl, ACCESS_PRIORITY, USAGE_TO_QUOTA_MAP, DEFAULT_QUOTA, DEFAULT_ROOT_PERMISSIONS, SubsessionManagerImpl, UnknownWorkerError, DuplicateWorkerError, analystWorker, architectWorker, coderWorker, devopsWorker, qaWorker, researcherWorker, securityWorker, writerWorker, BUILTIN_WORKERS, logger22, PROJECT_COMMANDS_DIR, USER_COMMANDS_DIR, YAML_EXTENSIONS, TS_EXTENSIONS, SUPPORTED_EXTENSIONS2, YamlUserCommandSchema, DefaultCommandTrustStore, UserCommandLoader, logger3, PROJECT_COMMANDS_DIR2, USER_COMMANDS_DIR2, BUILTIN_COMMANDS, CommandLoader, CredentialTypeSchema, CredentialSourceSchema, MCP_CREDENTIAL_PREFIX, CredentialMetadataSchema, CredentialSchema, CredentialInputSchema, CredentialRefSchema, CredentialStoreErrorCodeSchema, BaseCredentialConfigSchema, ApiKeyCredentialSchema, OAuthTokenCredentialSchema, BearerTokenCredentialSchema, ServiceAccountCredentialSchema, CertificateCredentialSchema, ConfigCredentialSchema, ProviderNameSchema, LLMProviderSchema, PermissionModeSchema, PermissionSchema, AgentConfigSchema2, LogLevelSchema, TimeoutsConfigSchema, LimitsConfigSchema, CircuitBreakerConfigSchema, ThinkingConfigSchema, DiffViewModeSchema, ConfigSchema, CONFIG_FILE_NAMES, ENV_MAPPINGS, shownDeprecationWarnings, PROVIDER_DISPLAY_NAMES, developmentConfig, productionConfig, testConfig, ConfigManager, BLOCKED_PATHS, MONOREPO_INDICATORS, TrustManager, DomainControlSchema, RateLimitSchema, CacheConfigSchema, BrowserConfigSchema, SecurityConfigSchema, WebBrowsingConfigSchema, ContextManager, SecureString, SCRYPT_PARAMS, SALT_LENGTH, IV_LENGTH, FORMAT_VERSION, SECURE_FILE_MODE, EncryptedFileStore, PROVIDER_ENV_VARS, EnvCredentialStore, SERVICE_NAME, KeychainStore, FORCE_FILE_STORAGE_ENV, HybridCredentialStore, DEFAULT_CACHE_TTL_MS4, STORE_PRIORITIES, CredentialResolver, CredentialManager, CredentialProviderSchema, ANTHROPIC_KEY_PATTERN2, OPENAI_KEY_PATTERN2, OPENAI_PROJECT_KEY_PATTERN2, GOOGLE_KEY_PATTERN2, AZURE_KEY_PATTERN, VERTEX_OAUTH_TOKEN_PATTERN, COHERE_KEY_PATTERN, MISTRAL_MIN_KEY_LENGTH, CREDENTIAL_FORMATS, CredentialValidationService, defaultService, RotationManager, DEFAULT_CONFIG3, RefreshTimer, AuditOperationSchema, AuditLogEntrySchema, CredentialAuditLogger, HUNK_HEADER_REGEX, DIFF_HEADER_REGEX, OLD_FILE_REGEX, NEW_FILE_REGEX, GitSnapshotLock, globalSnapshotLock, GitOperations, GitSnapshotService, FileChangeTypeSchema, GitFileChangeSchema, GitPatchSchema, GitFileDiffSchema, GitSnapshotConfigSchema, GitSnapshotRecordSchema, DiffLineTypeSchema, DiffLineSchema, DiffHunkSchema, FormattedDiffSchema, Token, Container2, Tokens, uncaughtExceptionHandler, unhandledRejectionHandler, MetricsCollector, collector, llmRequestsTotal, llmRequestErrors, promptTokensTotal, completionTokensTotal, llmRequestDuration, memoryUsageBytes, activeConnections, OnboardingStepSchema, ONBOARDING_STEPS, ONBOARDING_STEP_CONFIG, OnboardingStateSchema, INITIAL_ONBOARDING_STATE, ONBOARDING_PROVIDERS, PROVIDER_INFO, MODE_INFO, QUICK_START_TIPS, NEXT_STEPS, API_KEY_PATTERNS, API_KEY_FORMAT_HINTS, VALID_MODES, WELCOME_MESSAGE, SETUP_OVERVIEW, QUICK_TIPS, OnboardingWizard, SENSITIVE_PATTERNS2, SENSITIVE_FIELD_NAMES, TELEMETRY_EXCLUDED_KEYS, PrivacyFilter, TelemetrySanitizer, PRIORITY_WEIGHTS, DEFAULT_BUCKET_CONFIG, DEFAULT_RATE_LIMITER_CONFIG, TokenBucket, RateLimiter, RateLimitThrottleEventSchema, RateLimitExceededEventSchema, RetryAttemptEventSchema, RetryCompletedEventSchema, EVENT_SCHEMAS2, ResilienceEventBus, globalResilienceEventBus, BUILTIN_SKILL_NAMES, DEFAULT_DEBOUNCE_MS5, SKILL_GLOB_PATTERN, MODE_SKILL_GLOB_PATTERN, SkillWatcher, skillWatcher, DEFAULT_BACKPRESSURE_CONFIG, ThroughputTracker, LatencyTracker, BackpressureController, DEFAULT_ADAPTIVE_CONFIG, AdaptiveBackpressure, CitationCollector, StreamingHookManager, LOG_LEVELS, StreamLogger, MCPStreamHandler, LLM_SEMANTIC_CONVENTIONS, TelemetryInstrumentor, sdk, TutorialStepIdSchema, TUTORIAL_STEPS, InteractiveTypeSchema, TutorialProgressSchema, INITIAL_TUTORIAL_PROGRESS, QUICK_REFERENCE_CARD, COMPLETION_CONTENT, completionStep, FIRST_TASK_CONTENT, firstTaskStep, MODES_CONTENT, modesIntroStep, SKILLS_CONTENT, skillsIntroStep, WELCOME_CONTENT, welcomeStep, TUTORIAL_STEP_MAP, TutorialEngine, UpdateChannelSchema, UPDATE_CHANNELS, SemVerSchema, UpdateInfoSchema, VersionCheckResultSchema, UpdateResultSchema, VersionCheckCacheSchema, UpdateConfigSchema, DEFAULT_UPDATE_CONFIG, Updater, VersionChecker, DEFAULT_VISION_CAPABILITIES, COMMON_VISION_CAPABILITIES, MAX_DIMENSION2, DEFAULT_MAX_FILE_SIZE2, EXTENSION_TO_MIME, MAGIC_BYTES, execAsync22, VisionService, visionServiceInstance, configWatcherPreset, agentsWatcherPreset, skillsWatcherPreset, sourceWatcherPreset, testWatcherPreset, docsWatcherPreset, WATCHER_PRESETS, DEFAULT_WATCH_IGNORE_PATTERNS, DEFAULT_DEBOUNCE_MS6, DEFAULT_STABILITY_THRESHOLD, STABILITY_POLL_INTERVAL, FileWatcher, WatcherRegistry, ProgressReporter, TaskExecutor, CoderTaskTracker, logger4, PROJECT_WORKFLOWS_DIR, USER_WORKFLOWS_DIR, WorkflowLoader;
105441
+ var import_picomatch, import_picomatch2, import_picomatch3, import_picomatch4, import_ignore, import_picomatch5, import_picomatch6, import_picomatch7, import_picomatch8, import_picomatch9, import_picomatch10, TOML, import_sdk_node, import_sdk_trace_node, import_picomatch11, DEFAULT_EXPANSION_OPTIONS, MentionErrorCode, handleFileMention, SKIP_DIRS, handleFolderMention, handleUrlMention, handleGitDiffMention, handleProblemsMention, handleTerminalMention, SEARCHABLE_EXTENSIONS, SEARCH_SKIP_DIRS, handleCodebaseMention, mentionHandlers, MAX_SELECTION_LENGTH, TRUNCATION_SUFFIX, ContextBuilder, PromptError, LOG_LEVEL_PRIORITY, Logger2, tuiModeActive, COLORS, LEVEL_COLORS, ConsoleTransport, JsonTransport, RotatingFileTransport, FileTransport, DEFAULT_DEBOUNCE_MS, WATCH_DIRECTORIES, PromptWatcher, MAX_PROMPT_SIZE, AGENT_ROLES, PROMPT_LAYER_SOURCES, PromptLayerSourceSchema, PromptPrioritySchema, ActiveFileSchema, GitStatusSchema, TaskStatusSchema, TaskSchema, PromptSizeError, VARIABLE_PATTERN, PromptBuilder, PROMPT_SOURCE_PRIORITY, SOURCE_DIRECTORIES, DEPRECATED_SOURCES, CATEGORY_SUBDIRS, PromptDiscovery, SHELL_CONFIGS, EnvironmentManager, ShellTypeSchema, ShellDetectionResultSchema, ShellConfigSchema, EnvOperationSchema, EnvPatchEntrySchema, EnvironmentPatchSchema, CONFIG_MARKERS, POWERSHELL_MARKERS, ConfigPatchOperationSchema, ShellConfigPatchSchema, PatchResultSchema, ShellSetupOptionsSchema, ShellSetupResultSchema, ShellConfigPatcher, VARIABLE_PATTERN2, BUILTIN_VARIABLES, PromptParser, DEFAULT_MAX_CACHE_SIZE, DEFAULT_CACHE_TTL_MS2, PromptLoader, AgentLevel, AgentLevelSchema, FileRestrictionsSchema, VIBE_AGENT, PLAN_AGENT, SPEC_ORCHESTRATOR, BUILT_IN_AGENTS, MODE_DEFAULT_ROLE, AgentFactory, DuplicateAgentError, AgentRegistry, AGENTS_MD_PRIORITY, MAX_AGENTS_MD_LENGTH, AgentsMdIntegration, DEFAULT_CLEANUP_INTERVAL_MS, ModelAvailabilityService, CONFIG_DEFAULTS, TimeoutError3, EventBus, ErrorSeverity, LegacyErrorSeverity, VellumError, CircuitOpenError, circuitOpen, circuitClose, circuitHalfOpen, DEFAULT_FAILURE_THRESHOLD, DEFAULT_RESET_TIMEOUT_MS, DEFAULT_WINDOW_MS, DEFAULT_HALF_OPEN_MAX_ATTEMPTS, CircuitBreaker, CircuitBreakerRegistry, DEFAULT_TTL_MS, CacheFallback, ProviderFallbackChain, RoleSchema, PartBaseSchema, ToolStatePendingSchema, ToolStateRunningSchema, ToolStateCompletedSchema, ToolStateErrorSchema, ToolStateSchema, TextPartSchema, ToolPartSchema, ToolResultPartSchema, ReasoningPartSchema, FilePartSchema, ImagePartSchema, MessageContentSchema, MessageSchema, Parts, ToolStates, messageCreated, messageUpdated, toolStart, toolStateChange, toolEnd, streamToken, streamEnd, sessionStart, sessionEnd, errorEvent, credentialResolved, credentialStored, credentialRotated, credentialNotFound, AgentStateEnum, TerminationReasonEnum, agentStateChange, agentText, agentThinking, agentToolStart, agentToolEnd, agentTerminated, agentShutdownComplete, gitSnapshotCreated, gitSnapshotRestored, gitSnapshotReverted, Events, ErrorNoTelemetry, GlobalErrorHandler, NETWORK_ERROR_CODES, NETWORK_ERROR_MESSAGES, NetworkError, TERMINAL_THRESHOLD_MS, DEFAULT_RETRY_DELAY_MS, TERMINAL_PATTERNS, RETRYABLE_PATTERNS, TerminalQuotaError, RetryableQuotaError, AbortError, DEFAULT_RETRY_OPTIONS, DEFAULT_FLUSH_INTERVAL_MS, DEFAULT_MAX_BUFFER_SIZE, BufferedErrorTelemetry, DEFAULT_COOLDOWN_THRESHOLDS, DEFAULT_PRUNE_INTERVAL_MS, MAX_EVENT_AGE_MS, WINDOW_DURATIONS, UsageTracker, WebErrorCode, WebError, PrivateIPError, DNSRebindingError, CloudMetadataError, UnsafeRedirectError, RateLimitError, DomainBlockedError, ConnectionError, BrowserError, CDPConnectionError, CancelledError, CancellationToken, PERMISSION_TOOL_GROUP_NAMES, PermissionToolGroupNameSchema, PermissionToolGroupConfigSchema, PERMISSION_TOOL_GROUPS, READ_ONLY_FILESYSTEM_TOOLS, VIBE_MODE_GROUPS, PLAN_MODE_GROUPS, SPEC_MODE_GROUPS, TOOL_GROUP_NAMES, BUILTIN_TOOL_GROUPS, ALWAYS_AVAILABLE_TOOLS, MODE_TOOL_GROUPS, FileAccessSchema, FileRestrictionSchema, ToolGroupEntrySchema, AgentModeSchema, AGENT_MODES, ToolPermissionsSchema, ModeConfigSchema, DEFAULT_MAX_CONCURRENT_SUBAGENTS, ExtendedModeConfigSchema, PROMPT_PLAN, PROMPT_CODE, PROMPT_DRAFT, PROMPT_DEBUG, PROMPT_ASK, MODE_CONFIGS, ApprovalPolicySchema, APPROVAL_POLICIES, SandboxPolicySchema, SANDBOX_POLICIES, APPROVAL_TO_TRUST_MAPPING, CODING_MODES, CodingModeSchema, CodingModeConfigSchema, VIBE_MODE, PLAN_MODE, SPEC_MODE, BUILTIN_CODING_MODES, SPEC_PHASES, SpecPhaseSchema, SPEC_PHASE_CONFIG, MessagePriority, DEFAULT_THRESHOLDS, DEFAULT_PRIORITY, CompactionErrorCode, CompactionError, TruncationPolicySchema, SummaryModelFallbackSchema, ProtectedToolsSchema, CustomThresholdsSchema, ContextManagerConfigSchema, DEFAULT_CONFIG, MODEL_RESERVE_THRESHOLDS, DEFAULT_SYSTEM_RESERVE, DEFAULT_MAX_SIZE2, DEFAULT_TTL, CachedTokenizer, DEFAULT_WIDTH, DEFAULT_HEIGHT, MAX_DIMENSION, MIN_TOKENS, ANTHROPIC_DIVISOR, ANTHROPIC_MAX_DIMENSION, ANTHROPIC_MAX_MEGAPIXELS, OPENAI_LOW_DETAIL_TOKENS, OPENAI_HIGH_DETAIL_BASE, OPENAI_TILE_TOKENS, OPENAI_TILE_SIZE, OPENAI_MAX_LONG_SIDE, OPENAI_SHORT_SIDE_TARGET, GEMINI_FIXED_TOKENS, AnthropicImageCalculator, OpenAIImageCalculator, GeminiImageCalculator, DefaultImageCalculator, DEFAULT_RECENT_COUNT, DEFAULT_MAX_OUTPUT_CHARS, DEFAULT_TRUNCATION_MARKER, PRUNE_MINIMUM_TOKENS, PRUNE_PROTECT_TOKENS, DEFAULT_PROTECTED_TOOLS, DEFAULT_SUMMARY_PROMPT, SUMMARY_PREFIX, DEFAULTS, NonDestructiveCompressor, CondensedMessageStore, DEFAULTS2, ContextGrowthValidator, DEEPSEEK_PATTERNS, DEFAULT_THINKING_PREFIX, REASONING_BLOCK_TEMPLATE, ReasoningBlockHandler, THINKING_BLOCK_PATTERN, CONCLUSION_PATTERNS, DEFAULT_TIMEOUT_MS, DEFAULT_MAX_RETRIES, DEFAULT_RETRY_DELAY_MS2, FallbackChain, DEFAULT_MAX_CHECKPOINTS, DEFAULT_MIN_CHECKPOINT_INTERVAL, DEFAULT_AUTO_CHECKPOINT, CheckpointManager, checkpointCounter, THRESHOLD_PROFILES, BUILT_IN_MODEL_THRESHOLDS, customModelThresholds, MODEL_THRESHOLDS, DEFAULT_PROFILE_THRESHOLDS, MIN_CONDENSE_THRESHOLD, MAX_CONDENSE_THRESHOLD, DEFAULT_CONDENSE_THRESHOLD, DEFAULT_RECENT_COUNT2, DEFAULT_MAX_CHECKPOINTS2, DEFAULT_SYSTEM_RESERVE2, DEFAULT_COMPRESSION_RATIO, AGGRESSIVE_TRUNCATE_TARGET, EMERGENCY_KEEP_COUNT, COMPACTION_WARNING_THRESHOLD, AutoContextManager, DEFAULT_FEATURE_FLAGS, ENV_FLAG_MAP, DISABLE_PREFIX, DEFAULT_IGNORE_PATTERNS, IgnoreManager, TIME_UNITS, DEFAULT_SUMMARY_WINDOW_MS, PROVIDER_OVERRIDES, customOverrides, AutomaticInstructionsMatcher, AGENTS_FILE_PATTERNS, DEFAULT_STOP_BOUNDARIES, AgentsFileDiscovery, AgentsErrorCode, AgentsError, AgentsParseError, ImportSecurityError, DEFAULT_MAX_FILE_SIZE, GLOBAL_RULES_DIR, MODE_RULES_PREFIX, CONFIG_DIR, ExternalRulesLoader, DEFAULT_MERGE_CONFIG, DEFAULT_SCOPE_CONFIG, DEFAULT_SECURITY_CONFIG, ImportSecurityValidator, DEFAULT_OPTIONS, DirectoryImportResolver, DEFAULT_OPTIONS2, FileImportResolver, DEFAULT_OPTIONS3, IMPORT_REGEX, ImportParser, HEADER_REGEX, STANDARD_SECTION_NAMES, TOOL_ITEM_REGEX, TOOL_PATTERN_REGEX, AgentsParser, DEFAULT_CACHE_TTL_MS22, AgentsLoader, INSTRUCTIONS_PRIORITY, METADATA_PRIORITY, SECTION_HEADER, SOURCE_ATTRIBUTION_TEMPLATE, AgentsPromptBuilder, TOOL_GROUPS, ToolAllowlistFilter, DEFAULT_DEBOUNCE_MS2, DEFAULT_MAX_PARENT_DEPTH, AgentsWatcher, DEFAULT_CACHE_TTL_MS3, DEFAULT_DEBOUNCE_MS3, SessionAgentsIntegration, MODEL_PRICING, MILLION, CostService, CostLimitHandler, CostLimitIntegration, DEFAULT_DOOM_LOOP_OPTIONS, LEGACY_MODE_MAP, LEGACY_MODES, VALID_CODING_MODES, InvalidModeError, DEFAULT_ASK_TIMEOUT_MS, PermissionAskService, DEFAULT_AUTO_APPROVAL_REQUEST_LIMIT, DEFAULT_AUTO_APPROVAL_COST_LIMIT, DEFAULT_AUTO_APPROVAL_LIMIT, AutoApprovalLimitsHandler, Wildcard, SAFE_PATTERNS, DANGEROUS_PATTERNS, CommandSafetyClassifier, createIgnore, DEFAULT_PROTECTED_PATTERNS, ProtectedFilesManager, PROTECTED_FILE_INDICATOR, DANGEROUS_PIPE_PATTERNS, DANGEROUS_CHAIN_PATTERNS, DangerousOperationDetector, PermissionCheckEventSchema, PermissionGrantedEventSchema, PermissionDeniedEventSchema, TrustChangedEventSchema, EVENT_SCHEMAS, PermissionEventBus, SessionPermissionManager, TrustedFoldersManager, PermissionLevelSchema, PERMISSION_LEVELS, TrustPresetSchema, TRUST_PRESETS, PatternPermissionSchema, PermissionConfigSchema, PermissionInfoSchema, PermissionResponseSchema, PERMISSION_RESPONSES, PermissionDecisionResultSchema, PermissionRecordSchema, TRUST_PRESET_CONFIGS, TRUST_MODE_INFO, TRUST_ENV_VAR, TRUST_ORDER, TrustPresetManager, DefaultPermissionChecker, ERROR_CLASSIFICATIONS, MemoryEntryTypeSchema, MemoryEntrySchema, ProjectMemorySchema, MemoryConfigSchema, DEFAULT_MEMORY_CONFIG, ProjectMemoryService, PROTECTED_DIR_NAMES, SENSITIVE_ENV_VARS, SnapshotErrorCode, SnapshotError, SHADOW_DIR_NAME, VELLUM_DIR, DEFAULT_COMMIT_MESSAGE, Snapshot, SessionTextPartSchema, SessionToolPartSchema, SessionToolResultPartSchema, SessionReasoningPartSchema, SessionFilePartSchema, SessionImagePartSchema, SessionMessagePartSchema, SessionRoleSchema, SessionMessageMetadataSchema, SessionMessageSchema, SessionParts, SessionStatusSchema, SessionModeSchema, SessionMetadataSchema, SessionCheckpointSchema, SessionSchema, DEFAULT_COMPACTION_CONFIG, DEFAULT_AUTO_COMPACTION_CONFIG, CompactionService, ROLE_EMOJIS, ROLE_NAMES, ROLE_COLORS, DEFAULT_OPTIONS4, ExportService, DEFAULT_MAX_ENTRIES, DEFAULT_HISTORY_FILE, SENSITIVE_PATTERNS, CommandHistory, SessionFilterSchema, SessionSortFieldSchema, SortDirectionSchema, SessionSortSchema, PaginationOptionsSchema, PaginatedResultSchema, DEFAULT_PAGE, DEFAULT_PAGE_SIZE, DEFAULT_SORT, SessionListService, MAX_OUTPUT_TOKENS, DEFAULT_STREAM_TIMEOUT_MS, StreamConfigSchema, LLM, DEFAULT_PERSISTENCE_CONFIG, PersistenceManager, RecoveryLogSchema, RecoveryErrorType, RecoveryError, RECOVERY_FILE_EXTENSION, RecoveryManager, SessionResumeService, ResumeContextSchema, ResumeOptionsSchema, SessionSearchQuerySchema, SessionSearchResultSchema, DEFAULT_OPTIONS5, RetryAbortedError, DEFAULT_INDEX_FILE, MAX_CONTENT_LENGTH, MAX_TOOL_OUTPUT_LENGTH, DEFAULT_SEARCH_LIMIT, MAX_SEARCH_RESULTS, SNIPPET_CONTEXT_LENGTH, RECENCY_BOOST_FACTOR, MINISEARCH_OPTIONS, SearchService, gzip2, gunzip2, StorageErrorType, StorageError, StorageConfigSchema, StorageManager, MAX_SUMMARY_LENGTH, MAX_TITLE_LENGTH, DEFAULT_TITLES, DEFAULT_SUMMARY_CONFIG, SessionSummaryService, MAX_HISTORY_SIZE, SessionSwitcher, ThinkingHandler, SessionTodoStatusSchema, SessionTodoItemSchema, SessionTodoOperationSchema, SKILL_SECTION_NAMES, SKILL_MANIFEST_FILENAME, SkillParser, skillParser, SKILL_SOURCE_PRIORITY, TRIGGER_TYPE_MULTIPLIERS, SKILL_NAME_MIN_LENGTH, SKILL_NAME_MAX_LENGTH, SKILL_NAME_PATTERN, SkillDiscovery, ROO_CODE_MODE_MAPPINGS, ModeSkillDiscovery, skillDiscovery, SkillLoader, skillLoader, SkillMatcher, skillMatcher, SECTION_PRIORITIES, MAX_SKILL_SECTION_LENGTH, SkillManager, StreamCollector, DEFAULT_NEWLINE_GATE_CONFIG, NewlineGate, TextBlockProcessor, ReasoningBlockProcessor, StreamProcessor, ToolKindSchema, defaultExecutionLogger, PermissionDeniedError, ToolNotFoundError, ToolExecutionError, ToolTimeoutError, ToolAbortedError, DEFAULT_TIMEOUT_MS2, SHELL_TIMEOUT_MS, ToolExecutor, MCPConnectionError, MCPProtocolError, MCPTimeoutError, DEFAULT_MCP_TIMEOUT_MS, DEFAULT_TOOL_PREFIX, MCPProxyImpl, _internal, ToolRegistryImpl, DEFAULT_STRATEGIES, DEFAULT_CONFIDENCE_THRESHOLD, _internal2, DEFAULT_MAX_BUFFER, applyDiffParamsSchema, applyDiffTool, applyPatchParamsSchema, applyPatchTool, askFollowupQuestionParamsSchema, askFollowupQuestionTool, attemptCompletionParamsSchema, attemptCompletionTool, DEFAULT_TIMEOUT, bashParamsSchema, bashTool, DEFAULT_CONCURRENCY, MAX_CONCURRENCY, batchOperationSchema, batchParamsSchema, toolRegistryRef, batchTool, IPV4_PRIVATE_RANGES, IPV6_PRIVATE_PREFIXES, CLOUD_METADATA_ENDPOINTS, BrowserActionSchema, browserParamsSchema, browserInstance, pageInstance, playwrightModule, browserTool, ResponseCache, DEFAULT_MAX_RESULTS, CONTEXT_LINES, codebaseSearchParamsSchema, IGNORED_DIRS, BINARY_EXTENSIONS, STOP_WORDS, codebaseSearchTool, DEFAULT_MAX_TURNS, delegateAgentParamsSchema, delegateAgentTool, DocSourceSchema, docLookupParamsSchema, docLookupTool, exampleReadFileTool, exampleWriteFileTool, DEFAULT_MAX_FILES, DEFAULT_IGNORE_DIRS, globParamsSchema, globTool, insertAtLineParamsSchema, insertAtLineTool, StoredPermissionDataSchema, PermissionStorage, AlwaysAllowManager, LSP_TOOL_PERMISSIONS, READ_ONLY_OPERATIONS, WRITE_INDICATORS, protectedFilesManager, DEFAULT_MAX_DEPTH2, listDirParamsSchema, MAX_ENTRIES, listDirTool, editOperationSchema, multiEditParamsSchema, multiEditTool, MAX_FILE_SIZE_BYTES, WARNING_FILE_SIZE_BYTES, CHARS_PER_TOKEN, readFileParamsSchema, readFileTool, DEFAULT_MAX_FILES2, DEFAULT_MAX_SIZE_PER_FILE, DEFAULT_IGNORE_DIRS2, readManyFilesParamsSchema, readManyFilesTool, MEMORY_BASE_PATH, DEFAULT_NAMESPACE, KEY_PATTERN, recallMemoryParamsSchema, recallMemoryTool, MEMORY_BASE_PATH2, DEFAULT_NAMESPACE2, KEY_PATTERN2, saveMemoryParamsSchema, saveMemoryTool, DEFAULT_TIMEOUT2, GitGrepBackend, GitGrepStateTracker, GitGrepError, DEFAULT_EXCLUDES, BINARY_EXTENSIONS2, MAX_FILE_SIZE, LOCK_FILE_PATTERNS, JavaScriptBackend, APP_NAME, RIPGREP_VERSION, RIPGREP_TARGETS, DEFAULT_TIMEOUT3, VERSION_REGEX, BinaryManager, defaultManager, DEFAULT_EXCLUDES2, DEFAULT_TIMEOUT4, SearchStateTracker, RipgrepBackend, RipgrepError, StrategySelector, defaultSelector, SearchFacade, defaultFacade, searchAndReplaceParamsSchema, searchAndReplaceTool, DEFAULT_MAX_RESULTS2, CONTEXT_LINES2, BackendTypeSchema, searchFilesParamsSchema, searchFilesTool, DEFAULT_TIMEOUT5, shellParamsSchema, shellTool, skillParamsSchema, sharedManager, skillConfig, skillTool, strategySchema, smartEditParamsSchema, smartEditTool, TODO_FILE_PATH, todoManageParamsSchema, todoManageTool, TODO_FILE_PATH2, TodoStatusSchema, TodoWriteItemSchema, todoWriteParamsSchema, todoWriteTool, DEFAULT_TIMEOUT6, MAX_RESPONSE_SIZE, responseCache, webFetchParamsSchema, webFetchTool, DEFAULT_MAX_RESULTS3, DEFAULT_TIMEOUT7, DUCKDUCKGO_HTML_URL, SERPAPI_BASE_URL, webSearchParamsSchema, webSearchTool, writeFileParamsSchema, writeFileTool, ALL_BUILTIN_TOOLS, UnifiedToolContainer, Semaphore, GIT_TIMEOUTS, MAX_OUTPUT_LINES, TRUNCATION_MARKER, FilePathSchema, BranchNameSchema, GitDiffInputSchema, gitDiffTool, DEFAULT_LIMIT, MAX_LIMIT, FIELD_SEPARATOR, COMMIT_SEPARATOR, GitLogInputSchema, gitLogTool, GitStatusInputSchema, gitStatusTool, GitBranchInputSchema, GitCheckoutInputSchema, GitMergeInputSchema, gitBranchTool, gitCheckoutTool, gitMergeTool, GitCommitInputSchema, gitCommitTool, GitConflictInfoInputSchema, GitResolveConflictInputSchema, gitConflictInfoTool, gitResolveConflictTool, GitStashInputSchema, gitStashTool, GitFetchInputSchema, GitPullInputSchema, GitPushInputSchema, GitRemoteInputSchema, gitFetchTool, gitPullTool, gitPushTool, gitRemoteTool, DEFAULT_TARGET_BRANCH, MAX_COMMITS_IN_BODY, FIELD_SEPARATOR2, COMMIT_SEPARATOR2, GitGeneratePrInputSchema, gitGeneratePrTool, gitTools, DEFAULT_MAX_LENGTH2, DEFAULT_PRESERVE_TAIL, DEFAULT_PRESERVE_HEAD_RATIO, DEFAULT_STUCK_DETECTOR_CONFIG, LLMStuckDetector, DEFAULT_LOOP_DETECTION_CONFIG, SystemPromptConfigSchema, AgentStateSchema, AGENT_STATES, VALID_TRANSITIONS, DEFAULT_STREAMING_LOOP_CONFIG, StreamingLoopDetector, TerminationReason, DEFAULT_TERMINATION_LIMITS, TerminationChecker, AgentLoop, FileMemoryConfigSchema, DetectionResultSchema, ComplexityResultSchema, VIBE_KEYWORDS, PLAN_KEYWORDS, SPEC_KEYWORDS, HIGH_COMPLEXITY_KEYWORDS, MEDIUM_COMPLEXITY_KEYWORDS, FILE_COUNT_PATTERNS, ModeDetector, ComplexityAnalyzer, BaseModeHandler, PlanModeHandler, PhaseStatusSchema, SPEC_PHASES2, SpecPhaseSchema2, PhaseStateSchema, SpecWorkflowStateSchema, PhaseResultSchema, WorkflowProgressSchema, CHECKPOINT_DIR, DEFAULT_KEEP_COUNT, CheckpointReasonSchema, CheckpointSchema, CheckpointManager2, HandoffExecutor, PHASE_TRANSITIONS, SKIPPABLE_PHASES, PHASE_EXECUTION_MODE, StateMachine, TEMPLATE_SEARCH_PATHS, PHASE_TEMPLATES, TemplateFrontmatterSchema, TemplateLoader, DEFAULT_MAX_RETRIES2, SpecWorkflowEngine, SpecModeHandler, VibeModeHandler, YamlAgentLevelSchema, YamlModeConfigSchema, ModeFileNotFoundError, ModeValidationError, ModeLoaderImpl, ModeSwitchResultSchema, NoOpActivityTracker, SimpleActivityTracker, ModeSwitcher, TypedEventEmitter, ModeManager, CUSTOM_AGENT_PREFIX, ModeRegistryImpl, AVAILABLE_ROLES, AGENT_ROLES2, RoleManager, SNAPSHOT_VERSION, DEFAULT_SESSION_DIR, FileStatePersister, MemoryStatePersister, DEFAULT_OPTIONS6, GracefulShutdownHandler, Agent, SLUG_PATTERN, MAX_SLUG_LENGTH, MAX_NAME_LENGTH, MAX_DESCRIPTION_LENGTH, TriggerPatternTypeSchema, TriggerPatternSchema, WhenToUseSchema, AgentRestrictionsSchema, AgentHooksSchema, AgentCoordinationSchema, AgentSettingsSchema, CustomAgentDefinitionSchema, AgentErrorCode, AgentError, AgentValidationError, AgentNotFoundError, AgentCircularInheritanceError, AgentParseError, SUPPORTED_EXTENSIONS, AgentLoader, MAX_INHERITANCE_DEPTH, InheritanceResolver, DEFAULT_DEBOUNCE_MS4, AGENT_GLOB_PATTERNS, DiscoverySource, AgentDiscovery, ARCHITECT_SYSTEM_PROMPT, specArchitectAgent, REQUIREMENTS_SYSTEM_PROMPT, specRequirementsAgent, RESEARCHER_SYSTEM_PROMPT, specResearcherAgent, TASKS_SYSTEM_PROMPT, specTasksAgent, VALIDATOR_SYSTEM_PROMPT, specValidatorAgent, SPEC_SPAWNABLE_AGENTS, CustomAgentRegistry, ROUTING_WEIGHTS, MIN_ROUTING_SCORE, EXPLICIT_INVOCATION_PATTERN, PatternCache, AgentRouter, BuiltinTargetSchema, CustomAgentTargetSchema, CustomModeTargetSchema, McpTargetSchema, DelegationTargetSchema, TaskContextSchema, TaskConstraintsSchema, TaskPacketSchema, DelegateTaskContextSchema, DelegateTaskParamsSchema, DelegateTaskResultSchema, DEFAULT_DELEGATION_TIMEOUT, WorkerDelegationError, defaultHandler, delegationHandler, delegateTaskTool, TaskStatusSchema2, PartialFailureStrategySchema, TaskResultSchema, AggregatedResultSchema, DefaultResultAggregator, ApprovalRequestSchema, ApprovalDecisionSchema, WORKER_TOOL_SETS, WorkerPermissionWrapper, WorkerToolBridge, promptLoader, WORKER_PROMPTS, DEFAULT_CONFIG2, SubtaskDependencySchema, EstimatedEffortSchema, SubtaskDefinitionSchema, DecompositionResultSchema, TaskComplexitySchema, TaskAnalysisSchema, IMPLEMENT_KEYWORDS, TEST_KEYWORDS, DOCUMENT_KEYWORDS, DEPLOY_KEYWORDS, REFACTOR_KEYWORDS, REVIEW_KEYWORDS, KEYWORD_TO_AGENT, ALL_KEYWORDS, TaskRouterImpl, SPEC_ROUTING_RULES, MAX_DELEGATION_DEPTH, DEFAULT_MAX_CONCURRENT_SUBAGENTS2, DEFAULT_TASK_TIMEOUT, OrchestratorCoreImpl, HandoffRequestSchema, HandoffResultSchema, ApprovalRouterImpl, WORKER_BLOCKED_TOOLS, FilteredToolRegistryImpl, ACCESS_PRIORITY, USAGE_TO_QUOTA_MAP, DEFAULT_QUOTA, DEFAULT_ROOT_PERMISSIONS, SubsessionManagerImpl, UnknownWorkerError, DuplicateWorkerError, analystWorker, architectWorker, coderWorker, devopsWorker, qaWorker, researcherWorker, securityWorker, writerWorker, BUILTIN_WORKERS, logger22, PROJECT_COMMANDS_DIR, USER_COMMANDS_DIR, YAML_EXTENSIONS, TS_EXTENSIONS, SUPPORTED_EXTENSIONS2, YamlUserCommandSchema, DefaultCommandTrustStore, UserCommandLoader, logger3, PROJECT_COMMANDS_DIR2, USER_COMMANDS_DIR2, BUILTIN_COMMANDS, CommandLoader, CredentialTypeSchema, CredentialSourceSchema, MCP_CREDENTIAL_PREFIX, CredentialMetadataSchema, CredentialSchema, CredentialInputSchema, CredentialRefSchema, CredentialStoreErrorCodeSchema, BaseCredentialConfigSchema, ApiKeyCredentialSchema, OAuthTokenCredentialSchema, BearerTokenCredentialSchema, ServiceAccountCredentialSchema, CertificateCredentialSchema, ConfigCredentialSchema, ProviderNameSchema, LLMProviderSchema, PermissionModeSchema, PermissionSchema, AgentConfigSchema2, LogLevelSchema, TimeoutsConfigSchema, LimitsConfigSchema, CircuitBreakerConfigSchema, ThinkingConfigSchema, DiffViewModeSchema, ConfigSchema, CONFIG_FILE_NAMES, ENV_MAPPINGS, shownDeprecationWarnings, PROVIDER_DISPLAY_NAMES, developmentConfig, productionConfig, testConfig, ConfigManager, BLOCKED_PATHS, MONOREPO_INDICATORS, TrustManager, DomainControlSchema, RateLimitSchema, CacheConfigSchema, BrowserConfigSchema, SecurityConfigSchema, WebBrowsingConfigSchema, ContextManager, SecureString, SCRYPT_PARAMS, SALT_LENGTH, IV_LENGTH, FORMAT_VERSION, SECURE_FILE_MODE, EncryptedFileStore, PROVIDER_ENV_VARS, EnvCredentialStore, SERVICE_NAME, KeychainStore, FORCE_FILE_STORAGE_ENV, HybridCredentialStore, DEFAULT_CACHE_TTL_MS4, STORE_PRIORITIES, CredentialResolver, CredentialManager, CredentialProviderSchema, ANTHROPIC_KEY_PATTERN2, OPENAI_KEY_PATTERN2, OPENAI_PROJECT_KEY_PATTERN2, GOOGLE_KEY_PATTERN2, AZURE_KEY_PATTERN, VERTEX_OAUTH_TOKEN_PATTERN, COHERE_KEY_PATTERN, MISTRAL_MIN_KEY_LENGTH, CREDENTIAL_FORMATS, CredentialValidationService, defaultService, RotationManager, DEFAULT_CONFIG3, RefreshTimer, AuditOperationSchema, AuditLogEntrySchema, CredentialAuditLogger, HUNK_HEADER_REGEX, DIFF_HEADER_REGEX, OLD_FILE_REGEX, NEW_FILE_REGEX, GitSnapshotLock, globalSnapshotLock, GitOperations, GitSnapshotService, FileChangeTypeSchema, GitFileChangeSchema, GitPatchSchema, GitFileDiffSchema, GitSnapshotConfigSchema, GitSnapshotRecordSchema, DiffLineTypeSchema, DiffLineSchema, DiffHunkSchema, FormattedDiffSchema, Token, Container2, Tokens, uncaughtExceptionHandler, unhandledRejectionHandler, MetricsCollector, collector, llmRequestsTotal, llmRequestErrors, promptTokensTotal, completionTokensTotal, llmRequestDuration, memoryUsageBytes, activeConnections, OnboardingStepSchema, ONBOARDING_STEPS, ONBOARDING_STEP_CONFIG, OnboardingStateSchema, INITIAL_ONBOARDING_STATE, ONBOARDING_PROVIDERS, PROVIDER_INFO, MODE_INFO, QUICK_START_TIPS, NEXT_STEPS, API_KEY_PATTERNS, API_KEY_FORMAT_HINTS, VALID_MODES, WELCOME_MESSAGE, SETUP_OVERVIEW, QUICK_TIPS, OnboardingWizard, SENSITIVE_PATTERNS2, SENSITIVE_FIELD_NAMES, TELEMETRY_EXCLUDED_KEYS, PrivacyFilter, TelemetrySanitizer, PRIORITY_WEIGHTS, DEFAULT_BUCKET_CONFIG, DEFAULT_RATE_LIMITER_CONFIG, TokenBucket, RateLimiter, RateLimitThrottleEventSchema, RateLimitExceededEventSchema, RetryAttemptEventSchema, RetryCompletedEventSchema, EVENT_SCHEMAS2, ResilienceEventBus, globalResilienceEventBus, BUILTIN_SKILL_NAMES, DEFAULT_DEBOUNCE_MS5, SKILL_GLOB_PATTERN, MODE_SKILL_GLOB_PATTERN, SkillWatcher, skillWatcher, DEFAULT_BACKPRESSURE_CONFIG, ThroughputTracker, LatencyTracker, BackpressureController, DEFAULT_ADAPTIVE_CONFIG, AdaptiveBackpressure, CitationCollector, StreamingHookManager, LOG_LEVELS, StreamLogger, MCPStreamHandler, LLM_SEMANTIC_CONVENTIONS, TelemetryInstrumentor, sdk, TutorialStepIdSchema, TUTORIAL_STEPS, InteractiveTypeSchema, TutorialProgressSchema, INITIAL_TUTORIAL_PROGRESS, QUICK_REFERENCE_CARD, COMPLETION_CONTENT, completionStep, FIRST_TASK_CONTENT, firstTaskStep, MODES_CONTENT, modesIntroStep, SKILLS_CONTENT, skillsIntroStep, WELCOME_CONTENT, welcomeStep, TUTORIAL_STEP_MAP, TutorialEngine, UpdateChannelSchema, UPDATE_CHANNELS, SemVerSchema, UpdateInfoSchema, VersionCheckResultSchema, UpdateResultSchema, VersionCheckCacheSchema, UpdateConfigSchema, DEFAULT_UPDATE_CONFIG, Updater, VersionChecker, DEFAULT_VISION_CAPABILITIES, COMMON_VISION_CAPABILITIES, MAX_DIMENSION2, DEFAULT_MAX_FILE_SIZE2, EXTENSION_TO_MIME, MAGIC_BYTES, execAsync22, VisionService, visionServiceInstance, configWatcherPreset, agentsWatcherPreset, skillsWatcherPreset, sourceWatcherPreset, testWatcherPreset, docsWatcherPreset, WATCHER_PRESETS, DEFAULT_WATCH_IGNORE_PATTERNS, DEFAULT_DEBOUNCE_MS6, DEFAULT_STABILITY_THRESHOLD, STABILITY_POLL_INTERVAL, FileWatcher, WatcherRegistry, ProgressReporter, TaskExecutor, CoderTaskTracker, logger4, PROJECT_WORKFLOWS_DIR, USER_WORKFLOWS_DIR, WorkflowLoader;
105435
105442
  var init_dist5 = __esm({
105436
105443
  "../core/dist/index.js"() {
105437
105444
  init_esm_shims();
@@ -108882,6 +108889,14 @@ if (Get-Command vellum -ErrorAction SilentlyContinue) {
108882
108889
  "plan-agent": PLAN_AGENT,
108883
108890
  "spec-orchestrator": SPEC_ORCHESTRATOR
108884
108891
  };
108892
+ MODE_DEFAULT_ROLE = {
108893
+ vibe: "coder",
108894
+ // Implementation-focused
108895
+ plan: "coder",
108896
+ // Planning for implementation
108897
+ spec: "orchestrator"
108898
+ // Multi-agent coordination
108899
+ };
108885
108900
  AgentFactory = class {
108886
108901
  /**
108887
108902
  * Creates a configured agent setup with shared instances.
@@ -108898,7 +108913,7 @@ if (Get-Command vellum -ErrorAction SilentlyContinue) {
108898
108913
  enableHotReload = process.env.NODE_ENV !== "production",
108899
108914
  customInstructions,
108900
108915
  integrationInstructions,
108901
- role = "base",
108916
+ role,
108902
108917
  mode
108903
108918
  } = options;
108904
108919
  const promptLoader2 = new PromptLoader({
@@ -108909,7 +108924,12 @@ if (Get-Command vellum -ErrorAction SilentlyContinue) {
108909
108924
  }
108910
108925
  });
108911
108926
  const promptBuilder = new PromptBuilder().withLoader(promptLoader2);
108912
- await promptBuilder.withExternalRole(role);
108927
+ const modeDefaultRole = mode ? MODE_DEFAULT_ROLE[mode] : void 0;
108928
+ const effectiveRole = role ?? modeDefaultRole ?? "coder";
108929
+ await promptBuilder.withExternalRole("base");
108930
+ if (effectiveRole !== "base") {
108931
+ await promptBuilder.withExternalRole(effectiveRole);
108932
+ }
108913
108933
  if (mode) {
108914
108934
  await promptBuilder.withExternalMode(mode);
108915
108935
  }
@@ -108940,6 +108960,7 @@ if (Get-Command vellum -ErrorAction SilentlyContinue) {
108940
108960
  promptBuilder,
108941
108961
  promptLoader: promptLoader2,
108942
108962
  promptWatcher,
108963
+ effectiveRole,
108943
108964
  cleanup: cleanup2
108944
108965
  };
108945
108966
  }
@@ -143256,6 +143277,111 @@ ${skillPrompt}`;
143256
143277
  return score;
143257
143278
  }
143258
143279
  };
143280
+ AVAILABLE_ROLES = {
143281
+ coder: {
143282
+ name: "coder",
143283
+ displayName: "Coder",
143284
+ description: "Implementation specialist - writes production code",
143285
+ icon: "\u25C6",
143286
+ level: 2
143287
+ },
143288
+ qa: {
143289
+ name: "qa",
143290
+ displayName: "QA",
143291
+ description: "Quality assurance - testing and debugging",
143292
+ icon: "\u25C7",
143293
+ level: 2
143294
+ },
143295
+ security: {
143296
+ name: "security",
143297
+ displayName: "Security",
143298
+ description: "Security specialist - vulnerability review",
143299
+ icon: "\u25C8",
143300
+ level: 2
143301
+ },
143302
+ analyst: {
143303
+ name: "analyst",
143304
+ displayName: "Analyst",
143305
+ description: "Code analyst - read-only analysis",
143306
+ icon: "\u25CB",
143307
+ level: 2
143308
+ },
143309
+ architect: {
143310
+ name: "architect",
143311
+ displayName: "Architect",
143312
+ description: "System architect - design and ADRs",
143313
+ icon: "\u25C9",
143314
+ level: 1
143315
+ },
143316
+ writer: {
143317
+ name: "writer",
143318
+ displayName: "Writer",
143319
+ description: "Technical writer - documentation",
143320
+ icon: "\u25CE",
143321
+ level: 2
143322
+ },
143323
+ orchestrator: {
143324
+ name: "orchestrator",
143325
+ displayName: "Orchestrator",
143326
+ description: "Multi-agent coordinator",
143327
+ icon: "\u25CF",
143328
+ level: 0
143329
+ }
143330
+ };
143331
+ AGENT_ROLES2 = Object.keys(AVAILABLE_ROLES);
143332
+ RoleManager = class {
143333
+ #currentRole;
143334
+ #onRoleChange;
143335
+ constructor(options) {
143336
+ this.#currentRole = options.initialRole;
143337
+ this.#onRoleChange = options.onRoleChange;
143338
+ }
143339
+ /**
143340
+ * Get the current role name
143341
+ */
143342
+ get currentRole() {
143343
+ return this.#currentRole;
143344
+ }
143345
+ /**
143346
+ * Get full metadata for the current role
143347
+ */
143348
+ get currentRoleInfo() {
143349
+ return AVAILABLE_ROLES[this.#currentRole];
143350
+ }
143351
+ /**
143352
+ * Switch to a new role
143353
+ *
143354
+ * @param newRole - The role to switch to
143355
+ * @returns Result indicating success/failure with message
143356
+ */
143357
+ switchRole(newRole) {
143358
+ if (!AVAILABLE_ROLES[newRole]) {
143359
+ return { success: false, message: `Unknown role: ${newRole}` };
143360
+ }
143361
+ if (newRole === this.#currentRole) {
143362
+ return {
143363
+ success: true,
143364
+ message: `Already in ${newRole} role`,
143365
+ currentRole: newRole
143366
+ };
143367
+ }
143368
+ const oldRole = this.#currentRole;
143369
+ this.#currentRole = newRole;
143370
+ this.#onRoleChange?.(newRole, oldRole);
143371
+ return {
143372
+ success: true,
143373
+ message: `Switched to ${AVAILABLE_ROLES[newRole].displayName} role`,
143374
+ previousRole: oldRole,
143375
+ currentRole: newRole
143376
+ };
143377
+ }
143378
+ /**
143379
+ * Check if a string is a valid role name
143380
+ */
143381
+ static isValidRole(role) {
143382
+ return role in AVAILABLE_ROLES;
143383
+ }
143384
+ };
143259
143385
  SNAPSHOT_VERSION = 1;
143260
143386
  DEFAULT_SESSION_DIR = ".vellum/sessions";
143261
143387
  FileStatePersister = class {
@@ -170936,6 +171062,29 @@ function useAnimationFrame(frames) {
170936
171062
  // src/tui/context/BracketedPasteContext.tsx
170937
171063
  init_esm_shims();
170938
171064
 
171065
+ // src/tui/components/theme/tokens.ts
171066
+ init_esm_shims();
171067
+ function parseEnvNumber(envVar, defaultValue) {
171068
+ if (!envVar) return defaultValue;
171069
+ const parsed = Number(envVar);
171070
+ return Number.isNaN(parsed) ? defaultValue : parsed;
171071
+ }
171072
+ var tuiConfig = {
171073
+ layout: {
171074
+ compactThreshold: parseEnvNumber(process.env.VELLUM_COMPACT_THRESHOLD, 60),
171075
+ sidebarWidthPercent: parseEnvNumber(process.env.VELLUM_SIDEBAR_WIDTH_PERCENT, 20),
171076
+ sidebarMinWidth: parseEnvNumber(process.env.VELLUM_SIDEBAR_MIN_WIDTH, 16),
171077
+ sidebarMaxWidth: parseEnvNumber(process.env.VELLUM_SIDEBAR_MAX_WIDTH, 60)
171078
+ },
171079
+ virtualization: {
171080
+ reservedLines: parseEnvNumber(process.env.VELLUM_RESERVED_LINES, 10),
171081
+ defaultRows: parseEnvNumber(process.env.VELLUM_DEFAULT_ROWS, 24)
171082
+ },
171083
+ paste: {
171084
+ timeoutMs: parseEnvNumber(process.env.VELLUM_PASTE_TIMEOUT, 3e4)
171085
+ }
171086
+ };
171087
+
170939
171088
  // src/tui/utils/bracketedPaste.ts
170940
171089
  init_esm_shims();
170941
171090
  var ENABLE_BRACKETED_PASTE = "\x1B[?2004h";
@@ -170989,7 +171138,7 @@ function unlockRawMode() {
170989
171138
  originalRawMode = null;
170990
171139
  }
170991
171140
  }
170992
- var PASTE_TIMEOUT_MS = 3e4;
171141
+ var PASTE_TIMEOUT_MS = tuiConfig.paste.timeoutMs;
170993
171142
  var BracketedPasteContext = createContext(null);
170994
171143
  function BracketedPasteProvider({ children, enabled = true }) {
170995
171144
  const { stdin } = useStdin();
@@ -175831,6 +175980,185 @@ var modeSlashCommands = [
175831
175980
  specCommand
175832
175981
  ];
175833
175982
 
175983
+ // src/commands/role.ts
175984
+ init_esm_shims();
175985
+ init_dist5();
175986
+ init_types7();
175987
+ var roleManager = null;
175988
+ function setRoleManager(manager) {
175989
+ roleManager = manager;
175990
+ }
175991
+ function formatRoleInfo(role, isCurrent) {
175992
+ const marker = isCurrent ? " (current)" : "";
175993
+ return ` ${role.icon} /${role.name}${marker} - ${role.description}`;
175994
+ }
175995
+ async function switchToRole(role, _ctx) {
175996
+ if (!roleManager) {
175997
+ return error("OPERATION_NOT_ALLOWED", "Role manager not initialized", []);
175998
+ }
175999
+ const result = roleManager.switchRole(role);
176000
+ if (!result.success) {
176001
+ return error("INVALID_ARGUMENT", result.message, []);
176002
+ }
176003
+ const roleInfo = AVAILABLE_ROLES[role];
176004
+ return success(`${roleInfo.icon} ${result.message}`, {
176005
+ previousRole: result.previousRole,
176006
+ currentRole: result.currentRole
176007
+ });
176008
+ }
176009
+ var roleCommand = {
176010
+ name: "role",
176011
+ description: "Show current role or switch to a new one",
176012
+ kind: "builtin",
176013
+ category: "workflow",
176014
+ aliases: ["roles"],
176015
+ positionalArgs: [
176016
+ {
176017
+ name: "role",
176018
+ type: "string",
176019
+ description: "Role to switch to (coder, qa, security, analyst, architect, writer, orchestrator)",
176020
+ required: false
176021
+ }
176022
+ ],
176023
+ examples: [
176024
+ "/role - Show current role and options",
176025
+ "/role coder - Switch to coder role",
176026
+ "/coder - Shortcut for /role coder"
176027
+ ],
176028
+ subcommands: [
176029
+ { name: "coder", description: "Implementation specialist" },
176030
+ { name: "qa", description: "Testing and debugging" },
176031
+ { name: "security", description: "Security review" },
176032
+ { name: "analyst", description: "Read-only analysis" },
176033
+ { name: "architect", description: "System design" },
176034
+ { name: "writer", description: "Documentation" },
176035
+ { name: "orchestrator", description: "Multi-agent coordination" }
176036
+ ],
176037
+ execute: async (ctx) => {
176038
+ const requestedRole = ctx.parsedArgs.positional[0];
176039
+ if (requestedRole) {
176040
+ if (!RoleManager.isValidRole(requestedRole)) {
176041
+ return error("INVALID_ARGUMENT", `Unknown role: ${requestedRole}`, [
176042
+ "Use /role to see available options."
176043
+ ]);
176044
+ }
176045
+ return switchToRole(requestedRole);
176046
+ }
176047
+ if (!roleManager) {
176048
+ const lines2 = [
176049
+ "Specialist Roles",
176050
+ "",
176051
+ "Available roles:",
176052
+ ...Object.values(AVAILABLE_ROLES).map((r) => formatRoleInfo(r, r.name === "coder")),
176053
+ "",
176054
+ "Role system not yet initialized. Using default: coder",
176055
+ "",
176056
+ "Use /role <name> or /<role> to switch roles."
176057
+ ];
176058
+ return success(lines2.join("\n"));
176059
+ }
176060
+ const current = roleManager.currentRoleInfo;
176061
+ const lines = [
176062
+ "Specialist Roles",
176063
+ "",
176064
+ `Current role: ${current.icon} ${current.displayName}`,
176065
+ "",
176066
+ "Available roles:",
176067
+ ...Object.values(AVAILABLE_ROLES).map((r) => formatRoleInfo(r, r.name === current.name)),
176068
+ "",
176069
+ "Use /role <name> or /<role> to switch roles."
176070
+ ];
176071
+ return success(lines.join("\n"));
176072
+ }
176073
+ };
176074
+ var coderCommand = {
176075
+ name: "coder",
176076
+ description: "Switch to coder role (implementation)",
176077
+ kind: "builtin",
176078
+ category: "workflow",
176079
+ aliases: [],
176080
+ examples: ["/coder - Switch to implementation specialist"],
176081
+ execute: async (ctx) => {
176082
+ return switchToRole("coder");
176083
+ }
176084
+ };
176085
+ var qaCommand = {
176086
+ name: "qa",
176087
+ description: "Switch to QA role (testing)",
176088
+ kind: "builtin",
176089
+ category: "workflow",
176090
+ aliases: [],
176091
+ examples: ["/qa - Switch to testing and debugging"],
176092
+ execute: async (ctx) => {
176093
+ return switchToRole("qa");
176094
+ }
176095
+ };
176096
+ var securityCommand = {
176097
+ name: "security",
176098
+ description: "Switch to security role",
176099
+ kind: "builtin",
176100
+ category: "workflow",
176101
+ aliases: [],
176102
+ examples: ["/security - Switch to security review"],
176103
+ execute: async (ctx) => {
176104
+ return switchToRole("security");
176105
+ }
176106
+ };
176107
+ var analystCommand = {
176108
+ name: "analyst",
176109
+ description: "Switch to analyst role (read-only)",
176110
+ kind: "builtin",
176111
+ category: "workflow",
176112
+ aliases: [],
176113
+ examples: ["/analyst - Switch to read-only analysis"],
176114
+ execute: async (ctx) => {
176115
+ return switchToRole("analyst");
176116
+ }
176117
+ };
176118
+ var architectCommand = {
176119
+ name: "architect",
176120
+ description: "Switch to architect role (design)",
176121
+ kind: "builtin",
176122
+ category: "workflow",
176123
+ aliases: [],
176124
+ examples: ["/architect - Switch to system design"],
176125
+ execute: async (ctx) => {
176126
+ return switchToRole("architect");
176127
+ }
176128
+ };
176129
+ var writerCommand = {
176130
+ name: "writer",
176131
+ description: "Switch to writer role (docs)",
176132
+ kind: "builtin",
176133
+ category: "workflow",
176134
+ aliases: [],
176135
+ examples: ["/writer - Switch to documentation"],
176136
+ execute: async (ctx) => {
176137
+ return switchToRole("writer");
176138
+ }
176139
+ };
176140
+ var orchestratorCommand = {
176141
+ name: "orchestrator",
176142
+ description: "Switch to orchestrator role (L0)",
176143
+ kind: "builtin",
176144
+ category: "workflow",
176145
+ aliases: [],
176146
+ examples: ["/orchestrator - Switch to multi-agent coordination"],
176147
+ execute: async (ctx) => {
176148
+ return switchToRole("orchestrator");
176149
+ }
176150
+ };
176151
+ var roleSlashCommands = [
176152
+ roleCommand,
176153
+ coderCommand,
176154
+ qaCommand,
176155
+ securityCommand,
176156
+ analystCommand,
176157
+ architectCommand,
176158
+ writerCommand,
176159
+ orchestratorCommand
176160
+ ];
176161
+
175834
176162
  // src/commands/vim.ts
175835
176163
  init_esm_shims();
175836
176164
  init_types7();
@@ -186374,7 +186702,7 @@ init_esm_shims();
186374
186702
 
186375
186703
  // src/version.ts
186376
186704
  init_esm_shims();
186377
- var version = "0.1.13" ;
186705
+ var version = "0.1.14" ;
186378
186706
 
186379
186707
  // src/tui/components/Banner/ShimmerText.tsx
186380
186708
  init_esm_shims();
@@ -188682,14 +189010,11 @@ var SPINNER_STYLES = {
188682
189010
  bounce: ["\u2801", "\u2802", "\u2804", "\u2802"],
188683
189011
  /** Arc spinner */
188684
189012
  arc: ["\u25DC", "\u25E0", "\u25DD", "\u25DE", "\u25E1", "\u25DF"]};
188685
- var DEFAULT_INTERVAL_MS = 120;
188686
189013
  function Spinner({
188687
189014
  color,
188688
189015
  scene = "default",
188689
189016
  label,
188690
189017
  frames = SPINNER_FRAMES,
188691
- // interval prop kept for backward compatibility but no longer used
188692
- interval: _interval = DEFAULT_INTERVAL_MS,
188693
189018
  type: type2,
188694
189019
  useInkSpinner = false
188695
189020
  }) {
@@ -192342,8 +192667,8 @@ function VirtualizedListInner(props, ref) {
192342
192667
  } = props;
192343
192668
  const [containerHeight, setContainerHeight] = useState(() => {
192344
192669
  const terminalRows = process.stdout.rows;
192345
- const reservedLines = 10;
192346
- return Math.max(8, (terminalRows || 24) - reservedLines);
192670
+ const { reservedLines, defaultRows } = tuiConfig.virtualization;
192671
+ return Math.max(8, (terminalRows || defaultRows) - reservedLines);
192347
192672
  });
192348
192673
  const initialVirtualization = useVirtualization({
192349
192674
  dataLength: data.length,
@@ -192811,10 +193136,10 @@ function useTerminalDimensions(options = {}) {
192811
193136
  );
192812
193137
  return result;
192813
193138
  }
192814
- var COMPACT_THRESHOLD = 60;
192815
- var SIDEBAR_WIDTH_PERCENT = 20;
192816
- var SIDEBAR_MIN_WIDTH = 16;
192817
- var SIDEBAR_MAX_WIDTH = 60;
193139
+ var COMPACT_THRESHOLD = tuiConfig.layout.compactThreshold;
193140
+ var SIDEBAR_WIDTH_PERCENT = tuiConfig.layout.sidebarWidthPercent;
193141
+ var SIDEBAR_MIN_WIDTH = tuiConfig.layout.sidebarMinWidth;
193142
+ var SIDEBAR_MAX_WIDTH = tuiConfig.layout.sidebarMaxWidth;
192818
193143
  var MIN_LINE_PADDING = 4;
192819
193144
  function Separator({
192820
193145
  color,
@@ -197304,6 +197629,78 @@ function useCollapsible(options = {}) {
197304
197629
  animationProgress
197305
197630
  };
197306
197631
  }
197632
+
197633
+ // src/tui/components/Messages/StreamingText.tsx
197634
+ init_esm_shims();
197635
+ var DEFAULT_CURSOR_CHAR = "\u258A";
197636
+ var DEFAULT_TYPEWRITER_SPEED_MS = 8;
197637
+ var CHARS_PER_TICK = 3;
197638
+ function StreamingText({
197639
+ content,
197640
+ isStreaming,
197641
+ cursorChar = DEFAULT_CURSOR_CHAR,
197642
+ cursorBlink = true,
197643
+ onComplete,
197644
+ typewriterEffect = true,
197645
+ typewriterSpeed = DEFAULT_TYPEWRITER_SPEED_MS
197646
+ }) {
197647
+ const [cursorVisible, setCursorVisible] = useState(true);
197648
+ const prevIsStreamingRef = useRef(null);
197649
+ const isInitialMountRef = useRef(true);
197650
+ const [displayedLength, setDisplayedLength] = useState(() => isStreaming ? 0 : content.length);
197651
+ const prevContentLengthRef = useRef(content.length);
197652
+ useEffect(() => {
197653
+ if (!typewriterEffect) {
197654
+ setDisplayedLength(content.length);
197655
+ return;
197656
+ }
197657
+ if (!isStreaming) {
197658
+ setDisplayedLength(content.length);
197659
+ return;
197660
+ }
197661
+ isInitialMountRef.current = false;
197662
+ if (displayedLength >= content.length) {
197663
+ return;
197664
+ }
197665
+ const timer = setTimeout(() => {
197666
+ setDisplayedLength((prev) => {
197667
+ const behind = content.length - prev;
197668
+ const charsToRelease = behind > 20 ? Math.min(behind, CHARS_PER_TICK * 3) : CHARS_PER_TICK;
197669
+ return Math.min(prev + charsToRelease, content.length);
197670
+ });
197671
+ }, typewriterSpeed);
197672
+ return () => clearTimeout(timer);
197673
+ }, [content.length, displayedLength, isStreaming, typewriterEffect, typewriterSpeed]);
197674
+ useEffect(() => {
197675
+ if (content.length < prevContentLengthRef.current) {
197676
+ setDisplayedLength(0);
197677
+ }
197678
+ prevContentLengthRef.current = content.length;
197679
+ }, [content.length]);
197680
+ const { frame, isPaused } = useAnimation();
197681
+ const derivedCursorVisible = useMemo(() => {
197682
+ if (!isStreaming || !cursorBlink) return true;
197683
+ if (isPaused) return true;
197684
+ return Math.floor(frame / 4) % 2 === 0;
197685
+ }, [frame, isPaused, isStreaming, cursorBlink]);
197686
+ useEffect(() => {
197687
+ setCursorVisible(derivedCursorVisible);
197688
+ }, [derivedCursorVisible]);
197689
+ useEffect(() => {
197690
+ if (prevIsStreamingRef.current === true && !isStreaming) {
197691
+ onComplete?.();
197692
+ }
197693
+ prevIsStreamingRef.current = isStreaming;
197694
+ }, [isStreaming, onComplete]);
197695
+ const sanitizedContent = useMemo(() => sanitize(content), [content]);
197696
+ const displayText = typewriterEffect ? sanitizedContent.slice(0, displayedLength) : sanitizedContent;
197697
+ const showCursor = isStreaming || typewriterEffect && displayedLength < sanitizedContent.length;
197698
+ const cursor = showCursor && cursorVisible ? cursorChar : "";
197699
+ return /* @__PURE__ */ jsxs(Text, { wrap: "wrap", children: [
197700
+ displayText,
197701
+ cursor
197702
+ ] });
197703
+ }
197307
197704
  var TOOL_SPINNER_FRAMES = ["-", "\\", "|", "/"];
197308
197705
  function formatCharCount(count) {
197309
197706
  if (count < 1e3) {
@@ -197430,15 +197827,7 @@ var ThinkingBlock = memo(function ThinkingBlock2({
197430
197827
  /* @__PURE__ */ jsx(Text, { children: " " })
197431
197828
  ] }),
197432
197829
  /* @__PURE__ */ jsx(Text, { color: thinkingColor, children: "[...] " }),
197433
- /* @__PURE__ */ jsx(
197434
- Text,
197435
- {
197436
- color: thinkingColor,
197437
- dimColor: !isStreaming,
197438
- italic: true,
197439
- children: headerParts.join(" ")
197440
- }
197441
- ),
197830
+ isStreaming ? /* @__PURE__ */ jsx(BannerShimmerText, { baseColor: thinkingColor, highlightColor: "#FFD700", enabled: true, children: headerParts.join(" ") }) : /* @__PURE__ */ jsx(Text, { color: thinkingColor, dimColor: true, italic: true, children: headerParts.join(" ") }),
197442
197831
  effectiveKeyboardToggle && !isStreaming && /* @__PURE__ */ jsxs(Text, { color: mutedColor, dimColor: true, children: [
197443
197832
  " ",
197444
197833
  "(press 't')"
@@ -197454,8 +197843,16 @@ var ThinkingBlock = memo(function ThinkingBlock2({
197454
197843
  // Collapsed: show preview only
197455
197844
  content && /* @__PURE__ */ jsx(Box, { marginLeft: 2, marginTop: 0, children: /* @__PURE__ */ jsx(Text, { color: mutedColor, dimColor: true, wrap: "truncate", children: preview }) })
197456
197845
  ) : (
197457
- // Expanded: show full content
197458
- /* @__PURE__ */ jsx(Box, { marginLeft: 2, marginTop: 0, flexDirection: "column", children: /* @__PURE__ */ jsx(Text, { color: thinkingColor, dimColor: true, wrap: "wrap", children: content }) })
197846
+ // Expanded: show full content with typewriter effect
197847
+ /* @__PURE__ */ jsx(Box, { marginLeft: 2, marginTop: 0, flexDirection: "column", children: /* @__PURE__ */ jsx(Text, { color: thinkingColor, dimColor: true, children: /* @__PURE__ */ jsx(
197848
+ StreamingText,
197849
+ {
197850
+ content,
197851
+ isStreaming,
197852
+ typewriterEffect: true,
197853
+ cursorBlink: true
197854
+ }
197855
+ ) }) })
197459
197856
  ),
197460
197857
  toolCalls && toolCalls.length > 0 && /* @__PURE__ */ jsx(Box, { marginLeft: 2, marginTop: 0, flexDirection: "column", children: toolCalls.map((toolCall) => {
197461
197858
  let statusIcon;
@@ -198793,9 +199190,6 @@ var MessageList = memo(function MessageList2({
198793
199190
  ] });
198794
199191
  });
198795
199192
 
198796
- // src/tui/components/Messages/StreamingText.tsx
198797
- init_esm_shims();
198798
-
198799
199193
  // src/tui/components/ModeIndicator.tsx
198800
199194
  init_esm_shims();
198801
199195
  init_dist5();
@@ -201473,24 +201867,26 @@ var MODES_CONFIG = [
201473
201867
  { mode: "spec", icon: "\u25D2", label: "spec" }
201474
201868
  ];
201475
201869
  var AGENT_ABBREVIATIONS = {
201476
- // Core Agents
201870
+ // Mode-based agents (fallback when no role override)
201477
201871
  "vibe-agent": "Vibe",
201478
201872
  "plan-agent": "Plan",
201479
- "spec-orchestrator": "Spec",
201873
+ "spec-orchestrator": "Orch",
201480
201874
  // Spec Workflow Workers
201481
201875
  researcher: "Rsrch",
201482
201876
  requirements: "Reqs",
201483
201877
  design: "Dsgn",
201484
201878
  tasks: "Tasks",
201485
201879
  validator: "Valid",
201486
- // Builtin Workers
201880
+ // Role-based agents (direct role mappings)
201487
201881
  coder: "Code",
201488
201882
  qa: "QA",
201489
201883
  writer: "Write",
201490
201884
  analyst: "Anlst",
201491
201885
  architect: "Arch",
201492
201886
  devops: "DevOp",
201493
- security: "Secur"
201887
+ security: "Sec",
201888
+ orchestrator: "Orch",
201889
+ base: "Base"
201494
201890
  };
201495
201891
  function ResilienceSegmentWithSeparator({
201496
201892
  hasFollowingItems
@@ -208327,7 +208723,7 @@ init_esm_shims();
208327
208723
 
208328
208724
  // src/tui/config/defaults.ts
208329
208725
  init_esm_shims();
208330
- function parseEnvNumber(key, fallback) {
208726
+ function parseEnvNumber2(key, fallback) {
208331
208727
  const value = process.env[key];
208332
208728
  if (value === void 0) return fallback;
208333
208729
  const parsed = Number.parseInt(value, 10);
@@ -208341,21 +208737,21 @@ function parseEnvBoolean2(key, fallback) {
208341
208737
  var MB = 1024 * 1024;
208342
208738
  var SANDBOX_RESOURCES = {
208343
208739
  /** Default execution timeout in milliseconds (30s) */
208344
- TIMEOUT_MS: parseEnvNumber("VELLUM_SANDBOX_TIMEOUT_MS", 3e4),
208740
+ TIMEOUT_MS: parseEnvNumber2("VELLUM_SANDBOX_TIMEOUT_MS", 3e4),
208345
208741
  /** Additional wall time buffer beyond CPU timeout (5s) */
208346
- WALL_TIME_BUFFER_MS: parseEnvNumber("VELLUM_SANDBOX_WALL_TIME_BUFFER_MS", 5e3),
208742
+ WALL_TIME_BUFFER_MS: parseEnvNumber2("VELLUM_SANDBOX_WALL_TIME_BUFFER_MS", 5e3),
208347
208743
  /** Maximum memory limit in bytes (512MB) */
208348
- MEMORY_BYTES: parseEnvNumber("VELLUM_SANDBOX_MEMORY_BYTES", 512 * MB),
208744
+ MEMORY_BYTES: parseEnvNumber2("VELLUM_SANDBOX_MEMORY_BYTES", 512 * MB),
208349
208745
  /** Maximum output size in bytes (1MB) */
208350
- MAX_OUTPUT_BYTES: parseEnvNumber("VELLUM_SANDBOX_MAX_OUTPUT_BYTES", 1 * MB),
208746
+ MAX_OUTPUT_BYTES: parseEnvNumber2("VELLUM_SANDBOX_MAX_OUTPUT_BYTES", 1 * MB),
208351
208747
  /** Maximum single file size in bytes (50MB) */
208352
- MAX_FILE_SIZE_BYTES: parseEnvNumber("VELLUM_SANDBOX_MAX_FILE_SIZE_BYTES", 50 * MB),
208748
+ MAX_FILE_SIZE_BYTES: parseEnvNumber2("VELLUM_SANDBOX_MAX_FILE_SIZE_BYTES", 50 * MB),
208353
208749
  /** Maximum disk usage in bytes (100MB) */
208354
- MAX_DISK_USAGE_BYTES: parseEnvNumber("VELLUM_SANDBOX_MAX_DISK_USAGE_BYTES", 100 * MB),
208750
+ MAX_DISK_USAGE_BYTES: parseEnvNumber2("VELLUM_SANDBOX_MAX_DISK_USAGE_BYTES", 100 * MB),
208355
208751
  /** Maximum number of file descriptors */
208356
- MAX_FILE_DESCRIPTORS: parseEnvNumber("VELLUM_SANDBOX_MAX_FILE_DESCRIPTORS", 100),
208752
+ MAX_FILE_DESCRIPTORS: parseEnvNumber2("VELLUM_SANDBOX_MAX_FILE_DESCRIPTORS", 100),
208357
208753
  /** Maximum number of spawned processes */
208358
- MAX_PROCESSES: parseEnvNumber("VELLUM_SANDBOX_MAX_PROCESSES", 10)
208754
+ MAX_PROCESSES: parseEnvNumber2("VELLUM_SANDBOX_MAX_PROCESSES", 10)
208359
208755
  };
208360
208756
  var SANDBOX_PERMISSIONS = {
208361
208757
  /** Allow network access by default */
@@ -208655,6 +209051,9 @@ function createCommandRegistry() {
208655
209051
  for (const cmd of modeSlashCommands) {
208656
209052
  registry.register(cmd);
208657
209053
  }
209054
+ for (const cmd of roleSlashCommands) {
209055
+ registry.register(cmd);
209056
+ }
208658
209057
  for (const cmd of vimSlashCommands) {
208659
209058
  registry.register(cmd);
208660
209059
  }
@@ -208733,6 +209132,7 @@ function App({
208733
209132
  toolExecutor: toolExecutorProp,
208734
209133
  theme = "parchment",
208735
209134
  banner,
209135
+ effectiveRole,
208736
209136
  initError
208737
209137
  }) {
208738
209138
  const toolRegistry = useMemo(() => {
@@ -208769,6 +209169,7 @@ function App({
208769
209169
  agentLoop: agentLoopProp,
208770
209170
  toolRegistry,
208771
209171
  banner,
209172
+ effectiveRole,
208772
209173
  initError
208773
209174
  }
208774
209175
  )
@@ -208784,6 +209185,7 @@ function AppContent({
208784
209185
  agentLoop: agentLoopProp,
208785
209186
  banner,
208786
209187
  toolRegistry,
209188
+ effectiveRole,
208787
209189
  initError
208788
209190
  }) {
208789
209191
  const { exit } = useApp();
@@ -209179,6 +209581,22 @@ function AppContent({
209179
209581
  setModeCommandsManager(modeManager3);
209180
209582
  return () => setModeCommandsManager(null);
209181
209583
  }, [modeManager3]);
209584
+ const [currentRole, setCurrentRole] = useState(
209585
+ effectiveRole ?? "coder"
209586
+ );
209587
+ const roleManager2 = useMemo(
209588
+ () => createRoleManager({
209589
+ initialRole: effectiveRole ?? "coder",
209590
+ onRoleChange: (newRole) => setCurrentRole(newRole)
209591
+ }),
209592
+ // effectiveRole is static prop, safe to depend on
209593
+ // eslint-disable-next-line react-hooks/exhaustive-deps
209594
+ [effectiveRole]
209595
+ );
209596
+ useEffect(() => {
209597
+ setRoleManager(roleManager2);
209598
+ return () => setRoleManager(null);
209599
+ }, [roleManager2]);
209182
209600
  useEffect(() => {
209183
209601
  setAgentCommandsManager(modeManager3);
209184
209602
  return () => setAgentCommandsManager(null);
@@ -210007,6 +210425,19 @@ function AppContent({
210007
210425
  },
210008
210426
  description: "Toggle copy mode",
210009
210427
  scope: "global"
210428
+ },
210429
+ // Theme toggle (Alt+Y)
210430
+ {
210431
+ key: "y",
210432
+ alt: true,
210433
+ handler: () => {
210434
+ themeContext.toggleMode();
210435
+ const newTheme = themeContext.theme.mode === "dark" ? "light" : "dark";
210436
+ void setThemeInSettings(newTheme);
210437
+ announce(`Theme switched to ${newTheme} mode`);
210438
+ },
210439
+ description: "Toggle theme (dark/light)",
210440
+ scope: "global"
210010
210441
  }
210011
210442
  ];
210012
210443
  if (alternateBufferEnabled) {
@@ -210033,7 +210464,8 @@ function AppContent({
210033
210464
  copyMode,
210034
210465
  alternateBuffer,
210035
210466
  alternateBufferEnabled,
210036
- showModelSelector
210467
+ showModelSelector,
210468
+ themeContext
210037
210469
  ]);
210038
210470
  useHotkeys(hotkeyDefinitions, {
210039
210471
  enabled: !showModeSelector && !showModelSelector && !hasActiveApproval && !showSessionManager && !showHelpModal && !showOnboarding && !interactivePrompt && !followupPrompt && !pendingOperation
@@ -210994,7 +211426,7 @@ function AppContent({
210994
211426
  }, [interactivePrompt]);
210995
211427
  const modeAgentName = BUILTIN_CODING_MODES[currentMode2].agentName;
210996
211428
  const activeWorkerAgent = currentTaskId && taskChain?.nodes.get(currentTaskId)?.agentSlug;
210997
- const agentName = activeWorkerAgent ?? modeAgentName;
211429
+ const agentName = activeWorkerAgent ?? currentRole ?? modeAgentName;
210998
211430
  const agentLevel = currentMode2 === "spec" ? 0 : currentMode2 === "plan" ? 1 : 2;
210999
211431
  return /* @__PURE__ */ jsx(
211000
211432
  AppContentView,
@@ -211967,7 +212399,11 @@ program.command("chat", { isDefault: true }).description("Start interactive chat
211967
212399
  "--approval <policy>",
211968
212400
  `Set approval policy (${APPROVAL_POLICIES.join("|")})`,
211969
212401
  parseApproval
211970
- ).option("--sandbox <policy>", `Set sandbox policy (${SANDBOX_POLICIES.join("|")})`, parseSandbox).option("--full-auto", "Shortcut for --mode=vibe --approval=full-auto", false).option("--theme <theme>", "UI theme (dark|parchment|dracula|etc.)", "parchment").option("--banner", "Show banner on startup", false).action(async (options) => {
212402
+ ).option("--sandbox <policy>", `Set sandbox policy (${SANDBOX_POLICIES.join("|")})`, parseSandbox).option("--full-auto", "Shortcut for --mode=vibe --approval=full-auto", false).option(
212403
+ "-r, --role <role>",
212404
+ "Specialist role: coder, qa, security, analyst, orchestrator, architect, writer",
212405
+ void 0
212406
+ ).option("--theme <theme>", "UI theme (dark|parchment|dracula|etc.)", "parchment").option("--banner", "Show banner on startup", false).action(async (options) => {
211971
212407
  let effectiveMode = options.mode;
211972
212408
  let effectiveApproval = options.approval;
211973
212409
  if (options.fullAuto) {
@@ -211993,6 +212429,7 @@ program.command("chat", { isDefault: true }).description("Start interactive chat
211993
212429
  }
211994
212430
  let agentLoop;
211995
212431
  let initError;
212432
+ let effectiveRole;
211996
212433
  try {
211997
212434
  const { createCredentialManager: createCredentialManager3 } = await Promise.resolve().then(() => (init_auth(), auth_exports));
211998
212435
  const credentialManager = await createCredentialManager3();
@@ -212002,14 +212439,16 @@ program.command("chat", { isDefault: true }).description("Start interactive chat
212002
212439
  LLM.initialize(providerRegistry);
212003
212440
  const modeConfig = BUILTIN_CODING_MODES[effectiveMode];
212004
212441
  const orchestrator = getOrCreateOrchestrator();
212005
- const { promptBuilder, cleanup: cleanup2 } = await createAgentFactory({
212442
+ const factoryResult = await createAgentFactory({
212006
212443
  cwd: process.cwd(),
212007
212444
  projectRoot: process.cwd(),
212008
- role: "base",
212009
- // Load base.md for identity
212445
+ role: options.role,
212446
+ // User override or undefined (uses mode default)
212010
212447
  mode: effectiveMode
212011
212448
  // Load vibe.md/plan.md/spec.md
212012
212449
  });
212450
+ const { promptBuilder, cleanup: cleanup2 } = factoryResult;
212451
+ effectiveRole = factoryResult.effectiveRole;
212013
212452
  setShutdownCleanup(cleanup2);
212014
212453
  const toolContainer = new UnifiedToolContainer({
212015
212454
  cwd: process.cwd()
@@ -212117,6 +212556,7 @@ program.command("chat", { isDefault: true }).description("Start interactive chat
212117
212556
  theme: options.theme,
212118
212557
  banner: options.banner,
212119
212558
  agentLoop,
212559
+ effectiveRole,
212120
212560
  initError
212121
212561
  }
212122
212562
  ),
@@ -286,6 +286,23 @@ Plans should be **specific** and **actionable**:
286
286
  | `save_memory` | Persist information for later |
287
287
  | `recall_memory` | Retrieve stored information |
288
288
 
289
+ ### LSP Tools (Code Intelligence)
290
+
291
+ When LSP servers are available, prefer these over grep for type-aware navigation:
292
+
293
+ | Tool | Purpose | When to Use |
294
+ |------|---------|-------------|
295
+ | `lsp_definition` | Go to definition | Find where a symbol is defined |
296
+ | `lsp_references` | Find all references | See everywhere a symbol is used |
297
+ | `lsp_hover` | Type information | Get type signature and docs |
298
+ | `lsp_diagnostics` | Get errors/warnings | Check for type errors, lint issues |
299
+
300
+ **Priority Order:**
301
+ 1. Use `lsp_diagnostics` BEFORE running `pnpm typecheck` or lint commands
302
+ 2. Use `lsp_definition` BEFORE grep to find where functions/types are defined
303
+ 3. Use `lsp_references` BEFORE grep to find usages of a symbol
304
+ 4. Use `lsp_hover` to understand type signatures instead of reading full files
305
+
289
306
  ## Parallel Tool Calls
290
307
 
291
308
  When operations have no dependencies, call tools in parallel:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@butlerw/vellum",
3
- "version": "0.1.13",
3
+ "version": "0.1.14",
4
4
  "description": "Next-generation AI coding assistant CLI",
5
5
  "private": false,
6
6
  "publishConfig": {
@@ -56,13 +56,13 @@
56
56
  "tsup": "^8.5.1",
57
57
  "tsx": "^4.21.0",
58
58
  "typescript": "^5.9.3",
59
- "@vellum/core": "0.1.1",
60
- "@vellum/plugin": "0.1.1",
59
+ "@vellum/core": "0.1.14",
61
60
  "@vellum/lsp": "0.1.0",
62
- "@vellum/sandbox": "0.1.0",
63
- "@vellum/mcp": "0.1.1",
64
61
  "@vellum/provider": "0.1.0",
65
- "@vellum/shared": "0.1.0"
62
+ "@vellum/mcp": "0.1.2",
63
+ "@vellum/plugin": "0.1.2",
64
+ "@vellum/shared": "0.1.0",
65
+ "@vellum/sandbox": "0.1.0"
66
66
  },
67
67
  "scripts": {
68
68
  "build": "tsup",