haansi 0.1.17 → 0.1.18

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 (2) hide show
  1. package/dist/haansi.js +33 -9
  2. package/package.json +1 -1
package/dist/haansi.js CHANGED
@@ -39,7 +39,7 @@ var require_package = __commonJS({
39
39
  "package.json"(exports2, module2) {
40
40
  module2.exports = {
41
41
  name: "haansi",
42
- version: "0.1.17",
42
+ version: "0.1.18",
43
43
  description: "Haansi CLI - Session collector and MCP server for Claude Code",
44
44
  bin: {
45
45
  haansi: "./dist/haansi.js"
@@ -1917,6 +1917,17 @@ var require_node_cron = __commonJS({
1917
1917
 
1918
1918
  // ../service-capture/claude-sessions/collector-daemon.ts
1919
1919
  var collector_daemon_exports = {};
1920
+ function getOnDiskVersion() {
1921
+ try {
1922
+ const realEntry = (0, import_fs2.realpathSync)(process.argv[1]);
1923
+ const pkgPath = (0, import_path2.resolve)((0, import_path2.dirname)(realEntry), "..", "package.json");
1924
+ if (!(0, import_fs2.existsSync)(pkgPath)) return null;
1925
+ const pkg = JSON.parse((0, import_fs2.readFileSync)(pkgPath, "utf-8"));
1926
+ return pkg.version ?? null;
1927
+ } catch {
1928
+ return null;
1929
+ }
1930
+ }
1920
1931
  async function run() {
1921
1932
  const projectPath = process.env.CLAUDE_PROJECT_PATH || void 0;
1922
1933
  logger2.info("Collect run starting", { projectPath: projectPath ?? "all" });
@@ -1934,9 +1945,20 @@ async function run() {
1934
1945
  }
1935
1946
  }
1936
1947
  async function main2() {
1937
- logger2.info("Collector daemon starting", { schedule: SCHEDULE });
1948
+ logger2.info("Collector daemon starting", {
1949
+ schedule: SCHEDULE,
1950
+ version: IN_MEMORY_VERSION
1951
+ });
1938
1952
  await run();
1939
1953
  import_node_cron.default.schedule(SCHEDULE, async () => {
1954
+ const diskVersion = getOnDiskVersion();
1955
+ if (diskVersion && diskVersion !== IN_MEMORY_VERSION) {
1956
+ logger2.info("Version mismatch detected \u2014 restarting", {
1957
+ inMemory: IN_MEMORY_VERSION,
1958
+ onDisk: diskVersion
1959
+ });
1960
+ process.exit(0);
1961
+ }
1940
1962
  logger2.info("Scheduled collect run triggered");
1941
1963
  await run();
1942
1964
  });
@@ -1948,17 +1970,19 @@ async function main2() {
1948
1970
  process.on("SIGTERM", () => shutdown("SIGTERM"));
1949
1971
  process.on("SIGINT", () => shutdown("SIGINT"));
1950
1972
  }
1951
- var import_dotenv2, import_path2, import_node_cron, logger2, SCHEDULE;
1973
+ var import_dotenv2, import_fs2, import_path2, import_node_cron, logger2, IN_MEMORY_VERSION, SCHEDULE;
1952
1974
  var init_collector_daemon = __esm({
1953
1975
  "../service-capture/claude-sessions/collector-daemon.ts"() {
1954
1976
  "use strict";
1955
1977
  import_dotenv2 = __toESM(require_main());
1978
+ import_fs2 = require("fs");
1956
1979
  import_path2 = require("path");
1957
1980
  import_node_cron = __toESM(require_node_cron());
1958
1981
  init_collector();
1959
1982
  init_logger();
1960
1983
  (0, import_dotenv2.config)({ path: (0, import_path2.resolve)(__dirname, "../../../.env") });
1961
1984
  logger2 = createLogger("collector-daemon");
1985
+ IN_MEMORY_VERSION = require_package().version;
1962
1986
  SCHEDULE = process.env.CLAUDE_COLLECT_SCHEDULE ?? "*/30 * * * *";
1963
1987
  main2().catch((err) => {
1964
1988
  logger2.error("Daemon failed to start", err);
@@ -50669,7 +50693,7 @@ var require_view = __commonJS({
50669
50693
  var debug = require_src()("express:view");
50670
50694
  var path = require("node:path");
50671
50695
  var fs = require("node:fs");
50672
- var dirname = path.dirname;
50696
+ var dirname2 = path.dirname;
50673
50697
  var basename2 = path.basename;
50674
50698
  var extname = path.extname;
50675
50699
  var join9 = path.join;
@@ -50708,7 +50732,7 @@ var require_view = __commonJS({
50708
50732
  for (var i = 0; i < roots.length && !path2; i++) {
50709
50733
  var root = roots[i];
50710
50734
  var loc = resolve4(root, name);
50711
- var dir = dirname(loc);
50735
+ var dir = dirname2(loc);
50712
50736
  var file2 = basename2(loc);
50713
50737
  path2 = this.resolve(dir, file2);
50714
50738
  }
@@ -56786,9 +56810,9 @@ var init_streamableHttp = __esm({
56786
56810
  var mcp_server_exports = {};
56787
56811
  function resolveToken2() {
56788
56812
  if (process.env.HAANSI_TOKEN) return process.env.HAANSI_TOKEN;
56789
- if ((0, import_fs2.existsSync)(CREDENTIALS_FILE4)) {
56813
+ if ((0, import_fs3.existsSync)(CREDENTIALS_FILE4)) {
56790
56814
  try {
56791
- const creds = JSON.parse((0, import_fs2.readFileSync)(CREDENTIALS_FILE4, "utf-8"));
56815
+ const creds = JSON.parse((0, import_fs3.readFileSync)(CREDENTIALS_FILE4, "utf-8"));
56792
56816
  if (creds.token) return creds.token;
56793
56817
  } catch {
56794
56818
  }
@@ -56872,13 +56896,13 @@ async function main3() {
56872
56896
  await mcpServer.connect(transport);
56873
56897
  }
56874
56898
  }
56875
- var import_dotenv3, import_path3, import_fs2, import_os2, DEFAULT_API_URL4, CREDENTIALS_FILE4, API_URL, TOKEN, contextSchema, isCollecting, lastCollectTime, COLLECT_COOLDOWN_MS, mcpServer, server;
56899
+ var import_dotenv3, import_path3, import_fs3, import_os2, DEFAULT_API_URL4, CREDENTIALS_FILE4, API_URL, TOKEN, contextSchema, isCollecting, lastCollectTime, COLLECT_COOLDOWN_MS, mcpServer, server;
56876
56900
  var init_mcp_server2 = __esm({
56877
56901
  "../service-capture/claude-sessions/mcp-server.ts"() {
56878
56902
  "use strict";
56879
56903
  import_dotenv3 = __toESM(require_main());
56880
56904
  import_path3 = require("path");
56881
- import_fs2 = require("fs");
56905
+ import_fs3 = require("fs");
56882
56906
  import_os2 = require("os");
56883
56907
  init_collector();
56884
56908
  init_src();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "haansi",
3
- "version": "0.1.17",
3
+ "version": "0.1.18",
4
4
  "description": "Haansi CLI - Session collector and MCP server for Claude Code",
5
5
  "bin": {
6
6
  "haansi": "./dist/haansi.js"