nolo-cli 0.172.0-alpha.3 → 0.173.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 (83) hide show
  1. package/{_executeModel-P7OE5QLM.js → _executeModel-KT7NUYZC.js} +20 -19
  2. package/{agentDeleteCommand-3CCYENZM.js → agentDeleteCommand-SVGYPFU5.js} +25 -24
  3. package/{agentEmailCommands-VH6GRZ4S.js → agentEmailCommands-TBZJC37X.js} +27 -26
  4. package/{agentListCommands-FCSA7YV3.js → agentListCommands-CD7CLGH4.js} +16 -15
  5. package/{agentMachineCommands-VEBNXOLD.js → agentMachineCommands-DQBUP3I5.js} +14 -13
  6. package/{agentProviderCommands-TWVILNAN.js → agentProviderCommands-FXEMNSZ2.js} +2 -2
  7. package/{agentRecordCommands-MGCNHOJ3.js → agentRecordCommands-4PY33TAJ.js} +25 -24
  8. package/{agentRunCommand-UMVA6KSF.js → agentRunCommand-P7BC5M3Z.js} +26 -25
  9. package/{agentRuntimeLocal-2JOFHEXA.js → agentRuntimeLocal-XGBQ7JK2.js} +12 -11
  10. package/{agentSlice-AXI53QZB.js → agentSlice-NL7LRTLO.js} +1 -1
  11. package/{appDeleteCommands-BNQKVEIA.js → appDeleteCommands-VBH3YLIO.js} +15 -14
  12. package/{appDeployCommands-V5WQ2ZBR.js → appDeployCommands-3MZXLEKN.js} +15 -14
  13. package/{appDeployStatusCommands-QA5GFIUU.js → appDeployStatusCommands-FAWWEEOT.js} +15 -14
  14. package/{appGetCommands-U3SDB4TE.js → appGetCommands-VMMCATHU.js} +15 -14
  15. package/{appListCommands-DMHPABYC.js → appListCommands-NHM6PAIX.js} +15 -14
  16. package/{authCommand-BSOLJFPV.js → authCommand-KQ7GWCXK.js} +8 -4
  17. package/{chunk-U5UZ7IPM.js → chunk-25A6K2YP.js} +3 -3
  18. package/{chunk-4TTEZGP3.js → chunk-3TAVX6CD.js} +39 -22
  19. package/{chunk-ZCXK773F.js → chunk-4RYUMDOM.js} +2 -2
  20. package/{chunk-BIF4B4ON.js → chunk-64MLOS7B.js} +1 -1
  21. package/{chunk-CDDFEVZ5.js → chunk-73NYJAJS.js} +10 -10
  22. package/{chunk-I33CJERI.js → chunk-7QQOOHDG.js} +2 -2
  23. package/{chunk-BKCR2JHG.js → chunk-7ZGMQZ5D.js} +0 -45
  24. package/{chunk-3RF4DIQW.js → chunk-AFFHPBEU.js} +7 -7
  25. package/{chunk-EEFX46WP.js → chunk-ASGIXFB6.js} +1 -1
  26. package/{chunk-CRQGEMKZ.js → chunk-AV67EUU4.js} +13 -13
  27. package/{chunk-XWEAIAO2.js → chunk-BAXCQF6H.js} +1 -1
  28. package/{chunk-QPUKYKMH.js → chunk-BGQZLBMJ.js} +4 -101
  29. package/{chunk-7YN3HYWC.js → chunk-BYNWE72R.js} +15 -13
  30. package/{chunk-U4C2R3PV.js → chunk-CLY56QIC.js} +3 -3
  31. package/{chunk-AJ52EA72.js → chunk-D2J22QSE.js} +1 -1
  32. package/{chunk-2FOT26E6.js → chunk-ENIQIEAF.js} +1 -1
  33. package/{chunk-RU4KURIK.js → chunk-FJ76E5ZM.js} +2 -2
  34. package/chunk-FX33MFLW.js +103 -0
  35. package/{chunk-SIZPFDPU.js → chunk-GXFAZGZ6.js} +2 -2
  36. package/{chunk-EW6GOYKQ.js → chunk-J33JIJK7.js} +2 -2
  37. package/{chunk-ZQ545VNM.js → chunk-JDWJ64VG.js} +4 -4
  38. package/{chunk-OQ3DOBYB.js → chunk-JOUFPRE4.js} +178 -2
  39. package/{chunk-55HS2GQD.js → chunk-KBGWPSY6.js} +3 -3
  40. package/{chunk-CK4GWPSD.js → chunk-KPSNHLFI.js} +3 -5
  41. package/{chunk-3SF6NB4R.js → chunk-N2N63HTQ.js} +2 -2
  42. package/{chunk-KSCX7GME.js → chunk-O2LB346J.js} +3 -3
  43. package/{chunk-XWX5ZGWR.js → chunk-O3OJRN5Z.js} +89 -24
  44. package/{chunk-UVP7VL6F.js → chunk-P34IX26T.js} +1 -1
  45. package/{chunk-TZ6CCFRL.js → chunk-QWNMFO5E.js} +3 -3
  46. package/{chunk-TY7GIRX6.js → chunk-RUKAOMXD.js} +1 -1
  47. package/{chunk-7TBARDLF.js → chunk-T7HBI3WZ.js} +1 -1
  48. package/{chunk-6KS4TTCI.js → chunk-TLBTPKDD.js} +10 -10
  49. package/chunk-UKZX3NHN.js +48 -0
  50. package/{chunk-XKL2RXV6.js → chunk-VETQRONK.js} +13 -11
  51. package/{chunk-TOLFIE2I.js → chunk-W7S5CUGI.js} +3 -3
  52. package/{chunk-S4SA4INB.js → chunk-WBA4HAFS.js} +2 -2
  53. package/{chunk-XBJIESNS.js → chunk-XAFCJN32.js} +2 -2
  54. package/{chunk-VVMACDVS.js → chunk-Y3BUTWUJ.js} +1 -1
  55. package/{chunk-KNDA4K34.js → chunk-YBTP3PUM.js} +1 -1
  56. package/{commandRegistry-FDWLTWIQ.js → commandRegistry-UVXIFHUI.js} +49 -49
  57. package/{contentThunks-AAGKCQCZ.js → contentThunks-I4HNLTQY.js} +6 -5
  58. package/{createAgentAutomationAction-2K7M6ACJ.js → createAgentAutomationAction-GS5LQ52L.js} +6 -5
  59. package/{createDialogAction-RFQJMLEO.js → createDialogAction-5WNACKWC.js} +7 -6
  60. package/{createPageAction-MBDADKFQ.js → createPageAction-S7MGYSMU.js} +6 -5
  61. package/{dialogCommands-E5I4ORXJ.js → dialogCommands-OK3L6SAI.js} +15 -14
  62. package/{dialogSlice-MHZCAC4E.js → dialogSlice-R62QV2OE.js} +5 -4
  63. package/{docCreateCommands-SMX7DXUS.js → docCreateCommands-NMCMJPQX.js} +14 -13
  64. package/{docDeleteCommands-MFPBAHFH.js → docDeleteCommands-46FMFRZU.js} +15 -14
  65. package/{docReadCommands-ZOWLKFAF.js → docReadCommands-6NPY5P67.js} +14 -13
  66. package/{docStore-IUFAMRVZ.js → docStore-X5P4UGTZ.js} +1 -1
  67. package/{docUpdateCommands-4THL5VLI.js → docUpdateCommands-UDT4QLPL.js} +14 -13
  68. package/{handleSendMessageAction-OS6NNC3U.js → handleSendMessageAction-IVQMBROO.js} +13 -13
  69. package/index.js +4 -4
  70. package/{localRuntimeAdapter-XQ4PAAIT.js → localRuntimeAdapter-LY5MOJN4.js} +23 -22
  71. package/{machineCommands-UHGFVPD2.js → machineCommands-KYTNSAIN.js} +24 -23
  72. package/{machineWsRunDispatch-BAFZOC6Z.js → machineWsRunDispatch-ZR3GCQMH.js} +24 -23
  73. package/package.json +1 -1
  74. package/{providerPresetApply-5K4PBX4J.js → providerPresetApply-MBMGCNKZ.js} +1 -2
  75. package/{providerRegistry-K5MSZ3Y5.js → providerRegistry-P4KYS6SE.js} +1 -2
  76. package/{readlineWorkspace-ISBZZPR2.js → readlineWorkspace-SNA6I5UK.js} +29 -28
  77. package/{runAgentClientLoop-H4KCCJOV.js → runAgentClientLoop-6G7JORHJ.js} +18 -17
  78. package/{spaceCommands-PVEPGFHX.js → spaceCommands-SEWFBY53.js} +14 -13
  79. package/{streamAgentChatTurn-4PX74Z36.js → streamAgentChatTurn-EJDRXKAQ.js} +24 -22
  80. package/{tools-546KDFWP.js → tools-K3IZ7U5G.js} +12 -12
  81. package/{tuiSummaryLlmCaller-LA7NUKUJ.js → tuiSummaryLlmCaller-2MC6SXZT.js} +8 -7
  82. package/{updateDialogTitleAction-LIS3EPHP.js → updateDialogTitleAction-YO67K72J.js} +6 -5
  83. package/chunk-TSCI6X6C.js +0 -185
package/chunk-TSCI6X6C.js DELETED
@@ -1,185 +0,0 @@
1
- import {
2
- asOptionalFiniteNumber
3
- } from "./chunk-WWC7I6TA.js";
4
- import {
5
- trimTrailingSlash
6
- } from "./chunk-I2QHI2XM.js";
7
- import {
8
- toErrorMessage
9
- } from "./chunk-HNMXYYJR.js";
10
- import {
11
- asOptionalTrimmedString
12
- } from "./chunk-G3SUCT4W.js";
13
- import {
14
- asTrimmedLowercaseString
15
- } from "./chunk-QSJ3HFEF.js";
16
-
17
- // packages/agent-runtime/antigravityOAuth.ts
18
- var decodeBase64 = (s) => typeof Buffer !== "undefined" ? Buffer.from(s, "base64").toString("utf8") : typeof atob === "function" ? atob(s) : s;
19
- var ANTIGRAVITY_CLIENT_ID = decodeBase64(
20
- "MTA3MTAwNjA2MDU5MS10bWhzc2luMmgyMWxjcmUyMzV2dG9sb2poNGc0MDNlcC5hcHBzLmdvb2dsZXVzZXJjb250ZW50LmNvbQ=="
21
- );
22
- var ANTIGRAVITY_CLIENT_SECRET = decodeBase64(
23
- "R09DU1BYLUs1OEZXUjQ4NkxkTEoxbUxCOHNYQzR6NnFEQWY="
24
- );
25
- var ANTIGRAVITY_AUTH_URL = "https://accounts.google.com/o/oauth2/v2/auth";
26
- var ANTIGRAVITY_TOKEN_URL = "https://oauth2.googleapis.com/token";
27
- var ANTIGRAVITY_USERINFO_URL = "https://www.googleapis.com/oauth2/v1/userinfo?alt=json";
28
- var ANTIGRAVITY_CALLBACK_PORT = 51121;
29
- var ANTIGRAVITY_CALLBACK_PATH = "/oauth-callback";
30
- var ANTIGRAVITY_CALLBACK_URL = `http://127.0.0.1:${ANTIGRAVITY_CALLBACK_PORT}${ANTIGRAVITY_CALLBACK_PATH}`;
31
- var ANTIGRAVITY_SCOPES = [
32
- "https://www.googleapis.com/auth/cloud-platform",
33
- "https://www.googleapis.com/auth/userinfo.email",
34
- "https://www.googleapis.com/auth/userinfo.profile",
35
- "https://www.googleapis.com/auth/cclog",
36
- "https://www.googleapis.com/auth/experimentsandconfigs"
37
- ];
38
- var ANTIGRAVITY_ACCESS_TOKEN_CLIENT_SKEW_MS = 5 * 60 * 1e3;
39
- var ANTIGRAVITY_TOKEN_REQUEST_TIMEOUT_MS = 3e4;
40
- var ANTIGRAVITY_CLOUD_CODE_BASE_URL = "https://daily-cloudcode-pa.googleapis.com";
41
- var ANTIGRAVITY_CLOUD_CODE_HOST = "cloudcode-pa.googleapis.com";
42
- var ANTIGRAVITY_CLOUD_CODE_HOSTS = [
43
- ANTIGRAVITY_CLOUD_CODE_HOST,
44
- "daily-cloudcode-pa.googleapis.com"
45
- ];
46
- function isAntigravityCloudCodeHostname(rawHost) {
47
- const hostname = asTrimmedLowercaseString(rawHost ?? "").replace(/\.+$/, "");
48
- if (!hostname) return false;
49
- return ANTIGRAVITY_CLOUD_CODE_HOSTS.includes(hostname);
50
- }
51
- function isAntigravityCloudCodeBaseUrl(raw) {
52
- const value = typeof raw === "string" ? raw.trim() : "";
53
- if (!value) return false;
54
- try {
55
- return isAntigravityCloudCodeHostname(new URL(value).hostname);
56
- } catch {
57
- return false;
58
- }
59
- }
60
- var ANTIGRAVITY_LEGACY_GENERIC_BASE_RE = /^https?:\/\/cloudcode-pa\.googleapis\.com$/i;
61
- function getAntigravityUserAgent() {
62
- const version = process.env.NOLO_ANTIGRAVITY_VERSION || "2.23.1";
63
- const os = process.platform === "win32" ? "windows" : process.platform;
64
- const arch = process.arch === "x64" ? "amd64" : process.arch === "ia32" ? "386" : process.arch;
65
- return `antigravity/hub/${version} ${os}/${arch}`;
66
- }
67
- function resolveAntigravityCloudCodeBaseUrl(customProviderUrl) {
68
- const raw = (customProviderUrl ?? "").trim();
69
- if (!raw) return ANTIGRAVITY_CLOUD_CODE_BASE_URL;
70
- const trimmed = trimTrailingSlash(raw);
71
- if (isAntigravityCloudCodeBaseUrl(trimmed)) {
72
- const base = trimmed.replace(/\/v1internal:.*$/i, "").replace(/\/$/, "");
73
- if (ANTIGRAVITY_LEGACY_GENERIC_BASE_RE.test(base)) {
74
- return ANTIGRAVITY_CLOUD_CODE_BASE_URL;
75
- }
76
- return base;
77
- }
78
- return ANTIGRAVITY_CLOUD_CODE_BASE_URL;
79
- }
80
- function isAntigravityOAuthAgent(agentConfig) {
81
- if (!agentConfig) return false;
82
- const apiKeyRef = asTrimmedLowercaseString(agentConfig.apiKeyRef);
83
- const provider = asTrimmedLowercaseString(agentConfig.provider);
84
- const url = asTrimmedLowercaseString(agentConfig.customProviderUrl);
85
- return apiKeyRef === "antigravity" || provider === "google-antigravity" || // 只看解析后的 hostname(同 resolver):后缀 host / userinfo / path 里的官方串
86
- // 都不构成 antigravity 身份。
87
- isAntigravityCloudCodeBaseUrl(url);
88
- }
89
- function readAntigravityProjectId(metadata) {
90
- return asOptionalTrimmedString(metadata?.projectId);
91
- }
92
- function normalizeAntigravityTokenPayload(args) {
93
- const {
94
- payload,
95
- baseCredential,
96
- now = Date.now(),
97
- clientSkewMs = ANTIGRAVITY_ACCESS_TOKEN_CLIENT_SKEW_MS
98
- } = args;
99
- if (typeof payload.access_token !== "string" || !payload.access_token.trim()) {
100
- throw new Error("Antigravity token response missing access_token");
101
- }
102
- const accessToken = payload.access_token.trim();
103
- const expiresIn = asOptionalFiniteNumber(payload.expires_in);
104
- const expiresAt = expiresIn !== void 0 ? now + expiresIn * 1e3 - clientSkewMs : baseCredential?.expiresAt;
105
- const refreshToken = typeof payload.refresh_token === "string" && payload.refresh_token.trim() ? payload.refresh_token.trim() : baseCredential?.refreshToken;
106
- const scope = typeof payload.scope === "string" && payload.scope.trim() ? payload.scope.trim() : baseCredential?.scope;
107
- return {
108
- ...baseCredential ?? {},
109
- provider: baseCredential?.provider ?? "antigravity",
110
- accessToken,
111
- ...refreshToken ? { refreshToken } : {},
112
- ...expiresAt !== void 0 ? { expiresAt } : {},
113
- ...scope ? { scope } : {},
114
- obtainedAt: now
115
- };
116
- }
117
- async function refreshAntigravityToken(credential, deps = {}) {
118
- if (!credential.refreshToken || !credential.refreshToken.trim()) {
119
- throw new Error("Antigravity credential has no refresh_token");
120
- }
121
- const fetchImpl = deps.fetchImpl ?? fetch;
122
- let response;
123
- try {
124
- response = await fetchImpl(ANTIGRAVITY_TOKEN_URL, {
125
- method: "POST",
126
- headers: {
127
- "Content-Type": "application/x-www-form-urlencoded",
128
- Accept: "application/json"
129
- },
130
- body: new URLSearchParams({
131
- client_id: ANTIGRAVITY_CLIENT_ID,
132
- client_secret: ANTIGRAVITY_CLIENT_SECRET,
133
- refresh_token: credential.refreshToken.trim(),
134
- grant_type: "refresh_token"
135
- }),
136
- signal: AbortSignal.timeout(ANTIGRAVITY_TOKEN_REQUEST_TIMEOUT_MS)
137
- });
138
- } catch (error) {
139
- throw new Error(
140
- `Antigravity token refresh failed: ${toErrorMessage(error)}`
141
- );
142
- }
143
- let rawBodyText = "";
144
- let payload;
145
- try {
146
- rawBodyText = await response.text();
147
- payload = rawBodyText ? JSON.parse(rawBodyText) : {};
148
- } catch {
149
- payload = {};
150
- }
151
- if (!response.ok) {
152
- const errorCode = typeof payload.error === "string" && payload.error.trim() ? payload.error.trim() : void 0;
153
- const errorDescription = typeof payload.error_description === "string" && payload.error_description.trim() ? payload.error_description.trim() : void 0;
154
- const detail = (errorCode && errorDescription && errorDescription !== errorCode ? `${errorCode}: ${errorDescription}` : errorCode ?? errorDescription ?? rawBodyText.trim()) || `HTTP ${response.status}`;
155
- throw new Error(`Antigravity token refresh failed: ${detail}`);
156
- }
157
- if (typeof payload.access_token !== "string" || !payload.access_token.trim()) {
158
- throw new Error("Antigravity token refresh response missing access_token");
159
- }
160
- const now = deps.now?.() ?? Date.now();
161
- return normalizeAntigravityTokenPayload({
162
- payload,
163
- baseCredential: credential,
164
- now
165
- });
166
- }
167
-
168
- export {
169
- ANTIGRAVITY_CLIENT_ID,
170
- ANTIGRAVITY_CLIENT_SECRET,
171
- ANTIGRAVITY_AUTH_URL,
172
- ANTIGRAVITY_TOKEN_URL,
173
- ANTIGRAVITY_USERINFO_URL,
174
- ANTIGRAVITY_CALLBACK_PORT,
175
- ANTIGRAVITY_CALLBACK_PATH,
176
- ANTIGRAVITY_SCOPES,
177
- ANTIGRAVITY_CLOUD_CODE_BASE_URL,
178
- isAntigravityCloudCodeBaseUrl,
179
- getAntigravityUserAgent,
180
- resolveAntigravityCloudCodeBaseUrl,
181
- isAntigravityOAuthAgent,
182
- readAntigravityProjectId,
183
- normalizeAntigravityTokenPayload,
184
- refreshAntigravityToken
185
- };