@folterung/project-memory 0.1.1 → 0.1.2

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 (33) hide show
  1. package/package.json +1 -1
  2. package/packages/cli/coverage/lcov-report/chunking/chunker.ts.html +1 -1
  3. package/packages/cli/coverage/lcov-report/chunking/hash.ts.html +1 -1
  4. package/packages/cli/coverage/lcov-report/chunking/index.html +1 -1
  5. package/packages/cli/coverage/lcov-report/chunking/types.ts.html +1 -1
  6. package/packages/cli/coverage/lcov-report/config/index.html +1 -1
  7. package/packages/cli/coverage/lcov-report/config/load.ts.html +1 -1
  8. package/packages/cli/coverage/lcov-report/config/types.ts.html +1 -1
  9. package/packages/cli/coverage/lcov-report/embedding/index.html +1 -1
  10. package/packages/cli/coverage/lcov-report/embedding/stub.ts.html +1 -1
  11. package/packages/cli/coverage/lcov-report/index.html +1 -1
  12. package/packages/cli/coverage/lcov-report/scope/allowlist.ts.html +1 -1
  13. package/packages/cli/coverage/lcov-report/scope/ignore.ts.html +1 -1
  14. package/packages/cli/coverage/lcov-report/scope/index.html +1 -1
  15. package/packages/cli/coverage/tmp/{coverage-25917-1770055893226-0.json → coverage-39958-1770057203458-0.json} +1 -1
  16. package/packages/cli/coverage/tmp/{coverage-25918-1770055893272-0.json → coverage-39959-1770057203507-0.json} +1 -1
  17. package/packages/cli/coverage/tmp/{coverage-25919-1770055893273-0.json → coverage-39960-1770057203507-0.json} +1 -1
  18. package/packages/cli/coverage/tmp/{coverage-25920-1770055893271-0.json → coverage-39961-1770057203505-0.json} +1 -1
  19. package/packages/cli/coverage/tmp/{coverage-25921-1770055893279-0.json → coverage-39962-1770057203512-0.json} +1 -1
  20. package/packages/cli/coverage/tmp/{coverage-25922-1770055893272-0.json → coverage-39963-1770057203506-0.json} +1 -1
  21. package/packages/cli/coverage/tmp/{coverage-25923-1770055893275-0.json → coverage-39964-1770057203507-0.json} +1 -1
  22. package/packages/cli/coverage/tmp/{coverage-25924-1770055893294-0.json → coverage-39965-1770057203526-0.json} +1 -1
  23. package/packages/cli/coverage/tmp/{coverage-25925-1770055893290-0.json → coverage-39966-1770057203522-0.json} +1 -1
  24. package/packages/cli/dist/commands/init.js +10 -1
  25. package/packages/cli/dist/commands/init.js.map +1 -1
  26. package/packages/cli/dist/docker/compose.js +3 -3
  27. package/packages/cli/dist/docker/compose.js.map +1 -1
  28. package/packages/cli/src/commands/init.ts +12 -1
  29. package/packages/cli/src/docker/compose.ts +2 -2
  30. package/packages/server/coverage/lcov-report/index.html +1 -1
  31. package/packages/server/coverage/lcov-report/stub.ts.html +1 -1
  32. package/packages/server/coverage/tmp/{coverage-26012-1770055894042-0.json → coverage-40050-1770057204321-0.json} +1 -1
  33. package/packages/server/coverage/tmp/{coverage-26013-1770055894077-0.json → coverage-40051-1770057204356-0.json} +1 -1
@@ -1,13 +1,18 @@
1
- import { mkdirSync, writeFileSync, existsSync } from "node:fs";
1
+ import { mkdirSync, writeFileSync, existsSync, copyFileSync } from "node:fs";
2
2
  import { join } from "node:path";
3
+ import { fileURLToPath } from "node:url";
3
4
  import chalk from "chalk";
4
5
  import { getDefaultConfigYaml, getDefaultMemignore } from "../config/defaults.js";
5
6
  import { CONFIG_DIR, CONFIG_FILE, MEMIGNORE_FILE } from "../config/types.js";
7
+ const __dirname = fileURLToPath(new URL(".", import.meta.url));
8
+ const PACKAGE_ROOT = join(__dirname, "..", "..", "..", "..");
9
+ const PACKAGE_COMPOSE = join(PACKAGE_ROOT, "docker-compose.yml");
6
10
  export function runInit(cwd) {
7
11
  const configPath = join(cwd, CONFIG_FILE);
8
12
  const memignorePath = join(cwd, MEMIGNORE_FILE);
9
13
  const memDir = join(cwd, CONFIG_DIR);
10
14
  const stateDir = join(memDir, "state");
15
+ const memComposePath = join(memDir, "docker-compose.yml");
11
16
  if (!existsSync(memDir)) {
12
17
  mkdirSync(memDir, { recursive: true });
13
18
  console.log(chalk.green("Created"), CONFIG_DIR + "/");
@@ -16,6 +21,10 @@ export function runInit(cwd) {
16
21
  mkdirSync(stateDir, { recursive: true });
17
22
  console.log(chalk.green("Created"), CONFIG_DIR + "/state/");
18
23
  }
24
+ if (!existsSync(memComposePath) && existsSync(PACKAGE_COMPOSE)) {
25
+ copyFileSync(PACKAGE_COMPOSE, memComposePath);
26
+ console.log(chalk.green("Created"), CONFIG_DIR + "/docker-compose.yml");
27
+ }
19
28
  if (!existsSync(configPath)) {
20
29
  writeFileSync(configPath, getDefaultConfigYaml(), "utf8");
21
30
  console.log(chalk.green("Created"), CONFIG_FILE);
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAE7E,MAAM,UAAU,OAAO,CAAC,GAAW;IACjC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEvC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,UAAU,GAAG,GAAG,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,aAAa,CAAC,UAAU,EAAE,oBAAoB,EAAE,EAAE,MAAM,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,CAAC;IACnD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE,WAAW,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,aAAa,CAAC,aAAa,EAAE,mBAAmB,EAAE,EAAE,MAAM,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC,CAAC;IACtD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,6BAA6B,CAAC,EAAE,cAAc,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,mCAAmC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;AAChI,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAE7E,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/D,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC7D,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC;AAEjE,MAAM,UAAU,OAAO,CAAC,GAAW;IACjC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAE1D,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACxB,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,UAAU,GAAG,GAAG,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QAC/D,YAAY,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,UAAU,GAAG,qBAAqB,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,aAAa,CAAC,UAAU,EAAE,oBAAoB,EAAE,EAAE,MAAM,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,CAAC;IACnD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE,WAAW,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,aAAa,CAAC,aAAa,EAAE,mBAAmB,EAAE,EAAE,MAAM,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC,CAAC;IACtD,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,6BAA6B,CAAC,EAAE,cAAc,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,mCAAmC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;AAChI,CAAC"}
@@ -5,12 +5,12 @@ const QDRANT_HEALTH_URL = "http://127.0.0.1:6333/health";
5
5
  const HEALTH_POLL_MS = 1000;
6
6
  const HEALTH_TIMEOUT_MS = 60_000;
7
7
  function getComposeDir(cwd) {
8
- const atRoot = join(cwd, "docker-compose.yml");
9
8
  const atMem = join(cwd, ".mem", "docker-compose.yml");
10
- if (existsSync(atRoot))
11
- return cwd;
9
+ const atRoot = join(cwd, "docker-compose.yml");
12
10
  if (existsSync(atMem))
13
11
  return join(cwd, ".mem");
12
+ if (existsSync(atRoot))
13
+ return cwd;
14
14
  return cwd;
15
15
  }
16
16
  function composeCmd(cwd) {
@@ -1 +1 @@
1
- {"version":3,"file":"compose.js","sourceRoot":"","sources":["../../src/docker/compose.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compose.js","sourceRoot":"","sources":["../../src/docker/compose.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,20 @@
1
- import { mkdirSync, writeFileSync, existsSync } from "node:fs";
1
+ import { mkdirSync, writeFileSync, existsSync, copyFileSync } from "node:fs";
2
2
  import { join } from "node:path";
3
+ import { fileURLToPath } from "node:url";
3
4
  import chalk from "chalk";
4
5
  import { getDefaultConfigYaml, getDefaultMemignore } from "../config/defaults.js";
5
6
  import { CONFIG_DIR, CONFIG_FILE, MEMIGNORE_FILE } from "../config/types.js";
6
7
 
8
+ const __dirname = fileURLToPath(new URL(".", import.meta.url));
9
+ const PACKAGE_ROOT = join(__dirname, "..", "..", "..", "..");
10
+ const PACKAGE_COMPOSE = join(PACKAGE_ROOT, "docker-compose.yml");
11
+
7
12
  export function runInit(cwd: string): void {
8
13
  const configPath = join(cwd, CONFIG_FILE);
9
14
  const memignorePath = join(cwd, MEMIGNORE_FILE);
10
15
  const memDir = join(cwd, CONFIG_DIR);
11
16
  const stateDir = join(memDir, "state");
17
+ const memComposePath = join(memDir, "docker-compose.yml");
12
18
 
13
19
  if (!existsSync(memDir)) {
14
20
  mkdirSync(memDir, { recursive: true });
@@ -19,6 +25,11 @@ export function runInit(cwd: string): void {
19
25
  console.log(chalk.green("Created"), CONFIG_DIR + "/state/");
20
26
  }
21
27
 
28
+ if (!existsSync(memComposePath) && existsSync(PACKAGE_COMPOSE)) {
29
+ copyFileSync(PACKAGE_COMPOSE, memComposePath);
30
+ console.log(chalk.green("Created"), CONFIG_DIR + "/docker-compose.yml");
31
+ }
32
+
22
33
  if (!existsSync(configPath)) {
23
34
  writeFileSync(configPath, getDefaultConfigYaml(), "utf8");
24
35
  console.log(chalk.green("Created"), CONFIG_FILE);
@@ -7,10 +7,10 @@ const HEALTH_POLL_MS = 1000;
7
7
  const HEALTH_TIMEOUT_MS = 60_000;
8
8
 
9
9
  function getComposeDir(cwd: string): string {
10
- const atRoot = join(cwd, "docker-compose.yml");
11
10
  const atMem = join(cwd, ".mem", "docker-compose.yml");
12
- if (existsSync(atRoot)) return cwd;
11
+ const atRoot = join(cwd, "docker-compose.yml");
13
12
  if (existsSync(atMem)) return join(cwd, ".mem");
13
+ if (existsSync(atRoot)) return cwd;
14
14
  return cwd;
15
15
  }
16
16
 
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2026-02-02T18:11:34.092Z
104
+ at 2026-02-02T18:33:24.371Z
105
105
  </div>
106
106
  <script src="prettify.js"></script>
107
107
  <script>
@@ -169,7 +169,7 @@ export function getVectorSize(): number {
169
169
  <div class='footer quiet pad2 space-top1 center small'>
170
170
  Code coverage generated by
171
171
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
172
- at 2026-02-02T18:11:34.092Z
172
+ at 2026-02-02T18:33:24.371Z
173
173
  </div>
174
174
  <script src="prettify.js"></script>
175
175
  <script>