@agtd/agent 0.1.2 → 0.1.3
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/agent.js +6 -49
- package/dist/{chunk-24ORBJSI.js → chunk-RJLNNX7L.js} +489 -32
- package/dist/cli.js +186 -120
- package/package.json +2 -1
- package/dist/__tests__/codexAdapterFindFile.test.d.ts +0 -2
- package/dist/__tests__/codexAdapterFindFile.test.d.ts.map +0 -1
- package/dist/__tests__/codexAdapterFindFile.test.js +0 -298
- package/dist/__tests__/codexAdapterFindFile.test.js.map +0 -1
- package/dist/__tests__/enrichers.test.d.ts +0 -2
- package/dist/__tests__/enrichers.test.d.ts.map +0 -1
- package/dist/__tests__/enrichers.test.js +0 -47
- package/dist/__tests__/enrichers.test.js.map +0 -1
- package/dist/__tests__/tmux.integration.test.d.ts +0 -2
- package/dist/__tests__/tmux.integration.test.d.ts.map +0 -1
- package/dist/__tests__/tmux.integration.test.js +0 -112
- package/dist/__tests__/tmux.integration.test.js.map +0 -1
- package/dist/__tests__/tmux.test.d.ts +0 -2
- package/dist/__tests__/tmux.test.d.ts.map +0 -1
- package/dist/__tests__/tmux.test.js +0 -26
- package/dist/__tests__/tmux.test.js.map +0 -1
- package/dist/__tests__/transcriptAdapters.test.d.ts +0 -2
- package/dist/__tests__/transcriptAdapters.test.d.ts.map +0 -1
- package/dist/__tests__/transcriptAdapters.test.js +0 -133
- package/dist/__tests__/transcriptAdapters.test.js.map +0 -1
- package/dist/adapters/claude-code.d.ts +0 -3
- package/dist/adapters/claude-code.d.ts.map +0 -1
- package/dist/adapters/claude-code.js +0 -48
- package/dist/adapters/claude-code.js.map +0 -1
- package/dist/adapters/codex.d.ts +0 -3
- package/dist/adapters/codex.d.ts.map +0 -1
- package/dist/adapters/codex.js +0 -33
- package/dist/adapters/codex.js.map +0 -1
- package/dist/adapters/generic.d.ts +0 -3
- package/dist/adapters/generic.d.ts.map +0 -1
- package/dist/adapters/generic.js +0 -38
- package/dist/adapters/generic.js.map +0 -1
- package/dist/adapters/index.d.ts +0 -7
- package/dist/adapters/index.d.ts.map +0 -1
- package/dist/adapters/index.js +0 -12
- package/dist/adapters/index.js.map +0 -1
- package/dist/agent.d.ts +0 -3
- package/dist/agent.d.ts.map +0 -1
- package/dist/agent.js.map +0 -1
- package/dist/cli.d.ts +0 -11
- package/dist/cli.d.ts.map +0 -1
- package/dist/cli.js.map +0 -1
- package/dist/config.d.ts +0 -26
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -48
- package/dist/config.js.map +0 -1
- package/dist/enrichers/git.d.ts +0 -6
- package/dist/enrichers/git.d.ts.map +0 -1
- package/dist/enrichers/git.js +0 -20
- package/dist/enrichers/git.js.map +0 -1
- package/dist/enrichers/pr.d.ts +0 -2
- package/dist/enrichers/pr.d.ts.map +0 -1
- package/dist/enrichers/pr.js +0 -10
- package/dist/enrichers/pr.js.map +0 -1
- package/dist/enrichers/transcript.d.ts +0 -8
- package/dist/enrichers/transcript.d.ts.map +0 -1
- package/dist/enrichers/transcript.js +0 -33
- package/dist/enrichers/transcript.js.map +0 -1
- package/dist/heartbeat.d.ts +0 -4
- package/dist/heartbeat.d.ts.map +0 -1
- package/dist/heartbeat.js +0 -15
- package/dist/heartbeat.js.map +0 -1
- package/dist/init.d.ts +0 -10
- package/dist/init.d.ts.map +0 -1
- package/dist/init.js +0 -70
- package/dist/init.js.map +0 -1
- package/dist/register.d.ts +0 -3
- package/dist/register.d.ts.map +0 -1
- package/dist/register.js +0 -22
- package/dist/register.js.map +0 -1
- package/dist/sessionScanner.d.ts +0 -20
- package/dist/sessionScanner.d.ts.map +0 -1
- package/dist/sessionScanner.js +0 -479
- package/dist/sessionScanner.js.map +0 -1
- package/dist/spawn.d.ts +0 -8
- package/dist/spawn.d.ts.map +0 -1
- package/dist/spawn.js +0 -73
- package/dist/spawn.js.map +0 -1
- package/dist/syncProjects.d.ts +0 -3
- package/dist/syncProjects.d.ts.map +0 -1
- package/dist/syncProjects.js +0 -91
- package/dist/syncProjects.js.map +0 -1
- package/dist/terminalBridge.d.ts +0 -4
- package/dist/terminalBridge.d.ts.map +0 -1
- package/dist/terminalBridge.js +0 -42
- package/dist/terminalBridge.js.map +0 -1
- package/dist/tmux.d.ts +0 -21
- package/dist/tmux.d.ts.map +0 -1
- package/dist/tmux.js +0 -89
- package/dist/tmux.js.map +0 -1
- package/dist/transcriptAdapters/claude-code.d.ts +0 -3
- package/dist/transcriptAdapters/claude-code.d.ts.map +0 -1
- package/dist/transcriptAdapters/claude-code.js +0 -147
- package/dist/transcriptAdapters/claude-code.js.map +0 -1
- package/dist/transcriptAdapters/codex.d.ts +0 -3
- package/dist/transcriptAdapters/codex.d.ts.map +0 -1
- package/dist/transcriptAdapters/codex.js +0 -251
- package/dist/transcriptAdapters/codex.js.map +0 -1
- package/dist/transcriptAdapters/index.d.ts +0 -17
- package/dist/transcriptAdapters/index.d.ts.map +0 -1
- package/dist/transcriptAdapters/index.js +0 -9
- package/dist/transcriptAdapters/index.js.map +0 -1
- package/dist/wsClient.d.ts +0 -6
- package/dist/wsClient.d.ts.map +0 -1
- package/dist/wsClient.js +0 -156
- package/dist/wsClient.js.map +0 -1
package/dist/syncProjects.js
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { execSync } from "node:child_process";
|
|
2
|
-
import { readdirSync, statSync, existsSync } from "node:fs";
|
|
3
|
-
import { join, basename } from "node:path";
|
|
4
|
-
function getGitRemoteUrl(projectPath) {
|
|
5
|
-
try {
|
|
6
|
-
return execSync("git remote get-url origin", {
|
|
7
|
-
cwd: projectPath,
|
|
8
|
-
encoding: "utf-8",
|
|
9
|
-
stdio: ["pipe", "pipe", "pipe"],
|
|
10
|
-
}).trim();
|
|
11
|
-
}
|
|
12
|
-
catch {
|
|
13
|
-
return null;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
/** Scan a directory for subdirectories that look like projects */
|
|
17
|
-
function discoverProjectsInDir(dir) {
|
|
18
|
-
if (!existsSync(dir))
|
|
19
|
-
return [];
|
|
20
|
-
try {
|
|
21
|
-
const entries = readdirSync(dir);
|
|
22
|
-
return entries
|
|
23
|
-
.filter((entry) => {
|
|
24
|
-
if (entry.startsWith("."))
|
|
25
|
-
return false;
|
|
26
|
-
if (entry === "node_modules")
|
|
27
|
-
return false;
|
|
28
|
-
const full = join(dir, entry);
|
|
29
|
-
try {
|
|
30
|
-
return statSync(full).isDirectory();
|
|
31
|
-
}
|
|
32
|
-
catch {
|
|
33
|
-
return false;
|
|
34
|
-
}
|
|
35
|
-
})
|
|
36
|
-
.map((entry) => ({
|
|
37
|
-
name: `${entry} (${dir})`,
|
|
38
|
-
path: join(dir, entry),
|
|
39
|
-
}));
|
|
40
|
-
}
|
|
41
|
-
catch {
|
|
42
|
-
return [];
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
export async function syncProjects(config) {
|
|
46
|
-
// Start with explicitly configured projects
|
|
47
|
-
const seen = new Set();
|
|
48
|
-
const allProjects = [];
|
|
49
|
-
for (const p of config.projects) {
|
|
50
|
-
if (!seen.has(p.path)) {
|
|
51
|
-
seen.add(p.path);
|
|
52
|
-
allProjects.push({
|
|
53
|
-
name: `${basename(p.path)} (${p.path})`,
|
|
54
|
-
path: p.path,
|
|
55
|
-
repoUrl: getGitRemoteUrl(p.path),
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
// Discover from projectDirs
|
|
60
|
-
for (const dir of config.projectDirs) {
|
|
61
|
-
const discovered = discoverProjectsInDir(dir);
|
|
62
|
-
for (const p of discovered) {
|
|
63
|
-
if (!seen.has(p.path)) {
|
|
64
|
-
seen.add(p.path);
|
|
65
|
-
allProjects.push({
|
|
66
|
-
name: p.name,
|
|
67
|
-
path: p.path,
|
|
68
|
-
repoUrl: getGitRemoteUrl(p.path),
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
const payload = {
|
|
74
|
-
deviceId: config.deviceId,
|
|
75
|
-
projects: allProjects,
|
|
76
|
-
};
|
|
77
|
-
const res = await fetch(`${config.backendUrl}/api/projects/sync`, {
|
|
78
|
-
method: "POST",
|
|
79
|
-
headers: {
|
|
80
|
-
"Content-Type": "application/json",
|
|
81
|
-
"x-api-key": config.apiKey,
|
|
82
|
-
"x-device-id": config.deviceId,
|
|
83
|
-
},
|
|
84
|
-
body: JSON.stringify(payload),
|
|
85
|
-
});
|
|
86
|
-
if (!res.ok) {
|
|
87
|
-
throw new Error(`Sync projects failed: ${res.status} ${res.statusText}`);
|
|
88
|
-
}
|
|
89
|
-
console.log(`Synced ${allProjects.length} project(s)`);
|
|
90
|
-
}
|
|
91
|
-
//# sourceMappingURL=syncProjects.js.map
|
package/dist/syncProjects.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"syncProjects.js","sourceRoot":"","sources":["../src/syncProjects.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAI3C,SAAS,eAAe,CAAC,WAAmB;IAC1C,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,2BAA2B,EAAE;YAC3C,GAAG,EAAE,WAAW;YAChB,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC,IAAI,EAAE,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,kEAAkE;AAClE,SAAS,qBAAqB,CAC5B,GAAW;IAEX,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAChC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QACjC,OAAO,OAAO;aACX,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YAChB,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,OAAO,KAAK,CAAC;YACxC,IAAI,KAAK,KAAK,cAAc;gBAAE,OAAO,KAAK,CAAC;YAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC9B,IAAI,CAAC;gBACH,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YACtC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACf,IAAI,EAAE,GAAG,KAAK,KAAK,GAAG,GAAG;YACzB,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC;SACvB,CAAC,CAAC,CAAC;IACR,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAmB;IACpD,4CAA4C;IAC5C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,WAAW,GAIZ,EAAE,CAAC;IAER,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACjB,WAAW,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG;gBACvC,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;aACjC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAC9C,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACjB,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC;iBACjC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAwB;QACnC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,WAAW;KACtB,CAAC;IAEF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,CAAC,UAAU,oBAAoB,EAAE;QAChE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,WAAW,EAAE,MAAM,CAAC,MAAM;YAC1B,aAAa,EAAE,MAAM,CAAC,QAAQ;SAC/B;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;KAC9B,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,UAAU,WAAW,CAAC,MAAM,aAAa,CAAC,CAAC;AACzD,CAAC"}
|
package/dist/terminalBridge.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"terminalBridge.d.ts","sourceRoot":"","sources":["../src/terminalBridge.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,IAAI,CAAC;AAM3B,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,SAAS,GACZ,IAAI,CAgCN;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAO1D"}
|
package/dist/terminalBridge.js
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import WebSocket from "ws";
|
|
2
|
-
import { capturePaneOutput, isTmuxAvailable } from "./tmux.js";
|
|
3
|
-
import { TERMINAL_POLL_INTERVAL_MS } from "@agtd/shared";
|
|
4
|
-
const activeBridges = new Map();
|
|
5
|
-
export function startTerminalBridge(sessionId, tmuxTarget, ws) {
|
|
6
|
-
if (!isTmuxAvailable()) {
|
|
7
|
-
console.log(`Terminal bridge skipped for ${sessionId}: tmux not available`);
|
|
8
|
-
return;
|
|
9
|
-
}
|
|
10
|
-
stopTerminalBridge(sessionId);
|
|
11
|
-
let lastOutput = "";
|
|
12
|
-
const interval = setInterval(() => {
|
|
13
|
-
try {
|
|
14
|
-
const raw = capturePaneOutput(tmuxTarget);
|
|
15
|
-
if (raw !== lastOutput) {
|
|
16
|
-
lastOutput = raw;
|
|
17
|
-
// Convert \n to \r\n for xterm.js (expects carriage return + newline)
|
|
18
|
-
const output = raw.replace(/\n/g, "\r\n");
|
|
19
|
-
if (ws.readyState === WebSocket.OPEN) {
|
|
20
|
-
ws.send(JSON.stringify({
|
|
21
|
-
type: "terminal-output",
|
|
22
|
-
payload: { sessionId, data: output },
|
|
23
|
-
}));
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
catch {
|
|
28
|
-
stopTerminalBridge(sessionId);
|
|
29
|
-
}
|
|
30
|
-
}, TERMINAL_POLL_INTERVAL_MS);
|
|
31
|
-
activeBridges.set(sessionId, interval);
|
|
32
|
-
console.log(`Terminal bridge started for ${sessionId}`);
|
|
33
|
-
}
|
|
34
|
-
export function stopTerminalBridge(sessionId) {
|
|
35
|
-
const interval = activeBridges.get(sessionId);
|
|
36
|
-
if (interval) {
|
|
37
|
-
clearInterval(interval);
|
|
38
|
-
activeBridges.delete(sessionId);
|
|
39
|
-
console.log(`Terminal bridge stopped for ${sessionId}`);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=terminalBridge.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"terminalBridge.js","sourceRoot":"","sources":["../src/terminalBridge.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,IAAI,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,aAAa,GAAG,IAAI,GAAG,EAA0B,CAAC;AAExD,MAAM,UAAU,mBAAmB,CACjC,SAAiB,EACjB,UAAkB,EAClB,EAAa;IAEb,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,+BAA+B,SAAS,sBAAsB,CAAC,CAAC;QAC5E,OAAO;IACT,CAAC;IAED,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC9B,IAAI,UAAU,GAAG,EAAE,CAAC;IAEpB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;QAChC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAC1C,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;gBACvB,UAAU,GAAG,GAAG,CAAC;gBACjB,sEAAsE;gBACtE,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAC1C,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;oBACrC,EAAE,CAAC,IAAI,CACL,IAAI,CAAC,SAAS,CAAC;wBACb,IAAI,EAAE,iBAAiB;wBACvB,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE;qBACrC,CAAC,CACH,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,EAAE,yBAAyB,CAAC,CAAC;IAE9B,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,+BAA+B,SAAS,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC9C,IAAI,QAAQ,EAAE,CAAC;QACb,aAAa,CAAC,QAAQ,CAAC,CAAC;QACxB,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,+BAA+B,SAAS,EAAE,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC"}
|
package/dist/tmux.d.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/** Sanitize a string for safe use inside single-quoted shell arguments.
|
|
2
|
-
* Replaces ' with '\'' (end quote, escaped quote, start quote). */
|
|
3
|
-
export declare function sanitizeShellArg(s: string): string;
|
|
4
|
-
/** Check if tmux server is running and accessible */
|
|
5
|
-
export declare function isTmuxAvailable(): boolean;
|
|
6
|
-
export declare function buildCreateSessionCmd(sessionName: string, cwd: string): string;
|
|
7
|
-
export declare function buildCreateWindowCmd(sessionName: string, windowName: string, cwd: string): string;
|
|
8
|
-
export declare function buildSendKeysCmd(target: string, keys: string): string;
|
|
9
|
-
/** Send a user message as literal text followed by Enter.
|
|
10
|
-
* Uses the same approach as spawn.ts (non-hex mode + Enter key name),
|
|
11
|
-
* which is more reliable than hex encoding for multi-character messages. */
|
|
12
|
-
export declare function buildSendMessageCmd(target: string, message: string): string;
|
|
13
|
-
export declare function sendMessage(target: string, message: string): void;
|
|
14
|
-
export declare function buildCapturePaneCmd(target: string): string;
|
|
15
|
-
export declare function tmuxExec(cmd: string): string;
|
|
16
|
-
export declare function tmuxSessionExists(sessionName: string): boolean;
|
|
17
|
-
export declare function capturePaneOutput(target: string): string;
|
|
18
|
-
export declare function sendKeys(target: string, input: string): void;
|
|
19
|
-
export declare function createSession(sessionName: string, cwd: string): void;
|
|
20
|
-
export declare function createWindow(sessionName: string, windowName: string, cwd: string): void;
|
|
21
|
-
//# sourceMappingURL=tmux.d.ts.map
|
package/dist/tmux.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tmux.d.ts","sourceRoot":"","sources":["../src/tmux.ts"],"names":[],"mappings":"AAEA;oEACoE;AACpE,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,qDAAqD;AACrD,wBAAgB,eAAe,IAAI,OAAO,CAWzC;AAGD,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,MAAM,GACV,MAAM,CAER;AAED,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,GACV,MAAM,CAER;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAOrE;AAED;;6EAE6E;AAC7E,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAK3E;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAIjE;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAG1D;AAGD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO5C;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAS9D;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAE5D;AAED,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAIpE;AAED,wBAAgB,YAAY,CAC1B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,GACV,IAAI,CAEN"}
|
package/dist/tmux.js
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { execSync } from "node:child_process";
|
|
2
|
-
/** Sanitize a string for safe use inside single-quoted shell arguments.
|
|
3
|
-
* Replaces ' with '\'' (end quote, escaped quote, start quote). */
|
|
4
|
-
export function sanitizeShellArg(s) {
|
|
5
|
-
return s.replace(/'/g, "'\\''");
|
|
6
|
-
}
|
|
7
|
-
/** Check if tmux server is running and accessible */
|
|
8
|
-
export function isTmuxAvailable() {
|
|
9
|
-
try {
|
|
10
|
-
execSync("tmux list-sessions", {
|
|
11
|
-
encoding: "utf-8",
|
|
12
|
-
timeout: 3000,
|
|
13
|
-
stdio: "pipe",
|
|
14
|
-
});
|
|
15
|
-
return true;
|
|
16
|
-
}
|
|
17
|
-
catch {
|
|
18
|
-
return false;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
// Command builders (pure functions, testable)
|
|
22
|
-
export function buildCreateSessionCmd(sessionName, cwd) {
|
|
23
|
-
return `tmux new-session -d -s '${sanitizeShellArg(sessionName)}' -c '${sanitizeShellArg(cwd)}'`;
|
|
24
|
-
}
|
|
25
|
-
export function buildCreateWindowCmd(sessionName, windowName, cwd) {
|
|
26
|
-
return `tmux new-window -t '${sanitizeShellArg(sessionName)}' -n '${sanitizeShellArg(windowName)}' -c '${sanitizeShellArg(cwd)}'`;
|
|
27
|
-
}
|
|
28
|
-
export function buildSendKeysCmd(target, keys) {
|
|
29
|
-
// Convert raw bytes to hex for tmux send-keys -H
|
|
30
|
-
// This sends exact bytes without tmux interpreting key names or appending Enter
|
|
31
|
-
const hex = Array.from(Buffer.from(keys))
|
|
32
|
-
.map((b) => b.toString(16).padStart(2, "0"))
|
|
33
|
-
.join(" ");
|
|
34
|
-
return `tmux send-keys -t '${sanitizeShellArg(target)}' -H ${hex}`;
|
|
35
|
-
}
|
|
36
|
-
/** Send a user message as literal text followed by Enter.
|
|
37
|
-
* Uses the same approach as spawn.ts (non-hex mode + Enter key name),
|
|
38
|
-
* which is more reliable than hex encoding for multi-character messages. */
|
|
39
|
-
export function buildSendMessageCmd(target, message) {
|
|
40
|
-
// Matches spawn.ts approach: pass text as quoted arg then Enter key name.
|
|
41
|
-
// Avoids -H hex mode (which can drop bytes for long messages) and -l flag
|
|
42
|
-
// (not universally supported across tmux versions).
|
|
43
|
-
return `tmux send-keys -t '${sanitizeShellArg(target)}' '${sanitizeShellArg(message)}' Enter`;
|
|
44
|
-
}
|
|
45
|
-
export function sendMessage(target, message) {
|
|
46
|
-
const cmd = buildSendMessageCmd(target, message);
|
|
47
|
-
console.log(`[sendMessage] cmd: ${cmd}`);
|
|
48
|
-
tmuxExec(cmd);
|
|
49
|
-
}
|
|
50
|
-
export function buildCapturePaneCmd(target) {
|
|
51
|
-
// -e preserves ANSI escape sequences (colors, bold, etc.) for xterm.js rendering
|
|
52
|
-
return `tmux capture-pane -t '${sanitizeShellArg(target)}' -p -e -S -`;
|
|
53
|
-
}
|
|
54
|
-
// Executors (side effects)
|
|
55
|
-
export function tmuxExec(cmd) {
|
|
56
|
-
try {
|
|
57
|
-
return execSync(cmd, { encoding: "utf-8", timeout: 5000 });
|
|
58
|
-
}
|
|
59
|
-
catch (e) {
|
|
60
|
-
const msg = e instanceof Error ? e.message : String(e);
|
|
61
|
-
throw new Error(`tmux command failed: ${msg}`);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
export function tmuxSessionExists(sessionName) {
|
|
65
|
-
try {
|
|
66
|
-
execSync(`tmux has-session -t '${sanitizeShellArg(sessionName)}'`, {
|
|
67
|
-
timeout: 3000,
|
|
68
|
-
});
|
|
69
|
-
return true;
|
|
70
|
-
}
|
|
71
|
-
catch {
|
|
72
|
-
return false;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
export function capturePaneOutput(target) {
|
|
76
|
-
return tmuxExec(buildCapturePaneCmd(target));
|
|
77
|
-
}
|
|
78
|
-
export function sendKeys(target, input) {
|
|
79
|
-
tmuxExec(buildSendKeysCmd(target, input));
|
|
80
|
-
}
|
|
81
|
-
export function createSession(sessionName, cwd) {
|
|
82
|
-
if (!tmuxSessionExists(sessionName)) {
|
|
83
|
-
tmuxExec(buildCreateSessionCmd(sessionName, cwd));
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
export function createWindow(sessionName, windowName, cwd) {
|
|
87
|
-
tmuxExec(buildCreateWindowCmd(sessionName, windowName, cwd));
|
|
88
|
-
}
|
|
89
|
-
//# sourceMappingURL=tmux.js.map
|
package/dist/tmux.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tmux.js","sourceRoot":"","sources":["../src/tmux.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../src/transcriptAdapters/claude-code.ts"],"names":[],"mappings":"AAKA,OAAO,EAAmB,KAAK,iBAAiB,EAAoB,MAAM,YAAY,CAAC;AA0FvF,eAAO,MAAM,iBAAiB,EAAE,iBAuC/B,CAAC"}
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
// packages/agent/src/transcriptAdapters/claude-code.ts
|
|
2
|
-
import { existsSync, readdirSync, readFileSync, statSync } from "node:fs";
|
|
3
|
-
import { join } from "node:path";
|
|
4
|
-
import { homedir } from "node:os";
|
|
5
|
-
import { registerAdapter } from "./index.js";
|
|
6
|
-
function truncate(s, max) {
|
|
7
|
-
if (!s)
|
|
8
|
-
return "";
|
|
9
|
-
return s.length > max ? s.slice(0, max) + "..." : s;
|
|
10
|
-
}
|
|
11
|
-
function summarizeToolInput(toolName, input) {
|
|
12
|
-
if (!input)
|
|
13
|
-
return {};
|
|
14
|
-
switch (toolName) {
|
|
15
|
-
case "Read": return { file_path: input.file_path };
|
|
16
|
-
case "Write": return { file_path: input.file_path, content: truncate(input.content, 100) };
|
|
17
|
-
case "Edit": return { file_path: input.file_path, old_string: truncate(input.old_string, 80), new_string: truncate(input.new_string, 80) };
|
|
18
|
-
case "Bash": return { command: truncate(input.command, 200) };
|
|
19
|
-
case "Grep": return { pattern: input.pattern, path: input.path };
|
|
20
|
-
case "Glob": return { pattern: input.pattern, path: input.path };
|
|
21
|
-
case "Agent": return { description: input.description, subagent_type: input.subagent_type };
|
|
22
|
-
default:
|
|
23
|
-
return Object.fromEntries(Object.entries(input).slice(0, 3).map(([k, v]) => [k, typeof v === "string" ? truncate(v, 100) : v]));
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
function parseContent(content) {
|
|
27
|
-
if (!content)
|
|
28
|
-
return [];
|
|
29
|
-
if (typeof content === "string")
|
|
30
|
-
return content.trim() ? [{ type: "text", text: content }] : [];
|
|
31
|
-
if (!Array.isArray(content))
|
|
32
|
-
return [];
|
|
33
|
-
const result = [];
|
|
34
|
-
for (const block of content) {
|
|
35
|
-
if (block.type === "text" && block.text?.trim()) {
|
|
36
|
-
result.push({ type: "text", text: block.text });
|
|
37
|
-
}
|
|
38
|
-
else if (block.type === "thinking" && block.thinking?.trim()) {
|
|
39
|
-
result.push({ type: "thinking", text: block.thinking });
|
|
40
|
-
}
|
|
41
|
-
else if (block.type === "tool_use") {
|
|
42
|
-
result.push({ type: "tool_use", toolName: block.name ?? "", toolInput: summarizeToolInput(block.name, block.input) });
|
|
43
|
-
}
|
|
44
|
-
else if (block.type === "tool_result") {
|
|
45
|
-
const text = typeof block.content === "string"
|
|
46
|
-
? block.content
|
|
47
|
-
: Array.isArray(block.content)
|
|
48
|
-
? block.content.filter((c) => c.type === "text").map((c) => c.text).join("\n")
|
|
49
|
-
: "";
|
|
50
|
-
if (text.trim())
|
|
51
|
-
result.push({ type: "tool_result", text: truncate(text, 500) });
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
return result;
|
|
55
|
-
}
|
|
56
|
-
function parseRecord(record) {
|
|
57
|
-
if (!record.type || !record.uuid)
|
|
58
|
-
return null;
|
|
59
|
-
if (record.type === "user" && record.message) {
|
|
60
|
-
const content = parseContent(record.message.content);
|
|
61
|
-
if (!content.some((c) => c.type === "text" || c.type === "thinking"))
|
|
62
|
-
return null;
|
|
63
|
-
const textOnly = content.filter((c) => c.type === "text");
|
|
64
|
-
const firstText = textOnly[0]?.text || "";
|
|
65
|
-
if (firstText.startsWith("This session is being continued") ||
|
|
66
|
-
firstText.startsWith("<system-reminder>") ||
|
|
67
|
-
firstText.startsWith("Conversation compacted") ||
|
|
68
|
-
firstText.startsWith("Base directory for this skill:") ||
|
|
69
|
-
firstText.startsWith("# "))
|
|
70
|
-
return null;
|
|
71
|
-
return { id: record.uuid, role: "user", timestamp: record.timestamp || "", content: textOnly };
|
|
72
|
-
}
|
|
73
|
-
if (record.type === "assistant" && record.message) {
|
|
74
|
-
const content = parseContent(record.message.content);
|
|
75
|
-
if (content.length === 0)
|
|
76
|
-
return null;
|
|
77
|
-
return {
|
|
78
|
-
id: record.uuid,
|
|
79
|
-
role: "assistant",
|
|
80
|
-
timestamp: record.timestamp || "",
|
|
81
|
-
content,
|
|
82
|
-
model: record.message.model,
|
|
83
|
-
usage: record.message.usage
|
|
84
|
-
? { input_tokens: record.message.usage.input_tokens || 0, output_tokens: record.message.usage.output_tokens || 0 }
|
|
85
|
-
: undefined,
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
if (record.type === "system" && record.content && record.subtype !== "local_command") {
|
|
89
|
-
const text = typeof record.content === "string" ? record.content.replace(/<[^>]+>/g, "").trim() : "";
|
|
90
|
-
if (!text || text.length < 5)
|
|
91
|
-
return null;
|
|
92
|
-
return { id: record.uuid, role: "system", timestamp: record.timestamp || "", content: [{ type: "text", text }] };
|
|
93
|
-
}
|
|
94
|
-
return null;
|
|
95
|
-
}
|
|
96
|
-
export const claudeCodeAdapter = {
|
|
97
|
-
findFile(session, homeDir = homedir()) {
|
|
98
|
-
const projectDirName = session.cwd.replace(/\/+$/, "").replace(/\//g, "-");
|
|
99
|
-
const projPath = join(homeDir, ".claude", "projects", projectDirName);
|
|
100
|
-
if (!existsSync(projPath))
|
|
101
|
-
return null;
|
|
102
|
-
try {
|
|
103
|
-
const files = readdirSync(projPath).filter((f) => f.endsWith(".jsonl"));
|
|
104
|
-
let latest = null;
|
|
105
|
-
for (const file of files) {
|
|
106
|
-
const filePath = join(projPath, file);
|
|
107
|
-
try {
|
|
108
|
-
const { mtimeMs } = statSync(filePath);
|
|
109
|
-
if (!latest || mtimeMs > latest.mtime)
|
|
110
|
-
latest = { path: filePath, mtime: mtimeMs };
|
|
111
|
-
}
|
|
112
|
-
catch {
|
|
113
|
-
continue;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
return latest?.path ?? null;
|
|
117
|
-
}
|
|
118
|
-
catch {
|
|
119
|
-
return null;
|
|
120
|
-
}
|
|
121
|
-
},
|
|
122
|
-
parse(filePath, cursor, limit) {
|
|
123
|
-
try {
|
|
124
|
-
const content = readFileSync(filePath, "utf-8");
|
|
125
|
-
const lines = content.split("\n").filter((l) => l.trim());
|
|
126
|
-
const messages = [];
|
|
127
|
-
for (const line of lines) {
|
|
128
|
-
try {
|
|
129
|
-
const record = JSON.parse(line);
|
|
130
|
-
const msg = parseRecord(record);
|
|
131
|
-
if (msg)
|
|
132
|
-
messages.push(msg);
|
|
133
|
-
}
|
|
134
|
-
catch { /* skip malformed lines */ }
|
|
135
|
-
}
|
|
136
|
-
const total = messages.length;
|
|
137
|
-
const page = messages.slice(cursor, cursor + limit);
|
|
138
|
-
const nextCursor = cursor + page.length;
|
|
139
|
-
return { messages: page, total, hasMore: nextCursor < total, nextCursor };
|
|
140
|
-
}
|
|
141
|
-
catch {
|
|
142
|
-
return { messages: [], total: 0, hasMore: false, nextCursor: 0 };
|
|
143
|
-
}
|
|
144
|
-
},
|
|
145
|
-
};
|
|
146
|
-
registerAdapter("claude-code", claudeCodeAdapter);
|
|
147
|
-
//# sourceMappingURL=claude-code.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/transcriptAdapters/claude-code.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../src/transcriptAdapters/codex.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,iBAAiB,EAEvB,MAAM,YAAY,CAAC;AAwKpB,eAAO,MAAM,YAAY,EAAE,iBAmF1B,CAAC"}
|