heyiam 0.1.6 → 0.1.8
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/dist/analyzer.d.ts +3 -3
- package/dist/archive.d.ts +14 -0
- package/dist/archive.js +125 -0
- package/dist/archive.js.map +1 -0
- package/dist/auth.d.ts +0 -6
- package/dist/auth.js +2 -4
- package/dist/auth.js.map +1 -1
- package/dist/autostart.d.ts +19 -0
- package/dist/autostart.js +103 -0
- package/dist/autostart.js.map +1 -0
- package/dist/bridge.d.ts +0 -2
- package/dist/bridge.js +33 -4
- package/dist/bridge.js.map +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.js +2 -2
- package/dist/config.js.map +1 -1
- package/dist/context-export.d.ts +22 -0
- package/dist/context-export.js +230 -0
- package/dist/context-export.js.map +1 -0
- package/dist/daemon-install.d.ts +23 -0
- package/dist/daemon-install.js +155 -0
- package/dist/daemon-install.js.map +1 -0
- package/dist/db.d.ts +118 -0
- package/dist/db.js +444 -0
- package/dist/db.js.map +1 -0
- package/dist/export.d.ts +30 -0
- package/dist/export.js +377 -0
- package/dist/export.js.map +1 -0
- package/dist/format-utils.d.ts +6 -0
- package/dist/format-utils.js +15 -0
- package/dist/format-utils.js.map +1 -0
- package/dist/index.js +474 -117
- package/dist/index.js.map +1 -1
- package/dist/llm/project-enhance.js +1 -1
- package/dist/parsers/claude.js +73 -0
- package/dist/parsers/claude.js.map +1 -1
- package/dist/parsers/codex.js +1 -1
- package/dist/parsers/codex.js.map +1 -1
- package/dist/parsers/cursor.d.ts +2 -0
- package/dist/parsers/cursor.js +14 -26
- package/dist/parsers/cursor.js.map +1 -1
- package/dist/parsers/gemini.d.ts +3 -2
- package/dist/parsers/gemini.js +198 -21
- package/dist/parsers/gemini.js.map +1 -1
- package/dist/parsers/index.d.ts +1 -1
- package/dist/parsers/index.js +23 -7
- package/dist/parsers/index.js.map +1 -1
- package/dist/parsers/types.d.ts +27 -1
- package/dist/render/build-render-data.d.ts +59 -0
- package/dist/render/build-render-data.js +101 -0
- package/dist/render/build-render-data.js.map +1 -0
- package/dist/render/components/PortfolioPage.d.ts +4 -0
- package/dist/render/components/PortfolioPage.js +16 -0
- package/dist/render/components/PortfolioPage.js.map +1 -0
- package/dist/render/components/ProjectPage.d.ts +4 -0
- package/dist/render/components/ProjectPage.js +101 -0
- package/dist/render/components/ProjectPage.js.map +1 -0
- package/dist/render/components/SessionPage.d.ts +4 -0
- package/dist/render/components/SessionPage.js +29 -0
- package/dist/render/components/SessionPage.js.map +1 -0
- package/dist/render/index.d.ts +37 -0
- package/dist/render/index.js +140 -0
- package/dist/render/index.js.map +1 -0
- package/dist/render/types.d.ts +121 -0
- package/dist/render/types.js +9 -0
- package/dist/render/types.js.map +1 -0
- package/dist/routes/archive.d.ts +3 -0
- package/dist/routes/archive.js +56 -0
- package/dist/routes/archive.js.map +1 -0
- package/dist/routes/auth.d.ts +3 -0
- package/dist/routes/auth.js +116 -0
- package/dist/routes/auth.js.map +1 -0
- package/dist/routes/context.d.ts +61 -0
- package/dist/routes/context.js +356 -0
- package/dist/routes/context.js.map +1 -0
- package/dist/routes/dashboard.d.ts +3 -0
- package/dist/routes/dashboard.js +103 -0
- package/dist/routes/dashboard.js.map +1 -0
- package/dist/routes/enhance.d.ts +3 -0
- package/dist/routes/enhance.js +305 -0
- package/dist/routes/enhance.js.map +1 -0
- package/dist/routes/export.d.ts +3 -0
- package/dist/routes/export.js +145 -0
- package/dist/routes/export.js.map +1 -0
- package/dist/routes/index.d.ts +12 -0
- package/dist/routes/index.js +13 -0
- package/dist/routes/index.js.map +1 -0
- package/dist/routes/preview.d.ts +3 -0
- package/dist/routes/preview.js +191 -0
- package/dist/routes/preview.js.map +1 -0
- package/dist/routes/projects.d.ts +3 -0
- package/dist/routes/projects.js +356 -0
- package/dist/routes/projects.js.map +1 -0
- package/dist/routes/publish.d.ts +3 -0
- package/dist/routes/publish.js +466 -0
- package/dist/routes/publish.js.map +1 -0
- package/dist/routes/search.d.ts +3 -0
- package/dist/routes/search.js +110 -0
- package/dist/routes/search.js.map +1 -0
- package/dist/routes/sessions.d.ts +3 -0
- package/dist/routes/sessions.js +103 -0
- package/dist/routes/sessions.js.map +1 -0
- package/dist/routes/settings.d.ts +3 -0
- package/dist/routes/settings.js +30 -0
- package/dist/routes/settings.js.map +1 -0
- package/dist/screenshot.d.ts +5 -2
- package/dist/screenshot.js +187 -13
- package/dist/screenshot.js.map +1 -1
- package/dist/search.d.ts +30 -0
- package/dist/search.js +153 -0
- package/dist/search.js.map +1 -0
- package/dist/server.d.ts +1 -1
- package/dist/server.js +55 -1318
- package/dist/server.js.map +1 -1
- package/dist/settings.d.ts +23 -6
- package/dist/settings.js +36 -12
- package/dist/settings.js.map +1 -1
- package/dist/source-audit.d.ts +29 -0
- package/dist/source-audit.js +203 -0
- package/dist/source-audit.js.map +1 -0
- package/dist/sync.d.ts +74 -0
- package/dist/sync.js +358 -0
- package/dist/sync.js.map +1 -0
- package/dist/transcript.d.ts +68 -0
- package/dist/transcript.js +268 -0
- package/dist/transcript.js.map +1 -0
- package/package.json +5 -1
- package/app/dist/assets/html2canvas-Cwn_rrOw.js +0 -5
- package/app/dist/assets/index-CEQyTkgN.js +0 -14
- package/app/dist/assets/index-DLh5xRE8.css +0 -1
- package/app/dist/favicon.svg +0 -1
- package/app/dist/icons.svg +0 -24
- package/app/dist/index.html +0 -20
- package/dist/machine-key.d.ts +0 -10
- package/dist/machine-key.js +0 -51
- package/dist/machine-key.js.map +0 -1
package/dist/analyzer.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export interface ParsedTurn {
|
|
2
2
|
timestamp: string;
|
|
3
|
-
type: 'prompt' | 'response' | 'tool' | 'error';
|
|
3
|
+
type: 'prompt' | 'response' | 'tool' | 'error' | 'thinking';
|
|
4
4
|
content: string;
|
|
5
5
|
toolName?: string;
|
|
6
6
|
toolInput?: string;
|
|
@@ -44,7 +44,7 @@ export interface ToolUsage {
|
|
|
44
44
|
}
|
|
45
45
|
export interface TurnEvent {
|
|
46
46
|
timestamp: string;
|
|
47
|
-
type: 'prompt' | 'response' | 'tool' | 'error';
|
|
47
|
+
type: 'prompt' | 'response' | 'tool' | 'error' | 'thinking';
|
|
48
48
|
content: string;
|
|
49
49
|
}
|
|
50
50
|
export interface FileChange {
|
|
@@ -71,7 +71,7 @@ export interface Session {
|
|
|
71
71
|
wallClockMinutes?: number;
|
|
72
72
|
turns: number;
|
|
73
73
|
linesOfCode: number;
|
|
74
|
-
status: 'draft' | 'enhanced' | '
|
|
74
|
+
status: 'draft' | 'enhanced' | 'uploaded' | 'archived';
|
|
75
75
|
projectName: string;
|
|
76
76
|
rawLog: string[];
|
|
77
77
|
skills: string[];
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { SessionMeta } from "./parsers/index.js";
|
|
2
|
+
export interface ArchiveResult {
|
|
3
|
+
archived: number;
|
|
4
|
+
alreadyArchived: number;
|
|
5
|
+
failed: number;
|
|
6
|
+
cursorExported: number;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Archive all discovered session files.
|
|
10
|
+
* - File-based sources (Claude, Codex, Gemini): hard link or copy
|
|
11
|
+
* - Cursor: export conversation data as JSONL to archive dir
|
|
12
|
+
* Idempotent: skips files that already exist in the archive.
|
|
13
|
+
*/
|
|
14
|
+
export declare function archiveSessionFiles(sessions: SessionMeta[], configDir?: string): Promise<ArchiveResult>;
|
package/dist/archive.js
ADDED
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
// Session Archive — preserves session files across all supported tools.
|
|
2
|
+
//
|
|
3
|
+
// Claude Code, Codex, Gemini: hard links (zero extra disk space).
|
|
4
|
+
// Cursor: exports conversation data as JSONL (Cursor stores in its own SQLite DB).
|
|
5
|
+
//
|
|
6
|
+
// When the original tool deletes its copy, the archive reference survives.
|
|
7
|
+
import { link, copyFile, stat, mkdir, writeFile } from "node:fs/promises";
|
|
8
|
+
import { join, dirname, basename } from "node:path";
|
|
9
|
+
import { getArchiveDir, isArchiveEnabled } from "./settings.js";
|
|
10
|
+
import { isCursorPath } from "./parsers/cursor.js";
|
|
11
|
+
/**
|
|
12
|
+
* Archive all discovered session files.
|
|
13
|
+
* - File-based sources (Claude, Codex, Gemini): hard link or copy
|
|
14
|
+
* - Cursor: export conversation data as JSONL to archive dir
|
|
15
|
+
* Idempotent: skips files that already exist in the archive.
|
|
16
|
+
*/
|
|
17
|
+
export async function archiveSessionFiles(sessions, configDir) {
|
|
18
|
+
if (!isArchiveEnabled(configDir)) {
|
|
19
|
+
return { archived: 0, alreadyArchived: 0, failed: 0, cursorExported: 0 };
|
|
20
|
+
}
|
|
21
|
+
const archiveBase = getArchiveDir(configDir);
|
|
22
|
+
const result = { archived: 0, alreadyArchived: 0, failed: 0, cursorExported: 0 };
|
|
23
|
+
for (const session of sessions) {
|
|
24
|
+
if (isCursorPath(session.path)) {
|
|
25
|
+
// Cursor: export conversation as JSONL to archive
|
|
26
|
+
await archiveCursorSession(session, archiveBase, result);
|
|
27
|
+
}
|
|
28
|
+
else if (session.path.startsWith("/")) {
|
|
29
|
+
// File-based: hard link or copy
|
|
30
|
+
await archiveFile(session.path, archiveBase, session.projectDir, result);
|
|
31
|
+
// Archive subagent files
|
|
32
|
+
for (const child of session.children ?? []) {
|
|
33
|
+
if (!child.path.startsWith("/"))
|
|
34
|
+
continue;
|
|
35
|
+
await archiveFile(child.path, archiveBase, session.projectDir, result);
|
|
36
|
+
// Archive the .meta.json alongside the child .jsonl
|
|
37
|
+
const metaPath = child.path.replace(/\.jsonl$/, ".meta.json");
|
|
38
|
+
await archiveFile(metaPath, archiveBase, session.projectDir, result);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return result;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Compute the archive destination path from the original path.
|
|
46
|
+
* Preserves the relative structure under the project directory.
|
|
47
|
+
*
|
|
48
|
+
* Claude: ~/.claude/projects/{projectDir}/{sessionId}.jsonl
|
|
49
|
+
* → ~/.config/heyiam/sessions/{projectDir}/{sessionId}.jsonl
|
|
50
|
+
*
|
|
51
|
+
* Codex: ~/.codex/sessions/{nested}/{rollout-xxx}.jsonl
|
|
52
|
+
* → ~/.config/heyiam/sessions/{projectDir}/{rollout-xxx}.jsonl
|
|
53
|
+
*
|
|
54
|
+
* Gemini: ~/.gemini/tmp/{hash}/logs.json
|
|
55
|
+
* → ~/.config/heyiam/sessions/{projectDir}/{hash}.json
|
|
56
|
+
*/
|
|
57
|
+
function archiveDestination(originalPath, archiveBase, projectDir) {
|
|
58
|
+
// Claude: find the project dir in the path and take everything after it
|
|
59
|
+
const projectDirIdx = originalPath.indexOf(`/${projectDir}/`);
|
|
60
|
+
if (projectDirIdx !== -1) {
|
|
61
|
+
const relativePath = originalPath.slice(projectDirIdx + 1);
|
|
62
|
+
return join(archiveBase, relativePath);
|
|
63
|
+
}
|
|
64
|
+
// Codex/Gemini: use projectDir + filename
|
|
65
|
+
return join(archiveBase, projectDir, basename(originalPath));
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Archive a Cursor session by exporting its parsed data as JSONL.
|
|
69
|
+
* Cursor stores conversations in its own SQLite DB — we can't hard-link.
|
|
70
|
+
* Instead, we parse the conversation and write it as a JSONL file.
|
|
71
|
+
*/
|
|
72
|
+
async function archiveCursorSession(session, archiveBase, result) {
|
|
73
|
+
const dest = join(archiveBase, session.projectDir, `cursor-${session.sessionId}.jsonl`);
|
|
74
|
+
try {
|
|
75
|
+
// Check if already archived
|
|
76
|
+
const destStat = await stat(dest).catch(() => null);
|
|
77
|
+
if (destStat) {
|
|
78
|
+
result.alreadyArchived++;
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
// Parse the Cursor session to get raw entries
|
|
82
|
+
const { parseSession } = await import("./parsers/index.js");
|
|
83
|
+
const analysis = await parseSession(session.path);
|
|
84
|
+
// Write raw entries as JSONL
|
|
85
|
+
await mkdir(dirname(dest), { recursive: true });
|
|
86
|
+
const lines = analysis.raw_entries.map((entry) => JSON.stringify(entry));
|
|
87
|
+
await writeFile(dest, lines.join("\n") + "\n", "utf-8");
|
|
88
|
+
result.cursorExported++;
|
|
89
|
+
result.archived++;
|
|
90
|
+
}
|
|
91
|
+
catch {
|
|
92
|
+
result.failed++;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
async function archiveFile(sourcePath, archiveBase, projectDir, result) {
|
|
96
|
+
const dest = archiveDestination(sourcePath, archiveBase, projectDir);
|
|
97
|
+
try {
|
|
98
|
+
// Check if source exists
|
|
99
|
+
const sourceStat = await stat(sourcePath).catch(() => null);
|
|
100
|
+
if (!sourceStat)
|
|
101
|
+
return; // Source doesn't exist (e.g., meta.json for agents without one)
|
|
102
|
+
// Check if destination already exists
|
|
103
|
+
const destStat = await stat(dest).catch(() => null);
|
|
104
|
+
if (destStat) {
|
|
105
|
+
// Already archived (same inode = hard link, or previously copied)
|
|
106
|
+
result.alreadyArchived++;
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
// Ensure destination directory exists
|
|
110
|
+
await mkdir(dirname(dest), { recursive: true });
|
|
111
|
+
// Try hard link first (zero disk cost)
|
|
112
|
+
try {
|
|
113
|
+
await link(sourcePath, dest);
|
|
114
|
+
}
|
|
115
|
+
catch {
|
|
116
|
+
// Fallback to copy (cross-filesystem, Windows without permissions, etc.)
|
|
117
|
+
await copyFile(sourcePath, dest);
|
|
118
|
+
}
|
|
119
|
+
result.archived++;
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
result.failed++;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=archive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"archive.js","sourceRoot":"","sources":["../src/archive.ts"],"names":[],"mappings":"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"}
|
package/dist/auth.d.ts
CHANGED
|
@@ -10,11 +10,6 @@ export interface DeviceCodeResponse {
|
|
|
10
10
|
expires_in: number;
|
|
11
11
|
interval: number;
|
|
12
12
|
}
|
|
13
|
-
export interface PublishPayload {
|
|
14
|
-
session: unknown;
|
|
15
|
-
signature: string;
|
|
16
|
-
publicKey: string;
|
|
17
|
-
}
|
|
18
13
|
export declare function ensureConfigDir(configDir?: string): void;
|
|
19
14
|
export declare function readConfig<T>(filename: string, configDir?: string): T | null;
|
|
20
15
|
export declare function writeConfig(filename: string, data: unknown, configDir?: string): void;
|
|
@@ -31,4 +26,3 @@ export declare function deviceAuthFlow(apiBaseUrl: string, configDir?: string, o
|
|
|
31
26
|
onUserCode?: (code: string, verificationUri: string) => void;
|
|
32
27
|
pollIntervalMs?: number;
|
|
33
28
|
}): Promise<AuthConfig>;
|
|
34
|
-
export declare function buildPublishPayload(session: unknown, signature: string, publicKey: string): PublishPayload;
|
package/dist/auth.js
CHANGED
|
@@ -77,7 +77,8 @@ export async function deviceAuthFlow(apiBaseUrl, configDir = CONFIG_DIR, options
|
|
|
77
77
|
continue;
|
|
78
78
|
}
|
|
79
79
|
if (errorBody.error === 'slow_down') {
|
|
80
|
-
//
|
|
80
|
+
// RFC 8628 §3.5: increase poll interval by 5 seconds on slow_down
|
|
81
|
+
await sleep(5000);
|
|
81
82
|
continue;
|
|
82
83
|
}
|
|
83
84
|
if (errorBody.error === 'expired_token') {
|
|
@@ -90,9 +91,6 @@ export async function deviceAuthFlow(apiBaseUrl, configDir = CONFIG_DIR, options
|
|
|
90
91
|
}
|
|
91
92
|
throw new Error('Device authorization timed out.');
|
|
92
93
|
}
|
|
93
|
-
export function buildPublishPayload(session, signature, publicKey) {
|
|
94
|
-
return { session, signature, publicKey };
|
|
95
|
-
}
|
|
96
94
|
function sleep(ms) {
|
|
97
95
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
98
96
|
}
|
package/dist/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACzF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auto-start registration for the heyiam daemon.
|
|
3
|
+
*
|
|
4
|
+
* Supports:
|
|
5
|
+
* - macOS: ~/Library/LaunchAgents/com.heyiam.daemon.plist
|
|
6
|
+
* - Linux: ~/.config/autostart/heyiam-daemon.desktop
|
|
7
|
+
* - Windows: TODO (not implemented)
|
|
8
|
+
*/
|
|
9
|
+
export declare function askYesNo(question: string): Promise<boolean>;
|
|
10
|
+
export declare function generateLaunchdPlist(binaryPath: string, logPath: string): string;
|
|
11
|
+
export declare function generateLinuxDesktopEntry(binaryPath: string): string;
|
|
12
|
+
export declare function registerAutostart(): {
|
|
13
|
+
registered: boolean;
|
|
14
|
+
method: string;
|
|
15
|
+
};
|
|
16
|
+
export declare function unregisterAutostart(): {
|
|
17
|
+
removed: boolean;
|
|
18
|
+
files: string[];
|
|
19
|
+
};
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auto-start registration for the heyiam daemon.
|
|
3
|
+
*
|
|
4
|
+
* Supports:
|
|
5
|
+
* - macOS: ~/Library/LaunchAgents/com.heyiam.daemon.plist
|
|
6
|
+
* - Linux: ~/.config/autostart/heyiam-daemon.desktop
|
|
7
|
+
* - Windows: TODO (not implemented)
|
|
8
|
+
*/
|
|
9
|
+
import { createInterface } from 'node:readline';
|
|
10
|
+
import { writeFileSync, mkdirSync, existsSync, unlinkSync } from 'node:fs';
|
|
11
|
+
import { join } from 'node:path';
|
|
12
|
+
import { homedir, platform } from 'node:os';
|
|
13
|
+
import { getDaemonDir, getDaemonBinaryPath } from './daemon-install.js';
|
|
14
|
+
// ── Path constants ──────────────────────────────────────────
|
|
15
|
+
const DAEMON_DIR = getDaemonDir();
|
|
16
|
+
const DAEMON_BINARY = getDaemonBinaryPath();
|
|
17
|
+
const DAEMON_LOG = join(DAEMON_DIR, 'daemon.log');
|
|
18
|
+
const LAUNCHD_PLIST_DIR = join(homedir(), 'Library', 'LaunchAgents');
|
|
19
|
+
const LAUNCHD_PLIST_PATH = join(LAUNCHD_PLIST_DIR, 'com.heyiam.daemon.plist');
|
|
20
|
+
const LINUX_AUTOSTART_DIR = join(homedir(), '.config', 'autostart');
|
|
21
|
+
const LINUX_DESKTOP_PATH = join(LINUX_AUTOSTART_DIR, 'heyiam-daemon.desktop');
|
|
22
|
+
// ── Prompt helper ───────────────────────────────────────────
|
|
23
|
+
export function askYesNo(question) {
|
|
24
|
+
return new Promise((resolve) => {
|
|
25
|
+
const rl = createInterface({
|
|
26
|
+
input: process.stdin,
|
|
27
|
+
output: process.stdout,
|
|
28
|
+
});
|
|
29
|
+
rl.question(question, (answer) => {
|
|
30
|
+
rl.close();
|
|
31
|
+
const normalized = answer.trim().toLowerCase();
|
|
32
|
+
resolve(normalized === 'y' || normalized === 'yes');
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
// ── Plist generation ────────────────────────────────────────
|
|
37
|
+
export function generateLaunchdPlist(binaryPath, logPath) {
|
|
38
|
+
return `<?xml version="1.0" encoding="UTF-8"?>
|
|
39
|
+
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
40
|
+
<plist version="1.0">
|
|
41
|
+
<dict>
|
|
42
|
+
<key>Label</key>
|
|
43
|
+
<string>com.heyiam.daemon</string>
|
|
44
|
+
<key>ProgramArguments</key>
|
|
45
|
+
<array>
|
|
46
|
+
<string>${binaryPath}</string>
|
|
47
|
+
</array>
|
|
48
|
+
<key>RunAtLoad</key>
|
|
49
|
+
<true/>
|
|
50
|
+
<key>KeepAlive</key>
|
|
51
|
+
<false/>
|
|
52
|
+
<key>StandardOutPath</key>
|
|
53
|
+
<string>${logPath}</string>
|
|
54
|
+
<key>StandardErrorPath</key>
|
|
55
|
+
<string>${logPath}</string>
|
|
56
|
+
</dict>
|
|
57
|
+
</plist>
|
|
58
|
+
`;
|
|
59
|
+
}
|
|
60
|
+
// ── Desktop entry generation ────────────────────────────────
|
|
61
|
+
export function generateLinuxDesktopEntry(binaryPath) {
|
|
62
|
+
return `[Desktop Entry]
|
|
63
|
+
Type=Application
|
|
64
|
+
Name=heyiam Daemon
|
|
65
|
+
Exec=${binaryPath}
|
|
66
|
+
Hidden=false
|
|
67
|
+
NoDisplay=true
|
|
68
|
+
X-GNOME-Autostart-enabled=true
|
|
69
|
+
Comment=Background archiving daemon for heyiam
|
|
70
|
+
`;
|
|
71
|
+
}
|
|
72
|
+
// ── Registration ────────────────────────────────────────────
|
|
73
|
+
export function registerAutostart() {
|
|
74
|
+
const os = platform();
|
|
75
|
+
if (os === 'darwin') {
|
|
76
|
+
mkdirSync(LAUNCHD_PLIST_DIR, { recursive: true });
|
|
77
|
+
const plist = generateLaunchdPlist(DAEMON_BINARY, DAEMON_LOG);
|
|
78
|
+
writeFileSync(LAUNCHD_PLIST_PATH, plist, 'utf-8');
|
|
79
|
+
return { registered: true, method: 'launchd' };
|
|
80
|
+
}
|
|
81
|
+
if (os === 'linux') {
|
|
82
|
+
mkdirSync(LINUX_AUTOSTART_DIR, { recursive: true });
|
|
83
|
+
const desktop = generateLinuxDesktopEntry(DAEMON_BINARY);
|
|
84
|
+
writeFileSync(LINUX_DESKTOP_PATH, desktop, 'utf-8');
|
|
85
|
+
return { registered: true, method: 'XDG autostart' };
|
|
86
|
+
}
|
|
87
|
+
// TODO: Windows auto-start via registry or startup folder
|
|
88
|
+
return { registered: false, method: 'unsupported' };
|
|
89
|
+
}
|
|
90
|
+
// ── Unregistration ──────────────────────────────────────────
|
|
91
|
+
export function unregisterAutostart() {
|
|
92
|
+
const removed = [];
|
|
93
|
+
if (existsSync(LAUNCHD_PLIST_PATH)) {
|
|
94
|
+
unlinkSync(LAUNCHD_PLIST_PATH);
|
|
95
|
+
removed.push(LAUNCHD_PLIST_PATH);
|
|
96
|
+
}
|
|
97
|
+
if (existsSync(LINUX_DESKTOP_PATH)) {
|
|
98
|
+
unlinkSync(LINUX_DESKTOP_PATH);
|
|
99
|
+
removed.push(LINUX_DESKTOP_PATH);
|
|
100
|
+
}
|
|
101
|
+
return { removed: removed.length > 0, files: removed };
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=autostart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autostart.js","sourceRoot":"","sources":["../src/autostart.ts"],"names":[],"mappings":"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"}
|
package/dist/bridge.d.ts
CHANGED
|
@@ -40,8 +40,6 @@ export interface AgentChild {
|
|
|
40
40
|
linesOfCode: number;
|
|
41
41
|
date?: string;
|
|
42
42
|
}
|
|
43
|
-
/** @deprecated Use AgentChild instead */
|
|
44
|
-
export type ChildSessionSummary = AgentChild;
|
|
45
43
|
/** Convert a fully-parsed Session into the canonical AgentChild shape. */
|
|
46
44
|
export declare function toAgentChild(session: Session): AgentChild;
|
|
47
45
|
/** Compute aggregated stats from fully-parsed child sessions. */
|
package/dist/bridge.js
CHANGED
|
@@ -7,7 +7,7 @@ export function bridgeToAnalyzer(parsed, opts) {
|
|
|
7
7
|
const cwd = parsed.cwd;
|
|
8
8
|
const turns = entriesToTurns(parsed.raw_entries, cwd);
|
|
9
9
|
const filesChanged = computePerFileChanges(parsed.tool_calls, parsed.loc_stats, cwd);
|
|
10
|
-
const title = extractTitle(parsed.raw_entries);
|
|
10
|
+
const title = parsed.custom_title || extractTitle(parsed.raw_entries) || parsed.slug || "Untitled session";
|
|
11
11
|
const rawLog = extractRawLog(parsed.raw_entries, cwd);
|
|
12
12
|
const wallClockMinutes = parsed.wall_clock_ms > 0
|
|
13
13
|
? Math.max(1, Math.round(parsed.wall_clock_ms / 60_000))
|
|
@@ -57,6 +57,9 @@ export function cleanAssistantText(text) {
|
|
|
57
57
|
function isToolUseBlock(block) {
|
|
58
58
|
return block.type === "tool_use";
|
|
59
59
|
}
|
|
60
|
+
function isThinkingBlock(block) {
|
|
61
|
+
return block.type === "thinking";
|
|
62
|
+
}
|
|
60
63
|
function getContentBlocks(entry) {
|
|
61
64
|
const content = entry.message?.content;
|
|
62
65
|
if (!content || typeof content === "string")
|
|
@@ -83,7 +86,18 @@ function entriesToTurns(entries, cwd) {
|
|
|
83
86
|
else if (entry.type === "assistant") {
|
|
84
87
|
const blocks = getContentBlocks(entry);
|
|
85
88
|
for (const block of blocks) {
|
|
86
|
-
if (block
|
|
89
|
+
if (isThinkingBlock(block)) {
|
|
90
|
+
// Thinking blocks show the model's reasoning process
|
|
91
|
+
const thinking = block.thinking?.trim();
|
|
92
|
+
if (!thinking)
|
|
93
|
+
continue;
|
|
94
|
+
turns.push({
|
|
95
|
+
timestamp: entry.timestamp,
|
|
96
|
+
type: "thinking",
|
|
97
|
+
content: thinking,
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
else if (block.type === "text") {
|
|
87
101
|
const cleaned = cleanAssistantText(block.text);
|
|
88
102
|
if (!cleaned)
|
|
89
103
|
continue;
|
|
@@ -180,6 +194,7 @@ function computePerFileChanges(toolCalls, locStats, cwd) {
|
|
|
180
194
|
return result;
|
|
181
195
|
}
|
|
182
196
|
function extractTitle(entries) {
|
|
197
|
+
let teammateTitle = null;
|
|
183
198
|
// Use the first user prompt as the title
|
|
184
199
|
for (const entry of entries) {
|
|
185
200
|
if (entry.type === "user") {
|
|
@@ -189,10 +204,19 @@ function extractTitle(entries) {
|
|
|
189
204
|
if (cleaned.length > 0) {
|
|
190
205
|
return cleaned.length > 120 ? cleaned.slice(0, 117) + "..." : cleaned;
|
|
191
206
|
}
|
|
207
|
+
// If cleaning stripped everything (e.g. teammate messages), save inner
|
|
208
|
+
// text as fallback — but keep looking for a real user prompt first
|
|
209
|
+
if (!teammateTitle && content.includes("<teammate-message")) {
|
|
210
|
+
const inner = content.replace(/<teammate-message[^>]*>/g, "").replace(/<\/teammate-message>/g, "");
|
|
211
|
+
const trimmed = cleanAssistantText(inner).trim();
|
|
212
|
+
if (trimmed.length > 0) {
|
|
213
|
+
teammateTitle = trimmed.length > 120 ? trimmed.slice(0, 117) + "..." : trimmed;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
192
216
|
}
|
|
193
217
|
}
|
|
194
218
|
}
|
|
195
|
-
return
|
|
219
|
+
return teammateTitle ?? "";
|
|
196
220
|
}
|
|
197
221
|
function extractRawLog(entries, cwd) {
|
|
198
222
|
const log = [];
|
|
@@ -208,7 +232,12 @@ function extractRawLog(entries, cwd) {
|
|
|
208
232
|
else if (entry.type === "assistant") {
|
|
209
233
|
const blocks = getContentBlocks(entry);
|
|
210
234
|
for (const block of blocks) {
|
|
211
|
-
if (block
|
|
235
|
+
if (isThinkingBlock(block)) {
|
|
236
|
+
const thinking = block.thinking?.trim();
|
|
237
|
+
if (thinking)
|
|
238
|
+
log.push(`[thinking] ${thinking.length > 200 ? thinking.slice(0, 197) + "..." : thinking}`);
|
|
239
|
+
}
|
|
240
|
+
else if (block.type === "text") {
|
|
212
241
|
const cleaned = cleanAssistantText(block.text);
|
|
213
242
|
if (!cleaned)
|
|
214
243
|
continue;
|
package/dist/bridge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** Base URL for the
|
|
1
|
+
/** Base URL for the heyiam.com app API. Must be set via HEYIAM_API_URL env var. */
|
|
2
2
|
export declare const API_URL: string;
|
|
3
3
|
/** Current enhancement mode: 'local' if ANTHROPIC_API_KEY is set, 'proxy' otherwise. */
|
|
4
4
|
export declare const ENHANCE_MODE: 'local' | 'proxy';
|
package/dist/config.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/** Base URL for the
|
|
2
|
-
export const API_URL = process.env.HEYIAM_API_URL ?? '
|
|
1
|
+
/** Base URL for the heyiam.com app API. Must be set via HEYIAM_API_URL env var. */
|
|
2
|
+
export const API_URL = process.env.HEYIAM_API_URL ?? '';
|
|
3
3
|
/** Current enhancement mode: 'local' if ANTHROPIC_API_KEY is set, 'proxy' otherwise. */
|
|
4
4
|
export const ENHANCE_MODE = process.env.ANTHROPIC_API_KEY ? 'local' : 'proxy';
|
|
5
5
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC;AAExD,wFAAwF;AACxF,MAAM,CAAC,MAAM,YAAY,GAAsB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Session, ParsedTurn } from "./analyzer.js";
|
|
2
|
+
export type ExportTier = "compact" | "summary" | "full";
|
|
3
|
+
export interface ExportOptions {
|
|
4
|
+
tier?: ExportTier;
|
|
5
|
+
}
|
|
6
|
+
export interface ExportResult {
|
|
7
|
+
content: string;
|
|
8
|
+
tokens: number;
|
|
9
|
+
tier: ExportTier;
|
|
10
|
+
}
|
|
11
|
+
/** Estimate token count from character length (rough ~4 chars/token). */
|
|
12
|
+
export declare function estimateTokens(text: string): number;
|
|
13
|
+
export declare function renderCompact(session: Session): string;
|
|
14
|
+
/**
|
|
15
|
+
* Export a session as compressed Markdown for AI context consumption.
|
|
16
|
+
*
|
|
17
|
+
* @param session - A fully loaded Session object from the analyzer
|
|
18
|
+
* @param turns - The ParsedTurn[] from the analyzer input (needed for full content)
|
|
19
|
+
* @param options - Export options (tier selection)
|
|
20
|
+
* @returns ExportResult with content string, estimated token count, and tier used
|
|
21
|
+
*/
|
|
22
|
+
export declare function exportSessionContext(session: Session, turns: ParsedTurn[], options?: ExportOptions): ExportResult;
|