@folterung/project-memory 0.1.2 → 0.1.3
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/docker-compose.yml
CHANGED
|
@@ -8,10 +8,11 @@ services:
|
|
|
8
8
|
- qdrant_storage:/qdrant/storage
|
|
9
9
|
restart: unless-stopped
|
|
10
10
|
healthcheck:
|
|
11
|
-
test: ["CMD", "wget", "-q", "--spider", "http://localhost:6333/
|
|
11
|
+
test: ["CMD", "wget", "-q", "--spider", "http://localhost:6333/readyz"]
|
|
12
12
|
interval: 5s
|
|
13
|
-
timeout:
|
|
14
|
-
retries:
|
|
13
|
+
timeout: 10s
|
|
14
|
+
retries: 12
|
|
15
|
+
start_period: 30s
|
|
15
16
|
|
|
16
17
|
volumes:
|
|
17
18
|
qdrant_storage:
|
package/package.json
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { execSync } from "node:child_process";
|
|
2
2
|
import { existsSync } from "node:fs";
|
|
3
3
|
import { join } from "node:path";
|
|
4
|
-
const
|
|
5
|
-
const HEALTH_POLL_MS =
|
|
6
|
-
const
|
|
4
|
+
const QDRANT_READYZ_URL = "http://127.0.0.1:6333/readyz";
|
|
5
|
+
const HEALTH_POLL_MS = 2000;
|
|
6
|
+
const HEALTH_INITIAL_DELAY_MS = 8000;
|
|
7
|
+
const HEALTH_TIMEOUT_MS = 120_000;
|
|
7
8
|
function getComposeDir(cwd) {
|
|
8
9
|
const atMem = join(cwd, ".mem", "docker-compose.yml");
|
|
9
10
|
const atRoot = join(cwd, "docker-compose.yml");
|
|
@@ -46,7 +47,7 @@ export function waitForQdrantHealth(timeoutMs = HEALTH_TIMEOUT_MS) {
|
|
|
46
47
|
reject(new Error("Qdrant health check timed out"));
|
|
47
48
|
return;
|
|
48
49
|
}
|
|
49
|
-
fetch(
|
|
50
|
+
fetch(QDRANT_READYZ_URL)
|
|
50
51
|
.then((r) => {
|
|
51
52
|
if (r.ok)
|
|
52
53
|
resolve();
|
|
@@ -55,7 +56,7 @@ export function waitForQdrantHealth(timeoutMs = HEALTH_TIMEOUT_MS) {
|
|
|
55
56
|
})
|
|
56
57
|
.catch(() => setTimeout(poll, HEALTH_POLL_MS));
|
|
57
58
|
}
|
|
58
|
-
poll
|
|
59
|
+
setTimeout(poll, HEALTH_INITIAL_DELAY_MS);
|
|
59
60
|
});
|
|
60
61
|
}
|
|
61
62
|
export function checkDockerAvailable(cwd) {
|
|
@@ -68,7 +69,7 @@ export function checkDockerAvailable(cwd) {
|
|
|
68
69
|
}
|
|
69
70
|
}
|
|
70
71
|
export function checkQdrantHealthy() {
|
|
71
|
-
return fetch(
|
|
72
|
+
return fetch(QDRANT_READYZ_URL)
|
|
72
73
|
.then((r) => r.ok)
|
|
73
74
|
.catch(() => false);
|
|
74
75
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compose.js","sourceRoot":"","sources":["../../src/docker/compose.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAS,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,iBAAiB,GAAG,8BAA8B,CAAC;AACzD,MAAM,cAAc,GAAG,IAAI,CAAC;AAC5B,MAAM,
|
|
1
|
+
{"version":3,"file":"compose.js","sourceRoot":"","sources":["../../src/docker/compose.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,10 @@ import { execSync, spawn } from "node:child_process";
|
|
|
2
2
|
import { existsSync } from "node:fs";
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
|
|
5
|
-
const
|
|
6
|
-
const HEALTH_POLL_MS =
|
|
7
|
-
const
|
|
5
|
+
const QDRANT_READYZ_URL = "http://127.0.0.1:6333/readyz";
|
|
6
|
+
const HEALTH_POLL_MS = 2000;
|
|
7
|
+
const HEALTH_INITIAL_DELAY_MS = 8000;
|
|
8
|
+
const HEALTH_TIMEOUT_MS = 120_000;
|
|
8
9
|
|
|
9
10
|
function getComposeDir(cwd: string): string {
|
|
10
11
|
const atMem = join(cwd, ".mem", "docker-compose.yml");
|
|
@@ -48,14 +49,14 @@ export function waitForQdrantHealth(timeoutMs: number = HEALTH_TIMEOUT_MS): Prom
|
|
|
48
49
|
reject(new Error("Qdrant health check timed out"));
|
|
49
50
|
return;
|
|
50
51
|
}
|
|
51
|
-
fetch(
|
|
52
|
+
fetch(QDRANT_READYZ_URL)
|
|
52
53
|
.then((r) => {
|
|
53
54
|
if (r.ok) resolve();
|
|
54
55
|
else setTimeout(poll, HEALTH_POLL_MS);
|
|
55
56
|
})
|
|
56
57
|
.catch(() => setTimeout(poll, HEALTH_POLL_MS));
|
|
57
58
|
}
|
|
58
|
-
poll
|
|
59
|
+
setTimeout(poll, HEALTH_INITIAL_DELAY_MS);
|
|
59
60
|
});
|
|
60
61
|
}
|
|
61
62
|
|
|
@@ -69,7 +70,7 @@ export function checkDockerAvailable(cwd: string): boolean {
|
|
|
69
70
|
}
|
|
70
71
|
|
|
71
72
|
export function checkQdrantHealthy(): Promise<boolean> {
|
|
72
|
-
return fetch(
|
|
73
|
+
return fetch(QDRANT_READYZ_URL)
|
|
73
74
|
.then((r) => r.ok)
|
|
74
75
|
.catch(() => false);
|
|
75
76
|
}
|