nolo-cli 0.141.0-alpha.2 → 0.142.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 (59) hide show
  1. package/{_executeModel-PHFKA2OL.js → _executeModel-QK43QR2R.js} +12 -12
  2. package/{agentDeleteCommand-PDOMFCIL.js → agentDeleteCommand-SE4WUIRR.js} +3 -3
  3. package/{agentEmailCommands-COB4Z4JG.js → agentEmailCommands-NFXKPSBA.js} +15 -14
  4. package/{agentListCommands-MWAR7A4K.js → agentListCommands-IYXFYVYR.js} +3 -3
  5. package/{agentMachineCommands-N5TMIAPZ.js → agentMachineCommands-BNOXYSPZ.js} +4 -4
  6. package/{agentRecordCommands-EF4O73ZD.js → agentRecordCommands-B3AUVK74.js} +14 -13
  7. package/{agentRunCommand-QXC6SUES.js → agentRunCommand-VRLCL57M.js} +14 -13
  8. package/{agentRuntimeLocal-F7VBM3ZK.js → agentRuntimeLocal-VOQ3UYZB.js} +3 -3
  9. package/{agentSlice-EYRJX2J6.js → agentSlice-4AK24F5F.js} +3 -3
  10. package/{appDeleteCommands-C6SHMXRO.js → appDeleteCommands-XWAIUHTN.js} +3 -3
  11. package/{appDeployCommands-TN7KPWQK.js → appDeployCommands-CBJJCUMG.js} +3 -3
  12. package/{appDeployStatusCommands-CZLHVPY3.js → appDeployStatusCommands-LTTZTJQS.js} +3 -3
  13. package/{appGetCommands-SE2MWTE2.js → appGetCommands-QHUB7MFF.js} +3 -3
  14. package/{appListCommands-J47WTLZ3.js → appListCommands-HINIDJE7.js} +3 -3
  15. package/{authCommand-CYPLLWIC.js → authCommand-LARLQ3GC.js} +57 -31
  16. package/{chatQueueReduxAdapter-YNI7ALFW.js → chatQueueReduxAdapter-KIQ3FQ62.js} +4 -4
  17. package/{chunk-SUFNELDG.js → chunk-44F6KKUE.js} +2 -2
  18. package/{chunk-ATXCJGRN.js → chunk-AAROOKLX.js} +1 -1
  19. package/{chunk-DT7WS4NV.js → chunk-DID5AVGT.js} +4 -4
  20. package/{chunk-BWSBFGQN.js → chunk-DOBBRISY.js} +6 -6
  21. package/{chunk-65U5FCBE.js → chunk-GH4MH73K.js} +1 -1
  22. package/{chunk-CRGSU5DB.js → chunk-GZQNKKDG.js} +1 -1
  23. package/{chunk-MPRDXX4T.js → chunk-K25DK52L.js} +9 -9
  24. package/{chunk-X45MLRN4.js → chunk-KT3TUKD2.js} +2 -2
  25. package/{chunk-TS5BDIPV.js → chunk-KUPDS66Q.js} +8 -8
  26. package/{chunk-ESRMFY7G.js → chunk-L36OWPP3.js} +1 -1
  27. package/{chunk-TV5ODOAF.js → chunk-MXRUAINC.js} +4 -4
  28. package/{chunk-6YT7I7KF.js → chunk-OUOJE2P2.js} +5 -5
  29. package/{chunk-W5UYXCQE.js → chunk-QDT5T7MK.js} +31 -2
  30. package/{chunk-A3JENOEB.js → chunk-T36EFAW7.js} +2 -2
  31. package/{chunk-A3OTEZGZ.js → chunk-VVUSRF5D.js} +4 -4
  32. package/{chunk-TUETDBTI.js → chunk-WTUVMKSQ.js} +2 -2
  33. package/{chunk-63ZFMDDF.js → chunk-WYYO2YOL.js} +1 -1
  34. package/{chunk-SFRMB7XN.js → chunk-ZOI6KA4N.js} +79 -9
  35. package/{chunk-HNGRBWYF.js → chunk-ZWQUWF6W.js} +33 -1
  36. package/{commandRegistry-2RDTD6CT.js → commandRegistry-O4L5BBUZ.js} +47 -47
  37. package/{contentThunks-2PJ4QDAV.js → contentThunks-6QBTPLWT.js} +5 -5
  38. package/{createAgentAutomationAction-SWO62RE2.js → createAgentAutomationAction-TZVIJTZ7.js} +5 -5
  39. package/{createDialogAction-2BMDM4X3.js → createDialogAction-KTDAEA42.js} +6 -6
  40. package/{createPageAction-HLSLX4R4.js → createPageAction-4RASVDAU.js} +5 -5
  41. package/{dialogCommands-LUR5GD4V.js → dialogCommands-GY7LRERG.js} +3 -3
  42. package/{dialogSlice-7IGCUDZE.js → dialogSlice-J24APUGG.js} +4 -4
  43. package/{docCreateCommands-F4JYZZXQ.js → docCreateCommands-T7KII3WP.js} +3 -3
  44. package/{docDeleteCommands-Z3QD6SGU.js → docDeleteCommands-SQ26EFE6.js} +3 -3
  45. package/{docReadCommands-UKTYKVGA.js → docReadCommands-I6NA2ZKV.js} +3 -3
  46. package/{docStore-OD3NRNBN.js → docStore-SPOGE7K3.js} +1 -1
  47. package/{docUpdateCommands-JSQCDHTL.js → docUpdateCommands-IG43SZ6U.js} +3 -3
  48. package/{handleSendMessageAction-PRF7JNOH.js → handleSendMessageAction-I2IN64DS.js} +4 -4
  49. package/index.js +2 -2
  50. package/{machineCommands-Y5QYMVTJ.js → machineCommands-U7VABJPW.js} +14 -13
  51. package/{machineWsRunDispatch-4DWFWYZ6.js → machineWsRunDispatch-ZNU6LRNG.js} +14 -13
  52. package/{oauthTokenStore-ITEB663N.js → oauthTokenStore-PADKLNOC.js} +1 -1
  53. package/package.json +1 -1
  54. package/{readlineWorkspace-YHJMMTC7.js → readlineWorkspace-46KDFUHN.js} +13 -13
  55. package/{runAgentClientLoop-66UNGCTW.js → runAgentClientLoop-CQWLWU4W.js} +10 -10
  56. package/{spaceCommands-BPQ6XFKS.js → spaceCommands-TSBC5UWP.js} +3 -3
  57. package/{streamAgentChatTurn-6F3M4KUY.js → streamAgentChatTurn-XD5JEJXA.js} +11 -11
  58. package/{tools-VSECJ5T7.js → tools-5NAJJTFN.js} +8 -8
  59. package/{updateDialogTitleAction-WE5KY3SM.js → updateDialogTitleAction-IKZPJCRA.js} +5 -5
@@ -326,7 +326,7 @@ async function saveDocState(arg, { dispatch, getState }) {
326
326
  ).unwrap();
327
327
  if (dbSpaceId) {
328
328
  try {
329
- const { updateContentTitle } = await import("./contentThunks-2PJ4QDAV.js");
329
+ const { updateContentTitle } = await import("./contentThunks-6QBTPLWT.js");
330
330
  await dispatch(
331
331
  updateContentTitle({
332
332
  spaceId: dbSpaceId,
@@ -365,7 +365,7 @@ async function saveDocState(arg, { dispatch, getState }) {
365
365
  }
366
366
  }
367
367
  async function createDocState(args, thunkApi) {
368
- const { createPageAction } = await import("./createPageAction-HLSLX4R4.js");
368
+ const { createPageAction } = await import("./createPageAction-4RASVDAU.js");
369
369
  return createPageAction(args, thunkApi);
370
370
  }
371
371
  function subscribe(listener) {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  fetchReferenceContents,
3
3
  resolveReferenceAssets
4
- } from "./chunk-DT7WS4NV.js";
4
+ } from "./chunk-DID5AVGT.js";
5
5
 
6
6
  // packages/ai/agent/fetchAgentContexts.ts
7
7
  async function fetchAgentContexts(references, dispatch) {
@@ -3,8 +3,9 @@ import {
3
3
  cursorRefresh,
4
4
  refreshAntigravityOAuthToken,
5
5
  refreshOpenAiCodexToken,
6
+ resolveServerSyncConfig,
6
7
  xaiRefresh
7
- } from "./chunk-W5UYXCQE.js";
8
+ } from "./chunk-QDT5T7MK.js";
8
9
  import {
9
10
  createChromeConnectorClient,
10
11
  createVerifiedChromeConnectorClient,
@@ -63,7 +64,7 @@ import {
63
64
  import {
64
65
  inlineImageUrlsForCustomProvider,
65
66
  prepareTools
66
- } from "./chunk-SUFNELDG.js";
67
+ } from "./chunk-44F6KKUE.js";
67
68
  import {
68
69
  getServerProviderSecret
69
70
  } from "./chunk-HS7MLR74.js";
@@ -82,7 +83,7 @@ import {
82
83
  rememberMemoryFunctionSchema,
83
84
  resolveAgentRequiredPackIds,
84
85
  setTodoListFunc
85
- } from "./chunk-MPRDXX4T.js";
86
+ } from "./chunk-K25DK52L.js";
86
87
  import {
87
88
  deriveCredentialGroup,
88
89
  deriveCustomProviderCredentialGroup
@@ -110,14 +111,14 @@ import {
110
111
  prepareTokenUsageData,
111
112
  resolveBuiltinPlatformAgentConfig,
112
113
  runKeyed
113
- } from "./chunk-TS5BDIPV.js";
114
+ } from "./chunk-KUPDS66Q.js";
114
115
  import {
115
116
  BUILTIN_DIALOG_LLM_CHAT_FALLBACK_MODEL,
116
117
  BUILTIN_TITLE_LLM_CONFIG
117
118
  } from "./chunk-MC4XLIJ7.js";
118
119
  import {
119
120
  fetchServerSyncedCredential
120
- } from "./chunk-TV5ODOAF.js";
121
+ } from "./chunk-MXRUAINC.js";
121
122
  import {
122
123
  require_date_fns
123
124
  } from "./chunk-M76ECQRD.js";
@@ -163,7 +164,7 @@ import {
163
164
  readDevinUpstreamFailure,
164
165
  resolveOpenAiCompatibleProviderConfig,
165
166
  summarizeToolArguments
166
- } from "./chunk-65U5FCBE.js";
167
+ } from "./chunk-GH4MH73K.js";
167
168
  import {
168
169
  accumulateGeminiChunks,
169
170
  buildGeminiGenerateContentRequest,
@@ -241,7 +242,7 @@ import {
241
242
  resolveCurrentRunRuntimeToolPolicy,
242
243
  resolveLocalWorkspaceExecutorOptionsFromPolicy,
243
244
  resolveRequestedRuntimeToolNames
244
- } from "./chunk-ESRMFY7G.js";
245
+ } from "./chunk-L36OWPP3.js";
245
246
  import {
246
247
  compactWhitespace
247
248
  } from "./chunk-DWLEOOGR.js";
@@ -258,7 +259,7 @@ import {
258
259
  isTokenExpired,
259
260
  readOAuthCredential,
260
261
  resolveFreshAccessToken
261
- } from "./chunk-HNGRBWYF.js";
262
+ } from "./chunk-ZWQUWF6W.js";
262
263
  import {
263
264
  canonicalizeToolNames
264
265
  } from "./chunk-O6OSWFZQ.js";
@@ -12481,6 +12482,70 @@ function buildLocalToolExecutors(args) {
12481
12482
  };
12482
12483
  }
12483
12484
 
12485
+ // packages/cli/oauth/serverAccessTokenPull.ts
12486
+ var PULL_FAILURE_COOLDOWN_MS = 6e4;
12487
+ function createServerAccessTokenPuller(deps = {}) {
12488
+ const inFlight = /* @__PURE__ */ new Map();
12489
+ const cooldownUntil = /* @__PURE__ */ new Map();
12490
+ const now = deps.now ?? Date.now;
12491
+ return async function pullServerAccessToken(input) {
12492
+ const { provider } = input;
12493
+ const { origin, userId } = input.serverManaged;
12494
+ const config = (deps.resolveServerSyncConfig ?? resolveServerSyncConfig)();
12495
+ if (!config) return null;
12496
+ const localUserId = (deps.localUserId ?? parseUserIdFromAuthToken(config.authToken) ?? "").trim();
12497
+ const markerUserId = (userId ?? "").trim();
12498
+ if (!localUserId || !markerUserId || localUserId !== markerUserId) return null;
12499
+ if (!origin || config.serverOrigin !== origin) return null;
12500
+ const until = cooldownUntil.get(provider) ?? 0;
12501
+ if (now() < until) return null;
12502
+ const existing = inFlight.get(provider);
12503
+ if (existing) return existing;
12504
+ const run = (async () => {
12505
+ try {
12506
+ const fetchImpl = deps.fetchImpl ?? fetch;
12507
+ const res = await fetchImpl(
12508
+ `${config.serverOrigin}/api/oauth/${provider}/access-token`,
12509
+ {
12510
+ method: "POST",
12511
+ headers: {
12512
+ "Content-Type": "application/json",
12513
+ Authorization: `Bearer ${config.authToken}`
12514
+ },
12515
+ body: JSON.stringify({ force: input.force === true }),
12516
+ signal: AbortSignal.timeout(deps.timeoutMs ?? 1e4)
12517
+ }
12518
+ );
12519
+ if (!res.ok) {
12520
+ cooldownUntil.set(provider, now() + PULL_FAILURE_COOLDOWN_MS);
12521
+ return null;
12522
+ }
12523
+ const payload = await res.json().catch(() => null);
12524
+ const accessToken = typeof payload?.accessToken === "string" ? payload.accessToken.trim() : "";
12525
+ if (!accessToken) {
12526
+ cooldownUntil.set(provider, now() + PULL_FAILURE_COOLDOWN_MS);
12527
+ return null;
12528
+ }
12529
+ cooldownUntil.delete(provider);
12530
+ const expiresAt = typeof payload?.expiresAt === "number" && Number.isFinite(payload.expiresAt) ? payload.expiresAt : void 0;
12531
+ const accountId = typeof payload?.accountId === "string" && payload.accountId ? payload.accountId : void 0;
12532
+ return {
12533
+ accessToken,
12534
+ ...expiresAt !== void 0 ? { expiresAt } : {},
12535
+ ...accountId ? { accountId } : {}
12536
+ };
12537
+ } catch {
12538
+ cooldownUntil.set(provider, now() + PULL_FAILURE_COOLDOWN_MS);
12539
+ return null;
12540
+ } finally {
12541
+ inFlight.delete(provider);
12542
+ }
12543
+ })();
12544
+ inFlight.set(provider, run);
12545
+ return run;
12546
+ };
12547
+ }
12548
+
12484
12549
  // packages/cli/oauth/apiKeyRefResolver.ts
12485
12550
  var REFRESH_BY_PROVIDER = {
12486
12551
  chatgpt: refreshOpenAiCodexToken,
@@ -12496,6 +12561,10 @@ function isOAuthProvider(value) {
12496
12561
  return value === "chatgpt" || value === "xai" || value === "antigravity" || value === "claude" || value === "cursor" || value === "devin";
12497
12562
  }
12498
12563
  function createOAuthApiKeyRefResolver(options = {}) {
12564
+ const pullServerAccessToken = options.pullServerAccessToken ?? createServerAccessTokenPuller({
12565
+ ...options.fetchImpl ? { fetchImpl: options.fetchImpl } : {},
12566
+ ...options.localUserId ? { localUserId: options.localUserId } : {}
12567
+ });
12499
12568
  return async (ref, opts) => {
12500
12569
  const provider = ref.trim();
12501
12570
  if (!isOAuthProvider(provider)) return null;
@@ -12505,7 +12574,8 @@ function createOAuthApiKeyRefResolver(options = {}) {
12505
12574
  ...options.homeDir ? { homeDir: options.homeDir } : {},
12506
12575
  ...options.migration ? { migration: options.migration } : {},
12507
12576
  ...refresh ? { refresh } : {},
12508
- ...opts?.force ? { force: true } : {}
12577
+ ...opts?.force ? { force: true } : {},
12578
+ pullFromServer: pullServerAccessToken
12509
12579
  });
12510
12580
  if (token) return token;
12511
12581
  const store = createOAuthTokenStore(options.homeDir, options.migration);
@@ -193,7 +193,39 @@ async function resolveFreshAccessToken(args) {
193
193
  const now = args.now ?? Date.now;
194
194
  const credential = store.read(args.provider);
195
195
  if (!credential) return null;
196
- if (!args.force && !isTokenExpired(credential, args.skewMs ?? DEFAULT_REFRESH_SKEW_MS, now())) {
196
+ const skew = args.skewMs ?? DEFAULT_REFRESH_SKEW_MS;
197
+ const stillFresh = !isTokenExpired(credential, skew, now());
198
+ if (credential.serverManaged) {
199
+ if (!args.force && stillFresh) return credential.accessToken;
200
+ const pull = args.pullFromServer;
201
+ if (pull) {
202
+ const pulled = await pull({
203
+ provider: args.provider,
204
+ force: args.force === true,
205
+ serverManaged: credential.serverManaged
206
+ });
207
+ if (pulled?.accessToken) {
208
+ const notOlder = !credential.expiresAt || !pulled.expiresAt || pulled.expiresAt >= credential.expiresAt;
209
+ if (notOlder) {
210
+ const { refreshToken: _dropped, ...cleanedBase } = credential;
211
+ store.write(args.provider, {
212
+ ...cleanedBase,
213
+ accessToken: pulled.accessToken,
214
+ ...pulled.expiresAt !== void 0 ? { expiresAt: pulled.expiresAt } : {},
215
+ ...pulled.accountId ? { accountId: pulled.accountId } : {}
216
+ });
217
+ }
218
+ return pulled.accessToken;
219
+ }
220
+ }
221
+ if (credential.expiresAt && credential.expiresAt > now()) {
222
+ return credential.accessToken;
223
+ }
224
+ throw new Error(
225
+ `OAuth credential for "${args.provider}" is server-managed and its access token has expired. Connect to ${credential.serverManaged.origin} to get a fresh one, or re-authorize with \`nolo auth ${args.provider} --sync-to-server\`.`
226
+ );
227
+ }
228
+ if (!args.force && stillFresh) {
197
229
  return credential.accessToken;
198
230
  }
199
231
  if (!credential.refreshToken || !args.refresh) return null;
@@ -103,7 +103,7 @@ function createDaemonShortcutCommand(path, description, command) {
103
103
  // packages/cli/agentInternalCommandEntries.ts
104
104
  function getAgentInternalCommandEntries() {
105
105
  const createAgentRunCommand = (path, description) => createContextCommand(path, description, async (args, ctx) => {
106
- const { runAgentRunCommand } = await import("./agentRunCommand-QXC6SUES.js");
106
+ const { runAgentRunCommand } = await import("./agentRunCommand-VRLCL57M.js");
107
107
  return runAgentRunCommand(args, {
108
108
  env: ctx.env,
109
109
  scriptDir: ctx.scriptDir,
@@ -115,11 +115,11 @@ function getAgentInternalCommandEntries() {
115
115
  createAgentRunCommand(["run"], "Run a no-login local agent in this workspace"),
116
116
  createAgentRunCommand(["chat"], "Chat with an agent"),
117
117
  createEnvCommand(["agent", "list"], "List owned agents", async (args, deps) => {
118
- const { runAgentListCommand } = await import("./agentListCommands-MWAR7A4K.js");
118
+ const { runAgentListCommand } = await import("./agentListCommands-IYXFYVYR.js");
119
119
  return runAgentListCommand(args, deps);
120
120
  }),
121
121
  createEnvCommand(["agent", "create"], "Create a new agent", async (args, deps) => {
122
- const { runAgentCreateCommand } = await import("./agentRecordCommands-EF4O73ZD.js");
122
+ const { runAgentCreateCommand } = await import("./agentRecordCommands-B3AUVK74.js");
123
123
  return runAgentCreateCommand(args, deps);
124
124
  }),
125
125
  createEnvCommand(["agent", "models"], "List models available on an OpenAI-compatible provider", async (args, deps) => {
@@ -135,7 +135,7 @@ function getAgentInternalCommandEntries() {
135
135
  return runAgentPullCommand(args, deps);
136
136
  }),
137
137
  createEnvCommand(["agent", "read"], "Read a single agent", async (args, deps) => {
138
- const { runAgentReadCommand } = await import("./agentRecordCommands-EF4O73ZD.js");
138
+ const { runAgentReadCommand } = await import("./agentRecordCommands-B3AUVK74.js");
139
139
  return runAgentReadCommand(args, deps);
140
140
  }),
141
141
  createAgentRunCommand(["agent", "run"], "Run an agent"),
@@ -164,31 +164,31 @@ function getAgentInternalCommandEntries() {
164
164
  return runSetupOfflineMarxistsAgentCommand(args, deps);
165
165
  }),
166
166
  createEnvCommand(["agent", "update"], "Update agent fields", async (args, deps) => {
167
- const { runAgentUpdateCommand } = await import("./agentRecordCommands-EF4O73ZD.js");
167
+ const { runAgentUpdateCommand } = await import("./agentRecordCommands-B3AUVK74.js");
168
168
  return runAgentUpdateCommand(args, deps);
169
169
  }),
170
170
  createEnvCommand(["agent", "email", "provision"], "Provision a controlled inbox for an agent", async (args, deps) => {
171
- const { runAgentEmailProvisionCommand } = await import("./agentEmailCommands-COB4Z4JG.js");
171
+ const { runAgentEmailProvisionCommand } = await import("./agentEmailCommands-NFXKPSBA.js");
172
172
  return runAgentEmailProvisionCommand(args, deps);
173
173
  }),
174
174
  createEnvCommand(["agent", "email", "bind"], "Bind an existing email address to an agent", async (args, deps) => {
175
- const { runAgentEmailBindCommand } = await import("./agentEmailCommands-COB4Z4JG.js");
175
+ const { runAgentEmailBindCommand } = await import("./agentEmailCommands-NFXKPSBA.js");
176
176
  return runAgentEmailBindCommand(args, deps);
177
177
  }),
178
178
  createEnvCommand(["agent", "email", "transfer"], "Transfer an email identity from one agent to another (cross-account)", async (args, deps) => {
179
- const { runAgentEmailTransferCommand } = await import("./agentEmailCommands-COB4Z4JG.js");
179
+ const { runAgentEmailTransferCommand } = await import("./agentEmailCommands-NFXKPSBA.js");
180
180
  return runAgentEmailTransferCommand(args, deps);
181
181
  }),
182
182
  createEnvCommand(
183
183
  ["agent", "email", "create-and-provision"],
184
184
  "Create an agent and provision its controlled inbox",
185
185
  async (args, deps) => {
186
- const { runAgentEmailCreateAndProvisionCommand } = await import("./agentEmailCommands-COB4Z4JG.js");
186
+ const { runAgentEmailCreateAndProvisionCommand } = await import("./agentEmailCommands-NFXKPSBA.js");
187
187
  return runAgentEmailCreateAndProvisionCommand(args, deps);
188
188
  }
189
189
  ),
190
190
  createEnvCommand(["agent", "delete"], "Hard-delete an agent's private and public records", async (args, deps) => {
191
- const { runAgentDeleteCommand } = await import("./agentDeleteCommand-PDOMFCIL.js");
191
+ const { runAgentDeleteCommand } = await import("./agentDeleteCommand-SE4WUIRR.js");
192
192
  return runAgentDeleteCommand(args, deps);
193
193
  }),
194
194
  createEnvCommand(["agent", "grant"], "Grant another user access to this agent's owner credentials", async (args, deps) => {
@@ -204,15 +204,15 @@ function getAgentInternalCommandEntries() {
204
204
  return runAgentRevokeGrantCommand(args, deps);
205
205
  }),
206
206
  createEnvCommand(["agent", "bind-current"], "Bind an agent to this machine", async (args, deps) => {
207
- const { runAgentBindCurrentCommand } = await import("./agentMachineCommands-N5TMIAPZ.js");
207
+ const { runAgentBindCurrentCommand } = await import("./agentMachineCommands-BNOXYSPZ.js");
208
208
  return runAgentBindCurrentCommand(args, deps);
209
209
  }),
210
210
  createEnvCommand(["agent", "smoke-current"], "Smoke test a bound agent through this machine", async (args, deps) => {
211
- const { runAgentSmokeCurrentCommand } = await import("./agentMachineCommands-N5TMIAPZ.js");
211
+ const { runAgentSmokeCurrentCommand } = await import("./agentMachineCommands-BNOXYSPZ.js");
212
212
  return runAgentSmokeCurrentCommand(args, deps);
213
213
  }),
214
214
  createEnvCommand(["agent", "runtime-doctor"], "Diagnose current machine runtime compatibility", async (args, deps) => {
215
- const { runAgentRuntimeDoctorCommand } = await import("./agentMachineCommands-N5TMIAPZ.js");
215
+ const { runAgentRuntimeDoctorCommand } = await import("./agentMachineCommands-BNOXYSPZ.js");
216
216
  return runAgentRuntimeDoctorCommand(args, deps);
217
217
  }),
218
218
  createAgentRunCommand(["agent", "chat"], "Chat with an agent")
@@ -223,23 +223,23 @@ function getAgentInternalCommandEntries() {
223
223
  function getAppInternalCommandEntries() {
224
224
  return [
225
225
  createEnvCommand(["app", "list"], "List your apps", async (args, deps) => {
226
- const { runAppListCommand } = await import("./appListCommands-J47WTLZ3.js");
226
+ const { runAppListCommand } = await import("./appListCommands-HINIDJE7.js");
227
227
  return runAppListCommand(args, deps);
228
228
  }),
229
229
  createEnvCommand(["app", "get"], "Get app details", async (args, deps) => {
230
- const { runAppGetCommand } = await import("./appGetCommands-SE2MWTE2.js");
230
+ const { runAppGetCommand } = await import("./appGetCommands-QHUB7MFF.js");
231
231
  return runAppGetCommand(args, deps);
232
232
  }),
233
233
  createEnvCommand(["app", "deploy"], "Deploy an app", async (args, deps) => {
234
- const { runAppDeployCommand } = await import("./appDeployCommands-TN7KPWQK.js");
234
+ const { runAppDeployCommand } = await import("./appDeployCommands-CBJJCUMG.js");
235
235
  return runAppDeployCommand(args, deps);
236
236
  }),
237
237
  createEnvCommand(["app", "deploy", "status"], "Check app deploy status", async (args, deps) => {
238
- const { runAppDeployStatusCommand } = await import("./appDeployStatusCommands-CZLHVPY3.js");
238
+ const { runAppDeployStatusCommand } = await import("./appDeployStatusCommands-LTTZTJQS.js");
239
239
  return runAppDeployStatusCommand(args, deps);
240
240
  }),
241
241
  createEnvCommand(["app", "delete"], "Delete an app", async (args, deps) => {
242
- const { runAppDeleteCommand } = await import("./appDeleteCommands-C6SHMXRO.js");
242
+ const { runAppDeleteCommand } = await import("./appDeleteCommands-XWAIUHTN.js");
243
243
  return runAppDeleteCommand(args, deps);
244
244
  })
245
245
  ];
@@ -308,27 +308,27 @@ function getChromeInternalCommandEntries() {
308
308
  function getDialogInternalCommandEntries() {
309
309
  return [
310
310
  createEnvCommand(["dialog", "search"], "Search dialog messages across dialogs", async (args, deps) => {
311
- const { runDialogSearchCommand } = await import("./dialogCommands-LUR5GD4V.js");
311
+ const { runDialogSearchCommand } = await import("./dialogCommands-GY7LRERG.js");
312
312
  return runDialogSearchCommand(args, deps);
313
313
  }),
314
314
  createEnvCommand(["dialog", "list"], "List dialogs (default --limit 50; --all/--limit 0 full; --jsonl streams)", async (args, deps) => {
315
- const { runDialogListCommand } = await import("./dialogCommands-LUR5GD4V.js");
315
+ const { runDialogListCommand } = await import("./dialogCommands-GY7LRERG.js");
316
316
  return runDialogListCommand(args, deps);
317
317
  }),
318
318
  createEnvCommand(["dialog", "delete"], "Delete one or more dialogs", async (args, deps) => {
319
- const { runDialogDeleteCommand } = await import("./dialogCommands-LUR5GD4V.js");
319
+ const { runDialogDeleteCommand } = await import("./dialogCommands-GY7LRERG.js");
320
320
  return runDialogDeleteCommand(args, deps);
321
321
  }),
322
322
  createEnvCommand(["dialog", "query"], "Query dialogs by subject refs (default --limit 50; --all full; --jsonl streams)", async (args, deps) => {
323
- const { runDialogQueryCommand } = await import("./dialogCommands-LUR5GD4V.js");
323
+ const { runDialogQueryCommand } = await import("./dialogCommands-GY7LRERG.js");
324
324
  return runDialogQueryCommand(args, deps);
325
325
  }),
326
326
  createEnvCommand(["dialog", "read"], "Read a dialog", async (args, deps) => {
327
- const { runDialogReadCommand } = await import("./dialogCommands-LUR5GD4V.js");
327
+ const { runDialogReadCommand } = await import("./dialogCommands-GY7LRERG.js");
328
328
  return runDialogReadCommand(args, deps);
329
329
  }),
330
330
  createEnvCommand(["dialog", "status"], "Read compact dialog status", async (args, deps) => {
331
- const { runDialogStatusCommand } = await import("./dialogCommands-LUR5GD4V.js");
331
+ const { runDialogStatusCommand } = await import("./dialogCommands-GY7LRERG.js");
332
332
  return runDialogStatusCommand(args, deps);
333
333
  })
334
334
  ];
@@ -338,39 +338,39 @@ function getDialogInternalCommandEntries() {
338
338
  function getDocInternalCommandEntries() {
339
339
  return [
340
340
  createEnvCommand(["doc", "create"], "Create a normal doc", async (args, deps) => {
341
- const { runDocCreateCommand } = await import("./docCreateCommands-F4JYZZXQ.js");
341
+ const { runDocCreateCommand } = await import("./docCreateCommands-T7KII3WP.js");
342
342
  return runDocCreateCommand(args, deps);
343
343
  }),
344
344
  createEnvCommand(["doc", "read"], "Read a normal doc", async (args, deps) => {
345
- const { runDocReadCommand } = await import("./docReadCommands-UKTYKVGA.js");
345
+ const { runDocReadCommand } = await import("./docReadCommands-I6NA2ZKV.js");
346
346
  return runDocReadCommand(args, deps);
347
347
  }),
348
348
  createEnvCommand(["doc", "update"], "Update a normal doc", async (args, deps) => {
349
- const { runDocUpdateCommand } = await import("./docUpdateCommands-JSQCDHTL.js");
349
+ const { runDocUpdateCommand } = await import("./docUpdateCommands-IG43SZ6U.js");
350
350
  return runDocUpdateCommand(args, deps);
351
351
  }),
352
352
  createEnvCommand(["doc", "delete"], "Delete a normal doc", async (args, deps) => {
353
- const { runDocDeleteCommand } = await import("./docDeleteCommands-Z3QD6SGU.js");
353
+ const { runDocDeleteCommand } = await import("./docDeleteCommands-SQ26EFE6.js");
354
354
  return runDocDeleteCommand(args, deps);
355
355
  }),
356
356
  createEnvCommand(["skill-doc", "create"], "Create a skill-backed doc", async (args, deps) => {
357
- const { runSkillDocCreateCommand } = await import("./docCreateCommands-F4JYZZXQ.js");
357
+ const { runSkillDocCreateCommand } = await import("./docCreateCommands-T7KII3WP.js");
358
358
  return runSkillDocCreateCommand(args, deps);
359
359
  }),
360
360
  createEnvCommand(["skill", "create-doc"], "Create a skill-backed doc", async (args, deps) => {
361
- const { runSkillDocCreateCommand } = await import("./docCreateCommands-F4JYZZXQ.js");
361
+ const { runSkillDocCreateCommand } = await import("./docCreateCommands-T7KII3WP.js");
362
362
  return runSkillDocCreateCommand(args, deps);
363
363
  }),
364
364
  createEnvCommand(["skill-doc", "read"], "Read a skill doc", async (args, deps) => {
365
- const { runSkillDocReadCommand } = await import("./docReadCommands-UKTYKVGA.js");
365
+ const { runSkillDocReadCommand } = await import("./docReadCommands-I6NA2ZKV.js");
366
366
  return runSkillDocReadCommand(args, deps);
367
367
  }),
368
368
  createEnvCommand(["skill-doc", "update"], "Update a skill doc", async (args, deps) => {
369
- const { runSkillDocUpdateCommand } = await import("./docUpdateCommands-JSQCDHTL.js");
369
+ const { runSkillDocUpdateCommand } = await import("./docUpdateCommands-IG43SZ6U.js");
370
370
  return runSkillDocUpdateCommand(args, deps);
371
371
  }),
372
372
  createEnvCommand(["skill-doc", "delete"], "Delete a skill doc", async (args, deps) => {
373
- const { runSkillDocDeleteCommand } = await import("./docDeleteCommands-Z3QD6SGU.js");
373
+ const { runSkillDocDeleteCommand } = await import("./docDeleteCommands-SQ26EFE6.js");
374
374
  return runSkillDocDeleteCommand(args, deps);
375
375
  })
376
376
  ];
@@ -398,19 +398,19 @@ function getMemoryInternalCommandEntries() {
398
398
  function getSpaceInternalCommandEntries() {
399
399
  return [
400
400
  createEnvCommand(["space", "create"], "Create a space", async (args, deps) => {
401
- const { runSpaceCreateCommand } = await import("./spaceCommands-BPQ6XFKS.js");
401
+ const { runSpaceCreateCommand } = await import("./spaceCommands-TSBC5UWP.js");
402
402
  return runSpaceCreateCommand(args, deps);
403
403
  }),
404
404
  createEnvCommand(["space", "invite"], "Invite an existing user to a space", async (args, deps) => {
405
- const { runSpaceInviteCommand } = await import("./spaceCommands-BPQ6XFKS.js");
405
+ const { runSpaceInviteCommand } = await import("./spaceCommands-TSBC5UWP.js");
406
406
  return runSpaceInviteCommand(args, deps);
407
407
  }),
408
408
  createEnvCommand(["space", "accept-invite"], "Accept a space invite", async (args, deps) => {
409
- const { runSpaceAcceptInviteCommand } = await import("./spaceCommands-BPQ6XFKS.js");
409
+ const { runSpaceAcceptInviteCommand } = await import("./spaceCommands-TSBC5UWP.js");
410
410
  return runSpaceAcceptInviteCommand(args, deps);
411
411
  }),
412
412
  createEnvCommand(["space", "upload"], "Upload a file to a space", async (args, deps) => {
413
- const { runSpaceUploadCommand } = await import("./spaceCommands-BPQ6XFKS.js");
413
+ const { runSpaceUploadCommand } = await import("./spaceCommands-TSBC5UWP.js");
414
414
  return runSpaceUploadCommand(args, deps);
415
415
  })
416
416
  ];
@@ -424,31 +424,31 @@ function getSystemInternalCommandEntries(renderHelpText2) {
424
424
  return runAuthCooldownCommand(_args, ctx.env);
425
425
  }),
426
426
  createArgsCommand(["auth", "cloudflare"], "Authorize Cloudflare OAuth", async (args) => {
427
- const { runAuthCloudflareCommand } = await import("./authCommand-CYPLLWIC.js");
427
+ const { runAuthCloudflareCommand } = await import("./authCommand-LARLQ3GC.js");
428
428
  return runAuthCloudflareCommand(args);
429
429
  }),
430
430
  createArgsCommand(["auth", "chatgpt"], "Authorize ChatGPT / OpenAI Codex OAuth", async (args) => {
431
- const { runAuthChatgptCommand } = await import("./authCommand-CYPLLWIC.js");
431
+ const { runAuthChatgptCommand } = await import("./authCommand-LARLQ3GC.js");
432
432
  return runAuthChatgptCommand(args);
433
433
  }),
434
434
  createArgsCommand(["auth", "xai"], "Authorize xAI Grok OAuth (SuperGrok subscription)", async (args) => {
435
- const { runAuthXaiCommand } = await import("./authCommand-CYPLLWIC.js");
435
+ const { runAuthXaiCommand } = await import("./authCommand-LARLQ3GC.js");
436
436
  return runAuthXaiCommand(args);
437
437
  }),
438
438
  createArgsCommand(["auth", "antigravity"], "Authorize Google Antigravity OAuth", async (args) => {
439
- const { runAuthAntigravityCommand } = await import("./authCommand-CYPLLWIC.js");
439
+ const { runAuthAntigravityCommand } = await import("./authCommand-LARLQ3GC.js");
440
440
  return runAuthAntigravityCommand(args);
441
441
  }),
442
442
  createArgsCommand(["auth", "claude"], "Authorize Claude Pro/Max OAuth", async (args) => {
443
- const { runAuthClaudeCommand } = await import("./authCommand-CYPLLWIC.js");
443
+ const { runAuthClaudeCommand } = await import("./authCommand-LARLQ3GC.js");
444
444
  return runAuthClaudeCommand(args);
445
445
  }),
446
446
  createArgsCommand(["auth", "cursor"], "Authorize Cursor Pro OAuth", async (args) => {
447
- const { runAuthCursorCommand } = await import("./authCommand-CYPLLWIC.js");
447
+ const { runAuthCursorCommand } = await import("./authCommand-LARLQ3GC.js");
448
448
  return runAuthCursorCommand(args);
449
449
  }),
450
450
  createArgsCommand(["auth", "devin"], "Authorize Devin OAuth (Free SWE-2)", async (args) => {
451
- const { runAuthDevinCommand } = await import("./authCommand-CYPLLWIC.js");
451
+ const { runAuthDevinCommand } = await import("./authCommand-LARLQ3GC.js");
452
452
  return runAuthDevinCommand(args);
453
453
  }),
454
454
  createArgsCommand(["login"], "Log in to Nolo", async (args) => {
@@ -464,15 +464,15 @@ function getSystemInternalCommandEntries(renderHelpText2) {
464
464
  return runWhoamiCommand({ args, env: ctx.env });
465
465
  }),
466
466
  createEntrypointEnvCommand(["connect"], "Send machine heartbeats or hold a connector websocket", async (args, deps) => {
467
- const { runMachineConnectCommand } = await import("./machineCommands-Y5QYMVTJ.js");
467
+ const { runMachineConnectCommand } = await import("./machineCommands-U7VABJPW.js");
468
468
  return runMachineConnectCommand(args, deps);
469
469
  }),
470
470
  createDaemonShortcutCommand(["daemon"], "Run the connector daemon shortcut", async (args, deps) => {
471
- const { runMachineConnectCommand } = await import("./machineCommands-Y5QYMVTJ.js");
471
+ const { runMachineConnectCommand } = await import("./machineCommands-U7VABJPW.js");
472
472
  return runMachineConnectCommand(args, deps);
473
473
  }),
474
474
  createEnvCommand(["machine", "status"], "List machines registered to the current profile", async (args, deps) => {
475
- const { runMachineStatusCommand } = await import("./machineCommands-Y5QYMVTJ.js");
475
+ const { runMachineStatusCommand } = await import("./machineCommands-U7VABJPW.js");
476
476
  return runMachineStatusCommand(args, deps);
477
477
  }),
478
478
  createEnvCommand(["doctor", "runtime"], "Diagnose local-first agent runtime selection", async (args, deps) => {
@@ -7,13 +7,13 @@ import {
7
7
  updateContentPinned,
8
8
  updateContentTitle,
9
9
  uploadAndAddFileToSpace
10
- } from "./chunk-CRGSU5DB.js";
10
+ } from "./chunk-GZQNKKDG.js";
11
11
  import "./chunk-ZJ7UHBJS.js";
12
- import "./chunk-TS5BDIPV.js";
12
+ import "./chunk-KUPDS66Q.js";
13
13
  import "./chunk-MC4XLIJ7.js";
14
14
  import "./chunk-YYLHWIW6.js";
15
15
  import "./chunk-6O4IK4V2.js";
16
- import "./chunk-TV5ODOAF.js";
16
+ import "./chunk-MXRUAINC.js";
17
17
  import "./chunk-D76D3RTR.js";
18
18
  import "./chunk-5RGU3J7P.js";
19
19
  import "./chunk-M76ECQRD.js";
@@ -24,7 +24,7 @@ import "./chunk-AGGIDPCZ.js";
24
24
  import "./chunk-RVX32KGQ.js";
25
25
  import "./chunk-F64B2W3R.js";
26
26
  import "./chunk-PSCNXBYA.js";
27
- import "./chunk-ESRMFY7G.js";
27
+ import "./chunk-L36OWPP3.js";
28
28
  import "./chunk-BYXBJQAS.js";
29
29
  import "./chunk-DWLEOOGR.js";
30
30
  import "./chunk-7KVZ5LDQ.js";
@@ -33,7 +33,7 @@ import "./chunk-3BXNTXYI.js";
33
33
  import "./chunk-W7XHHYWM.js";
34
34
  import "./chunk-B7ANJQWZ.js";
35
35
  import "./chunk-UAD2WT54.js";
36
- import "./chunk-HNGRBWYF.js";
36
+ import "./chunk-ZWQUWF6W.js";
37
37
  import "./chunk-CYSYR67N.js";
38
38
  import "./chunk-Y3PMXGLH.js";
39
39
  import "./chunk-3IYMTWYZ.js";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  addContentToSpace
3
- } from "./chunk-CRGSU5DB.js";
3
+ } from "./chunk-GZQNKKDG.js";
4
4
  import "./chunk-ZJ7UHBJS.js";
5
- import "./chunk-TS5BDIPV.js";
5
+ import "./chunk-KUPDS66Q.js";
6
6
  import "./chunk-MC4XLIJ7.js";
7
7
  import "./chunk-YYLHWIW6.js";
8
8
  import "./chunk-6O4IK4V2.js";
9
- import "./chunk-TV5ODOAF.js";
9
+ import "./chunk-MXRUAINC.js";
10
10
  import "./chunk-D76D3RTR.js";
11
11
  import "./chunk-5RGU3J7P.js";
12
12
  import "./chunk-M76ECQRD.js";
@@ -17,7 +17,7 @@ import "./chunk-AGGIDPCZ.js";
17
17
  import "./chunk-RVX32KGQ.js";
18
18
  import "./chunk-F64B2W3R.js";
19
19
  import "./chunk-PSCNXBYA.js";
20
- import "./chunk-ESRMFY7G.js";
20
+ import "./chunk-L36OWPP3.js";
21
21
  import "./chunk-BYXBJQAS.js";
22
22
  import "./chunk-DWLEOOGR.js";
23
23
  import "./chunk-7KVZ5LDQ.js";
@@ -26,7 +26,7 @@ import "./chunk-3BXNTXYI.js";
26
26
  import "./chunk-W7XHHYWM.js";
27
27
  import "./chunk-B7ANJQWZ.js";
28
28
  import "./chunk-UAD2WT54.js";
29
- import "./chunk-HNGRBWYF.js";
29
+ import "./chunk-ZWQUWF6W.js";
30
30
  import "./chunk-CYSYR67N.js";
31
31
  import "./chunk-Y3PMXGLH.js";
32
32
  import "./chunk-3IYMTWYZ.js";
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  createDialogAction,
3
3
  isLocalOwnerDialogAgents
4
- } from "./chunk-A3JENOEB.js";
5
- import "./chunk-CRGSU5DB.js";
4
+ } from "./chunk-T36EFAW7.js";
5
+ import "./chunk-GZQNKKDG.js";
6
6
  import "./chunk-ZJ7UHBJS.js";
7
- import "./chunk-TS5BDIPV.js";
7
+ import "./chunk-KUPDS66Q.js";
8
8
  import "./chunk-MC4XLIJ7.js";
9
9
  import "./chunk-YYLHWIW6.js";
10
10
  import "./chunk-6O4IK4V2.js";
11
- import "./chunk-TV5ODOAF.js";
11
+ import "./chunk-MXRUAINC.js";
12
12
  import "./chunk-D76D3RTR.js";
13
13
  import "./chunk-5RGU3J7P.js";
14
14
  import "./chunk-M76ECQRD.js";
@@ -22,7 +22,7 @@ import "./chunk-KHCLMKZZ.js";
22
22
  import "./chunk-RVX32KGQ.js";
23
23
  import "./chunk-F64B2W3R.js";
24
24
  import "./chunk-PSCNXBYA.js";
25
- import "./chunk-ESRMFY7G.js";
25
+ import "./chunk-L36OWPP3.js";
26
26
  import "./chunk-BYXBJQAS.js";
27
27
  import "./chunk-DWLEOOGR.js";
28
28
  import "./chunk-7KVZ5LDQ.js";
@@ -31,7 +31,7 @@ import "./chunk-3BXNTXYI.js";
31
31
  import "./chunk-W7XHHYWM.js";
32
32
  import "./chunk-B7ANJQWZ.js";
33
33
  import "./chunk-UAD2WT54.js";
34
- import "./chunk-HNGRBWYF.js";
34
+ import "./chunk-ZWQUWF6W.js";
35
35
  import "./chunk-CYSYR67N.js";
36
36
  import "./chunk-Y3PMXGLH.js";
37
37
  import "./chunk-3IYMTWYZ.js";