tesseract-agent 0.10.3 → 0.10.4
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-bundle/cli.js +22 -7
- package/package.json +1 -1
package/dist-bundle/cli.js
CHANGED
|
@@ -24215,7 +24215,11 @@ CRITICAL RULES:
|
|
|
24215
24215
|
- Use screenshot to see the visual state.
|
|
24216
24216
|
- When element selectors are provided, use click or evaluate to interact.
|
|
24217
24217
|
- You can read and edit project source files if a project directory is configured.
|
|
24218
|
-
- Always confirm before making destructive changes to source files
|
|
24218
|
+
- Always confirm before making destructive changes to source files.
|
|
24219
|
+
- When you name a file, write its FULL ABSOLUTE PATH (e.g. \`/Users/me/work/proj/docs/plan.md\`),
|
|
24220
|
+
not a project-relative one. The app turns file references in your replies into clickable links,
|
|
24221
|
+
and a relative path is ambiguous the moment more than one project is open \u2014 it resolves against
|
|
24222
|
+
the wrong root, or nothing, and the link does not open. An absolute path always opens.`
|
|
24219
24223
|
},
|
|
24220
24224
|
{
|
|
24221
24225
|
id: "agent.system.unattended-report",
|
|
@@ -36038,6 +36042,9 @@ function sessionStoreFor(mode) {
|
|
|
36038
36042
|
return sharedSessionStore;
|
|
36039
36043
|
return { ...sharedSessionStore, load: async () => null };
|
|
36040
36044
|
}
|
|
36045
|
+
function unattendedReportDirective(send4) {
|
|
36046
|
+
return unattendedModeFor({ optedIn: send4.unattended, origin: send4.origin }) !== "off" ? prompt("agent.system.unattended-report") : "";
|
|
36047
|
+
}
|
|
36041
36048
|
function unknownModelEnv(model) {
|
|
36042
36049
|
const id = (model ?? "").trim();
|
|
36043
36050
|
if (!id || /^claude-/i.test(id))
|
|
@@ -38589,10 +38596,15 @@ ${prompt("agent.system.website-build")}` : "";
|
|
|
38589
38596
|
} else if (live.sessionId) {
|
|
38590
38597
|
this.narrator.startTurn(live.sessionId, live.lastPrompt ?? params.message);
|
|
38591
38598
|
}
|
|
38599
|
+
const lateDirective = live.unattendedReportSent ? "" : unattendedReportDirective(params);
|
|
38600
|
+
if (lateDirective)
|
|
38601
|
+
live.unattendedReportSent = true;
|
|
38592
38602
|
const sdkMsg = {
|
|
38593
38603
|
type: "user",
|
|
38594
38604
|
parent_tool_use_id: null,
|
|
38595
|
-
message: { role: "user", content: userText
|
|
38605
|
+
message: { role: "user", content: lateDirective ? `${userText}
|
|
38606
|
+
|
|
38607
|
+
${lateDirective}` : userText }
|
|
38596
38608
|
};
|
|
38597
38609
|
live.pump.push(sdkMsg);
|
|
38598
38610
|
}
|
|
@@ -38622,6 +38634,9 @@ ${prompt("agent.system.website-build")}` : "";
|
|
|
38622
38634
|
const isNewSession = !params.sessionId;
|
|
38623
38635
|
const pendingTitle = isNewSession ? params.message.trim().slice(0, 80) : "";
|
|
38624
38636
|
const live = {
|
|
38637
|
+
// The system prompt below carries the directive whenever this send is unattended, so
|
|
38638
|
+
// the resident path must not append it again on the very first turn.
|
|
38639
|
+
...unattendedReportDirective(params) ? { unattendedReportSent: true } : {},
|
|
38625
38640
|
sessionId: params.sessionId ?? "",
|
|
38626
38641
|
clientRequestId: params.clientRequestId,
|
|
38627
38642
|
lastPrompt: params.message,
|
|
@@ -39329,9 +39344,9 @@ ${prompt("agent.system.website-build")}` : "";
|
|
|
39329
39344
|
|
|
39330
39345
|
${params.appendSystemPrompt}` : "") + (params.reinforcedVerification ? `
|
|
39331
39346
|
|
|
39332
|
-
${rvPhaseDirective()}` : "") + (
|
|
39347
|
+
${rvPhaseDirective()}` : "") + (unattendedReportDirective(params) ? `
|
|
39333
39348
|
|
|
39334
|
-
${
|
|
39349
|
+
${unattendedReportDirective(params)}` : ""), live.sessionId) },
|
|
39335
39350
|
includePartialMessages: true,
|
|
39336
39351
|
// Emit a predicted follow-up prompt after each turn (git/context-aware) — rendered
|
|
39337
39352
|
// as a clickable suggestion chip. Off by default in the SDK, so opt in here.
|
|
@@ -85329,7 +85344,7 @@ function askRdeskConsent(opts) {
|
|
|
85329
85344
|
fullscreenable: false,
|
|
85330
85345
|
show: false,
|
|
85331
85346
|
backgroundColor: "#00000000",
|
|
85332
|
-
webPreferences: { preload: daemonPreloadPath(), contextIsolation: true, sandbox: false }
|
|
85347
|
+
webPreferences: { preload: daemonPreloadPath(), contextIsolation: true, sandbox: false, partition: "tess-ui-consent" }
|
|
85333
85348
|
});
|
|
85334
85349
|
win3.setAlwaysOnTop(true, "screen-saver");
|
|
85335
85350
|
win3.setVisibleOnAllWorkspaces(true, { visibleOnFullScreen: true });
|
|
@@ -107479,7 +107494,7 @@ async function runDaemon(opts = {}) {
|
|
|
107479
107494
|
const otherDaemonPids = () => {
|
|
107480
107495
|
try {
|
|
107481
107496
|
const raw = execFileSync5("ps", ["-axww", "-o", "pid=,command="], { encoding: "utf8", timeout: 3e3 });
|
|
107482
|
-
return raw.split("\n").filter((l) => /Tesseract\.app|host-daemon
|
|
107497
|
+
return raw.split("\n").filter((l) => /Tesseract\.app|host-daemon/.test(l) && !/\bgrep\b|ps -axww/.test(l)).map((l) => Number(l.trim().split(/\s+/)[0])).filter((pid) => Number.isFinite(pid) && pid !== process.pid && pid !== process.ppid);
|
|
107483
107498
|
} catch {
|
|
107484
107499
|
return [];
|
|
107485
107500
|
}
|
|
@@ -107578,7 +107593,7 @@ async function runDaemon(opts = {}) {
|
|
|
107578
107593
|
process.exit(code);
|
|
107579
107594
|
}
|
|
107580
107595
|
startSystemEvents({ version: VERSION2, log: (m) => log9(m) });
|
|
107581
|
-
const mergedProcess = opts.merged
|
|
107596
|
+
const mergedProcess = opts.merged === true;
|
|
107582
107597
|
const deliberateMergedQuit = () => !!globalThis.__ccbDeliberateQuit;
|
|
107583
107598
|
const onTermSignal = (sig) => {
|
|
107584
107599
|
if (mergedProcess && !deliberateMergedQuit()) {
|