haansi 0.1.16 → 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 +35 -10
  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.16",
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"
@@ -86,7 +86,8 @@ async function authLogin() {
86
86
  console.log("Haansi CLI \u2014 Browser Login\n");
87
87
  const initiateRes = await fetch(`${apiUrl}/api/v1/auth/extension/initiate`, {
88
88
  method: "POST",
89
- headers: { "Content-Type": "application/json" }
89
+ headers: { "Content-Type": "application/json" },
90
+ body: JSON.stringify({ client_type: "cli" })
90
91
  });
91
92
  if (!initiateRes.ok) {
92
93
  const body = await initiateRes.text().catch(() => "");
@@ -1916,6 +1917,17 @@ var require_node_cron = __commonJS({
1916
1917
 
1917
1918
  // ../service-capture/claude-sessions/collector-daemon.ts
1918
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
+ }
1919
1931
  async function run() {
1920
1932
  const projectPath = process.env.CLAUDE_PROJECT_PATH || void 0;
1921
1933
  logger2.info("Collect run starting", { projectPath: projectPath ?? "all" });
@@ -1933,9 +1945,20 @@ async function run() {
1933
1945
  }
1934
1946
  }
1935
1947
  async function main2() {
1936
- logger2.info("Collector daemon starting", { schedule: SCHEDULE });
1948
+ logger2.info("Collector daemon starting", {
1949
+ schedule: SCHEDULE,
1950
+ version: IN_MEMORY_VERSION
1951
+ });
1937
1952
  await run();
1938
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
+ }
1939
1962
  logger2.info("Scheduled collect run triggered");
1940
1963
  await run();
1941
1964
  });
@@ -1947,17 +1970,19 @@ async function main2() {
1947
1970
  process.on("SIGTERM", () => shutdown("SIGTERM"));
1948
1971
  process.on("SIGINT", () => shutdown("SIGINT"));
1949
1972
  }
1950
- 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;
1951
1974
  var init_collector_daemon = __esm({
1952
1975
  "../service-capture/claude-sessions/collector-daemon.ts"() {
1953
1976
  "use strict";
1954
1977
  import_dotenv2 = __toESM(require_main());
1978
+ import_fs2 = require("fs");
1955
1979
  import_path2 = require("path");
1956
1980
  import_node_cron = __toESM(require_node_cron());
1957
1981
  init_collector();
1958
1982
  init_logger();
1959
1983
  (0, import_dotenv2.config)({ path: (0, import_path2.resolve)(__dirname, "../../../.env") });
1960
1984
  logger2 = createLogger("collector-daemon");
1985
+ IN_MEMORY_VERSION = require_package().version;
1961
1986
  SCHEDULE = process.env.CLAUDE_COLLECT_SCHEDULE ?? "*/30 * * * *";
1962
1987
  main2().catch((err) => {
1963
1988
  logger2.error("Daemon failed to start", err);
@@ -50668,7 +50693,7 @@ var require_view = __commonJS({
50668
50693
  var debug = require_src()("express:view");
50669
50694
  var path = require("node:path");
50670
50695
  var fs = require("node:fs");
50671
- var dirname = path.dirname;
50696
+ var dirname2 = path.dirname;
50672
50697
  var basename2 = path.basename;
50673
50698
  var extname = path.extname;
50674
50699
  var join9 = path.join;
@@ -50707,7 +50732,7 @@ var require_view = __commonJS({
50707
50732
  for (var i = 0; i < roots.length && !path2; i++) {
50708
50733
  var root = roots[i];
50709
50734
  var loc = resolve4(root, name);
50710
- var dir = dirname(loc);
50735
+ var dir = dirname2(loc);
50711
50736
  var file2 = basename2(loc);
50712
50737
  path2 = this.resolve(dir, file2);
50713
50738
  }
@@ -56785,9 +56810,9 @@ var init_streamableHttp = __esm({
56785
56810
  var mcp_server_exports = {};
56786
56811
  function resolveToken2() {
56787
56812
  if (process.env.HAANSI_TOKEN) return process.env.HAANSI_TOKEN;
56788
- if ((0, import_fs2.existsSync)(CREDENTIALS_FILE4)) {
56813
+ if ((0, import_fs3.existsSync)(CREDENTIALS_FILE4)) {
56789
56814
  try {
56790
- 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"));
56791
56816
  if (creds.token) return creds.token;
56792
56817
  } catch {
56793
56818
  }
@@ -56871,13 +56896,13 @@ async function main3() {
56871
56896
  await mcpServer.connect(transport);
56872
56897
  }
56873
56898
  }
56874
- 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;
56875
56900
  var init_mcp_server2 = __esm({
56876
56901
  "../service-capture/claude-sessions/mcp-server.ts"() {
56877
56902
  "use strict";
56878
56903
  import_dotenv3 = __toESM(require_main());
56879
56904
  import_path3 = require("path");
56880
- import_fs2 = require("fs");
56905
+ import_fs3 = require("fs");
56881
56906
  import_os2 = require("os");
56882
56907
  init_collector();
56883
56908
  init_src();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "haansi",
3
- "version": "0.1.16",
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"