chronicle-ai 0.0.1 → 0.1.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chronicle-ai",
3
- "version": "0.0.1",
3
+ "version": "0.1.1",
4
4
  "private": false,
5
5
  "description": "Chronicle - Living Docs: Autonomous Documentation Agent",
6
6
  "bin": {
@@ -22,6 +22,7 @@
22
22
  "packages/ui/postcss.config.js",
23
23
  "packages/ui/tailwind.config.ts",
24
24
  "packages/ui/tsconfig.json",
25
+ "tsconfig.base.json",
25
26
  "README.md",
26
27
  "PROJECT_STORY.md"
27
28
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AAQA,wBAAsB,KAAK,CAAC,OAAO,EAAE,GAAG,iBAmGvC"}
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"AASA,wBAAsB,KAAK,CAAC,OAAO,EAAE,GAAG,iBA6GvC"}
@@ -7,6 +7,7 @@ exports.start = start;
7
7
  const child_process_1 = require("child_process");
8
8
  const path_1 = __importDefault(require("path"));
9
9
  const fs_1 = __importDefault(require("fs"));
10
+ const os_1 = __importDefault(require("os"));
10
11
  const chalk_1 = __importDefault(require("chalk"));
11
12
  const ora_1 = __importDefault(require("ora"));
12
13
  const detect_port_1 = __importDefault(require("detect-port"));
@@ -15,16 +16,18 @@ async function start(options) {
15
16
  const spinner = (0, ora_1.default)('Starting Chronicle System...').start();
16
17
  let daemonDir;
17
18
  let uiDir;
19
+ const chronicleDir = path_1.default.join(os_1.default.homedir(), '.chronicle');
18
20
  try {
19
21
  daemonDir = (0, paths_1.getDaemonDir)();
20
22
  uiDir = (0, paths_1.getUiDir)();
23
+ daemonDir = prepareRuntimePackageDir(daemonDir, 'daemon');
24
+ uiDir = prepareUiRuntimeDir(uiDir);
21
25
  }
22
26
  catch (error) {
23
27
  spinner.fail(chalk_1.default.red(error.message));
24
28
  return;
25
29
  }
26
- // Ensure .chronicle dir exists
27
- const chronicleDir = path_1.default.join(daemonDir, '.chronicle');
30
+ // Ensure runtime data dir exists
28
31
  if (!fs_1.default.existsSync(chronicleDir)) {
29
32
  fs_1.default.mkdirSync(chronicleDir, { recursive: true });
30
33
  }
@@ -54,7 +57,11 @@ async function start(options) {
54
57
  cwd: daemonDir,
55
58
  detached: true,
56
59
  stdio: ['ignore', out, err],
57
- env: { ...process.env, GOOGLE_API_KEY: geminiKey }
60
+ env: {
61
+ ...process.env,
62
+ GOOGLE_API_KEY: geminiKey,
63
+ CHRONICLE_DATA_DIR: chronicleDir
64
+ }
58
65
  });
59
66
  daemon.unref();
60
67
  if (daemon.pid) {
@@ -84,7 +91,11 @@ async function start(options) {
84
91
  cwd: uiDir,
85
92
  detached: true,
86
93
  stdio: ['ignore', out, err],
87
- env: { ...process.env, PORT: String(port) }
94
+ env: {
95
+ ...process.env,
96
+ PORT: String(port),
97
+ CHRONICLE_DATA_DIR: chronicleDir
98
+ }
88
99
  });
89
100
  ui.unref();
90
101
  if (ui.pid) {
@@ -124,4 +135,38 @@ function readGeminiKey(filePath) {
124
135
  .filter(line => line.length > 0 && !line.startsWith('#'));
125
136
  return lines[0] || '';
126
137
  }
138
+ /**
139
+ * Next.js does not reliably transpile TS/TSX when the app itself is under node_modules
140
+ * (global npm install path). Copy UI to a runtime dir outside node_modules and run it there.
141
+ */
142
+ function prepareUiRuntimeDir(originalUiDir) {
143
+ if (!originalUiDir.includes(`${path_1.default.sep}node_modules${path_1.default.sep}`)) {
144
+ return originalUiDir;
145
+ }
146
+ const runtimeRoot = path_1.default.join(os_1.default.homedir(), '.chronicle', 'runtime');
147
+ const runtimeUiDir = prepareRuntimePackageDir(originalUiDir, 'ui');
148
+ const packageRoot = path_1.default.resolve(originalUiDir, '../..');
149
+ const sourceTsconfigBase = path_1.default.join(packageRoot, 'tsconfig.base.json');
150
+ const runtimeTsconfigBase = path_1.default.join(runtimeRoot, 'tsconfig.base.json');
151
+ if (fs_1.default.existsSync(sourceTsconfigBase) && !fs_1.default.existsSync(runtimeTsconfigBase)) {
152
+ fs_1.default.copyFileSync(sourceTsconfigBase, runtimeTsconfigBase);
153
+ }
154
+ return runtimeUiDir;
155
+ }
156
+ function prepareRuntimePackageDir(originalPackageDir, packageName) {
157
+ if (!originalPackageDir.includes(`${path_1.default.sep}node_modules${path_1.default.sep}`)) {
158
+ return originalPackageDir;
159
+ }
160
+ const packageRoot = path_1.default.resolve(originalPackageDir, '../..');
161
+ const runtimeRoot = path_1.default.join(os_1.default.homedir(), '.chronicle', 'runtime');
162
+ const runtimePackageDir = path_1.default.join(runtimeRoot, 'packages', packageName);
163
+ const runtimeNodeModules = path_1.default.join(runtimeRoot, 'node_modules');
164
+ const sourceNodeModules = path_1.default.join(packageRoot, 'node_modules');
165
+ fs_1.default.mkdirSync(path_1.default.dirname(runtimePackageDir), { recursive: true });
166
+ fs_1.default.cpSync(originalPackageDir, runtimePackageDir, { recursive: true, force: true });
167
+ if (!fs_1.default.existsSync(runtimeNodeModules) && fs_1.default.existsSync(sourceNodeModules)) {
168
+ fs_1.default.symlinkSync(sourceNodeModules, runtimeNodeModules, 'dir');
169
+ }
170
+ return runtimePackageDir;
171
+ }
127
172
  //# sourceMappingURL=start.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
@@ -24,11 +24,11 @@ async function main() {
24
24
  const apiKey = loadGeminiApiKey();
25
25
  if (!apiKey) {
26
26
  console.error('❌ Gemini API key not found.');
27
- console.error(` Add your key to: ${path_1.default.join(process.cwd(), '.chronicle', '.gemini-key')}`);
27
+ console.error(` Add your key to: ${path_1.default.join(getDataDir(), '.gemini-key')}`);
28
28
  process.exit(1);
29
29
  }
30
30
  const watcher = new WatcherService_1.WatcherService(process.cwd());
31
- const db = new DatabaseService_1.DatabaseService();
31
+ const db = new DatabaseService_1.DatabaseService(getDataDir());
32
32
  // Use CWD for git service default, feature per-project git service pending
33
33
  const git = new GitService_1.GitService(process.cwd());
34
34
  const queue = new QueueService_1.QueueService(db);
@@ -135,7 +135,7 @@ function loadGeminiApiKey() {
135
135
  const keyFromEnv = (process.env.GOOGLE_API_KEY || '').trim();
136
136
  if (keyFromEnv)
137
137
  return keyFromEnv;
138
- const keyFilePath = path_1.default.join(process.cwd(), '.chronicle', '.gemini-key');
138
+ const keyFilePath = path_1.default.join(getDataDir(), '.gemini-key');
139
139
  if (!fs_1.default.existsSync(keyFilePath))
140
140
  return '';
141
141
  const lines = fs_1.default.readFileSync(keyFilePath, 'utf-8')
@@ -144,4 +144,10 @@ function loadGeminiApiKey() {
144
144
  .filter(line => line.length > 0 && !line.startsWith('#'));
145
145
  return lines[0] || '';
146
146
  }
147
+ function getDataDir() {
148
+ const fromEnv = (process.env.CHRONICLE_DATA_DIR || '').trim();
149
+ if (fromEnv)
150
+ return fromEnv;
151
+ return path_1.default.join(process.cwd(), '.chronicle');
152
+ }
147
153
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import Database from 'better-sqlite3';
2
2
  import path from 'path';
3
3
  import fs from 'fs';
4
+ import os from 'os';
4
5
  import { marked } from 'marked';
5
6
 
6
7
  // Configure marked to render mermaid blocks as divs
@@ -19,9 +20,8 @@ renderer.code = ({ text, lang, escaped }: any) => {
19
20
 
20
21
  marked.use({ renderer });
21
22
 
22
- // Connect to the Daemon's DB
23
- // Assumes UI and Daemon are in the same mono-repo structure
24
- const DB_PATH = path.resolve(process.cwd(), '../daemon/.chronicle/db.sqlite');
23
+ // Connect to the daemon DB. Prefer explicit env/runtime path for global installs.
24
+ const DB_PATH = resolveDbPath();
25
25
 
26
26
  // Lazy database connection - handle build-time scenarios where DB doesn't exist
27
27
  let _db: Database.Database | null = null;
@@ -47,6 +47,19 @@ function getDb(): Database.Database | null {
47
47
  }
48
48
  }
49
49
 
50
+ function resolveDbPath(): string {
51
+ const explicitDbPath = (process.env.CHRONICLE_DAEMON_PATH || '').trim();
52
+ if (explicitDbPath) return path.resolve(explicitDbPath);
53
+
54
+ const dataDir = (process.env.CHRONICLE_DATA_DIR || '').trim();
55
+ if (dataDir) return path.join(path.resolve(dataDir), 'db.sqlite');
56
+
57
+ const monorepoDefault = path.resolve(process.cwd(), '../daemon/.chronicle/db.sqlite');
58
+ if (fs.existsSync(monorepoDefault)) return monorepoDefault;
59
+
60
+ return path.join(os.homedir(), '.chronicle', 'db.sqlite');
61
+ }
62
+
50
63
  // For backward compatibility - functions will check if db is null
51
64
  const db = {
52
65
  prepare: (sql: string) => {
@@ -0,0 +1,19 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "module": "NodeNext",
5
+ "moduleResolution": "NodeNext",
6
+ "lib": [
7
+ "ES2022",
8
+ "DOM"
9
+ ],
10
+ "strict": true,
11
+ "esModuleInterop": true,
12
+ "skipLibCheck": true,
13
+ "forceConsistentCasingInFileNames": true,
14
+ "composite": true,
15
+ "declaration": true,
16
+ "declarationMap": true,
17
+ "sourceMap": true
18
+ }
19
+ }