nolo-cli 0.184.0-alpha.1 → 0.185.0-alpha.2

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 (84) hide show
  1. package/{_executeModel-YYVG3FYU.js → _executeModel-5SGPPCT6.js} +19 -19
  2. package/{accountResolver-HPVXZJYD.js → accountResolver-NQJ57BVU.js} +1 -1
  3. package/{agentDeleteCommand-WAVA6O3U.js → agentDeleteCommand-RUBWHUMZ.js} +22 -22
  4. package/{agentEmailCommands-T5RB2RKP.js → agentEmailCommands-RXCDWZDW.js} +23 -23
  5. package/{agentListCommands-QZN5WVJ5.js → agentListCommands-IIVWUN2H.js} +11 -11
  6. package/{agentMachineCommands-BBADUZ7U.js → agentMachineCommands-SPQ3CCYU.js} +8 -8
  7. package/{agentRecordCommands-N4YEVYKR.js → agentRecordCommands-AKAQ7BRK.js} +22 -22
  8. package/{agentRunCommand-G7H745CP.js → agentRunCommand-S3VSGTS4.js} +23 -23
  9. package/{agentRuntimeLocal-ECGPI3CO.js → agentRuntimeLocal-CBDP2OYK.js} +5 -5
  10. package/{agentSlice-MS5G7UCC.js → agentSlice-2PEJP3NV.js} +1 -1
  11. package/{appDeleteCommands-BY2QK4FR.js → appDeleteCommands-OP4GGXEJ.js} +10 -10
  12. package/{appDeployCommands-UH2W6LPJ.js → appDeployCommands-LHTVLNL5.js} +10 -10
  13. package/{appDeployStatusCommands-I5DZQFKA.js → appDeployStatusCommands-BSDDQU7S.js} +10 -10
  14. package/{appGetCommands-ZBCBTEO3.js → appGetCommands-LNHGUJKF.js} +10 -10
  15. package/{appListCommands-ZA6NXKV3.js → appListCommands-RGOFZV5M.js} +10 -10
  16. package/{authCommand-RGOCQCQT.js → authCommand-NR6NELQ7.js} +1 -1
  17. package/{builtinSkillRegistry-HJCSXMKS.js → builtinSkillRegistry-RR35BY57.js} +4 -4
  18. package/{chromeCommands-BGL6JZMB.js → chromeCommands-EXJZ5HH5.js} +2 -2
  19. package/{chromeOpsCommands-MVGJZUOQ.js → chromeOpsCommands-ITBZEFBX.js} +27 -2
  20. package/{chunk-JWSHARJM.js → chunk-7DPEOMDL.js} +7 -7
  21. package/{chunk-NRYTWXXV.js → chunk-7XISFN2T.js} +1 -1
  22. package/{chunk-HWJZEUA6.js → chunk-7YW5OUQE.js} +3 -3
  23. package/{chunk-PZ7LKLIV.js → chunk-AA5GKA2X.js} +2 -2
  24. package/{chunk-NHBJHDVW.js → chunk-AKE53VMW.js} +1 -1
  25. package/{chunk-C3BYVRTJ.js → chunk-BJPALUYR.js} +2 -2
  26. package/{chunk-2FY2HA4R.js → chunk-CN6T5QKA.js} +5 -5
  27. package/{chunk-5ROGGWPM.js → chunk-D4JCY67U.js} +14 -14
  28. package/{chunk-MHC44FKA.js → chunk-DBEIHUCJ.js} +3 -3
  29. package/{chunk-WPWAD6NT.js → chunk-DWTNJZ63.js} +2 -2
  30. package/{chunk-3FTJG5NU.js → chunk-FKOCI2WR.js} +1 -1
  31. package/{chunk-MMSZKZWA.js → chunk-FSIJK37C.js} +1 -1
  32. package/{chunk-7AVKDSWD.js → chunk-HRLKX6YP.js} +1 -1
  33. package/{chunk-GTQKUQGF.js → chunk-IHQ7RMRS.js} +1 -1
  34. package/{chunk-JJWQ737H.js → chunk-IIGDVODZ.js} +1 -1
  35. package/{chunk-FO2BTDKY.js → chunk-IOQHM7ID.js} +4 -4
  36. package/{chunk-GDQ5KO2J.js → chunk-JJU5FBYH.js} +287 -16
  37. package/{chunk-F2P6YUHC.js → chunk-K3TVMCV3.js} +1 -1
  38. package/{chunk-P7JNYLDW.js → chunk-KHMJI7GE.js} +1 -1
  39. package/{chunk-PW5CM76N.js → chunk-KVUMIWLL.js} +3 -3
  40. package/{chunk-R2EDHCTI.js → chunk-M4JDIVIS.js} +2 -2
  41. package/{chunk-ORYQ2GDN.js → chunk-MIPGIRJJ.js} +3 -3
  42. package/{chunk-FAFNPFGS.js → chunk-MROMTEHV.js} +7 -7
  43. package/{chunk-5DVM4RIR.js → chunk-NCC2SYOD.js} +3 -3
  44. package/{chunk-TQU64H2A.js → chunk-QEGPFGKA.js} +2 -2
  45. package/{chunk-3GMGSUU2.js → chunk-SJGHZTLV.js} +2 -2
  46. package/{chunk-WGHIT2HH.js → chunk-VXCDYN6M.js} +8 -8
  47. package/{chunk-IR5IH6LH.js → chunk-WVIBJBDF.js} +10 -10
  48. package/{chunk-LPV7KKTB.js → chunk-YO3O7H2X.js} +530 -2
  49. package/{chunk-AWFDDOVW.js → chunk-YVAERPCH.js} +3 -3
  50. package/{chunk-GKKIZRJ6.js → chunk-YXTMZQGX.js} +11 -2
  51. package/{chunk-3PVH6HJG.js → chunk-YXTQJ2QR.js} +3 -3
  52. package/{chunk-MPIAKYZ7.js → chunk-YYKHIX4X.js} +1 -1
  53. package/{chunk-JX5XVFVW.js → chunk-ZC3CMUKU.js} +27 -3
  54. package/{chunk-B3BTDNEC.js → chunk-ZU2BF6Q4.js} +5 -5
  55. package/{chunk-DHMXTEM4.js → chunk-ZYI6K46I.js} +2 -2
  56. package/{chunk-TXJZ7QXG.js → chunk-ZZE2IJ5U.js} +2 -2
  57. package/{commandRegistry-XDGDMYU6.js → commandRegistry-IP34O6Y2.js} +70 -65
  58. package/{contentThunks-EWOORWBS.js → contentThunks-BSCTL5G3.js} +3 -3
  59. package/{cooldownCommands-5KIQ2FDU.js → cooldownCommands-IUU3ZH3L.js} +1 -1
  60. package/{createAgentAutomationAction-TRIAQUAK.js → createAgentAutomationAction-Y5W2FW3Y.js} +3 -3
  61. package/{createDialogAction-FXPXXDRR.js → createDialogAction-GIZ7QCRQ.js} +6 -6
  62. package/{createPageAction-HHFPJKBD.js → createPageAction-GFH4DXMX.js} +3 -3
  63. package/{dialogCommands-2M5NWSY2.js → dialogCommands-6MR232CJ.js} +10 -10
  64. package/{dialogSlice-4W7DJJC2.js → dialogSlice-U3X3CBR7.js} +2 -2
  65. package/{docCreateCommands-PKUJVJ5N.js → docCreateCommands-DAZJ2Y5E.js} +9 -9
  66. package/{docDeleteCommands-C3RNBHIH.js → docDeleteCommands-XO26LNIO.js} +10 -10
  67. package/{docReadCommands-JS4W26DI.js → docReadCommands-77XGRLD6.js} +9 -9
  68. package/{docStore-VBINJLRX.js → docStore-H2XCYODR.js} +1 -1
  69. package/{docUpdateCommands-NZWDQFDD.js → docUpdateCommands-QXN3MJAJ.js} +9 -9
  70. package/{handleSendMessageAction-FJKTVMCA.js → handleSendMessageAction-MZKFIPYL.js} +11 -11
  71. package/index.js +6 -6
  72. package/{localRuntimeAdapter-5ANB7V6J.js → localRuntimeAdapter-E2QDYFTW.js} +20 -20
  73. package/{machineCommands-A2NAILV6.js → machineCommands-SQELO6HH.js} +21 -21
  74. package/{machineWsRunDispatch-AWIGTEF6.js → machineWsRunDispatch-E33LUXWG.js} +21 -21
  75. package/package.json +1 -1
  76. package/{readlineWorkspace-GFKEHEXB.js → readlineWorkspace-V6GVWGIZ.js} +241 -32
  77. package/{runAgentClientLoop-KV6R3FSU.js → runAgentClientLoop-JRW5EA5U.js} +17 -17
  78. package/{secretCommands-Q65QRUI2.js → secretCommands-UZV7CPJY.js} +1 -1
  79. package/{spaceCommands-CIXBPVEY.js → spaceCommands-PHLKQ2AW.js} +8 -8
  80. package/{streamAgentChatTurn-RTQ2DU4K.js → streamAgentChatTurn-CBGAGRQL.js} +19 -19
  81. package/{tools-R6JLL5PS.js → tools-RVVZ2Y6V.js} +13 -13
  82. package/{updateCommands-WBGORNRR.js → updateCommands-MZCY6FXK.js} +3 -3
  83. package/{updateDialogTitleAction-2QNU4T4I.js → updateDialogTitleAction-2RKLYUPB.js} +3 -3
  84. package/{windowsSelfUpdate-EELBE4KH.js → windowsSelfUpdate-XV2MMQAC.js} +2 -2
@@ -2,7 +2,7 @@ import {
2
2
  buildMachinePermissionPromptBlock,
3
3
  handleConnectorRunMessage,
4
4
  resolveMachineRunPermissionPolicy
5
- } from "./chunk-2FY2HA4R.js";
5
+ } from "./chunk-CN6T5QKA.js";
6
6
  import {
7
7
  MAX_CONNECTOR_TIMER_DELAY_MS,
8
8
  clampConnectorTimerDelayMs,
@@ -11,16 +11,16 @@ import {
11
11
  resolveConnectorProbeTimeoutMs,
12
12
  resolveConnectorWebSocketTarget
13
13
  } from "./chunk-BLVSFYQ3.js";
14
- import "./chunk-GDQ5KO2J.js";
14
+ import "./chunk-JJU5FBYH.js";
15
15
  import "./chunk-D2J22QSE.js";
16
16
  import "./chunk-R4BMKAR5.js";
17
- import "./chunk-GKKIZRJ6.js";
17
+ import "./chunk-YXTMZQGX.js";
18
18
  import {
19
19
  parsePositiveFiniteNumberOrFallback
20
20
  } from "./chunk-Y5GCAMGP.js";
21
21
  import "./chunk-VP3BINY7.js";
22
22
  import "./chunk-LKZPX6YH.js";
23
- import "./chunk-MPIAKYZ7.js";
23
+ import "./chunk-YYKHIX4X.js";
24
24
  import "./chunk-NBTY7YJF.js";
25
25
  import "./chunk-VL5KOY2C.js";
26
26
  import {
@@ -33,14 +33,14 @@ import "./chunk-HGDKT2D6.js";
33
33
  import "./chunk-W6E5IXIP.js";
34
34
  import "./chunk-ATNTHIZI.js";
35
35
  import "./chunk-INFHX73M.js";
36
- import "./chunk-5DVM4RIR.js";
36
+ import "./chunk-NCC2SYOD.js";
37
37
  import "./chunk-HS7MLR74.js";
38
- import "./chunk-5ROGGWPM.js";
39
- import "./chunk-P7JNYLDW.js";
38
+ import "./chunk-D4JCY67U.js";
39
+ import "./chunk-KHMJI7GE.js";
40
40
  import "./chunk-KFHREHUQ.js";
41
41
  import "./chunk-OXME3PEE.js";
42
42
  import "./chunk-BAWAKW7X.js";
43
- import "./chunk-HWJZEUA6.js";
43
+ import "./chunk-7YW5OUQE.js";
44
44
  import "./chunk-NF64D32W.js";
45
45
  import {
46
46
  CORE_DRAIN_REASON
@@ -55,19 +55,19 @@ import "./chunk-KSTEXKL6.js";
55
55
  import "./chunk-AGIM7IMJ.js";
56
56
  import "./chunk-63W5N6P3.js";
57
57
  import "./chunk-VF4K2QE6.js";
58
- import "./chunk-C3BYVRTJ.js";
59
- import "./chunk-3PVH6HJG.js";
58
+ import "./chunk-BJPALUYR.js";
59
+ import "./chunk-YXTQJ2QR.js";
60
60
  import "./chunk-FDLDMJTM.js";
61
61
  import "./chunk-YPG7TUQD.js";
62
- import "./chunk-7AVKDSWD.js";
62
+ import "./chunk-HRLKX6YP.js";
63
63
  import "./chunk-ZJ7UHBJS.js";
64
- import "./chunk-WGHIT2HH.js";
64
+ import "./chunk-VXCDYN6M.js";
65
65
  import "./chunk-TZXPT53C.js";
66
66
  import "./chunk-523DITKR.js";
67
67
  import "./chunk-OFFL4DCR.js";
68
68
  import "./chunk-BYXBJQAS.js";
69
69
  import "./chunk-QYPE3TS3.js";
70
- import "./chunk-MHC44FKA.js";
70
+ import "./chunk-DBEIHUCJ.js";
71
71
  import "./chunk-4JH2UMJR.js";
72
72
  import "./chunk-ESMZW5PE.js";
73
73
  import "./chunk-5RGU3J7P.js";
@@ -91,8 +91,8 @@ import "./chunk-QQ56R7KS.js";
91
91
  import "./chunk-OW765XBU.js";
92
92
  import "./chunk-PXYBUFDB.js";
93
93
  import "./chunk-D2MDMY2M.js";
94
- import "./chunk-TXJZ7QXG.js";
95
- import "./chunk-NRYTWXXV.js";
94
+ import "./chunk-ZZE2IJ5U.js";
95
+ import "./chunk-7XISFN2T.js";
96
96
  import "./chunk-EUGTFFO6.js";
97
97
  import "./chunk-AETZ7AD6.js";
98
98
  import "./chunk-Y6ORVLSS.js";
@@ -102,7 +102,7 @@ import {
102
102
  PATH_FIELD_ALIASES,
103
103
  createLocalWorkspaceToolExecutors,
104
104
  resolveRequestedWorkspacePath
105
- } from "./chunk-FO2BTDKY.js";
105
+ } from "./chunk-IOQHM7ID.js";
106
106
  import "./chunk-KMSMIOOL.js";
107
107
  import "./chunk-ZNFJWEN4.js";
108
108
  import "./chunk-QNLRCES2.js";
@@ -116,10 +116,10 @@ import "./chunk-P2BGRAW7.js";
116
116
  import "./chunk-G6OOUQWJ.js";
117
117
  import "./chunk-56GBUMO5.js";
118
118
  import "./chunk-WJZOQR2J.js";
119
- import "./chunk-TQU64H2A.js";
119
+ import "./chunk-QEGPFGKA.js";
120
120
  import "./chunk-HEYJFOL6.js";
121
121
  import "./chunk-E2BESSAW.js";
122
- import "./chunk-3FTJG5NU.js";
122
+ import "./chunk-FKOCI2WR.js";
123
123
  import "./chunk-JLR5NWP2.js";
124
124
  import "./chunk-XAFCJN32.js";
125
125
  import "./chunk-2MBTWINN.js";
@@ -137,8 +137,8 @@ import "./chunk-7DPNBQSV.js";
137
137
  import "./chunk-ZWQUWF6W.js";
138
138
  import "./chunk-VEA7H5FG.js";
139
139
  import "./chunk-4VJAC32I.js";
140
- import "./chunk-NHBJHDVW.js";
141
- import "./chunk-JX5XVFVW.js";
140
+ import "./chunk-AKE53VMW.js";
141
+ import "./chunk-ZC3CMUKU.js";
142
142
  import "./chunk-LOEO7LRC.js";
143
143
  import "./chunk-M2EJHDJP.js";
144
144
  import "./chunk-5EMSBTQ6.js";
@@ -160,7 +160,7 @@ import "./chunk-R5GO3YZP.js";
160
160
  import "./chunk-Y6ROFCZO.js";
161
161
  import {
162
162
  t
163
- } from "./chunk-LPV7KKTB.js";
163
+ } from "./chunk-YO3O7H2X.js";
164
164
  import "./chunk-HLAL63BZ.js";
165
165
  import "./chunk-JOUFPRE4.js";
166
166
  import "./chunk-WWC7I6TA.js";
@@ -11,14 +11,14 @@ import {
11
11
  runtimeWorkspacePermissionPolicy,
12
12
  scopePermissionPolicyToRuntimeWorkspace,
13
13
  summarizeAgentConfigForLogs
14
- } from "./chunk-2FY2HA4R.js";
15
- import "./chunk-GDQ5KO2J.js";
14
+ } from "./chunk-CN6T5QKA.js";
15
+ import "./chunk-JJU5FBYH.js";
16
16
  import "./chunk-D2J22QSE.js";
17
17
  import "./chunk-R4BMKAR5.js";
18
- import "./chunk-GKKIZRJ6.js";
18
+ import "./chunk-YXTMZQGX.js";
19
19
  import "./chunk-VP3BINY7.js";
20
20
  import "./chunk-LKZPX6YH.js";
21
- import "./chunk-MPIAKYZ7.js";
21
+ import "./chunk-YYKHIX4X.js";
22
22
  import "./chunk-NBTY7YJF.js";
23
23
  import "./chunk-VL5KOY2C.js";
24
24
  import "./chunk-ZEZC7IIM.js";
@@ -27,14 +27,14 @@ import "./chunk-HGDKT2D6.js";
27
27
  import "./chunk-W6E5IXIP.js";
28
28
  import "./chunk-ATNTHIZI.js";
29
29
  import "./chunk-INFHX73M.js";
30
- import "./chunk-5DVM4RIR.js";
30
+ import "./chunk-NCC2SYOD.js";
31
31
  import "./chunk-HS7MLR74.js";
32
- import "./chunk-5ROGGWPM.js";
33
- import "./chunk-P7JNYLDW.js";
32
+ import "./chunk-D4JCY67U.js";
33
+ import "./chunk-KHMJI7GE.js";
34
34
  import "./chunk-KFHREHUQ.js";
35
35
  import "./chunk-OXME3PEE.js";
36
36
  import "./chunk-BAWAKW7X.js";
37
- import "./chunk-HWJZEUA6.js";
37
+ import "./chunk-7YW5OUQE.js";
38
38
  import "./chunk-NF64D32W.js";
39
39
  import "./chunk-3L2WKC3W.js";
40
40
  import "./chunk-VYNMQ6HW.js";
@@ -47,19 +47,19 @@ import "./chunk-KSTEXKL6.js";
47
47
  import "./chunk-AGIM7IMJ.js";
48
48
  import "./chunk-63W5N6P3.js";
49
49
  import "./chunk-VF4K2QE6.js";
50
- import "./chunk-C3BYVRTJ.js";
51
- import "./chunk-3PVH6HJG.js";
50
+ import "./chunk-BJPALUYR.js";
51
+ import "./chunk-YXTQJ2QR.js";
52
52
  import "./chunk-FDLDMJTM.js";
53
53
  import "./chunk-YPG7TUQD.js";
54
- import "./chunk-7AVKDSWD.js";
54
+ import "./chunk-HRLKX6YP.js";
55
55
  import "./chunk-ZJ7UHBJS.js";
56
- import "./chunk-WGHIT2HH.js";
56
+ import "./chunk-VXCDYN6M.js";
57
57
  import "./chunk-TZXPT53C.js";
58
58
  import "./chunk-523DITKR.js";
59
59
  import "./chunk-OFFL4DCR.js";
60
60
  import "./chunk-BYXBJQAS.js";
61
61
  import "./chunk-QYPE3TS3.js";
62
- import "./chunk-MHC44FKA.js";
62
+ import "./chunk-DBEIHUCJ.js";
63
63
  import "./chunk-4JH2UMJR.js";
64
64
  import "./chunk-ESMZW5PE.js";
65
65
  import "./chunk-5RGU3J7P.js";
@@ -83,13 +83,13 @@ import "./chunk-QQ56R7KS.js";
83
83
  import "./chunk-OW765XBU.js";
84
84
  import "./chunk-PXYBUFDB.js";
85
85
  import "./chunk-D2MDMY2M.js";
86
- import "./chunk-TXJZ7QXG.js";
87
- import "./chunk-NRYTWXXV.js";
86
+ import "./chunk-ZZE2IJ5U.js";
87
+ import "./chunk-7XISFN2T.js";
88
88
  import "./chunk-EUGTFFO6.js";
89
89
  import "./chunk-AETZ7AD6.js";
90
90
  import "./chunk-Y6ORVLSS.js";
91
91
  import "./chunk-KHCLMKZZ.js";
92
- import "./chunk-FO2BTDKY.js";
92
+ import "./chunk-IOQHM7ID.js";
93
93
  import "./chunk-KMSMIOOL.js";
94
94
  import "./chunk-ZNFJWEN4.js";
95
95
  import "./chunk-QNLRCES2.js";
@@ -103,10 +103,10 @@ import "./chunk-P2BGRAW7.js";
103
103
  import "./chunk-G6OOUQWJ.js";
104
104
  import "./chunk-56GBUMO5.js";
105
105
  import "./chunk-WJZOQR2J.js";
106
- import "./chunk-TQU64H2A.js";
106
+ import "./chunk-QEGPFGKA.js";
107
107
  import "./chunk-HEYJFOL6.js";
108
108
  import "./chunk-E2BESSAW.js";
109
- import "./chunk-3FTJG5NU.js";
109
+ import "./chunk-FKOCI2WR.js";
110
110
  import "./chunk-JLR5NWP2.js";
111
111
  import "./chunk-XAFCJN32.js";
112
112
  import "./chunk-2MBTWINN.js";
@@ -124,8 +124,8 @@ import "./chunk-7DPNBQSV.js";
124
124
  import "./chunk-ZWQUWF6W.js";
125
125
  import "./chunk-VEA7H5FG.js";
126
126
  import "./chunk-4VJAC32I.js";
127
- import "./chunk-NHBJHDVW.js";
128
- import "./chunk-JX5XVFVW.js";
127
+ import "./chunk-AKE53VMW.js";
128
+ import "./chunk-ZC3CMUKU.js";
129
129
  import "./chunk-LOEO7LRC.js";
130
130
  import "./chunk-M2EJHDJP.js";
131
131
  import "./chunk-5EMSBTQ6.js";
@@ -141,7 +141,7 @@ import "./chunk-OLZBQWZU.js";
141
141
  import "./chunk-LCBAMY2M.js";
142
142
  import "./chunk-R5GO3YZP.js";
143
143
  import "./chunk-Y6ROFCZO.js";
144
- import "./chunk-LPV7KKTB.js";
144
+ import "./chunk-YO3O7H2X.js";
145
145
  import "./chunk-HLAL63BZ.js";
146
146
  import "./chunk-JOUFPRE4.js";
147
147
  import "./chunk-WWC7I6TA.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nolo-cli",
3
- "version": "0.184.0-alpha.1",
3
+ "version": "0.185.0-alpha.2",
4
4
  "type": "module",
5
5
  "description": "Agent-first terminal workspace for Nolo",
6
6
  "bin": {
@@ -13,7 +13,7 @@ import {
13
13
  listRemoteAgents,
14
14
  listRemoteAgentsAcrossServers,
15
15
  normalizeListedAgent
16
- } from "./chunk-AWFDDOVW.js";
16
+ } from "./chunk-YVAERPCH.js";
17
17
  import {
18
18
  refreshSubscriptionQuotas
19
19
  } from "./chunk-YGILMZ7N.js";
@@ -90,9 +90,9 @@ import {
90
90
  wrapTextToLines,
91
91
  wrapTranscriptLine,
92
92
  wrapTranscriptLineWithLayout
93
- } from "./chunk-IR5IH6LH.js";
93
+ } from "./chunk-WVIBJBDF.js";
94
94
  import "./chunk-6QDYSCPW.js";
95
- import "./chunk-DHMXTEM4.js";
95
+ import "./chunk-ZYI6K46I.js";
96
96
  import {
97
97
  getReadableCliDb
98
98
  } from "./chunk-62TBKWTV.js";
@@ -100,12 +100,15 @@ import {
100
100
  RUN_WAKE_CHANNEL_ENV,
101
101
  clearCliLocalRuntimePreparedAgentCache,
102
102
  createCliLocalRuntimeAdapter,
103
+ createHostApprovalCardQueue,
103
104
  createOriginShellGrant,
104
- readTimestamp
105
- } from "./chunk-GDQ5KO2J.js";
105
+ formatApprovalRemaining,
106
+ readTimestamp,
107
+ registerHostApprovalRenderer
108
+ } from "./chunk-JJU5FBYH.js";
106
109
  import "./chunk-D2J22QSE.js";
107
110
  import "./chunk-R4BMKAR5.js";
108
- import "./chunk-GKKIZRJ6.js";
111
+ import "./chunk-YXTMZQGX.js";
109
112
  import {
110
113
  defaultOpenBrowser,
111
114
  saveTokenLogin
@@ -117,21 +120,21 @@ import {
117
120
  normalizeDialogRecord,
118
121
  readDialogSnapshot,
119
122
  sortDialogs
120
- } from "./chunk-PW5CM76N.js";
123
+ } from "./chunk-KVUMIWLL.js";
121
124
  import "./chunk-ID4G2MAR.js";
122
125
  import {
123
126
  listUserRecordsFromServers,
124
127
  readLiveDbRecordAfterTombstoneMerge
125
- } from "./chunk-F2P6YUHC.js";
128
+ } from "./chunk-K3TVMCV3.js";
126
129
  import "./chunk-Y5GCAMGP.js";
127
130
  import {
128
131
  deleteDbRecord,
129
132
  queryUserRecords,
130
133
  readDbRecord
131
- } from "./chunk-GTQKUQGF.js";
134
+ } from "./chunk-IHQ7RMRS.js";
132
135
  import "./chunk-VP3BINY7.js";
133
136
  import "./chunk-LKZPX6YH.js";
134
- import "./chunk-MPIAKYZ7.js";
137
+ import "./chunk-YYKHIX4X.js";
135
138
  import {
136
139
  NOLO_DEFAULT_AGENT_KEY,
137
140
  resolveCliAgentKeyInput
@@ -148,14 +151,14 @@ import "./chunk-INFHX73M.js";
148
151
  import "./chunk-JEXVIMYZ.js";
149
152
  import {
150
153
  prepareTools
151
- } from "./chunk-5DVM4RIR.js";
154
+ } from "./chunk-NCC2SYOD.js";
152
155
  import "./chunk-HS7MLR74.js";
153
- import "./chunk-5ROGGWPM.js";
154
- import "./chunk-P7JNYLDW.js";
156
+ import "./chunk-D4JCY67U.js";
157
+ import "./chunk-KHMJI7GE.js";
155
158
  import "./chunk-KFHREHUQ.js";
156
159
  import "./chunk-OXME3PEE.js";
157
160
  import "./chunk-BAWAKW7X.js";
158
- import "./chunk-HWJZEUA6.js";
161
+ import "./chunk-7YW5OUQE.js";
159
162
  import "./chunk-NF64D32W.js";
160
163
  import "./chunk-3L2WKC3W.js";
161
164
  import "./chunk-VYNMQ6HW.js";
@@ -168,22 +171,22 @@ import "./chunk-KSTEXKL6.js";
168
171
  import "./chunk-AGIM7IMJ.js";
169
172
  import "./chunk-63W5N6P3.js";
170
173
  import "./chunk-VF4K2QE6.js";
171
- import "./chunk-C3BYVRTJ.js";
172
- import "./chunk-3PVH6HJG.js";
174
+ import "./chunk-BJPALUYR.js";
175
+ import "./chunk-YXTQJ2QR.js";
173
176
  import "./chunk-FDLDMJTM.js";
174
177
  import "./chunk-YPG7TUQD.js";
175
- import "./chunk-7AVKDSWD.js";
178
+ import "./chunk-HRLKX6YP.js";
176
179
  import "./chunk-ZJ7UHBJS.js";
177
180
  import {
178
181
  estimateMessagesTokens,
179
182
  historyTokensBeforeLatestAssistant
180
- } from "./chunk-WGHIT2HH.js";
183
+ } from "./chunk-VXCDYN6M.js";
181
184
  import "./chunk-TZXPT53C.js";
182
185
  import "./chunk-523DITKR.js";
183
186
  import "./chunk-OFFL4DCR.js";
184
187
  import "./chunk-BYXBJQAS.js";
185
188
  import "./chunk-QYPE3TS3.js";
186
- import "./chunk-MHC44FKA.js";
189
+ import "./chunk-DBEIHUCJ.js";
187
190
  import "./chunk-4JH2UMJR.js";
188
191
  import "./chunk-ESMZW5PE.js";
189
192
  import "./chunk-5RGU3J7P.js";
@@ -211,10 +214,10 @@ import {
211
214
  buildSkillDiscoveryContextBlock,
212
215
  buildSkillDiscoveryContextLayer
213
216
  } from "./chunk-AU7AXHUL.js";
214
- import "./chunk-TXJZ7QXG.js";
217
+ import "./chunk-ZZE2IJ5U.js";
215
218
  import {
216
219
  expandEnabledPacks
217
- } from "./chunk-NRYTWXXV.js";
220
+ } from "./chunk-7XISFN2T.js";
218
221
  import "./chunk-EUGTFFO6.js";
219
222
  import "./chunk-AETZ7AD6.js";
220
223
  import "./chunk-Y6ORVLSS.js";
@@ -225,7 +228,7 @@ import {
225
228
  formatToolOverflowMarker,
226
229
  getProcessRegistry,
227
230
  readCommandActionGatePayload
228
- } from "./chunk-FO2BTDKY.js";
231
+ } from "./chunk-IOQHM7ID.js";
229
232
  import "./chunk-KMSMIOOL.js";
230
233
  import "./chunk-ZNFJWEN4.js";
231
234
  import "./chunk-QNLRCES2.js";
@@ -250,10 +253,10 @@ import {
250
253
  buildRuntimeGuidanceBlocks,
251
254
  resolveResponseGuidelines,
252
255
  resolveToolGuidedSections
253
- } from "./chunk-TQU64H2A.js";
256
+ } from "./chunk-QEGPFGKA.js";
254
257
  import "./chunk-HEYJFOL6.js";
255
258
  import "./chunk-E2BESSAW.js";
256
- import "./chunk-3FTJG5NU.js";
259
+ import "./chunk-FKOCI2WR.js";
257
260
  import {
258
261
  isQuotaExhaustedError
259
262
  } from "./chunk-JLR5NWP2.js";
@@ -300,8 +303,8 @@ import {
300
303
  } from "./chunk-4VJAC32I.js";
301
304
  import {
302
305
  canonicalizeToolNames
303
- } from "./chunk-NHBJHDVW.js";
304
- import "./chunk-JX5XVFVW.js";
306
+ } from "./chunk-AKE53VMW.js";
307
+ import "./chunk-ZC3CMUKU.js";
305
308
  import {
306
309
  BUILTIN_NOLO_AGENT_KEY,
307
310
  BUILTIN_NOLO_AGENT_MODEL,
@@ -349,7 +352,7 @@ import {
349
352
  import {
350
353
  checkForCliUpdate,
351
354
  runSelfUpdateDetailed
352
- } from "./chunk-PZ7LKLIV.js";
355
+ } from "./chunk-AA5GKA2X.js";
353
356
  import {
354
357
  parseUserIdFromAuthToken,
355
358
  resolveAuthToken,
@@ -378,14 +381,14 @@ import {
378
381
  resolveDefaultSpawn,
379
382
  spawnProcess
380
383
  } from "./chunk-Y6ROFCZO.js";
381
- import "./chunk-JJWQ737H.js";
384
+ import "./chunk-IIGDVODZ.js";
382
385
  import {
383
386
  dailyWelcomeTip,
384
387
  initCliLocale,
385
388
  parseCliLocale,
386
389
  setCliLocale,
387
390
  t
388
- } from "./chunk-LPV7KKTB.js";
391
+ } from "./chunk-YO3O7H2X.js";
389
392
  import "./chunk-HLAL63BZ.js";
390
393
  import "./chunk-JOUFPRE4.js";
391
394
  import "./chunk-WWC7I6TA.js";
@@ -3547,10 +3550,10 @@ function truncateCommand(command, maxWidth) {
3547
3550
  let kept = "";
3548
3551
  let width = 0;
3549
3552
  for (const char of command) {
3550
- const charWidth = WIDE_CHAR.test(char) ? 2 : 1;
3551
- if (width + charWidth > keep) break;
3553
+ const charWidth2 = WIDE_CHAR.test(char) ? 2 : 1;
3554
+ if (width + charWidth2 > keep) break;
3552
3555
  kept += char;
3553
- width += charWidth;
3556
+ width += charWidth2;
3554
3557
  }
3555
3558
  return `${kept}${marker}`;
3556
3559
  }
@@ -3636,6 +3639,191 @@ ${t("dialogConfirmRememberLocal")}`;
3636
3639
  return chosen.value;
3637
3640
  }
3638
3641
 
3642
+ // packages/cli/tui/hostApprovalCard.ts
3643
+ var ALLOW_KEYS = /* @__PURE__ */ new Set(["y", "Y"]);
3644
+ var DENY_KEYS = /* @__PURE__ */ new Set(["n", "N"]);
3645
+ var ESCAPE_KEYS = /* @__PURE__ */ new Set(["\x1B", "\x1B\x1B", "\x1B[27~"]);
3646
+ var FALLBACK_COLUMNS = 80;
3647
+ var LABEL_COLUMN = 9;
3648
+ var CONTENT_INDENT = LABEL_COLUMN + 1;
3649
+ var DETAIL_MAX_ROWS = 15;
3650
+ var DETAIL_HEAD_SHARE = 0.4;
3651
+ var WIDE_CHAR2 = /[\u1100-\u115F\u2E80-\u303E\u3041-\u33FF\u3400-\u4DBF\u4E00-\u9FFF\uA000-\uA4CF\uAC00-\uD7A3\uF900-\uFAFF\uFE30-\uFE4F\uFF00-\uFF60\uFFE0-\uFFE6]/;
3652
+ function charWidth(char) {
3653
+ return WIDE_CHAR2.test(char) ? 2 : 1;
3654
+ }
3655
+ function displayWidth3(text) {
3656
+ let width = 0;
3657
+ for (const char of text) width += charWidth(char);
3658
+ return width;
3659
+ }
3660
+ function clipCardLine(text, columns) {
3661
+ const budget = Math.max(8, columns - 1);
3662
+ if (displayWidth3(text) <= budget) return text;
3663
+ let kept = "";
3664
+ let width = 0;
3665
+ for (const char of text) {
3666
+ const charWidth2 = WIDE_CHAR2.test(char) ? 2 : 1;
3667
+ if (width + charWidth2 > budget - 1) break;
3668
+ kept += char;
3669
+ width += charWidth2;
3670
+ }
3671
+ return `${kept}\u2026`;
3672
+ }
3673
+ function wrapCardLine(text, width) {
3674
+ const budget = Math.max(8, width);
3675
+ if (displayWidth3(text) <= budget) return [text];
3676
+ const rows = [];
3677
+ let row = "";
3678
+ let rowWidth = 0;
3679
+ for (const char of text) {
3680
+ const charCols = charWidth(char);
3681
+ if (row && rowWidth + charCols > budget) {
3682
+ rows.push(row);
3683
+ row = "";
3684
+ rowWidth = 0;
3685
+ }
3686
+ row += char;
3687
+ rowWidth += charCols;
3688
+ }
3689
+ rows.push(row);
3690
+ return rows;
3691
+ }
3692
+ function fieldRows(label, text, contentWidth) {
3693
+ const first = ` ${label.padEnd(LABEL_COLUMN, " ")}`;
3694
+ const rest = " ".repeat(CONTENT_INDENT);
3695
+ return wrapCardLine(text, contentWidth).map(
3696
+ (row, index) => `\u2502${index === 0 ? first : rest}${row}`
3697
+ );
3698
+ }
3699
+ function detailRows(summary, contentWidth) {
3700
+ const text = summary && summary.trim() ? summary : "(no summary)";
3701
+ const rows = text.split("\n").flatMap((line) => wrapCardLine(line, contentWidth));
3702
+ const first = ` ${"detail".padEnd(LABEL_COLUMN, " ")}`;
3703
+ const rest = " ".repeat(CONTENT_INDENT);
3704
+ const withPrefix = (row, index) => `\u2502${index === 0 ? first : rest}${row}`;
3705
+ if (rows.length <= DETAIL_MAX_ROWS) return rows.map(withPrefix);
3706
+ const omission = (hidden2) => `\u2026\uFF08\u4E2D\u95F4 ${hidden2} \u884C\u672A\u663E\u793A\uFF0C\u4EE5\u4E0B\u662F\u811A\u672C\u7ED3\u5C3E\uFF09`;
3707
+ const reserved = wrapCardLine(omission(rows.length), contentWidth).length;
3708
+ const budget = Math.max(4, DETAIL_MAX_ROWS - reserved);
3709
+ const headCount = Math.max(2, Math.floor(budget * DETAIL_HEAD_SHARE));
3710
+ const tailCount = Math.max(2, budget - headCount);
3711
+ const hidden = rows.length - headCount - tailCount;
3712
+ return [
3713
+ ...rows.slice(0, headCount),
3714
+ ...wrapCardLine(omission(hidden), contentWidth),
3715
+ ...rows.slice(rows.length - tailCount)
3716
+ ].map(withPrefix);
3717
+ }
3718
+ function renderHostApprovalCardLines(card, opts) {
3719
+ const columns = Math.max(20, opts.columns ?? FALLBACK_COLUMNS);
3720
+ const contentWidth = Math.max(16, columns - CONTENT_INDENT - 2);
3721
+ const expired = card.expiresAt <= opts.now;
3722
+ const expiryLabel = expired ? "expired \u2014 this action was not run and will not be retried" : `${formatApprovalRemaining(card.expiresAt, opts.now)} left`;
3723
+ const lines = [
3724
+ "\u250C\u2500 Browser action needs your approval \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500",
3725
+ ...fieldRows("action", card.actionLabel, contentWidth),
3726
+ ...fieldRows("site", card.origin || "(origin unknown)", contentWidth),
3727
+ ...detailRows(card.summary, contentWidth),
3728
+ ...fieldRows("expires", expiryLabel, contentWidth),
3729
+ // The precondition comes first so it reads before the options: with text in the composer, y/n
3730
+ // are ordinary letters and the card cannot be answered.
3731
+ ...fieldRows(
3732
+ "keys",
3733
+ expired ? "disabled (expired)" : "empty the input line first, then: y = allow once \xB7 n / Esc = deny",
3734
+ contentWidth
3735
+ ),
3736
+ "\u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"
3737
+ ];
3738
+ return lines.map((line) => clipCardLine(line, columns));
3739
+ }
3740
+ function createInlineHostApprovalPrompt(args) {
3741
+ const now = args.now ?? Date.now;
3742
+ const columns = args.columns ?? (() => FALLBACK_COLUMNS);
3743
+ const setTimeoutImpl = args.setTimeoutImpl ?? ((fn, ms) => setTimeout(fn, ms));
3744
+ const clearTimeoutImpl = args.clearTimeoutImpl ?? ((handle) => clearTimeout(handle));
3745
+ const queue = createHostApprovalCardQueue();
3746
+ let active = null;
3747
+ let expiryTimer = null;
3748
+ let disposed = false;
3749
+ const clearExpiryTimer = () => {
3750
+ if (expiryTimer !== null) {
3751
+ clearTimeoutImpl(expiryTimer);
3752
+ expiryTimer = null;
3753
+ }
3754
+ };
3755
+ const settle = (decision, note) => {
3756
+ if (!active) return;
3757
+ const finishing = active;
3758
+ active = null;
3759
+ clearExpiryTimer();
3760
+ try {
3761
+ args.write(`${note}
3762
+ `);
3763
+ } catch {
3764
+ } finally {
3765
+ finishing.finish(decision);
3766
+ }
3767
+ };
3768
+ const presentOne = (card) => new Promise((resolve4) => {
3769
+ if (disposed) {
3770
+ resolve4("deny");
3771
+ return;
3772
+ }
3773
+ active = { card, finish: resolve4 };
3774
+ try {
3775
+ const lines = renderHostApprovalCardLines(card, { now: now(), columns: columns() });
3776
+ args.write(`${lines.join("\n")}
3777
+ `);
3778
+ } catch {
3779
+ settle("deny", "\u231B approval could not be shown \u2014 the action was not run");
3780
+ return;
3781
+ }
3782
+ const remaining = card.expiresAt - now();
3783
+ if (remaining <= 0) {
3784
+ settle("deny", "\u231B approval expired \u2014 the action was not run");
3785
+ return;
3786
+ }
3787
+ expiryTimer = setTimeoutImpl(() => {
3788
+ expiryTimer = null;
3789
+ settle("deny", "\u231B approval expired \u2014 the action was not run");
3790
+ }, remaining);
3791
+ });
3792
+ return {
3793
+ awaitHostApproval: (card) => queue.present(card, presentOne),
3794
+ handleKey(sequence, context) {
3795
+ if (!active || disposed) return false;
3796
+ const keys = sequence;
3797
+ const isAllow = ALLOW_KEYS.has(keys);
3798
+ const isDeny = DENY_KEYS.has(keys);
3799
+ const isEscape = ESCAPE_KEYS.has(keys);
3800
+ if (!isAllow && !isDeny && !isEscape) return false;
3801
+ if (!context.draftEmpty) return false;
3802
+ if (isEscape && context.busy) return false;
3803
+ if (active.card.expiresAt <= now()) {
3804
+ settle("deny", "\u231B approval expired \u2014 the action was not run");
3805
+ return true;
3806
+ }
3807
+ settle(
3808
+ isAllow ? "allow_once" : "deny",
3809
+ isAllow ? "\u2714 allowed once (this action only)" : "\u2716 denied"
3810
+ );
3811
+ return true;
3812
+ },
3813
+ dispose() {
3814
+ if (disposed) return;
3815
+ disposed = true;
3816
+ clearExpiryTimer();
3817
+ if (active) {
3818
+ const finishing = active;
3819
+ active = null;
3820
+ finishing.finish("deny");
3821
+ }
3822
+ },
3823
+ pendingCount: () => queue.size()
3824
+ };
3825
+ }
3826
+
3639
3827
  // packages/cli/tui/terminalNotification.ts
3640
3828
  var TURN_COMPLETION_ATTENTION_THRESHOLD_MS = 5e3;
3641
3829
  function buildWindowsTerminalProgressSequence(state) {
@@ -15404,6 +15592,8 @@ async function runTuiWorkspace(options) {
15404
15592
  state = { ...state, sessionCredits: (state.sessionCredits ?? 0) + credits };
15405
15593
  };
15406
15594
  let composerDecoderDrain = null;
15595
+ let hostApprovalPrompt = null;
15596
+ let unregisterHostApprovalRenderer = null;
15407
15597
  let draftEpoch = 0;
15408
15598
  const bumpDraftEpoch = () => {
15409
15599
  draftEpoch += 1;
@@ -15820,6 +16010,10 @@ async function runTuiWorkspace(options) {
15820
16010
  const finish = () => {
15821
16011
  if (done) return;
15822
16012
  done = true;
16013
+ unregisterHostApprovalRenderer?.();
16014
+ unregisterHostApprovalRenderer = null;
16015
+ hostApprovalPrompt?.dispose();
16016
+ hostApprovalPrompt = null;
15823
16017
  childShellApprovals.close();
15824
16018
  sessionEnded = true;
15825
16019
  scrollAnimator.cancel();
@@ -16260,6 +16454,12 @@ ${hint}` : hint;
16260
16454
  rawActionGateTokenHandler?.(sequence);
16261
16455
  return;
16262
16456
  }
16457
+ if (hostApprovalPrompt?.handleKey(sequence, {
16458
+ draftEmpty: buffer.length === 0,
16459
+ busy
16460
+ })) {
16461
+ return;
16462
+ }
16263
16463
  if (sequence === CTRL_S) {
16264
16464
  if (!chatQueueBinding || chatQueueBinding.queueLength() === 0) {
16265
16465
  return;
@@ -16591,6 +16791,15 @@ ${merged}` : merged;
16591
16791
  }
16592
16792
  });
16593
16793
  composerDecoderDrain = () => onData.destroy();
16794
+ hostApprovalPrompt = createInlineHostApprovalPrompt({
16795
+ write: (text) => {
16796
+ emitCommandOutput(text.replace(/\n$/, ""));
16797
+ },
16798
+ columns: () => output.columns ?? 80
16799
+ });
16800
+ unregisterHostApprovalRenderer = registerHostApprovalRenderer(
16801
+ hostApprovalPrompt.awaitHostApproval
16802
+ );
16594
16803
  try {
16595
16804
  onGraphicsData = (chunk) => {
16596
16805
  const filtered = graphicsRuntime.filterInput(chunk.toString());