@scotthamilton77/sidekick 0.1.30 → 0.1.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin.js +37 -97
- package/dist/daemon.js +45 -185
- package/package.json +1 -1
package/dist/bin.js
CHANGED
|
@@ -47579,7 +47579,7 @@ var require_build_identity = __commonJS({
|
|
|
47579
47579
|
var path_1 = __importDefault2(require("path"));
|
|
47580
47580
|
var DEV_PREFIX = "dev:";
|
|
47581
47581
|
var NO_DIST_SENTINEL = "nodist";
|
|
47582
|
-
function computeBuildIdentity(injectedVersion = true ? "0.1.
|
|
47582
|
+
function computeBuildIdentity(injectedVersion = true ? "0.1.31" : void 0, devFingerprint = computeDevFingerprint) {
|
|
47583
47583
|
return injectedVersion !== void 0 ? injectedVersion : DEV_PREFIX + devFingerprint();
|
|
47584
47584
|
}
|
|
47585
47585
|
function computeDevFingerprint() {
|
|
@@ -61989,7 +61989,7 @@ var require_transcript_metrics_engine = __commonJS({
|
|
|
61989
61989
|
exports2.isExcludedBuiltinCommandInvocation = isExcludedBuiltinCommandInvocation;
|
|
61990
61990
|
exports2.updateToolsPerTurn = updateToolsPerTurn;
|
|
61991
61991
|
var transcript_helpers_js_1 = require_transcript_helpers();
|
|
61992
|
-
async function processEntry(entry, lineNumber, metrics, toolUseIdToName, emitEvent) {
|
|
61992
|
+
async function processEntry(entry, lineNumber, metrics, toolUseIdToName, emitEvent, signalCompaction) {
|
|
61993
61993
|
const entryType = entry.type;
|
|
61994
61994
|
switch (entryType) {
|
|
61995
61995
|
case "user": {
|
|
@@ -62018,8 +62018,13 @@ var require_transcript_metrics_engine = __commonJS({
|
|
|
62018
62018
|
await emitEvent("AssistantMessage", entry, lineNumber);
|
|
62019
62019
|
await processNestedToolUses(entry, lineNumber, metrics, toolUseIdToName, emitEvent);
|
|
62020
62020
|
break;
|
|
62021
|
-
case "system":
|
|
62021
|
+
case "system": {
|
|
62022
|
+
const subtype = entry.subtype;
|
|
62023
|
+
if (subtype === "compact_boundary") {
|
|
62024
|
+
await signalCompaction?.(lineNumber);
|
|
62025
|
+
}
|
|
62022
62026
|
break;
|
|
62027
|
+
}
|
|
62023
62028
|
}
|
|
62024
62029
|
}
|
|
62025
62030
|
function extractTokenUsage(entry, metrics) {
|
|
@@ -64477,10 +64482,12 @@ var require_transcript_service = __commonJS({
|
|
|
64477
64482
|
// ============================================================================
|
|
64478
64483
|
// Compaction Management
|
|
64479
64484
|
// ============================================================================
|
|
64480
|
-
async signalCompaction() {
|
|
64485
|
+
async signalCompaction(lineNumber) {
|
|
64486
|
+
if (this.metrics.isPostCompactIndeterminate)
|
|
64487
|
+
return;
|
|
64481
64488
|
this.metrics.currentContextTokens = null;
|
|
64482
64489
|
this.metrics.isPostCompactIndeterminate = true;
|
|
64483
|
-
await this.emitEvent("Compact", {}, this.metrics.lastProcessedLine);
|
|
64490
|
+
await this.emitEvent("Compact", {}, lineNumber ?? this.metrics.lastProcessedLine);
|
|
64484
64491
|
this.notifyMetricsChange();
|
|
64485
64492
|
this.schedulePersistence();
|
|
64486
64493
|
}
|
|
@@ -64538,7 +64545,7 @@ var require_transcript_service = __commonJS({
|
|
|
64538
64545
|
return;
|
|
64539
64546
|
const self = this;
|
|
64540
64547
|
await (0, transcript_file_watcher_js_1.processTranscriptFile)(this.transcriptPath, this.streamingState, this.metrics, async (entry, lineNumber) => {
|
|
64541
|
-
await (0, transcript_metrics_engine_js_1.processEntry)(entry, lineNumber, this.metrics, this.toolUseIdToName, (eventType, e, ln) => this.emitEvent(eventType, e, ln));
|
|
64548
|
+
await (0, transcript_metrics_engine_js_1.processEntry)(entry, lineNumber, this.metrics, this.toolUseIdToName, (eventType, e, ln) => this.emitEvent(eventType, e, ln), (ln) => this.signalCompaction(ln));
|
|
64542
64549
|
}, async (lineNumber, _durationMs) => {
|
|
64543
64550
|
await this.emitEvent("BulkProcessingComplete", {}, lineNumber);
|
|
64544
64551
|
}, this.options.logger, this.sessionId, {
|
|
@@ -78154,28 +78161,6 @@ var require_dist5 = __commonJS({
|
|
|
78154
78161
|
}
|
|
78155
78162
|
});
|
|
78156
78163
|
|
|
78157
|
-
// ../feature-reminders/dist/handlers/consumption/session-type-gate.js
|
|
78158
|
-
var require_session_type_gate = __commonJS({
|
|
78159
|
-
"../feature-reminders/dist/handlers/consumption/session-type-gate.js"(exports2) {
|
|
78160
|
-
"use strict";
|
|
78161
|
-
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
78162
|
-
exports2.suppressReminderForSessionType = suppressReminderForSessionType;
|
|
78163
|
-
var types_js_1 = require_types2();
|
|
78164
|
-
var PERSONA_REMINDERS = /* @__PURE__ */ new Set([types_js_1.ReminderIds.REMEMBER_YOUR_PERSONA, types_js_1.ReminderIds.PERSONA_CHANGED]);
|
|
78165
|
-
function suppressReminderForSessionType(reminderName, sessionType, config) {
|
|
78166
|
-
if (sessionType !== "non-interactive")
|
|
78167
|
-
return false;
|
|
78168
|
-
if (PERSONA_REMINDERS.has(reminderName)) {
|
|
78169
|
-
return config.injectPersonaIntoNonInteractiveSessions !== true;
|
|
78170
|
-
}
|
|
78171
|
-
if (reminderName === types_js_1.ReminderIds.CAVEMAN_MODE) {
|
|
78172
|
-
return config.injectCavemanIntoNonInteractiveSessions !== true;
|
|
78173
|
-
}
|
|
78174
|
-
return false;
|
|
78175
|
-
}
|
|
78176
|
-
}
|
|
78177
|
-
});
|
|
78178
|
-
|
|
78179
78164
|
// ../feature-reminders/dist/handlers/staging/stage-persona-reminders.js
|
|
78180
78165
|
var require_stage_persona_reminders = __commonJS({
|
|
78181
78166
|
"../feature-reminders/dist/handlers/staging/stage-persona-reminders.js"(exports2) {
|
|
@@ -78183,7 +78168,6 @@ var require_stage_persona_reminders = __commonJS({
|
|
|
78183
78168
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
78184
78169
|
exports2.restagePersonaRemindersForActiveSessions = restagePersonaRemindersForActiveSessions;
|
|
78185
78170
|
exports2.stagePersonaRemindersForSession = stagePersonaRemindersForSession;
|
|
78186
|
-
exports2.resolvePersonaContextForSnapshot = resolvePersonaContextForSnapshot;
|
|
78187
78171
|
exports2.registerStagePersonaReminders = registerStagePersonaReminders;
|
|
78188
78172
|
var core_1 = require_dist4();
|
|
78189
78173
|
var feature_session_summary_1 = require_dist5();
|
|
@@ -78191,7 +78175,6 @@ var require_stage_persona_reminders = __commonJS({
|
|
|
78191
78175
|
var types_1 = require_dist();
|
|
78192
78176
|
var reminder_utils_js_1 = require_reminder_utils();
|
|
78193
78177
|
var types_js_1 = require_types2();
|
|
78194
|
-
var session_type_gate_js_1 = require_session_type_gate();
|
|
78195
78178
|
var throttle_utils_js_1 = require_throttle_utils();
|
|
78196
78179
|
async function restagePersonaRemindersForActiveSessions(ctxFactory, sessionIds, logger) {
|
|
78197
78180
|
logger.info("Re-staging persona reminders for active sessions", { count: sessionIds.length });
|
|
@@ -78404,24 +78387,6 @@ var require_stage_persona_reminders = __commonJS({
|
|
|
78404
78387
|
includeChanged: options?.includeChangedReminder ?? false
|
|
78405
78388
|
});
|
|
78406
78389
|
}
|
|
78407
|
-
async function resolvePersonaContextForSnapshot(ctx, sessionId) {
|
|
78408
|
-
if (!isPersonaInjectionEnabled(ctx))
|
|
78409
|
-
return void 0;
|
|
78410
|
-
const personaConfig = ctx.config.getFeature("session-summary").settings?.personas ?? {};
|
|
78411
|
-
if ((0, session_type_gate_js_1.suppressReminderForSessionType)(types_js_1.ReminderIds.REMEMBER_YOUR_PERSONA, ctx.sessionType, personaConfig)) {
|
|
78412
|
-
return void 0;
|
|
78413
|
-
}
|
|
78414
|
-
const persona = await loadPersonaForSession(ctx, sessionId);
|
|
78415
|
-
if (!persona)
|
|
78416
|
-
return void 0;
|
|
78417
|
-
const templateContext = buildPersonaTemplateContext(persona);
|
|
78418
|
-
const reminder = (0, reminder_utils_js_1.resolveReminder)(types_js_1.ReminderIds.REMEMBER_YOUR_PERSONA, {
|
|
78419
|
-
context: templateContext,
|
|
78420
|
-
assets: ctx.assets,
|
|
78421
|
-
logger: ctx.logger
|
|
78422
|
-
});
|
|
78423
|
-
return reminder?.additionalContext ?? void 0;
|
|
78424
|
-
}
|
|
78425
78390
|
function registerStagePersonaReminders(context) {
|
|
78426
78391
|
if (!(0, types_1.isDaemonContext)(context))
|
|
78427
78392
|
return;
|
|
@@ -78450,7 +78415,6 @@ var require_stage_user_profile_reminders = __commonJS({
|
|
|
78450
78415
|
"use strict";
|
|
78451
78416
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
78452
78417
|
exports2.stageUserProfileRemindersForSession = stageUserProfileRemindersForSession;
|
|
78453
|
-
exports2.resolveUserProfileContextForSnapshot = resolveUserProfileContextForSnapshot;
|
|
78454
78418
|
exports2.registerStageUserProfileReminders = registerStageUserProfileReminders;
|
|
78455
78419
|
var core_1 = require_dist4();
|
|
78456
78420
|
var events_js_1 = require_events2();
|
|
@@ -78490,21 +78454,6 @@ var require_stage_user_profile_reminders = __commonJS({
|
|
|
78490
78454
|
ctx.logger.warn("Failed to resolve user-profile reminder", { sessionId });
|
|
78491
78455
|
}
|
|
78492
78456
|
}
|
|
78493
|
-
function resolveUserProfileContextForSnapshot(ctx) {
|
|
78494
|
-
const profile = (0, core_1.loadUserProfile)({ logger: ctx.logger });
|
|
78495
|
-
if (!profile)
|
|
78496
|
-
return void 0;
|
|
78497
|
-
const templateContext = {
|
|
78498
|
-
user_name: profile.name,
|
|
78499
|
-
user_role: profile.role,
|
|
78500
|
-
user_interests: profile.interests.join(", ")
|
|
78501
|
-
};
|
|
78502
|
-
const reminder = (0, reminder_utils_js_1.resolveReminder)(types_js_1.ReminderIds.USER_PROFILE, {
|
|
78503
|
-
context: templateContext,
|
|
78504
|
-
assets: ctx.assets
|
|
78505
|
-
});
|
|
78506
|
-
return reminder?.additionalContext ?? void 0;
|
|
78507
|
-
}
|
|
78508
78457
|
function registerStageUserProfileReminders(context) {
|
|
78509
78458
|
if (!(0, types_1.isDaemonContext)(context))
|
|
78510
78459
|
return;
|
|
@@ -78796,6 +78745,28 @@ var require_cli_staging_reader = __commonJS({
|
|
|
78796
78745
|
}
|
|
78797
78746
|
});
|
|
78798
78747
|
|
|
78748
|
+
// ../feature-reminders/dist/handlers/consumption/session-type-gate.js
|
|
78749
|
+
var require_session_type_gate = __commonJS({
|
|
78750
|
+
"../feature-reminders/dist/handlers/consumption/session-type-gate.js"(exports2) {
|
|
78751
|
+
"use strict";
|
|
78752
|
+
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
78753
|
+
exports2.suppressReminderForSessionType = suppressReminderForSessionType;
|
|
78754
|
+
var types_js_1 = require_types2();
|
|
78755
|
+
var PERSONA_REMINDERS = /* @__PURE__ */ new Set([types_js_1.ReminderIds.REMEMBER_YOUR_PERSONA, types_js_1.ReminderIds.PERSONA_CHANGED]);
|
|
78756
|
+
function suppressReminderForSessionType(reminderName, sessionType, config) {
|
|
78757
|
+
if (sessionType !== "non-interactive")
|
|
78758
|
+
return false;
|
|
78759
|
+
if (PERSONA_REMINDERS.has(reminderName)) {
|
|
78760
|
+
return config.injectPersonaIntoNonInteractiveSessions !== true;
|
|
78761
|
+
}
|
|
78762
|
+
if (reminderName === types_js_1.ReminderIds.CAVEMAN_MODE) {
|
|
78763
|
+
return config.injectCavemanIntoNonInteractiveSessions !== true;
|
|
78764
|
+
}
|
|
78765
|
+
return false;
|
|
78766
|
+
}
|
|
78767
|
+
}
|
|
78768
|
+
});
|
|
78769
|
+
|
|
78799
78770
|
// ../feature-reminders/dist/handlers/consumption/consumption-handler-factory.js
|
|
78800
78771
|
var require_consumption_handler_factory = __commonJS({
|
|
78801
78772
|
"../feature-reminders/dist/handlers/consumption/consumption-handler-factory.js"(exports2) {
|
|
@@ -79108,22 +79079,6 @@ var require_inject_session_start = __commonJS({
|
|
|
79108
79079
|
}
|
|
79109
79080
|
});
|
|
79110
79081
|
|
|
79111
|
-
// ../feature-reminders/dist/handlers/consumption/inject-post-compact.js
|
|
79112
|
-
var require_inject_post_compact = __commonJS({
|
|
79113
|
-
"../feature-reminders/dist/handlers/consumption/inject-post-compact.js"(exports2) {
|
|
79114
|
-
"use strict";
|
|
79115
|
-
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
79116
|
-
exports2.registerInjectPostCompact = registerInjectPostCompact;
|
|
79117
|
-
var consumption_handler_factory_js_1 = require_consumption_handler_factory();
|
|
79118
|
-
function registerInjectPostCompact(context) {
|
|
79119
|
-
(0, consumption_handler_factory_js_1.createConsumptionHandler)(context, {
|
|
79120
|
-
id: "reminders:inject-post-compact",
|
|
79121
|
-
hook: "PostCompact"
|
|
79122
|
-
});
|
|
79123
|
-
}
|
|
79124
|
-
}
|
|
79125
|
-
});
|
|
79126
|
-
|
|
79127
79082
|
// ../feature-reminders/dist/handlers/consumption/index.js
|
|
79128
79083
|
var require_consumption = __commonJS({
|
|
79129
79084
|
"../feature-reminders/dist/handlers/consumption/index.js"(exports2) {
|
|
@@ -79135,14 +79090,12 @@ var require_consumption = __commonJS({
|
|
|
79135
79090
|
var inject_post_tool_use_1 = require_inject_post_tool_use();
|
|
79136
79091
|
var inject_stop_1 = require_inject_stop();
|
|
79137
79092
|
var inject_session_start_1 = require_inject_session_start();
|
|
79138
|
-
var inject_post_compact_js_1 = require_inject_post_compact();
|
|
79139
79093
|
function registerConsumptionHandlers(context) {
|
|
79140
79094
|
(0, inject_user_prompt_submit_1.registerInjectUserPromptSubmit)(context);
|
|
79141
79095
|
(0, inject_pre_tool_use_1.registerInjectPreToolUse)(context);
|
|
79142
79096
|
(0, inject_post_tool_use_1.registerInjectPostToolUse)(context);
|
|
79143
79097
|
(0, inject_stop_1.registerInjectStop)(context);
|
|
79144
79098
|
(0, inject_session_start_1.registerInjectSessionStart)(context);
|
|
79145
|
-
(0, inject_post_compact_js_1.registerInjectPostCompact)(context);
|
|
79146
79099
|
}
|
|
79147
79100
|
}
|
|
79148
79101
|
});
|
|
@@ -79587,7 +79540,7 @@ var require_dist6 = __commonJS({
|
|
|
79587
79540
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding(exports3, m, p);
|
|
79588
79541
|
};
|
|
79589
79542
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
79590
|
-
exports2.createRemindersState = exports2.ReminderOrchestrator = exports2.ReminderEvents = exports2.handleVCUnverifiedClear = exports2.handleVCUnverifiedSet = exports2.handleReminderConsumed = exports2.classifyCompletion = exports2.
|
|
79543
|
+
exports2.createRemindersState = exports2.ReminderOrchestrator = exports2.ReminderEvents = exports2.handleVCUnverifiedClear = exports2.handleVCUnverifiedSet = exports2.handleReminderConsumed = exports2.classifyCompletion = exports2.restagePersonaRemindersForActiveSessions = exports2.stagePersonaRemindersForSession = exports2.registerStagingHandlers = exports2.registerConsumptionHandlers = exports2.manifest = void 0;
|
|
79591
79544
|
exports2.register = register;
|
|
79592
79545
|
var staging_1 = require_staging2();
|
|
79593
79546
|
var consumption_1 = require_consumption();
|
|
@@ -79621,13 +79574,6 @@ var require_dist6 = __commonJS({
|
|
|
79621
79574
|
Object.defineProperty(exports2, "restagePersonaRemindersForActiveSessions", { enumerable: true, get: function() {
|
|
79622
79575
|
return stage_persona_reminders_1.restagePersonaRemindersForActiveSessions;
|
|
79623
79576
|
} });
|
|
79624
|
-
Object.defineProperty(exports2, "resolvePersonaContextForSnapshot", { enumerable: true, get: function() {
|
|
79625
|
-
return stage_persona_reminders_1.resolvePersonaContextForSnapshot;
|
|
79626
|
-
} });
|
|
79627
|
-
var stage_user_profile_reminders_1 = require_stage_user_profile_reminders();
|
|
79628
|
-
Object.defineProperty(exports2, "resolveUserProfileContextForSnapshot", { enumerable: true, get: function() {
|
|
79629
|
-
return stage_user_profile_reminders_1.resolveUserProfileContextForSnapshot;
|
|
79630
|
-
} });
|
|
79631
79577
|
var completion_classifier_1 = require_completion_classifier();
|
|
79632
79578
|
Object.defineProperty(exports2, "classifyCompletion", { enumerable: true, get: function() {
|
|
79633
79579
|
return completion_classifier_1.classifyCompletion;
|
|
@@ -80179,12 +80125,6 @@ var require_hook_command = __commonJS({
|
|
|
80179
80125
|
}
|
|
80180
80126
|
function translatePostCompact(internal) {
|
|
80181
80127
|
const response = {};
|
|
80182
|
-
if (internal.additionalContext) {
|
|
80183
|
-
response.hookSpecificOutput = {
|
|
80184
|
-
hookEventName: "PostCompact",
|
|
80185
|
-
additionalContext: internal.additionalContext
|
|
80186
|
-
};
|
|
80187
|
-
}
|
|
80188
80128
|
addUserMessage(response, internal.userMessage);
|
|
80189
80129
|
return response;
|
|
80190
80130
|
}
|
|
@@ -87568,7 +87508,7 @@ var require_cli = __commonJS({
|
|
|
87568
87508
|
var promises_12 = require("node:fs/promises");
|
|
87569
87509
|
var node_stream_1 = require("node:stream");
|
|
87570
87510
|
var yargs_parser_1 = __importDefault2(require_build());
|
|
87571
|
-
var VERSION = true ? "0.1.
|
|
87511
|
+
var VERSION = true ? "0.1.31" : "dev";
|
|
87572
87512
|
var SANDBOX_ERROR_MESSAGE = `Error: Daemon commands cannot run in sandbox mode.
|
|
87573
87513
|
|
|
87574
87514
|
Claude Code's sandbox blocks Unix socket operations required for daemon IPC.
|
package/dist/daemon.js
CHANGED
|
@@ -46603,7 +46603,7 @@ var require_build_identity = __commonJS({
|
|
|
46603
46603
|
var path_1 = __importDefault(require("path"));
|
|
46604
46604
|
var DEV_PREFIX = "dev:";
|
|
46605
46605
|
var NO_DIST_SENTINEL = "nodist";
|
|
46606
|
-
function computeBuildIdentity(injectedVersion = true ? "0.1.
|
|
46606
|
+
function computeBuildIdentity(injectedVersion = true ? "0.1.31" : void 0, devFingerprint = computeDevFingerprint) {
|
|
46607
46607
|
return injectedVersion !== void 0 ? injectedVersion : DEV_PREFIX + devFingerprint();
|
|
46608
46608
|
}
|
|
46609
46609
|
function computeDevFingerprint() {
|
|
@@ -61013,7 +61013,7 @@ var require_transcript_metrics_engine = __commonJS({
|
|
|
61013
61013
|
exports2.isExcludedBuiltinCommandInvocation = isExcludedBuiltinCommandInvocation;
|
|
61014
61014
|
exports2.updateToolsPerTurn = updateToolsPerTurn;
|
|
61015
61015
|
var transcript_helpers_js_1 = require_transcript_helpers();
|
|
61016
|
-
async function processEntry(entry, lineNumber, metrics, toolUseIdToName, emitEvent) {
|
|
61016
|
+
async function processEntry(entry, lineNumber, metrics, toolUseIdToName, emitEvent, signalCompaction) {
|
|
61017
61017
|
const entryType = entry.type;
|
|
61018
61018
|
switch (entryType) {
|
|
61019
61019
|
case "user": {
|
|
@@ -61042,8 +61042,13 @@ var require_transcript_metrics_engine = __commonJS({
|
|
|
61042
61042
|
await emitEvent("AssistantMessage", entry, lineNumber);
|
|
61043
61043
|
await processNestedToolUses(entry, lineNumber, metrics, toolUseIdToName, emitEvent);
|
|
61044
61044
|
break;
|
|
61045
|
-
case "system":
|
|
61045
|
+
case "system": {
|
|
61046
|
+
const subtype = entry.subtype;
|
|
61047
|
+
if (subtype === "compact_boundary") {
|
|
61048
|
+
await signalCompaction?.(lineNumber);
|
|
61049
|
+
}
|
|
61046
61050
|
break;
|
|
61051
|
+
}
|
|
61047
61052
|
}
|
|
61048
61053
|
}
|
|
61049
61054
|
function extractTokenUsage(entry, metrics) {
|
|
@@ -63501,10 +63506,12 @@ var require_transcript_service = __commonJS({
|
|
|
63501
63506
|
// ============================================================================
|
|
63502
63507
|
// Compaction Management
|
|
63503
63508
|
// ============================================================================
|
|
63504
|
-
async signalCompaction() {
|
|
63509
|
+
async signalCompaction(lineNumber) {
|
|
63510
|
+
if (this.metrics.isPostCompactIndeterminate)
|
|
63511
|
+
return;
|
|
63505
63512
|
this.metrics.currentContextTokens = null;
|
|
63506
63513
|
this.metrics.isPostCompactIndeterminate = true;
|
|
63507
|
-
await this.emitEvent("Compact", {}, this.metrics.lastProcessedLine);
|
|
63514
|
+
await this.emitEvent("Compact", {}, lineNumber ?? this.metrics.lastProcessedLine);
|
|
63508
63515
|
this.notifyMetricsChange();
|
|
63509
63516
|
this.schedulePersistence();
|
|
63510
63517
|
}
|
|
@@ -63562,7 +63569,7 @@ var require_transcript_service = __commonJS({
|
|
|
63562
63569
|
return;
|
|
63563
63570
|
const self = this;
|
|
63564
63571
|
await (0, transcript_file_watcher_js_1.processTranscriptFile)(this.transcriptPath, this.streamingState, this.metrics, async (entry, lineNumber) => {
|
|
63565
|
-
await (0, transcript_metrics_engine_js_1.processEntry)(entry, lineNumber, this.metrics, this.toolUseIdToName, (eventType, e, ln) => this.emitEvent(eventType, e, ln));
|
|
63572
|
+
await (0, transcript_metrics_engine_js_1.processEntry)(entry, lineNumber, this.metrics, this.toolUseIdToName, (eventType, e, ln) => this.emitEvent(eventType, e, ln), (ln) => this.signalCompaction(ln));
|
|
63566
63573
|
}, async (lineNumber, _durationMs) => {
|
|
63567
63574
|
await this.emitEvent("BulkProcessingComplete", {}, lineNumber);
|
|
63568
63575
|
}, this.options.logger, this.sessionId, {
|
|
@@ -76918,28 +76925,6 @@ var require_dist5 = __commonJS({
|
|
|
76918
76925
|
}
|
|
76919
76926
|
});
|
|
76920
76927
|
|
|
76921
|
-
// ../feature-reminders/dist/handlers/consumption/session-type-gate.js
|
|
76922
|
-
var require_session_type_gate = __commonJS({
|
|
76923
|
-
"../feature-reminders/dist/handlers/consumption/session-type-gate.js"(exports2) {
|
|
76924
|
-
"use strict";
|
|
76925
|
-
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
76926
|
-
exports2.suppressReminderForSessionType = suppressReminderForSessionType;
|
|
76927
|
-
var types_js_1 = require_types2();
|
|
76928
|
-
var PERSONA_REMINDERS = /* @__PURE__ */ new Set([types_js_1.ReminderIds.REMEMBER_YOUR_PERSONA, types_js_1.ReminderIds.PERSONA_CHANGED]);
|
|
76929
|
-
function suppressReminderForSessionType(reminderName, sessionType, config) {
|
|
76930
|
-
if (sessionType !== "non-interactive")
|
|
76931
|
-
return false;
|
|
76932
|
-
if (PERSONA_REMINDERS.has(reminderName)) {
|
|
76933
|
-
return config.injectPersonaIntoNonInteractiveSessions !== true;
|
|
76934
|
-
}
|
|
76935
|
-
if (reminderName === types_js_1.ReminderIds.CAVEMAN_MODE) {
|
|
76936
|
-
return config.injectCavemanIntoNonInteractiveSessions !== true;
|
|
76937
|
-
}
|
|
76938
|
-
return false;
|
|
76939
|
-
}
|
|
76940
|
-
}
|
|
76941
|
-
});
|
|
76942
|
-
|
|
76943
76928
|
// ../feature-reminders/dist/handlers/staging/stage-persona-reminders.js
|
|
76944
76929
|
var require_stage_persona_reminders = __commonJS({
|
|
76945
76930
|
"../feature-reminders/dist/handlers/staging/stage-persona-reminders.js"(exports2) {
|
|
@@ -76947,7 +76932,6 @@ var require_stage_persona_reminders = __commonJS({
|
|
|
76947
76932
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
76948
76933
|
exports2.restagePersonaRemindersForActiveSessions = restagePersonaRemindersForActiveSessions;
|
|
76949
76934
|
exports2.stagePersonaRemindersForSession = stagePersonaRemindersForSession;
|
|
76950
|
-
exports2.resolvePersonaContextForSnapshot = resolvePersonaContextForSnapshot;
|
|
76951
76935
|
exports2.registerStagePersonaReminders = registerStagePersonaReminders;
|
|
76952
76936
|
var core_1 = require_dist4();
|
|
76953
76937
|
var feature_session_summary_1 = require_dist5();
|
|
@@ -76955,7 +76939,6 @@ var require_stage_persona_reminders = __commonJS({
|
|
|
76955
76939
|
var types_1 = require_dist();
|
|
76956
76940
|
var reminder_utils_js_1 = require_reminder_utils();
|
|
76957
76941
|
var types_js_1 = require_types2();
|
|
76958
|
-
var session_type_gate_js_1 = require_session_type_gate();
|
|
76959
76942
|
var throttle_utils_js_1 = require_throttle_utils();
|
|
76960
76943
|
async function restagePersonaRemindersForActiveSessions(ctxFactory, sessionIds, logger) {
|
|
76961
76944
|
logger.info("Re-staging persona reminders for active sessions", { count: sessionIds.length });
|
|
@@ -77168,24 +77151,6 @@ var require_stage_persona_reminders = __commonJS({
|
|
|
77168
77151
|
includeChanged: options?.includeChangedReminder ?? false
|
|
77169
77152
|
});
|
|
77170
77153
|
}
|
|
77171
|
-
async function resolvePersonaContextForSnapshot(ctx, sessionId) {
|
|
77172
|
-
if (!isPersonaInjectionEnabled(ctx))
|
|
77173
|
-
return void 0;
|
|
77174
|
-
const personaConfig = ctx.config.getFeature("session-summary").settings?.personas ?? {};
|
|
77175
|
-
if ((0, session_type_gate_js_1.suppressReminderForSessionType)(types_js_1.ReminderIds.REMEMBER_YOUR_PERSONA, ctx.sessionType, personaConfig)) {
|
|
77176
|
-
return void 0;
|
|
77177
|
-
}
|
|
77178
|
-
const persona = await loadPersonaForSession(ctx, sessionId);
|
|
77179
|
-
if (!persona)
|
|
77180
|
-
return void 0;
|
|
77181
|
-
const templateContext = buildPersonaTemplateContext(persona);
|
|
77182
|
-
const reminder = (0, reminder_utils_js_1.resolveReminder)(types_js_1.ReminderIds.REMEMBER_YOUR_PERSONA, {
|
|
77183
|
-
context: templateContext,
|
|
77184
|
-
assets: ctx.assets,
|
|
77185
|
-
logger: ctx.logger
|
|
77186
|
-
});
|
|
77187
|
-
return reminder?.additionalContext ?? void 0;
|
|
77188
|
-
}
|
|
77189
77154
|
function registerStagePersonaReminders(context) {
|
|
77190
77155
|
if (!(0, types_1.isDaemonContext)(context))
|
|
77191
77156
|
return;
|
|
@@ -77214,7 +77179,6 @@ var require_stage_user_profile_reminders = __commonJS({
|
|
|
77214
77179
|
"use strict";
|
|
77215
77180
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
77216
77181
|
exports2.stageUserProfileRemindersForSession = stageUserProfileRemindersForSession;
|
|
77217
|
-
exports2.resolveUserProfileContextForSnapshot = resolveUserProfileContextForSnapshot;
|
|
77218
77182
|
exports2.registerStageUserProfileReminders = registerStageUserProfileReminders;
|
|
77219
77183
|
var core_1 = require_dist4();
|
|
77220
77184
|
var events_js_1 = require_events2();
|
|
@@ -77254,21 +77218,6 @@ var require_stage_user_profile_reminders = __commonJS({
|
|
|
77254
77218
|
ctx.logger.warn("Failed to resolve user-profile reminder", { sessionId });
|
|
77255
77219
|
}
|
|
77256
77220
|
}
|
|
77257
|
-
function resolveUserProfileContextForSnapshot(ctx) {
|
|
77258
|
-
const profile = (0, core_1.loadUserProfile)({ logger: ctx.logger });
|
|
77259
|
-
if (!profile)
|
|
77260
|
-
return void 0;
|
|
77261
|
-
const templateContext = {
|
|
77262
|
-
user_name: profile.name,
|
|
77263
|
-
user_role: profile.role,
|
|
77264
|
-
user_interests: profile.interests.join(", ")
|
|
77265
|
-
};
|
|
77266
|
-
const reminder = (0, reminder_utils_js_1.resolveReminder)(types_js_1.ReminderIds.USER_PROFILE, {
|
|
77267
|
-
context: templateContext,
|
|
77268
|
-
assets: ctx.assets
|
|
77269
|
-
});
|
|
77270
|
-
return reminder?.additionalContext ?? void 0;
|
|
77271
|
-
}
|
|
77272
77221
|
function registerStageUserProfileReminders(context) {
|
|
77273
77222
|
if (!(0, types_1.isDaemonContext)(context))
|
|
77274
77223
|
return;
|
|
@@ -77560,6 +77509,28 @@ var require_cli_staging_reader = __commonJS({
|
|
|
77560
77509
|
}
|
|
77561
77510
|
});
|
|
77562
77511
|
|
|
77512
|
+
// ../feature-reminders/dist/handlers/consumption/session-type-gate.js
|
|
77513
|
+
var require_session_type_gate = __commonJS({
|
|
77514
|
+
"../feature-reminders/dist/handlers/consumption/session-type-gate.js"(exports2) {
|
|
77515
|
+
"use strict";
|
|
77516
|
+
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
77517
|
+
exports2.suppressReminderForSessionType = suppressReminderForSessionType;
|
|
77518
|
+
var types_js_1 = require_types2();
|
|
77519
|
+
var PERSONA_REMINDERS = /* @__PURE__ */ new Set([types_js_1.ReminderIds.REMEMBER_YOUR_PERSONA, types_js_1.ReminderIds.PERSONA_CHANGED]);
|
|
77520
|
+
function suppressReminderForSessionType(reminderName, sessionType, config) {
|
|
77521
|
+
if (sessionType !== "non-interactive")
|
|
77522
|
+
return false;
|
|
77523
|
+
if (PERSONA_REMINDERS.has(reminderName)) {
|
|
77524
|
+
return config.injectPersonaIntoNonInteractiveSessions !== true;
|
|
77525
|
+
}
|
|
77526
|
+
if (reminderName === types_js_1.ReminderIds.CAVEMAN_MODE) {
|
|
77527
|
+
return config.injectCavemanIntoNonInteractiveSessions !== true;
|
|
77528
|
+
}
|
|
77529
|
+
return false;
|
|
77530
|
+
}
|
|
77531
|
+
}
|
|
77532
|
+
});
|
|
77533
|
+
|
|
77563
77534
|
// ../feature-reminders/dist/handlers/consumption/consumption-handler-factory.js
|
|
77564
77535
|
var require_consumption_handler_factory = __commonJS({
|
|
77565
77536
|
"../feature-reminders/dist/handlers/consumption/consumption-handler-factory.js"(exports2) {
|
|
@@ -77872,22 +77843,6 @@ var require_inject_session_start = __commonJS({
|
|
|
77872
77843
|
}
|
|
77873
77844
|
});
|
|
77874
77845
|
|
|
77875
|
-
// ../feature-reminders/dist/handlers/consumption/inject-post-compact.js
|
|
77876
|
-
var require_inject_post_compact = __commonJS({
|
|
77877
|
-
"../feature-reminders/dist/handlers/consumption/inject-post-compact.js"(exports2) {
|
|
77878
|
-
"use strict";
|
|
77879
|
-
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
77880
|
-
exports2.registerInjectPostCompact = registerInjectPostCompact;
|
|
77881
|
-
var consumption_handler_factory_js_1 = require_consumption_handler_factory();
|
|
77882
|
-
function registerInjectPostCompact(context) {
|
|
77883
|
-
(0, consumption_handler_factory_js_1.createConsumptionHandler)(context, {
|
|
77884
|
-
id: "reminders:inject-post-compact",
|
|
77885
|
-
hook: "PostCompact"
|
|
77886
|
-
});
|
|
77887
|
-
}
|
|
77888
|
-
}
|
|
77889
|
-
});
|
|
77890
|
-
|
|
77891
77846
|
// ../feature-reminders/dist/handlers/consumption/index.js
|
|
77892
77847
|
var require_consumption = __commonJS({
|
|
77893
77848
|
"../feature-reminders/dist/handlers/consumption/index.js"(exports2) {
|
|
@@ -77899,14 +77854,12 @@ var require_consumption = __commonJS({
|
|
|
77899
77854
|
var inject_post_tool_use_1 = require_inject_post_tool_use();
|
|
77900
77855
|
var inject_stop_1 = require_inject_stop();
|
|
77901
77856
|
var inject_session_start_1 = require_inject_session_start();
|
|
77902
|
-
var inject_post_compact_js_1 = require_inject_post_compact();
|
|
77903
77857
|
function registerConsumptionHandlers(context) {
|
|
77904
77858
|
(0, inject_user_prompt_submit_1.registerInjectUserPromptSubmit)(context);
|
|
77905
77859
|
(0, inject_pre_tool_use_1.registerInjectPreToolUse)(context);
|
|
77906
77860
|
(0, inject_post_tool_use_1.registerInjectPostToolUse)(context);
|
|
77907
77861
|
(0, inject_stop_1.registerInjectStop)(context);
|
|
77908
77862
|
(0, inject_session_start_1.registerInjectSessionStart)(context);
|
|
77909
|
-
(0, inject_post_compact_js_1.registerInjectPostCompact)(context);
|
|
77910
77863
|
}
|
|
77911
77864
|
}
|
|
77912
77865
|
});
|
|
@@ -78351,7 +78304,7 @@ var require_dist6 = __commonJS({
|
|
|
78351
78304
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding(exports3, m, p);
|
|
78352
78305
|
};
|
|
78353
78306
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
78354
|
-
exports2.createRemindersState = exports2.ReminderOrchestrator = exports2.ReminderEvents = exports2.handleVCUnverifiedClear = exports2.handleVCUnverifiedSet = exports2.handleReminderConsumed = exports2.classifyCompletion = exports2.
|
|
78307
|
+
exports2.createRemindersState = exports2.ReminderOrchestrator = exports2.ReminderEvents = exports2.handleVCUnverifiedClear = exports2.handleVCUnverifiedSet = exports2.handleReminderConsumed = exports2.classifyCompletion = exports2.restagePersonaRemindersForActiveSessions = exports2.stagePersonaRemindersForSession = exports2.registerStagingHandlers = exports2.registerConsumptionHandlers = exports2.manifest = void 0;
|
|
78355
78308
|
exports2.register = register;
|
|
78356
78309
|
var staging_1 = require_staging2();
|
|
78357
78310
|
var consumption_1 = require_consumption();
|
|
@@ -78385,13 +78338,6 @@ var require_dist6 = __commonJS({
|
|
|
78385
78338
|
Object.defineProperty(exports2, "restagePersonaRemindersForActiveSessions", { enumerable: true, get: function() {
|
|
78386
78339
|
return stage_persona_reminders_1.restagePersonaRemindersForActiveSessions;
|
|
78387
78340
|
} });
|
|
78388
|
-
Object.defineProperty(exports2, "resolvePersonaContextForSnapshot", { enumerable: true, get: function() {
|
|
78389
|
-
return stage_persona_reminders_1.resolvePersonaContextForSnapshot;
|
|
78390
|
-
} });
|
|
78391
|
-
var stage_user_profile_reminders_1 = require_stage_user_profile_reminders();
|
|
78392
|
-
Object.defineProperty(exports2, "resolveUserProfileContextForSnapshot", { enumerable: true, get: function() {
|
|
78393
|
-
return stage_user_profile_reminders_1.resolveUserProfileContextForSnapshot;
|
|
78394
|
-
} });
|
|
78395
78341
|
var completion_classifier_1 = require_completion_classifier();
|
|
78396
78342
|
Object.defineProperty(exports2, "classifyCompletion", { enumerable: true, get: function() {
|
|
78397
78343
|
return completion_classifier_1.classifyCompletion;
|
|
@@ -80702,8 +80648,6 @@ var require_daemon = __commonJS({
|
|
|
80702
80648
|
registryService;
|
|
80703
80649
|
timerManager;
|
|
80704
80650
|
sessionLogWriter;
|
|
80705
|
-
/** In-memory compaction snapshots keyed by sessionId. Populated by PreCompact, consumed by PostCompact. */
|
|
80706
|
-
compactionSnapshots = /* @__PURE__ */ new Map();
|
|
80707
80651
|
/**
|
|
80708
80652
|
* Parent session type keyed by sessionId. Only updated by parent hooks
|
|
80709
80653
|
* (interactive/non-interactive); subagent 'agent' hooks share the parent
|
|
@@ -81189,36 +81133,29 @@ var require_daemon = __commonJS({
|
|
|
81189
81133
|
if (hook === "UserPromptSubmit") {
|
|
81190
81134
|
await this.handleUserPromptSubmitCleanup(event, { logger: requestLogger });
|
|
81191
81135
|
}
|
|
81192
|
-
if (hook === "PreCompact") {
|
|
81193
|
-
await this.handlePreCompact(event, { logger: requestLogger });
|
|
81194
|
-
}
|
|
81195
|
-
let postCompactResponse;
|
|
81196
81136
|
if (hook === "PostCompact") {
|
|
81197
|
-
|
|
81137
|
+
await this.handlePostCompact(event, { logger: requestLogger });
|
|
81198
81138
|
}
|
|
81199
81139
|
if (sessionId && !this.logMetrics.hasSession(sessionId)) {
|
|
81200
81140
|
await this.logMetrics.initSessionCounters(sessionId, false);
|
|
81201
81141
|
requestLogger.debug("Log counters initialized from file for hook", { hook });
|
|
81202
81142
|
}
|
|
81203
|
-
|
|
81204
|
-
if (postCompactResponse?.additionalContext) {
|
|
81205
|
-
const registryContext = response.additionalContext;
|
|
81206
|
-
response.additionalContext = registryContext ? `${registryContext}
|
|
81207
|
-
|
|
81208
|
-
${postCompactResponse.additionalContext}` : postCompactResponse.additionalContext;
|
|
81209
|
-
}
|
|
81210
|
-
return response;
|
|
81143
|
+
return this.handlerRegistry.invokeHook(hook, event, { logger: requestLogger });
|
|
81211
81144
|
}
|
|
81212
81145
|
/**
|
|
81213
|
-
* Handle PostCompact: signal compaction to the session's TranscriptService
|
|
81214
|
-
*
|
|
81146
|
+
* Handle PostCompact: signal compaction to the session's TranscriptService.
|
|
81147
|
+
*
|
|
81148
|
+
* PostCompact does not re-inject session context: Claude Code's PostCompact hook-output
|
|
81149
|
+
* schema has no additionalContext variant, so any snapshot would be rejected. Persona and
|
|
81150
|
+
* user-profile context are re-established after compaction via the SessionStart:compact
|
|
81151
|
+
* staging path instead.
|
|
81215
81152
|
*/
|
|
81216
81153
|
async handlePostCompact(event, options) {
|
|
81217
81154
|
const log = options?.logger ?? this.logger;
|
|
81218
81155
|
const sessionId = event.context?.sessionId;
|
|
81219
81156
|
if (!sessionId) {
|
|
81220
81157
|
log.warn("PostCompact event missing sessionId");
|
|
81221
|
-
return
|
|
81158
|
+
return;
|
|
81222
81159
|
}
|
|
81223
81160
|
const transcriptService = this.serviceFactory.getTranscriptService(sessionId);
|
|
81224
81161
|
if (transcriptService) {
|
|
@@ -81227,82 +81164,6 @@ ${postCompactResponse.additionalContext}` : postCompactResponse.additionalContex
|
|
|
81227
81164
|
} else {
|
|
81228
81165
|
log.warn("PostCompact: no transcript service for session", { sessionId });
|
|
81229
81166
|
}
|
|
81230
|
-
const snapshot = this.compactionSnapshots.get(sessionId);
|
|
81231
|
-
if (snapshot) {
|
|
81232
|
-
this.compactionSnapshots.delete(sessionId);
|
|
81233
|
-
log.info("PostCompact: re-injecting compaction snapshot", {
|
|
81234
|
-
sessionId,
|
|
81235
|
-
snapshotLength: snapshot.length
|
|
81236
|
-
});
|
|
81237
|
-
return { additionalContext: snapshot };
|
|
81238
|
-
}
|
|
81239
|
-
return {};
|
|
81240
|
-
}
|
|
81241
|
-
/**
|
|
81242
|
-
* Handle PreCompact: capture staged SessionStart reminders as a compaction snapshot.
|
|
81243
|
-
* The snapshot is returned by the next PostCompact call for context re-injection.
|
|
81244
|
-
*/
|
|
81245
|
-
async handlePreCompact(event, options) {
|
|
81246
|
-
const log = options?.logger ?? this.logger;
|
|
81247
|
-
const sessionId = event.context?.sessionId;
|
|
81248
|
-
if (!sessionId)
|
|
81249
|
-
return;
|
|
81250
|
-
try {
|
|
81251
|
-
const minimalCtx = {
|
|
81252
|
-
role: "daemon",
|
|
81253
|
-
config: {
|
|
81254
|
-
core: {
|
|
81255
|
-
logging: {
|
|
81256
|
-
level: this.configService.core.logging.level,
|
|
81257
|
-
components: this.configService.core.logging.components
|
|
81258
|
-
},
|
|
81259
|
-
development: { enabled: this.configService.core.development.enabled }
|
|
81260
|
-
},
|
|
81261
|
-
llm: {
|
|
81262
|
-
defaultProfile: this.configService.llm.defaultProfile,
|
|
81263
|
-
defaultFallbackProfileId: this.configService.llm.defaultFallbackProfileId,
|
|
81264
|
-
profiles: this.configService.llm.profiles,
|
|
81265
|
-
fallbackProfiles: this.configService.llm.fallbackProfiles
|
|
81266
|
-
},
|
|
81267
|
-
getAll: () => this.configService.getAll(),
|
|
81268
|
-
getFeature: (name) => this.configService.getFeature(name)
|
|
81269
|
-
},
|
|
81270
|
-
logger: log,
|
|
81271
|
-
assets: this.assetResolver,
|
|
81272
|
-
paths: this.buildRuntimePaths(),
|
|
81273
|
-
stateService: this.stateService,
|
|
81274
|
-
// Remaining DaemonContext fields are not needed by the resolve functions
|
|
81275
|
-
handlers: this.handlerRegistry,
|
|
81276
|
-
staging: this.serviceFactory.getStagingService(sessionId),
|
|
81277
|
-
transcript: void 0,
|
|
81278
|
-
llm: void 0,
|
|
81279
|
-
profileFactory: void 0,
|
|
81280
|
-
orchestrator: this.orchestrator,
|
|
81281
|
-
personaClearCache: { consume: () => this.consumeCachedPersona() },
|
|
81282
|
-
sessionType: this.sessionTypes.get(sessionId) ?? "interactive"
|
|
81283
|
-
};
|
|
81284
|
-
const [personaContext, userProfileContext] = await Promise.all([
|
|
81285
|
-
(0, feature_reminders_1.resolvePersonaContextForSnapshot)(minimalCtx, sessionId),
|
|
81286
|
-
Promise.resolve((0, feature_reminders_1.resolveUserProfileContextForSnapshot)(minimalCtx))
|
|
81287
|
-
]);
|
|
81288
|
-
const contextParts = [personaContext, userProfileContext].filter((c) => typeof c === "string" && c.trim().length > 0);
|
|
81289
|
-
if (contextParts.length === 0) {
|
|
81290
|
-
log.debug("PreCompact: no context to snapshot", { sessionId });
|
|
81291
|
-
return;
|
|
81292
|
-
}
|
|
81293
|
-
const snapshot = ["Context was compacted. Re-establishing session context:", "", ...contextParts].join("\n");
|
|
81294
|
-
this.compactionSnapshots.set(sessionId, snapshot);
|
|
81295
|
-
log.info("PreCompact: compaction snapshot captured", {
|
|
81296
|
-
sessionId,
|
|
81297
|
-
reminderCount: contextParts.length,
|
|
81298
|
-
snapshotLength: snapshot.length
|
|
81299
|
-
});
|
|
81300
|
-
} catch (err) {
|
|
81301
|
-
log.warn("PreCompact: failed to capture snapshot", {
|
|
81302
|
-
sessionId,
|
|
81303
|
-
error: (0, core_1.toErrorMessage)(err)
|
|
81304
|
-
});
|
|
81305
|
-
}
|
|
81306
81167
|
}
|
|
81307
81168
|
/**
|
|
81308
81169
|
* Handle SessionStart-specific logic: clear staging on startup/clear.
|
|
@@ -81388,7 +81249,6 @@ ${postCompactResponse.additionalContext}` : postCompactResponse.additionalContex
|
|
|
81388
81249
|
}
|
|
81389
81250
|
await this.llmManager.shutdownSessionProvider(sessionId, log);
|
|
81390
81251
|
this.logMetrics.deleteSessionCounters(sessionId);
|
|
81391
|
-
this.compactionSnapshots.delete(sessionId);
|
|
81392
81252
|
await this.serviceFactory.shutdownSession(sessionId);
|
|
81393
81253
|
await this.sessionLogWriter.closeSession(sessionId);
|
|
81394
81254
|
log.info("Session ended");
|