sidekick-shared 0.24.5 → 0.26.0

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.
Files changed (157) hide show
  1. package/CHANGELOG.md +92 -0
  2. package/README.md +205 -52
  3. package/dist/accountChangeSignal.d.ts +3 -0
  4. package/dist/accountChangeSignal.js +19 -0
  5. package/dist/accountChanges.d.ts +21 -0
  6. package/dist/accountChanges.js +170 -0
  7. package/dist/accountRegistry.d.ts +25 -2
  8. package/dist/accountRegistry.js +41 -13
  9. package/dist/accountStatus.d.ts +9 -1
  10. package/dist/accountStatus.js +3 -3
  11. package/dist/accounts.d.ts +3 -1
  12. package/dist/accounts.js +84 -64
  13. package/dist/aggregation/EventAggregator.d.ts +15 -2
  14. package/dist/aggregation/EventAggregator.js +54 -9
  15. package/dist/aggregation/costProvenance.d.ts +14 -0
  16. package/dist/aggregation/costProvenance.js +35 -0
  17. package/dist/aggregation/snapshot.d.ts +13 -2
  18. package/dist/aggregation/snapshot.js +57 -6
  19. package/dist/aggregation/types.d.ts +30 -1
  20. package/dist/analytics/compactionLedger.js +15 -5
  21. package/dist/analytics/qualityScore.js +2 -1
  22. package/dist/browser.d.ts +19 -4
  23. package/dist/browser.js +43 -1
  24. package/dist/codexProfiles.d.ts +3 -1
  25. package/dist/codexProfiles.js +4 -2
  26. package/dist/codexQuota.d.ts +2 -0
  27. package/dist/codexQuota.js +11 -66
  28. package/dist/codexQuotaWatcher.d.ts +6 -0
  29. package/dist/codexQuotaWatcher.js +101 -47
  30. package/dist/failingTools.d.ts +37 -0
  31. package/dist/failingTools.js +70 -0
  32. package/dist/formatters/sessionDump.js +13 -7
  33. package/dist/formatting.d.ts +13 -0
  34. package/dist/formatting.js +35 -0
  35. package/dist/historicalStore.d.ts +47 -0
  36. package/dist/historicalStore.js +312 -0
  37. package/dist/index.d.ts +67 -23
  38. package/dist/index.js +138 -26
  39. package/dist/modelAliases.d.ts +13 -0
  40. package/dist/modelAliases.js +58 -0
  41. package/dist/modelCatalog.d.ts +32 -0
  42. package/dist/modelCatalog.js +145 -0
  43. package/dist/modelContext.d.ts +36 -3
  44. package/dist/modelContext.js +109 -34
  45. package/dist/modelInfo.d.ts +30 -1
  46. package/dist/modelInfo.js +116 -26
  47. package/dist/multiProviderQuotaService.d.ts +8 -0
  48. package/dist/multiProviderQuotaService.js +64 -3
  49. package/dist/node.d.ts +23 -4
  50. package/dist/node.js +50 -1
  51. package/dist/observedContextWindows.d.ts +7 -0
  52. package/dist/observedContextWindows.js +17 -2
  53. package/dist/observedSessionCollector.d.ts +72 -6
  54. package/dist/observedSessionCollector.js +440 -47
  55. package/dist/parsers/codexHistory.d.ts +4 -2
  56. package/dist/parsers/codexHistory.js +9 -2
  57. package/dist/parsers/sessionActivityDetector.d.ts +28 -0
  58. package/dist/parsers/sessionActivityDetector.js +110 -15
  59. package/dist/parsers/sessionPathResolver.d.ts +11 -0
  60. package/dist/parsers/sessionPathResolver.js +13 -10
  61. package/dist/peakHours.d.ts +34 -3
  62. package/dist/peakHours.js +92 -7
  63. package/dist/pricingCatalog.d.ts +7 -0
  64. package/dist/pricingCatalog.js +8 -5
  65. package/dist/providerIds.d.ts +11 -0
  66. package/dist/providerIds.js +9 -0
  67. package/dist/providerQuota.d.ts +3 -1
  68. package/dist/providerQuota.js +3 -0
  69. package/dist/providers/claudeCode.d.ts +10 -1
  70. package/dist/providers/claudeCode.js +211 -131
  71. package/dist/providers/codex.d.ts +20 -1
  72. package/dist/providers/codex.js +308 -244
  73. package/dist/providers/codexDatabase.d.ts +9 -0
  74. package/dist/providers/codexDatabase.js +107 -2
  75. package/dist/providers/detect.d.ts +2 -0
  76. package/dist/providers/detect.js +29 -24
  77. package/dist/providers/diagnostics.d.ts +13 -0
  78. package/dist/providers/diagnostics.js +88 -0
  79. package/dist/providers/factory.d.ts +20 -0
  80. package/dist/providers/factory.js +57 -0
  81. package/dist/providers/openCode.d.ts +22 -1
  82. package/dist/providers/openCode.js +460 -126
  83. package/dist/providers/openCodeDatabase.d.ts +10 -0
  84. package/dist/providers/openCodeDatabase.js +69 -0
  85. package/dist/providers/rolloutWalker.d.ts +53 -0
  86. package/dist/providers/rolloutWalker.js +209 -0
  87. package/dist/providers/types.d.ts +82 -2
  88. package/dist/providers/types.js +4 -0
  89. package/dist/quota.d.ts +34 -4
  90. package/dist/quota.js +37 -9
  91. package/dist/quotaHistory.d.ts +3 -2
  92. package/dist/quotaHistory.js +36 -35
  93. package/dist/quotaPoller.d.ts +13 -1
  94. package/dist/quotaPoller.js +65 -3
  95. package/dist/quotaResolver.d.ts +81 -0
  96. package/dist/quotaResolver.js +213 -0
  97. package/dist/quotaSnapshots.d.ts +15 -2
  98. package/dist/quotaSnapshots.js +25 -3
  99. package/dist/quotaThresholds.d.ts +60 -0
  100. package/dist/quotaThresholds.js +90 -0
  101. package/dist/report/htmlReportGenerator.js +10 -4
  102. package/dist/report/sessionReportInputs.d.ts +23 -0
  103. package/dist/report/sessionReportInputs.js +34 -0
  104. package/dist/schemas/accountManager.d.ts +2 -2
  105. package/dist/schemas/accountManager.js +2 -4
  106. package/dist/schemas/accountStatus.d.ts +3 -0
  107. package/dist/schemas/accountStatus.js +1 -0
  108. package/dist/schemas/index.d.ts +3 -0
  109. package/dist/schemas/index.js +16 -2
  110. package/dist/schemas/observedSessionV1.d.ts +27 -26
  111. package/dist/schemas/observedSessionV1.js +6 -4
  112. package/dist/schemas/quota.d.ts +141 -2
  113. package/dist/schemas/quota.js +20 -8
  114. package/dist/schemas/quotaHistory.d.ts +3 -2
  115. package/dist/schemas/quotaHistory.js +1 -1
  116. package/dist/schemas/sessionEvent.d.ts +6 -0
  117. package/dist/schemas/sessionEvent.js +1 -0
  118. package/dist/schemas/stateFile.d.ts +198 -0
  119. package/dist/schemas/stateFile.js +77 -0
  120. package/dist/schemas/tokenEstimation.d.ts +1 -1
  121. package/dist/schemas/transcript.js +2 -0
  122. package/dist/sessionFingerprint.d.ts +25 -0
  123. package/dist/sessionFingerprint.js +46 -0
  124. package/dist/sessionMonitor.d.ts +15 -0
  125. package/dist/sessionMonitor.js +142 -0
  126. package/dist/sessionPreviews.d.ts +33 -2
  127. package/dist/sessionPreviews.js +333 -6
  128. package/dist/sessionStats.d.ts +51 -0
  129. package/dist/sessionStats.js +166 -0
  130. package/dist/stateFile.d.ts +113 -0
  131. package/dist/stateFile.js +160 -0
  132. package/dist/statusline/claudeStatuslinePayload.d.ts +89 -0
  133. package/dist/statusline/claudeStatuslinePayload.js +152 -0
  134. package/dist/statusline/formatter.d.ts +13 -0
  135. package/dist/statusline/formatter.js +48 -6
  136. package/dist/statusline/index.d.ts +10 -2
  137. package/dist/statusline/index.js +19 -1
  138. package/dist/tokenSummary.d.ts +62 -0
  139. package/dist/tokenSummary.js +72 -0
  140. package/dist/transcript.d.ts +5 -0
  141. package/dist/transcript.js +2 -0
  142. package/dist/types/observedSessionV1.d.ts +8 -2
  143. package/dist/types/observedSessionV1.js +88 -25
  144. package/dist/types/sessionEvent.d.ts +2 -0
  145. package/dist/usage/billingBlocks.d.ts +85 -0
  146. package/dist/usage/billingBlocks.js +153 -0
  147. package/dist/usage/importSessionHistory.d.ts +53 -0
  148. package/dist/usage/importSessionHistory.js +88 -0
  149. package/dist/usage/usageEvents.d.ts +92 -0
  150. package/dist/usage/usageEvents.js +322 -0
  151. package/dist/usage/usageReports.d.ts +76 -0
  152. package/dist/usage/usageReports.js +208 -0
  153. package/dist/watchers/factory.d.ts +6 -0
  154. package/dist/watchers/factory.js +30 -25
  155. package/dist/zaiQuotaApi.d.ts +2 -0
  156. package/dist/zaiQuotaApi.js +2 -0
  157. package/package.json +22 -1
package/dist/index.js CHANGED
@@ -3,18 +3,24 @@
3
3
  * Public API for sidekick-shared.
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.updateJsonStoreAtomic = exports.atomicWriteFileSync = exports.atomicWriteJsonSync = exports.atomicWriteJson = exports.readClaudeCodePlanFiles = exports.getPlanAnalytics = exports.writePlans = exports.getLatestPlan = exports.readPlans = exports.readLatestHandoff = exports.readHistory = exports.readNotes = exports.readDecisions = exports.readTasks = exports.migrateLegacyProjectStores = exports.resolveProjectIdentity = exports.getProjectSlugRaw = exports.getProjectSlug = exports.encodeWorkspacePath = exports.getGlobalDataPath = exports.getProjectDataPath = exports.setConfigDir = exports.getDefaultConfigDir = exports.getConfigDirOverride = exports.getConfigDir = exports.CONFIG_DIR_ENV_VAR = exports.MAX_PLANS_PER_PROJECT = exports.PLAN_SCHEMA_VERSION = exports.createEmptyDataStore = exports.createEmptyTokenTotals = exports.HISTORICAL_SESSION_RETENTION_LIMIT = exports.HISTORICAL_DATA_SCHEMA_VERSION = exports.STALENESS_THRESHOLDS = exports.IMPORTANCE_DECAY_FACTORS = exports.KNOWLEDGE_NOTE_SCHEMA_VERSION = exports.DECISION_LOG_SCHEMA_VERSION = exports.normalizeTaskStatus = exports.TASK_PERSISTENCE_SCHEMA_VERSION = exports.isAggregateCodexLimit = exports.fileFingerprint = exports.observedSessionSourceFromProvider = exports.ObservedSessionCollector = exports.readSessionTranscript = exports.listRecentSessions = exports.projectSessionTranscript = exports.estimateSerializedTokens = exports.estimateTextTokens = exports.calculateNormalizedUsageCost = exports.extractNormalizedUsage = exports.normalizeProviderUsage = void 0;
7
- exports.readSessionPreview = exports.listSessionPreviews = exports.readCodexHistory = exports.parseMcpToolName = exports.scanSubagentTraces = exports.findAllSessionsWithWorktrees = exports.discoverWorktreeSiblings = exports.resolveWorktreeMainRepo = exports.getAllClaudeProjectFolders = exports.decodeEncodedPath = exports.getMostRecentlyActiveSessionDir = exports.findSubdirectorySessionDirs = exports.findSessionsInDirectory = exports.findAllClaudeSessions = exports.findActiveClaudeSession = exports.discoverSessionDirectory = exports.getClaudeSessionDirectory = exports.encodeClaudeWorkspacePath = exports.detectSessionActivity = exports.extractTaskInfo = exports.scanSubagentDir = exports.normalizeCodexToolInput = exports.normalizeCodexToolName = exports.extractPatchFilePaths = exports.CodexRolloutParser = exports.parseDbPartData = exports.parseDbMessageData = exports.convertOpenCodeMessage = exports.detectPlanModeFromText = exports.normalizeToolInput = exports.normalizeToolName = exports.TRUNCATION_PATTERNS = exports.JsonlParser = exports.findCodexRolloutFile = exports.CodexProvider = exports.getOpenCodeDataDir = exports.OpenCodeProvider = exports.ClaudeCodeProvider = exports.getAllDetectedProviders = exports.detectProvider = exports.derivePendingUserRequestV1 = exports.createProviderSessionAdapterV1 = exports.renderHandoffUrlTemplate = exports.addNote = exports.decisionFingerprint = exports.addDecision = exports.completeTask = exports.addTask = exports.withFileLockSync = exports.updateJsonStoreAtomicSync = void 0;
8
- exports.deleteSnapshot = exports.loadSnapshot = exports.saveSnapshot = exports.SessionMonitor = exports.parseTodoDependencies = exports.EventAggregator = exports.getRandomPhrase = exports.PHRASE_CATEGORIES = exports.ALL_PHRASES = exports.HIGHLIGHT_CSS = exports.clearHighlightCache = exports.highlightEvent = exports.formatSessionJson = exports.formatSessionMarkdown = exports.formatSessionText = exports.classifyNoise = exports.shouldMergeWithPrevious = exports.classifyFollowEvent = exports.classifyMessage = exports.getSoftNoiseReason = exports.isHardNoiseFollowEvent = exports.isHardNoise = exports.formatToolSummary = exports.formatTokenCount = exports.formatDurationMs = exports.createJsonlTail = exports.toFollowEvents = exports.createWatcher = exports.parseChangelog = exports.extractProposedPlanShared = exports.parsePlanMarkdownShared = exports.PlanExtractor = exports.segmentAssistantTurn = exports.reasoningSummary = exports.isAssistantTurnSubagentTool = exports.extractTurnSubagents = exports.assistantTurnEventsFromSessionEvents = exports.readSessionContextSnapshot = exports.createSessionContextProjector = exports.calculateSessionContextPressure = exports.buildSessionContextSnapshot = exports.composeContext = exports.FilterEngine = exports.searchSessions = exports.CodexDatabase = exports.OpenCodeDatabase = exports.discoverDebugLogs = exports.collapseDuplicates = exports.filterByLevel = exports.parseDebugLog = void 0;
9
- exports.writeSavedAccountRegistry = exports.readSavedAccountRegistry = exports.getAccountsDir = exports.resolveClaudeLoginCommand = exports.listAllAccounts = exports.switchAccountAsync = exports.switchAccount = exports.spawnAccountLogin = exports.finalizeAccountLoginAsync = exports.finalizeAccountLogin = exports.getAccountLoginStatusAsync = exports.getAccountLoginStatus = exports.beginAccountLogin = exports.isMultiAccountEnabled = exports.resolveActiveClaudeAccount = exports.getActiveAccount = exports.listAccounts = exports.removeAccount = exports.reconcileClaudeAuthState = exports.applyActiveClaudeToLiveHome = exports.resolveActiveClaudeHome = exports.switchToAccount = exports.addCurrentAccount = exports.readActiveClaudeAccount = exports.writeAccountRegistry = exports.readAccountRegistry = exports.ensureDefaultAccounts = exports.readClaudeMaxAccessTokenSync = exports.readClaudeMaxCredentials = exports.writeActiveCredentials = exports.readActiveCredentials = exports.openInBrowser = exports.parseTranscriptFromEvents = exports.parseTranscript = exports.generateHtmlReport = exports.formatCompactionLedger = exports.calculateCompactionLedger = exports.calculateCodeImpact = exports.scoreSessionQuality = exports.calculateQualityTrend = exports.PatternExtractor = exports.HeatmapTracker = exports.FrequencyTracker = exports.readErrorHistory = exports.getTopFailingTools = exports.appendErrorHistory = exports.MAX_ERROR_HISTORY_SESSIONS = exports.ERROR_HISTORY_SCHEMA_VERSION = exports.getSnapshotPath = exports.isSnapshotValid = void 0;
10
- exports.readQuotaHistoryDailyBuckets = exports.readQuotaHistoryRange = exports.appendQuotaHistorySample = exports.writeQuotaSnapshot = exports.readQuotaSnapshot = exports.QuotaPoller = exports.describeQuotaFailure = exports.withQuotaProjections = exports.projectQuotaWindow = exports.fetchQuota = exports.SEVEN_DAY_WINDOW_MS = exports.FIVE_HOUR_WINDOW_MS = exports.AutoSwitchController = exports.decideAutoSwitch = exports.DEFAULT_AUTO_SWITCH_CONFIG = exports.removeLauncher = exports.writeLauncher = exports.isShellHookInstalled = exports.uninstallShellHook = exports.installShellHook = exports.setTerminalActiveProfile = exports.removeCodexAccount = exports.switchToCodexAccountAsync = exports.switchToCodexAccount = exports.finalizeCodexAccountAsync = exports.finalizeCodexAccount = exports.prepareCodexAccountAsync = exports.prepareCodexAccount = exports.getCodexExecutionEnv = exports.resolveSidekickCodexHome = exports.resolveActiveCodexAccount = exports.getActiveCodexAccount = exports.listCodexAccounts = exports.getSystemCodexHome = exports.getCodexMonitoringHomes = exports.getCodexProfileHome = exports.getCodexProfilesDir = exports.readClaudeProfileIdentity = exports.isClaudeProfileAuthenticated = exports.claudeKeychainService = exports.claudeKeychainSuffix = exports.getClaudeProfileHome = exports.getClaudeProfilesDir = exports.getActiveAccountStatus = exports.removeSavedAccountProfile = exports.replaceSavedAccountProfiles = exports.setActiveSavedAccount = exports.upsertSavedAccountProfile = exports.getActiveSavedAccount = exports.listSavedAccountProfiles = void 0;
11
- exports.extractErrorMessage = exports.categorizeError = exports.gatherAssetsForCwd = exports.codexSessions = exports.readCodexAssets = exports.claudeSessions = exports.readClaudeAssets = exports.extractCommands = exports.extractFilePaths = exports.extractUrls = exports.extractTokenUsage = exports.getObservedContextWindowPath = exports.recordObservedContextWindow = exports.loadObservedContextWindows = exports.LITELLM_CATALOG_URL = exports.normalizeLiteLlmContextWindows = exports.normalizeLiteLlmCatalog = exports.hydratePricingCatalog = exports.formatCost = exports.sortModelIds = exports.compareModelIds = exports.getModelDisplayInfo = exports.shortModelName = exports.mergeCostSources = exports.calculateCostWithProvenance = exports.calculateCostWithPricing = exports.calculateCost = exports.getModelInfo = exports.getModelPricing = exports.parseModelId = exports.DEFAULT_CONTEXT_WINDOW = exports.getModelContextWindowSize = exports.selectStatuslineAccount = exports.formatStatusline = exports.estimateTimeToQuota = exports.BurnRateCalculator = exports.MultiProviderQuotaService = exports.resolveZaiQuota = exports.readZaiCredentials = exports.quotaStateFromZaiQuotaLimitPayload = exports.fetchZaiQuotaFromApi = exports.CodexQuotaWatcher = exports.resolveCodexQuotaFromLocalSources = exports.resolveCodexQuota = exports.readLatestCodexQuotaFromRollouts = exports.quotaFromCodexRateLimits = exports.fetchCodexQuotaFromApi = exports.fetchCodexResetCreditsFromApi = exports.getWorkspaceIdFromPath = exports.pruneQuotaHistory = void 0;
12
- exports.formatHealthReport = exports.fetchOpenAIStatus = exports.fetchProviderStatus = exports.assistantTurnToolRefSchema = exports.assistantTurnToolGroupStepSchema = exports.assistantTurnTimelineItemSchema = exports.assistantTurnSubagentStatusSchema = exports.assistantTurnSubagentSchema = exports.assistantTurnReasoningTimelineItemSchema = exports.assistantTurnProjectionSchema = exports.assistantTurnProcessStepSchema = exports.assistantTurnProcessSchema = exports.assistantTurnNarrationStepSchema = exports.assistantTurnEventTypeSchema = exports.assistantTurnEventSchema = exports.listAllAccountsResultSchema = exports.savedAccountProfileSchema = exports.accountEntrySchema = exports.accountLoginStatusSchema = exports.beginAccountLoginResultSchema = exports.accountManagerResultSchema = exports.accountProviderIdSchema = exports.activeAccountStatusSchema = exports.activeProviderAccountStatusSchema = exports.quotaHistoryDailyBucketSchema = exports.quotaHistorySampleSchema = exports.quotaHistoryRuntimeProviderSchema = exports.providerQuotaMapSchema = exports.zaiProviderQuotaStateSchema = exports.codexProviderQuotaStateSchema = exports.claudeProviderQuotaStateSchema = exports.providerQuotaStateSchema = exports.runtimeQuotaProviderSchema = exports.quotaFailureDescriptorSchema = exports.peakHoursStateSchema = exports.codexResetCreditsSnapshotSchema = exports.codexResetCreditSchema = exports.quotaSourceSchema = exports.quotaProviderIdSchema = exports.quotaFailureKindSchema = exports.quotaStateSchema = exports.quotaWindowSchema = exports.extractSessionEvents = exports.permissionModeSchema = exports.sessionEventSchema = exports.sessionMessageSchema = exports.messageUsageSchema = exports.ToolCallTracker = exports.extractToolCalls = exports.extractToolCall = void 0;
13
- exports.scopePeakHoursToSessionProvider = exports.isClaudeCodeSessionProvider = exports.fetchPeakHoursStatus = exports.DEFAULT_PEAK_HOURS_TIMEOUT_MS = exports.createPeakHoursNotApplicableState = exports.runDoctor = exports.getSessionDiagnostics = void 0;
6
+ exports.isAggregateCodexLimit = exports.fileFingerprintParts = exports.fileFingerprint = exports.observedSessionSourceFromProvider = exports.ObservedSessionCollector = exports.weekKey = exports.usageBucketKey = exports.summarizeUsageRows = exports.bucketUsage = exports.importSessionHistory = exports.ACTIVE_SESSION_MTIME_THRESHOLD_MS = exports.sessionSummaryFromStats = exports.removeSessionSummary = exports.markFileImported = exports.isFileImported = exports.applySessionSummary = exports.pruneUsageCache = exports.getUsageCacheDir = exports.collectUsageEvents = exports.USAGE_CACHE_VERSION = exports.MAX_USAGE_CACHE_FILES = exports.findActiveBillingBlock = exports.computeBillingBlocks = exports.BILLING_BLOCK_DURATION_MS = exports.writeStateFile = exports.readStateFile = exports.quotaToStateFile = exports.getStateFilePath = exports.billingBlockToStateFile = exports.STATE_FILE_SCHEMA_VERSION = exports.STATE_FILE_NAME = exports.sessionFingerprintParts = exports.fingerprintString = exports.readSessionReportInputs = exports.readSessionFileStats = exports.providerContextSizeFn = exports.firstUserPrompt = exports.computeSessionFileStats = exports.readSessionTranscript = exports.listRecentSessions = exports.projectSessionTranscript = exports.estimateSerializedTokens = exports.estimateTextTokens = exports.TOKEN_TOTAL_LABEL = exports.TOKEN_CONTEXT_LABEL = exports.sumTokenTotals = exports.summarizeTokens = exports.calculateNormalizedUsageCost = exports.extractNormalizedUsage = exports.normalizeProviderUsage = void 0;
7
+ exports.derivePendingUserRequestV1 = exports.createProviderSessionAdapterV1 = exports.createSessionProviders = exports.SESSION_PROVIDER_IDS = exports.renderHandoffUrlTemplate = exports.addNote = exports.decisionFingerprint = exports.addDecision = exports.completeTask = exports.addTask = exports.withFileLockSync = exports.updateJsonStoreAtomicSync = exports.updateJsonStoreAtomic = exports.atomicWriteFileSync = exports.atomicWriteJsonSync = exports.atomicWriteJson = exports.readClaudeCodePlanFiles = exports.getPlanAnalytics = exports.writePlans = exports.getLatestPlan = exports.readPlans = exports.readLatestHandoff = exports.readHistory = exports.readNotes = exports.readDecisions = exports.readTasks = exports.migrateLegacyProjectStores = exports.resolveProjectIdentity = exports.getProjectSlugRaw = exports.getProjectSlug = exports.encodeWorkspacePath = exports.getGlobalDataPath = exports.getProjectDataPath = exports.setConfigDir = exports.getDefaultConfigDir = exports.getConfigDirOverride = exports.getConfigDir = exports.CONFIG_DIR_ENV_VAR = exports.MAX_PLANS_PER_PROJECT = exports.PLAN_SCHEMA_VERSION = exports.createEmptyDataStore = exports.createEmptyTokenTotals = exports.HISTORICAL_SESSION_RETENTION_LIMIT = exports.HISTORICAL_DATA_SCHEMA_VERSION = exports.STALENESS_THRESHOLDS = exports.IMPORTANCE_DECAY_FACTORS = exports.KNOWLEDGE_NOTE_SCHEMA_VERSION = exports.DECISION_LOG_SCHEMA_VERSION = exports.normalizeTaskStatus = exports.TASK_PERSISTENCE_SCHEMA_VERSION = void 0;
8
+ exports.readSessionPreview = exports.listSessionPreviewsAsync = exports.listSessionPreviews = exports.readCodexHistory = exports.parseMcpToolName = exports.scanSubagentTraces = exports.findAllSessionsWithWorktrees = exports.discoverWorktreeSiblings = exports.resolveWorktreeMainRepo = exports.getAllClaudeProjectFolders = exports.decodeEncodedPath = exports.getMostRecentlyActiveSessionDir = exports.findSubdirectorySessionDirs = exports.findSessionFilesWithStats = exports.findSessionsInDirectory = exports.findAllClaudeSessions = exports.findActiveClaudeSession = exports.discoverSessionDirectory = exports.getClaudeSessionDirectory = exports.encodeClaudeWorkspacePath = exports.SESSION_ACTIVITY_STALENESS_MS = exports.SESSION_ACTIVITY_GRACE_PERIOD_MS = exports.refreshSessionActivityState = exports.detectSessionActivity = exports.classifySessionActivity = exports.extractTaskInfo = exports.scanSubagentDir = exports.normalizeCodexToolInput = exports.normalizeCodexToolName = exports.extractPatchFilePaths = exports.CodexRolloutParser = exports.parseDbPartData = exports.parseDbMessageData = exports.convertOpenCodeMessage = exports.detectPlanModeFromText = exports.normalizeToolInput = exports.normalizeToolName = exports.TRUNCATION_PATTERNS = exports.JsonlParser = exports.walkRolloutFilesAsync = exports.walkRolloutFiles = exports.findCodexRolloutFile = exports.CodexProvider = exports.getOpenCodeDataDir = exports.OpenCodeProvider = exports.ClaudeCodeProvider = exports.getAllDetectedProviders = exports.detectProvider = exports._resetProviderDetectionCache = exports.getObservedActivityReason = void 0;
9
+ exports.EventAggregator = exports.getRandomPhrase = exports.PHRASE_CATEGORIES = exports.ALL_PHRASES = exports.HIGHLIGHT_CSS = exports.clearHighlightCache = exports.highlightEvent = exports.formatSessionJson = exports.formatSessionMarkdown = exports.formatSessionText = exports.classifyNoise = exports.shouldMergeWithPrevious = exports.classifyFollowEvent = exports.classifyMessage = exports.getSoftNoiseReason = exports.isHardNoiseFollowEvent = exports.isHardNoise = exports.formatToolSummary = exports.parseLocalDateKey = exports.formatTokenCount = exports.formatLocalDateKey = exports.formatDurationMs = exports.addLocalDays = exports.createJsonlTail = exports.toFollowEvents = exports.resolveSessionPath = exports.createWatcher = exports.parseChangelog = exports.extractProposedPlanShared = exports.parsePlanMarkdownShared = exports.PlanExtractor = exports.segmentAssistantTurn = exports.reasoningSummary = exports.isAssistantTurnSubagentTool = exports.extractTurnSubagents = exports.assistantTurnEventsFromSessionEvents = exports.readSessionContextSnapshot = exports.createSessionContextProjector = exports.calculateSessionContextPressure = exports.buildSessionContextSnapshot = exports.composeContext = exports.FilterEngine = exports.searchSessions = exports.CodexDatabase = exports.OpenCodeDatabase = exports.discoverDebugLogs = exports.collapseDuplicates = exports.filterByLevel = exports.parseDebugLog = exports.readSessionPreviewAsync = void 0;
10
+ exports.finalizeAccountLogin = exports.getAccountLoginStatusAsync = exports.getAccountLoginStatus = exports.beginAccountLogin = exports.isMultiAccountEnabled = exports.resolveActiveClaudeAccount = exports.getActiveAccount = exports.listAccounts = exports.removeAccount = exports.reconcileClaudeAuthState = exports.applyActiveClaudeToLiveHome = exports.resolveActiveClaudeHome = exports.switchToAccount = exports.addCurrentAccount = exports.readActiveClaudeAccount = exports.writeAccountRegistry = exports.readAccountRegistry = exports.ensureDefaultAccounts = exports.readClaudeMaxAccessTokenSync = exports.readClaudeMaxCredentials = exports.writeActiveCredentials = exports.readActiveCredentials = exports.openInBrowser = exports.parseTranscriptFromEvents = exports.parseTranscript = exports.generateHtmlReport = exports.formatCompactionLedger = exports.calculateCompactionLedger = exports.describeCostProvenance = exports.classifyCostProvenance = exports.calculateCodeImpact = exports.scoreSessionQuality = exports.calculateQualityTrend = exports.PatternExtractor = exports.HeatmapTracker = exports.FrequencyTracker = exports.readErrorHistory = exports.getTopFailingTools = exports.appendErrorHistory = exports.MAX_ERROR_HISTORY_SESSIONS = exports.ERROR_HISTORY_SCHEMA_VERSION = exports.getSnapshotPath = exports.MAX_SNAPSHOT_FILES = exports.pruneSnapshots = exports.isSnapshotValid = exports.deleteSnapshot = exports.loadSnapshot = exports.saveSnapshot = exports.SessionMonitor = exports.parseTodoDependencies = void 0;
11
+ exports.FIVE_HOUR_WINDOW_MS = exports.AutoSwitchController = exports.decideAutoSwitch = exports.DEFAULT_AUTO_SWITCH_CONFIG = exports.removeLauncher = exports.writeLauncher = exports.isShellHookInstalled = exports.uninstallShellHook = exports.installShellHook = exports.setTerminalActiveProfile = exports.removeCodexAccount = exports.switchToCodexAccountAsync = exports.switchToCodexAccount = exports.finalizeCodexAccountAsync = exports.finalizeCodexAccount = exports.prepareCodexAccountAsync = exports.prepareCodexAccount = exports.getCodexExecutionEnv = exports.resolveSidekickCodexHome = exports.resolveActiveCodexAccount = exports.getActiveCodexAccount = exports.listCodexAccounts = exports.getSystemCodexHome = exports.getCodexMonitoringHomes = exports.getCodexProfileHome = exports.getCodexProfilesDir = exports.readClaudeProfileIdentity = exports.isClaudeProfileAuthenticated = exports.claudeKeychainService = exports.claudeKeychainSuffix = exports.getClaudeProfileHome = exports.getClaudeProfilesDir = exports.onAccountsChanged = exports.getActiveAccountStatus = exports.ACCOUNT_PROVIDER_IDS = exports.removeSavedAccountProfile = exports.replaceSavedAccountProfiles = exports.setActiveSavedAccount = exports.upsertSavedAccountProfile = exports.getActiveSavedAccount = exports.listSavedAccountProfiles = exports.writeSavedAccountRegistry = exports.readSavedAccountRegistry = exports.getAccountsDir = exports.resolveClaudeLoginCommand = exports.listAllAccounts = exports.switchAccountAsync = exports.switchAccount = exports.spawnAccountLogin = exports.finalizeAccountLoginAsync = void 0;
12
+ exports.calculateCostWithPricing = exports.calculateCost = exports.getModelInfo = exports.resolveModelPricing = exports.getModelPricing = exports.parseModelId = exports.DEFAULT_CONTEXT_WINDOW = exports.resolveModelContextWindow = exports.getModelContextWindowSize = exports.selectStatuslineAccount = exports.formatStatusline = exports.estimateTimeToQuota = exports.BurnRateCalculator = exports.RUNTIME_QUOTA_PROVIDER_IDS = exports.MultiProviderQuotaService = exports.resolveZaiQuota = exports.readZaiCredentials = exports.quotaStateFromZaiQuotaLimitPayload = exports.fetchZaiQuotaFromApi = exports.CodexQuotaWatcher = exports.resolveCodexQuotaFromLocalSources = exports.resolveCodexQuota = exports.readLatestCodexQuotaFromRollouts = exports.quotaFromCodexRateLimits = exports.fetchCodexQuotaFromApi = exports.fetchCodexResetCreditsFromApi = exports.getWorkspaceIdFromPath = exports.pruneQuotaHistory = exports.readQuotaHistoryDailyBuckets = exports.readQuotaHistoryRange = exports.appendQuotaHistorySample = exports.quotaFromStatuslinePayload = exports.parseClaudeStatuslinePayload = exports.evaluateQuotaThresholds = exports.describeQuotaThresholdAlert = exports.DEFAULT_QUOTA_THRESHOLDS = exports.QUOTA_FRESH_MAX_AGE_MS = exports.QUOTA_AGING_MAX_AGE_MS = exports.formatQuotaAge = exports.classifyQuotaFreshness = exports.resolveQuota = exports.writeQuotaSnapshot = exports.readQuotaSnapshot = exports.QuotaPoller = exports.describeQuotaFailure = exports.withQuotaProjections = exports.projectQuotaWindow = exports.fetchQuota = exports.SEVEN_DAY_WINDOW_MS = exports.QUOTA_PROVIDER_IDS = void 0;
13
+ exports.providerQuotaStateSchema = exports.runtimeQuotaProviderSchema = exports.quotaFailureDescriptorSchema = exports.peakHoursStateSchema = exports.codexResetCreditsSnapshotSchema = exports.codexResetCreditSchema = exports.quotaSourceSchema = exports.quotaProviderIdSchema = exports.quotaFailureKindSchema = exports.quotaStateSchema = exports.quotaWindowSchema = exports.extractSessionEvents = exports.permissionModeSchema = exports.sessionEventSchema = exports.sessionMessageSchema = exports.messageUsageSchema = exports.ToolCallTracker = exports.extractToolCalls = exports.extractToolCall = exports.extractErrorMessage = exports.categorizeError = exports.gatherAssetsForCwd = exports.codexSessions = exports.readCodexAssets = exports.claudeSessions = exports.readClaudeAssets = exports.extractCommands = exports.extractFilePaths = exports.extractUrls = exports.extractTokenUsage = exports.getObservedContextWindowPath = exports.recordObservedContextWindow = exports.loadObservedContextWindows = exports.LITELLM_CATALOG_URL = exports.normalizeLiteLlmContextWindows = exports.normalizeLiteLlmCatalog = exports.hydratePricingCatalog = exports.RESOLVED_MODEL_CATALOG_SCHEMA_VERSION = exports.resolveModelAlias = exports.registerModelAlias = exports.importResolvedModelCatalog = exports.exportResolvedModelCatalog = exports.MODEL_PROVIDER_IDS = exports.formatCost = exports.sortModelIds = exports.compareModelIds = exports.getModelDisplayInfo = exports.shortModelName = exports.mergeCostSources = exports.calculateCostWithProvenance = void 0;
14
+ exports.mergeFailingToolWindows = exports.failingToolTrend = exports.FAILING_TOOL_TREND_ARROWS = exports.scopePeakHoursToSessionProvider = exports.PEAK_HOURS_DESCRIPTION = exports.PEAK_HOURS_CACHE_MS = exports.isClaudeCodeSessionProvider = exports.getScheduledPeakHoursState = exports.fetchPeakHoursStatus = exports.DEFAULT_PEAK_HOURS_TIMEOUT_MS = exports.createPeakHoursNotApplicableState = exports._resetPeakHoursCache = exports.runDoctor = exports.getSessionDiagnostics = exports.formatHealthReport = exports.fetchOpenAIStatus = exports.fetchProviderStatus = exports.assistantTurnToolRefSchema = exports.assistantTurnToolGroupStepSchema = exports.assistantTurnTimelineItemSchema = exports.assistantTurnSubagentStatusSchema = exports.assistantTurnSubagentSchema = exports.assistantTurnReasoningTimelineItemSchema = exports.assistantTurnProjectionSchema = exports.assistantTurnProcessStepSchema = exports.assistantTurnProcessSchema = exports.assistantTurnNarrationStepSchema = exports.assistantTurnEventTypeSchema = exports.assistantTurnEventSchema = exports.listAllAccountsResultSchema = exports.savedAccountProfileSchema = exports.accountEntrySchema = exports.accountLoginStatusSchema = exports.beginAccountLoginResultSchema = exports.accountManagerResultSchema = exports.accountProviderIdSchema = exports.activeAccountStatusSchema = exports.activeProviderAccountStatusSchema = exports.quotaHistoryDailyBucketSchema = exports.quotaHistorySampleSchema = exports.quotaHistoryRuntimeProviderSchema = exports.providerQuotaMapSchema = exports.zaiProviderQuotaStateSchema = exports.codexProviderQuotaStateSchema = exports.claudeProviderQuotaStateSchema = void 0;
14
15
  var usageNormalization_1 = require("./usageNormalization");
15
16
  Object.defineProperty(exports, "normalizeProviderUsage", { enumerable: true, get: function () { return usageNormalization_1.normalizeProviderUsage; } });
16
17
  Object.defineProperty(exports, "extractNormalizedUsage", { enumerable: true, get: function () { return usageNormalization_1.extractNormalizedUsage; } });
17
18
  Object.defineProperty(exports, "calculateNormalizedUsageCost", { enumerable: true, get: function () { return usageNormalization_1.calculateNormalizedUsageCost; } });
19
+ var tokenSummary_1 = require("./tokenSummary");
20
+ Object.defineProperty(exports, "summarizeTokens", { enumerable: true, get: function () { return tokenSummary_1.summarizeTokens; } });
21
+ Object.defineProperty(exports, "sumTokenTotals", { enumerable: true, get: function () { return tokenSummary_1.sumTokenTotals; } });
22
+ Object.defineProperty(exports, "TOKEN_CONTEXT_LABEL", { enumerable: true, get: function () { return tokenSummary_1.TOKEN_CONTEXT_LABEL; } });
23
+ Object.defineProperty(exports, "TOKEN_TOTAL_LABEL", { enumerable: true, get: function () { return tokenSummary_1.TOKEN_TOTAL_LABEL; } });
18
24
  var tokenEstimation_1 = require("./tokenEstimation");
19
25
  Object.defineProperty(exports, "estimateTextTokens", { enumerable: true, get: function () { return tokenEstimation_1.estimateTextTokens; } });
20
26
  Object.defineProperty(exports, "estimateSerializedTokens", { enumerable: true, get: function () { return tokenEstimation_1.estimateSerializedTokens; } });
@@ -23,10 +29,53 @@ Object.defineProperty(exports, "projectSessionTranscript", { enumerable: true, g
23
29
  var sessionTranscripts_1 = require("./sessionTranscripts");
24
30
  Object.defineProperty(exports, "listRecentSessions", { enumerable: true, get: function () { return sessionTranscripts_1.listRecentSessions; } });
25
31
  Object.defineProperty(exports, "readSessionTranscript", { enumerable: true, get: function () { return sessionTranscripts_1.readSessionTranscript; } });
32
+ var sessionStats_1 = require("./sessionStats");
33
+ Object.defineProperty(exports, "computeSessionFileStats", { enumerable: true, get: function () { return sessionStats_1.computeSessionFileStats; } });
34
+ Object.defineProperty(exports, "firstUserPrompt", { enumerable: true, get: function () { return sessionStats_1.firstUserPrompt; } });
35
+ Object.defineProperty(exports, "providerContextSizeFn", { enumerable: true, get: function () { return sessionStats_1.providerContextSizeFn; } });
36
+ Object.defineProperty(exports, "readSessionFileStats", { enumerable: true, get: function () { return sessionStats_1.readSessionFileStats; } });
37
+ var sessionReportInputs_1 = require("./report/sessionReportInputs");
38
+ Object.defineProperty(exports, "readSessionReportInputs", { enumerable: true, get: function () { return sessionReportInputs_1.readSessionReportInputs; } });
39
+ var sessionFingerprint_1 = require("./sessionFingerprint");
40
+ Object.defineProperty(exports, "fingerprintString", { enumerable: true, get: function () { return sessionFingerprint_1.fingerprintString; } });
41
+ Object.defineProperty(exports, "sessionFingerprintParts", { enumerable: true, get: function () { return sessionFingerprint_1.sessionFingerprintParts; } });
42
+ var stateFile_1 = require("./stateFile");
43
+ Object.defineProperty(exports, "STATE_FILE_NAME", { enumerable: true, get: function () { return stateFile_1.STATE_FILE_NAME; } });
44
+ Object.defineProperty(exports, "STATE_FILE_SCHEMA_VERSION", { enumerable: true, get: function () { return stateFile_1.STATE_FILE_SCHEMA_VERSION; } });
45
+ Object.defineProperty(exports, "billingBlockToStateFile", { enumerable: true, get: function () { return stateFile_1.billingBlockToStateFile; } });
46
+ Object.defineProperty(exports, "getStateFilePath", { enumerable: true, get: function () { return stateFile_1.getStateFilePath; } });
47
+ Object.defineProperty(exports, "quotaToStateFile", { enumerable: true, get: function () { return stateFile_1.quotaToStateFile; } });
48
+ Object.defineProperty(exports, "readStateFile", { enumerable: true, get: function () { return stateFile_1.readStateFile; } });
49
+ Object.defineProperty(exports, "writeStateFile", { enumerable: true, get: function () { return stateFile_1.writeStateFile; } });
50
+ var billingBlocks_1 = require("./usage/billingBlocks");
51
+ Object.defineProperty(exports, "BILLING_BLOCK_DURATION_MS", { enumerable: true, get: function () { return billingBlocks_1.BILLING_BLOCK_DURATION_MS; } });
52
+ Object.defineProperty(exports, "computeBillingBlocks", { enumerable: true, get: function () { return billingBlocks_1.computeBillingBlocks; } });
53
+ Object.defineProperty(exports, "findActiveBillingBlock", { enumerable: true, get: function () { return billingBlocks_1.findActiveBillingBlock; } });
54
+ var usageEvents_1 = require("./usage/usageEvents");
55
+ Object.defineProperty(exports, "MAX_USAGE_CACHE_FILES", { enumerable: true, get: function () { return usageEvents_1.MAX_USAGE_CACHE_FILES; } });
56
+ Object.defineProperty(exports, "USAGE_CACHE_VERSION", { enumerable: true, get: function () { return usageEvents_1.USAGE_CACHE_VERSION; } });
57
+ Object.defineProperty(exports, "collectUsageEvents", { enumerable: true, get: function () { return usageEvents_1.collectUsageEvents; } });
58
+ Object.defineProperty(exports, "getUsageCacheDir", { enumerable: true, get: function () { return usageEvents_1.getUsageCacheDir; } });
59
+ Object.defineProperty(exports, "pruneUsageCache", { enumerable: true, get: function () { return usageEvents_1.pruneUsageCache; } });
60
+ var historicalStore_1 = require("./historicalStore");
61
+ Object.defineProperty(exports, "applySessionSummary", { enumerable: true, get: function () { return historicalStore_1.applySessionSummary; } });
62
+ Object.defineProperty(exports, "isFileImported", { enumerable: true, get: function () { return historicalStore_1.isFileImported; } });
63
+ Object.defineProperty(exports, "markFileImported", { enumerable: true, get: function () { return historicalStore_1.markFileImported; } });
64
+ Object.defineProperty(exports, "removeSessionSummary", { enumerable: true, get: function () { return historicalStore_1.removeSessionSummary; } });
65
+ Object.defineProperty(exports, "sessionSummaryFromStats", { enumerable: true, get: function () { return historicalStore_1.sessionSummaryFromStats; } });
66
+ var importSessionHistory_1 = require("./usage/importSessionHistory");
67
+ Object.defineProperty(exports, "ACTIVE_SESSION_MTIME_THRESHOLD_MS", { enumerable: true, get: function () { return importSessionHistory_1.ACTIVE_SESSION_MTIME_THRESHOLD_MS; } });
68
+ Object.defineProperty(exports, "importSessionHistory", { enumerable: true, get: function () { return importSessionHistory_1.importSessionHistory; } });
69
+ var usageReports_1 = require("./usage/usageReports");
70
+ Object.defineProperty(exports, "bucketUsage", { enumerable: true, get: function () { return usageReports_1.bucketUsage; } });
71
+ Object.defineProperty(exports, "summarizeUsageRows", { enumerable: true, get: function () { return usageReports_1.summarizeUsageRows; } });
72
+ Object.defineProperty(exports, "usageBucketKey", { enumerable: true, get: function () { return usageReports_1.usageBucketKey; } });
73
+ Object.defineProperty(exports, "weekKey", { enumerable: true, get: function () { return usageReports_1.weekKey; } });
26
74
  var observedSessionCollector_1 = require("./observedSessionCollector");
27
75
  Object.defineProperty(exports, "ObservedSessionCollector", { enumerable: true, get: function () { return observedSessionCollector_1.ObservedSessionCollector; } });
28
76
  Object.defineProperty(exports, "observedSessionSourceFromProvider", { enumerable: true, get: function () { return observedSessionCollector_1.observedSessionSourceFromProvider; } });
29
77
  Object.defineProperty(exports, "fileFingerprint", { enumerable: true, get: function () { return observedSessionCollector_1.fileFingerprint; } });
78
+ Object.defineProperty(exports, "fileFingerprintParts", { enumerable: true, get: function () { return observedSessionCollector_1.fileFingerprintParts; } });
30
79
  var codex_1 = require("./types/codex");
31
80
  Object.defineProperty(exports, "isAggregateCodexLimit", { enumerable: true, get: function () { return codex_1.isAggregateCodexLimit; } });
32
81
  var taskPersistence_1 = require("./types/taskPersistence");
@@ -96,10 +145,16 @@ var notes_2 = require("./writers/notes");
96
145
  Object.defineProperty(exports, "addNote", { enumerable: true, get: function () { return notes_2.addNote; } });
97
146
  var handoffUrl_1 = require("./handoffUrl");
98
147
  Object.defineProperty(exports, "renderHandoffUrlTemplate", { enumerable: true, get: function () { return handoffUrl_1.renderHandoffUrlTemplate; } });
148
+ var types_1 = require("./providers/types");
149
+ Object.defineProperty(exports, "SESSION_PROVIDER_IDS", { enumerable: true, get: function () { return types_1.SESSION_PROVIDER_IDS; } });
150
+ var factory_1 = require("./providers/factory");
151
+ Object.defineProperty(exports, "createSessionProviders", { enumerable: true, get: function () { return factory_1.createSessionProviders; } });
99
152
  var observedSessionV1_1 = require("./types/observedSessionV1");
100
153
  Object.defineProperty(exports, "createProviderSessionAdapterV1", { enumerable: true, get: function () { return observedSessionV1_1.createProviderSessionAdapterV1; } });
101
154
  Object.defineProperty(exports, "derivePendingUserRequestV1", { enumerable: true, get: function () { return observedSessionV1_1.derivePendingUserRequestV1; } });
155
+ Object.defineProperty(exports, "getObservedActivityReason", { enumerable: true, get: function () { return observedSessionV1_1.getObservedActivityReason; } });
102
156
  var detect_1 = require("./providers/detect");
157
+ Object.defineProperty(exports, "_resetProviderDetectionCache", { enumerable: true, get: function () { return detect_1._resetProviderDetectionCache; } });
103
158
  Object.defineProperty(exports, "detectProvider", { enumerable: true, get: function () { return detect_1.detectProvider; } });
104
159
  Object.defineProperty(exports, "getAllDetectedProviders", { enumerable: true, get: function () { return detect_1.getAllDetectedProviders; } });
105
160
  var claudeCode_1 = require("./providers/claudeCode");
@@ -110,6 +165,9 @@ Object.defineProperty(exports, "getOpenCodeDataDir", { enumerable: true, get: fu
110
165
  var codex_2 = require("./providers/codex");
111
166
  Object.defineProperty(exports, "CodexProvider", { enumerable: true, get: function () { return codex_2.CodexProvider; } });
112
167
  Object.defineProperty(exports, "findCodexRolloutFile", { enumerable: true, get: function () { return codex_2.findCodexRolloutFile; } });
168
+ var rolloutWalker_1 = require("./providers/rolloutWalker");
169
+ Object.defineProperty(exports, "walkRolloutFiles", { enumerable: true, get: function () { return rolloutWalker_1.walkRolloutFiles; } });
170
+ Object.defineProperty(exports, "walkRolloutFilesAsync", { enumerable: true, get: function () { return rolloutWalker_1.walkRolloutFilesAsync; } });
113
171
  // Parsers — JSONL
114
172
  var jsonl_1 = require("./parsers/jsonl");
115
173
  Object.defineProperty(exports, "JsonlParser", { enumerable: true, get: function () { return jsonl_1.JsonlParser; } });
@@ -134,7 +192,11 @@ Object.defineProperty(exports, "scanSubagentDir", { enumerable: true, get: funct
134
192
  Object.defineProperty(exports, "extractTaskInfo", { enumerable: true, get: function () { return subagentScanner_1.extractTaskInfo; } });
135
193
  // Parsers — Session activity detection
136
194
  var sessionActivityDetector_1 = require("./parsers/sessionActivityDetector");
195
+ Object.defineProperty(exports, "classifySessionActivity", { enumerable: true, get: function () { return sessionActivityDetector_1.classifySessionActivity; } });
137
196
  Object.defineProperty(exports, "detectSessionActivity", { enumerable: true, get: function () { return sessionActivityDetector_1.detectSessionActivity; } });
197
+ Object.defineProperty(exports, "refreshSessionActivityState", { enumerable: true, get: function () { return sessionActivityDetector_1.refreshSessionActivityState; } });
198
+ Object.defineProperty(exports, "SESSION_ACTIVITY_GRACE_PERIOD_MS", { enumerable: true, get: function () { return sessionActivityDetector_1.SESSION_ACTIVITY_GRACE_PERIOD_MS; } });
199
+ Object.defineProperty(exports, "SESSION_ACTIVITY_STALENESS_MS", { enumerable: true, get: function () { return sessionActivityDetector_1.SESSION_ACTIVITY_STALENESS_MS; } });
138
200
  // Parsers — Session path resolution (Claude Code)
139
201
  var sessionPathResolver_1 = require("./parsers/sessionPathResolver");
140
202
  Object.defineProperty(exports, "encodeClaudeWorkspacePath", { enumerable: true, get: function () { return sessionPathResolver_1.encodeWorkspacePath; } });
@@ -143,6 +205,7 @@ Object.defineProperty(exports, "discoverSessionDirectory", { enumerable: true, g
143
205
  Object.defineProperty(exports, "findActiveClaudeSession", { enumerable: true, get: function () { return sessionPathResolver_1.findActiveSession; } });
144
206
  Object.defineProperty(exports, "findAllClaudeSessions", { enumerable: true, get: function () { return sessionPathResolver_1.findAllSessions; } });
145
207
  Object.defineProperty(exports, "findSessionsInDirectory", { enumerable: true, get: function () { return sessionPathResolver_1.findSessionsInDirectory; } });
208
+ Object.defineProperty(exports, "findSessionFilesWithStats", { enumerable: true, get: function () { return sessionPathResolver_1.findSessionFilesWithStats; } });
146
209
  Object.defineProperty(exports, "findSubdirectorySessionDirs", { enumerable: true, get: function () { return sessionPathResolver_1.findSubdirectorySessionDirs; } });
147
210
  Object.defineProperty(exports, "getMostRecentlyActiveSessionDir", { enumerable: true, get: function () { return sessionPathResolver_1.getMostRecentlyActiveSessionDir; } });
148
211
  Object.defineProperty(exports, "decodeEncodedPath", { enumerable: true, get: function () { return sessionPathResolver_1.decodeEncodedPath; } });
@@ -162,7 +225,9 @@ Object.defineProperty(exports, "readCodexHistory", { enumerable: true, get: func
162
225
  // Session previews (bounded, stat-first)
163
226
  var sessionPreviews_1 = require("./sessionPreviews");
164
227
  Object.defineProperty(exports, "listSessionPreviews", { enumerable: true, get: function () { return sessionPreviews_1.listSessionPreviews; } });
228
+ Object.defineProperty(exports, "listSessionPreviewsAsync", { enumerable: true, get: function () { return sessionPreviews_1.listSessionPreviewsAsync; } });
165
229
  Object.defineProperty(exports, "readSessionPreview", { enumerable: true, get: function () { return sessionPreviews_1.readSessionPreview; } });
230
+ Object.defineProperty(exports, "readSessionPreviewAsync", { enumerable: true, get: function () { return sessionPreviews_1.readSessionPreviewAsync; } });
166
231
  // Parsers — Debug log parsing
167
232
  var debugLogParser_1 = require("./parsers/debugLogParser");
168
233
  Object.defineProperty(exports, "parseDebugLog", { enumerable: true, get: function () { return debugLogParser_1.parseDebugLog; } });
@@ -202,16 +267,20 @@ Object.defineProperty(exports, "extractProposedPlanShared", { enumerable: true,
202
267
  // Changelog Parsing
203
268
  var changelogParser_1 = require("./parsers/changelogParser");
204
269
  Object.defineProperty(exports, "parseChangelog", { enumerable: true, get: function () { return changelogParser_1.parseChangelog; } });
205
- var factory_1 = require("./watchers/factory");
206
- Object.defineProperty(exports, "createWatcher", { enumerable: true, get: function () { return factory_1.createWatcher; } });
270
+ var factory_2 = require("./watchers/factory");
271
+ Object.defineProperty(exports, "createWatcher", { enumerable: true, get: function () { return factory_2.createWatcher; } });
272
+ Object.defineProperty(exports, "resolveSessionPath", { enumerable: true, get: function () { return factory_2.resolveSessionPath; } });
207
273
  var eventBridge_1 = require("./watchers/eventBridge");
208
274
  Object.defineProperty(exports, "toFollowEvents", { enumerable: true, get: function () { return eventBridge_1.toFollowEvents; } });
209
275
  var jsonlTail_1 = require("./watchers/jsonlTail");
210
276
  Object.defineProperty(exports, "createJsonlTail", { enumerable: true, get: function () { return jsonlTail_1.createJsonlTail; } });
211
277
  // Formatters
212
278
  var formatting_1 = require("./formatting");
279
+ Object.defineProperty(exports, "addLocalDays", { enumerable: true, get: function () { return formatting_1.addLocalDays; } });
213
280
  Object.defineProperty(exports, "formatDurationMs", { enumerable: true, get: function () { return formatting_1.formatDurationMs; } });
281
+ Object.defineProperty(exports, "formatLocalDateKey", { enumerable: true, get: function () { return formatting_1.formatLocalDateKey; } });
214
282
  Object.defineProperty(exports, "formatTokenCount", { enumerable: true, get: function () { return formatting_1.formatTokenCount; } });
283
+ Object.defineProperty(exports, "parseLocalDateKey", { enumerable: true, get: function () { return formatting_1.parseLocalDateKey; } });
215
284
  var toolSummary_1 = require("./formatters/toolSummary");
216
285
  Object.defineProperty(exports, "formatToolSummary", { enumerable: true, get: function () { return toolSummary_1.formatToolSummary; } });
217
286
  var noiseClassifier_1 = require("./formatters/noiseClassifier");
@@ -246,6 +315,8 @@ Object.defineProperty(exports, "saveSnapshot", { enumerable: true, get: function
246
315
  Object.defineProperty(exports, "loadSnapshot", { enumerable: true, get: function () { return snapshot_1.loadSnapshot; } });
247
316
  Object.defineProperty(exports, "deleteSnapshot", { enumerable: true, get: function () { return snapshot_1.deleteSnapshot; } });
248
317
  Object.defineProperty(exports, "isSnapshotValid", { enumerable: true, get: function () { return snapshot_1.isSnapshotValid; } });
318
+ Object.defineProperty(exports, "pruneSnapshots", { enumerable: true, get: function () { return snapshot_1.pruneSnapshots; } });
319
+ Object.defineProperty(exports, "MAX_SNAPSHOT_FILES", { enumerable: true, get: function () { return snapshot_1.MAX_SNAPSHOT_FILES; } });
249
320
  Object.defineProperty(exports, "getSnapshotPath", { enumerable: true, get: function () { return snapshot_1.getSnapshotPath; } });
250
321
  var errorHistory_1 = require("./errorHistory");
251
322
  Object.defineProperty(exports, "ERROR_HISTORY_SCHEMA_VERSION", { enumerable: true, get: function () { return errorHistory_1.ERROR_HISTORY_SCHEMA_VERSION; } });
@@ -265,6 +336,9 @@ Object.defineProperty(exports, "calculateQualityTrend", { enumerable: true, get:
265
336
  Object.defineProperty(exports, "scoreSessionQuality", { enumerable: true, get: function () { return qualityScore_1.scoreSessionQuality; } });
266
337
  var codeImpact_1 = require("./analytics/codeImpact");
267
338
  Object.defineProperty(exports, "calculateCodeImpact", { enumerable: true, get: function () { return codeImpact_1.calculateCodeImpact; } });
339
+ var costProvenance_1 = require("./aggregation/costProvenance");
340
+ Object.defineProperty(exports, "classifyCostProvenance", { enumerable: true, get: function () { return costProvenance_1.classifyCostProvenance; } });
341
+ Object.defineProperty(exports, "describeCostProvenance", { enumerable: true, get: function () { return costProvenance_1.describeCostProvenance; } });
268
342
  var compactionLedger_1 = require("./analytics/compactionLedger");
269
343
  Object.defineProperty(exports, "calculateCompactionLedger", { enumerable: true, get: function () { return compactionLedger_1.calculateCompactionLedger; } });
270
344
  Object.defineProperty(exports, "formatCompactionLedger", { enumerable: true, get: function () { return compactionLedger_1.formatCompactionLedger; } });
@@ -320,8 +394,12 @@ Object.defineProperty(exports, "upsertSavedAccountProfile", { enumerable: true,
320
394
  Object.defineProperty(exports, "setActiveSavedAccount", { enumerable: true, get: function () { return accountRegistry_1.setActiveSavedAccount; } });
321
395
  Object.defineProperty(exports, "replaceSavedAccountProfiles", { enumerable: true, get: function () { return accountRegistry_1.replaceSavedAccountProfiles; } });
322
396
  Object.defineProperty(exports, "removeSavedAccountProfile", { enumerable: true, get: function () { return accountRegistry_1.removeSavedAccountProfile; } });
397
+ var accountRegistry_2 = require("./accountRegistry");
398
+ Object.defineProperty(exports, "ACCOUNT_PROVIDER_IDS", { enumerable: true, get: function () { return accountRegistry_2.ACCOUNT_PROVIDER_IDS; } });
323
399
  var accountStatus_1 = require("./accountStatus");
324
400
  Object.defineProperty(exports, "getActiveAccountStatus", { enumerable: true, get: function () { return accountStatus_1.getActiveAccountStatus; } });
401
+ var accountChanges_1 = require("./accountChanges");
402
+ Object.defineProperty(exports, "onAccountsChanged", { enumerable: true, get: function () { return accountChanges_1.onAccountsChanged; } });
325
403
  var claudeProfiles_1 = require("./claudeProfiles");
326
404
  Object.defineProperty(exports, "getClaudeProfilesDir", { enumerable: true, get: function () { return claudeProfiles_1.getClaudeProfilesDir; } });
327
405
  Object.defineProperty(exports, "getClaudeProfileHome", { enumerable: true, get: function () { return claudeProfiles_1.getClaudeProfileHome; } });
@@ -360,6 +438,7 @@ Object.defineProperty(exports, "AutoSwitchController", { enumerable: true, get:
360
438
  // Quota
361
439
  var quota_1 = require("./quota");
362
440
  Object.defineProperty(exports, "FIVE_HOUR_WINDOW_MS", { enumerable: true, get: function () { return quota_1.FIVE_HOUR_WINDOW_MS; } });
441
+ Object.defineProperty(exports, "QUOTA_PROVIDER_IDS", { enumerable: true, get: function () { return quota_1.QUOTA_PROVIDER_IDS; } });
363
442
  Object.defineProperty(exports, "SEVEN_DAY_WINDOW_MS", { enumerable: true, get: function () { return quota_1.SEVEN_DAY_WINDOW_MS; } });
364
443
  Object.defineProperty(exports, "fetchQuota", { enumerable: true, get: function () { return quota_1.fetchQuota; } });
365
444
  Object.defineProperty(exports, "projectQuotaWindow", { enumerable: true, get: function () { return quota_1.projectQuotaWindow; } });
@@ -371,6 +450,20 @@ Object.defineProperty(exports, "QuotaPoller", { enumerable: true, get: function
371
450
  var quotaSnapshots_1 = require("./quotaSnapshots");
372
451
  Object.defineProperty(exports, "readQuotaSnapshot", { enumerable: true, get: function () { return quotaSnapshots_1.readQuotaSnapshot; } });
373
452
  Object.defineProperty(exports, "writeQuotaSnapshot", { enumerable: true, get: function () { return quotaSnapshots_1.writeQuotaSnapshot; } });
453
+ var quotaResolver_1 = require("./quotaResolver");
454
+ Object.defineProperty(exports, "resolveQuota", { enumerable: true, get: function () { return quotaResolver_1.resolveQuota; } });
455
+ var quota_2 = require("./quota");
456
+ Object.defineProperty(exports, "classifyQuotaFreshness", { enumerable: true, get: function () { return quota_2.classifyQuotaFreshness; } });
457
+ Object.defineProperty(exports, "formatQuotaAge", { enumerable: true, get: function () { return quota_2.formatQuotaAge; } });
458
+ Object.defineProperty(exports, "QUOTA_AGING_MAX_AGE_MS", { enumerable: true, get: function () { return quota_2.QUOTA_AGING_MAX_AGE_MS; } });
459
+ Object.defineProperty(exports, "QUOTA_FRESH_MAX_AGE_MS", { enumerable: true, get: function () { return quota_2.QUOTA_FRESH_MAX_AGE_MS; } });
460
+ var quotaThresholds_1 = require("./quotaThresholds");
461
+ Object.defineProperty(exports, "DEFAULT_QUOTA_THRESHOLDS", { enumerable: true, get: function () { return quotaThresholds_1.DEFAULT_QUOTA_THRESHOLDS; } });
462
+ Object.defineProperty(exports, "describeQuotaThresholdAlert", { enumerable: true, get: function () { return quotaThresholds_1.describeQuotaThresholdAlert; } });
463
+ Object.defineProperty(exports, "evaluateQuotaThresholds", { enumerable: true, get: function () { return quotaThresholds_1.evaluateQuotaThresholds; } });
464
+ var claudeStatuslinePayload_1 = require("./statusline/claudeStatuslinePayload");
465
+ Object.defineProperty(exports, "parseClaudeStatuslinePayload", { enumerable: true, get: function () { return claudeStatuslinePayload_1.parseClaudeStatuslinePayload; } });
466
+ Object.defineProperty(exports, "quotaFromStatuslinePayload", { enumerable: true, get: function () { return claudeStatuslinePayload_1.quotaFromStatuslinePayload; } });
374
467
  var quotaHistory_1 = require("./quotaHistory");
375
468
  Object.defineProperty(exports, "appendQuotaHistorySample", { enumerable: true, get: function () { return quotaHistory_1.appendQuotaHistorySample; } });
376
469
  Object.defineProperty(exports, "readQuotaHistoryRange", { enumerable: true, get: function () { return quotaHistory_1.readQuotaHistoryRange; } });
@@ -393,6 +486,8 @@ Object.defineProperty(exports, "readZaiCredentials", { enumerable: true, get: fu
393
486
  Object.defineProperty(exports, "resolveZaiQuota", { enumerable: true, get: function () { return zaiQuotaApi_1.resolveZaiQuota; } });
394
487
  var multiProviderQuotaService_1 = require("./multiProviderQuotaService");
395
488
  Object.defineProperty(exports, "MultiProviderQuotaService", { enumerable: true, get: function () { return multiProviderQuotaService_1.MultiProviderQuotaService; } });
489
+ var providerQuota_1 = require("./providerQuota");
490
+ Object.defineProperty(exports, "RUNTIME_QUOTA_PROVIDER_IDS", { enumerable: true, get: function () { return providerQuota_1.RUNTIME_QUOTA_PROVIDER_IDS; } });
396
491
  var BurnRateCalculator_1 = require("./statusline/BurnRateCalculator");
397
492
  Object.defineProperty(exports, "BurnRateCalculator", { enumerable: true, get: function () { return BurnRateCalculator_1.BurnRateCalculator; } });
398
493
  Object.defineProperty(exports, "estimateTimeToQuota", { enumerable: true, get: function () { return BurnRateCalculator_1.estimateTimeToQuota; } });
@@ -402,11 +497,13 @@ Object.defineProperty(exports, "selectStatuslineAccount", { enumerable: true, ge
402
497
  // Model Context
403
498
  var modelContext_1 = require("./modelContext");
404
499
  Object.defineProperty(exports, "getModelContextWindowSize", { enumerable: true, get: function () { return modelContext_1.getModelContextWindowSize; } });
500
+ Object.defineProperty(exports, "resolveModelContextWindow", { enumerable: true, get: function () { return modelContext_1.resolveModelContextWindow; } });
405
501
  Object.defineProperty(exports, "DEFAULT_CONTEXT_WINDOW", { enumerable: true, get: function () { return modelContext_1.DEFAULT_CONTEXT_WINDOW; } });
406
502
  // Model Info & Pricing
407
503
  var modelInfo_1 = require("./modelInfo");
408
504
  Object.defineProperty(exports, "parseModelId", { enumerable: true, get: function () { return modelInfo_1.parseModelId; } });
409
505
  Object.defineProperty(exports, "getModelPricing", { enumerable: true, get: function () { return modelInfo_1.getModelPricing; } });
506
+ Object.defineProperty(exports, "resolveModelPricing", { enumerable: true, get: function () { return modelInfo_1.resolveModelPricing; } });
410
507
  Object.defineProperty(exports, "getModelInfo", { enumerable: true, get: function () { return modelInfo_1.getModelInfo; } });
411
508
  Object.defineProperty(exports, "calculateCost", { enumerable: true, get: function () { return modelInfo_1.calculateCost; } });
412
509
  Object.defineProperty(exports, "calculateCostWithPricing", { enumerable: true, get: function () { return modelInfo_1.calculateCostWithPricing; } });
@@ -417,6 +514,13 @@ Object.defineProperty(exports, "getModelDisplayInfo", { enumerable: true, get: f
417
514
  Object.defineProperty(exports, "compareModelIds", { enumerable: true, get: function () { return modelInfo_1.compareModelIds; } });
418
515
  Object.defineProperty(exports, "sortModelIds", { enumerable: true, get: function () { return modelInfo_1.sortModelIds; } });
419
516
  Object.defineProperty(exports, "formatCost", { enumerable: true, get: function () { return modelInfo_1.formatCost; } });
517
+ Object.defineProperty(exports, "MODEL_PROVIDER_IDS", { enumerable: true, get: function () { return modelInfo_1.MODEL_PROVIDER_IDS; } });
518
+ var modelCatalog_1 = require("./modelCatalog");
519
+ Object.defineProperty(exports, "exportResolvedModelCatalog", { enumerable: true, get: function () { return modelCatalog_1.exportResolvedModelCatalog; } });
520
+ Object.defineProperty(exports, "importResolvedModelCatalog", { enumerable: true, get: function () { return modelCatalog_1.importResolvedModelCatalog; } });
521
+ Object.defineProperty(exports, "registerModelAlias", { enumerable: true, get: function () { return modelCatalog_1.registerModelAlias; } });
522
+ Object.defineProperty(exports, "resolveModelAlias", { enumerable: true, get: function () { return modelCatalog_1.resolveModelAlias; } });
523
+ Object.defineProperty(exports, "RESOLVED_MODEL_CATALOG_SCHEMA_VERSION", { enumerable: true, get: function () { return modelCatalog_1.RESOLVED_MODEL_CATALOG_SCHEMA_VERSION; } });
420
524
  // Pricing Catalog (LiteLLM hydration) — Node-only. Safe for extension host
421
525
  // and CLI; do NOT import from browser bundles (webviews).
422
526
  var pricingCatalog_1 = require("./pricingCatalog");
@@ -461,22 +565,22 @@ Object.defineProperty(exports, "sessionEventSchema", { enumerable: true, get: fu
461
565
  Object.defineProperty(exports, "permissionModeSchema", { enumerable: true, get: function () { return sessionEvent_1.permissionModeSchema; } });
462
566
  Object.defineProperty(exports, "extractSessionEvents", { enumerable: true, get: function () { return sessionEvent_1.extractSessionEvents; } });
463
567
  // Schemas — Zod runtime validation for quota / provider quota / peak hours
464
- var quota_2 = require("./schemas/quota");
465
- Object.defineProperty(exports, "quotaWindowSchema", { enumerable: true, get: function () { return quota_2.quotaWindowSchema; } });
466
- Object.defineProperty(exports, "quotaStateSchema", { enumerable: true, get: function () { return quota_2.quotaStateSchema; } });
467
- Object.defineProperty(exports, "quotaFailureKindSchema", { enumerable: true, get: function () { return quota_2.quotaFailureKindSchema; } });
468
- Object.defineProperty(exports, "quotaProviderIdSchema", { enumerable: true, get: function () { return quota_2.quotaProviderIdSchema; } });
469
- Object.defineProperty(exports, "quotaSourceSchema", { enumerable: true, get: function () { return quota_2.quotaSourceSchema; } });
470
- Object.defineProperty(exports, "codexResetCreditSchema", { enumerable: true, get: function () { return quota_2.codexResetCreditSchema; } });
471
- Object.defineProperty(exports, "codexResetCreditsSnapshotSchema", { enumerable: true, get: function () { return quota_2.codexResetCreditsSnapshotSchema; } });
472
- Object.defineProperty(exports, "peakHoursStateSchema", { enumerable: true, get: function () { return quota_2.peakHoursStateSchema; } });
473
- Object.defineProperty(exports, "quotaFailureDescriptorSchema", { enumerable: true, get: function () { return quota_2.quotaFailureDescriptorSchema; } });
474
- Object.defineProperty(exports, "runtimeQuotaProviderSchema", { enumerable: true, get: function () { return quota_2.runtimeQuotaProviderSchema; } });
475
- Object.defineProperty(exports, "providerQuotaStateSchema", { enumerable: true, get: function () { return quota_2.providerQuotaStateSchema; } });
476
- Object.defineProperty(exports, "claudeProviderQuotaStateSchema", { enumerable: true, get: function () { return quota_2.claudeProviderQuotaStateSchema; } });
477
- Object.defineProperty(exports, "codexProviderQuotaStateSchema", { enumerable: true, get: function () { return quota_2.codexProviderQuotaStateSchema; } });
478
- Object.defineProperty(exports, "zaiProviderQuotaStateSchema", { enumerable: true, get: function () { return quota_2.zaiProviderQuotaStateSchema; } });
479
- Object.defineProperty(exports, "providerQuotaMapSchema", { enumerable: true, get: function () { return quota_2.providerQuotaMapSchema; } });
568
+ var quota_3 = require("./schemas/quota");
569
+ Object.defineProperty(exports, "quotaWindowSchema", { enumerable: true, get: function () { return quota_3.quotaWindowSchema; } });
570
+ Object.defineProperty(exports, "quotaStateSchema", { enumerable: true, get: function () { return quota_3.quotaStateSchema; } });
571
+ Object.defineProperty(exports, "quotaFailureKindSchema", { enumerable: true, get: function () { return quota_3.quotaFailureKindSchema; } });
572
+ Object.defineProperty(exports, "quotaProviderIdSchema", { enumerable: true, get: function () { return quota_3.quotaProviderIdSchema; } });
573
+ Object.defineProperty(exports, "quotaSourceSchema", { enumerable: true, get: function () { return quota_3.quotaSourceSchema; } });
574
+ Object.defineProperty(exports, "codexResetCreditSchema", { enumerable: true, get: function () { return quota_3.codexResetCreditSchema; } });
575
+ Object.defineProperty(exports, "codexResetCreditsSnapshotSchema", { enumerable: true, get: function () { return quota_3.codexResetCreditsSnapshotSchema; } });
576
+ Object.defineProperty(exports, "peakHoursStateSchema", { enumerable: true, get: function () { return quota_3.peakHoursStateSchema; } });
577
+ Object.defineProperty(exports, "quotaFailureDescriptorSchema", { enumerable: true, get: function () { return quota_3.quotaFailureDescriptorSchema; } });
578
+ Object.defineProperty(exports, "runtimeQuotaProviderSchema", { enumerable: true, get: function () { return quota_3.runtimeQuotaProviderSchema; } });
579
+ Object.defineProperty(exports, "providerQuotaStateSchema", { enumerable: true, get: function () { return quota_3.providerQuotaStateSchema; } });
580
+ Object.defineProperty(exports, "claudeProviderQuotaStateSchema", { enumerable: true, get: function () { return quota_3.claudeProviderQuotaStateSchema; } });
581
+ Object.defineProperty(exports, "codexProviderQuotaStateSchema", { enumerable: true, get: function () { return quota_3.codexProviderQuotaStateSchema; } });
582
+ Object.defineProperty(exports, "zaiProviderQuotaStateSchema", { enumerable: true, get: function () { return quota_3.zaiProviderQuotaStateSchema; } });
583
+ Object.defineProperty(exports, "providerQuotaMapSchema", { enumerable: true, get: function () { return quota_3.providerQuotaMapSchema; } });
480
584
  // Schemas — Zod runtime validation for quota history
481
585
  var quotaHistory_2 = require("./schemas/quotaHistory");
482
586
  Object.defineProperty(exports, "quotaHistoryRuntimeProviderSchema", { enumerable: true, get: function () { return quotaHistory_2.quotaHistoryRuntimeProviderSchema; } });
@@ -518,8 +622,16 @@ Object.defineProperty(exports, "getSessionDiagnostics", { enumerable: true, get:
518
622
  Object.defineProperty(exports, "runDoctor", { enumerable: true, get: function () { return doctor_1.runDoctor; } });
519
623
  // Peak Hours (PromoClock — third-party)
520
624
  var peakHours_1 = require("./peakHours");
625
+ Object.defineProperty(exports, "_resetPeakHoursCache", { enumerable: true, get: function () { return peakHours_1._resetPeakHoursCache; } });
521
626
  Object.defineProperty(exports, "createPeakHoursNotApplicableState", { enumerable: true, get: function () { return peakHours_1.createPeakHoursNotApplicableState; } });
522
627
  Object.defineProperty(exports, "DEFAULT_PEAK_HOURS_TIMEOUT_MS", { enumerable: true, get: function () { return peakHours_1.DEFAULT_PEAK_HOURS_TIMEOUT_MS; } });
523
628
  Object.defineProperty(exports, "fetchPeakHoursStatus", { enumerable: true, get: function () { return peakHours_1.fetchPeakHoursStatus; } });
629
+ Object.defineProperty(exports, "getScheduledPeakHoursState", { enumerable: true, get: function () { return peakHours_1.getScheduledPeakHoursState; } });
524
630
  Object.defineProperty(exports, "isClaudeCodeSessionProvider", { enumerable: true, get: function () { return peakHours_1.isClaudeCodeSessionProvider; } });
631
+ Object.defineProperty(exports, "PEAK_HOURS_CACHE_MS", { enumerable: true, get: function () { return peakHours_1.PEAK_HOURS_CACHE_MS; } });
632
+ Object.defineProperty(exports, "PEAK_HOURS_DESCRIPTION", { enumerable: true, get: function () { return peakHours_1.PEAK_HOURS_DESCRIPTION; } });
525
633
  Object.defineProperty(exports, "scopePeakHoursToSessionProvider", { enumerable: true, get: function () { return peakHours_1.scopePeakHoursToSessionProvider; } });
634
+ var failingTools_1 = require("./failingTools");
635
+ Object.defineProperty(exports, "FAILING_TOOL_TREND_ARROWS", { enumerable: true, get: function () { return failingTools_1.FAILING_TOOL_TREND_ARROWS; } });
636
+ Object.defineProperty(exports, "failingToolTrend", { enumerable: true, get: function () { return failingTools_1.failingToolTrend; } });
637
+ Object.defineProperty(exports, "mergeFailingToolWindows", { enumerable: true, get: function () { return failingTools_1.mergeFailingToolWindows; } });
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Register a short or host-specific model name that resolves to a canonical ID.
3
+ * Invalid and cyclic registrations are rejected without changing the registry.
4
+ */
5
+ export declare function registerModelAlias(alias: string, canonicalId: string): boolean;
6
+ /** Resolve a registered alias, returning normalized input when no alias exists. */
7
+ export declare function resolveModelAlias(modelId: string): string;
8
+ /** Internal snapshot used by the cross-realm catalog serializer. */
9
+ export declare function _getModelAliases(): Record<string, string>;
10
+ /** Internal hydration hook used by the cross-realm catalog importer. */
11
+ export declare function _importModelAliases(values: Record<string, string>): void;
12
+ /** Internal test hook. */
13
+ export declare function _clearModelAliases(): void;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerModelAlias = registerModelAlias;
4
+ exports.resolveModelAlias = resolveModelAlias;
5
+ exports._getModelAliases = _getModelAliases;
6
+ exports._importModelAliases = _importModelAliases;
7
+ exports._clearModelAliases = _clearModelAliases;
8
+ const aliases = new Map();
9
+ function normalizeAlias(value) {
10
+ return value.trim().toLowerCase();
11
+ }
12
+ /**
13
+ * Register a short or host-specific model name that resolves to a canonical ID.
14
+ * Invalid and cyclic registrations are rejected without changing the registry.
15
+ */
16
+ function registerModelAlias(alias, canonicalId) {
17
+ const normalizedAlias = normalizeAlias(alias);
18
+ const normalizedCanonicalId = normalizeAlias(canonicalId);
19
+ if (!normalizedAlias || !normalizedCanonicalId || normalizedAlias === normalizedCanonicalId) {
20
+ return false;
21
+ }
22
+ let candidate = normalizedCanonicalId;
23
+ const visited = new Set([normalizedAlias]);
24
+ while (aliases.has(candidate)) {
25
+ if (visited.has(candidate))
26
+ return false;
27
+ visited.add(candidate);
28
+ candidate = aliases.get(candidate);
29
+ }
30
+ if (candidate === normalizedAlias)
31
+ return false;
32
+ aliases.set(normalizedAlias, normalizedCanonicalId);
33
+ return true;
34
+ }
35
+ /** Resolve a registered alias, returning normalized input when no alias exists. */
36
+ function resolveModelAlias(modelId) {
37
+ let current = normalizeAlias(modelId);
38
+ const visited = new Set();
39
+ while (aliases.has(current) && !visited.has(current)) {
40
+ visited.add(current);
41
+ current = aliases.get(current);
42
+ }
43
+ return current;
44
+ }
45
+ /** Internal snapshot used by the cross-realm catalog serializer. */
46
+ function _getModelAliases() {
47
+ return Object.fromEntries(aliases);
48
+ }
49
+ /** Internal hydration hook used by the cross-realm catalog importer. */
50
+ function _importModelAliases(values) {
51
+ for (const [alias, canonicalId] of Object.entries(values)) {
52
+ registerModelAlias(alias, canonicalId);
53
+ }
54
+ }
55
+ /** Internal test hook. */
56
+ function _clearModelAliases() {
57
+ aliases.clear();
58
+ }
@@ -0,0 +1,32 @@
1
+ import { type ResolvedModelContextWindow } from './modelContext';
2
+ import { type ResolvedModelPricing } from './modelInfo';
3
+ import { registerModelAlias, resolveModelAlias } from './modelAliases';
4
+ export declare const RESOLVED_MODEL_CATALOG_SCHEMA_VERSION: 1;
5
+ export interface ResolvedModelCatalogEntry {
6
+ id: string;
7
+ canonicalId: string;
8
+ contextWindow: ResolvedModelContextWindow;
9
+ pricing: ResolvedModelPricing;
10
+ }
11
+ export interface ResolvedModelCatalogSnapshot {
12
+ schemaVersion: typeof RESOLVED_MODEL_CATALOG_SCHEMA_VERSION;
13
+ models: Record<string, ResolvedModelCatalogEntry>;
14
+ aliases: Record<string, string>;
15
+ }
16
+ export interface ImportResolvedModelCatalogResult {
17
+ imported: number;
18
+ diagnostics: string[];
19
+ }
20
+ /**
21
+ * Export an entirely serializable catalog suitable for IPC to another JS realm.
22
+ * Each entry records published, observed, and tier-effective context windows,
23
+ * plus pricing match provenance (including prefix inheritance).
24
+ */
25
+ export declare function exportResolvedModelCatalog(ids?: readonly string[]): ResolvedModelCatalogSnapshot;
26
+ /**
27
+ * Hydrate exact model resolutions exported by another bundle realm.
28
+ * Invalid entries are skipped and reported; import never partially mutates an
29
+ * entry or throws for malformed IPC data.
30
+ */
31
+ export declare function importResolvedModelCatalog(snapshot: unknown): ImportResolvedModelCatalogResult;
32
+ export { registerModelAlias, resolveModelAlias };