nolo-cli 0.107.0-alpha.4 → 0.108.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.
- package/{_executeModel-UDCSOTD2.js → _executeModel-BY3P5LBB.js} +12 -12
- package/{agentDeleteCommand-OWYHN6D6.js → agentDeleteCommand-66KXCSRR.js} +7 -6
- package/{agentEmailCommands-AU5I4M4W.js → agentEmailCommands-63UTONDK.js} +18 -17
- package/{agentListCommands-B2V4YAC4.js → agentListCommands-NXCOTTZL.js} +9 -8
- package/{agentMachineCommands-YMNME2L6.js → agentMachineCommands-Z6RGPZSG.js} +7 -6
- package/{agentProviderCommands-GNPTL5XR.js → agentProviderCommands-X3UNW77C.js} +1 -1
- package/{agentRecordCommands-G4KK4R7H.js → agentRecordCommands-JP54ZWND.js} +17 -16
- package/{agentRunCommand-UTZJA23G.js → agentRunCommand-RMQWWSHF.js} +17 -16
- package/{agentRuntimeLocal-KCMC2TBD.js → agentRuntimeLocal-E67CTV45.js} +5 -4
- package/{agentSlice-R7PR6KYM.js → agentSlice-DG5TIQHE.js} +1 -1
- package/{appDeleteCommands-JEPA3EWE.js → appDeleteCommands-Z36CLGUK.js} +8 -7
- package/{appDeployCommands-UTB76XFM.js → appDeployCommands-ECMUWG6S.js} +8 -7
- package/{appDeployStatusCommands-LGHF2SBD.js → appDeployStatusCommands-CL24TDMA.js} +8 -7
- package/{appGetCommands-PX2BFHOB.js → appGetCommands-ITHGOYGJ.js} +8 -7
- package/{appListCommands-BSMPTWKC.js → appListCommands-EEOSI6RC.js} +8 -7
- package/{authCommand-YW42YZA4.js → authCommand-HGP2XTKC.js} +99 -7
- package/{chatQueueReduxAdapter-2P6NFX64.js → chatQueueReduxAdapter-DKLWTT3G.js} +2 -2
- package/{chunk-PQFHGD77.js → chunk-2OASQKU2.js} +1 -1
- package/{chunk-62CATUYY.js → chunk-4NNTATRH.js} +12 -769
- package/{chunk-EEGDMATE.js → chunk-AODJ7WSF.js} +3 -3
- package/{chunk-UVA7OYO3.js → chunk-CW67PN7L.js} +3 -3
- package/{chunk-4CR5I7BD.js → chunk-DOTZ5GTO.js} +1 -1
- package/chunk-FV3JEYR3.js +870 -0
- package/{chunk-MS7TSPZR.js → chunk-G4VIHCGJ.js} +3 -3
- package/chunk-GMZLP5DV.js +82 -0
- package/{chunk-UZGQNTVW.js → chunk-GNCCNNZD.js} +3 -1
- package/{chunk-GO3Z72MT.js → chunk-H4AHY5BU.js} +3 -80
- package/{chunk-NA35QHCF.js → chunk-HSSRGGXJ.js} +1 -1
- package/{chunk-GEPUP7OO.js → chunk-IQPFGYO3.js} +1 -1
- package/{chunk-XT35TTFG.js → chunk-KZJP33ZK.js} +1 -1
- package/{chunk-GPCZ7UXG.js → chunk-LJ5VW2UJ.js} +1 -1
- package/{chunk-C3M4465B.js → chunk-LPIYPEME.js} +9 -9
- package/{chunk-AEOE4Z6Q.js → chunk-LWKP7AWH.js} +1 -1
- package/{chunk-3UZPUAES.js → chunk-P3GYTNDF.js} +1 -1
- package/{chunk-ETI2NYVF.js → chunk-PHXD6JTX.js} +1 -1
- package/{chunk-W7HLWAQ7.js → chunk-PWBDVI4R.js} +5 -5
- package/{chunk-KQ4ONNQD.js → chunk-QU7KDSZX.js} +1 -1
- package/{chunk-IBOZNTG2.js → chunk-RVE4DCV3.js} +2 -2
- package/{chunk-IBOOZVVD.js → chunk-RZGLXO2B.js} +26 -22
- package/{chunk-GL3EHUR4.js → chunk-SYXOBWOC.js} +4 -4
- package/{chunk-ASIFZ2WY.js → chunk-T3GEOSRJ.js} +2 -2
- package/{chunk-JDPFV2JV.js → chunk-TR22GEUU.js} +2 -2
- package/{chunk-FG3HKPQP.js → chunk-UDIIVXKA.js} +41 -28
- package/{chunk-NOF3HDSN.js → chunk-YTLRHRH3.js} +3 -3
- package/{chunk-T75QD6AB.js → chunk-YWIEQS6H.js} +513 -27
- package/{chunk-53HEEOTT.js → chunk-Z5625XML.js} +1 -1
- package/{contentThunks-IV2T3EJC.js → contentThunks-JHK6X2KU.js} +3 -3
- package/{createAgentAutomationAction-JCOIEYY4.js → createAgentAutomationAction-7HX7KBES.js} +3 -3
- package/{createDialogAction-NGG7YVNU.js → createDialogAction-VUUUZL54.js} +4 -4
- package/{createPageAction-D2VOOLP3.js → createPageAction-QWNMGO3O.js} +3 -3
- package/{dialogCommands-H7FPUYUQ.js → dialogCommands-EN7TYD3I.js} +8 -7
- package/{dialogSlice-6JZOOTDS.js → dialogSlice-P2K47T3P.js} +2 -2
- package/{docCreateCommands-WRG2JLGM.js → docCreateCommands-43JKQEIH.js} +7 -6
- package/{docDeleteCommands-SHWJIBJS.js → docDeleteCommands-RL6D46XE.js} +8 -7
- package/{docReadCommands-WJN3WT6O.js → docReadCommands-TOEUEQDG.js} +7 -6
- package/{docStore-HUPQ2FSS.js → docStore-3AHKTJRI.js} +1 -1
- package/{docUpdateCommands-IE32IL6O.js → docUpdateCommands-FWU5G2XB.js} +7 -6
- package/{handleSendMessageAction-DFPMQ7YM.js → handleSendMessageAction-ID5IKXUE.js} +2 -2
- package/index.js +51 -51
- package/{machineCommands-M2T2I5NF.js → machineCommands-TTKK4F7C.js} +16 -15
- package/{machineWsRunDispatch-ISBKOOD7.js → machineWsRunDispatch-RX64L3ET.js} +16 -15
- package/package.json +1 -1
- package/{providerPresetApply-FG6NZ57W.js → providerPresetApply-XI3WUPTI.js} +2 -2
- package/{providerRegistry-757OWH3O.js → providerRegistry-KEPWWGXD.js} +2 -2
- package/{readlineWorkspace-XQRDGWRZ.js → readlineWorkspace-KIMUDPPV.js} +20 -19
- package/{runAgentClientLoop-5ZA62FBA.js → runAgentClientLoop-AN4WIRPQ.js} +10 -10
- package/{spaceCommands-5GLCWZPO.js → spaceCommands-NA4JMIGT.js} +7 -6
- package/{streamAgentChatTurn-6UZJMYRB.js → streamAgentChatTurn-3TYTHZPJ.js} +11 -11
- package/{tools-KMGFWO43.js → tools-34SEJSLQ.js} +8 -8
- package/{tuiSummaryLlmCaller-OHHFTHMG.js → tuiSummaryLlmCaller-UFGFOIIW.js} +2 -1
- package/{updateDialogTitleAction-QTKNIURB.js → updateDialogTitleAction-RDHNT265.js} +3 -3
- package/chunk-Q5FJJ6XI.js +0 -103
|
@@ -5,18 +5,19 @@ import {
|
|
|
5
5
|
pickDefined,
|
|
6
6
|
printCliError,
|
|
7
7
|
resolveCliContext
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-HSSRGGXJ.js";
|
|
9
9
|
import {
|
|
10
10
|
hasFlag,
|
|
11
11
|
hasHelpArg
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-PHXD6JTX.js";
|
|
13
|
+
import "./chunk-LWKP7AWH.js";
|
|
14
14
|
import "./chunk-Z77CRGTW.js";
|
|
15
15
|
import "./chunk-SV5IJK6K.js";
|
|
16
16
|
import "./chunk-VF4K2QE6.js";
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-4NNTATRH.js";
|
|
18
|
+
import "./chunk-H4AHY5BU.js";
|
|
19
|
+
import "./chunk-FV3JEYR3.js";
|
|
20
|
+
import "./chunk-GMZLP5DV.js";
|
|
20
21
|
import "./chunk-ZNFJWEN4.js";
|
|
21
22
|
import "./chunk-4MK3I7Y4.js";
|
|
22
23
|
import "./chunk-CQ3WA2NE.js";
|
|
@@ -26,7 +27,7 @@ import "./chunk-MRIHM22T.js";
|
|
|
26
27
|
import "./chunk-PUOC4YRO.js";
|
|
27
28
|
import "./chunk-IIVGDG4I.js";
|
|
28
29
|
import "./chunk-FDTR4QJ6.js";
|
|
29
|
-
import "./chunk-
|
|
30
|
+
import "./chunk-GNCCNNZD.js";
|
|
30
31
|
import "./chunk-6OZ36FXI.js";
|
|
31
32
|
import "./chunk-2MBTWINN.js";
|
|
32
33
|
import "./chunk-HKNXJGEC.js";
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
parseFlagWithOptionalValue,
|
|
7
7
|
runCloudflareOAuthLogin,
|
|
8
8
|
upsertEnvVariable
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-LJ5VW2UJ.js";
|
|
10
10
|
import "./chunk-ESHYE7WU.js";
|
|
11
11
|
import {
|
|
12
12
|
ANTHROPIC_OAUTH_AUTHORIZE_URL,
|
|
@@ -40,6 +40,7 @@ import {
|
|
|
40
40
|
generatePkcePair,
|
|
41
41
|
normalizeAnthropicTokenPayload,
|
|
42
42
|
readJsonBody,
|
|
43
|
+
refreshAntigravityOAuthToken,
|
|
43
44
|
renderDeviceCodeDisplay,
|
|
44
45
|
runAntigravityOAuthLogin,
|
|
45
46
|
runOpenAiCodexBrowserPkce,
|
|
@@ -47,23 +48,29 @@ import {
|
|
|
47
48
|
startCallbackServer,
|
|
48
49
|
validateXAIEndpoint,
|
|
49
50
|
xaiOAuthDiscovery
|
|
50
|
-
} from "./chunk-
|
|
51
|
+
} from "./chunk-Z5625XML.js";
|
|
51
52
|
import "./chunk-JBTJAPUF.js";
|
|
53
|
+
import {
|
|
54
|
+
extractGoogleValidationLink
|
|
55
|
+
} from "./chunk-BMQ2MJUK.js";
|
|
52
56
|
import "./chunk-2F7RJC6L.js";
|
|
53
57
|
import "./chunk-GLKOYSRU.js";
|
|
54
58
|
import {
|
|
55
59
|
buildDevinAuthUrl,
|
|
56
60
|
buildDevinOAuthCredential,
|
|
57
61
|
detectLocalDevinCredentials,
|
|
58
|
-
extractDevinToken
|
|
59
|
-
|
|
62
|
+
extractDevinToken,
|
|
63
|
+
fetchAntigravityCloudCodeCompletion
|
|
64
|
+
} from "./chunk-FV3JEYR3.js";
|
|
65
|
+
import "./chunk-GMZLP5DV.js";
|
|
60
66
|
import "./chunk-5ZUL4CUO.js";
|
|
61
|
-
import "./chunk-
|
|
67
|
+
import "./chunk-GNCCNNZD.js";
|
|
62
68
|
import "./chunk-6OZ36FXI.js";
|
|
63
69
|
import "./chunk-GQBOR3G6.js";
|
|
64
70
|
import "./chunk-OIVSQH2O.js";
|
|
65
71
|
import {
|
|
66
|
-
createOAuthTokenStore
|
|
72
|
+
createOAuthTokenStore,
|
|
73
|
+
resolveFreshAccessToken
|
|
67
74
|
} from "./chunk-ONXOABJR.js";
|
|
68
75
|
import "./chunk-W7XHHYWM.js";
|
|
69
76
|
import {
|
|
@@ -759,7 +766,7 @@ This authorizes model API access only. It does NOT log you into the Nolo platfor
|
|
|
759
766
|
To manage agents, docs, spaces, and other Nolo resources, run "nolo login" first.
|
|
760
767
|
|
|
761
768
|
Usage:
|
|
762
|
-
nolo auth antigravity [--browser] [--no-browser] [--sync-to-server] [--help]
|
|
769
|
+
nolo auth antigravity [--browser] [--no-browser] [--verify] [--sync-to-server] [--help]
|
|
763
770
|
|
|
764
771
|
Opens a browser to https://accounts.google.com (OIDC PKCE loopback on 127.0.0.1:51121).
|
|
765
772
|
After approval, the flow provisions a Cloud Code Assist project and stores the
|
|
@@ -771,6 +778,8 @@ oh-my-pi; Google does not publish a public Cloud Code Assist client registration
|
|
|
771
778
|
Options:
|
|
772
779
|
--browser Use the browser PKCE flow (default for antigravity).
|
|
773
780
|
--no-browser Print the authorization URL only.
|
|
781
|
+
--verify Check the current Google one-time verification challenge
|
|
782
|
+
and open the validation link in a browser (no re-auth).
|
|
774
783
|
${SYNC_HELP_LINE}
|
|
775
784
|
--help, -h Show this help and exit.
|
|
776
785
|
|
|
@@ -975,6 +984,7 @@ async function runAuthProviderCommand(provider, args, _ctx, deps = {}) {
|
|
|
975
984
|
const useBrowser = args.includes("--browser");
|
|
976
985
|
const noBrowser = args.includes("--no-browser") || deps.noBrowserByDefault;
|
|
977
986
|
const syncOnly = args.includes("--sync-only");
|
|
987
|
+
const verify = args.includes("--verify");
|
|
978
988
|
const generateToken = args.includes("--generate-token");
|
|
979
989
|
const writeToEnvRaw = parseFlagWithOptionalValue(args, "--write-to-env");
|
|
980
990
|
const writeToEnvPath = typeof writeToEnvRaw === "string" ? writeToEnvRaw : writeToEnvRaw === true ? ".env" : void 0;
|
|
@@ -990,6 +1000,88 @@ async function runAuthProviderCommand(provider, args, _ctx, deps = {}) {
|
|
|
990
1000
|
await syncCredentialToServer(provider, credential, deps);
|
|
991
1001
|
return 0;
|
|
992
1002
|
}
|
|
1003
|
+
if (verify) {
|
|
1004
|
+
if (provider !== "antigravity") {
|
|
1005
|
+
error.error(`[nolo] --verify is only supported for "nolo auth antigravity".`);
|
|
1006
|
+
return 1;
|
|
1007
|
+
}
|
|
1008
|
+
const credential = tokenStore.read(provider);
|
|
1009
|
+
if (!credential?.accessToken) {
|
|
1010
|
+
error.error(
|
|
1011
|
+
`[nolo] No local antigravity credential. Run: nolo auth antigravity`
|
|
1012
|
+
);
|
|
1013
|
+
return 1;
|
|
1014
|
+
}
|
|
1015
|
+
output.log(
|
|
1016
|
+
`[nolo] Checking the current verification challenge (one lightweight request)...`
|
|
1017
|
+
);
|
|
1018
|
+
let accessToken = null;
|
|
1019
|
+
let refreshError;
|
|
1020
|
+
try {
|
|
1021
|
+
accessToken = await resolveFreshAccessToken({
|
|
1022
|
+
provider,
|
|
1023
|
+
store: tokenStore,
|
|
1024
|
+
refresh: deps.refreshAntigravityToken ?? refreshAntigravityOAuthToken
|
|
1025
|
+
});
|
|
1026
|
+
} catch (err) {
|
|
1027
|
+
refreshError = toErrorMessage(err);
|
|
1028
|
+
if (/invalid_grant|unauthorized_client|revoked|invalid_token|refresh[_ ]token[^.]*(expired|invalid|revoked)|expired[^.]*refresh/i.test(
|
|
1029
|
+
refreshError
|
|
1030
|
+
)) {
|
|
1031
|
+
error.error(
|
|
1032
|
+
`[nolo] The antigravity refresh token is no longer valid (${refreshError}). Re-run \`nolo auth antigravity\` to re-authorize this account.`
|
|
1033
|
+
);
|
|
1034
|
+
return 1;
|
|
1035
|
+
}
|
|
1036
|
+
}
|
|
1037
|
+
let result;
|
|
1038
|
+
try {
|
|
1039
|
+
result = await fetchAntigravityCloudCodeCompletion({
|
|
1040
|
+
agentConfig: { model: "gemini-3.1-pro" },
|
|
1041
|
+
accessToken: accessToken ?? credential.accessToken,
|
|
1042
|
+
metadata: credential.metadata ?? null,
|
|
1043
|
+
openAiBody: { messages: [{ role: "user", content: "hi" }] },
|
|
1044
|
+
fetchImpl: deps.fetchImpl ?? fetch
|
|
1045
|
+
});
|
|
1046
|
+
} catch (err) {
|
|
1047
|
+
const msg = toErrorMessage(err);
|
|
1048
|
+
if (/projectId|metadata\.projectId|Re-run `nolo auth/i.test(msg)) {
|
|
1049
|
+
error.error(
|
|
1050
|
+
`[nolo] The stored antigravity credential is incomplete (${msg}). Re-run \`nolo auth antigravity\` to re-authorize.`
|
|
1051
|
+
);
|
|
1052
|
+
} else {
|
|
1053
|
+
error.error(
|
|
1054
|
+
`[nolo] Could not reach the antigravity provider: ${msg}. Check your network and retry.`
|
|
1055
|
+
);
|
|
1056
|
+
}
|
|
1057
|
+
return 1;
|
|
1058
|
+
}
|
|
1059
|
+
if (result.status >= 200 && result.status < 300) {
|
|
1060
|
+
output.log(
|
|
1061
|
+
`[nolo] \u2713 The credential is working \u2014 no verification is required right now. You can retry your agent.`
|
|
1062
|
+
);
|
|
1063
|
+
return 0;
|
|
1064
|
+
}
|
|
1065
|
+
const { url: validationUrl } = extractGoogleValidationLink(
|
|
1066
|
+
JSON.stringify(result.body ?? {})
|
|
1067
|
+
);
|
|
1068
|
+
if (result.status === 403 && validationUrl) {
|
|
1069
|
+
output.log(
|
|
1070
|
+
`[nolo] Google requires a one-time account verification for ${credential.accountId ?? "this account"}.`
|
|
1071
|
+
);
|
|
1072
|
+
output.log(`[nolo] ${validationUrl}`);
|
|
1073
|
+
const opener = noBrowser ? void 0 : deps.openBrowser ?? defaultOpenBrowser;
|
|
1074
|
+
const opened = opener ? await opener(validationUrl) : false;
|
|
1075
|
+
output.log(
|
|
1076
|
+
opened ? `[nolo] \u2713 Opened it in your browser \u2014 complete the verification there (sign in with the same Google account), then retry your agent.` : `[nolo] Copy the URL above into a browser signed into ${credential.accountId ?? "that account"}, complete the verification, then retry your agent.`
|
|
1077
|
+
);
|
|
1078
|
+
return 0;
|
|
1079
|
+
}
|
|
1080
|
+
error.error(
|
|
1081
|
+
`[nolo] The provider returned HTTP ${result.status} without a verification link \u2014 this is not the one-time-verification case --verify handles.` + (refreshError ? ` (token refresh also failed earlier: ${refreshError})` : "") + ` Response detail: ${JSON.stringify(result.body ?? {}).slice(0, 400)}`
|
|
1082
|
+
);
|
|
1083
|
+
return 1;
|
|
1084
|
+
}
|
|
993
1085
|
const flowDeps = {
|
|
994
1086
|
...deps.fetchImpl ? { fetchImpl: deps.fetchImpl } : {},
|
|
995
1087
|
...deps.sleep ? { sleep: deps.sleep } : {},
|
|
@@ -4,12 +4,12 @@ import {
|
|
|
4
4
|
} from "./chunk-YPREESF4.js";
|
|
5
5
|
import {
|
|
6
6
|
handleSendMessage
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-YWIEQS6H.js";
|
|
8
8
|
import "./chunk-MC4XLIJ7.js";
|
|
9
9
|
import "./chunk-3BMYXEUW.js";
|
|
10
10
|
import "./chunk-YYLHWIW6.js";
|
|
11
11
|
import "./chunk-AGGIDPCZ.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-YTLRHRH3.js";
|
|
13
13
|
import "./chunk-BFDFRLLQ.js";
|
|
14
14
|
import "./chunk-5RGU3J7P.js";
|
|
15
15
|
import {
|