nolo-cli 0.188.0-alpha.2 → 0.189.0-alpha.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.
Files changed (41) hide show
  1. package/{agentDeleteCommand-GETUDKX4.js → agentDeleteCommand-GXYAEUFQ.js} +3 -3
  2. package/{agentEmailCommands-2EB4DJSA.js → agentEmailCommands-WYZKZBPZ.js} +4 -4
  3. package/agentFavoriteCommands-GAFEXKKP.js +187 -0
  4. package/{agentListCommands-6RONL2YO.js → agentListCommands-POWEO3US.js} +2 -2
  5. package/{agentMachineCommands-J6SX7CPR.js → agentMachineCommands-LD4UKJ47.js} +2 -2
  6. package/{agentRecordCommands-UXFGQXD6.js → agentRecordCommands-O6SOBL37.js} +4 -4
  7. package/{agentRunCommand-QTK73QMM.js → agentRunCommand-JZ5CH3DL.js} +4 -4
  8. package/agentRuntimeLocal-G4KEXO5D.js +1 -1
  9. package/{appDeleteCommands-6L6PTB6G.js → appDeleteCommands-GZPGKI2Z.js} +3 -3
  10. package/{appDeployCommands-PLXIHXN3.js → appDeployCommands-5UU3V5OK.js} +3 -3
  11. package/{appDeployStatusCommands-VGYYEBTV.js → appDeployStatusCommands-2ZB2QZ22.js} +3 -3
  12. package/{appGetCommands-NAANWNTG.js → appGetCommands-YSZFBV5G.js} +3 -3
  13. package/{appListCommands-ZT5YE2IX.js → appListCommands-W6D7XIFX.js} +3 -3
  14. package/{authCommand-NVTKI7QU.js → authCommand-L6C4LLOU.js} +1 -1
  15. package/{chromeOpsCommands-DOFY2OCF.js → chromeOpsCommands-BTIWDYLA.js} +1 -1
  16. package/{chunk-A43QYPYN.js → chunk-2SUNC7EM.js} +2 -2
  17. package/{chunk-VECM2WX3.js → chunk-4MZCYEK5.js} +1 -1
  18. package/{chunk-YO3O7H2X.js → chunk-63RO7QWZ.js} +4 -0
  19. package/{chunk-IIGDVODZ.js → chunk-7GXK3WTO.js} +1 -1
  20. package/{chunk-2RHDAHFX.js → chunk-J6ACCFU6.js} +1 -1
  21. package/{chunk-VH7PE33C.js → chunk-J7QGWFT6.js} +1 -1
  22. package/{chunk-RKLQVXUE.js → chunk-OKFKGCTS.js} +2 -2
  23. package/{chunk-Q54QGYRW.js → chunk-TNVE3CAV.js} +2 -2
  24. package/{chunk-FGIJLPZ3.js → chunk-XTM23OUX.js} +1 -1
  25. package/{commandRegistry-MTKBHP45.js → commandRegistry-AXZLPIPP.js} +57 -53
  26. package/{cooldownCommands-IUU3ZH3L.js → cooldownCommands-ZERBBSWJ.js} +1 -1
  27. package/{dialogCommands-AWGFKOGS.js → dialogCommands-AQLB3TG2.js} +3 -3
  28. package/{docCreateCommands-4JEKXNST.js → docCreateCommands-AND3EMIY.js} +2 -2
  29. package/{docDeleteCommands-Q5K4UJPQ.js → docDeleteCommands-WA7CPPN3.js} +2 -2
  30. package/{docReadCommands-ZZ7HMGPV.js → docReadCommands-A4JLU4WF.js} +2 -2
  31. package/{docUpdateCommands-NUFXB6BD.js → docUpdateCommands-33PDSHS3.js} +2 -2
  32. package/index.js +6 -6
  33. package/{localRuntimeAdapter-KCS5Y4T6.js → localRuntimeAdapter-VOTHX3NK.js} +3 -3
  34. package/{machineCommands-E3HMAMLA.js → machineCommands-FDTN3A5S.js} +4 -4
  35. package/{machineWsRunDispatch-MGDBTLDX.js → machineWsRunDispatch-PPVYOERM.js} +4 -4
  36. package/package.json +1 -1
  37. package/{readlineWorkspace-IWWKZK3F.js → readlineWorkspace-6SU3QTTY.js} +10 -10
  38. package/{secretCommands-UZV7CPJY.js → secretCommands-UYVNIQIN.js} +1 -1
  39. package/spaceCommands-BI3TRIAK.js +1 -1
  40. package/{updateCommands-Y6CKFKIF.js → updateCommands-6GKGM7NR.js} +3 -3
  41. package/{windowsSelfUpdate-XV2MMQAC.js → windowsSelfUpdate-4N7JCG2M.js} +2 -2
@@ -10,7 +10,7 @@ import {
10
10
  } from "./chunk-WBCYL63M.js";
11
11
  import {
12
12
  clearCliLocalRuntimePreparedAgentCache
13
- } from "./chunk-VH7PE33C.js";
13
+ } from "./chunk-J7QGWFT6.js";
14
14
  import "./chunk-DYQXB46J.js";
15
15
  import "./chunk-VP3BINY7.js";
16
16
  import "./chunk-R4BMKAR5.js";
@@ -103,8 +103,8 @@ import "./chunk-AETZ7AD6.js";
103
103
  import "./chunk-Y6ORVLSS.js";
104
104
  import "./chunk-KHCLMKZZ.js";
105
105
  import "./chunk-HVV4B6OL.js";
106
- import "./chunk-IIX6VWLW.js";
107
106
  import "./chunk-ZNFJWEN4.js";
107
+ import "./chunk-IIX6VWLW.js";
108
108
  import "./chunk-NVOYW6H4.js";
109
109
  import "./chunk-HNUWUO75.js";
110
110
  import "./chunk-CHOZJMJS.js";
@@ -171,7 +171,7 @@ import "./chunk-R5GO3YZP.js";
171
171
  import "./chunk-Y6ROFCZO.js";
172
172
  import {
173
173
  t
174
- } from "./chunk-YO3O7H2X.js";
174
+ } from "./chunk-63RO7QWZ.js";
175
175
  import "./chunk-WMHWFFTE.js";
176
176
  import "./chunk-XJWWBO34.js";
177
177
  import "./chunk-I42VC5KR.js";
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-4CEAZRZ4.js";
5
5
  import {
6
6
  runAgentCreateCommand
7
- } from "./chunk-VECM2WX3.js";
7
+ } from "./chunk-4MZCYEK5.js";
8
8
  import "./chunk-YGILMZ7N.js";
9
9
  import {
10
10
  positionalArgs,
@@ -17,7 +17,7 @@ import {
17
17
  fetchWithTransportFallback,
18
18
  resolveAgentRecordFromHybridStore
19
19
  } from "./chunk-WBCYL63M.js";
20
- import "./chunk-VH7PE33C.js";
20
+ import "./chunk-J7QGWFT6.js";
21
21
  import "./chunk-DYQXB46J.js";
22
22
  import "./chunk-VP3BINY7.js";
23
23
  import "./chunk-R4BMKAR5.js";
@@ -98,8 +98,8 @@ import "./chunk-AETZ7AD6.js";
98
98
  import "./chunk-Y6ORVLSS.js";
99
99
  import "./chunk-KHCLMKZZ.js";
100
100
  import "./chunk-HVV4B6OL.js";
101
- import "./chunk-IIX6VWLW.js";
102
101
  import "./chunk-ZNFJWEN4.js";
102
+ import "./chunk-IIX6VWLW.js";
103
103
  import "./chunk-NVOYW6H4.js";
104
104
  import "./chunk-HNUWUO75.js";
105
105
  import "./chunk-CHOZJMJS.js";
@@ -164,7 +164,7 @@ import "./chunk-4SN6J65J.js";
164
164
  import "./chunk-CF7PE763.js";
165
165
  import "./chunk-R5GO3YZP.js";
166
166
  import "./chunk-Y6ROFCZO.js";
167
- import "./chunk-YO3O7H2X.js";
167
+ import "./chunk-63RO7QWZ.js";
168
168
  import {
169
169
  createAgentKey
170
170
  } from "./chunk-WMHWFFTE.js";
@@ -0,0 +1,187 @@
1
+ import {
2
+ resolveCliAgentKeyInput
3
+ } from "./chunk-NBTY7YJF.js";
4
+ import "./chunk-M2EJHDJP.js";
5
+ import {
6
+ toErrorMessage
7
+ } from "./chunk-HNMXYYJR.js";
8
+ import {
9
+ resolveAuthToken,
10
+ resolveServerCandidates,
11
+ resolveServerUrl
12
+ } from "./chunk-WACI5I6V.js";
13
+ import "./chunk-OLZBQWZU.js";
14
+ import "./chunk-LCBAMY2M.js";
15
+ import "./chunk-4SN6J65J.js";
16
+ import "./chunk-CF7PE763.js";
17
+ import "./chunk-G3SUCT4W.js";
18
+ import "./chunk-QSJ3HFEF.js";
19
+ import "./chunk-4VNS5WPM.js";
20
+
21
+ // packages/cli/agentFavoriteCommands.ts
22
+ function wantsHelp(args) {
23
+ return args.includes("--help") || args.includes("-h");
24
+ }
25
+ function wantsJson(args) {
26
+ return args.includes("--json");
27
+ }
28
+ var VALUE_FLAGS = /* @__PURE__ */ new Set(["--server-url", "--server"]);
29
+ function positionalArgs(args) {
30
+ const values = [];
31
+ for (let index = 0; index < args.length; index += 1) {
32
+ const arg = args[index];
33
+ if (!arg) continue;
34
+ if (arg.startsWith("--")) {
35
+ if (arg.includes("=")) continue;
36
+ if (VALUE_FLAGS.has(arg)) index += 1;
37
+ continue;
38
+ }
39
+ values.push(arg);
40
+ }
41
+ return values;
42
+ }
43
+ function writeAgentFavoriteHelp(output) {
44
+ output.write(
45
+ "Usage:\n nolo agent favorite <agent> [--off] [--json]\n\nFavorite an agent for the current user; --off removes the favorite.\nFavorite is a per-user relation stored on the server, so an agent shared\nwith you can be favorited without write access to the agent record.\nThe change is synced to every server in the current candidate set, matching\nthe web UI and `nolo agent list`.\n<agent> accepts an agent key (agent-<owner>-<id>), a known alias, or a web URL.\n"
46
+ );
47
+ }
48
+ async function callSetFavorite(args) {
49
+ const url = `${args.serverUrl.replace(/\/$/, "")}/rpc/setFavorite`;
50
+ const res = await args.fetchImpl(url, {
51
+ method: "POST",
52
+ headers: {
53
+ "Content-Type": "application/json",
54
+ Authorization: `Bearer ${args.authToken}`
55
+ },
56
+ body: JSON.stringify({
57
+ targetType: "agent",
58
+ targetKey: args.agentKey,
59
+ isFavorite: args.isFavorite,
60
+ favoritedAt: args.favoritedAt
61
+ })
62
+ });
63
+ let payload = null;
64
+ try {
65
+ payload = await res.json();
66
+ } catch {
67
+ payload = null;
68
+ }
69
+ if (!res.ok) {
70
+ const code = payload?.code ? ` [${payload.code}]` : "";
71
+ const message = payload?.message || `setFavorite request failed (${res.status})`;
72
+ throw new Error(`${message}${code}`);
73
+ }
74
+ if (!payload || typeof payload !== "object") {
75
+ throw new Error("setFavorite returned an invalid response");
76
+ }
77
+ return payload;
78
+ }
79
+ async function setFavoriteAcrossServers(args) {
80
+ const settled = await Promise.allSettled(
81
+ args.serverUrls.map(
82
+ (serverUrl) => callSetFavorite({
83
+ serverUrl,
84
+ authToken: args.authToken,
85
+ fetchImpl: args.fetchImpl,
86
+ agentKey: args.agentKey,
87
+ isFavorite: args.isFavorite,
88
+ favoritedAt: args.favoritedAt
89
+ })
90
+ )
91
+ );
92
+ return settled.map(
93
+ (result, index) => result.status === "fulfilled" ? {
94
+ serverUrl: args.serverUrls[index],
95
+ ok: true,
96
+ response: result.value
97
+ } : {
98
+ serverUrl: args.serverUrls[index],
99
+ ok: false,
100
+ error: toErrorMessage(result.reason)
101
+ }
102
+ );
103
+ }
104
+ async function runAgentFavoriteCommand(args, deps = {}) {
105
+ const env = deps.env ?? process.env;
106
+ const output = deps.output ?? process.stdout;
107
+ if (wantsHelp(args)) {
108
+ writeAgentFavoriteHelp(output);
109
+ return 0;
110
+ }
111
+ const authToken = resolveAuthToken(args, env);
112
+ if (!authToken) {
113
+ output.write(
114
+ "[nolo] agent favorite requires an auth token. Run `nolo login` or set AUTH_TOKEN.\n"
115
+ );
116
+ return 1;
117
+ }
118
+ const raw = positionalArgs(args)[0];
119
+ if (!raw) {
120
+ output.write("[nolo] agent key is required.\n");
121
+ writeAgentFavoriteHelp(output);
122
+ return 1;
123
+ }
124
+ const agentKey = resolveCliAgentKeyInput(raw);
125
+ const isFavorite = !args.includes("--off");
126
+ const primaryServerUrl = resolveServerUrl(args, env);
127
+ const serverUrls = resolveServerCandidates(args, env, primaryServerUrl);
128
+ try {
129
+ const attempts = await setFavoriteAcrossServers({
130
+ serverUrls,
131
+ authToken,
132
+ fetchImpl: deps.fetchImpl ?? fetch,
133
+ agentKey,
134
+ isFavorite,
135
+ // 同一批写入共享同一个收藏时间戳:list 合并多服务器时按 favoritedAt 取最新,
136
+ // 各自取 Date.now() 会让各服务器时间错开毫秒级。
137
+ favoritedAt: Date.now()
138
+ });
139
+ const failures = attempts.filter((attempt) => !attempt.ok);
140
+ if (failures.length === attempts.length) {
141
+ output.write(
142
+ `[nolo] agent favorite failed on all ${attempts.length} server(s): ${failures.map((f) => `${f.serverUrl} (${f.error})`).join(", ")}
143
+ `
144
+ );
145
+ return 1;
146
+ }
147
+ if (wantsJson(args)) {
148
+ output.write(
149
+ `${JSON.stringify(
150
+ {
151
+ targetType: "agent",
152
+ targetKey: agentKey,
153
+ isFavorite,
154
+ favoritedAt: attempts[0]?.response?.favoritedAt ?? null,
155
+ servers: attempts
156
+ },
157
+ null,
158
+ 2
159
+ )}
160
+ `
161
+ );
162
+ return 0;
163
+ }
164
+ const primary = attempts.find((attempt) => attempt.serverUrl === primaryServerUrl) ?? attempts.find((attempt) => attempt.ok);
165
+ const count = primary?.response?.favoriteCount;
166
+ const state = isFavorite ? "Favorited" : "Unfavorited";
167
+ const countText = typeof count === "number" ? ` (favorites: ${count})` : "";
168
+ output.write(`${state} ${agentKey}${countText}
169
+ `);
170
+ if (failures.length > 0) {
171
+ output.write(
172
+ `[nolo] warning: ${failures.length} of ${attempts.length} server(s) failed: ${failures.map((f) => `${f.serverUrl} (${f.error})`).join(", ")}
173
+ `
174
+ );
175
+ }
176
+ return 0;
177
+ } catch (error) {
178
+ output.write(`[nolo] agent favorite failed: ${toErrorMessage(error)}
179
+ `);
180
+ return 1;
181
+ }
182
+ }
183
+ export {
184
+ runAgentFavoriteCommand,
185
+ setFavoriteAcrossServers,
186
+ writeAgentFavoriteHelp
187
+ };
@@ -51,8 +51,8 @@ import {
51
51
  import "./chunk-UEILX4EV.js";
52
52
  import "./chunk-D2MDMY2M.js";
53
53
  import "./chunk-HVV4B6OL.js";
54
- import "./chunk-IIX6VWLW.js";
55
54
  import "./chunk-ZNFJWEN4.js";
55
+ import "./chunk-IIX6VWLW.js";
56
56
  import "./chunk-NVOYW6H4.js";
57
57
  import "./chunk-HNUWUO75.js";
58
58
  import "./chunk-CHOZJMJS.js";
@@ -120,7 +120,7 @@ import "./chunk-CF7PE763.js";
120
120
  import "./chunk-Y6ROFCZO.js";
121
121
  import {
122
122
  t
123
- } from "./chunk-YO3O7H2X.js";
123
+ } from "./chunk-63RO7QWZ.js";
124
124
  import {
125
125
  createKey,
126
126
  createTokenKey
@@ -17,8 +17,8 @@ import {
17
17
  import "./chunk-NF64D32W.js";
18
18
  import "./chunk-3L2WKC3W.js";
19
19
  import "./chunk-HVV4B6OL.js";
20
- import "./chunk-IIX6VWLW.js";
21
20
  import "./chunk-ZNFJWEN4.js";
21
+ import "./chunk-IIX6VWLW.js";
22
22
  import "./chunk-NVOYW6H4.js";
23
23
  import "./chunk-HNUWUO75.js";
24
24
  import "./chunk-CHOZJMJS.js";
@@ -98,7 +98,7 @@ async function defaultExecuteCli(provider, prompt, options) {
98
98
  return executeCli(provider, prompt, options);
99
99
  }
100
100
  async function forwardConnectorRunMessage(machine, message, pushMessage, executeCli, env, fetchImpl) {
101
- const { handleConnectorRunMessage } = await import("./machineWsRunDispatch-MGDBTLDX.js");
101
+ const { handleConnectorRunMessage } = await import("./machineWsRunDispatch-PPVYOERM.js");
102
102
  return handleConnectorRunMessage(message, pushMessage, executeCli, env, fetchImpl);
103
103
  }
104
104
  async function detectLaunchableMachineInfo() {
@@ -2,11 +2,11 @@ import {
2
2
  runAgentCreateCommand,
3
3
  runAgentReadCommand,
4
4
  runAgentUpdateCommand
5
- } from "./chunk-VECM2WX3.js";
5
+ } from "./chunk-4MZCYEK5.js";
6
6
  import "./chunk-YGILMZ7N.js";
7
7
  import "./chunk-7DQSP7JU.js";
8
8
  import "./chunk-WBCYL63M.js";
9
- import "./chunk-VH7PE33C.js";
9
+ import "./chunk-J7QGWFT6.js";
10
10
  import "./chunk-DYQXB46J.js";
11
11
  import "./chunk-VP3BINY7.js";
12
12
  import "./chunk-R4BMKAR5.js";
@@ -85,8 +85,8 @@ import "./chunk-AETZ7AD6.js";
85
85
  import "./chunk-Y6ORVLSS.js";
86
86
  import "./chunk-KHCLMKZZ.js";
87
87
  import "./chunk-HVV4B6OL.js";
88
- import "./chunk-IIX6VWLW.js";
89
88
  import "./chunk-ZNFJWEN4.js";
89
+ import "./chunk-IIX6VWLW.js";
90
90
  import "./chunk-NVOYW6H4.js";
91
91
  import "./chunk-HNUWUO75.js";
92
92
  import "./chunk-CHOZJMJS.js";
@@ -141,7 +141,7 @@ import "./chunk-4SN6J65J.js";
141
141
  import "./chunk-CF7PE763.js";
142
142
  import "./chunk-R5GO3YZP.js";
143
143
  import "./chunk-Y6ROFCZO.js";
144
- import "./chunk-YO3O7H2X.js";
144
+ import "./chunk-63RO7QWZ.js";
145
145
  import "./chunk-WMHWFFTE.js";
146
146
  import "./chunk-XJWWBO34.js";
147
147
  import "./chunk-I42VC5KR.js";
@@ -9,7 +9,7 @@ import {
9
9
  resolveRunSettlementNote,
10
10
  resolveWorkflowReference,
11
11
  runAgentRunCommand
12
- } from "./chunk-A43QYPYN.js";
12
+ } from "./chunk-2SUNC7EM.js";
13
13
  import "./chunk-6QDYSCPW.js";
14
14
  import {
15
15
  parseAgentRunArgs
@@ -17,7 +17,7 @@ import {
17
17
  import "./chunk-Y5GCAMGP.js";
18
18
  import "./chunk-7DQSP7JU.js";
19
19
  import "./chunk-WBCYL63M.js";
20
- import "./chunk-VH7PE33C.js";
20
+ import "./chunk-J7QGWFT6.js";
21
21
  import "./chunk-DYQXB46J.js";
22
22
  import "./chunk-VP3BINY7.js";
23
23
  import "./chunk-R4BMKAR5.js";
@@ -102,8 +102,8 @@ import "./chunk-AETZ7AD6.js";
102
102
  import "./chunk-Y6ORVLSS.js";
103
103
  import "./chunk-KHCLMKZZ.js";
104
104
  import "./chunk-HVV4B6OL.js";
105
- import "./chunk-IIX6VWLW.js";
106
105
  import "./chunk-ZNFJWEN4.js";
106
+ import "./chunk-IIX6VWLW.js";
107
107
  import "./chunk-NVOYW6H4.js";
108
108
  import "./chunk-HNUWUO75.js";
109
109
  import "./chunk-CHOZJMJS.js";
@@ -161,7 +161,7 @@ import "./chunk-4SN6J65J.js";
161
161
  import "./chunk-CF7PE763.js";
162
162
  import "./chunk-R5GO3YZP.js";
163
163
  import "./chunk-Y6ROFCZO.js";
164
- import "./chunk-YO3O7H2X.js";
164
+ import "./chunk-63RO7QWZ.js";
165
165
  import "./chunk-WMHWFFTE.js";
166
166
  import "./chunk-XJWWBO34.js";
167
167
  import "./chunk-I42VC5KR.js";
@@ -23,8 +23,8 @@ import {
23
23
  runLocalAgentTurn,
24
24
  shouldCacheHybridRemoteRecord
25
25
  } from "./chunk-HVV4B6OL.js";
26
- import "./chunk-IIX6VWLW.js";
27
26
  import "./chunk-ZNFJWEN4.js";
27
+ import "./chunk-IIX6VWLW.js";
28
28
  import {
29
29
  buildPlatformChatCompletionRequest,
30
30
  canUsePlatformChatProvider,
@@ -4,7 +4,7 @@ import {
4
4
  pickDefined,
5
5
  printCliError,
6
6
  resolveCliContext
7
- } from "./chunk-FGIJLPZ3.js";
7
+ } from "./chunk-XTM23OUX.js";
8
8
  import {
9
9
  hasFlag,
10
10
  hasHelpArg
@@ -16,8 +16,8 @@ import "./chunk-NBTY7YJF.js";
16
16
  import "./chunk-VF4K2QE6.js";
17
17
  import "./chunk-UAD2WT54.js";
18
18
  import "./chunk-HVV4B6OL.js";
19
- import "./chunk-IIX6VWLW.js";
20
19
  import "./chunk-ZNFJWEN4.js";
20
+ import "./chunk-IIX6VWLW.js";
21
21
  import "./chunk-NVOYW6H4.js";
22
22
  import "./chunk-HNUWUO75.js";
23
23
  import "./chunk-CHOZJMJS.js";
@@ -72,7 +72,7 @@ import "./chunk-CF7PE763.js";
72
72
  import "./chunk-Y6ROFCZO.js";
73
73
  import {
74
74
  t
75
- } from "./chunk-YO3O7H2X.js";
75
+ } from "./chunk-63RO7QWZ.js";
76
76
  import "./chunk-WMHWFFTE.js";
77
77
  import "./chunk-XJWWBO34.js";
78
78
  import "./chunk-I42VC5KR.js";
@@ -5,7 +5,7 @@ import {
5
5
  pickDefined,
6
6
  printCliError,
7
7
  resolveCliContext
8
- } from "./chunk-FGIJLPZ3.js";
8
+ } from "./chunk-XTM23OUX.js";
9
9
  import {
10
10
  hasFlag,
11
11
  hasHelpArg
@@ -17,8 +17,8 @@ import "./chunk-NBTY7YJF.js";
17
17
  import "./chunk-VF4K2QE6.js";
18
18
  import "./chunk-UAD2WT54.js";
19
19
  import "./chunk-HVV4B6OL.js";
20
- import "./chunk-IIX6VWLW.js";
21
20
  import "./chunk-ZNFJWEN4.js";
21
+ import "./chunk-IIX6VWLW.js";
22
22
  import "./chunk-NVOYW6H4.js";
23
23
  import "./chunk-HNUWUO75.js";
24
24
  import "./chunk-CHOZJMJS.js";
@@ -73,7 +73,7 @@ import "./chunk-CF7PE763.js";
73
73
  import "./chunk-Y6ROFCZO.js";
74
74
  import {
75
75
  t
76
- } from "./chunk-YO3O7H2X.js";
76
+ } from "./chunk-63RO7QWZ.js";
77
77
  import "./chunk-WMHWFFTE.js";
78
78
  import "./chunk-XJWWBO34.js";
79
79
  import "./chunk-I42VC5KR.js";
@@ -4,7 +4,7 @@ import {
4
4
  outputResult,
5
5
  printCliError,
6
6
  resolveCliContext
7
- } from "./chunk-FGIJLPZ3.js";
7
+ } from "./chunk-XTM23OUX.js";
8
8
  import {
9
9
  hasFlag,
10
10
  hasHelpArg
@@ -16,8 +16,8 @@ import "./chunk-NBTY7YJF.js";
16
16
  import "./chunk-VF4K2QE6.js";
17
17
  import "./chunk-UAD2WT54.js";
18
18
  import "./chunk-HVV4B6OL.js";
19
- import "./chunk-IIX6VWLW.js";
20
19
  import "./chunk-ZNFJWEN4.js";
20
+ import "./chunk-IIX6VWLW.js";
21
21
  import "./chunk-NVOYW6H4.js";
22
22
  import "./chunk-HNUWUO75.js";
23
23
  import "./chunk-CHOZJMJS.js";
@@ -72,7 +72,7 @@ import "./chunk-CF7PE763.js";
72
72
  import "./chunk-Y6ROFCZO.js";
73
73
  import {
74
74
  t
75
- } from "./chunk-YO3O7H2X.js";
75
+ } from "./chunk-63RO7QWZ.js";
76
76
  import "./chunk-WMHWFFTE.js";
77
77
  import "./chunk-XJWWBO34.js";
78
78
  import "./chunk-I42VC5KR.js";
@@ -5,7 +5,7 @@ import {
5
5
  pickDefined,
6
6
  printCliError,
7
7
  resolveCliContext
8
- } from "./chunk-FGIJLPZ3.js";
8
+ } from "./chunk-XTM23OUX.js";
9
9
  import {
10
10
  hasFlag,
11
11
  hasHelpArg
@@ -17,8 +17,8 @@ import "./chunk-NBTY7YJF.js";
17
17
  import "./chunk-VF4K2QE6.js";
18
18
  import "./chunk-UAD2WT54.js";
19
19
  import "./chunk-HVV4B6OL.js";
20
- import "./chunk-IIX6VWLW.js";
21
20
  import "./chunk-ZNFJWEN4.js";
21
+ import "./chunk-IIX6VWLW.js";
22
22
  import "./chunk-NVOYW6H4.js";
23
23
  import "./chunk-HNUWUO75.js";
24
24
  import "./chunk-CHOZJMJS.js";
@@ -73,7 +73,7 @@ import "./chunk-CF7PE763.js";
73
73
  import "./chunk-Y6ROFCZO.js";
74
74
  import {
75
75
  t
76
- } from "./chunk-YO3O7H2X.js";
76
+ } from "./chunk-63RO7QWZ.js";
77
77
  import "./chunk-WMHWFFTE.js";
78
78
  import "./chunk-XJWWBO34.js";
79
79
  import "./chunk-I42VC5KR.js";
@@ -5,7 +5,7 @@ import {
5
5
  pickDefined,
6
6
  printCliError,
7
7
  resolveCliContext
8
- } from "./chunk-FGIJLPZ3.js";
8
+ } from "./chunk-XTM23OUX.js";
9
9
  import {
10
10
  hasFlag,
11
11
  hasHelpArg
@@ -17,8 +17,8 @@ import "./chunk-NBTY7YJF.js";
17
17
  import "./chunk-VF4K2QE6.js";
18
18
  import "./chunk-UAD2WT54.js";
19
19
  import "./chunk-HVV4B6OL.js";
20
- import "./chunk-IIX6VWLW.js";
21
20
  import "./chunk-ZNFJWEN4.js";
21
+ import "./chunk-IIX6VWLW.js";
22
22
  import "./chunk-NVOYW6H4.js";
23
23
  import "./chunk-HNUWUO75.js";
24
24
  import "./chunk-CHOZJMJS.js";
@@ -73,7 +73,7 @@ import "./chunk-CF7PE763.js";
73
73
  import "./chunk-Y6ROFCZO.js";
74
74
  import {
75
75
  t
76
- } from "./chunk-YO3O7H2X.js";
76
+ } from "./chunk-63RO7QWZ.js";
77
77
  import "./chunk-WMHWFFTE.js";
78
78
  import "./chunk-XJWWBO34.js";
79
79
  import "./chunk-I42VC5KR.js";
@@ -100,7 +100,7 @@ import {
100
100
  } from "./chunk-R5GO3YZP.js";
101
101
  import {
102
102
  t
103
- } from "./chunk-YO3O7H2X.js";
103
+ } from "./chunk-63RO7QWZ.js";
104
104
  import "./chunk-WMHWFFTE.js";
105
105
  import "./chunk-XJWWBO34.js";
106
106
  import "./chunk-I42VC5KR.js";
@@ -16,7 +16,7 @@ import "./chunk-4SN6J65J.js";
16
16
  import "./chunk-CF7PE763.js";
17
17
  import {
18
18
  t
19
- } from "./chunk-YO3O7H2X.js";
19
+ } from "./chunk-63RO7QWZ.js";
20
20
  import "./chunk-G3SUCT4W.js";
21
21
  import "./chunk-4VNS5WPM.js";
22
22
 
@@ -38,7 +38,7 @@ import {
38
38
  resolveFileWriteGateEnabled,
39
39
  resolveLocalUserId,
40
40
  validateInstaboxWorkspaceSelection
41
- } from "./chunk-VH7PE33C.js";
41
+ } from "./chunk-J7QGWFT6.js";
42
42
  import {
43
43
  clearCredentialAvailability,
44
44
  readEffectiveCredentialEntry,
@@ -228,7 +228,7 @@ import {
228
228
  t,
229
229
  toolLabel,
230
230
  toolLabelVariants
231
- } from "./chunk-YO3O7H2X.js";
231
+ } from "./chunk-63RO7QWZ.js";
232
232
  import {
233
233
  createMemoryKey
234
234
  } from "./chunk-WMHWFFTE.js";
@@ -16,7 +16,7 @@ import {
16
16
  } from "./chunk-WBCYL63M.js";
17
17
  import {
18
18
  clearCliLocalRuntimePreparedAgentCache
19
- } from "./chunk-VH7PE33C.js";
19
+ } from "./chunk-J7QGWFT6.js";
20
20
  import {
21
21
  readCredentialAvailability
22
22
  } from "./chunk-R4BMKAR5.js";
@@ -2627,6 +2627,10 @@ var COMMAND_DESCRIPTIONS = {
2627
2627
  en: "Hard-delete an agent's private and public records",
2628
2628
  zh: "\u786C\u5220\u9664\u667A\u80FD\u4F53\u7684\u79C1\u6709\u4E0E\u516C\u5F00\u8BB0\u5F55"
2629
2629
  },
2630
+ "agent favorite": {
2631
+ en: "Favorite an agent for the current user (--off to unfavorite)",
2632
+ zh: "\u6536\u85CF\u667A\u80FD\u4F53\uFF08--off \u53D6\u6D88\u6536\u85CF\uFF09"
2633
+ },
2630
2634
  "agent grant": {
2631
2635
  en: "Grant another user access to this agent's owner credentials",
2632
2636
  zh: "\u6388\u6743\u5176\u4ED6\u7528\u6237\u4F7F\u7528\u8BE5\u667A\u80FD\u4F53\u7684\u5C5E\u4E3B\u51ED\u8BC1"
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  t
3
- } from "./chunk-YO3O7H2X.js";
3
+ } from "./chunk-63RO7QWZ.js";
4
4
 
5
5
  // packages/cli/windowsSelfUpdate.ts
6
6
  import { spawn } from "node:child_process";
@@ -69,7 +69,7 @@ import {
69
69
  } from "./chunk-4SN6J65J.js";
70
70
  import {
71
71
  t
72
- } from "./chunk-YO3O7H2X.js";
72
+ } from "./chunk-63RO7QWZ.js";
73
73
  import {
74
74
  asNonEmptyStringArray,
75
75
  asTrimmedNonEmptyStringArray
@@ -378,7 +378,7 @@ import {
378
378
  import {
379
379
  agentRunCardLabels,
380
380
  t
381
- } from "./chunk-YO3O7H2X.js";
381
+ } from "./chunk-63RO7QWZ.js";
382
382
  import {
383
383
  createTokenKey,
384
384
  createTokenStatsKey,
@@ -15,10 +15,10 @@ import {
15
15
  } from "./chunk-Y6ROFCZO.js";
16
16
  import {
17
17
  scheduleWindowsSelfUpdate
18
- } from "./chunk-IIGDVODZ.js";
18
+ } from "./chunk-7GXK3WTO.js";
19
19
  import {
20
20
  t
21
- } from "./chunk-YO3O7H2X.js";
21
+ } from "./chunk-63RO7QWZ.js";
22
22
 
23
23
  // packages/cli/updateCommands.ts
24
24
  import { existsSync, readFileSync, accessSync, constants } from "node:fs";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createCliLocalRuntimeAdapter,
3
3
  summarizeEndpoint
4
- } from "./chunk-VH7PE33C.js";
4
+ } from "./chunk-J7QGWFT6.js";
5
5
  import {
6
6
  clipMultilineText
7
7
  } from "./chunk-O2MBTX37.js";
@@ -38,7 +38,7 @@ import {
38
38
  } from "./chunk-Y6ROFCZO.js";
39
39
  import {
40
40
  t
41
- } from "./chunk-YO3O7H2X.js";
41
+ } from "./chunk-63RO7QWZ.js";
42
42
  import {
43
43
  asTrimmedNonEmptyStringArray
44
44
  } from "./chunk-I42VC5KR.js";
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-WACI5I6V.js";
7
7
  import {
8
8
  t
9
- } from "./chunk-YO3O7H2X.js";
9
+ } from "./chunk-63RO7QWZ.js";
10
10
 
11
11
  // packages/cli/cliApiClient.ts
12
12
  var CliApiError = class extends Error {