@scotthamilton77/sidekick 0.1.31 → 0.1.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/dist/bin.js +47 -34
  2. package/dist/daemon.js +41 -29
  3. package/package.json +1 -1
package/dist/bin.js CHANGED
@@ -28151,6 +28151,35 @@ var require_error_utils = __commonJS({
28151
28151
  }
28152
28152
  });
28153
28153
 
28154
+ // ../sidekick-core/dist/claude-paths.js
28155
+ var require_claude_paths = __commonJS({
28156
+ "../sidekick-core/dist/claude-paths.js"(exports2) {
28157
+ "use strict";
28158
+ var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
28159
+ return mod && mod.__esModule ? mod : { "default": mod };
28160
+ };
28161
+ Object.defineProperty(exports2, "__esModule", { value: true });
28162
+ exports2.claudeConfigDir = claudeConfigDir;
28163
+ exports2.encodeProjectPath = encodeProjectPath;
28164
+ exports2.reconstructTranscriptPath = reconstructTranscriptPath;
28165
+ var os_1 = require("os");
28166
+ var path_1 = __importDefault2(require("path"));
28167
+ function claudeConfigDir(home) {
28168
+ const override = process.env.CLAUDE_CONFIG_DIR?.trim();
28169
+ if (override)
28170
+ return override;
28171
+ return path_1.default.join(home ?? (0, os_1.homedir)(), ".claude");
28172
+ }
28173
+ function encodeProjectPath(projectDir) {
28174
+ return projectDir.replace(/\//g, "-");
28175
+ }
28176
+ function reconstructTranscriptPath(projectDir, sessionId) {
28177
+ const encodedPath = encodeProjectPath(projectDir);
28178
+ return path_1.default.join(claudeConfigDir(), "projects", encodedPath, `${sessionId}.jsonl`);
28179
+ }
28180
+ }
28181
+ });
28182
+
28154
28183
  // ../sidekick-core/dist/assets.js
28155
28184
  var require_assets = __commonJS({
28156
28185
  "../sidekick-core/dist/assets.js"(exports2) {
@@ -28165,6 +28194,7 @@ var require_assets = __commonJS({
28165
28194
  var node_os_1 = require("node:os");
28166
28195
  var node_path_1 = require("node:path");
28167
28196
  var error_utils_js_1 = require_error_utils();
28197
+ var claude_paths_js_1 = require_claude_paths();
28168
28198
  function createCascadingResolver(options) {
28169
28199
  const { cascadeLayers } = options;
28170
28200
  const findFile = (relativePath) => {
@@ -28223,7 +28253,7 @@ var require_assets = __commonJS({
28223
28253
  function buildCascadeLayers(defaultAssetsDir, homeDir, projectRoot) {
28224
28254
  const layers = [];
28225
28255
  layers.push(defaultAssetsDir);
28226
- const userInstalled = (0, node_path_1.join)(homeDir, ".claude", "hooks", "sidekick", "assets");
28256
+ const userInstalled = (0, node_path_1.join)((0, claude_paths_js_1.claudeConfigDir)(homeDir), "hooks", "sidekick", "assets");
28227
28257
  layers.push(userInstalled);
28228
28258
  const userPersistent = (0, node_path_1.join)(homeDir, ".sidekick", "assets");
28229
28259
  layers.push(userPersistent);
@@ -28253,28 +28283,6 @@ var require_assets = __commonJS({
28253
28283
  }
28254
28284
  });
28255
28285
 
28256
- // ../sidekick-core/dist/claude-paths.js
28257
- var require_claude_paths = __commonJS({
28258
- "../sidekick-core/dist/claude-paths.js"(exports2) {
28259
- "use strict";
28260
- var __importDefault2 = exports2 && exports2.__importDefault || function(mod) {
28261
- return mod && mod.__esModule ? mod : { "default": mod };
28262
- };
28263
- Object.defineProperty(exports2, "__esModule", { value: true });
28264
- exports2.encodeProjectPath = encodeProjectPath;
28265
- exports2.reconstructTranscriptPath = reconstructTranscriptPath;
28266
- var os_1 = require("os");
28267
- var path_1 = __importDefault2(require("path"));
28268
- function encodeProjectPath(projectDir) {
28269
- return projectDir.replace(/\//g, "-");
28270
- }
28271
- function reconstructTranscriptPath(projectDir, sessionId) {
28272
- const encodedPath = encodeProjectPath(projectDir);
28273
- return path_1.default.join((0, os_1.homedir)(), ".claude", "projects", encodedPath, `${sessionId}.jsonl`);
28274
- }
28275
- }
28276
- });
28277
-
28278
28286
  // ../sidekick-core/dist/sidekick-paths.js
28279
28287
  var require_sidekick_paths = __commonJS({
28280
28288
  "../sidekick-core/dist/sidekick-paths.js"(exports2) {
@@ -47579,7 +47587,7 @@ var require_build_identity = __commonJS({
47579
47587
  var path_1 = __importDefault2(require("path"));
47580
47588
  var DEV_PREFIX = "dev:";
47581
47589
  var NO_DIST_SENTINEL = "nodist";
47582
- function computeBuildIdentity(injectedVersion = true ? "0.1.31" : void 0, devFingerprint = computeDevFingerprint) {
47590
+ function computeBuildIdentity(injectedVersion = true ? "0.1.32" : void 0, devFingerprint = computeDevFingerprint) {
47583
47591
  return injectedVersion !== void 0 ? injectedVersion : DEV_PREFIX + devFingerprint();
47584
47592
  }
47585
47593
  function computeDevFingerprint() {
@@ -59107,6 +59115,7 @@ var require_plugin_detector = __commonJS({
59107
59115
  var node_child_process_1 = require("node:child_process");
59108
59116
  var api_key_detector_js_1 = require_api_key_detector();
59109
59117
  var error_utils_js_1 = require_error_utils();
59118
+ var claude_paths_js_1 = require_claude_paths();
59110
59119
  function isSidekickStatuslineCommand(command) {
59111
59120
  return command?.toLowerCase().includes("sidekick") ?? false;
59112
59121
  }
@@ -59165,7 +59174,7 @@ var require_plugin_detector = __commonJS({
59165
59174
  });
59166
59175
  }
59167
59176
  async function detectActualStatusline(projectDir, homeDir) {
59168
- const userSettingsPath = path.join(homeDir, ".claude", "settings.json");
59177
+ const userSettingsPath = path.join((0, claude_paths_js_1.claudeConfigDir)(homeDir), "settings.json");
59169
59178
  const projectSettingsPath = path.join(projectDir, ".claude", "settings.local.json");
59170
59179
  let inUser = false;
59171
59180
  let inProject = false;
@@ -59244,7 +59253,7 @@ var require_plugin_detector = __commonJS({
59244
59253
  }
59245
59254
  async function detectDevModeFromSettings(projectDir, homeDir) {
59246
59255
  const settingsPaths = [
59247
- path.join(homeDir, ".claude", "settings.json"),
59256
+ path.join((0, claude_paths_js_1.claudeConfigDir)(homeDir), "settings.json"),
59248
59257
  path.join(projectDir, ".claude", "settings.local.json")
59249
59258
  ];
59250
59259
  for (const settingsPath of settingsPaths) {
@@ -65715,9 +65724,9 @@ var require_dist4 = __commonJS({
65715
65724
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding(exports3, m, p);
65716
65725
  };
65717
65726
  Object.defineProperty(exports2, "__esModule", { value: true });
65718
- exports2.PROJECT_STATUS_FILENAME = exports2.USER_STATUS_FILENAME = exports2.createSetupStatusService = exports2.SetupStatusService = exports2.DaemonClient = exports2.findZombieDaemons = exports2.killZombieDaemons = exports2.killAllDaemons = exports2.SessionLogWriter = exports2.setSessionLogWriter = exports2.logEvent = exports2.LogEvents = exports2.DEFAULT_MAX_FILES = exports2.DEFAULT_ROTATE_SIZE_BYTES = exports2.getComponentLogLevel = exports2.setupGlobalErrorHandlers = exports2.createLoggerFacade = exports2.createLogManager = exports2.createConsoleLogger = exports2.getUserDaemonsDir = exports2.getUserPidPath = exports2.getTokenPath = exports2.getSocketPath = exports2.getProjectHash = exports2.getPidPath = exports2.getLockPath = exports2.IpcService = exports2.IpcServer = exports2.loadPersonaFile = exports2.getDefaultPersonasDir = exports2.discoverPersonas = exports2.createPersonaLoader = exports2.reconstructTranscriptPath = exports2.encodeProjectPath = exports2.isSubagentStopEvent = exports2.isSubagentStartEvent = exports2.isPreCompactEvent = exports2.isStopEvent = exports2.isPostToolUseEvent = exports2.isPreToolUseEvent = exports2.isUserPromptSubmitEvent = exports2.isSessionEndEvent = exports2.isSessionStartEvent = exports2.isTranscriptEvent = exports2.isHookEvent = exports2.MetricsPersistPayloadSchema = exports2.CleanupPayloadSchema = exports2.ResumeGenerationPayloadSchema = exports2.SessionSummaryPayloadSchema = exports2.TaskTypes = void 0;
65719
- exports2.createDefaultMetrics = exports2.copyWithTimestampSync = exports2.renameWithTimestampSync = exports2.renameWithTimestamp = exports2.copyWithTimestamp = exports2.getTimestampedPath = exports2.extractToolResultPreview = exports2.extractToolCallPreview = exports2.extractTextFromContent = exports2.extractContentPreview = exports2.HandlerRegistryImpl = exports2.extractConsumedTimestamp = exports2.createConsumedFilePattern = exports2.CONSUMED_FILE_PATTERN = exports2.filterActiveReminderFiles = exports2.validatePathSegment = exports2.isValidPathSegment = exports2.getReminderPath = exports2.getHookDir = exports2.getStagingRoot = exports2.SessionScopedStagingService = exports2.StagingServiceCore = exports2.GITIGNORE_ENTRIES = exports2.SIDEKICK_GITIGNORE_HEADER = exports2.SIDEKICK_SECTION_END = exports2.SIDEKICK_SECTION_START = exports2.removeLegacyGitignoreSection = exports2.detectLegacyGitignoreSection = exports2.detectGitignoreStatus = exports2.removeGitignoreSection = exports2.installGitignoreSection = exports2.validateOpenAIKey = exports2.validateOpenRouterKey = exports2.runDoctorCheck = exports2.detectPluginLiveness = exports2.detectPluginInstallation = exports2.detectDevModeFromSettings = exports2.detectActualStatusline = exports2.spawnWithTimeout = exports2.getDoctorTimeout = exports2.DOCTOR_TIMEOUTS = exports2.projectApiKeyStatusFromHealth = exports2.userApiKeyStatusFromHealth = exports2.buildProjectApiKeyStatus = exports2.buildUserApiKeyStatus = exports2.detectAllApiKeys = exports2.detectActualApiKey = exports2.readKeyFromEnvFile = exports2.determineOverallStatus = exports2.toScopeStatus = void 0;
65720
- exports2.computeBuildIdentity = exports2.CoalescingGuard = exports2.loadUserProfile = exports2.parseGitStatusOutput = exports2.getGitFileStatus = exports2.toErrorMessage = exports2.isInSandbox = exports2.updateDaemonHealth = exports2.readDaemonHealth = exports2.ProjectRegistryService = exports2.encodeProjectDir = exports2.DaemonGlobalLogMetricsDescriptor = exports2.CliLogMetricsDescriptor = exports2.DaemonLogMetricsDescriptor = exports2.CompactionHistoryDescriptor = exports2.TranscriptMetricsDescriptor = exports2.GlobalStateAccessor = exports2.SessionStateAccessor = exports2.globalState = exports2.sessionState = exports2.StateCorruptError = exports2.StateNotFoundError = exports2.StateService = exports2.createHookableLogger = exports2.InstrumentedProfileProviderFactory = exports2.InstrumentedLLMProvider = exports2.ServiceFactoryImpl = exports2.TranscriptServiceImpl = exports2.createDefaultTokenUsage = void 0;
65727
+ exports2.USER_STATUS_FILENAME = exports2.createSetupStatusService = exports2.SetupStatusService = exports2.DaemonClient = exports2.findZombieDaemons = exports2.killZombieDaemons = exports2.killAllDaemons = exports2.SessionLogWriter = exports2.setSessionLogWriter = exports2.logEvent = exports2.LogEvents = exports2.DEFAULT_MAX_FILES = exports2.DEFAULT_ROTATE_SIZE_BYTES = exports2.getComponentLogLevel = exports2.setupGlobalErrorHandlers = exports2.createLoggerFacade = exports2.createLogManager = exports2.createConsoleLogger = exports2.getUserDaemonsDir = exports2.getUserPidPath = exports2.getTokenPath = exports2.getSocketPath = exports2.getProjectHash = exports2.getPidPath = exports2.getLockPath = exports2.IpcService = exports2.IpcServer = exports2.loadPersonaFile = exports2.getDefaultPersonasDir = exports2.discoverPersonas = exports2.createPersonaLoader = exports2.claudeConfigDir = exports2.reconstructTranscriptPath = exports2.encodeProjectPath = exports2.isSubagentStopEvent = exports2.isSubagentStartEvent = exports2.isPreCompactEvent = exports2.isStopEvent = exports2.isPostToolUseEvent = exports2.isPreToolUseEvent = exports2.isUserPromptSubmitEvent = exports2.isSessionEndEvent = exports2.isSessionStartEvent = exports2.isTranscriptEvent = exports2.isHookEvent = exports2.MetricsPersistPayloadSchema = exports2.CleanupPayloadSchema = exports2.ResumeGenerationPayloadSchema = exports2.SessionSummaryPayloadSchema = exports2.TaskTypes = void 0;
65728
+ exports2.copyWithTimestampSync = exports2.renameWithTimestampSync = exports2.renameWithTimestamp = exports2.copyWithTimestamp = exports2.getTimestampedPath = exports2.extractToolResultPreview = exports2.extractToolCallPreview = exports2.extractTextFromContent = exports2.extractContentPreview = exports2.HandlerRegistryImpl = exports2.extractConsumedTimestamp = exports2.createConsumedFilePattern = exports2.CONSUMED_FILE_PATTERN = exports2.filterActiveReminderFiles = exports2.validatePathSegment = exports2.isValidPathSegment = exports2.getReminderPath = exports2.getHookDir = exports2.getStagingRoot = exports2.SessionScopedStagingService = exports2.StagingServiceCore = exports2.GITIGNORE_ENTRIES = exports2.SIDEKICK_GITIGNORE_HEADER = exports2.SIDEKICK_SECTION_END = exports2.SIDEKICK_SECTION_START = exports2.removeLegacyGitignoreSection = exports2.detectLegacyGitignoreSection = exports2.detectGitignoreStatus = exports2.removeGitignoreSection = exports2.installGitignoreSection = exports2.validateOpenAIKey = exports2.validateOpenRouterKey = exports2.runDoctorCheck = exports2.detectPluginLiveness = exports2.detectPluginInstallation = exports2.detectDevModeFromSettings = exports2.detectActualStatusline = exports2.spawnWithTimeout = exports2.getDoctorTimeout = exports2.DOCTOR_TIMEOUTS = exports2.projectApiKeyStatusFromHealth = exports2.userApiKeyStatusFromHealth = exports2.buildProjectApiKeyStatus = exports2.buildUserApiKeyStatus = exports2.detectAllApiKeys = exports2.detectActualApiKey = exports2.readKeyFromEnvFile = exports2.determineOverallStatus = exports2.toScopeStatus = exports2.PROJECT_STATUS_FILENAME = void 0;
65729
+ exports2.computeBuildIdentity = exports2.CoalescingGuard = exports2.loadUserProfile = exports2.parseGitStatusOutput = exports2.getGitFileStatus = exports2.toErrorMessage = exports2.isInSandbox = exports2.updateDaemonHealth = exports2.readDaemonHealth = exports2.ProjectRegistryService = exports2.encodeProjectDir = exports2.DaemonGlobalLogMetricsDescriptor = exports2.CliLogMetricsDescriptor = exports2.DaemonLogMetricsDescriptor = exports2.CompactionHistoryDescriptor = exports2.TranscriptMetricsDescriptor = exports2.GlobalStateAccessor = exports2.SessionStateAccessor = exports2.globalState = exports2.sessionState = exports2.StateCorruptError = exports2.StateNotFoundError = exports2.StateService = exports2.createHookableLogger = exports2.InstrumentedProfileProviderFactory = exports2.InstrumentedLLMProvider = exports2.ServiceFactoryImpl = exports2.TranscriptServiceImpl = exports2.createDefaultTokenUsage = exports2.createDefaultMetrics = void 0;
65721
65730
  var types_1 = require_dist();
65722
65731
  Object.defineProperty(exports2, "TaskTypes", { enumerable: true, get: function() {
65723
65732
  return types_1.TaskTypes;
@@ -65776,6 +65785,9 @@ var require_dist4 = __commonJS({
65776
65785
  Object.defineProperty(exports2, "reconstructTranscriptPath", { enumerable: true, get: function() {
65777
65786
  return claude_paths_1.reconstructTranscriptPath;
65778
65787
  } });
65788
+ Object.defineProperty(exports2, "claudeConfigDir", { enumerable: true, get: function() {
65789
+ return claude_paths_1.claudeConfigDir;
65790
+ } });
65779
65791
  __exportStar(require_sidekick_paths(), exports2);
65780
65792
  var persona_loader_1 = require_persona_loader();
65781
65793
  Object.defineProperty(exports2, "createPersonaLoader", { enumerable: true, get: function() {
@@ -85174,6 +85186,7 @@ var require_helpers = __commonJS({
85174
85186
  var fs = __importStar(require("node:fs/promises"));
85175
85187
  var path = __importStar(require("node:path"));
85176
85188
  var settings_js_1 = require_settings();
85189
+ var core_1 = require_dist4();
85177
85190
  exports2.STATUSLINE_COMMAND = "npx @scotthamilton77/sidekick statusline --project-dir=$CLAUDE_PROJECT_DIR";
85178
85191
  function classifyStatusLine(existing) {
85179
85192
  const command = existing?.command;
@@ -85188,7 +85201,7 @@ var require_helpers = __commonJS({
85188
85201
  function statuslineSettingsPath(scope, homeDir, projectDir) {
85189
85202
  switch (scope) {
85190
85203
  case "user":
85191
- return path.join(homeDir, ".claude", "settings.json");
85204
+ return path.join((0, core_1.claudeConfigDir)(homeDir), "settings.json");
85192
85205
  case "project":
85193
85206
  return path.join(projectDir, ".claude", "settings.json");
85194
85207
  case "local":
@@ -86921,7 +86934,7 @@ var require_uninstall = __commonJS({
86921
86934
  });
86922
86935
  }
86923
86936
  if (userDetected) {
86924
- await cleanSettingsFile(path.join(userHome, ".claude", "settings.json"), "user", logger, actions, {
86937
+ await cleanSettingsFile(path.join((0, core_1.claudeConfigDir)(userHome), "settings.json"), "user", logger, actions, {
86925
86938
  dryRun,
86926
86939
  removeHooks: false
86927
86940
  });
@@ -87038,7 +87051,7 @@ var require_uninstall = __commonJS({
87038
87051
  return true;
87039
87052
  } catch {
87040
87053
  try {
87041
- const content = await fs.readFile(path.join(userHome, ".claude", "settings.json"), "utf-8");
87054
+ const content = await fs.readFile(path.join((0, core_1.claudeConfigDir)(userHome), "settings.json"), "utf-8");
87042
87055
  return content.includes("sidekick");
87043
87056
  } catch {
87044
87057
  return false;
@@ -87117,7 +87130,7 @@ var require_uninstall = __commonJS({
87117
87130
  }
87118
87131
  }
87119
87132
  if (userDetected) {
87120
- const userSettings = await (0, fs_js_1.readFileOrNull)(path.join(userHome, ".claude", "settings.json"));
87133
+ const userSettings = await (0, fs_js_1.readFileOrNull)(path.join((0, core_1.claudeConfigDir)(userHome), "settings.json"));
87121
87134
  if (userSettings) {
87122
87135
  try {
87123
87136
  const settings = JSON.parse(userSettings);
@@ -87508,7 +87521,7 @@ var require_cli = __commonJS({
87508
87521
  var promises_12 = require("node:fs/promises");
87509
87522
  var node_stream_1 = require("node:stream");
87510
87523
  var yargs_parser_1 = __importDefault2(require_build());
87511
- var VERSION = true ? "0.1.31" : "dev";
87524
+ var VERSION = true ? "0.1.32" : "dev";
87512
87525
  var SANDBOX_ERROR_MESSAGE = `Error: Daemon commands cannot run in sandbox mode.
87513
87526
 
87514
87527
  Claude Code's sandbox blocks Unix socket operations required for daemon IPC.
package/dist/daemon.js CHANGED
@@ -27175,6 +27175,35 @@ var require_error_utils = __commonJS({
27175
27175
  }
27176
27176
  });
27177
27177
 
27178
+ // ../sidekick-core/dist/claude-paths.js
27179
+ var require_claude_paths = __commonJS({
27180
+ "../sidekick-core/dist/claude-paths.js"(exports2) {
27181
+ "use strict";
27182
+ var __importDefault = exports2 && exports2.__importDefault || function(mod) {
27183
+ return mod && mod.__esModule ? mod : { "default": mod };
27184
+ };
27185
+ Object.defineProperty(exports2, "__esModule", { value: true });
27186
+ exports2.claudeConfigDir = claudeConfigDir;
27187
+ exports2.encodeProjectPath = encodeProjectPath;
27188
+ exports2.reconstructTranscriptPath = reconstructTranscriptPath;
27189
+ var os_1 = require("os");
27190
+ var path_1 = __importDefault(require("path"));
27191
+ function claudeConfigDir(home) {
27192
+ const override = process.env.CLAUDE_CONFIG_DIR?.trim();
27193
+ if (override)
27194
+ return override;
27195
+ return path_1.default.join(home ?? (0, os_1.homedir)(), ".claude");
27196
+ }
27197
+ function encodeProjectPath(projectDir2) {
27198
+ return projectDir2.replace(/\//g, "-");
27199
+ }
27200
+ function reconstructTranscriptPath(projectDir2, sessionId) {
27201
+ const encodedPath = encodeProjectPath(projectDir2);
27202
+ return path_1.default.join(claudeConfigDir(), "projects", encodedPath, `${sessionId}.jsonl`);
27203
+ }
27204
+ }
27205
+ });
27206
+
27178
27207
  // ../sidekick-core/dist/assets.js
27179
27208
  var require_assets = __commonJS({
27180
27209
  "../sidekick-core/dist/assets.js"(exports2) {
@@ -27189,6 +27218,7 @@ var require_assets = __commonJS({
27189
27218
  var node_os_1 = require("node:os");
27190
27219
  var node_path_1 = require("node:path");
27191
27220
  var error_utils_js_1 = require_error_utils();
27221
+ var claude_paths_js_1 = require_claude_paths();
27192
27222
  function createCascadingResolver(options) {
27193
27223
  const { cascadeLayers } = options;
27194
27224
  const findFile = (relativePath) => {
@@ -27247,7 +27277,7 @@ var require_assets = __commonJS({
27247
27277
  function buildCascadeLayers(defaultAssetsDir, homeDir, projectRoot) {
27248
27278
  const layers = [];
27249
27279
  layers.push(defaultAssetsDir);
27250
- const userInstalled = (0, node_path_1.join)(homeDir, ".claude", "hooks", "sidekick", "assets");
27280
+ const userInstalled = (0, node_path_1.join)((0, claude_paths_js_1.claudeConfigDir)(homeDir), "hooks", "sidekick", "assets");
27251
27281
  layers.push(userInstalled);
27252
27282
  const userPersistent = (0, node_path_1.join)(homeDir, ".sidekick", "assets");
27253
27283
  layers.push(userPersistent);
@@ -27277,28 +27307,6 @@ var require_assets = __commonJS({
27277
27307
  }
27278
27308
  });
27279
27309
 
27280
- // ../sidekick-core/dist/claude-paths.js
27281
- var require_claude_paths = __commonJS({
27282
- "../sidekick-core/dist/claude-paths.js"(exports2) {
27283
- "use strict";
27284
- var __importDefault = exports2 && exports2.__importDefault || function(mod) {
27285
- return mod && mod.__esModule ? mod : { "default": mod };
27286
- };
27287
- Object.defineProperty(exports2, "__esModule", { value: true });
27288
- exports2.encodeProjectPath = encodeProjectPath;
27289
- exports2.reconstructTranscriptPath = reconstructTranscriptPath;
27290
- var os_1 = require("os");
27291
- var path_1 = __importDefault(require("path"));
27292
- function encodeProjectPath(projectDir2) {
27293
- return projectDir2.replace(/\//g, "-");
27294
- }
27295
- function reconstructTranscriptPath(projectDir2, sessionId) {
27296
- const encodedPath = encodeProjectPath(projectDir2);
27297
- return path_1.default.join((0, os_1.homedir)(), ".claude", "projects", encodedPath, `${sessionId}.jsonl`);
27298
- }
27299
- }
27300
- });
27301
-
27302
27310
  // ../sidekick-core/dist/sidekick-paths.js
27303
27311
  var require_sidekick_paths = __commonJS({
27304
27312
  "../sidekick-core/dist/sidekick-paths.js"(exports2) {
@@ -46603,7 +46611,7 @@ var require_build_identity = __commonJS({
46603
46611
  var path_1 = __importDefault(require("path"));
46604
46612
  var DEV_PREFIX = "dev:";
46605
46613
  var NO_DIST_SENTINEL = "nodist";
46606
- function computeBuildIdentity(injectedVersion = true ? "0.1.31" : void 0, devFingerprint = computeDevFingerprint) {
46614
+ function computeBuildIdentity(injectedVersion = true ? "0.1.32" : void 0, devFingerprint = computeDevFingerprint) {
46607
46615
  return injectedVersion !== void 0 ? injectedVersion : DEV_PREFIX + devFingerprint();
46608
46616
  }
46609
46617
  function computeDevFingerprint() {
@@ -58131,6 +58139,7 @@ var require_plugin_detector = __commonJS({
58131
58139
  var node_child_process_1 = require("node:child_process");
58132
58140
  var api_key_detector_js_1 = require_api_key_detector();
58133
58141
  var error_utils_js_1 = require_error_utils();
58142
+ var claude_paths_js_1 = require_claude_paths();
58134
58143
  function isSidekickStatuslineCommand(command) {
58135
58144
  return command?.toLowerCase().includes("sidekick") ?? false;
58136
58145
  }
@@ -58189,7 +58198,7 @@ var require_plugin_detector = __commonJS({
58189
58198
  });
58190
58199
  }
58191
58200
  async function detectActualStatusline(projectDir2, homeDir) {
58192
- const userSettingsPath = path.join(homeDir, ".claude", "settings.json");
58201
+ const userSettingsPath = path.join((0, claude_paths_js_1.claudeConfigDir)(homeDir), "settings.json");
58193
58202
  const projectSettingsPath = path.join(projectDir2, ".claude", "settings.local.json");
58194
58203
  let inUser = false;
58195
58204
  let inProject = false;
@@ -58268,7 +58277,7 @@ var require_plugin_detector = __commonJS({
58268
58277
  }
58269
58278
  async function detectDevModeFromSettings(projectDir2, homeDir) {
58270
58279
  const settingsPaths = [
58271
- path.join(homeDir, ".claude", "settings.json"),
58280
+ path.join((0, claude_paths_js_1.claudeConfigDir)(homeDir), "settings.json"),
58272
58281
  path.join(projectDir2, ".claude", "settings.local.json")
58273
58282
  ];
58274
58283
  for (const settingsPath of settingsPaths) {
@@ -64739,9 +64748,9 @@ var require_dist4 = __commonJS({
64739
64748
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports3, p)) __createBinding(exports3, m, p);
64740
64749
  };
64741
64750
  Object.defineProperty(exports2, "__esModule", { value: true });
64742
- exports2.PROJECT_STATUS_FILENAME = exports2.USER_STATUS_FILENAME = exports2.createSetupStatusService = exports2.SetupStatusService = exports2.DaemonClient = exports2.findZombieDaemons = exports2.killZombieDaemons = exports2.killAllDaemons = exports2.SessionLogWriter = exports2.setSessionLogWriter = exports2.logEvent = exports2.LogEvents = exports2.DEFAULT_MAX_FILES = exports2.DEFAULT_ROTATE_SIZE_BYTES = exports2.getComponentLogLevel = exports2.setupGlobalErrorHandlers = exports2.createLoggerFacade = exports2.createLogManager = exports2.createConsoleLogger = exports2.getUserDaemonsDir = exports2.getUserPidPath = exports2.getTokenPath = exports2.getSocketPath = exports2.getProjectHash = exports2.getPidPath = exports2.getLockPath = exports2.IpcService = exports2.IpcServer = exports2.loadPersonaFile = exports2.getDefaultPersonasDir = exports2.discoverPersonas = exports2.createPersonaLoader = exports2.reconstructTranscriptPath = exports2.encodeProjectPath = exports2.isSubagentStopEvent = exports2.isSubagentStartEvent = exports2.isPreCompactEvent = exports2.isStopEvent = exports2.isPostToolUseEvent = exports2.isPreToolUseEvent = exports2.isUserPromptSubmitEvent = exports2.isSessionEndEvent = exports2.isSessionStartEvent = exports2.isTranscriptEvent = exports2.isHookEvent = exports2.MetricsPersistPayloadSchema = exports2.CleanupPayloadSchema = exports2.ResumeGenerationPayloadSchema = exports2.SessionSummaryPayloadSchema = exports2.TaskTypes = void 0;
64743
- exports2.createDefaultMetrics = exports2.copyWithTimestampSync = exports2.renameWithTimestampSync = exports2.renameWithTimestamp = exports2.copyWithTimestamp = exports2.getTimestampedPath = exports2.extractToolResultPreview = exports2.extractToolCallPreview = exports2.extractTextFromContent = exports2.extractContentPreview = exports2.HandlerRegistryImpl = exports2.extractConsumedTimestamp = exports2.createConsumedFilePattern = exports2.CONSUMED_FILE_PATTERN = exports2.filterActiveReminderFiles = exports2.validatePathSegment = exports2.isValidPathSegment = exports2.getReminderPath = exports2.getHookDir = exports2.getStagingRoot = exports2.SessionScopedStagingService = exports2.StagingServiceCore = exports2.GITIGNORE_ENTRIES = exports2.SIDEKICK_GITIGNORE_HEADER = exports2.SIDEKICK_SECTION_END = exports2.SIDEKICK_SECTION_START = exports2.removeLegacyGitignoreSection = exports2.detectLegacyGitignoreSection = exports2.detectGitignoreStatus = exports2.removeGitignoreSection = exports2.installGitignoreSection = exports2.validateOpenAIKey = exports2.validateOpenRouterKey = exports2.runDoctorCheck = exports2.detectPluginLiveness = exports2.detectPluginInstallation = exports2.detectDevModeFromSettings = exports2.detectActualStatusline = exports2.spawnWithTimeout = exports2.getDoctorTimeout = exports2.DOCTOR_TIMEOUTS = exports2.projectApiKeyStatusFromHealth = exports2.userApiKeyStatusFromHealth = exports2.buildProjectApiKeyStatus = exports2.buildUserApiKeyStatus = exports2.detectAllApiKeys = exports2.detectActualApiKey = exports2.readKeyFromEnvFile = exports2.determineOverallStatus = exports2.toScopeStatus = void 0;
64744
- exports2.computeBuildIdentity = exports2.CoalescingGuard = exports2.loadUserProfile = exports2.parseGitStatusOutput = exports2.getGitFileStatus = exports2.toErrorMessage = exports2.isInSandbox = exports2.updateDaemonHealth = exports2.readDaemonHealth = exports2.ProjectRegistryService = exports2.encodeProjectDir = exports2.DaemonGlobalLogMetricsDescriptor = exports2.CliLogMetricsDescriptor = exports2.DaemonLogMetricsDescriptor = exports2.CompactionHistoryDescriptor = exports2.TranscriptMetricsDescriptor = exports2.GlobalStateAccessor = exports2.SessionStateAccessor = exports2.globalState = exports2.sessionState = exports2.StateCorruptError = exports2.StateNotFoundError = exports2.StateService = exports2.createHookableLogger = exports2.InstrumentedProfileProviderFactory = exports2.InstrumentedLLMProvider = exports2.ServiceFactoryImpl = exports2.TranscriptServiceImpl = exports2.createDefaultTokenUsage = void 0;
64751
+ exports2.USER_STATUS_FILENAME = exports2.createSetupStatusService = exports2.SetupStatusService = exports2.DaemonClient = exports2.findZombieDaemons = exports2.killZombieDaemons = exports2.killAllDaemons = exports2.SessionLogWriter = exports2.setSessionLogWriter = exports2.logEvent = exports2.LogEvents = exports2.DEFAULT_MAX_FILES = exports2.DEFAULT_ROTATE_SIZE_BYTES = exports2.getComponentLogLevel = exports2.setupGlobalErrorHandlers = exports2.createLoggerFacade = exports2.createLogManager = exports2.createConsoleLogger = exports2.getUserDaemonsDir = exports2.getUserPidPath = exports2.getTokenPath = exports2.getSocketPath = exports2.getProjectHash = exports2.getPidPath = exports2.getLockPath = exports2.IpcService = exports2.IpcServer = exports2.loadPersonaFile = exports2.getDefaultPersonasDir = exports2.discoverPersonas = exports2.createPersonaLoader = exports2.claudeConfigDir = exports2.reconstructTranscriptPath = exports2.encodeProjectPath = exports2.isSubagentStopEvent = exports2.isSubagentStartEvent = exports2.isPreCompactEvent = exports2.isStopEvent = exports2.isPostToolUseEvent = exports2.isPreToolUseEvent = exports2.isUserPromptSubmitEvent = exports2.isSessionEndEvent = exports2.isSessionStartEvent = exports2.isTranscriptEvent = exports2.isHookEvent = exports2.MetricsPersistPayloadSchema = exports2.CleanupPayloadSchema = exports2.ResumeGenerationPayloadSchema = exports2.SessionSummaryPayloadSchema = exports2.TaskTypes = void 0;
64752
+ exports2.copyWithTimestampSync = exports2.renameWithTimestampSync = exports2.renameWithTimestamp = exports2.copyWithTimestamp = exports2.getTimestampedPath = exports2.extractToolResultPreview = exports2.extractToolCallPreview = exports2.extractTextFromContent = exports2.extractContentPreview = exports2.HandlerRegistryImpl = exports2.extractConsumedTimestamp = exports2.createConsumedFilePattern = exports2.CONSUMED_FILE_PATTERN = exports2.filterActiveReminderFiles = exports2.validatePathSegment = exports2.isValidPathSegment = exports2.getReminderPath = exports2.getHookDir = exports2.getStagingRoot = exports2.SessionScopedStagingService = exports2.StagingServiceCore = exports2.GITIGNORE_ENTRIES = exports2.SIDEKICK_GITIGNORE_HEADER = exports2.SIDEKICK_SECTION_END = exports2.SIDEKICK_SECTION_START = exports2.removeLegacyGitignoreSection = exports2.detectLegacyGitignoreSection = exports2.detectGitignoreStatus = exports2.removeGitignoreSection = exports2.installGitignoreSection = exports2.validateOpenAIKey = exports2.validateOpenRouterKey = exports2.runDoctorCheck = exports2.detectPluginLiveness = exports2.detectPluginInstallation = exports2.detectDevModeFromSettings = exports2.detectActualStatusline = exports2.spawnWithTimeout = exports2.getDoctorTimeout = exports2.DOCTOR_TIMEOUTS = exports2.projectApiKeyStatusFromHealth = exports2.userApiKeyStatusFromHealth = exports2.buildProjectApiKeyStatus = exports2.buildUserApiKeyStatus = exports2.detectAllApiKeys = exports2.detectActualApiKey = exports2.readKeyFromEnvFile = exports2.determineOverallStatus = exports2.toScopeStatus = exports2.PROJECT_STATUS_FILENAME = void 0;
64753
+ exports2.computeBuildIdentity = exports2.CoalescingGuard = exports2.loadUserProfile = exports2.parseGitStatusOutput = exports2.getGitFileStatus = exports2.toErrorMessage = exports2.isInSandbox = exports2.updateDaemonHealth = exports2.readDaemonHealth = exports2.ProjectRegistryService = exports2.encodeProjectDir = exports2.DaemonGlobalLogMetricsDescriptor = exports2.CliLogMetricsDescriptor = exports2.DaemonLogMetricsDescriptor = exports2.CompactionHistoryDescriptor = exports2.TranscriptMetricsDescriptor = exports2.GlobalStateAccessor = exports2.SessionStateAccessor = exports2.globalState = exports2.sessionState = exports2.StateCorruptError = exports2.StateNotFoundError = exports2.StateService = exports2.createHookableLogger = exports2.InstrumentedProfileProviderFactory = exports2.InstrumentedLLMProvider = exports2.ServiceFactoryImpl = exports2.TranscriptServiceImpl = exports2.createDefaultTokenUsage = exports2.createDefaultMetrics = void 0;
64745
64754
  var types_1 = require_dist();
64746
64755
  Object.defineProperty(exports2, "TaskTypes", { enumerable: true, get: function() {
64747
64756
  return types_1.TaskTypes;
@@ -64800,6 +64809,9 @@ var require_dist4 = __commonJS({
64800
64809
  Object.defineProperty(exports2, "reconstructTranscriptPath", { enumerable: true, get: function() {
64801
64810
  return claude_paths_1.reconstructTranscriptPath;
64802
64811
  } });
64812
+ Object.defineProperty(exports2, "claudeConfigDir", { enumerable: true, get: function() {
64813
+ return claude_paths_1.claudeConfigDir;
64814
+ } });
64803
64815
  __exportStar(require_sidekick_paths(), exports2);
64804
64816
  var persona_loader_1 = require_persona_loader();
64805
64817
  Object.defineProperty(exports2, "createPersonaLoader", { enumerable: true, get: function() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scotthamilton77/sidekick",
3
- "version": "0.1.31",
3
+ "version": "0.1.32",
4
4
  "description": "AI pair programming assistant with personas, session tracking, and contextual nudges",
5
5
  "bin": {
6
6
  "sidekick": "dist/bin.js"