nolo-cli 0.170.0 → 0.170.1
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/{agentDeleteCommand-4RAEG26P.js → agentDeleteCommand-F66NIWCF.js} +2 -2
- package/{agentEmailCommands-MS6MACO5.js → agentEmailCommands-M4SHODDA.js} +3 -3
- package/{agentMachineCommands-4OQUFTD2.js → agentMachineCommands-R55P5SZY.js} +1 -1
- package/{agentRecordCommands-YNLE7IBY.js → agentRecordCommands-PDWACZFR.js} +3 -3
- package/{agentRunCommand-76DUQVWC.js → agentRunCommand-U2F74LTS.js} +3 -3
- package/{agentRunControl-QBONJVI4.js → agentRunControl-EI3BGJFM.js} +3 -1
- package/{chunk-O4R4M4M5.js → chunk-IMMA7QFE.js} +1 -1
- package/{chunk-RKKJ6SVM.js → chunk-O2AY3CVI.js} +4 -2
- package/{chunk-WO5P2HTX.js → chunk-URW5UM6Y.js} +69 -25
- package/{chunk-B4VCTNZL.js → chunk-WC7UXON2.js} +3 -3
- package/{chunk-3URJF2TW.js → chunk-WVREKHHJ.js} +1 -1
- package/{chunk-AIHY74D3.js → chunk-Z6HR75HX.js} +1 -1
- package/{commandRegistry-PDKCQHG3.js → commandRegistry-3XBG7JHS.js} +26 -26
- package/{dialogCommands-6POPB6FB.js → dialogCommands-P5HSDZ7T.js} +2 -2
- package/index.js +3 -3
- package/{localRuntimeAdapter-6P7JHQOK.js → localRuntimeAdapter-ZIAOTUBE.js} +2 -2
- package/{machineCommands-CTE5QJBU.js → machineCommands-3LSEP24P.js} +3 -3
- package/{machineWsRunDispatch-7CRVOKDC.js → machineWsRunDispatch-7A3TSH4Q.js} +3 -3
- package/package.json +1 -1
- package/{readlineWorkspace-3WLNCNV4.js → readlineWorkspace-OFBP6OA7.js} +4 -4
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
} from "./chunk-62TBKWTV.js";
|
|
7
7
|
import {
|
|
8
8
|
clearCliLocalRuntimePreparedAgentCache
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-WC7UXON2.js";
|
|
10
10
|
import "./chunk-G3VYRPTV.js";
|
|
11
11
|
import "./chunk-R4BMKAR5.js";
|
|
12
12
|
import {
|
|
@@ -132,7 +132,7 @@ import {
|
|
|
132
132
|
import "./chunk-5EMSBTQ6.js";
|
|
133
133
|
import "./chunk-I42VC5KR.js";
|
|
134
134
|
import "./chunk-U6VC4MU4.js";
|
|
135
|
-
import "./chunk-
|
|
135
|
+
import "./chunk-URW5UM6Y.js";
|
|
136
136
|
import "./chunk-PJNFNEJE.js";
|
|
137
137
|
import "./chunk-PSCNXBYA.js";
|
|
138
138
|
import {
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
} from "./chunk-I7S63QUU.js";
|
|
5
5
|
import {
|
|
6
6
|
runAgentCreateCommand
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-WVREKHHJ.js";
|
|
8
8
|
import "./chunk-YGILMZ7N.js";
|
|
9
9
|
import {
|
|
10
10
|
positionalArgs,
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
import {
|
|
14
14
|
getReadableCliDb
|
|
15
15
|
} from "./chunk-62TBKWTV.js";
|
|
16
|
-
import "./chunk-
|
|
16
|
+
import "./chunk-WC7UXON2.js";
|
|
17
17
|
import "./chunk-G3VYRPTV.js";
|
|
18
18
|
import "./chunk-R4BMKAR5.js";
|
|
19
19
|
import "./chunk-TDX2L4W2.js";
|
|
@@ -132,7 +132,7 @@ import {
|
|
|
132
132
|
} from "./chunk-5EMSBTQ6.js";
|
|
133
133
|
import "./chunk-I42VC5KR.js";
|
|
134
134
|
import "./chunk-U6VC4MU4.js";
|
|
135
|
-
import "./chunk-
|
|
135
|
+
import "./chunk-URW5UM6Y.js";
|
|
136
136
|
import "./chunk-PJNFNEJE.js";
|
|
137
137
|
import "./chunk-PSCNXBYA.js";
|
|
138
138
|
import "./chunk-FDLDMJTM.js";
|
|
@@ -93,7 +93,7 @@ async function defaultExecuteCli(provider, prompt, options) {
|
|
|
93
93
|
return executeCli(provider, prompt, options);
|
|
94
94
|
}
|
|
95
95
|
async function forwardConnectorRunMessage(machine, message, pushMessage, executeCli, env, fetchImpl) {
|
|
96
|
-
const { handleConnectorRunMessage } = await import("./machineWsRunDispatch-
|
|
96
|
+
const { handleConnectorRunMessage } = await import("./machineWsRunDispatch-7A3TSH4Q.js");
|
|
97
97
|
return handleConnectorRunMessage(message, pushMessage, executeCli, env, fetchImpl);
|
|
98
98
|
}
|
|
99
99
|
async function detectLaunchableMachineInfo() {
|
|
@@ -2,10 +2,10 @@ import {
|
|
|
2
2
|
runAgentCreateCommand,
|
|
3
3
|
runAgentReadCommand,
|
|
4
4
|
runAgentUpdateCommand
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-WVREKHHJ.js";
|
|
6
6
|
import "./chunk-YGILMZ7N.js";
|
|
7
7
|
import "./chunk-62TBKWTV.js";
|
|
8
|
-
import "./chunk-
|
|
8
|
+
import "./chunk-WC7UXON2.js";
|
|
9
9
|
import "./chunk-G3VYRPTV.js";
|
|
10
10
|
import "./chunk-R4BMKAR5.js";
|
|
11
11
|
import "./chunk-TDX2L4W2.js";
|
|
@@ -117,7 +117,7 @@ import "./chunk-M2EJHDJP.js";
|
|
|
117
117
|
import "./chunk-5EMSBTQ6.js";
|
|
118
118
|
import "./chunk-I42VC5KR.js";
|
|
119
119
|
import "./chunk-U6VC4MU4.js";
|
|
120
|
-
import "./chunk-
|
|
120
|
+
import "./chunk-URW5UM6Y.js";
|
|
121
121
|
import "./chunk-PJNFNEJE.js";
|
|
122
122
|
import "./chunk-PSCNXBYA.js";
|
|
123
123
|
import "./chunk-FDLDMJTM.js";
|
|
@@ -9,13 +9,13 @@ import {
|
|
|
9
9
|
resolveRunSettlementNote,
|
|
10
10
|
resolveWorkflowReference,
|
|
11
11
|
runAgentRunCommand
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-O2AY3CVI.js";
|
|
13
13
|
import "./chunk-6QDYSCPW.js";
|
|
14
14
|
import {
|
|
15
15
|
parseAgentRunArgs
|
|
16
16
|
} from "./chunk-DHNQA4VI.js";
|
|
17
17
|
import "./chunk-62TBKWTV.js";
|
|
18
|
-
import "./chunk-
|
|
18
|
+
import "./chunk-WC7UXON2.js";
|
|
19
19
|
import "./chunk-G3VYRPTV.js";
|
|
20
20
|
import "./chunk-R4BMKAR5.js";
|
|
21
21
|
import "./chunk-TDX2L4W2.js";
|
|
@@ -136,7 +136,7 @@ import "./chunk-M2EJHDJP.js";
|
|
|
136
136
|
import "./chunk-5EMSBTQ6.js";
|
|
137
137
|
import "./chunk-I42VC5KR.js";
|
|
138
138
|
import "./chunk-U6VC4MU4.js";
|
|
139
|
-
import "./chunk-
|
|
139
|
+
import "./chunk-URW5UM6Y.js";
|
|
140
140
|
import "./chunk-PJNFNEJE.js";
|
|
141
141
|
import "./chunk-PSCNXBYA.js";
|
|
142
142
|
import "./chunk-EXAJ6DCR.js";
|
|
@@ -53,6 +53,7 @@ import {
|
|
|
53
53
|
readQueueMessages,
|
|
54
54
|
readRunRecord,
|
|
55
55
|
releaseRunRecordAck,
|
|
56
|
+
reportRunProcessIdentity,
|
|
56
57
|
resolveNoloHome,
|
|
57
58
|
resolveRunLogPath,
|
|
58
59
|
resolveRunQueuePath,
|
|
@@ -73,7 +74,7 @@ import {
|
|
|
73
74
|
withQueueLock,
|
|
74
75
|
withRunRecordLock,
|
|
75
76
|
writeRunRecord
|
|
76
|
-
} from "./chunk-
|
|
77
|
+
} from "./chunk-URW5UM6Y.js";
|
|
77
78
|
import "./chunk-PJNFNEJE.js";
|
|
78
79
|
import "./chunk-PSCNXBYA.js";
|
|
79
80
|
import "./chunk-WACI5I6V.js";
|
|
@@ -146,6 +147,7 @@ export {
|
|
|
146
147
|
readQueueMessages,
|
|
147
148
|
readRunRecord,
|
|
148
149
|
releaseRunRecordAck,
|
|
150
|
+
reportRunProcessIdentity,
|
|
149
151
|
resolveNoloHome,
|
|
150
152
|
resolveRunLogPath,
|
|
151
153
|
resolveRunQueuePath,
|
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
resolveFileWriteGateEnabled,
|
|
32
32
|
resolveLocalUserId,
|
|
33
33
|
validateInstaboxWorkspaceSelection
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-WC7UXON2.js";
|
|
35
35
|
import {
|
|
36
36
|
clearCredentialAvailability,
|
|
37
37
|
readEffectiveCredentialEntry,
|
|
@@ -182,13 +182,14 @@ import {
|
|
|
182
182
|
popSingleQueueMessage,
|
|
183
183
|
readRunRecord,
|
|
184
184
|
recordRunResultHeaderMeta,
|
|
185
|
+
reportRunProcessIdentity,
|
|
185
186
|
resolveResultServerMeta,
|
|
186
187
|
resolveRunQueuePath,
|
|
187
188
|
resolveRunsDir,
|
|
188
189
|
serverOriginForDialog,
|
|
189
190
|
settleRunTerminalAuthoritatively,
|
|
190
191
|
spawnLocalBackgroundRun
|
|
191
|
-
} from "./chunk-
|
|
192
|
+
} from "./chunk-URW5UM6Y.js";
|
|
192
193
|
import {
|
|
193
194
|
formatAgentListCard,
|
|
194
195
|
formatFinishedRunCard,
|
|
@@ -15600,6 +15601,7 @@ async function runAgentRunCommand(args, deps) {
|
|
|
15600
15601
|
const nowMs = () => deps.now ? deps.now().getTime() : Date.now();
|
|
15601
15602
|
const childRunId = env.NOLO_AGENT_RUN_ID;
|
|
15602
15603
|
const hasRegistry = typeof childRunId === "string" && childRunId.length > 0;
|
|
15604
|
+
if (hasRegistry) reportRunProcessIdentity(childRunId, { env, homedir: deps.homedir, fs: deps.fs, now: deps.now });
|
|
15603
15605
|
const processExit = deps.processExit ?? ((code) => process.exit(code));
|
|
15604
15606
|
const stallTimeoutMs = resolvePositiveMs(
|
|
15605
15607
|
deps.stallTimeoutMs ?? env.NOLO_LOCAL_RUN_STALL_TIMEOUT_MS,
|
|
@@ -828,7 +828,7 @@ function scanActiveReservations(reservationsDir, deps) {
|
|
|
828
828
|
} catch {
|
|
829
829
|
}
|
|
830
830
|
const reused = expectedStart && actualStart && Number.isFinite(actualStart.getTime()) && actualStart.toISOString() !== expectedStart;
|
|
831
|
-
if (!alive || reused || record.status === "active" && ageMs >= startupWindowMs) {
|
|
831
|
+
if (!alive || reused || record.status === "active" && !!expectedStart && record.childIdentity !== "unverified" && ageMs >= startupWindowMs) {
|
|
832
832
|
updateReservationFile(filePath, fs, (r) => {
|
|
833
833
|
r.status = "reclaimed";
|
|
834
834
|
r.reclaimedAt = new Date(nowMs).toISOString();
|
|
@@ -909,14 +909,14 @@ function reserveHostMemory(deps) {
|
|
|
909
909
|
const validStart = !!params.processStartedAt && Number.isFinite(Date.parse(params.processStartedAt));
|
|
910
910
|
locked(() => updateReservationFile(recordPath, fs, (r) => {
|
|
911
911
|
if (r.status !== "reserved") throw new Error("Reservation is not reserved");
|
|
912
|
+
r.status = "active";
|
|
913
|
+
r.childIdentity = validStart ? "verified" : "unverified";
|
|
912
914
|
if (validStart) {
|
|
913
|
-
r.status = "active";
|
|
914
915
|
r.childStartedAt = params.processStartedAt;
|
|
915
916
|
}
|
|
916
917
|
if (params.runId) r.runId = params.runId;
|
|
917
918
|
if (typeof params.pid === "number") r.childPid = params.pid;
|
|
918
919
|
}));
|
|
919
|
-
if (!validStart) throw new Error("Child starttime unknown; reservation retained");
|
|
920
920
|
},
|
|
921
921
|
release(reason) {
|
|
922
922
|
locked(() => updateReservationFile(recordPath, fs, (r) => {
|
|
@@ -1472,6 +1472,17 @@ function writeRunRecord(record, deps = {}) {
|
|
|
1472
1472
|
}
|
|
1473
1473
|
fs.writeFileSync(path, payload);
|
|
1474
1474
|
}
|
|
1475
|
+
function reportRunProcessIdentity(runId, deps = {}) {
|
|
1476
|
+
const processStartedAt = new Date(Date.now() - process.uptime() * 1e3).toISOString();
|
|
1477
|
+
withRunRecordLock(runId, deps, () => {
|
|
1478
|
+
const record = readRunRecord(runId, deps);
|
|
1479
|
+
if (!record || record.pid !== void 0 && record.pid !== process.pid) return;
|
|
1480
|
+
record.pid = process.pid;
|
|
1481
|
+
record.processStartedAt = processStartedAt;
|
|
1482
|
+
record.processIdentity = "verified";
|
|
1483
|
+
writeRunRecord(record, deps);
|
|
1484
|
+
}, { strict: true });
|
|
1485
|
+
}
|
|
1475
1486
|
var FILE_EDIT_TOOL_NAMES = /* @__PURE__ */ new Set(["writeFile", "editFile"]);
|
|
1476
1487
|
var DEFAULT_ACTIVITY_WRITE_INTERVAL_MS = 2e3;
|
|
1477
1488
|
function createRunActivityTracker(runId, deps = {}, options = {}) {
|
|
@@ -1932,7 +1943,8 @@ async function spawnLocalBackgroundRun(input, deps = {}) {
|
|
|
1932
1943
|
fs: reservationFs,
|
|
1933
1944
|
now: resolvedDeps.now,
|
|
1934
1945
|
readHostMemory: () => hostMemory = (resolvedDeps.readHostMemory ?? readHostMemory)(),
|
|
1935
|
-
|
|
1946
|
+
// Admission remains conservative for existing reservations; no OS probes on startup.
|
|
1947
|
+
getProcessStartTime: () => null,
|
|
1936
1948
|
withLock: (id, fn, opts) => withRunRecordLock(id, resolvedDeps, fn, opts)
|
|
1937
1949
|
});
|
|
1938
1950
|
proc = spawn(execPath, childArgs, {
|
|
@@ -1966,24 +1978,17 @@ async function spawnLocalBackgroundRun(input, deps = {}) {
|
|
|
1966
1978
|
});
|
|
1967
1979
|
const hostMemoryNotice = emitHostMemoryNotice(hostMemory, input.output);
|
|
1968
1980
|
if (typeof proc.pid === "number") {
|
|
1969
|
-
let processStartedAt;
|
|
1970
|
-
try {
|
|
1971
|
-
processStartedAt = (resolvedDeps.getProcessStartTime ?? defaultGetProcessStartTime)(proc.pid);
|
|
1972
|
-
if (processStartedAt && !Number.isFinite(processStartedAt.getTime())) processStartedAt = null;
|
|
1973
|
-
} catch {
|
|
1974
|
-
processStartedAt = null;
|
|
1975
|
-
}
|
|
1976
1981
|
withRunRecordLock(runId, resolvedDeps, () => {
|
|
1977
1982
|
const latest = readRunRecord(runId, resolvedDeps) ?? record;
|
|
1978
1983
|
latest.pid = proc.pid;
|
|
1979
|
-
|
|
1984
|
+
latest.processIdentity ??= "unverified";
|
|
1980
1985
|
writeRunRecord(latest, resolvedDeps);
|
|
1981
1986
|
return true;
|
|
1982
1987
|
}, { strict: true });
|
|
1983
1988
|
try {
|
|
1984
1989
|
const persisted = readRunRecord(runId, resolvedDeps);
|
|
1985
|
-
reservation.associate({ runId, pid: proc.pid, processStartedAt: processStartedAt
|
|
1986
|
-
if (persisted?.pid !== proc.pid
|
|
1990
|
+
reservation.associate({ runId, pid: proc.pid, processStartedAt: persisted?.processStartedAt });
|
|
1991
|
+
if (persisted?.pid !== proc.pid) throw new Error("Child identity persistence failed: pid not bound");
|
|
1987
1992
|
} catch (error) {
|
|
1988
1993
|
throw new Error(`[host-memory-reservation] child ${proc.pid}, run ${runId}: association failed: ${error}`);
|
|
1989
1994
|
}
|
|
@@ -2187,12 +2192,14 @@ function isPidGone(pid, deps = {}) {
|
|
|
2187
2192
|
return error.code === "ESRCH";
|
|
2188
2193
|
}
|
|
2189
2194
|
}
|
|
2190
|
-
function defaultGetProcessStartTime(pid) {
|
|
2195
|
+
function defaultGetProcessStartTime(pid, deps = {}) {
|
|
2191
2196
|
if (!Number.isSafeInteger(pid) || pid <= 0) return null;
|
|
2192
2197
|
try {
|
|
2193
|
-
|
|
2194
|
-
|
|
2195
|
-
const
|
|
2198
|
+
const execFileSync = deps.execFileSync ?? nodeExecFileSync;
|
|
2199
|
+
if ((deps.platform ?? process.platform) === "win32") {
|
|
2200
|
+
const systemRoot = (deps.env ?? process.env).SystemRoot;
|
|
2201
|
+
const shell = systemRoot ? join2(systemRoot, "System32", "WindowsPowerShell", "v1.0", "powershell.exe") : "powershell.exe";
|
|
2202
|
+
const output2 = execFileSync(shell, [
|
|
2196
2203
|
"-NoProfile",
|
|
2197
2204
|
"-NonInteractive",
|
|
2198
2205
|
"-Command",
|
|
@@ -2207,7 +2214,7 @@ function defaultGetProcessStartTime(pid) {
|
|
|
2207
2214
|
const date = new Date(output2);
|
|
2208
2215
|
return Number.isFinite(date.getTime()) ? date : null;
|
|
2209
2216
|
}
|
|
2210
|
-
const output =
|
|
2217
|
+
const output = execFileSync("ps", ["-o", "lstart=", "-p", String(pid)], {
|
|
2211
2218
|
encoding: "utf8",
|
|
2212
2219
|
stdio: ["ignore", "pipe", "ignore"],
|
|
2213
2220
|
timeout: 1e3,
|
|
@@ -2228,6 +2235,14 @@ function defaultGetProcessStartTime(pid) {
|
|
|
2228
2235
|
}
|
|
2229
2236
|
var MAX_PROCESS_START_TIME_DIFF_MS = 3e4;
|
|
2230
2237
|
var MAX_PERSISTED_PROCESS_START_TIME_DIFF_MS = 2e3;
|
|
2238
|
+
function probeProcessStartTime(pid, deps) {
|
|
2239
|
+
try {
|
|
2240
|
+
const date = deps.getProcessStartTime ? deps.getProcessStartTime(pid) : defaultGetProcessStartTime(pid, deps);
|
|
2241
|
+
return date && Number.isFinite(date.getTime()) ? date : null;
|
|
2242
|
+
} catch {
|
|
2243
|
+
return null;
|
|
2244
|
+
}
|
|
2245
|
+
}
|
|
2231
2246
|
var ORPHAN_HEARTBEAT_GRACE_MS = 1e4;
|
|
2232
2247
|
function readTimestampMs(value) {
|
|
2233
2248
|
if (!value) return null;
|
|
@@ -2235,8 +2250,7 @@ function readTimestampMs(value) {
|
|
|
2235
2250
|
return Number.isNaN(ms) ? null : ms;
|
|
2236
2251
|
}
|
|
2237
2252
|
function isPidReused(pid, expectedStartedAt, deps = {}, maxDiffMs = MAX_PROCESS_START_TIME_DIFF_MS) {
|
|
2238
|
-
const
|
|
2239
|
-
const procStartTime = getStartTime(pid);
|
|
2253
|
+
const procStartTime = probeProcessStartTime(pid, deps);
|
|
2240
2254
|
if (!procStartTime) {
|
|
2241
2255
|
return false;
|
|
2242
2256
|
}
|
|
@@ -2253,7 +2267,7 @@ function checkStaleRun(runId, deps = {}) {
|
|
|
2253
2267
|
const pidGone = isPidGone(record.pid, deps);
|
|
2254
2268
|
const expectedStartedAt = record.processStartedAt ?? record.startedAt;
|
|
2255
2269
|
const maxStartTimeDiffMs = record.processStartedAt ? MAX_PERSISTED_PROCESS_START_TIME_DIFF_MS : MAX_PROCESS_START_TIME_DIFF_MS;
|
|
2256
|
-
const pidReused = !pidGone && isPidReused(record.pid, expectedStartedAt, deps, maxStartTimeDiffMs);
|
|
2270
|
+
const pidReused = !pidGone && record.processIdentity !== "unverified" && isPidReused(record.pid, expectedStartedAt, deps, maxStartTimeDiffMs);
|
|
2257
2271
|
if (!pidGone && !pidReused) return record;
|
|
2258
2272
|
const now = deps.now ?? (() => /* @__PURE__ */ new Date());
|
|
2259
2273
|
const heartbeatAt = readTimestampMs(record.activity?.updatedAt);
|
|
@@ -2621,8 +2635,30 @@ async function terminateRunProcess(record, initialSignal, deps) {
|
|
|
2621
2635
|
const sleep = deps.sleep ?? ((ms) => new Promise((r) => setTimeout(r, ms)));
|
|
2622
2636
|
const nowMs = () => deps.now ? deps.now().getTime() : Date.now();
|
|
2623
2637
|
const signalGroup = (sig) => {
|
|
2638
|
+
const fail = (reason) => {
|
|
2639
|
+
throw new Error(`Run ${record.runId}, pid ${pid}, platform ${deps.platform ?? process.platform}: \u8EAB\u4EFD\u672A\u9A8C\u8BC1\uFF0C\u65E0\u6CD5\u5B89\u5168\u7EC8\u6B62 (${reason}). \u53EF\u5148\u786E\u8BA4\u8FDB\u7A0B\u72B6\u6001\u6216\u91CD\u542F\u8BE5 run\uFF1B\u786E\u8BA4\u8EAB\u4EFD\u540E\u91CD\u8BD5 stop/kill\u3002`);
|
|
2640
|
+
};
|
|
2641
|
+
const expectedMs = readTimestampMs(record.processStartedAt ?? record.startedAt);
|
|
2642
|
+
if (expectedMs === null) fail("no trusted process start baseline");
|
|
2643
|
+
const maxDiffMs = record.processStartedAt ? MAX_PERSISTED_PROCESS_START_TIME_DIFF_MS : MAX_PROCESS_START_TIME_DIFF_MS;
|
|
2644
|
+
const actual = probeProcessStartTime(pid, deps);
|
|
2645
|
+
if (!actual || Math.abs(actual.getTime() - expectedMs) > maxDiffMs) {
|
|
2646
|
+
fail("identity probe failed or PID start time mismatch");
|
|
2647
|
+
}
|
|
2648
|
+
const persisted = withRunRecordLock(record.runId, deps, () => {
|
|
2649
|
+
const latest = readRunRecord(record.runId, deps);
|
|
2650
|
+
if (latest) {
|
|
2651
|
+
if (latest.pid !== pid || latest.processStartedAt !== record.processStartedAt || latest.startedAt !== record.startedAt) {
|
|
2652
|
+
fail("record changed");
|
|
2653
|
+
}
|
|
2654
|
+
latest.processIdentity = "verified";
|
|
2655
|
+
writeRunRecord(latest, deps);
|
|
2656
|
+
}
|
|
2657
|
+
return true;
|
|
2658
|
+
}, { strict: true });
|
|
2659
|
+
if (persisted !== true) fail("identity persistence lock contended");
|
|
2624
2660
|
try {
|
|
2625
|
-
if (process.platform !== "win32") {
|
|
2661
|
+
if ((deps.platform ?? process.platform) !== "win32") {
|
|
2626
2662
|
kill(-pid, sig);
|
|
2627
2663
|
} else {
|
|
2628
2664
|
kill(pid, sig);
|
|
@@ -2666,7 +2702,7 @@ async function runSignalCommand(args, signal, verb, deps) {
|
|
|
2666
2702
|
`);
|
|
2667
2703
|
return 1;
|
|
2668
2704
|
}
|
|
2669
|
-
const reconciled = checkStaleRun(record.runId, deps) ?? record;
|
|
2705
|
+
const reconciled = record.status === "running" && typeof record.pid === "number" && isPidGone(record.pid, deps) ? checkStaleRun(record.runId, deps) ?? record : record;
|
|
2670
2706
|
if (isAgentRunTerminalStatus(reconciled.status)) {
|
|
2671
2707
|
deps.output.write(`Run ${reconciled.runId} is already ${reconciled.status}.
|
|
2672
2708
|
`);
|
|
@@ -2677,7 +2713,14 @@ async function runSignalCommand(args, signal, verb, deps) {
|
|
|
2677
2713
|
`);
|
|
2678
2714
|
return 1;
|
|
2679
2715
|
}
|
|
2680
|
-
|
|
2716
|
+
let confirmed;
|
|
2717
|
+
try {
|
|
2718
|
+
confirmed = await terminateRunProcess(reconciled, signal, deps);
|
|
2719
|
+
} catch (error) {
|
|
2720
|
+
deps.output.write(`${error instanceof Error ? error.message : String(error)}
|
|
2721
|
+
`);
|
|
2722
|
+
return 1;
|
|
2723
|
+
}
|
|
2681
2724
|
if (!confirmed) {
|
|
2682
2725
|
deps.output.write(
|
|
2683
2726
|
`Failed to ${verb} ${record.runId} (pid ${record.pid}): process still alive after SIGKILL.
|
|
@@ -2743,6 +2786,7 @@ export {
|
|
|
2743
2786
|
defaultGenerateBatchId,
|
|
2744
2787
|
withRunRecordLock,
|
|
2745
2788
|
writeRunRecord,
|
|
2789
|
+
reportRunProcessIdentity,
|
|
2746
2790
|
createRunActivityTracker,
|
|
2747
2791
|
readRunRecord,
|
|
2748
2792
|
backfillRunRecordParentDialog,
|
|
@@ -303,7 +303,7 @@ import {
|
|
|
303
303
|
terminateRunProcess,
|
|
304
304
|
transitionRunToTerminal,
|
|
305
305
|
withQueueLock
|
|
306
|
-
} from "./chunk-
|
|
306
|
+
} from "./chunk-URW5UM6Y.js";
|
|
307
307
|
import {
|
|
308
308
|
TASK_PREVIEW_MAX,
|
|
309
309
|
formatListRunsCard,
|
|
@@ -12169,7 +12169,7 @@ function createCliLocalRuntimeAdapter(deps) {
|
|
|
12169
12169
|
const recordRunExecutionIsolation = async () => {
|
|
12170
12170
|
try {
|
|
12171
12171
|
const { writeFileSync: writeFileSync4, mkdirSync: mkdirSync4 } = await import("node:fs");
|
|
12172
|
-
const { resolveRunsDir: resolveRunsDir2 } = await import("./agentRunControl-
|
|
12172
|
+
const { resolveRunsDir: resolveRunsDir2 } = await import("./agentRunControl-EI3BGJFM.js");
|
|
12173
12173
|
const fact = resolveLocalRunExecutionIsolationFact({
|
|
12174
12174
|
// F1:显式点名宿主执行的 run 在审计里必须与 docker 沙盒区分开
|
|
12175
12175
|
// (reason: host-explicit-writes vs docker-workload)。
|
|
@@ -12201,7 +12201,7 @@ function createCliLocalRuntimeAdapter(deps) {
|
|
|
12201
12201
|
dockerWorkloadReleased = true;
|
|
12202
12202
|
dockerWorkloadLoad = null;
|
|
12203
12203
|
if (loaded) {
|
|
12204
|
-
const { resolveRunsDir: resolveRunsDir2 } = await import("./agentRunControl-
|
|
12204
|
+
const { resolveRunsDir: resolveRunsDir2 } = await import("./agentRunControl-EI3BGJFM.js");
|
|
12205
12205
|
const exportRunDiff = deps.exportDockerRunDiffArtifact ?? exportDockerRunDiffArtifact;
|
|
12206
12206
|
const warn = (message) => process.stderr.write(`[nolo] ${message}
|
|
12207
12207
|
`);
|
|
@@ -110,7 +110,7 @@ function createDaemonShortcutCommand(path, description, command) {
|
|
|
110
110
|
// packages/cli/agentInternalCommandEntries.ts
|
|
111
111
|
function getAgentInternalCommandEntries() {
|
|
112
112
|
const createAgentRunCommand = (path, description) => createContextCommand(path, description, async (args, ctx) => {
|
|
113
|
-
const { runAgentRunCommand } = await import("./agentRunCommand-
|
|
113
|
+
const { runAgentRunCommand } = await import("./agentRunCommand-U2F74LTS.js");
|
|
114
114
|
return runAgentRunCommand(args, {
|
|
115
115
|
env: ctx.env,
|
|
116
116
|
scriptDir: ctx.scriptDir,
|
|
@@ -126,7 +126,7 @@ function getAgentInternalCommandEntries() {
|
|
|
126
126
|
return runAgentListCommand(args, deps);
|
|
127
127
|
}),
|
|
128
128
|
createEnvCommand(["agent", "create"], "Create a new agent", async (args, deps) => {
|
|
129
|
-
const { runAgentCreateCommand } = await import("./agentRecordCommands-
|
|
129
|
+
const { runAgentCreateCommand } = await import("./agentRecordCommands-PDWACZFR.js");
|
|
130
130
|
return runAgentCreateCommand(args, deps);
|
|
131
131
|
}),
|
|
132
132
|
createEnvCommand(["agent", "models"], "List models: --preset <id> (server discovery, exit 1 on static fallback) or --url <base> --api-key <key> (OpenAI-compatible /models)", async (args, deps) => {
|
|
@@ -142,28 +142,28 @@ function getAgentInternalCommandEntries() {
|
|
|
142
142
|
return runAgentPullCommand(args, deps);
|
|
143
143
|
}),
|
|
144
144
|
createEnvCommand(["agent", "read"], "Read a single agent", async (args, deps) => {
|
|
145
|
-
const { runAgentReadCommand } = await import("./agentRecordCommands-
|
|
145
|
+
const { runAgentReadCommand } = await import("./agentRecordCommands-PDWACZFR.js");
|
|
146
146
|
return runAgentReadCommand(args, deps);
|
|
147
147
|
}),
|
|
148
148
|
createAgentRunCommand(["agent", "run"], "Run an agent"),
|
|
149
149
|
createEnvCommand(["agent", "ps"], "List active and recent local agent runs (--json for machine-readable output)", async (_args, deps) => {
|
|
150
|
-
const { runAgentPsCommand } = await import("./agentRunControl-
|
|
150
|
+
const { runAgentPsCommand } = await import("./agentRunControl-EI3BGJFM.js");
|
|
151
151
|
return runAgentPsCommand(_args, { ...deps, output: process.stdout });
|
|
152
152
|
}),
|
|
153
153
|
createEnvCommand(["agent", "status"], "Show status of a local agent run (--json, --watch, --interval-ms N)", async (args, deps) => {
|
|
154
|
-
const { runAgentStatusCommand } = await import("./agentRunControl-
|
|
154
|
+
const { runAgentStatusCommand } = await import("./agentRunControl-EI3BGJFM.js");
|
|
155
155
|
return runAgentStatusCommand(args, { ...deps, output: process.stdout });
|
|
156
156
|
}),
|
|
157
157
|
createEnvCommand(["agent", "logs"], "Show logs of a local agent run", async (args, deps) => {
|
|
158
|
-
const { runAgentLogsCommand } = await import("./agentRunControl-
|
|
158
|
+
const { runAgentLogsCommand } = await import("./agentRunControl-EI3BGJFM.js");
|
|
159
159
|
return runAgentLogsCommand(args, { ...deps, output: process.stdout });
|
|
160
160
|
}),
|
|
161
161
|
createEnvCommand(["agent", "stop"], "Stop a local agent run", async (args, deps) => {
|
|
162
|
-
const { runAgentStopCommand } = await import("./agentRunControl-
|
|
162
|
+
const { runAgentStopCommand } = await import("./agentRunControl-EI3BGJFM.js");
|
|
163
163
|
return runAgentStopCommand(args, { ...deps, output: process.stdout });
|
|
164
164
|
}),
|
|
165
165
|
createEnvCommand(["agent", "kill"], "Kill a local agent run", async (args, deps) => {
|
|
166
|
-
const { runAgentKillCommand } = await import("./agentRunControl-
|
|
166
|
+
const { runAgentKillCommand } = await import("./agentRunControl-EI3BGJFM.js");
|
|
167
167
|
return runAgentKillCommand(args, { ...deps, output: process.stdout });
|
|
168
168
|
}),
|
|
169
169
|
createEnvCommand(["agent", "setup-offline-marxists"], "Create or update the Marxists.org offline book agent", async (args, deps) => {
|
|
@@ -171,31 +171,31 @@ function getAgentInternalCommandEntries() {
|
|
|
171
171
|
return runSetupOfflineMarxistsAgentCommand(args, deps);
|
|
172
172
|
}),
|
|
173
173
|
createEnvCommand(["agent", "update"], "Update agent fields", async (args, deps) => {
|
|
174
|
-
const { runAgentUpdateCommand } = await import("./agentRecordCommands-
|
|
174
|
+
const { runAgentUpdateCommand } = await import("./agentRecordCommands-PDWACZFR.js");
|
|
175
175
|
return runAgentUpdateCommand(args, deps);
|
|
176
176
|
}),
|
|
177
177
|
createEnvCommand(["agent", "email", "provision"], "Provision a controlled inbox for an agent", async (args, deps) => {
|
|
178
|
-
const { runAgentEmailProvisionCommand } = await import("./agentEmailCommands-
|
|
178
|
+
const { runAgentEmailProvisionCommand } = await import("./agentEmailCommands-M4SHODDA.js");
|
|
179
179
|
return runAgentEmailProvisionCommand(args, deps);
|
|
180
180
|
}),
|
|
181
181
|
createEnvCommand(["agent", "email", "bind"], "Bind an existing email address to an agent", async (args, deps) => {
|
|
182
|
-
const { runAgentEmailBindCommand } = await import("./agentEmailCommands-
|
|
182
|
+
const { runAgentEmailBindCommand } = await import("./agentEmailCommands-M4SHODDA.js");
|
|
183
183
|
return runAgentEmailBindCommand(args, deps);
|
|
184
184
|
}),
|
|
185
185
|
createEnvCommand(["agent", "email", "transfer"], "Transfer an email identity from one agent to another (cross-account)", async (args, deps) => {
|
|
186
|
-
const { runAgentEmailTransferCommand } = await import("./agentEmailCommands-
|
|
186
|
+
const { runAgentEmailTransferCommand } = await import("./agentEmailCommands-M4SHODDA.js");
|
|
187
187
|
return runAgentEmailTransferCommand(args, deps);
|
|
188
188
|
}),
|
|
189
189
|
createEnvCommand(
|
|
190
190
|
["agent", "email", "create-and-provision"],
|
|
191
191
|
"Create an agent and provision its controlled inbox",
|
|
192
192
|
async (args, deps) => {
|
|
193
|
-
const { runAgentEmailCreateAndProvisionCommand } = await import("./agentEmailCommands-
|
|
193
|
+
const { runAgentEmailCreateAndProvisionCommand } = await import("./agentEmailCommands-M4SHODDA.js");
|
|
194
194
|
return runAgentEmailCreateAndProvisionCommand(args, deps);
|
|
195
195
|
}
|
|
196
196
|
),
|
|
197
197
|
createEnvCommand(["agent", "delete"], "Hard-delete an agent's private and public records", async (args, deps) => {
|
|
198
|
-
const { runAgentDeleteCommand } = await import("./agentDeleteCommand-
|
|
198
|
+
const { runAgentDeleteCommand } = await import("./agentDeleteCommand-F66NIWCF.js");
|
|
199
199
|
return runAgentDeleteCommand(args, deps);
|
|
200
200
|
}),
|
|
201
201
|
createEnvCommand(["agent", "grant"], "Grant another user access to this agent's owner credentials", async (args, deps) => {
|
|
@@ -211,15 +211,15 @@ function getAgentInternalCommandEntries() {
|
|
|
211
211
|
return runAgentRevokeGrantCommand(args, deps);
|
|
212
212
|
}),
|
|
213
213
|
createEnvCommand(["agent", "bind-current"], "Bind an agent to this machine", async (args, deps) => {
|
|
214
|
-
const { runAgentBindCurrentCommand } = await import("./agentMachineCommands-
|
|
214
|
+
const { runAgentBindCurrentCommand } = await import("./agentMachineCommands-R55P5SZY.js");
|
|
215
215
|
return runAgentBindCurrentCommand(args, deps);
|
|
216
216
|
}),
|
|
217
217
|
createEnvCommand(["agent", "smoke-current"], "Smoke test a bound agent through this machine", async (args, deps) => {
|
|
218
|
-
const { runAgentSmokeCurrentCommand } = await import("./agentMachineCommands-
|
|
218
|
+
const { runAgentSmokeCurrentCommand } = await import("./agentMachineCommands-R55P5SZY.js");
|
|
219
219
|
return runAgentSmokeCurrentCommand(args, deps);
|
|
220
220
|
}),
|
|
221
221
|
createEnvCommand(["agent", "runtime-doctor"], "Diagnose current machine runtime compatibility", async (args, deps) => {
|
|
222
|
-
const { runAgentRuntimeDoctorCommand } = await import("./agentMachineCommands-
|
|
222
|
+
const { runAgentRuntimeDoctorCommand } = await import("./agentMachineCommands-R55P5SZY.js");
|
|
223
223
|
return runAgentRuntimeDoctorCommand(args, deps);
|
|
224
224
|
}),
|
|
225
225
|
createAgentRunCommand(["agent", "chat"], "Chat with an agent")
|
|
@@ -374,27 +374,27 @@ function getCiInternalCommandEntries() {
|
|
|
374
374
|
function getDialogInternalCommandEntries() {
|
|
375
375
|
return [
|
|
376
376
|
createEnvCommand(["dialog", "search"], "Search dialog messages across dialogs", async (args, deps) => {
|
|
377
|
-
const { runDialogSearchCommand } = await import("./dialogCommands-
|
|
377
|
+
const { runDialogSearchCommand } = await import("./dialogCommands-P5HSDZ7T.js");
|
|
378
378
|
return runDialogSearchCommand(args, deps);
|
|
379
379
|
}),
|
|
380
380
|
createEnvCommand(["dialog", "list"], "List dialogs (default --limit 50; --all/--limit 0 full; --jsonl streams)", async (args, deps) => {
|
|
381
|
-
const { runDialogListCommand } = await import("./dialogCommands-
|
|
381
|
+
const { runDialogListCommand } = await import("./dialogCommands-P5HSDZ7T.js");
|
|
382
382
|
return runDialogListCommand(args, deps);
|
|
383
383
|
}),
|
|
384
384
|
createEnvCommand(["dialog", "delete"], "Delete one or more dialogs", async (args, deps) => {
|
|
385
|
-
const { runDialogDeleteCommand } = await import("./dialogCommands-
|
|
385
|
+
const { runDialogDeleteCommand } = await import("./dialogCommands-P5HSDZ7T.js");
|
|
386
386
|
return runDialogDeleteCommand(args, deps);
|
|
387
387
|
}),
|
|
388
388
|
createEnvCommand(["dialog", "query"], "Query dialogs by subject refs (default --limit 50; --all full; --jsonl streams)", async (args, deps) => {
|
|
389
|
-
const { runDialogQueryCommand } = await import("./dialogCommands-
|
|
389
|
+
const { runDialogQueryCommand } = await import("./dialogCommands-P5HSDZ7T.js");
|
|
390
390
|
return runDialogQueryCommand(args, deps);
|
|
391
391
|
}),
|
|
392
392
|
createEnvCommand(["dialog", "read"], "Read a dialog", async (args, deps) => {
|
|
393
|
-
const { runDialogReadCommand } = await import("./dialogCommands-
|
|
393
|
+
const { runDialogReadCommand } = await import("./dialogCommands-P5HSDZ7T.js");
|
|
394
394
|
return runDialogReadCommand(args, deps);
|
|
395
395
|
}),
|
|
396
396
|
createEnvCommand(["dialog", "status"], "Read compact dialog status", async (args, deps) => {
|
|
397
|
-
const { runDialogStatusCommand } = await import("./dialogCommands-
|
|
397
|
+
const { runDialogStatusCommand } = await import("./dialogCommands-P5HSDZ7T.js");
|
|
398
398
|
return runDialogStatusCommand(args, deps);
|
|
399
399
|
})
|
|
400
400
|
];
|
|
@@ -530,15 +530,15 @@ function getSystemInternalCommandEntries(renderHelpText2) {
|
|
|
530
530
|
return runWhoamiCommand({ args, env: ctx.env });
|
|
531
531
|
}),
|
|
532
532
|
createEntrypointEnvCommand(["connect"], "Send machine heartbeats or hold a connector websocket", async (args, deps) => {
|
|
533
|
-
const { runMachineConnectCommand } = await import("./machineCommands-
|
|
533
|
+
const { runMachineConnectCommand } = await import("./machineCommands-3LSEP24P.js");
|
|
534
534
|
return runMachineConnectCommand(args, deps);
|
|
535
535
|
}),
|
|
536
536
|
createDaemonShortcutCommand(["daemon"], "Run the connector daemon shortcut", async (args, deps) => {
|
|
537
|
-
const { runMachineConnectCommand } = await import("./machineCommands-
|
|
537
|
+
const { runMachineConnectCommand } = await import("./machineCommands-3LSEP24P.js");
|
|
538
538
|
return runMachineConnectCommand(args, deps);
|
|
539
539
|
}),
|
|
540
540
|
createEnvCommand(["machine", "status"], "List machines registered to the current profile", async (args, deps) => {
|
|
541
|
-
const { runMachineStatusCommand } = await import("./machineCommands-
|
|
541
|
+
const { runMachineStatusCommand } = await import("./machineCommands-3LSEP24P.js");
|
|
542
542
|
return runMachineStatusCommand(args, deps);
|
|
543
543
|
}),
|
|
544
544
|
createEnvCommand(["doctor", "runtime"], "Diagnose local-first agent runtime selection", async (args, deps) => {
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
runDialogSearchCommand,
|
|
16
16
|
runDialogStatusCommand,
|
|
17
17
|
sortDialogs
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-IMMA7QFE.js";
|
|
19
19
|
import "./chunk-ID4G2MAR.js";
|
|
20
20
|
import "./chunk-LEZLJTQ4.js";
|
|
21
21
|
import "./chunk-Y5GCAMGP.js";
|
|
@@ -66,7 +66,7 @@ import "./chunk-M2EJHDJP.js";
|
|
|
66
66
|
import "./chunk-5EMSBTQ6.js";
|
|
67
67
|
import "./chunk-I42VC5KR.js";
|
|
68
68
|
import "./chunk-U6VC4MU4.js";
|
|
69
|
-
import "./chunk-
|
|
69
|
+
import "./chunk-URW5UM6Y.js";
|
|
70
70
|
import "./chunk-PJNFNEJE.js";
|
|
71
71
|
import "./chunk-PSCNXBYA.js";
|
|
72
72
|
import "./chunk-GAGGEA7D.js";
|
package/index.js
CHANGED
|
@@ -71,9 +71,9 @@ async function runScript(script, forwardedArgs, env) {
|
|
|
71
71
|
return proc.exited;
|
|
72
72
|
}
|
|
73
73
|
async function launchTuiWorkspace(args2) {
|
|
74
|
-
const { startTuiWorkspace } = await import("./readlineWorkspace-
|
|
74
|
+
const { startTuiWorkspace } = await import("./readlineWorkspace-OFBP6OA7.js");
|
|
75
75
|
const { createTuiSummaryLlmCaller } = await import("./tuiSummaryLlmCaller-FQOEF4IE.js");
|
|
76
|
-
const { setCliAutoCompactionSummaryFallback } = await import("./localRuntimeAdapter-
|
|
76
|
+
const { setCliAutoCompactionSummaryFallback } = await import("./localRuntimeAdapter-ZIAOTUBE.js");
|
|
77
77
|
setCliAutoCompactionSummaryFallback(
|
|
78
78
|
createTuiSummaryLlmCaller(args2.env, { timeoutMs: 3e4 })
|
|
79
79
|
);
|
|
@@ -85,7 +85,7 @@ async function launchTuiWorkspace(args2) {
|
|
|
85
85
|
});
|
|
86
86
|
}
|
|
87
87
|
async function main() {
|
|
88
|
-
const { createCliRuntimeContext, looksLikeDaemonShortcut, renderHelpText, resolveCommand, runResolvedCommand } = await import("./commandRegistry-
|
|
88
|
+
const { createCliRuntimeContext, looksLikeDaemonShortcut, renderHelpText, resolveCommand, runResolvedCommand } = await import("./commandRegistry-3XBG7JHS.js");
|
|
89
89
|
const { buildCliRuntimeEnv, loadProfileConfig } = await import("./profileConfig-KN3N2BLF.js");
|
|
90
90
|
const { resolveTuiLaunchMode } = await import("./runtimeModeArgs-2Y7BALTO.js");
|
|
91
91
|
const runtimeEnv = {
|
|
@@ -46,7 +46,7 @@ import {
|
|
|
46
46
|
withRuntimeEnabledPacksAndPrompt,
|
|
47
47
|
writeDialog,
|
|
48
48
|
writeLocalTokenRecord
|
|
49
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-WC7UXON2.js";
|
|
50
50
|
import "./chunk-G3VYRPTV.js";
|
|
51
51
|
import "./chunk-R4BMKAR5.js";
|
|
52
52
|
import "./chunk-TDX2L4W2.js";
|
|
@@ -164,7 +164,7 @@ import "./chunk-I42VC5KR.js";
|
|
|
164
164
|
import "./chunk-U6VC4MU4.js";
|
|
165
165
|
import {
|
|
166
166
|
setRemoteDialogSyncTimeoutForTest
|
|
167
|
-
} from "./chunk-
|
|
167
|
+
} from "./chunk-URW5UM6Y.js";
|
|
168
168
|
import "./chunk-PJNFNEJE.js";
|
|
169
169
|
import "./chunk-PSCNXBYA.js";
|
|
170
170
|
import "./chunk-FDLDMJTM.js";
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
buildMachinePermissionPromptBlock,
|
|
3
3
|
handleConnectorRunMessage,
|
|
4
4
|
resolveMachineRunPermissionPolicy
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-Z6HR75HX.js";
|
|
6
6
|
import {
|
|
7
7
|
MAX_CONNECTOR_TIMER_DELAY_MS,
|
|
8
8
|
clampConnectorTimerDelayMs,
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
resolveConnectorProbeTimeoutMs,
|
|
12
12
|
resolveConnectorWebSocketTarget
|
|
13
13
|
} from "./chunk-BLVSFYQ3.js";
|
|
14
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-WC7UXON2.js";
|
|
15
15
|
import "./chunk-G3VYRPTV.js";
|
|
16
16
|
import "./chunk-R4BMKAR5.js";
|
|
17
17
|
import "./chunk-TDX2L4W2.js";
|
|
@@ -135,7 +135,7 @@ import "./chunk-M2EJHDJP.js";
|
|
|
135
135
|
import "./chunk-5EMSBTQ6.js";
|
|
136
136
|
import "./chunk-I42VC5KR.js";
|
|
137
137
|
import "./chunk-U6VC4MU4.js";
|
|
138
|
-
import "./chunk-
|
|
138
|
+
import "./chunk-URW5UM6Y.js";
|
|
139
139
|
import "./chunk-PJNFNEJE.js";
|
|
140
140
|
import "./chunk-PSCNXBYA.js";
|
|
141
141
|
import "./chunk-FDLDMJTM.js";
|
|
@@ -11,8 +11,8 @@ import {
|
|
|
11
11
|
runtimeWorkspacePermissionPolicy,
|
|
12
12
|
scopePermissionPolicyToRuntimeWorkspace,
|
|
13
13
|
summarizeAgentConfigForLogs
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-Z6HR75HX.js";
|
|
15
|
+
import "./chunk-WC7UXON2.js";
|
|
16
16
|
import "./chunk-G3VYRPTV.js";
|
|
17
17
|
import "./chunk-R4BMKAR5.js";
|
|
18
18
|
import "./chunk-TDX2L4W2.js";
|
|
@@ -123,7 +123,7 @@ import "./chunk-M2EJHDJP.js";
|
|
|
123
123
|
import "./chunk-5EMSBTQ6.js";
|
|
124
124
|
import "./chunk-I42VC5KR.js";
|
|
125
125
|
import "./chunk-U6VC4MU4.js";
|
|
126
|
-
import "./chunk-
|
|
126
|
+
import "./chunk-URW5UM6Y.js";
|
|
127
127
|
import "./chunk-PJNFNEJE.js";
|
|
128
128
|
import "./chunk-PSCNXBYA.js";
|
|
129
129
|
import "./chunk-FDLDMJTM.js";
|
package/package.json
CHANGED
|
@@ -90,7 +90,7 @@ import {
|
|
|
90
90
|
wrapTextToLines,
|
|
91
91
|
wrapTranscriptLine,
|
|
92
92
|
wrapTranscriptLineWithLayout
|
|
93
|
-
} from "./chunk-
|
|
93
|
+
} from "./chunk-O2AY3CVI.js";
|
|
94
94
|
import "./chunk-6QDYSCPW.js";
|
|
95
95
|
import "./chunk-DHNQA4VI.js";
|
|
96
96
|
import {
|
|
@@ -102,7 +102,7 @@ import {
|
|
|
102
102
|
createCliLocalRuntimeAdapter,
|
|
103
103
|
createOriginShellGrant,
|
|
104
104
|
readTimestamp
|
|
105
|
-
} from "./chunk-
|
|
105
|
+
} from "./chunk-WC7UXON2.js";
|
|
106
106
|
import "./chunk-G3VYRPTV.js";
|
|
107
107
|
import "./chunk-R4BMKAR5.js";
|
|
108
108
|
import {
|
|
@@ -123,7 +123,7 @@ import {
|
|
|
123
123
|
normalizeDialogRecord,
|
|
124
124
|
readDialogSnapshot,
|
|
125
125
|
sortDialogs
|
|
126
|
-
} from "./chunk-
|
|
126
|
+
} from "./chunk-IMMA7QFE.js";
|
|
127
127
|
import "./chunk-ID4G2MAR.js";
|
|
128
128
|
import {
|
|
129
129
|
listUserRecordsFromServers,
|
|
@@ -320,7 +320,7 @@ import {
|
|
|
320
320
|
isRunRecordClaimed,
|
|
321
321
|
listRunRecords,
|
|
322
322
|
readRunRecord
|
|
323
|
-
} from "./chunk-
|
|
323
|
+
} from "./chunk-URW5UM6Y.js";
|
|
324
324
|
import {
|
|
325
325
|
clipText,
|
|
326
326
|
formatDuration,
|