orquesta-agent 0.2.211 → 0.2.213
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/claude-transcript.d.ts +28 -0
- package/dist/claude-transcript.d.ts.map +1 -0
- package/dist/claude-transcript.js +249 -0
- package/dist/claude-transcript.js.map +1 -0
- package/dist/daemon.d.ts +18 -0
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +59 -42
- package/dist/daemon.js.map +1 -1
- package/dist/executor.d.ts +1 -0
- package/dist/executor.d.ts.map +1 -1
- package/dist/executor.js +122 -15
- package/dist/executor.js.map +1 -1
- package/dist/index.js +8 -1
- package/dist/index.js.map +1 -1
- package/dist/supabase.d.ts +10 -0
- package/dist/supabase.d.ts.map +1 -1
- package/dist/supabase.js +25 -0
- package/dist/supabase.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { AgentLogEntry } from './types/agent-logs.js';
|
|
2
|
+
interface TailerHandle {
|
|
3
|
+
stop: () => void;
|
|
4
|
+
}
|
|
5
|
+
export interface StartTranscriptTailOptions {
|
|
6
|
+
/** Exact `<id>.jsonl` to watch (the --session-id we passed), or null on resume. */
|
|
7
|
+
sessionFileId: string | null;
|
|
8
|
+
/** Session start epoch ms — used to pick the newest file on the resume path. */
|
|
9
|
+
startedAtMs: number;
|
|
10
|
+
/**
|
|
11
|
+
* Returns the prompt id the dashboard currently has open for THIS turn, so the
|
|
12
|
+
* broadcast log can be tagged. May be undefined between turns; entries are still
|
|
13
|
+
* broadcast (the dashboard attaches them to its active prompt).
|
|
14
|
+
*/
|
|
15
|
+
getPromptId: () => string | undefined;
|
|
16
|
+
/** Called for every structured entry parsed from the transcript. */
|
|
17
|
+
onLog: (entry: AgentLogEntry) => void;
|
|
18
|
+
/** Optional logger for diagnostics (best-effort, never throws). */
|
|
19
|
+
log?: (msg: string) => void;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Begin tailing the Claude transcript for a session. Returns a handle with
|
|
23
|
+
* `stop()`. Safe to call even if the file never appears — it self-cancels after
|
|
24
|
+
* DISCOVERY_TIMEOUT_MS. Never throws.
|
|
25
|
+
*/
|
|
26
|
+
export declare function startTranscriptTail(opts: StartTranscriptTailOptions): TailerHandle;
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=claude-transcript.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-transcript.d.ts","sourceRoot":"","sources":["../src/claude-transcript.ts"],"names":[],"mappings":"AA8BA,OAAO,EACL,aAAa,EAKd,MAAM,uBAAuB,CAAA;AAO9B,UAAU,YAAY;IACpB,IAAI,EAAE,MAAM,IAAI,CAAA;CACjB;AAwID,MAAM,WAAW,0BAA0B;IACzC,mFAAmF;IACnF,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,gFAAgF;IAChF,WAAW,EAAE,MAAM,CAAA;IACnB;;;;OAIG;IACH,WAAW,EAAE,MAAM,MAAM,GAAG,SAAS,CAAA;IACrC,oEAAoE;IACpE,KAAK,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,CAAA;IACrC,mEAAmE;IACnE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,0BAA0B,GAAG,YAAY,CA+ElF"}
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude Code transcript tailer.
|
|
3
|
+
*
|
|
4
|
+
* Interactive `claude` sessions render their conversation as a TUI in the
|
|
5
|
+
* terminal's alternate screen. Scraping that screen (what the dashboard used to
|
|
6
|
+
* do) only ever recovered status-bar chrome and partial keystrokes — never the
|
|
7
|
+
* actual tool calls, results, or assistant text. So the persisted agent_logs for
|
|
8
|
+
* an interactive session were precarious noise.
|
|
9
|
+
*
|
|
10
|
+
* Claude Code ALSO writes a structured, append-only transcript to disk at
|
|
11
|
+
* ~/.claude/projects/<encoded-cwd>/<session-id>.jsonl
|
|
12
|
+
* — one JSON object per line: user turns, assistant turns (text + tool_use +
|
|
13
|
+
* thinking blocks), and tool_result turns. This module tails that file and maps
|
|
14
|
+
* each event to a structured AgentLogEntry, which the agent broadcasts so the
|
|
15
|
+
* dashboard can persist rich, structured logs (tool_call / tool_result / output /
|
|
16
|
+
* thinking) with a populated `details` column — exactly like dispatch/hook
|
|
17
|
+
* prompts.
|
|
18
|
+
*
|
|
19
|
+
* The agent pins the file name by passing `--session-id <uuid>` to claude, so we
|
|
20
|
+
* know precisely which file to watch. On `--continue` (resume) we can't control
|
|
21
|
+
* the id, so the caller passes `null` and we adopt the newest *.jsonl whose mtime
|
|
22
|
+
* is at/after the session start.
|
|
23
|
+
*
|
|
24
|
+
* Cross-platform: pure fs polling (no fs.watch — flaky on network/Windows FS),
|
|
25
|
+
* os.homedir() + path.join everywhere. Read-only, best-effort: any error is
|
|
26
|
+
* swallowed so a tailer hiccup can never disrupt the live session.
|
|
27
|
+
*/
|
|
28
|
+
import * as fs from 'fs';
|
|
29
|
+
import * as path from 'path';
|
|
30
|
+
import * as os from 'os';
|
|
31
|
+
import { createThinkingLog, createToolCallLog, createToolResultLog, createOutputLog, } from './types/agent-logs.js';
|
|
32
|
+
/** Poll cadence for both file discovery and tailing new bytes. */
|
|
33
|
+
const POLL_INTERVAL_MS = 500;
|
|
34
|
+
/** Give up waiting for the transcript file to appear after this long. */
|
|
35
|
+
const DISCOVERY_TIMEOUT_MS = 60_000;
|
|
36
|
+
/** Root dir where Claude Code stores per-project transcripts. */
|
|
37
|
+
function claudeProjectsRoot() {
|
|
38
|
+
return path.join(os.homedir(), '.claude', 'projects');
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Find the transcript file for this session.
|
|
42
|
+
* - When `sessionFileId` is set, the file is `<sessionFileId>.jsonl` under SOME
|
|
43
|
+
* project subdir (the encoding of cwd → dir name is claude-internal, so we glob
|
|
44
|
+
* by name across project dirs rather than recompute it).
|
|
45
|
+
* - Otherwise (resume) pick the newest *.jsonl modified at/after `sinceMs`.
|
|
46
|
+
*/
|
|
47
|
+
function findTranscriptFile(sessionFileId, sinceMs) {
|
|
48
|
+
const root = claudeProjectsRoot();
|
|
49
|
+
let projectDirs;
|
|
50
|
+
try {
|
|
51
|
+
projectDirs = fs.readdirSync(root).map(d => path.join(root, d));
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
return null; // ~/.claude/projects doesn't exist yet
|
|
55
|
+
}
|
|
56
|
+
if (sessionFileId) {
|
|
57
|
+
const target = `${sessionFileId}.jsonl`;
|
|
58
|
+
for (const dir of projectDirs) {
|
|
59
|
+
const candidate = path.join(dir, target);
|
|
60
|
+
try {
|
|
61
|
+
if (fs.statSync(candidate).isFile())
|
|
62
|
+
return candidate;
|
|
63
|
+
}
|
|
64
|
+
catch { /* not in this project dir */ }
|
|
65
|
+
}
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
// Resume path: newest jsonl touched since the session started.
|
|
69
|
+
let newest = null;
|
|
70
|
+
for (const dir of projectDirs) {
|
|
71
|
+
let entries;
|
|
72
|
+
try {
|
|
73
|
+
entries = fs.readdirSync(dir);
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
for (const name of entries) {
|
|
79
|
+
if (!name.endsWith('.jsonl'))
|
|
80
|
+
continue;
|
|
81
|
+
const file = path.join(dir, name);
|
|
82
|
+
try {
|
|
83
|
+
const st = fs.statSync(file);
|
|
84
|
+
if (!st.isFile() || st.mtimeMs < sinceMs - 2000)
|
|
85
|
+
continue;
|
|
86
|
+
if (!newest || st.mtimeMs > newest.mtimeMs)
|
|
87
|
+
newest = { file, mtimeMs: st.mtimeMs };
|
|
88
|
+
}
|
|
89
|
+
catch { /* race: file vanished */ }
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return newest?.file ?? null;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Map one parsed transcript JSON object to zero or more structured log entries.
|
|
96
|
+
* `toolNames` carries tool_use_id → tool name across turns so a later
|
|
97
|
+
* tool_result (which only references the id) can be labelled with its tool.
|
|
98
|
+
*/
|
|
99
|
+
function mapTranscriptEntry(obj, promptId, toolNames) {
|
|
100
|
+
const out = [];
|
|
101
|
+
const type = obj.type;
|
|
102
|
+
const message = obj.message;
|
|
103
|
+
if (!message || !Array.isArray(message.content)) {
|
|
104
|
+
// Some lines (summary/system) have no message content — nothing to log.
|
|
105
|
+
return out;
|
|
106
|
+
}
|
|
107
|
+
const content = message.content;
|
|
108
|
+
if (type === 'assistant') {
|
|
109
|
+
for (const block of content) {
|
|
110
|
+
const btype = block.type;
|
|
111
|
+
if (btype === 'text' && typeof block.text === 'string' && block.text.trim()) {
|
|
112
|
+
out.push(createOutputLog(block.text, 'markdown', 'info', promptId));
|
|
113
|
+
}
|
|
114
|
+
else if (btype === 'thinking' && typeof block.thinking === 'string' && block.thinking.trim()) {
|
|
115
|
+
out.push(createThinkingLog(block.thinking, 'info', promptId));
|
|
116
|
+
}
|
|
117
|
+
else if (btype === 'tool_use' && typeof block.name === 'string') {
|
|
118
|
+
const id = typeof block.id === 'string' ? block.id : undefined;
|
|
119
|
+
if (id)
|
|
120
|
+
toolNames.set(id, block.name);
|
|
121
|
+
out.push(createToolCallLog(block.name, block.input || {}, 'info', promptId, id));
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
else if (type === 'user') {
|
|
126
|
+
// User turns are either the operator's prompt (skip — we already have it as
|
|
127
|
+
// the prompt content) or tool_result blocks coming back from a prior call.
|
|
128
|
+
for (const block of content) {
|
|
129
|
+
if (block.type !== 'tool_result')
|
|
130
|
+
continue;
|
|
131
|
+
const id = typeof block.tool_use_id === 'string' ? block.tool_use_id : undefined;
|
|
132
|
+
const name = (id && toolNames.get(id)) || 'tool';
|
|
133
|
+
const isError = block.is_error === true;
|
|
134
|
+
out.push(createToolResultLog(name, !isError, isError ? undefined : stringifyToolResult(block.content), isError ? stringifyToolResult(block.content) : undefined, undefined, promptId, id));
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
return out;
|
|
138
|
+
}
|
|
139
|
+
/** Tool result content can be a string or an array of {type:'text',text} blocks. */
|
|
140
|
+
function stringifyToolResult(content) {
|
|
141
|
+
if (typeof content === 'string')
|
|
142
|
+
return content;
|
|
143
|
+
if (Array.isArray(content)) {
|
|
144
|
+
return content
|
|
145
|
+
.map(c => {
|
|
146
|
+
if (typeof c === 'string')
|
|
147
|
+
return c;
|
|
148
|
+
if (c && typeof c === 'object' && typeof c.text === 'string') {
|
|
149
|
+
return c.text;
|
|
150
|
+
}
|
|
151
|
+
return '';
|
|
152
|
+
})
|
|
153
|
+
.filter(Boolean)
|
|
154
|
+
.join('\n');
|
|
155
|
+
}
|
|
156
|
+
return '';
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Begin tailing the Claude transcript for a session. Returns a handle with
|
|
160
|
+
* `stop()`. Safe to call even if the file never appears — it self-cancels after
|
|
161
|
+
* DISCOVERY_TIMEOUT_MS. Never throws.
|
|
162
|
+
*/
|
|
163
|
+
export function startTranscriptTail(opts) {
|
|
164
|
+
let stopped = false;
|
|
165
|
+
let timer = null;
|
|
166
|
+
let resolvedFile = null;
|
|
167
|
+
let offset = 0;
|
|
168
|
+
let partial = '';
|
|
169
|
+
const toolNames = new Map();
|
|
170
|
+
const discoveryDeadline = opts.startedAtMs + DISCOVERY_TIMEOUT_MS;
|
|
171
|
+
const schedule = () => {
|
|
172
|
+
if (stopped)
|
|
173
|
+
return;
|
|
174
|
+
timer = setTimeout(tick, POLL_INTERVAL_MS);
|
|
175
|
+
};
|
|
176
|
+
const tick = () => {
|
|
177
|
+
if (stopped)
|
|
178
|
+
return;
|
|
179
|
+
try {
|
|
180
|
+
if (!resolvedFile) {
|
|
181
|
+
resolvedFile = findTranscriptFile(opts.sessionFileId, opts.startedAtMs);
|
|
182
|
+
if (!resolvedFile) {
|
|
183
|
+
if (Date.now() > discoveryDeadline) {
|
|
184
|
+
opts.log?.('[transcript] file never appeared — giving up');
|
|
185
|
+
stopped = true;
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
return schedule();
|
|
189
|
+
}
|
|
190
|
+
opts.log?.(`[transcript] tailing ${resolvedFile}`);
|
|
191
|
+
}
|
|
192
|
+
// Read any bytes appended since last offset.
|
|
193
|
+
const st = fs.statSync(resolvedFile);
|
|
194
|
+
if (st.size < offset) {
|
|
195
|
+
// File truncated/rotated — restart from the top.
|
|
196
|
+
offset = 0;
|
|
197
|
+
partial = '';
|
|
198
|
+
}
|
|
199
|
+
if (st.size > offset) {
|
|
200
|
+
const fd = fs.openSync(resolvedFile, 'r');
|
|
201
|
+
try {
|
|
202
|
+
const len = st.size - offset;
|
|
203
|
+
const buf = Buffer.alloc(len);
|
|
204
|
+
fs.readSync(fd, buf, 0, len, offset);
|
|
205
|
+
offset = st.size;
|
|
206
|
+
partial += buf.toString('utf-8');
|
|
207
|
+
}
|
|
208
|
+
finally {
|
|
209
|
+
fs.closeSync(fd);
|
|
210
|
+
}
|
|
211
|
+
// Process complete lines; keep the trailing partial for next tick.
|
|
212
|
+
const lines = partial.split('\n');
|
|
213
|
+
partial = lines.pop() ?? '';
|
|
214
|
+
const promptId = opts.getPromptId();
|
|
215
|
+
for (const line of lines) {
|
|
216
|
+
const trimmed = line.trim();
|
|
217
|
+
if (!trimmed)
|
|
218
|
+
continue;
|
|
219
|
+
let obj;
|
|
220
|
+
try {
|
|
221
|
+
obj = JSON.parse(trimmed);
|
|
222
|
+
}
|
|
223
|
+
catch {
|
|
224
|
+
continue; // partial/corrupt line — skip
|
|
225
|
+
}
|
|
226
|
+
for (const entry of mapTranscriptEntry(obj, promptId, toolNames)) {
|
|
227
|
+
try {
|
|
228
|
+
opts.onLog(entry);
|
|
229
|
+
}
|
|
230
|
+
catch { /* sink swallows */ }
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
catch (err) {
|
|
236
|
+
opts.log?.(`[transcript] tick error: ${err instanceof Error ? err.message : String(err)}`);
|
|
237
|
+
}
|
|
238
|
+
schedule();
|
|
239
|
+
};
|
|
240
|
+
schedule();
|
|
241
|
+
return {
|
|
242
|
+
stop: () => {
|
|
243
|
+
stopped = true;
|
|
244
|
+
if (timer)
|
|
245
|
+
clearTimeout(timer);
|
|
246
|
+
},
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
//# sourceMappingURL=claude-transcript.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude-transcript.js","sourceRoot":"","sources":["../src/claude-transcript.ts"],"names":[],"mappings":"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"}
|
package/dist/daemon.d.ts
CHANGED
|
@@ -2,6 +2,24 @@
|
|
|
2
2
|
* Daemon mode for orquesta-agent
|
|
3
3
|
* Provides automatic restart functionality similar to systemd
|
|
4
4
|
*/
|
|
5
|
+
/**
|
|
6
|
+
* Single-instance guard: ensure only ONE orquesta-agent runs per token on this
|
|
7
|
+
* host. Returns true if it's safe to proceed, false if a live duplicate already
|
|
8
|
+
* holds the lock and the caller should exit. Keyed by a token HASH (never the
|
|
9
|
+
* token). Best-effort: any error lets startup proceed.
|
|
10
|
+
*
|
|
11
|
+
* History — why this moved out of startDaemon and now REFUSES by default: the
|
|
12
|
+
* guard used to live inline in startDaemon(), only WARNed, and only ran in
|
|
13
|
+
* --daemon mode. A server started via `npx -y orquesta-agent` (no --daemon)
|
|
14
|
+
* bypassed it entirely, and the agent's self-update restart left the old process
|
|
15
|
+
* alive → 3 racing daemons all double-dispatching on agent:project-{id} with a
|
|
16
|
+
* frozen heartbeat (EHive DLM field report 2026-06-15). Now it's callable from
|
|
17
|
+
* BOTH connect() (direct run) and startDaemon() (daemon parent), and refuses by
|
|
18
|
+
* default. systemd serializes restarts (old exits before new starts) so refusing
|
|
19
|
+
* never strands a managed agent; the pileup it stops is the npx/manual footgun.
|
|
20
|
+
* Opt out with ORQUESTA_ALLOW_DUPLICATE=1 to fall back to a warning.
|
|
21
|
+
*/
|
|
22
|
+
export declare function acquireSingleInstanceLock(token: string): boolean;
|
|
5
23
|
interface DaemonOptions {
|
|
6
24
|
args: string[];
|
|
7
25
|
maxRestarts?: number;
|
package/dist/daemon.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA2BH;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CA4BhE;AA4ID,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAuCD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAsLxD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAEvC"}
|
package/dist/daemon.js
CHANGED
|
@@ -31,6 +31,59 @@ function isOrquestaAgentPid(pid) {
|
|
|
31
31
|
return false; // can't verify — don't block startup
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* Single-instance guard: ensure only ONE orquesta-agent runs per token on this
|
|
36
|
+
* host. Returns true if it's safe to proceed, false if a live duplicate already
|
|
37
|
+
* holds the lock and the caller should exit. Keyed by a token HASH (never the
|
|
38
|
+
* token). Best-effort: any error lets startup proceed.
|
|
39
|
+
*
|
|
40
|
+
* History — why this moved out of startDaemon and now REFUSES by default: the
|
|
41
|
+
* guard used to live inline in startDaemon(), only WARNed, and only ran in
|
|
42
|
+
* --daemon mode. A server started via `npx -y orquesta-agent` (no --daemon)
|
|
43
|
+
* bypassed it entirely, and the agent's self-update restart left the old process
|
|
44
|
+
* alive → 3 racing daemons all double-dispatching on agent:project-{id} with a
|
|
45
|
+
* frozen heartbeat (EHive DLM field report 2026-06-15). Now it's callable from
|
|
46
|
+
* BOTH connect() (direct run) and startDaemon() (daemon parent), and refuses by
|
|
47
|
+
* default. systemd serializes restarts (old exits before new starts) so refusing
|
|
48
|
+
* never strands a managed agent; the pileup it stops is the npx/manual footgun.
|
|
49
|
+
* Opt out with ORQUESTA_ALLOW_DUPLICATE=1 to fall back to a warning.
|
|
50
|
+
*/
|
|
51
|
+
export function acquireSingleInstanceLock(token) {
|
|
52
|
+
if (!token || token.startsWith('-'))
|
|
53
|
+
return true; // nothing to key on — proceed
|
|
54
|
+
try {
|
|
55
|
+
const lockDir = path.join(os.homedir(), '.orquesta', 'locks');
|
|
56
|
+
fs.mkdirSync(lockDir, { recursive: true });
|
|
57
|
+
const lockFile = path.join(lockDir, `agent-${crypto.createHash('sha256').update(token).digest('hex').slice(0, 16)}.lock`);
|
|
58
|
+
if (fs.existsSync(lockFile)) {
|
|
59
|
+
const existingPid = parseInt(fs.readFileSync(lockFile, 'utf-8').trim(), 10);
|
|
60
|
+
if (existingPid && existingPid !== process.pid && isOrquestaAgentPid(existingPid)) {
|
|
61
|
+
const msg = `DUPLICATE AGENT: another orquesta-agent (pid ${existingPid}) is already running for THIS token — both would double-execute every prompt.`;
|
|
62
|
+
// ORQUESTA_DUP_LOCK_FATAL is honored for back-compat but now redundant
|
|
63
|
+
// (refuse is the default). ORQUESTA_ALLOW_DUPLICATE is the new escape hatch.
|
|
64
|
+
if (/^(1|true|yes|on)$/i.test(process.env.ORQUESTA_ALLOW_DUPLICATE || '')) {
|
|
65
|
+
logger.warn(`${msg} Continuing anyway (ORQUESTA_ALLOW_DUPLICATE set).`);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
logger.error(`${msg} Refusing to start — kill the old one (kill ${existingPid}) or set ORQUESTA_ALLOW_DUPLICATE=1 to allow both.`);
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
// stale lock (dead/foreign pid) or duplicate-allowed → (re)claim it below.
|
|
73
|
+
}
|
|
74
|
+
fs.writeFileSync(lockFile, String(process.pid), 'utf-8');
|
|
75
|
+
const releaseLock = () => {
|
|
76
|
+
try {
|
|
77
|
+
if (fs.readFileSync(lockFile, 'utf-8').trim() === String(process.pid))
|
|
78
|
+
fs.unlinkSync(lockFile);
|
|
79
|
+
}
|
|
80
|
+
catch { /* ignore */ }
|
|
81
|
+
};
|
|
82
|
+
process.on('exit', releaseLock);
|
|
83
|
+
}
|
|
84
|
+
catch { /* never block startup on lock errors */ }
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
34
87
|
const __filename = fileURLToPath(import.meta.url);
|
|
35
88
|
const __dirname = path.dirname(__filename);
|
|
36
89
|
// How often to check for updates while the agent is running (4 hours)
|
|
@@ -202,50 +255,14 @@ export function startDaemon(options) {
|
|
|
202
255
|
// to die silently ~15s after startup (0.2.178 regression). The child agent's
|
|
203
256
|
// process.title (set in index.ts after chdir) is safe and stays. Investigate
|
|
204
257
|
// the parent-title interaction before re-attempting (see field report 2026-06-09).
|
|
205
|
-
// Single-instance
|
|
206
|
-
//
|
|
207
|
-
//
|
|
208
|
-
//
|
|
209
|
-
let lockFile = '';
|
|
258
|
+
// Single-instance guard for the daemon PARENT (token-keyed). Refuses a second
|
|
259
|
+
// daemon for the same token; see acquireSingleInstanceLock. The child agent's
|
|
260
|
+
// own connect() also guards, but skips it when it's OUR daemon child (we already
|
|
261
|
+
// hold the lock) so the child never refuses against its own parent.
|
|
210
262
|
const tokenIdx = opts.args.indexOf('--token');
|
|
211
263
|
const lockToken = tokenIdx >= 0 ? opts.args[tokenIdx + 1] : '';
|
|
212
|
-
if (
|
|
213
|
-
|
|
214
|
-
const lockDir = path.join(os.homedir(), '.orquesta', 'locks');
|
|
215
|
-
fs.mkdirSync(lockDir, { recursive: true });
|
|
216
|
-
lockFile = path.join(lockDir, `agent-${crypto.createHash('sha256').update(lockToken).digest('hex').slice(0, 16)}.lock`);
|
|
217
|
-
if (fs.existsSync(lockFile)) {
|
|
218
|
-
const existingPid = parseInt(fs.readFileSync(lockFile, 'utf-8').trim(), 10);
|
|
219
|
-
if (existingPid && existingPid !== process.pid && isOrquestaAgentPid(existingPid)) {
|
|
220
|
-
const msg = `DUPLICATE DAEMON: another orquesta-agent (pid ${existingPid}) is already running for THIS token — both will double-execute every prompt. Kill the old one: kill ${existingPid}`;
|
|
221
|
-
// Default = WARN (a hard refuse could false-positive in a manual
|
|
222
|
-
// restart-during-shutdown). Opt-in strict mode REFUSES: systemd
|
|
223
|
-
// serializes restarts (old exits before new starts) so there's no race
|
|
224
|
-
// there, and an operator who sets the flag has accepted the trade-off.
|
|
225
|
-
// Rollback = unset the env var. The child agent's own startup is
|
|
226
|
-
// unaffected (this guards the daemon parent only).
|
|
227
|
-
if (/^(1|true|yes|on)$/i.test(process.env.ORQUESTA_DUP_LOCK_FATAL || '')) {
|
|
228
|
-
logger.error(`${msg} — refusing to start (ORQUESTA_DUP_LOCK_FATAL).`);
|
|
229
|
-
process.exit(1);
|
|
230
|
-
}
|
|
231
|
-
logger.warn(msg);
|
|
232
|
-
}
|
|
233
|
-
// stale lock (dead/foreign pid) or duplicate-warned — (re)claim it below.
|
|
234
|
-
}
|
|
235
|
-
fs.writeFileSync(lockFile, String(process.pid), 'utf-8');
|
|
236
|
-
const releaseLock = () => {
|
|
237
|
-
try {
|
|
238
|
-
if (lockFile && fs.readFileSync(lockFile, 'utf-8').trim() === String(process.pid))
|
|
239
|
-
fs.unlinkSync(lockFile);
|
|
240
|
-
}
|
|
241
|
-
catch { /* ignore */ }
|
|
242
|
-
};
|
|
243
|
-
process.on('exit', releaseLock);
|
|
244
|
-
}
|
|
245
|
-
catch {
|
|
246
|
-
lockFile = ''; /* never block startup on lock errors */
|
|
247
|
-
}
|
|
248
|
-
}
|
|
264
|
+
if (!acquireSingleInstanceLock(lockToken))
|
|
265
|
+
process.exit(1);
|
|
249
266
|
// NOTE: the installed version is read fresh via getCurrentVersion() at each
|
|
250
267
|
// update check (not captured once here) so a push-update isn't re-applied.
|
|
251
268
|
const state = {
|
package/dist/daemon.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAgB,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7D,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAChC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAA;AACnC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAErC;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,GAAW;IACrC,IAAI,CAAC;QAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,KAAK,CAAA;IAAC,CAAC,CAAC,0BAA0B;IAC9E,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,GAAG,UAAU,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QACpF,OAAO,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA,CAAC,qCAAqC;IACpD,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAa;IACrD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA,CAAC,8BAA8B;IAC/E,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;QAC7D,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAA;QACzH,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,MAAM,WAAW,GAAG,QAAQ,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;YAC3E,IAAI,WAAW,IAAI,WAAW,KAAK,OAAO,CAAC,GAAG,IAAI,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;gBAClF,MAAM,GAAG,GAAG,gDAAgD,WAAW,+EAA+E,CAAA;gBACtJ,uEAAuE;gBACvE,6EAA6E;gBAC7E,IAAI,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,EAAE,CAAC,EAAE,CAAC;oBAC1E,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,oDAAoD,CAAC,CAAA;gBACzE,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,+CAA+C,WAAW,oDAAoD,CAAC,CAAA;oBAClI,OAAO,KAAK,CAAA;gBACd,CAAC;YACH,CAAC;YACD,2EAA2E;QAC7E,CAAC;QACD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAA;QACxD,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,IAAI,CAAC;gBAAC,IAAI,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;oBAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC/H,CAAC,CAAA;QACD,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IACjC,CAAC;IAAC,MAAM,CAAC,CAAC,wCAAwC,CAAC,CAAC;IACpD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACjD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;AAE1C,sEAAsE;AACtE,MAAM,2BAA2B,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AAEtD,SAAS,iBAAiB;IACxB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAA;QAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;QACzD,OAAO,GAAG,CAAC,OAAiB,CAAA;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAA;IAChB,CAAC;AACH,CAAC;AAED,oDAAoD;AACpD,SAAS,cAAc,CAAC,CAAS,EAAE,CAAS;IAC1C,MAAM,KAAK,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;IACnE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IACrC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IACrC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,GAAG,IAAI,CAAA;IACrC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,GAAG,IAAI,CAAA;IACrC,OAAO,MAAM,GAAG,MAAM,CAAA;AACxB,CAAC;AAED,kFAAkF;AAClF,SAAS,gBAAgB;IACvB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,qDAAqD,EAAE;YAC7E,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YAC/B,OAAO,EAAE,KAAK;SACf,CAAC,CAAC,IAAI,EAAE,CAAA;QACT,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QACjC,oEAAoE;QACpE,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjD,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,cAAc,CAAC,EAAE,CAAA;QACzE,CAAC;QACD,wDAAwD;QACxD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;QAC5B,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,SAAS,oBAAoB,CAAC,KAAa;IACzC,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IACtE,4CAA4C;IAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;IACvC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA,CAAC,kCAAkC;IAC1D,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAC5C,OAAO,YAAY,IAAI,aAAa,CAAA;AACtC,CAAC;AAED,kDAAkD;AAClD,SAAS,sBAAsB;IAC7B,IAAI,CAAC;QACH,QAAQ,CAAC,cAAc,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QAC1D,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,sEAAsE;AACtE,wEAAwE;AACxE,4EAA4E;AAC5E,8EAA8E;AAC9E,+EAA+E;AAC/E,+EAA+E;AAC/E,6EAA6E;AAC7E,SAAS,aAAa,CAAC,OAAe;IACpC,gEAAgE;IAChE,IAAI,CAAC;QACH,QAAQ,CAAC,yCAAyC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;QAC/F,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,6BAA6B;IAC/B,CAAC;IAED,yEAAyE;IACzE,IAAI,sBAAsB,EAAE,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,QAAQ,CAAC,8CAA8C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;YACpG,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,MAAM,CAAC;YACP,2BAA2B;QAC7B,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,yEAAyE;IACzE,yEAAyE;IACzE,yEAAyE;IACzE,MAAM,CAAC,KAAK,CAAC,yBAAyB,OAAO,2EAA2E,CAAC,CAAA;IACzH,MAAM,CAAC,KAAK,CAAC,gJAAgJ,CAAC,CAAA;IAC9J,OAAO,KAAK,CAAA;AACd,CAAC;AAED,sEAAsE;AACtE,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAA;AAExC,8CAA8C;AAC9C,SAAS,cAAc,CAAC,cAAsB;IAC5C,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAA;IAC/B,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAA;IACvB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC;QAAE,OAAO,KAAK,CAAA;IAE/D,+DAA+D;IAC/D,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,OAAO,KAAK,CAAA;IACd,CAAC;IAED,gDAAgD;IAChD,IAAI,IAAI,CAAC,WAAW,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,OAAO,qBAAqB,IAAI,CAAC,WAAW,cAAc,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAA;QACrH,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAA;QACtD,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA,CAAC,oBAAoB;QACrD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,4BAA4B,IAAI,CAAC,OAAO,wBAAwB,cAAc,GAAG,CAAC,CAAA;IAC9F,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;IACnC,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC3C,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,CAAC,OAAO,CAAC,6BAA6B,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;QAC3D,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAA;IACnE,MAAM,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAA;IACvE,OAAO,KAAK,CAAA;AACd,CAAC;AAgBD,MAAM,eAAe,GAA0C;IAC7D,WAAW,EAAE,CAAC,EAAY,uBAAuB;IACjD,eAAe,EAAE,IAAI,EAAK,WAAW;IACrC,eAAe,EAAE,KAAK,EAAI,WAAW;IACrC,UAAU,EAAE,MAAM,EAAQ,yCAAyC;CACpE,CAAA;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,QAAgB,EAAE,GAAW,EAAE,GAAW;IAChE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACzE,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,EAAU;IAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;IACrC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAA;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAA;IAEtC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,OAAO,GAAG,KAAK,KAAK,OAAO,GAAG,EAAE,KAAK,OAAO,GAAG,EAAE,GAAG,CAAA;IACtD,CAAC;SAAM,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,OAAO,KAAK,OAAO,GAAG,EAAE,GAAG,CAAA;IACvC,CAAC;IACD,OAAO,GAAG,OAAO,GAAG,CAAA;AACtB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,OAAsB;IAChD,MAAM,IAAI,GAAG,EAAE,GAAG,eAAe,EAAE,GAAG,OAAO,EAAE,CAAA;IAC/C,+EAA+E;IAC/E,6EAA6E;IAC7E,6EAA6E;IAC7E,mFAAmF;IAEnF,8EAA8E;IAC9E,8EAA8E;IAC9E,iFAAiF;IACjF,oEAAoE;IACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAC7C,MAAM,SAAS,GAAG,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9D,IAAI,CAAC,yBAAyB,CAAC,SAAS,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAE1D,4EAA4E;IAC5E,2EAA2E;IAC3E,MAAM,KAAK,GAAiB;QAC1B,YAAY,EAAE,CAAC;QACf,aAAa,EAAE,CAAC;QAChB,mBAAmB,EAAE,CAAC;KACvB,CAAA;IAED,IAAI,KAAK,GAAwB,IAAI,CAAA;IACrC,IAAI,cAAc,GAAG,KAAK,CAAA;IAC1B,IAAI,kBAAkB,GAAkB,IAAI,CAAA;IAE5C,6CAA6C;IAC7C,MAAM,YAAY,GAAG,CAAC,MAAsB,EAAE,EAAE;QAC9C,IAAI,cAAc;YAAE,OAAM;QAC1B,cAAc,GAAG,IAAI,CAAA;QAErB,MAAM,CAAC,IAAI,CAAC,mBAAmB,MAAM,qBAAqB,CAAC,CAAA;QAE3D,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAClB,sCAAsC;YACtC,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;oBAC3B,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAA;oBACxD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBACvB,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC,EAAE,IAAI,CAAC,CAAA;QACV,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;IACH,CAAC,CAAA;IAED,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAA;IAClD,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAA;IAEpD,SAAS,UAAU;QACjB,IAAI,cAAc;YAAE,OAAM;QAE1B,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAChC,KAAK,CAAC,YAAY,EAAE,CAAA;QAEpB,0DAA0D;QAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,IAAI,CAAC,CAAA;QAE7E,wCAAwC;QACxC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;QAElD,MAAM,CAAC,IAAI,CAAC,4BAA4B,KAAK,CAAC,YAAY,MAAM,CAAC,CAAA;QACjE,MAAM,CAAC,KAAK,CAAC,kBAAkB,SAAS,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAElE,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,GAAG,SAAS,CAAC,EAAE;YACzD,KAAK,EAAE,SAAS,EAAG,0CAA0C;YAC7D,GAAG,EAAE;gBACH,GAAG,OAAO,CAAC,GAAG;gBACd,qBAAqB,EAAE,GAAG,EAAG,wBAAwB;aACtD;SACF,CAAC,CAAA;QAEF,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACxB,MAAM,CAAC,KAAK,CAAC,0BAA0B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;YACrD,eAAe,EAAE,CAAA;QACnB,CAAC,CAAC,CAAA;QAEF,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YAChC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,aAAa,CAAA;YAC/C,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;YAEtC,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,CAAC,0BAA0B,SAAS,GAAG,CAAC,CAAA;gBACnD,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAA;gBACvB,OAAM;YACR,CAAC;YAED,4EAA4E;YAC5E,IAAI,MAAM,GAAG,IAAI,IAAI,IAAI,KAAK,CAAC,IAAI,kBAAkB,EAAE,CAAC;gBACtD,MAAM,CAAC,IAAI,CAAC,WAAW,kBAAkB,yDAAyD,CAAC,CAAA;gBACnG,cAAc,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;gBACtC,kBAAkB,GAAG,IAAI,CAAA;YAC3B,CAAC;YAED,wDAAwD;YACxD,IAAI,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC9B,KAAK,CAAC,mBAAmB,GAAG,CAAC,CAAA;gBAC7B,MAAM,CAAC,IAAI,CAAC,iBAAiB,SAAS,8BAA8B,CAAC,CAAA;YACvE,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,mBAAmB,EAAE,CAAA;YAC7B,CAAC;YAED,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,IAAI,CAAC,0BAA0B,MAAM,aAAa,SAAS,GAAG,CAAC,CAAA;YACxE,CAAC;iBAAM,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACtB,MAAM,CAAC,IAAI,CAAC,iCAAiC,SAAS,GAAG,CAAC,CAAA;YAC5D,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,0BAA0B,IAAI,aAAa,SAAS,GAAG,CAAC,CAAA;YACvE,CAAC;YAED,eAAe,EAAE,CAAA;QACnB,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,SAAS,eAAe;QACtB,IAAI,cAAc;YAAE,OAAM;QAE1B,2BAA2B;QAC3B,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnE,MAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,WAAW,uBAAuB,CAAC,CAAA;YACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,MAAM,KAAK,GAAG,cAAc,CAC1B,KAAK,CAAC,mBAAmB,EACzB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,eAAe,CACrB,CAAA;QAED,MAAM,CAAC,IAAI,CAAC,uBAAuB,KAAK,GAAG,IAAI,gBAAgB,KAAK,CAAC,mBAAmB,MAAM,CAAC,CAAA;QAE/F,UAAU,CAAC,GAAG,EAAE;YACd,uEAAuE;YACvE,mEAAmE;YACnE,wEAAwE;YACxE,0EAA0E;YAC1E,0EAA0E;YAC1E,uEAAuE;YACvE,MAAM,OAAO,GAAG,cAAc,CAAC,iBAAiB,EAAE,CAAC,CAAA;YACnD,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAA;gBAC/B,kBAAkB,GAAG,IAAI,EAAE,OAAO,IAAI,IAAI,CAAA;YAC5C,CAAC;iBAAM,CAAC;gBACN,kBAAkB,GAAG,IAAI,CAAA;YAC3B,CAAC;YACD,UAAU,EAAE,CAAA;QACd,CAAC,EAAE,KAAK,CAAC,CAAA;IACX,CAAC;IAED,oBAAoB;IACpB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,MAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAA;IACpE,MAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAA;IACpE,MAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAA;IACpE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,MAAM,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAA;IACvE,MAAM,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;IACzF,MAAM,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,eAAe,GAAG,IAAI,OAAO,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,CAAC,CAAA;IACjG,MAAM,CAAC,IAAI,CAAC,0BAA0B,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,CAAA;IACvE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IAEf,kBAAkB;IAClB,UAAU,EAAE,CAAA;IAEZ,6EAA6E;IAC7E,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,IAAI,cAAc,IAAI,CAAC,KAAK;YAAE,OAAM;QACpC,yEAAyE;QACzE,sDAAsD;QACtD,MAAM,OAAO,GAAG,cAAc,CAAC,iBAAiB,EAAE,CAAC,CAAA;QACnD,IAAI,OAAO,IAAI,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAA;YAC/B,kBAAkB,GAAG,IAAI,EAAE,OAAO,IAAI,IAAI,CAAA;YAC1C,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAA;YAClD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACrB,+DAA+D;QACjE,CAAC;IACH,CAAC,EAAE,2BAA2B,CAAC,CAAA;IAC/B,WAAW,CAAC,KAAK,EAAE,CAAA,CAAC,8CAA8C;AACpE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,GAAG,CAAA;AAClD,CAAC"}
|
package/dist/executor.d.ts
CHANGED
|
@@ -73,6 +73,7 @@ export declare function getCliEndpoint(): string;
|
|
|
73
73
|
export declare function setBrowserEnabled(enabled: boolean): void;
|
|
74
74
|
export declare function getBrowserEnabled(): boolean;
|
|
75
75
|
export declare function isOrquestaCliAvailable(): boolean;
|
|
76
|
+
export declare function resolveClaudeBinary(): string | null;
|
|
76
77
|
export declare function isClaudeCliAvailable(): boolean;
|
|
77
78
|
export declare function resolveKimiBinary(): string | null;
|
|
78
79
|
export declare function isKimiCliAvailable(): boolean;
|
package/dist/executor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
|