@possumtech/rummy 0.2.5 → 0.2.6

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/README.md CHANGED
@@ -22,7 +22,7 @@ Rummy is the only LLM agent service inspired by and dedicated to the memory of f
22
22
  npm i -g @possumtech/rummy
23
23
  cd ~/.rummy
24
24
  cp .env.example .env
25
- vim .env
25
+ vim .env # set up at least one model alias
26
26
  npm start
27
27
  ```
28
28
 
@@ -0,0 +1,22 @@
1
+ import { existsSync, mkdirSync, copyFileSync } from "node:fs";
2
+ import { join, dirname } from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+ import { homedir } from "node:os";
5
+
6
+ const __dirname = dirname(fileURLToPath(import.meta.url));
7
+ const packageRoot = join(__dirname, "..");
8
+ const envExample = join(packageRoot, ".env.example");
9
+
10
+ const rummyHome = process.env.RUMMY_HOME || join(homedir(), ".rummy");
11
+
12
+ if (!existsSync(rummyHome)) {
13
+ mkdirSync(rummyHome, { recursive: true });
14
+ }
15
+ for (const dir of ["plugins", "skills", "personas"]) {
16
+ const path = join(rummyHome, dir);
17
+ if (!existsSync(path)) mkdirSync(path, { recursive: true });
18
+ }
19
+
20
+ copyFileSync(envExample, join(rummyHome, ".env.example"));
21
+ console.log(`[RUMMY] Configuration: ${rummyHome}/.env.example`);
22
+ console.log(`[RUMMY] Copy to ${rummyHome}/.env and add your API keys.`);
package/bin/rummy.js CHANGED
@@ -1,35 +1,18 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- import { existsSync, mkdirSync, copyFileSync } from "node:fs";
3
+ import { existsSync } from "node:fs";
4
4
  import { join, dirname } from "node:path";
5
5
  import { fileURLToPath } from "node:url";
6
6
  import { homedir } from "node:os";
7
7
 
8
8
  const __dirname = dirname(fileURLToPath(import.meta.url));
9
9
  const packageRoot = join(__dirname, "..");
10
- const envExample = join(packageRoot, ".env.example");
11
10
 
12
- // Resolve RUMMY_HOME
13
11
  const rummyHome = process.env.RUMMY_HOME || join(homedir(), ".rummy");
14
12
  process.env.RUMMY_HOME = rummyHome;
15
13
 
16
- // Bootstrap ~/.rummy if needed
17
- if (!existsSync(rummyHome)) {
18
- mkdirSync(rummyHome, { recursive: true });
19
- console.log(`[RUMMY] Created ${rummyHome}`);
20
- }
21
- for (const dir of ["plugins", "skills", "personas"]) {
22
- const path = join(rummyHome, dir);
23
- if (!existsSync(path)) mkdirSync(path, { recursive: true });
24
- }
25
-
26
- // Keep .env.example in RUMMY_HOME as reference
27
- copyFileSync(envExample, join(rummyHome, ".env.example"));
28
-
29
- // Load defaults from .env.example, then user overrides from ~/.rummy/.env
30
- process.loadEnvFile(envExample);
14
+ process.loadEnvFile(join(packageRoot, ".env.example"));
31
15
  const userEnv = join(rummyHome, ".env");
32
16
  if (existsSync(userEnv)) process.loadEnvFile(userEnv);
33
17
 
34
- // Start service
35
18
  await import(join(packageRoot, "service.js"));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@possumtech/rummy",
3
- "version": "0.2.5",
3
+ "version": "0.2.6",
4
4
  "description": "Relational Unknowns Memory Management Yoke",
5
5
  "keywords": [
6
6
  "llm"
@@ -28,6 +28,7 @@
28
28
  "type": "module",
29
29
  "main": "service.js",
30
30
  "scripts": {
31
+ "postinstall": "node ./bin/postinstall.js",
31
32
  "start": "node --env-file-if-exists=.env.example --env-file-if-exists=.env service.js",
32
33
  "dev": "node --env-file-if-exists=.env.example --env-file-if-exists=.env --env-file-if-exists=.env.dev --watch service.js",
33
34
  "debug": "node --env-file-if-exists=.env.example --env-file-if-exists=.env --env-file-if-exists=.env.debug --inspect service.js",