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