sidekick-shared 0.25.0 → 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.
- package/CHANGELOG.md +57 -0
- package/README.md +49 -3
- package/dist/accountChanges.js +22 -3
- package/dist/accountRegistry.d.ts +22 -1
- package/dist/accountRegistry.js +37 -14
- package/dist/accountStatus.d.ts +9 -1
- package/dist/accountStatus.js +3 -3
- package/dist/accounts.d.ts +3 -1
- package/dist/accounts.js +84 -64
- package/dist/aggregation/EventAggregator.d.ts +15 -2
- package/dist/aggregation/EventAggregator.js +54 -9
- package/dist/aggregation/costProvenance.d.ts +14 -0
- package/dist/aggregation/costProvenance.js +35 -0
- package/dist/aggregation/snapshot.d.ts +13 -2
- package/dist/aggregation/snapshot.js +57 -6
- package/dist/aggregation/types.d.ts +30 -1
- package/dist/analytics/compactionLedger.js +15 -5
- package/dist/analytics/qualityScore.js +2 -1
- package/dist/browser.d.ts +11 -1
- package/dist/browser.js +29 -1
- package/dist/codexProfiles.d.ts +3 -1
- package/dist/codexProfiles.js +4 -2
- package/dist/codexQuota.d.ts +2 -0
- package/dist/codexQuota.js +11 -66
- package/dist/failingTools.d.ts +37 -0
- package/dist/failingTools.js +70 -0
- package/dist/formatters/sessionDump.js +13 -7
- package/dist/formatting.d.ts +13 -0
- package/dist/formatting.js +35 -0
- package/dist/historicalStore.d.ts +47 -0
- package/dist/historicalStore.js +312 -0
- package/dist/index.d.ts +46 -12
- package/dist/index.js +112 -24
- package/dist/node.d.ts +19 -0
- package/dist/node.js +47 -1
- package/dist/observedContextWindows.d.ts +7 -0
- package/dist/observedContextWindows.js +17 -2
- package/dist/observedSessionCollector.d.ts +3 -8
- package/dist/observedSessionCollector.js +10 -27
- package/dist/parsers/sessionActivityDetector.d.ts +24 -2
- package/dist/parsers/sessionActivityDetector.js +95 -17
- package/dist/parsers/sessionPathResolver.d.ts +11 -0
- package/dist/parsers/sessionPathResolver.js +13 -10
- package/dist/peakHours.d.ts +34 -3
- package/dist/peakHours.js +92 -7
- package/dist/pricingCatalog.d.ts +7 -0
- package/dist/pricingCatalog.js +8 -5
- package/dist/providers/claudeCode.js +11 -96
- package/dist/providers/codex.d.ts +2 -0
- package/dist/providers/codex.js +94 -259
- package/dist/providers/detect.d.ts +2 -0
- package/dist/providers/detect.js +29 -24
- package/dist/providers/factory.d.ts +6 -0
- package/dist/providers/openCode.d.ts +2 -0
- package/dist/providers/openCode.js +105 -121
- package/dist/providers/rolloutWalker.d.ts +53 -0
- package/dist/providers/rolloutWalker.js +209 -0
- package/dist/providers/types.d.ts +30 -0
- package/dist/quota.d.ts +30 -3
- package/dist/quota.js +35 -3
- package/dist/quotaHistory.d.ts +1 -1
- package/dist/quotaHistory.js +36 -35
- package/dist/quotaResolver.d.ts +81 -0
- package/dist/quotaResolver.js +213 -0
- package/dist/quotaSnapshots.d.ts +15 -2
- package/dist/quotaSnapshots.js +25 -3
- package/dist/quotaThresholds.d.ts +60 -0
- package/dist/quotaThresholds.js +90 -0
- package/dist/report/htmlReportGenerator.js +10 -4
- package/dist/report/sessionReportInputs.d.ts +23 -0
- package/dist/report/sessionReportInputs.js +34 -0
- package/dist/schemas/index.d.ts +2 -0
- package/dist/schemas/index.js +10 -1
- package/dist/schemas/quota.d.ts +139 -0
- package/dist/schemas/quota.js +17 -2
- package/dist/schemas/quotaHistory.d.ts +1 -0
- package/dist/schemas/quotaHistory.js +1 -1
- package/dist/schemas/sessionEvent.d.ts +6 -0
- package/dist/schemas/sessionEvent.js +1 -0
- package/dist/schemas/stateFile.d.ts +198 -0
- package/dist/schemas/stateFile.js +77 -0
- package/dist/schemas/transcript.js +2 -0
- package/dist/sessionFingerprint.d.ts +25 -0
- package/dist/sessionFingerprint.js +46 -0
- package/dist/sessionPreviews.d.ts +7 -1
- package/dist/sessionPreviews.js +15 -3
- package/dist/sessionStats.d.ts +51 -0
- package/dist/sessionStats.js +166 -0
- package/dist/stateFile.d.ts +113 -0
- package/dist/stateFile.js +160 -0
- package/dist/statusline/claudeStatuslinePayload.d.ts +89 -0
- package/dist/statusline/claudeStatuslinePayload.js +152 -0
- package/dist/statusline/formatter.d.ts +13 -0
- package/dist/statusline/formatter.js +48 -6
- package/dist/statusline/index.d.ts +10 -2
- package/dist/statusline/index.js +19 -1
- package/dist/tokenSummary.d.ts +62 -0
- package/dist/tokenSummary.js +72 -0
- package/dist/transcript.d.ts +5 -0
- package/dist/transcript.js +2 -0
- package/dist/types/observedSessionV1.d.ts +2 -0
- package/dist/types/observedSessionV1.js +75 -18
- package/dist/types/sessionEvent.d.ts +2 -0
- package/dist/usage/billingBlocks.d.ts +85 -0
- package/dist/usage/billingBlocks.js +153 -0
- package/dist/usage/importSessionHistory.d.ts +53 -0
- package/dist/usage/importSessionHistory.js +88 -0
- package/dist/usage/usageEvents.d.ts +92 -0
- package/dist/usage/usageEvents.js +322 -0
- package/dist/usage/usageReports.d.ts +76 -0
- package/dist/usage/usageReports.js +208 -0
- package/dist/watchers/factory.d.ts +6 -0
- package/dist/watchers/factory.js +30 -25
- package/dist/zaiQuotaApi.d.ts +2 -0
- package/dist/zaiQuotaApi.js +2 -0
- package/package.json +1 -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.
|
|
7
|
-
exports.
|
|
8
|
-
exports.
|
|
9
|
-
exports.
|
|
10
|
-
exports.
|
|
11
|
-
exports.
|
|
12
|
-
exports.
|
|
13
|
-
exports.
|
|
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,6 +29,48 @@ 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; } });
|
|
@@ -104,7 +152,9 @@ Object.defineProperty(exports, "createSessionProviders", { enumerable: true, get
|
|
|
104
152
|
var observedSessionV1_1 = require("./types/observedSessionV1");
|
|
105
153
|
Object.defineProperty(exports, "createProviderSessionAdapterV1", { enumerable: true, get: function () { return observedSessionV1_1.createProviderSessionAdapterV1; } });
|
|
106
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; } });
|
|
107
156
|
var detect_1 = require("./providers/detect");
|
|
157
|
+
Object.defineProperty(exports, "_resetProviderDetectionCache", { enumerable: true, get: function () { return detect_1._resetProviderDetectionCache; } });
|
|
108
158
|
Object.defineProperty(exports, "detectProvider", { enumerable: true, get: function () { return detect_1.detectProvider; } });
|
|
109
159
|
Object.defineProperty(exports, "getAllDetectedProviders", { enumerable: true, get: function () { return detect_1.getAllDetectedProviders; } });
|
|
110
160
|
var claudeCode_1 = require("./providers/claudeCode");
|
|
@@ -115,6 +165,9 @@ Object.defineProperty(exports, "getOpenCodeDataDir", { enumerable: true, get: fu
|
|
|
115
165
|
var codex_2 = require("./providers/codex");
|
|
116
166
|
Object.defineProperty(exports, "CodexProvider", { enumerable: true, get: function () { return codex_2.CodexProvider; } });
|
|
117
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; } });
|
|
118
171
|
// Parsers — JSONL
|
|
119
172
|
var jsonl_1 = require("./parsers/jsonl");
|
|
120
173
|
Object.defineProperty(exports, "JsonlParser", { enumerable: true, get: function () { return jsonl_1.JsonlParser; } });
|
|
@@ -139,8 +192,11 @@ Object.defineProperty(exports, "scanSubagentDir", { enumerable: true, get: funct
|
|
|
139
192
|
Object.defineProperty(exports, "extractTaskInfo", { enumerable: true, get: function () { return subagentScanner_1.extractTaskInfo; } });
|
|
140
193
|
// Parsers — Session activity detection
|
|
141
194
|
var sessionActivityDetector_1 = require("./parsers/sessionActivityDetector");
|
|
195
|
+
Object.defineProperty(exports, "classifySessionActivity", { enumerable: true, get: function () { return sessionActivityDetector_1.classifySessionActivity; } });
|
|
142
196
|
Object.defineProperty(exports, "detectSessionActivity", { enumerable: true, get: function () { return sessionActivityDetector_1.detectSessionActivity; } });
|
|
143
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; } });
|
|
144
200
|
// Parsers — Session path resolution (Claude Code)
|
|
145
201
|
var sessionPathResolver_1 = require("./parsers/sessionPathResolver");
|
|
146
202
|
Object.defineProperty(exports, "encodeClaudeWorkspacePath", { enumerable: true, get: function () { return sessionPathResolver_1.encodeWorkspacePath; } });
|
|
@@ -149,6 +205,7 @@ Object.defineProperty(exports, "discoverSessionDirectory", { enumerable: true, g
|
|
|
149
205
|
Object.defineProperty(exports, "findActiveClaudeSession", { enumerable: true, get: function () { return sessionPathResolver_1.findActiveSession; } });
|
|
150
206
|
Object.defineProperty(exports, "findAllClaudeSessions", { enumerable: true, get: function () { return sessionPathResolver_1.findAllSessions; } });
|
|
151
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; } });
|
|
152
209
|
Object.defineProperty(exports, "findSubdirectorySessionDirs", { enumerable: true, get: function () { return sessionPathResolver_1.findSubdirectorySessionDirs; } });
|
|
153
210
|
Object.defineProperty(exports, "getMostRecentlyActiveSessionDir", { enumerable: true, get: function () { return sessionPathResolver_1.getMostRecentlyActiveSessionDir; } });
|
|
154
211
|
Object.defineProperty(exports, "decodeEncodedPath", { enumerable: true, get: function () { return sessionPathResolver_1.decodeEncodedPath; } });
|
|
@@ -212,14 +269,18 @@ var changelogParser_1 = require("./parsers/changelogParser");
|
|
|
212
269
|
Object.defineProperty(exports, "parseChangelog", { enumerable: true, get: function () { return changelogParser_1.parseChangelog; } });
|
|
213
270
|
var factory_2 = require("./watchers/factory");
|
|
214
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; } });
|
|
215
273
|
var eventBridge_1 = require("./watchers/eventBridge");
|
|
216
274
|
Object.defineProperty(exports, "toFollowEvents", { enumerable: true, get: function () { return eventBridge_1.toFollowEvents; } });
|
|
217
275
|
var jsonlTail_1 = require("./watchers/jsonlTail");
|
|
218
276
|
Object.defineProperty(exports, "createJsonlTail", { enumerable: true, get: function () { return jsonlTail_1.createJsonlTail; } });
|
|
219
277
|
// Formatters
|
|
220
278
|
var formatting_1 = require("./formatting");
|
|
279
|
+
Object.defineProperty(exports, "addLocalDays", { enumerable: true, get: function () { return formatting_1.addLocalDays; } });
|
|
221
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; } });
|
|
222
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; } });
|
|
223
284
|
var toolSummary_1 = require("./formatters/toolSummary");
|
|
224
285
|
Object.defineProperty(exports, "formatToolSummary", { enumerable: true, get: function () { return toolSummary_1.formatToolSummary; } });
|
|
225
286
|
var noiseClassifier_1 = require("./formatters/noiseClassifier");
|
|
@@ -254,6 +315,8 @@ Object.defineProperty(exports, "saveSnapshot", { enumerable: true, get: function
|
|
|
254
315
|
Object.defineProperty(exports, "loadSnapshot", { enumerable: true, get: function () { return snapshot_1.loadSnapshot; } });
|
|
255
316
|
Object.defineProperty(exports, "deleteSnapshot", { enumerable: true, get: function () { return snapshot_1.deleteSnapshot; } });
|
|
256
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; } });
|
|
257
320
|
Object.defineProperty(exports, "getSnapshotPath", { enumerable: true, get: function () { return snapshot_1.getSnapshotPath; } });
|
|
258
321
|
var errorHistory_1 = require("./errorHistory");
|
|
259
322
|
Object.defineProperty(exports, "ERROR_HISTORY_SCHEMA_VERSION", { enumerable: true, get: function () { return errorHistory_1.ERROR_HISTORY_SCHEMA_VERSION; } });
|
|
@@ -273,6 +336,9 @@ Object.defineProperty(exports, "calculateQualityTrend", { enumerable: true, get:
|
|
|
273
336
|
Object.defineProperty(exports, "scoreSessionQuality", { enumerable: true, get: function () { return qualityScore_1.scoreSessionQuality; } });
|
|
274
337
|
var codeImpact_1 = require("./analytics/codeImpact");
|
|
275
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; } });
|
|
276
342
|
var compactionLedger_1 = require("./analytics/compactionLedger");
|
|
277
343
|
Object.defineProperty(exports, "calculateCompactionLedger", { enumerable: true, get: function () { return compactionLedger_1.calculateCompactionLedger; } });
|
|
278
344
|
Object.defineProperty(exports, "formatCompactionLedger", { enumerable: true, get: function () { return compactionLedger_1.formatCompactionLedger; } });
|
|
@@ -384,6 +450,20 @@ Object.defineProperty(exports, "QuotaPoller", { enumerable: true, get: function
|
|
|
384
450
|
var quotaSnapshots_1 = require("./quotaSnapshots");
|
|
385
451
|
Object.defineProperty(exports, "readQuotaSnapshot", { enumerable: true, get: function () { return quotaSnapshots_1.readQuotaSnapshot; } });
|
|
386
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; } });
|
|
387
467
|
var quotaHistory_1 = require("./quotaHistory");
|
|
388
468
|
Object.defineProperty(exports, "appendQuotaHistorySample", { enumerable: true, get: function () { return quotaHistory_1.appendQuotaHistorySample; } });
|
|
389
469
|
Object.defineProperty(exports, "readQuotaHistoryRange", { enumerable: true, get: function () { return quotaHistory_1.readQuotaHistoryRange; } });
|
|
@@ -485,22 +565,22 @@ Object.defineProperty(exports, "sessionEventSchema", { enumerable: true, get: fu
|
|
|
485
565
|
Object.defineProperty(exports, "permissionModeSchema", { enumerable: true, get: function () { return sessionEvent_1.permissionModeSchema; } });
|
|
486
566
|
Object.defineProperty(exports, "extractSessionEvents", { enumerable: true, get: function () { return sessionEvent_1.extractSessionEvents; } });
|
|
487
567
|
// Schemas — Zod runtime validation for quota / provider quota / peak hours
|
|
488
|
-
var
|
|
489
|
-
Object.defineProperty(exports, "quotaWindowSchema", { enumerable: true, get: function () { return
|
|
490
|
-
Object.defineProperty(exports, "quotaStateSchema", { enumerable: true, get: function () { return
|
|
491
|
-
Object.defineProperty(exports, "quotaFailureKindSchema", { enumerable: true, get: function () { return
|
|
492
|
-
Object.defineProperty(exports, "quotaProviderIdSchema", { enumerable: true, get: function () { return
|
|
493
|
-
Object.defineProperty(exports, "quotaSourceSchema", { enumerable: true, get: function () { return
|
|
494
|
-
Object.defineProperty(exports, "codexResetCreditSchema", { enumerable: true, get: function () { return
|
|
495
|
-
Object.defineProperty(exports, "codexResetCreditsSnapshotSchema", { enumerable: true, get: function () { return
|
|
496
|
-
Object.defineProperty(exports, "peakHoursStateSchema", { enumerable: true, get: function () { return
|
|
497
|
-
Object.defineProperty(exports, "quotaFailureDescriptorSchema", { enumerable: true, get: function () { return
|
|
498
|
-
Object.defineProperty(exports, "runtimeQuotaProviderSchema", { enumerable: true, get: function () { return
|
|
499
|
-
Object.defineProperty(exports, "providerQuotaStateSchema", { enumerable: true, get: function () { return
|
|
500
|
-
Object.defineProperty(exports, "claudeProviderQuotaStateSchema", { enumerable: true, get: function () { return
|
|
501
|
-
Object.defineProperty(exports, "codexProviderQuotaStateSchema", { enumerable: true, get: function () { return
|
|
502
|
-
Object.defineProperty(exports, "zaiProviderQuotaStateSchema", { enumerable: true, get: function () { return
|
|
503
|
-
Object.defineProperty(exports, "providerQuotaMapSchema", { enumerable: true, get: function () { return
|
|
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; } });
|
|
504
584
|
// Schemas — Zod runtime validation for quota history
|
|
505
585
|
var quotaHistory_2 = require("./schemas/quotaHistory");
|
|
506
586
|
Object.defineProperty(exports, "quotaHistoryRuntimeProviderSchema", { enumerable: true, get: function () { return quotaHistory_2.quotaHistoryRuntimeProviderSchema; } });
|
|
@@ -542,8 +622,16 @@ Object.defineProperty(exports, "getSessionDiagnostics", { enumerable: true, get:
|
|
|
542
622
|
Object.defineProperty(exports, "runDoctor", { enumerable: true, get: function () { return doctor_1.runDoctor; } });
|
|
543
623
|
// Peak Hours (PromoClock — third-party)
|
|
544
624
|
var peakHours_1 = require("./peakHours");
|
|
625
|
+
Object.defineProperty(exports, "_resetPeakHoursCache", { enumerable: true, get: function () { return peakHours_1._resetPeakHoursCache; } });
|
|
545
626
|
Object.defineProperty(exports, "createPeakHoursNotApplicableState", { enumerable: true, get: function () { return peakHours_1.createPeakHoursNotApplicableState; } });
|
|
546
627
|
Object.defineProperty(exports, "DEFAULT_PEAK_HOURS_TIMEOUT_MS", { enumerable: true, get: function () { return peakHours_1.DEFAULT_PEAK_HOURS_TIMEOUT_MS; } });
|
|
547
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; } });
|
|
548
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; } });
|
|
549
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; } });
|
package/dist/node.d.ts
CHANGED
|
@@ -10,8 +10,27 @@ export type { HydrateOptions, HydrateResult } from './pricingCatalog';
|
|
|
10
10
|
export { loadObservedContextWindows, recordObservedContextWindow, getObservedContextWindowPath, } from './observedContextWindows';
|
|
11
11
|
export type { ObservedContextWindowOptions, ObservedContextWindowStore, } from './observedContextWindows';
|
|
12
12
|
export { listRecentSessions, readSessionTranscript } from './sessionTranscripts';
|
|
13
|
+
export { computeSessionFileStats, firstUserPrompt, providerContextSizeFn, readSessionFileStats, } from './sessionStats';
|
|
14
|
+
export { readSessionReportInputs } from './report/sessionReportInputs';
|
|
15
|
+
export type { SessionReportInputs } from './report/sessionReportInputs';
|
|
16
|
+
export { fingerprintString, sessionFingerprintParts } from './sessionFingerprint';
|
|
17
|
+
export { STATE_FILE_NAME, STATE_FILE_SCHEMA_VERSION, billingBlockToStateFile, getStateFilePath, quotaToStateFile, readStateFile, writeStateFile, } from './stateFile';
|
|
18
|
+
export type { SidekickStateFile, SidekickStateInput, StateFileAccount, StateFileBillingBlock, StateFileContext, StateFileQuota, StateFileQuotaWindow, StateFileSession, StateFileWriter, WriteStateFileOptions, } from './stateFile';
|
|
19
|
+
export type { ComputeSessionFileStatsOptions, ReadSessionFileStatsOptions } from './sessionStats';
|
|
20
|
+
export { BILLING_BLOCK_DURATION_MS, computeBillingBlocks, findActiveBillingBlock, } from './usage/billingBlocks';
|
|
21
|
+
export type { BillingBlock, BillingBlockInput, BillingBlockModelUsage, BillingBlockTokens, ComputeBillingBlocksOptions, } from './usage/billingBlocks';
|
|
22
|
+
export { MAX_USAGE_CACHE_FILES, USAGE_CACHE_VERSION, collectUsageEvents, getUsageCacheDir, pruneUsageCache, } from './usage/usageEvents';
|
|
23
|
+
export type { CollectUsageEventsOptions, CollectUsageEventsResult, UsageEventRecord, UsageSessionRecord, } from './usage/usageEvents';
|
|
24
|
+
export { applySessionSummary, isFileImported, markFileImported, removeSessionSummary, sessionSummaryFromStats, } from './historicalStore';
|
|
25
|
+
export type { ApplySessionSummaryOptions, SessionSummaryFromStatsOptions } from './historicalStore';
|
|
26
|
+
export { ACTIVE_SESSION_MTIME_THRESHOLD_MS, importSessionHistory, } from './usage/importSessionHistory';
|
|
27
|
+
export type { ImportSessionHistoryOptions, ImportSessionHistoryResult, } from './usage/importSessionHistory';
|
|
28
|
+
export { bucketUsage, summarizeUsageRows, usageBucketKey, weekKey } from './usage/usageReports';
|
|
29
|
+
export type { BucketUsageOptions, UsageBucketRow, UsageGranularity, UsageGroupDimension, UsageTotals, } from './usage/usageReports';
|
|
13
30
|
export type { ProviderSessionIndex, ListRecentSessionsOptions } from './sessionTranscripts';
|
|
14
31
|
export { findCodexRolloutFile } from './providers/codex';
|
|
32
|
+
export { walkRolloutFiles, walkRolloutFilesAsync } from './providers/rolloutWalker';
|
|
33
|
+
export type { RolloutFileInfo, WalkRolloutFilesOptions } from './providers/rolloutWalker';
|
|
15
34
|
export type { FindCodexRolloutFileOptions } from './providers/codex';
|
|
16
35
|
export { readCodexHistory } from './parsers/codexHistory';
|
|
17
36
|
export type { CodexHistoryEntry, ReadCodexHistoryOptions } from './parsers/codexHistory';
|
package/dist/node.js
CHANGED
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
* for browser bundles — use `sidekick-shared/browser` there.
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.
|
|
10
|
+
exports.readSessionPreviewAsync = exports.readSessionPreview = exports.listSessionPreviewsAsync = exports.listSessionPreviews = exports.readCodexHistory = exports.walkRolloutFilesAsync = exports.walkRolloutFiles = exports.findCodexRolloutFile = 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.getObservedContextWindowPath = exports.recordObservedContextWindow = exports.loadObservedContextWindows = exports.LITELLM_CATALOG_URL = exports.normalizeLiteLlmContextWindows = exports.normalizeLiteLlmCatalog = exports.hydratePricingCatalog = void 0;
|
|
11
|
+
exports.fileFingerprintParts = exports.fileFingerprint = exports.observedSessionSourceFromProvider = exports.ObservedSessionCollector = void 0;
|
|
11
12
|
var pricingCatalog_1 = require("./pricingCatalog");
|
|
12
13
|
Object.defineProperty(exports, "hydratePricingCatalog", { enumerable: true, get: function () { return pricingCatalog_1.hydratePricingCatalog; } });
|
|
13
14
|
Object.defineProperty(exports, "normalizeLiteLlmCatalog", { enumerable: true, get: function () { return pricingCatalog_1.normalizeLiteLlmCatalog; } });
|
|
@@ -20,8 +21,53 @@ Object.defineProperty(exports, "getObservedContextWindowPath", { enumerable: tru
|
|
|
20
21
|
var sessionTranscripts_1 = require("./sessionTranscripts");
|
|
21
22
|
Object.defineProperty(exports, "listRecentSessions", { enumerable: true, get: function () { return sessionTranscripts_1.listRecentSessions; } });
|
|
22
23
|
Object.defineProperty(exports, "readSessionTranscript", { enumerable: true, get: function () { return sessionTranscripts_1.readSessionTranscript; } });
|
|
24
|
+
var sessionStats_1 = require("./sessionStats");
|
|
25
|
+
Object.defineProperty(exports, "computeSessionFileStats", { enumerable: true, get: function () { return sessionStats_1.computeSessionFileStats; } });
|
|
26
|
+
Object.defineProperty(exports, "firstUserPrompt", { enumerable: true, get: function () { return sessionStats_1.firstUserPrompt; } });
|
|
27
|
+
Object.defineProperty(exports, "providerContextSizeFn", { enumerable: true, get: function () { return sessionStats_1.providerContextSizeFn; } });
|
|
28
|
+
Object.defineProperty(exports, "readSessionFileStats", { enumerable: true, get: function () { return sessionStats_1.readSessionFileStats; } });
|
|
29
|
+
var sessionReportInputs_1 = require("./report/sessionReportInputs");
|
|
30
|
+
Object.defineProperty(exports, "readSessionReportInputs", { enumerable: true, get: function () { return sessionReportInputs_1.readSessionReportInputs; } });
|
|
31
|
+
var sessionFingerprint_1 = require("./sessionFingerprint");
|
|
32
|
+
Object.defineProperty(exports, "fingerprintString", { enumerable: true, get: function () { return sessionFingerprint_1.fingerprintString; } });
|
|
33
|
+
Object.defineProperty(exports, "sessionFingerprintParts", { enumerable: true, get: function () { return sessionFingerprint_1.sessionFingerprintParts; } });
|
|
34
|
+
var stateFile_1 = require("./stateFile");
|
|
35
|
+
Object.defineProperty(exports, "STATE_FILE_NAME", { enumerable: true, get: function () { return stateFile_1.STATE_FILE_NAME; } });
|
|
36
|
+
Object.defineProperty(exports, "STATE_FILE_SCHEMA_VERSION", { enumerable: true, get: function () { return stateFile_1.STATE_FILE_SCHEMA_VERSION; } });
|
|
37
|
+
Object.defineProperty(exports, "billingBlockToStateFile", { enumerable: true, get: function () { return stateFile_1.billingBlockToStateFile; } });
|
|
38
|
+
Object.defineProperty(exports, "getStateFilePath", { enumerable: true, get: function () { return stateFile_1.getStateFilePath; } });
|
|
39
|
+
Object.defineProperty(exports, "quotaToStateFile", { enumerable: true, get: function () { return stateFile_1.quotaToStateFile; } });
|
|
40
|
+
Object.defineProperty(exports, "readStateFile", { enumerable: true, get: function () { return stateFile_1.readStateFile; } });
|
|
41
|
+
Object.defineProperty(exports, "writeStateFile", { enumerable: true, get: function () { return stateFile_1.writeStateFile; } });
|
|
42
|
+
var billingBlocks_1 = require("./usage/billingBlocks");
|
|
43
|
+
Object.defineProperty(exports, "BILLING_BLOCK_DURATION_MS", { enumerable: true, get: function () { return billingBlocks_1.BILLING_BLOCK_DURATION_MS; } });
|
|
44
|
+
Object.defineProperty(exports, "computeBillingBlocks", { enumerable: true, get: function () { return billingBlocks_1.computeBillingBlocks; } });
|
|
45
|
+
Object.defineProperty(exports, "findActiveBillingBlock", { enumerable: true, get: function () { return billingBlocks_1.findActiveBillingBlock; } });
|
|
46
|
+
var usageEvents_1 = require("./usage/usageEvents");
|
|
47
|
+
Object.defineProperty(exports, "MAX_USAGE_CACHE_FILES", { enumerable: true, get: function () { return usageEvents_1.MAX_USAGE_CACHE_FILES; } });
|
|
48
|
+
Object.defineProperty(exports, "USAGE_CACHE_VERSION", { enumerable: true, get: function () { return usageEvents_1.USAGE_CACHE_VERSION; } });
|
|
49
|
+
Object.defineProperty(exports, "collectUsageEvents", { enumerable: true, get: function () { return usageEvents_1.collectUsageEvents; } });
|
|
50
|
+
Object.defineProperty(exports, "getUsageCacheDir", { enumerable: true, get: function () { return usageEvents_1.getUsageCacheDir; } });
|
|
51
|
+
Object.defineProperty(exports, "pruneUsageCache", { enumerable: true, get: function () { return usageEvents_1.pruneUsageCache; } });
|
|
52
|
+
var historicalStore_1 = require("./historicalStore");
|
|
53
|
+
Object.defineProperty(exports, "applySessionSummary", { enumerable: true, get: function () { return historicalStore_1.applySessionSummary; } });
|
|
54
|
+
Object.defineProperty(exports, "isFileImported", { enumerable: true, get: function () { return historicalStore_1.isFileImported; } });
|
|
55
|
+
Object.defineProperty(exports, "markFileImported", { enumerable: true, get: function () { return historicalStore_1.markFileImported; } });
|
|
56
|
+
Object.defineProperty(exports, "removeSessionSummary", { enumerable: true, get: function () { return historicalStore_1.removeSessionSummary; } });
|
|
57
|
+
Object.defineProperty(exports, "sessionSummaryFromStats", { enumerable: true, get: function () { return historicalStore_1.sessionSummaryFromStats; } });
|
|
58
|
+
var importSessionHistory_1 = require("./usage/importSessionHistory");
|
|
59
|
+
Object.defineProperty(exports, "ACTIVE_SESSION_MTIME_THRESHOLD_MS", { enumerable: true, get: function () { return importSessionHistory_1.ACTIVE_SESSION_MTIME_THRESHOLD_MS; } });
|
|
60
|
+
Object.defineProperty(exports, "importSessionHistory", { enumerable: true, get: function () { return importSessionHistory_1.importSessionHistory; } });
|
|
61
|
+
var usageReports_1 = require("./usage/usageReports");
|
|
62
|
+
Object.defineProperty(exports, "bucketUsage", { enumerable: true, get: function () { return usageReports_1.bucketUsage; } });
|
|
63
|
+
Object.defineProperty(exports, "summarizeUsageRows", { enumerable: true, get: function () { return usageReports_1.summarizeUsageRows; } });
|
|
64
|
+
Object.defineProperty(exports, "usageBucketKey", { enumerable: true, get: function () { return usageReports_1.usageBucketKey; } });
|
|
65
|
+
Object.defineProperty(exports, "weekKey", { enumerable: true, get: function () { return usageReports_1.weekKey; } });
|
|
23
66
|
var codex_1 = require("./providers/codex");
|
|
24
67
|
Object.defineProperty(exports, "findCodexRolloutFile", { enumerable: true, get: function () { return codex_1.findCodexRolloutFile; } });
|
|
68
|
+
var rolloutWalker_1 = require("./providers/rolloutWalker");
|
|
69
|
+
Object.defineProperty(exports, "walkRolloutFiles", { enumerable: true, get: function () { return rolloutWalker_1.walkRolloutFiles; } });
|
|
70
|
+
Object.defineProperty(exports, "walkRolloutFilesAsync", { enumerable: true, get: function () { return rolloutWalker_1.walkRolloutFilesAsync; } });
|
|
25
71
|
var codexHistory_1 = require("./parsers/codexHistory");
|
|
26
72
|
Object.defineProperty(exports, "readCodexHistory", { enumerable: true, get: function () { return codexHistory_1.readCodexHistory; } });
|
|
27
73
|
var sessionPreviews_1 = require("./sessionPreviews");
|
|
@@ -44,6 +44,13 @@ export interface ObservedContextWindowStore {
|
|
|
44
44
|
version: 1;
|
|
45
45
|
models: Record<string, ObservedContextWindowEntry>;
|
|
46
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Observations older than this are ignored on load. A provider reports its
|
|
49
|
+
* context window on every session, so a live model refreshes its entry
|
|
50
|
+
* constantly; an entry that has gone quiet this long belongs to a tier or
|
|
51
|
+
* model the user no longer runs and must not outrank the catalog forever.
|
|
52
|
+
*/
|
|
53
|
+
export declare const OBSERVED_CONTEXT_WINDOW_TTL_MS: number;
|
|
47
54
|
/** Resolve the on-disk store path. */
|
|
48
55
|
export declare function getObservedContextWindowPath(cacheDir?: string): string;
|
|
49
56
|
/** Reset the per-store write dedupe. Test-only; not part of the public API. */
|
|
@@ -64,6 +64,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
64
64
|
};
|
|
65
65
|
})();
|
|
66
66
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
67
|
+
exports.OBSERVED_CONTEXT_WINDOW_TTL_MS = void 0;
|
|
67
68
|
exports.getObservedContextWindowPath = getObservedContextWindowPath;
|
|
68
69
|
exports._clearObservedContextWindowWriteCache = _clearObservedContextWindowWriteCache;
|
|
69
70
|
exports.loadObservedContextWindows = loadObservedContextWindows;
|
|
@@ -76,6 +77,13 @@ const atomic_1 = require("./writers/atomic");
|
|
|
76
77
|
// ── Constants ──
|
|
77
78
|
const STORE_FILE_NAME = 'observed-context-windows.json';
|
|
78
79
|
const STORE_VERSION = 1;
|
|
80
|
+
/**
|
|
81
|
+
* Observations older than this are ignored on load. A provider reports its
|
|
82
|
+
* context window on every session, so a live model refreshes its entry
|
|
83
|
+
* constantly; an entry that has gone quiet this long belongs to a tier or
|
|
84
|
+
* model the user no longer runs and must not outrank the catalog forever.
|
|
85
|
+
*/
|
|
86
|
+
exports.OBSERVED_CONTEXT_WINDOW_TTL_MS = 30 * 86_400_000;
|
|
79
87
|
/** Resolve the on-disk store path. */
|
|
80
88
|
function getObservedContextWindowPath(cacheDir) {
|
|
81
89
|
return path.join(cacheDir ?? (0, paths_1.getConfigDir)(), STORE_FILE_NAME);
|
|
@@ -98,13 +106,20 @@ const lastPersistedByStore = new Map();
|
|
|
98
106
|
function _clearObservedContextWindowWriteCache() {
|
|
99
107
|
lastPersistedByStore.clear();
|
|
100
108
|
}
|
|
101
|
-
/**
|
|
102
|
-
|
|
109
|
+
/**
|
|
110
|
+
* Keep only well-formed, recent entries; a hand-edited or partly-corrupt file
|
|
111
|
+
* shouldn't poison lookups, and a stale observation shouldn't outrank the
|
|
112
|
+
* catalog (see {@link OBSERVED_CONTEXT_WINDOW_TTL_MS}).
|
|
113
|
+
*/
|
|
114
|
+
function toOverrideMap(store, now = Date.now()) {
|
|
103
115
|
const out = {};
|
|
104
116
|
for (const [modelId, entry] of Object.entries(store.models ?? {})) {
|
|
105
117
|
const window = entry?.contextWindow;
|
|
106
118
|
if (typeof window !== 'number' || !Number.isFinite(window) || window <= 0)
|
|
107
119
|
continue;
|
|
120
|
+
const observedAt = typeof entry.observedAt === 'string' ? Date.parse(entry.observedAt) : NaN;
|
|
121
|
+
if (Number.isFinite(observedAt) && now - observedAt > exports.OBSERVED_CONTEXT_WINDOW_TTL_MS)
|
|
122
|
+
continue;
|
|
108
123
|
out[modelId] = window;
|
|
109
124
|
}
|
|
110
125
|
return out;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import type { ObservedAgentSessionV1, ProviderCapabilitiesV1, ProviderSessionAdapterV1Options } from './types/observedSessionV1';
|
|
2
2
|
import type { SessionProviderBase } from './providers/types';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}
|
|
3
|
+
import type { ObservedSessionFingerprintParts } from './sessionFingerprint';
|
|
4
|
+
export { fileFingerprint, fileFingerprintParts } from './sessionFingerprint';
|
|
5
|
+
export type { ObservedSessionFingerprintParts } from './sessionFingerprint';
|
|
7
6
|
export interface ObservedSessionReference {
|
|
8
7
|
sessionId: string;
|
|
9
8
|
/** Opaque source locator used only by the source implementation. Never emitted in diagnostics. */
|
|
@@ -136,7 +135,3 @@ export declare class ObservedSessionCollector<T = unknown> {
|
|
|
136
135
|
* one malformed session cannot reject discovery of its healthy siblings.
|
|
137
136
|
*/
|
|
138
137
|
export declare function observedSessionSourceFromProvider(provider: SessionProviderBase, cwd: string, options?: ProviderSessionAdapterV1Options): ProviderObservedSessionCollectionSource;
|
|
139
|
-
/** Structured size/mtime fingerprint; returns null for inaccessible or synthetic paths. */
|
|
140
|
-
export declare function fileFingerprintParts(sourcePath: string): ObservedSessionFingerprintParts | null;
|
|
141
|
-
/** Size/mtime fingerprint suitable for retry bypass; returns null for synthetic DB locators. */
|
|
142
|
-
export declare function fileFingerprint(sourcePath: string): string | null;
|
|
@@ -33,14 +33,15 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.ObservedSessionCollector = void 0;
|
|
36
|
+
exports.ObservedSessionCollector = exports.fileFingerprintParts = exports.fileFingerprint = void 0;
|
|
37
37
|
exports.observedSessionSourceFromProvider = observedSessionSourceFromProvider;
|
|
38
|
-
exports.fileFingerprintParts = fileFingerprintParts;
|
|
39
|
-
exports.fileFingerprint = fileFingerprint;
|
|
40
38
|
const fs = __importStar(require("node:fs"));
|
|
41
|
-
const node_fs_1 = require("node:fs");
|
|
42
39
|
const observedSessionV1_1 = require("./types/observedSessionV1");
|
|
43
40
|
const sessionActivityDetector_1 = require("./parsers/sessionActivityDetector");
|
|
41
|
+
const sessionFingerprint_1 = require("./sessionFingerprint");
|
|
42
|
+
var sessionFingerprint_2 = require("./sessionFingerprint");
|
|
43
|
+
Object.defineProperty(exports, "fileFingerprint", { enumerable: true, get: function () { return sessionFingerprint_2.fileFingerprint; } });
|
|
44
|
+
Object.defineProperty(exports, "fileFingerprintParts", { enumerable: true, get: function () { return sessionFingerprint_2.fileFingerprintParts; } });
|
|
44
45
|
const DEFAULT_MAX_CONCURRENT_READS = 4;
|
|
45
46
|
const MAX_CONCURRENT_READS = 16;
|
|
46
47
|
const DEFAULT_DEBOUNCE_MS = 100;
|
|
@@ -444,12 +445,12 @@ function observedSessionSourceFromProvider(provider, cwd, options = {}) {
|
|
|
444
445
|
const referenceFromPath = (sessionPath, sessionId = provider.getSessionId(sessionPath), suppliedParts) => {
|
|
445
446
|
const metadata = suppliedParts ? null : provider.getSessionMetadata?.(sessionPath);
|
|
446
447
|
const parts = suppliedParts ??
|
|
447
|
-
fileFingerprintParts(sessionPath) ??
|
|
448
|
+
(0, sessionFingerprint_1.fileFingerprintParts)(sessionPath) ??
|
|
448
449
|
(metadata ? { sizeBytes: 0, mtimeMs: metadata.mtime.getTime() } : null);
|
|
449
450
|
return {
|
|
450
451
|
sessionId,
|
|
451
452
|
sourceKey: sessionPath,
|
|
452
|
-
fingerprintHint: parts ? fingerprintString(parts) : undefined,
|
|
453
|
+
fingerprintHint: parts ? (0, sessionFingerprint_1.fingerprintString)(parts) : undefined,
|
|
453
454
|
fingerprintParts: parts ?? undefined,
|
|
454
455
|
};
|
|
455
456
|
};
|
|
@@ -472,12 +473,12 @@ function observedSessionSourceFromProvider(provider, cwd, options = {}) {
|
|
|
472
473
|
}
|
|
473
474
|
return provider.findAllSessions(cwd).map((sessionPath) => {
|
|
474
475
|
const metadata = provider.getSessionMetadata?.(sessionPath);
|
|
475
|
-
const parts = fileFingerprintParts(sessionPath) ??
|
|
476
|
+
const parts = (0, sessionFingerprint_1.fileFingerprintParts)(sessionPath) ??
|
|
476
477
|
(metadata ? { sizeBytes: 0, mtimeMs: metadata.mtime.getTime() } : null);
|
|
477
478
|
return {
|
|
478
479
|
sessionId: provider.getSessionId(sessionPath),
|
|
479
480
|
sourceKey: sessionPath,
|
|
480
|
-
fingerprintHint: parts ? fingerprintString(parts) : undefined,
|
|
481
|
+
fingerprintHint: parts ? (0, sessionFingerprint_1.fingerprintString)(parts) : undefined,
|
|
481
482
|
fingerprintParts: parts ?? undefined,
|
|
482
483
|
};
|
|
483
484
|
});
|
|
@@ -493,7 +494,7 @@ function observedSessionSourceFromProvider(provider, cwd, options = {}) {
|
|
|
493
494
|
},
|
|
494
495
|
refreshCached(reference, cached, observedAt) {
|
|
495
496
|
const mtimeMs = reference.fingerprintParts?.mtimeMs ?? Date.parse(cached.observedAt);
|
|
496
|
-
const activity = (0, sessionActivityDetector_1.refreshSessionActivityState)(cached.activity.value, mtimeMs);
|
|
497
|
+
const activity = (0, sessionActivityDetector_1.refreshSessionActivityState)(cached.activity.value, mtimeMs, Date.now(), (0, observedSessionV1_1.getObservedActivityReason)(cached));
|
|
497
498
|
return {
|
|
498
499
|
...cached,
|
|
499
500
|
activity: { ...cached.activity, value: activity },
|
|
@@ -506,24 +507,6 @@ function observedSessionSourceFromProvider(provider, cwd, options = {}) {
|
|
|
506
507
|
dispose: () => adapter.dispose(),
|
|
507
508
|
};
|
|
508
509
|
}
|
|
509
|
-
/** Structured size/mtime fingerprint; returns null for inaccessible or synthetic paths. */
|
|
510
|
-
function fileFingerprintParts(sourcePath) {
|
|
511
|
-
try {
|
|
512
|
-
const stat = (0, node_fs_1.statSync)(sourcePath);
|
|
513
|
-
return { sizeBytes: stat.size, mtimeMs: stat.mtimeMs };
|
|
514
|
-
}
|
|
515
|
-
catch {
|
|
516
|
-
return null;
|
|
517
|
-
}
|
|
518
|
-
}
|
|
519
|
-
/** Size/mtime fingerprint suitable for retry bypass; returns null for synthetic DB locators. */
|
|
520
|
-
function fileFingerprint(sourcePath) {
|
|
521
|
-
const parts = fileFingerprintParts(sourcePath);
|
|
522
|
-
return parts ? fingerprintString(parts) : null;
|
|
523
|
-
}
|
|
524
|
-
function fingerprintString(parts) {
|
|
525
|
-
return `${parts.sizeBytes}:${parts.mtimeMs}`;
|
|
526
|
-
}
|
|
527
510
|
function parseFingerprintParts(value) {
|
|
528
511
|
if (!value)
|
|
529
512
|
return null;
|