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.
- package/dist/haansi.js +33 -9
- 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.
|
|
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", {
|
|
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
|
|
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 =
|
|
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,
|
|
56813
|
+
if ((0, import_fs3.existsSync)(CREDENTIALS_FILE4)) {
|
|
56790
56814
|
try {
|
|
56791
|
-
const creds = JSON.parse((0,
|
|
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,
|
|
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
|
-
|
|
56905
|
+
import_fs3 = require("fs");
|
|
56882
56906
|
import_os2 = require("os");
|
|
56883
56907
|
init_collector();
|
|
56884
56908
|
init_src();
|