nolo-cli 0.30.0-alpha.18 → 0.30.0-alpha.20

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.
Files changed (66) hide show
  1. package/{_executeModel-RPVEFWZE.js → _executeModel-LW6XMEQD.js} +14 -14
  2. package/{agentDeleteCommand-ALMEJQSN.js → agentDeleteCommand-QQPG6AQH.js} +11 -11
  3. package/{agentEmailCommands-SKPDD2H5.js → agentEmailCommands-A2B3LAYP.js} +17 -17
  4. package/{agentListCommands-J5KXCTG7.js → agentListCommands-W7I62AVC.js} +13 -13
  5. package/{agentMachineCommands-5EO36JQP.js → agentMachineCommands-JKL7NOXS.js} +11 -11
  6. package/{agentRecordCommands-SHDXGMCT.js → agentRecordCommands-AIAB73R4.js} +17 -17
  7. package/{agentRunCommand-EHBIBRYS.js → agentRunCommand-C4AYZUAT.js} +17 -17
  8. package/{agentRunControl-AKBN2366.js → agentRunControl-SCIVRZWX.js} +9 -1
  9. package/{agentRuntimeLocal-33HIW2B5.js → agentRuntimeLocal-DA4COW6A.js} +8 -8
  10. package/{agentSlice-Z67XJAEB.js → agentSlice-DSOHD3MB.js} +1 -1
  11. package/{appDeleteCommands-D4DKOPEO.js → appDeleteCommands-EYCHHGBM.js} +12 -12
  12. package/{appDeployCommands-KBMBOWDJ.js → appDeployCommands-AA6N3ZVV.js} +12 -12
  13. package/{appDeployStatusCommands-LPNXC35V.js → appDeployStatusCommands-2DO4AB5S.js} +12 -12
  14. package/{appGetCommands-J5BV36OP.js → appGetCommands-JZ5UFPSO.js} +12 -12
  15. package/{appListCommands-TBPOEBGL.js → appListCommands-4DJRONNU.js} +12 -12
  16. package/{chunk-ISCO75E2.js → chunk-3SCONADU.js} +1 -1
  17. package/{chunk-Y37L6ZJJ.js → chunk-64LVM22D.js} +8 -8
  18. package/{chunk-APH6YKRU.js → chunk-6EWJFERV.js} +2 -2
  19. package/{chunk-M4TQ5FES.js → chunk-6M5ICJPJ.js} +4 -4
  20. package/{chunk-4SAV7BD7.js → chunk-7KNERA53.js} +53 -15
  21. package/{chunk-CGRGHTRM.js → chunk-7WNY3WEK.js} +5 -5
  22. package/{chunk-ZFMBGISW.js → chunk-AK7XNO3W.js} +2 -2
  23. package/{chunk-OYWWNU4S.js → chunk-E2N2B4V4.js} +1 -1
  24. package/{chunk-6CABEXHO.js → chunk-EKVRQQWQ.js} +3 -3
  25. package/{chunk-FKSFP7XK.js → chunk-EUTKGPCR.js} +24 -16
  26. package/{chunk-FRHQTJSE.js → chunk-HF5JU6H6.js} +2 -2
  27. package/{chunk-MXHPQ4ZP.js → chunk-JSE3MHSM.js} +1 -1
  28. package/{chunk-L7YEJWTK.js → chunk-KVT5HYP4.js} +1 -1
  29. package/{chunk-DFIDPY57.js → chunk-L5K5RQSD.js} +1 -1
  30. package/{chunk-6XASEZZC.js → chunk-MZWET5XZ.js} +2 -2
  31. package/{chunk-QDVKSUVS.js → chunk-O2C4C6KG.js} +1 -1
  32. package/{chunk-O6PR7OEC.js → chunk-OISWAB2K.js} +12 -9
  33. package/{chunk-JVKITFNK.js → chunk-P554G7UT.js} +2 -2
  34. package/{chunk-CCBEUTI3.js → chunk-PDOJZ63B.js} +3 -3
  35. package/{chunk-JSQBUSDX.js → chunk-PDXNQKOK.js} +3 -3
  36. package/{chunk-ZLJWBBPK.js → chunk-T42XB7CG.js} +1 -1
  37. package/{chunk-FBXHGRKK.js → chunk-UNTKW3PH.js} +3 -3
  38. package/{chunk-C5LUFXRU.js → chunk-UPXS3PUC.js} +2 -2
  39. package/{chunk-MTJ3QIP7.js → chunk-W4UIMWYV.js} +3 -3
  40. package/{chunk-XCCPWF3M.js → chunk-WJBS5LLH.js} +8 -8
  41. package/{chunk-JPPZ7KOT.js → chunk-X4H5KOUK.js} +8 -8
  42. package/{chunk-DYSVCA3I.js → chunk-XAJUBTKJ.js} +5 -5
  43. package/{createAgentAutomationAction-FC5JXI7R.js → createAgentAutomationAction-3IA4MYO3.js} +3 -3
  44. package/{createDialogAction-L56Q2KGL.js → createDialogAction-45X273ND.js} +4 -4
  45. package/{createPageAction-23K4MGBC.js → createPageAction-2B2R7D77.js} +3 -3
  46. package/{db-IPCJ43PW.js → db-6DPSJ6WT.js} +4 -2
  47. package/{dialogCommands-IXX4KIO4.js → dialogCommands-5M2Z7QVJ.js} +12 -12
  48. package/{dialogSlice-4L4UXF7H.js → dialogSlice-KYF3FAOK.js} +2 -2
  49. package/{docCreateCommands-CD4V2W3D.js → docCreateCommands-LBOVRLYF.js} +11 -11
  50. package/{docDeleteCommands-PORKB6MK.js → docDeleteCommands-VK5GIBEA.js} +12 -12
  51. package/{docReadCommands-4Y3FIOON.js → docReadCommands-E3SQN6LN.js} +11 -11
  52. package/{docStore-Y6CJ4EMN.js → docStore-2RB2S465.js} +4 -4
  53. package/{docUpdateCommands-OTQZYIDN.js → docUpdateCommands-YF6YOQDR.js} +11 -11
  54. package/{handleSendMessageAction-R775ABXT.js → handleSendMessageAction-XCOWKRQF.js} +2 -2
  55. package/index.js +45 -45
  56. package/{localDialogRead-P72W2U2R.js → localDialogRead-3DBXVYXS.js} +1 -1
  57. package/{machineCommands-WK6KQ4OF.js → machineCommands-75YQ7FO3.js} +16 -16
  58. package/{machineWsRunDispatch-H22DDQUD.js → machineWsRunDispatch-NS37M6VP.js} +16 -16
  59. package/package.json +1 -1
  60. package/{readlineWorkspace-H4RG3P2X.js → readlineWorkspace-MJMNMSOD.js} +20 -20
  61. package/{runAgentClientLoop-X62DJXWK.js → runAgentClientLoop-JPLRHUUZ.js} +11 -11
  62. package/{spaceCommands-UENBIIAG.js → spaceCommands-RNJYLPTF.js} +11 -11
  63. package/{spaceSlice-RSRIBG3I.js → spaceSlice-C4QIRTSA.js} +3 -3
  64. package/{streamAgentChatTurn-5SFVRLJX.js → streamAgentChatTurn-TP7XSPS2.js} +13 -13
  65. package/{tools-XZTXW7W4.js → tools-N6DZQQXE.js} +8 -8
  66. package/{updateDialogTitleAction-6NV52GCP.js → updateDialogTitleAction-ANZ4DQ5T.js} +3 -3
@@ -5,38 +5,38 @@ import {
5
5
  pickDefined,
6
6
  printCliError,
7
7
  resolveCliContext
8
- } from "./chunk-ISCO75E2.js";
8
+ } from "./chunk-3SCONADU.js";
9
9
  import {
10
10
  hasFlag,
11
11
  hasHelpArg
12
- } from "./chunk-QDVKSUVS.js";
13
- import "./chunk-DFIDPY57.js";
14
- import "./chunk-L7YEJWTK.js";
12
+ } from "./chunk-O2C4C6KG.js";
13
+ import "./chunk-L5K5RQSD.js";
14
+ import "./chunk-KVT5HYP4.js";
15
15
  import "./chunk-K6QEHQZ3.js";
16
- import "./chunk-MTJ3QIP7.js";
16
+ import "./chunk-W4UIMWYV.js";
17
17
  import "./chunk-ZNFJWEN4.js";
18
18
  import "./chunk-65677FXQ.js";
19
19
  import "./chunk-OIQPORYI.js";
20
20
  import "./chunk-T27IEBNQ.js";
21
- import "./chunk-DYSVCA3I.js";
21
+ import "./chunk-XAJUBTKJ.js";
22
22
  import "./chunk-N7J63Q6C.js";
23
23
  import "./chunk-PJY5AH5A.js";
24
- import "./chunk-C5LUFXRU.js";
24
+ import "./chunk-UPXS3PUC.js";
25
25
  import "./chunk-D34RI6NI.js";
26
26
  import "./chunk-UDA3ZYLW.js";
27
27
  import "./chunk-4PWB7JRR.js";
28
28
  import "./chunk-2MBTWINN.js";
29
- import "./chunk-FBXHGRKK.js";
30
- import "./chunk-ZFMBGISW.js";
29
+ import "./chunk-UNTKW3PH.js";
30
+ import "./chunk-AK7XNO3W.js";
31
31
  import "./chunk-SWYMCHM7.js";
32
32
  import "./chunk-44HACRCK.js";
33
33
  import "./chunk-DCDL3GC4.js";
34
34
  import "./chunk-E3APEOIM.js";
35
- import "./chunk-6XASEZZC.js";
36
- import "./chunk-XCCPWF3M.js";
35
+ import "./chunk-MZWET5XZ.js";
36
+ import "./chunk-WJBS5LLH.js";
37
37
  import "./chunk-OB6FBSH3.js";
38
38
  import "./chunk-ATK5WJOA.js";
39
- import "./chunk-6CABEXHO.js";
39
+ import "./chunk-EKVRQQWQ.js";
40
40
  import "./chunk-JZPBVBIY.js";
41
41
  import "./chunk-5RGU3J7P.js";
42
42
  import "./chunk-M76ECQRD.js";
@@ -4,38 +4,38 @@ import {
4
4
  outputResult,
5
5
  printCliError,
6
6
  resolveCliContext
7
- } from "./chunk-ISCO75E2.js";
7
+ } from "./chunk-3SCONADU.js";
8
8
  import {
9
9
  hasFlag,
10
10
  hasHelpArg
11
- } from "./chunk-QDVKSUVS.js";
12
- import "./chunk-DFIDPY57.js";
13
- import "./chunk-L7YEJWTK.js";
11
+ } from "./chunk-O2C4C6KG.js";
12
+ import "./chunk-L5K5RQSD.js";
13
+ import "./chunk-KVT5HYP4.js";
14
14
  import "./chunk-K6QEHQZ3.js";
15
- import "./chunk-MTJ3QIP7.js";
15
+ import "./chunk-W4UIMWYV.js";
16
16
  import "./chunk-ZNFJWEN4.js";
17
17
  import "./chunk-65677FXQ.js";
18
18
  import "./chunk-OIQPORYI.js";
19
19
  import "./chunk-T27IEBNQ.js";
20
- import "./chunk-DYSVCA3I.js";
20
+ import "./chunk-XAJUBTKJ.js";
21
21
  import "./chunk-N7J63Q6C.js";
22
22
  import "./chunk-PJY5AH5A.js";
23
- import "./chunk-C5LUFXRU.js";
23
+ import "./chunk-UPXS3PUC.js";
24
24
  import "./chunk-D34RI6NI.js";
25
25
  import "./chunk-UDA3ZYLW.js";
26
26
  import "./chunk-4PWB7JRR.js";
27
27
  import "./chunk-2MBTWINN.js";
28
- import "./chunk-FBXHGRKK.js";
29
- import "./chunk-ZFMBGISW.js";
28
+ import "./chunk-UNTKW3PH.js";
29
+ import "./chunk-AK7XNO3W.js";
30
30
  import "./chunk-SWYMCHM7.js";
31
31
  import "./chunk-44HACRCK.js";
32
32
  import "./chunk-DCDL3GC4.js";
33
33
  import "./chunk-E3APEOIM.js";
34
- import "./chunk-6XASEZZC.js";
35
- import "./chunk-XCCPWF3M.js";
34
+ import "./chunk-MZWET5XZ.js";
35
+ import "./chunk-WJBS5LLH.js";
36
36
  import "./chunk-OB6FBSH3.js";
37
37
  import "./chunk-ATK5WJOA.js";
38
- import "./chunk-6CABEXHO.js";
38
+ import "./chunk-EKVRQQWQ.js";
39
39
  import "./chunk-JZPBVBIY.js";
40
40
  import "./chunk-5RGU3J7P.js";
41
41
  import "./chunk-M76ECQRD.js";
@@ -5,38 +5,38 @@ import {
5
5
  pickDefined,
6
6
  printCliError,
7
7
  resolveCliContext
8
- } from "./chunk-ISCO75E2.js";
8
+ } from "./chunk-3SCONADU.js";
9
9
  import {
10
10
  hasFlag,
11
11
  hasHelpArg
12
- } from "./chunk-QDVKSUVS.js";
13
- import "./chunk-DFIDPY57.js";
14
- import "./chunk-L7YEJWTK.js";
12
+ } from "./chunk-O2C4C6KG.js";
13
+ import "./chunk-L5K5RQSD.js";
14
+ import "./chunk-KVT5HYP4.js";
15
15
  import "./chunk-K6QEHQZ3.js";
16
- import "./chunk-MTJ3QIP7.js";
16
+ import "./chunk-W4UIMWYV.js";
17
17
  import "./chunk-ZNFJWEN4.js";
18
18
  import "./chunk-65677FXQ.js";
19
19
  import "./chunk-OIQPORYI.js";
20
20
  import "./chunk-T27IEBNQ.js";
21
- import "./chunk-DYSVCA3I.js";
21
+ import "./chunk-XAJUBTKJ.js";
22
22
  import "./chunk-N7J63Q6C.js";
23
23
  import "./chunk-PJY5AH5A.js";
24
- import "./chunk-C5LUFXRU.js";
24
+ import "./chunk-UPXS3PUC.js";
25
25
  import "./chunk-D34RI6NI.js";
26
26
  import "./chunk-UDA3ZYLW.js";
27
27
  import "./chunk-4PWB7JRR.js";
28
28
  import "./chunk-2MBTWINN.js";
29
- import "./chunk-FBXHGRKK.js";
30
- import "./chunk-ZFMBGISW.js";
29
+ import "./chunk-UNTKW3PH.js";
30
+ import "./chunk-AK7XNO3W.js";
31
31
  import "./chunk-SWYMCHM7.js";
32
32
  import "./chunk-44HACRCK.js";
33
33
  import "./chunk-DCDL3GC4.js";
34
34
  import "./chunk-E3APEOIM.js";
35
- import "./chunk-6XASEZZC.js";
36
- import "./chunk-XCCPWF3M.js";
35
+ import "./chunk-MZWET5XZ.js";
36
+ import "./chunk-WJBS5LLH.js";
37
37
  import "./chunk-OB6FBSH3.js";
38
38
  import "./chunk-ATK5WJOA.js";
39
- import "./chunk-6CABEXHO.js";
39
+ import "./chunk-EKVRQQWQ.js";
40
40
  import "./chunk-JZPBVBIY.js";
41
41
  import "./chunk-5RGU3J7P.js";
42
42
  import "./chunk-M76ECQRD.js";
@@ -5,38 +5,38 @@ import {
5
5
  pickDefined,
6
6
  printCliError,
7
7
  resolveCliContext
8
- } from "./chunk-ISCO75E2.js";
8
+ } from "./chunk-3SCONADU.js";
9
9
  import {
10
10
  hasFlag,
11
11
  hasHelpArg
12
- } from "./chunk-QDVKSUVS.js";
13
- import "./chunk-DFIDPY57.js";
14
- import "./chunk-L7YEJWTK.js";
12
+ } from "./chunk-O2C4C6KG.js";
13
+ import "./chunk-L5K5RQSD.js";
14
+ import "./chunk-KVT5HYP4.js";
15
15
  import "./chunk-K6QEHQZ3.js";
16
- import "./chunk-MTJ3QIP7.js";
16
+ import "./chunk-W4UIMWYV.js";
17
17
  import "./chunk-ZNFJWEN4.js";
18
18
  import "./chunk-65677FXQ.js";
19
19
  import "./chunk-OIQPORYI.js";
20
20
  import "./chunk-T27IEBNQ.js";
21
- import "./chunk-DYSVCA3I.js";
21
+ import "./chunk-XAJUBTKJ.js";
22
22
  import "./chunk-N7J63Q6C.js";
23
23
  import "./chunk-PJY5AH5A.js";
24
- import "./chunk-C5LUFXRU.js";
24
+ import "./chunk-UPXS3PUC.js";
25
25
  import "./chunk-D34RI6NI.js";
26
26
  import "./chunk-UDA3ZYLW.js";
27
27
  import "./chunk-4PWB7JRR.js";
28
28
  import "./chunk-2MBTWINN.js";
29
- import "./chunk-FBXHGRKK.js";
30
- import "./chunk-ZFMBGISW.js";
29
+ import "./chunk-UNTKW3PH.js";
30
+ import "./chunk-AK7XNO3W.js";
31
31
  import "./chunk-SWYMCHM7.js";
32
32
  import "./chunk-44HACRCK.js";
33
33
  import "./chunk-DCDL3GC4.js";
34
34
  import "./chunk-E3APEOIM.js";
35
- import "./chunk-6XASEZZC.js";
36
- import "./chunk-XCCPWF3M.js";
35
+ import "./chunk-MZWET5XZ.js";
36
+ import "./chunk-WJBS5LLH.js";
37
37
  import "./chunk-OB6FBSH3.js";
38
38
  import "./chunk-ATK5WJOA.js";
39
- import "./chunk-6CABEXHO.js";
39
+ import "./chunk-EKVRQQWQ.js";
40
40
  import "./chunk-JZPBVBIY.js";
41
41
  import "./chunk-5RGU3J7P.js";
42
42
  import "./chunk-M76ECQRD.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  requireTokenUser
3
- } from "./chunk-QDVKSUVS.js";
3
+ } from "./chunk-O2C4C6KG.js";
4
4
  import {
5
5
  resolveServerUrl
6
6
  } from "./chunk-A7GB5UGH.js";
@@ -19,12 +19,12 @@ import {
19
19
  parseAgentRunEvent,
20
20
  t,
21
21
  toolLabel
22
- } from "./chunk-FKSFP7XK.js";
22
+ } from "./chunk-EUTKGPCR.js";
23
23
  import {
24
24
  createRunActivityTracker,
25
25
  finalizeRunRecord,
26
26
  spawnLocalBackgroundRun
27
- } from "./chunk-4SAV7BD7.js";
27
+ } from "./chunk-7KNERA53.js";
28
28
  import {
29
29
  CliProviderQuotaError
30
30
  } from "./chunk-JDSUTNYY.js";
@@ -38,7 +38,7 @@ import {
38
38
  normalizeAgentHandle,
39
39
  readDbRecord,
40
40
  resolveAgentRecordFromHybridStore
41
- } from "./chunk-DFIDPY57.js";
41
+ } from "./chunk-L5K5RQSD.js";
42
42
  import {
43
43
  NOLO_PROJECT_MANAGER_AGENT_KEY,
44
44
  isLocalCliAgentKey
@@ -58,7 +58,7 @@ import {
58
58
  LOCAL_TURN_ABORTED_CODE,
59
59
  readActionGate,
60
60
  readCommandActionGatePayload
61
- } from "./chunk-DYSVCA3I.js";
61
+ } from "./chunk-XAJUBTKJ.js";
62
62
  import {
63
63
  createThinkParserState,
64
64
  flushThinkParser,
@@ -76,7 +76,7 @@ import {
76
76
  } from "./chunk-UDA3ZYLW.js";
77
77
  import {
78
78
  formatAgentListCard
79
- } from "./chunk-O6PR7OEC.js";
79
+ } from "./chunk-OISWAB2K.js";
80
80
  import {
81
81
  isGatewayHttpStatus
82
82
  } from "./chunk-Z5MXSEOJ.js";
@@ -95,14 +95,14 @@ import {
95
95
  chooseMemoryOwners,
96
96
  loadMemoryCandidatesFromDb,
97
97
  resolveAgentMemoryPolicy
98
- } from "./chunk-FRHQTJSE.js";
98
+ } from "./chunk-HF5JU6H6.js";
99
99
  import {
100
100
  API_REPORTED_COST_MULTIPLIER,
101
101
  DEFAULT_CONTEXT_WINDOW,
102
102
  getModelContextWindow,
103
103
  normalizeUsage,
104
104
  parseUiAskChoiceContent
105
- } from "./chunk-XCCPWF3M.js";
105
+ } from "./chunk-WJBS5LLH.js";
106
106
  import {
107
107
  clipCompactText
108
108
  } from "./chunk-OB6FBSH3.js";
@@ -3538,7 +3538,7 @@ function findCollapsedPasteSpanAt(buffer, pos, opts = {}) {
3538
3538
  // packages/cli/client/agentRun.ts
3539
3539
  import { ulid } from "ulid";
3540
3540
  async function loadRunLocalAgentTurn() {
3541
- const { runLocalAgentTurn } = await import("./agentRuntimeLocal-33HIW2B5.js");
3541
+ const { runLocalAgentTurn } = await import("./agentRuntimeLocal-DA4COW6A.js");
3542
3542
  return runLocalAgentTurn;
3543
3543
  }
3544
3544
  async function resolveCurrentMachineId(options) {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  clearCliLocalRuntimePreparedAgentCache
3
- } from "./chunk-FKSFP7XK.js";
3
+ } from "./chunk-EUTKGPCR.js";
4
4
  import {
5
5
  getReadableCliDb
6
6
  } from "./chunk-WFHXMLHZ.js";
@@ -12,7 +12,7 @@ import {
12
12
  resolveAgentRecordFromHybridStore,
13
13
  sanitizeAgentRecordForCliOutput,
14
14
  writeAgentRecord
15
- } from "./chunk-DFIDPY57.js";
15
+ } from "./chunk-L5K5RQSD.js";
16
16
  import {
17
17
  resolveCliAgentKeyInput
18
18
  } from "./chunk-K6QEHQZ3.js";
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  createCliLocalRuntimeAdapter,
3
3
  summarizeEndpoint
4
- } from "./chunk-FKSFP7XK.js";
4
+ } from "./chunk-EUTKGPCR.js";
5
5
  import {
6
6
  runLocalAgentTurn
7
- } from "./chunk-DYSVCA3I.js";
7
+ } from "./chunk-XAJUBTKJ.js";
8
8
  import {
9
9
  clipMultilineText
10
- } from "./chunk-FBXHGRKK.js";
10
+ } from "./chunk-UNTKW3PH.js";
11
11
  import {
12
12
  resolveLocalRuntimeEnvFromPolicy
13
- } from "./chunk-6CABEXHO.js";
13
+ } from "./chunk-EKVRQQWQ.js";
14
14
  import {
15
15
  toErrorMessage
16
16
  } from "./chunk-HNMXYYJR.js";
@@ -897,6 +897,44 @@ async function runAgentLogsCommand(args, deps) {
897
897
  deps.output.write(content);
898
898
  return 0;
899
899
  }
900
+ var TERMINATE_GRACE_MS = 1e4;
901
+ var TERMINATE_POLL_MS = 250;
902
+ var TERMINATE_KILL_GRACE_MS = 5e3;
903
+ async function terminateRunProcess(record, initialSignal, deps) {
904
+ const pid = record.pid;
905
+ if (typeof pid !== "number" || pid <= 0) return true;
906
+ const kill = deps.kill ?? ((p, s) => {
907
+ process.kill(p, s);
908
+ });
909
+ const sleep = deps.sleep ?? ((ms) => new Promise((r) => setTimeout(r, ms)));
910
+ const nowMs = () => deps.now ? deps.now().getTime() : Date.now();
911
+ const signalGroup = (sig) => {
912
+ try {
913
+ if (process.platform !== "win32") {
914
+ kill(-pid, sig);
915
+ } else {
916
+ kill(pid, sig);
917
+ }
918
+ } catch {
919
+ }
920
+ };
921
+ if (isPidGone(pid, deps)) return true;
922
+ signalGroup(initialSignal);
923
+ if (initialSignal === "SIGTERM") {
924
+ const deadline = nowMs() + TERMINATE_GRACE_MS;
925
+ while (!isPidGone(pid, deps) && nowMs() < deadline) {
926
+ await sleep(TERMINATE_POLL_MS);
927
+ }
928
+ }
929
+ if (!isPidGone(pid, deps)) {
930
+ signalGroup("SIGKILL");
931
+ const killDeadline = nowMs() + TERMINATE_KILL_GRACE_MS;
932
+ while (!isPidGone(pid, deps) && nowMs() < killDeadline) {
933
+ await sleep(TERMINATE_POLL_MS);
934
+ }
935
+ }
936
+ return isPidGone(pid, deps);
937
+ }
900
938
  async function runSignalCommand(args, signal, verb, deps) {
901
939
  const target = args[0];
902
940
  if (!target) {
@@ -915,23 +953,19 @@ async function runSignalCommand(args, signal, verb, deps) {
915
953
  `);
916
954
  return 1;
917
955
  }
918
- const kill = deps.kill ?? ((pid, sig) => process.kill(pid, sig));
919
- try {
920
- kill(record.pid, signal);
921
- } catch (error) {
922
- const code = error.code;
923
- if (code === "ESRCH") {
924
- deps.output.write(`Process ${record.pid} already exited.
925
- `);
926
- } else {
927
- deps.output.write(`Failed to ${verb} ${record.runId}: ${error}
928
- `);
929
- return 1;
930
- }
956
+ const confirmed = await terminateRunProcess(record, signal, deps);
957
+ if (!confirmed) {
958
+ deps.output.write(
959
+ `Failed to ${verb} ${record.runId} (pid ${record.pid}): process still alive after SIGKILL.
960
+ `
961
+ );
962
+ return 1;
931
963
  }
932
964
  finalizeRunRecord(record.runId, { status: "killed" }, deps);
933
- deps.output.write(`Sent ${signal} to ${record.runId} (pid ${record.pid}).
934
- `);
965
+ deps.output.write(
966
+ `Stopped ${record.runId} (pid ${record.pid}): process group confirmed gone.
967
+ `
968
+ );
935
969
  return 0;
936
970
  }
937
971
  async function runAgentStopCommand(args, deps) {
@@ -982,6 +1016,10 @@ export {
982
1016
  runAgentPsCommand,
983
1017
  runAgentStatusCommand,
984
1018
  runAgentLogsCommand,
1019
+ TERMINATE_GRACE_MS,
1020
+ TERMINATE_POLL_MS,
1021
+ TERMINATE_KILL_GRACE_MS,
1022
+ terminateRunProcess,
985
1023
  runAgentStopCommand,
986
1024
  runAgentKillCommand
987
1025
  };
@@ -9,7 +9,7 @@ import {
9
9
  requiresBareImageUrl,
10
10
  resolveToolGuidedSections,
11
11
  toBareImageUrlMessages
12
- } from "./chunk-C5LUFXRU.js";
12
+ } from "./chunk-UPXS3PUC.js";
13
13
  import {
14
14
  convertMessagesToResponsesInput,
15
15
  preserveAgentStateFields
@@ -26,7 +26,7 @@ import {
26
26
  } from "./chunk-4PWB7JRR.js";
27
27
  import {
28
28
  waitForAbortableDelay
29
- } from "./chunk-O6PR7OEC.js";
29
+ } from "./chunk-OISWAB2K.js";
30
30
  import {
31
31
  createDrainExhaustedResponse,
32
32
  isCoreDrainingBody,
@@ -36,15 +36,15 @@ import {
36
36
  } from "./chunk-Z5MXSEOJ.js";
37
37
  import {
38
38
  resolveBuiltinSkillPage
39
- } from "./chunk-FBXHGRKK.js";
39
+ } from "./chunk-UNTKW3PH.js";
40
40
  import {
41
41
  estimateTokenCount,
42
42
  shouldUseServerProxy
43
- } from "./chunk-XCCPWF3M.js";
43
+ } from "./chunk-WJBS5LLH.js";
44
44
  import {
45
45
  createFileCredentialBroker,
46
46
  fetchServerSyncedCredential
47
- } from "./chunk-6CABEXHO.js";
47
+ } from "./chunk-EKVRQQWQ.js";
48
48
  import {
49
49
  toErrorMessage
50
50
  } from "./chunk-HNMXYYJR.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  updateContentTitle
3
- } from "./chunk-6XASEZZC.js";
3
+ } from "./chunk-MZWET5XZ.js";
4
4
  import {
5
5
  require_date_fns
6
6
  } from "./chunk-M76ECQRD.js";
@@ -367,7 +367,7 @@ async function saveDocState(arg, { dispatch, getState }) {
367
367
  }
368
368
  }
369
369
  async function createDocState(args, thunkApi) {
370
- const { createPageAction } = await import("./createPageAction-23K4MGBC.js");
370
+ const { createPageAction } = await import("./createPageAction-2B2R7D77.js");
371
371
  return createPageAction(args, thunkApi);
372
372
  }
373
373
  function subscribe(listener) {
@@ -2,7 +2,7 @@ import {
2
2
  deleteDbRecord,
3
3
  queryUserRecords,
4
4
  readDbRecord
5
- } from "./chunk-DFIDPY57.js";
5
+ } from "./chunk-L5K5RQSD.js";
6
6
  import {
7
7
  mergeAndDedupUserData
8
8
  } from "./chunk-KQHGZWSV.js";
@@ -583,7 +583,7 @@ var slice = createSliceWithThunks({
583
583
  const overrides = {};
584
584
  if (args.systemPromptOverride !== void 0) overrides.prompt = args.systemPromptOverride;
585
585
  if (args.toolsOverride !== void 0) overrides.tools = args.toolsOverride;
586
- const { _executeModel } = await import("./_executeModel-RPVEFWZE.js");
586
+ const { _executeModel } = await import("./_executeModel-LW6XMEQD.js");
587
587
  return _executeModel(
588
588
  {
589
589
  isStreaming: args.isStreaming ?? false,
@@ -604,7 +604,7 @@ var slice = createSliceWithThunks({
604
604
  * - 循环直到无工具调用或触发其他运行时停止条件
605
605
  */
606
606
  runAgent: create.asyncThunk(async (args, thunkApi) => {
607
- const { runAgentClientLoop } = await import("./runAgentClientLoop-X62DJXWK.js");
607
+ const { runAgentClientLoop } = await import("./runAgentClientLoop-JPLRHUUZ.js");
608
608
  const { content: loopContent, toolCallCount } = await runAgentClientLoop(
609
609
  {
610
610
  agentKey: args.agentKey,
@@ -620,7 +620,7 @@ var slice = createSliceWithThunks({
620
620
  * 聊天轮次流式 Agent 调用
621
621
  */
622
622
  streamAgentChatTurn: create.asyncThunk(async (args, thunkApi) => {
623
- const { streamAgentChatTurnHandler } = await import("./streamAgentChatTurn-5SFVRLJX.js");
623
+ const { streamAgentChatTurnHandler } = await import("./streamAgentChatTurn-TP7XSPS2.js");
624
624
  return streamAgentChatTurnHandler(args, thunkApi);
625
625
  }),
626
626
  /**
@@ -15,8 +15,9 @@ import {
15
15
  gcRunRecords,
16
16
  queryRunRecords,
17
17
  releaseRunRecordAck,
18
- spawnLocalBackgroundRun
19
- } from "./chunk-4SAV7BD7.js";
18
+ spawnLocalBackgroundRun,
19
+ terminateRunProcess
20
+ } from "./chunk-7KNERA53.js";
20
21
  import {
21
22
  CliProviderQuotaError,
22
23
  executeCli
@@ -26,7 +27,7 @@ import {
26
27
  } from "./chunk-WJRJDX2W.js";
27
28
  import {
28
29
  buildLocalAgentLookupKeys
29
- } from "./chunk-L7YEJWTK.js";
30
+ } from "./chunk-KVT5HYP4.js";
30
31
  import {
31
32
  LOCAL_CODEX_AGENT_ID,
32
33
  LOCAL_CODEX_AGENT_KEY,
@@ -53,7 +54,7 @@ import {
53
54
  readOpenAiCompatibleSseCompletion,
54
55
  resolveAgentNextAvailableAt,
55
56
  resolveOpenAiCompatibleProviderConfig
56
- } from "./chunk-MTJ3QIP7.js";
57
+ } from "./chunk-W4UIMWYV.js";
57
58
  import {
58
59
  buildPlatformChatCompletionRequest,
59
60
  canUsePlatformChatProvider,
@@ -73,12 +74,12 @@ import {
73
74
  import {
74
75
  inlineImageUrlsForCustomProvider,
75
76
  prepareTools
76
- } from "./chunk-ZLJWBBPK.js";
77
+ } from "./chunk-T42XB7CG.js";
77
78
  import {
78
79
  inferCaptureIntent,
79
80
  resolveHistoricalToolContentCap,
80
81
  summarizeToolArguments
81
- } from "./chunk-DYSVCA3I.js";
82
+ } from "./chunk-XAJUBTKJ.js";
82
83
  import {
83
84
  getAntigravityUserAgent,
84
85
  isAntigravityOAuthAgent,
@@ -103,7 +104,7 @@ import {
103
104
  readXhsProfileFunctionSchema,
104
105
  rememberMemoryFunctionSchema,
105
106
  setTodoListFunc
106
- } from "./chunk-O6PR7OEC.js";
107
+ } from "./chunk-OISWAB2K.js";
107
108
  import {
108
109
  createDrainExhaustedResponse,
109
110
  isCoreDrainingBody,
@@ -127,13 +128,13 @@ import {
127
128
  parseNoloWorkspaceToolArguments,
128
129
  resolveAgentRequiredPackIds,
129
130
  resolveRuntimeToolSurfaceForAgent
130
- } from "./chunk-FBXHGRKK.js";
131
+ } from "./chunk-UNTKW3PH.js";
131
132
  import {
132
133
  applyTokenUsageToDayStats,
133
134
  prepareTokenUsageData,
134
135
  resolveBuiltinPlatformAgentConfig,
135
136
  runKeyed
136
- } from "./chunk-XCCPWF3M.js";
137
+ } from "./chunk-WJBS5LLH.js";
137
138
  import {
138
139
  BUILTIN_TITLE_LLM_CONFIG,
139
140
  clipCompactText
@@ -144,7 +145,7 @@ import {
144
145
  resolveCurrentRunRuntimeToolPolicy,
145
146
  resolveLocalWorkspaceExecutorOptionsFromPolicy,
146
147
  resolveRequestedRuntimeToolNames
147
- } from "./chunk-6CABEXHO.js";
148
+ } from "./chunk-EKVRQQWQ.js";
148
149
  import {
149
150
  createOAuthTokenStore,
150
151
  isTokenExpired,
@@ -2713,12 +2714,19 @@ function createCliControlAgentRunExecutor(deps = {}) {
2713
2714
  }
2714
2715
  }
2715
2716
  if (typeof record.pid === "number") {
2716
- try {
2717
- (deps.kill ?? ((pid, signal) => process.kill(pid, signal)))(
2718
- record.pid,
2719
- "SIGTERM"
2720
- );
2721
- } catch {
2717
+ const confirmed = await terminateRunProcess(record, "SIGTERM", deps);
2718
+ if (!confirmed) {
2719
+ return {
2720
+ content: JSON.stringify({
2721
+ runId: record.runId,
2722
+ found: true,
2723
+ status: record.status,
2724
+ stopConfirmed: false
2725
+ }),
2726
+ metadata: {
2727
+ displayData: `stop failed: process ${record.pid} still alive after SIGKILL`
2728
+ }
2729
+ };
2722
2730
  }
2723
2731
  }
2724
2732
  finalizeRunRecord(record.runId, { status: "killed" }, deps);
@@ -3,12 +3,12 @@ import {
3
3
  } from "./chunk-DCDL3GC4.js";
4
4
  import {
5
5
  addContentToSpace
6
- } from "./chunk-6XASEZZC.js";
6
+ } from "./chunk-MZWET5XZ.js";
7
7
  import {
8
8
  prepareAndPersistMessage,
9
9
  uiAskChoiceFunc,
10
10
  uiAskChoiceFunctionSchema
11
- } from "./chunk-XCCPWF3M.js";
11
+ } from "./chunk-WJBS5LLH.js";
12
12
  import {
13
13
  require_date_fns
14
14
  } from "./chunk-M76ECQRD.js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isOAuthApiKeyRef
3
- } from "./chunk-XCCPWF3M.js";
3
+ } from "./chunk-WJBS5LLH.js";
4
4
  import {
5
5
  getModelAbility
6
6
  } from "./chunk-WTGCTVJG.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  buildAgentRuntimeAgentLookupKeys,
3
3
  shouldFetchAgentRuntimeRecordRemotely
4
- } from "./chunk-FBXHGRKK.js";
4
+ } from "./chunk-UNTKW3PH.js";
5
5
 
6
6
  // packages/cli/client/localAgentRecords.ts
7
7
  var buildLocalAgentLookupKeys = buildAgentRuntimeAgentLookupKeys;
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  buildLocalAgentLookupKeys,
3
3
  shouldReadAgentKeyRemotely
4
- } from "./chunk-L7YEJWTK.js";
4
+ } from "./chunk-KVT5HYP4.js";
5
5
  import {
6
6
  resolveCliAgentKeyInput
7
7
  } from "./chunk-K6QEHQZ3.js";
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  deleteDialog,
3
3
  toast
4
- } from "./chunk-XCCPWF3M.js";
4
+ } from "./chunk-WJBS5LLH.js";
5
5
  import {
6
6
  createFileCredentialBroker,
7
7
  deleteServerSyncedCredential
8
- } from "./chunk-6CABEXHO.js";
8
+ } from "./chunk-EKVRQQWQ.js";
9
9
  import {
10
10
  require_date_fns
11
11
  } from "./chunk-M76ECQRD.js";