daedalus-cli 1.72.0 → 1.74.0

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"systemInfo.d.ts","sourceRoot":"","sources":["../../src/config/systemInfo.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CASpD;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAWvE;AAED,wBAAgB,oBAAoB,IAAI,iBAAiB,CAoBxD;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAG9C"}
@@ -0,0 +1,49 @@
1
+ import os from 'node:os';
2
+ import path from 'node:path';
3
+ export function detectShell(platform) {
4
+ if (platform === 'win32') {
5
+ return process.env.PSModulePath || process.env.PWSH ? 'powershell' : 'cmd';
6
+ }
7
+ const envShell = process.env.SHELL;
8
+ if (envShell) {
9
+ return path.basename(envShell);
10
+ }
11
+ return platform === 'darwin' ? 'zsh' : 'bash';
12
+ }
13
+ export function resolveOsName(platform, release) {
14
+ if (platform === 'win32') {
15
+ return `Windows (${release})`;
16
+ }
17
+ if (platform === 'darwin') {
18
+ return `macOS (${release})`;
19
+ }
20
+ if (platform === 'linux') {
21
+ return `Linux (${release})`;
22
+ }
23
+ return `${platform} (${release})`;
24
+ }
25
+ export function getSystemDiagnostics() {
26
+ const platform = os.platform();
27
+ const release = os.release();
28
+ const arch = os.arch();
29
+ const cpus = os.cpus()?.length || 1;
30
+ const totalMemoryGB = Math.round((os.totalmem() / (1024 * 1024 * 1024)) * 10) / 10;
31
+ const freeMemoryGB = Math.round((os.freemem() / (1024 * 1024 * 1024)) * 10) / 10;
32
+ const shell = detectShell(platform);
33
+ const osName = resolveOsName(platform, release);
34
+ return {
35
+ platform,
36
+ osName,
37
+ arch,
38
+ shell,
39
+ cpus,
40
+ totalMemoryGB,
41
+ freeMemoryGB,
42
+ pathSeparator: path.sep,
43
+ };
44
+ }
45
+ export function getSystemPromptHeader() {
46
+ const diag = getSystemDiagnostics();
47
+ return `[System Diagnostics] OS: ${diag.osName} (${diag.platform}, ${diag.arch}) | Shell: ${diag.shell} | Path Sep: '${diag.pathSeparator}' | CPUs: ${diag.cpus} | RAM: ${diag.totalMemoryGB} GB (${diag.freeMemoryGB} GB free)`;
48
+ }
49
+ //# sourceMappingURL=systemInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"systemInfo.js","sourceRoot":"","sources":["../../src/config/systemInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAa7B,MAAM,UAAU,WAAW,CAAC,QAAgB;IAC1C,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7E,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;IACnC,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,QAAgB,EAAE,OAAe;IAC7D,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,YAAY,OAAO,GAAG,CAAC;IAChC,CAAC;IACD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,UAAU,OAAO,GAAG,CAAC;IAC9B,CAAC;IACD,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,UAAU,OAAO,GAAG,CAAC;IAC9B,CAAC;IACD,OAAO,GAAG,QAAQ,KAAK,OAAO,GAAG,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC,CAAC;IACpC,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;IACnF,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;IACjF,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACpC,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAEhD,OAAO;QACL,QAAQ;QACR,MAAM;QACN,IAAI;QACJ,KAAK;QACL,IAAI;QACJ,aAAa;QACb,YAAY;QACZ,aAAa,EAAE,IAAI,CAAC,GAAG;KACxB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,MAAM,IAAI,GAAG,oBAAoB,EAAE,CAAC;IACpC,OAAO,4BAA4B,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,cAAc,IAAI,CAAC,KAAK,iBAAiB,IAAI,CAAC,aAAa,aAAa,IAAI,CAAC,IAAI,WAAW,IAAI,CAAC,aAAa,QAAQ,IAAI,CAAC,YAAY,WAAW,CAAC;AACnO,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=systemInfo.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"systemInfo.test.d.ts","sourceRoot":"","sources":["../../src/config/systemInfo.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,34 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { detectShell, resolveOsName, getSystemDiagnostics, getSystemPromptHeader, } from './systemInfo.js';
3
+ describe('System Diagnostics Module', () => {
4
+ it('detects shell correctly based on platform', () => {
5
+ expect(detectShell('win32')).toBeDefined();
6
+ expect(detectShell('darwin')).toBeDefined();
7
+ expect(detectShell('linux')).toBeDefined();
8
+ });
9
+ it('resolves OS release names', () => {
10
+ expect(resolveOsName('win32', '10.0.22631')).toContain('Windows');
11
+ expect(resolveOsName('darwin', '23.4.0')).toContain('macOS');
12
+ expect(resolveOsName('linux', '6.5.0')).toContain('Linux');
13
+ });
14
+ it('retrieves valid system diagnostics', () => {
15
+ const diag = getSystemDiagnostics();
16
+ expect(diag.platform).toBeDefined();
17
+ expect(diag.osName).toBeDefined();
18
+ expect(diag.arch).toBeDefined();
19
+ expect(diag.shell).toBeDefined();
20
+ expect(diag.cpus).toBeGreaterThan(0);
21
+ expect(diag.totalMemoryGB).toBeGreaterThan(0);
22
+ expect(diag.freeMemoryGB).toBeGreaterThanOrEqual(0);
23
+ expect(diag.pathSeparator).toBeDefined();
24
+ });
25
+ it('generates a formatted system prompt header', () => {
26
+ const header = getSystemPromptHeader();
27
+ expect(header).toContain('[System Diagnostics]');
28
+ expect(header).toContain('OS:');
29
+ expect(header).toContain('Shell:');
30
+ expect(header).toContain('CPUs:');
31
+ expect(header).toContain('RAM:');
32
+ });
33
+ });
34
+ //# sourceMappingURL=systemInfo.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"systemInfo.test.js","sourceRoot":"","sources":["../../src/config/systemInfo.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EACL,WAAW,EACX,aAAa,EACb,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAEzB,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3C,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAClE,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC7D,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,IAAI,GAAG,oBAAoB,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QACpC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,MAAM,GAAG,qBAAqB,EAAE,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ import Database from 'better-sqlite3';
2
+ export interface SessionBranch {
3
+ id: string;
4
+ name: string;
5
+ parent_id: string | null;
6
+ branch_point_step: number;
7
+ status: 'active' | 'archived' | 'merged';
8
+ created_at: number;
9
+ workspace_root: string;
10
+ }
11
+ export declare function initBranchingDatabase(db: Database.Database): void;
12
+ export declare function createSessionBranch(db: Database.Database, parentId: string, branchName: string, workspaceRoot: string, sessionDir: string): SessionBranch;
13
+ export declare function checkoutSessionBranch(db: Database.Database, nameOrId: string): SessionBranch;
14
+ export declare function listSessionBranches(db: Database.Database): string;
15
+ export declare function mergeSessionBranch(db: Database.Database, targetNameOrId: string, workspaceRoot: string, sessionDir: string): Promise<{
16
+ success: boolean;
17
+ message: string;
18
+ }>;
19
+ //# sourceMappingURL=branching.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branching.d.ts","sourceRoot":"","sources":["../../src/session/branching.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAOtC,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAajE;AAED,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,GACjB,aAAa,CA+Cf;AAED,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,QAAQ,EAAE,MAAM,GACf,aAAa,CAUf;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,MAAM,CA6CjE;AAED,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA0DhD"}
@@ -0,0 +1,159 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import crypto from 'node:crypto';
4
+ import { getTurns, saveTurn } from './sqlite.js';
5
+ import { applyCodeDiffs } from './gitMerger.js';
6
+ export function initBranchingDatabase(db) {
7
+ db.exec(`
8
+ CREATE TABLE IF NOT EXISTS session_branches (
9
+ id TEXT PRIMARY KEY,
10
+ name TEXT NOT NULL,
11
+ parent_id TEXT,
12
+ branch_point_step INTEGER NOT NULL,
13
+ status TEXT NOT NULL DEFAULT 'active',
14
+ created_at INTEGER NOT NULL,
15
+ workspace_root TEXT NOT NULL
16
+ );
17
+ CREATE INDEX IF NOT EXISTS idx_session_branches_parent ON session_branches(parent_id);
18
+ `);
19
+ }
20
+ export function createSessionBranch(db, parentId, branchName, workspaceRoot, sessionDir) {
21
+ initBranchingDatabase(db);
22
+ const existing = db
23
+ .prepare('SELECT * FROM session_branches WHERE name = ?')
24
+ .get(branchName);
25
+ if (existing) {
26
+ throw new Error(`Session branch with name '${branchName}' already exists.`);
27
+ }
28
+ const currentTurns = getTurns(db);
29
+ const branchPointStep = currentTurns.length;
30
+ const newId = crypto.randomUUID();
31
+ const createdAt = Date.now();
32
+ const stmt = db.prepare(`
33
+ INSERT INTO session_branches (id, name, parent_id, branch_point_step, status, created_at, workspace_root)
34
+ VALUES (?, ?, ?, ?, 'active', ?, ?)
35
+ `);
36
+ stmt.run(newId, branchName, parentId, branchPointStep, createdAt, workspaceRoot);
37
+ if (!fs.existsSync(sessionDir)) {
38
+ fs.mkdirSync(sessionDir, { recursive: true });
39
+ }
40
+ const jsonlPath = path.join(sessionDir, `${newId}.jsonl`);
41
+ const lines = currentTurns.map((t, i) => JSON.stringify({
42
+ step: i + 1,
43
+ role: t.role,
44
+ content: t.content,
45
+ tool_calls: t.tool_calls ? JSON.parse(t.tool_calls) : undefined,
46
+ timestamp: t.created_at || createdAt,
47
+ }) + '\n');
48
+ fs.writeFileSync(jsonlPath, lines.join(''), 'utf8');
49
+ return {
50
+ id: newId,
51
+ name: branchName,
52
+ parent_id: parentId,
53
+ branch_point_step: branchPointStep,
54
+ status: 'active',
55
+ created_at: createdAt,
56
+ workspace_root: workspaceRoot,
57
+ };
58
+ }
59
+ export function checkoutSessionBranch(db, nameOrId) {
60
+ initBranchingDatabase(db);
61
+ const branch = db
62
+ .prepare('SELECT * FROM session_branches WHERE id = ? OR name = ?')
63
+ .get(nameOrId, nameOrId);
64
+ if (!branch) {
65
+ throw new Error(`Session branch '${nameOrId}' not found.`);
66
+ }
67
+ return branch;
68
+ }
69
+ export function listSessionBranches(db) {
70
+ initBranchingDatabase(db);
71
+ const branches = db
72
+ .prepare('SELECT * FROM session_branches ORDER BY created_at ASC')
73
+ .all();
74
+ if (branches.length === 0) {
75
+ return 'No session branches found.';
76
+ }
77
+ const allBranchIds = new Set(branches.map((b) => b.id));
78
+ const rootBranches = branches.filter((b) => !b.parent_id || !allBranchIds.has(b.parent_id));
79
+ const childMap = new Map();
80
+ for (const b of branches) {
81
+ if (b.parent_id) {
82
+ const list = childMap.get(b.parent_id) || [];
83
+ list.push(b);
84
+ childMap.set(b.parent_id, list);
85
+ }
86
+ }
87
+ const lines = [];
88
+ function renderBranch(b, prefix, isLast) {
89
+ const connector = isLast ? '└── ' : '├── ';
90
+ const indent = prefix;
91
+ lines.push(`${indent}${connector}${b.name} (${b.status}) [id: ${b.id.slice(0, 8)}]`);
92
+ const children = childMap.get(b.id) || [];
93
+ const nextPrefix = indent + (isLast ? ' ' : '│ ');
94
+ children.forEach((child, index) => {
95
+ renderBranch(child, nextPrefix, index === children.length - 1);
96
+ });
97
+ }
98
+ rootBranches.forEach((root, index) => {
99
+ const isLast = index === rootBranches.length - 1;
100
+ lines.push(`* ${root.name} (${root.status}) [id: ${root.id.slice(0, 8)}]`);
101
+ const children = childMap.get(root.id) || [];
102
+ children.forEach((child, cIndex) => {
103
+ renderBranch(child, ' ', cIndex === children.length - 1);
104
+ });
105
+ });
106
+ return lines.join('\n');
107
+ }
108
+ export async function mergeSessionBranch(db, targetNameOrId, workspaceRoot, sessionDir) {
109
+ initBranchingDatabase(db);
110
+ const target = db
111
+ .prepare('SELECT * FROM session_branches WHERE id = ? OR name = ?')
112
+ .get(targetNameOrId, targetNameOrId);
113
+ if (!target) {
114
+ throw new Error(`Target branch '${targetNameOrId}' not found.`);
115
+ }
116
+ if (target.status === 'merged') {
117
+ return { success: false, message: `Branch '${target.name}' is already merged.` };
118
+ }
119
+ const jsonlPath = path.join(sessionDir, `${target.id}.jsonl`);
120
+ const diffs = [];
121
+ const newTurnsToAppend = [];
122
+ if (fs.existsSync(jsonlPath)) {
123
+ const raw = fs.readFileSync(jsonlPath, 'utf8');
124
+ const lines = raw.split('\n').map((l) => l.trim()).filter(Boolean);
125
+ for (let i = target.branch_point_step; i < lines.length; i++) {
126
+ try {
127
+ const item = JSON.parse(lines[i]);
128
+ if (item.code_diff) {
129
+ diffs.push(item.code_diff);
130
+ }
131
+ newTurnsToAppend.push({
132
+ role: item.role,
133
+ content: item.content,
134
+ tool_calls: item.tool_calls,
135
+ });
136
+ }
137
+ catch { /* ignored */ }
138
+ }
139
+ }
140
+ if (diffs.length > 0) {
141
+ const patchResult = await applyCodeDiffs(diffs, workspaceRoot);
142
+ if (!patchResult.success) {
143
+ return { success: false, message: patchResult.error || 'Failed to apply branch patch diffs.' };
144
+ }
145
+ }
146
+ for (const t of newTurnsToAppend) {
147
+ saveTurn(db, {
148
+ role: t.role,
149
+ content: t.content,
150
+ tool_calls: t.tool_calls ? JSON.stringify(t.tool_calls) : undefined,
151
+ });
152
+ }
153
+ db.prepare("UPDATE session_branches SET status = 'merged' WHERE id = ?").run(target.id);
154
+ return {
155
+ success: true,
156
+ message: `Merged '${target.name}' successfully into current session (${newTurnsToAppend.length} turns appended).`,
157
+ };
158
+ }
159
+ //# sourceMappingURL=branching.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branching.js","sourceRoot":"","sources":["../../src/session/branching.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=branching.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branching.test.d.ts","sourceRoot":"","sources":["../../src/session/branching.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,89 @@
1
+ import { describe, it, expect, beforeEach, afterEach } from 'vitest';
2
+ import Database from 'better-sqlite3';
3
+ import fs from 'node:fs';
4
+ import path from 'node:path';
5
+ import os from 'node:os';
6
+ import { initBranchingDatabase, createSessionBranch, checkoutSessionBranch, listSessionBranches, mergeSessionBranch, } from './branching.js';
7
+ import { saveTurn } from './sqlite.js';
8
+ describe('Session Branching System', () => {
9
+ let db;
10
+ let tempDir;
11
+ let sessionDir;
12
+ beforeEach(() => {
13
+ tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'daedalus-branch-test-'));
14
+ sessionDir = path.join(tempDir, 'sessions');
15
+ db = new Database(':memory:');
16
+ db.exec(`
17
+ CREATE TABLE IF NOT EXISTS turns (
18
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
19
+ role TEXT NOT NULL,
20
+ content TEXT NOT NULL,
21
+ tool_calls TEXT,
22
+ tool_call_id TEXT,
23
+ name TEXT,
24
+ model TEXT,
25
+ tokens_input INTEGER,
26
+ tokens_output INTEGER,
27
+ latency_ms INTEGER,
28
+ created_at INTEGER
29
+ );
30
+ `);
31
+ });
32
+ afterEach(() => {
33
+ db.close();
34
+ fs.rmSync(tempDir, { recursive: true, force: true });
35
+ });
36
+ it('initializes session_branches table', () => {
37
+ initBranchingDatabase(db);
38
+ const tables = db
39
+ .prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='session_branches'")
40
+ .all();
41
+ expect(tables).toHaveLength(1);
42
+ });
43
+ it('creates a session branch and copies trajectory turns to JSONL', () => {
44
+ saveTurn(db, { role: 'user', content: 'Step 1' });
45
+ saveTurn(db, { role: 'assistant', content: 'Step 2' });
46
+ const branch = createSessionBranch(db, 'main-session', 'feature-a', tempDir, sessionDir);
47
+ expect(branch.name).toBe('feature-a');
48
+ expect(branch.parent_id).toBe('main-session');
49
+ expect(branch.branch_point_step).toBe(2);
50
+ expect(branch.status).toBe('active');
51
+ const jsonlPath = path.join(sessionDir, `${branch.id}.jsonl`);
52
+ expect(fs.existsSync(jsonlPath)).toBe(true);
53
+ const content = fs.readFileSync(jsonlPath, 'utf8').trim().split('\n');
54
+ expect(content).toHaveLength(2);
55
+ expect(JSON.parse(content[0]).content).toBe('Step 1');
56
+ });
57
+ it('throws error when creating duplicate branch name', () => {
58
+ createSessionBranch(db, 'main-session', 'feature-dup', tempDir, sessionDir);
59
+ expect(() => createSessionBranch(db, 'main-session', 'feature-dup', tempDir, sessionDir)).toThrow("Session branch with name 'feature-dup' already exists.");
60
+ });
61
+ it('checks out an existing session branch', () => {
62
+ const created = createSessionBranch(db, 'main-session', 'checkout-test', tempDir, sessionDir);
63
+ const found = checkoutSessionBranch(db, 'checkout-test');
64
+ expect(found.id).toBe(created.id);
65
+ expect(found.name).toBe('checkout-test');
66
+ });
67
+ it('lists session branches in a formatted tree string', () => {
68
+ const b1 = createSessionBranch(db, 'main', 'branch-1', tempDir, sessionDir);
69
+ createSessionBranch(db, b1.id, 'sub-branch-1', tempDir, sessionDir);
70
+ const listStr = listSessionBranches(db);
71
+ expect(listStr).toContain('branch-1 (active)');
72
+ expect(listStr).toContain('sub-branch-1 (active)');
73
+ });
74
+ it('merges a branch and appends turns', async () => {
75
+ saveTurn(db, { role: 'user', content: 'Initial User Request' });
76
+ const b1 = createSessionBranch(db, 'main-session', 'branch-merge-test', tempDir, sessionDir);
77
+ const jsonlPath = path.join(sessionDir, `${b1.id}.jsonl`);
78
+ const newTurns = [
79
+ JSON.stringify({ step: 1, role: 'user', content: 'Initial User Request' }),
80
+ JSON.stringify({ step: 2, role: 'assistant', content: 'Branch Edit Response' }),
81
+ ].join('\n');
82
+ fs.writeFileSync(jsonlPath, newTurns, 'utf8');
83
+ const result = await mergeSessionBranch(db, 'branch-merge-test', tempDir, sessionDir);
84
+ expect(result.success).toBe(true);
85
+ const updatedFound = checkoutSessionBranch(db, 'branch-merge-test');
86
+ expect(updatedFound.status).toBe('merged');
87
+ });
88
+ });
89
+ //# sourceMappingURL=branching.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branching.test.js","sourceRoot":"","sources":["../../src/session/branching.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export interface MergeResult {
2
+ success: boolean;
3
+ appliedPatches: number;
4
+ error?: string;
5
+ }
6
+ export declare function applyCodeDiffs(diffs: string[], cwd: string): Promise<MergeResult>;
7
+ //# sourceMappingURL=gitMerger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gitMerger.d.ts","sourceRoot":"","sources":["../../src/session/gitMerger.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAwBvF"}
@@ -0,0 +1,32 @@
1
+ import { exec } from 'node:child_process';
2
+ import { promisify } from 'node:util';
3
+ import fs from 'node:fs/promises';
4
+ import path from 'node:path';
5
+ import os from 'node:os';
6
+ const execAsync = promisify(exec);
7
+ export async function applyCodeDiffs(diffs, cwd) {
8
+ const validDiffs = diffs.filter((d) => d && d.trim().length > 0);
9
+ if (validDiffs.length === 0) {
10
+ return { success: true, appliedPatches: 0 };
11
+ }
12
+ const combinedDiff = validDiffs.join('\n\n');
13
+ const tempDir = await fs.mkdtemp(path.join(os.tmpdir(), 'daedalus-patch-'));
14
+ const patchFile = path.join(tempDir, 'merge.patch');
15
+ try {
16
+ await fs.writeFile(patchFile, combinedDiff, 'utf8');
17
+ await execAsync(`git apply "${patchFile}"`, { cwd });
18
+ return { success: true, appliedPatches: validDiffs.length };
19
+ }
20
+ catch (err) {
21
+ const errorMsg = err instanceof Error ? err.message : String(err);
22
+ return {
23
+ success: false,
24
+ appliedPatches: 0,
25
+ error: `Failed to apply git patch: ${errorMsg}`,
26
+ };
27
+ }
28
+ finally {
29
+ await fs.rm(tempDir, { recursive: true, force: true }).catch(() => { });
30
+ }
31
+ }
32
+ //# sourceMappingURL=gitMerger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gitMerger.js","sourceRoot":"","sources":["../../src/session/gitMerger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAQlC,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,KAAe,EAAE,GAAW;IAC/D,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC;IAC9C,CAAC;IAED,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC5E,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAEpD,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QACpD,MAAM,SAAS,CAAC,cAAc,SAAS,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QACrD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;IAC9D,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClE,OAAO;YACL,OAAO,EAAE,KAAK;YACd,cAAc,EAAE,CAAC;YACjB,KAAK,EAAE,8BAA8B,QAAQ,EAAE;SAChD,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACzE,CAAC;AACH,CAAC"}
@@ -1,3 +1,4 @@
1
+ import Database from 'better-sqlite3';
1
2
  import { SqliteTodo, FailureLesson, ProjectStatus, SessionMeta } from './sqlite.js';
2
3
  import { ProjectMemory } from './memory.js';
3
4
  import { ChatMessage } from '../types.js';
@@ -14,6 +15,7 @@ export declare class SessionManager {
14
15
  sessionId: string;
15
16
  sessionTitle: string;
16
17
  constructor(projectRoot?: string);
18
+ get db(): Database.Database;
17
19
  setProjectRoot(projectRoot: string): void;
18
20
  reopenIndexDb(): void;
19
21
  /** Initialize directories and the index database */
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/session/manager.ts"],"names":[],"mappings":"AAQA,OAAO,EAqBL,UAAU,EACV,aAAa,EACb,aAAa,EACb,WAAW,EACZ,MAAM,aAAa,CAAC;AAErB,OAAO,EAAyD,aAAa,EAAE,MAAM,aAAa,CAAC;AACnG,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,OAAO,CAAwC;IACvD,OAAO,CAAC,WAAW,CAAuC;IAC1D,OAAO,CAAC,SAAS,CAAqC;IACtD,OAAO,CAAC,WAAW,CAA+C;IAElE,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,SAAS,CAAC,CAAoB;IAEtC,WAAW,EAAG,MAAM,CAAC;IACrB,WAAW,EAAG,MAAM,CAAC;IACd,SAAS,EAAG,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAiB;gBAEhC,WAAW,SAAgB;IAIhC,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAKzC,aAAa,IAAI,IAAI;IAO5B,oDAAoD;IAC7C,IAAI,IAAI,IAAI;IAWnB,kDAAkD;IAC3C,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG;QACvD,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,WAAW,EAAE,CAAC;QACrB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,KAAK,EAAE,UAAU,EAAE,CAAC;KACrB;IAkCD,mEAAmE;IAC5D,eAAe,IAAI,WAAW,EAAE;IA8BvC,sEAAsE;IAC/D,gBAAgB,CACrB,QAAQ,EAAE,WAAW,EAAE,EACvB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,KAAK,EAAE,UAAU,EAAE,GAClB,IAAI;IA8CP,sDAAsD;IAC/C,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAgBjD,kCAAkC;IAC3B,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE;IAM/D,gDAAgD;IACzC,qBAAqB,IAAI,WAAW,EAAE;IAK7C,kCAAkC;IAC3B,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAe7C,OAAO,CAAC,aAAa;IAId,eAAe,IAAI,MAAM;IAIzB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,GAAG,OAAiB,GAAG,IAAI;IAI7E,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAI/C,UAAU,IAAI,aAAa;IAI3B,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAKxC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI;IAKjC,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAK9C,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,aAAa,EAAE;IAKjD,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAK3C,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAK9C,gBAAgB,IAAI,aAAa,GAAG,IAAI;IAK/C,iCAAiC;IAC1B,KAAK,IAAI,IAAI;CASrB"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/session/manager.ts"],"names":[],"mappings":"AAMA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,OAAO,EAqBL,UAAU,EACV,aAAa,EACb,aAAa,EACb,WAAW,EACZ,MAAM,aAAa,CAAC;AAErB,OAAO,EAAyD,aAAa,EAAE,MAAM,aAAa,CAAC;AACnG,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,OAAO,CAAwC;IACvD,OAAO,CAAC,WAAW,CAAuC;IAC1D,OAAO,CAAC,SAAS,CAAqC;IACtD,OAAO,CAAC,WAAW,CAA+C;IAElE,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,SAAS,CAAC,CAAoB;IAEtC,WAAW,EAAG,MAAM,CAAC;IACrB,WAAW,EAAG,MAAM,CAAC;IACd,SAAS,EAAG,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAiB;gBAEhC,WAAW,SAAgB;IAIvC,IAAW,EAAE,IAAI,QAAQ,CAAC,QAAQ,CAKjC;IAEM,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAKzC,aAAa,IAAI,IAAI;IAO5B,oDAAoD;IAC7C,IAAI,IAAI,IAAI;IAWnB,kDAAkD;IAC3C,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG;QACvD,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,WAAW,EAAE,CAAC;QACrB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,KAAK,EAAE,UAAU,EAAE,CAAC;KACrB;IAkCD,mEAAmE;IAC5D,eAAe,IAAI,WAAW,EAAE;IA8BvC,sEAAsE;IAC/D,gBAAgB,CACrB,QAAQ,EAAE,WAAW,EAAE,EACvB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,KAAK,EAAE,UAAU,EAAE,GAClB,IAAI;IA8CP,sDAAsD;IAC/C,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAgBjD,kCAAkC;IAC3B,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,EAAE;IAM/D,gDAAgD;IACzC,qBAAqB,IAAI,WAAW,EAAE;IAK7C,kCAAkC;IAC3B,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAe7C,OAAO,CAAC,aAAa;IAId,eAAe,IAAI,MAAM;IAIzB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,GAAG,OAAiB,GAAG,IAAI;IAI7E,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAI/C,UAAU,IAAI,aAAa;IAI3B,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAKxC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI;IAKjC,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAK9C,iBAAiB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,aAAa,EAAE;IAKjD,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAK3C,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI;IAK9C,gBAAgB,IAAI,aAAa,GAAG,IAAI;IAK/C,iCAAiC;IAC1B,KAAK,IAAI,IAAI;CASrB"}
@@ -22,6 +22,12 @@ export class SessionManager {
22
22
  constructor(projectRoot = process.cwd()) {
23
23
  this.setProjectRoot(projectRoot);
24
24
  }
25
+ get db() {
26
+ if (!this.indexDb) {
27
+ this.init();
28
+ }
29
+ return this.indexDb;
30
+ }
25
31
  setProjectRoot(projectRoot) {
26
32
  this.projectRoot = path.resolve(projectRoot);
27
33
  this.projectHash = getProjectHash(this.projectRoot);
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/session/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/session/manager.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "daedalus-cli",
3
- "version": "1.72.0",
3
+ "version": "1.74.0",
4
4
  "description": "Local-first AI coding CLI with embedded model router, multi-agent orchestration, and codebase indexing",
5
5
  "type": "module",
6
6
  "bin": {