zelari-code 0.6.2 → 0.7.5
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/bin/zelari-code.js +1 -1
- package/dist/agents/councilApi.js +7 -7
- package/dist/agents/councilApi.js.map +1 -1
- package/dist/agents/councilDirectives.js +3 -3
- package/dist/agents/promoteMember.js +2 -2
- package/dist/agents/roles.js +50 -32
- package/dist/agents/roles.js.map +1 -1
- package/dist/agents/skills/builtin/debugging.js +4 -4
- package/dist/agents/skills/builtin/debugging.js.map +1 -1
- package/dist/agents/skills/builtin/docs.js +23 -13
- package/dist/agents/skills/builtin/docs.js.map +1 -1
- package/dist/agents/skills/builtin/git-ops.js +3 -3
- package/dist/agents/skills/builtin/git-ops.js.map +1 -1
- package/dist/agents/skills/builtin/planning.js +4 -4
- package/dist/agents/skills/builtin/planning.js.map +1 -1
- package/dist/agents/skills/builtin/refactoring.js +3 -3
- package/dist/agents/skills/builtin/refactoring.js.map +1 -1
- package/dist/agents/skills/builtin/review.js +9 -9
- package/dist/agents/skills/builtin/review.js.map +1 -1
- package/dist/agents/skills/builtin/testing.js +3 -3
- package/dist/agents/skills/builtin/testing.js.map +1 -1
- package/dist/agents/tools.js +2 -9
- package/dist/agents/tools.js.map +1 -1
- package/dist/cli/app.js +63 -29
- package/dist/cli/app.js.map +1 -1
- package/dist/cli/components/ChatStream.js +40 -126
- package/dist/cli/components/ChatStream.js.map +1 -1
- package/dist/cli/components/CollapsibleToolOutput.js +8 -26
- package/dist/cli/components/CollapsibleToolOutput.js.map +1 -1
- package/dist/cli/components/Header.js +6 -18
- package/dist/cli/components/Header.js.map +1 -1
- package/dist/cli/components/LiveRegion.js +54 -0
- package/dist/cli/components/LiveRegion.js.map +1 -0
- package/dist/cli/components/Sidebar.js +33 -31
- package/dist/cli/components/Sidebar.js.map +1 -1
- package/dist/cli/components/StatusBar.js +42 -0
- package/dist/cli/components/StatusBar.js.map +1 -0
- package/dist/cli/components/ToolOutput.js +68 -0
- package/dist/cli/components/ToolOutput.js.map +1 -0
- package/dist/cli/components/toolFormat.js +195 -0
- package/dist/cli/components/toolFormat.js.map +1 -0
- package/dist/cli/grokOAuth.js +93 -75
- package/dist/cli/grokOAuth.js.map +1 -1
- package/dist/cli/hooks/chatState.js +139 -0
- package/dist/cli/hooks/chatState.js.map +1 -0
- package/dist/cli/hooks/eventsToMessages.js +1 -1
- package/dist/cli/hooks/eventsToMessages.js.map +1 -1
- package/dist/cli/hooks/messageHelpers.js +11 -4
- package/dist/cli/hooks/messageHelpers.js.map +1 -1
- package/dist/cli/hooks/useBatchedMessages.js +14 -10
- package/dist/cli/hooks/useBatchedMessages.js.map +1 -1
- package/dist/cli/hooks/useChatTurn.js +400 -87
- package/dist/cli/hooks/useChatTurn.js.map +1 -1
- package/dist/cli/hooks/useSession.js +23 -11
- package/dist/cli/hooks/useSession.js.map +1 -1
- package/dist/cli/hooks/useSlashDispatch.js +9 -1
- package/dist/cli/hooks/useSlashDispatch.js.map +1 -1
- package/dist/cli/main.bundled.js +16972 -15277
- package/dist/cli/main.bundled.js.map +4 -4
- package/dist/cli/main.js +35 -1
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/mcp/mcpClient.js +152 -0
- package/dist/cli/mcp/mcpClient.js.map +1 -0
- package/dist/cli/mcp/mcpManager.js +139 -0
- package/dist/cli/mcp/mcpManager.js.map +1 -0
- package/dist/cli/refreshRegistry.js +9 -6
- package/dist/cli/refreshRegistry.js.map +1 -1
- package/dist/cli/skillsMd.js +155 -0
- package/dist/cli/skillsMd.js.map +1 -0
- package/dist/cli/slashHandlers/skills.js +16 -0
- package/dist/cli/slashHandlers/skills.js.map +1 -1
- package/dist/cli/toolRegistry.js +31 -0
- package/dist/cli/toolRegistry.js.map +1 -1
- package/dist/cli/wizard/index.js +1 -1
- package/dist/cli/workspace/paths.js +20 -13
- package/dist/cli/workspace/paths.js.map +1 -1
- package/dist/cli/workspace/storage.js +7 -3
- package/dist/cli/workspace/storage.js.map +1 -1
- package/dist/cli/workspace/stubs.js +122 -44
- package/dist/cli/workspace/stubs.js.map +1 -1
- package/dist/cli/workspace/workspaceSummary.js +255 -0
- package/dist/cli/workspace/workspaceSummary.js.map +1 -0
- package/dist/main/core/AgentHarness.js +36 -7
- package/dist/main/core/AgentHarness.js.map +1 -1
- package/dist/main/core/tools/builtin/listFiles.js +43 -5
- package/dist/main/core/tools/builtin/listFiles.js.map +1 -1
- package/dist/main/core/tools/builtin/search.js +28 -120
- package/dist/main/core/tools/builtin/search.js.map +1 -1
- package/package.json +2 -2
- package/dist/cli/oauthCallbackServer.js +0 -207
- package/dist/cli/oauthCallbackServer.js.map +0 -1
- package/dist/main/core/tools/builtin/_walk.js +0 -129
- package/dist/main/core/tools/builtin/_walk.js.map +0 -1
- package/dist/main/core/tools/builtin/diff.js +0 -477
- package/dist/main/core/tools/builtin/diff.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolFormat.js","sourceRoot":"","sources":["../../../src/cli/components/toolFormat.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/grokOAuth.js
CHANGED
|
@@ -32,29 +32,29 @@ export class GrokOAuthError extends Error {
|
|
|
32
32
|
constructor(message, code) {
|
|
33
33
|
super(message);
|
|
34
34
|
this.code = code;
|
|
35
|
-
this.name =
|
|
35
|
+
this.name = "GrokOAuthError";
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
39
|
* Default xAI OAuth client ID — public client registered for SuperGrok OAuth
|
|
40
40
|
* (same as used by the reference supergrok-oauth Python client + Grok-CLI).
|
|
41
41
|
*/
|
|
42
|
-
export const DEFAULT_GROK_OAUTH_CLIENT_ID =
|
|
42
|
+
export const DEFAULT_GROK_OAUTH_CLIENT_ID = "b1a00492-073a-47ea-816f-4c329264a828";
|
|
43
43
|
/** Default OAuth scopes for full SuperGrok access. */
|
|
44
44
|
export const DEFAULT_GROK_OAUTH_SCOPES = [
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
45
|
+
"openid",
|
|
46
|
+
"profile",
|
|
47
|
+
"email",
|
|
48
|
+
"offline_access",
|
|
49
|
+
"grok-cli:access",
|
|
50
|
+
"api:access",
|
|
51
51
|
];
|
|
52
52
|
/** Default device-code endpoint. */
|
|
53
|
-
export const DEFAULT_DEVICE_CODE_ENDPOINT =
|
|
53
|
+
export const DEFAULT_DEVICE_CODE_ENDPOINT = "https://auth.x.ai/oauth2/device/code";
|
|
54
54
|
/** Default token endpoint (shared by device poll + refresh). */
|
|
55
|
-
export const DEFAULT_TOKEN_ENDPOINT =
|
|
55
|
+
export const DEFAULT_TOKEN_ENDPOINT = "https://auth.x.ai/oauth2/token";
|
|
56
56
|
/** Device-code grant type URN (RFC 8628). */
|
|
57
|
-
export const DEVICE_GRANT_TYPE =
|
|
57
|
+
export const DEVICE_GRANT_TYPE = "urn:ietf:params:oauth:grant-type:device_code";
|
|
58
58
|
/** Default overall authorization timeout (5 minutes). */
|
|
59
59
|
export const DEFAULT_OAUTH_TIMEOUT_MS = 300_000;
|
|
60
60
|
const defaultSleep = (ms) => new Promise((r) => setTimeout(r, ms));
|
|
@@ -71,22 +71,22 @@ export async function requestDeviceCode(options) {
|
|
|
71
71
|
let response;
|
|
72
72
|
try {
|
|
73
73
|
response = await fetchImpl(endpoint, {
|
|
74
|
-
method:
|
|
74
|
+
method: "POST",
|
|
75
75
|
headers: {
|
|
76
|
-
|
|
77
|
-
Accept:
|
|
76
|
+
"Content-Type": "application/x-www-form-urlencoded",
|
|
77
|
+
Accept: "application/json",
|
|
78
78
|
},
|
|
79
79
|
body: new URLSearchParams({
|
|
80
80
|
client_id: options.clientId,
|
|
81
|
-
scope: scopes.join(
|
|
81
|
+
scope: scopes.join(" "),
|
|
82
82
|
}).toString(),
|
|
83
83
|
});
|
|
84
84
|
}
|
|
85
85
|
catch (err) {
|
|
86
|
-
throw new GrokOAuthError(`Device code request network error: ${err instanceof Error ? err.message : String(err)}`,
|
|
86
|
+
throw new GrokOAuthError(`Device code request network error: ${err instanceof Error ? err.message : String(err)}`, "device_code_network_error");
|
|
87
87
|
}
|
|
88
88
|
if (!response.ok) {
|
|
89
|
-
const errText = await response.text().catch(() =>
|
|
89
|
+
const errText = await response.text().catch(() => "");
|
|
90
90
|
throw new GrokOAuthError(`Device code request HTTP ${response.status}: ${errText.slice(0, 200)}`, `device_code_http_${response.status}`);
|
|
91
91
|
}
|
|
92
92
|
let body;
|
|
@@ -96,31 +96,36 @@ export async function requestDeviceCode(options) {
|
|
|
96
96
|
catch (err) {
|
|
97
97
|
throw new GrokOAuthError(`Device code response invalid JSON: ${err instanceof Error ? err.message : String(err)}`);
|
|
98
98
|
}
|
|
99
|
-
if (!body || typeof body !==
|
|
100
|
-
throw new GrokOAuthError(
|
|
99
|
+
if (!body || typeof body !== "object") {
|
|
100
|
+
throw new GrokOAuthError("Device code response is not an object");
|
|
101
101
|
}
|
|
102
102
|
const obj = body;
|
|
103
103
|
const deviceCode = obj.device_code;
|
|
104
104
|
const userCode = obj.user_code;
|
|
105
105
|
const verificationUri = obj.verification_uri;
|
|
106
|
-
if (typeof deviceCode !==
|
|
107
|
-
throw new GrokOAuthError(
|
|
106
|
+
if (typeof deviceCode !== "string" || deviceCode.length === 0) {
|
|
107
|
+
throw new GrokOAuthError("Device code response missing device_code", "no_device_code");
|
|
108
108
|
}
|
|
109
|
-
if (typeof userCode !==
|
|
110
|
-
throw new GrokOAuthError(
|
|
109
|
+
if (typeof userCode !== "string" || userCode.length === 0) {
|
|
110
|
+
throw new GrokOAuthError("Device code response missing user_code", "no_user_code");
|
|
111
111
|
}
|
|
112
|
-
if (typeof verificationUri !==
|
|
113
|
-
throw new GrokOAuthError(
|
|
112
|
+
if (typeof verificationUri !== "string" || verificationUri.length === 0) {
|
|
113
|
+
throw new GrokOAuthError("Device code response missing verification_uri", "no_verification_uri");
|
|
114
114
|
}
|
|
115
115
|
return {
|
|
116
116
|
deviceCode,
|
|
117
117
|
userCode,
|
|
118
118
|
verificationUri,
|
|
119
|
-
...(typeof obj.verification_uri_complete ===
|
|
119
|
+
...(typeof obj.verification_uri_complete === "string" &&
|
|
120
|
+
obj.verification_uri_complete.length > 0
|
|
120
121
|
? { verificationUriComplete: obj.verification_uri_complete }
|
|
121
122
|
: {}),
|
|
122
|
-
expiresIn: typeof obj.expires_in ===
|
|
123
|
-
|
|
123
|
+
expiresIn: typeof obj.expires_in === "number" && Number.isFinite(obj.expires_in)
|
|
124
|
+
? obj.expires_in
|
|
125
|
+
: 1800,
|
|
126
|
+
interval: typeof obj.interval === "number" && Number.isFinite(obj.interval)
|
|
127
|
+
? obj.interval
|
|
128
|
+
: 5,
|
|
124
129
|
};
|
|
125
130
|
}
|
|
126
131
|
/**
|
|
@@ -129,13 +134,14 @@ export async function requestDeviceCode(options) {
|
|
|
129
134
|
*/
|
|
130
135
|
function parseTokenResponseBody(obj, accessToken) {
|
|
131
136
|
const result = { accessToken };
|
|
132
|
-
if (typeof obj.expires_in ===
|
|
137
|
+
if (typeof obj.expires_in === "number" && Number.isFinite(obj.expires_in)) {
|
|
133
138
|
result.expiresAt = Date.now() + obj.expires_in * 1000;
|
|
134
139
|
}
|
|
135
|
-
if (typeof obj.refresh_token ===
|
|
140
|
+
if (typeof obj.refresh_token === "string" && obj.refresh_token.length > 0) {
|
|
136
141
|
result.refreshToken = obj.refresh_token;
|
|
137
142
|
}
|
|
138
|
-
if (typeof obj.refresh_token_expires_in ===
|
|
143
|
+
if (typeof obj.refresh_token_expires_in === "number" &&
|
|
144
|
+
Number.isFinite(obj.refresh_token_expires_in)) {
|
|
139
145
|
result.refreshExpiresAt = Date.now() + obj.refresh_token_expires_in * 1000;
|
|
140
146
|
}
|
|
141
147
|
return result;
|
|
@@ -160,15 +166,15 @@ export async function pollForDeviceToken(options) {
|
|
|
160
166
|
// eslint-disable-next-line no-constant-condition
|
|
161
167
|
while (true) {
|
|
162
168
|
if (Date.now() >= deadline) {
|
|
163
|
-
throw new GrokOAuthError(
|
|
169
|
+
throw new GrokOAuthError("Device authorization timed out waiting for user approval", "timeout");
|
|
164
170
|
}
|
|
165
171
|
let response;
|
|
166
172
|
try {
|
|
167
173
|
response = await fetchImpl(endpoint, {
|
|
168
|
-
method:
|
|
174
|
+
method: "POST",
|
|
169
175
|
headers: {
|
|
170
|
-
|
|
171
|
-
Accept:
|
|
176
|
+
"Content-Type": "application/x-www-form-urlencoded",
|
|
177
|
+
Accept: "application/json",
|
|
172
178
|
},
|
|
173
179
|
body: new URLSearchParams({
|
|
174
180
|
grant_type: DEVICE_GRANT_TYPE,
|
|
@@ -178,7 +184,7 @@ export async function pollForDeviceToken(options) {
|
|
|
178
184
|
});
|
|
179
185
|
}
|
|
180
186
|
catch (err) {
|
|
181
|
-
throw new GrokOAuthError(`Token poll network error: ${err instanceof Error ? err.message : String(err)}`,
|
|
187
|
+
throw new GrokOAuthError(`Token poll network error: ${err instanceof Error ? err.message : String(err)}`, "poll_network_error");
|
|
182
188
|
}
|
|
183
189
|
// Success: 200 with access_token.
|
|
184
190
|
if (response.ok) {
|
|
@@ -189,13 +195,13 @@ export async function pollForDeviceToken(options) {
|
|
|
189
195
|
catch (err) {
|
|
190
196
|
throw new GrokOAuthError(`Token response invalid JSON: ${err instanceof Error ? err.message : String(err)}`);
|
|
191
197
|
}
|
|
192
|
-
if (!body || typeof body !==
|
|
193
|
-
throw new GrokOAuthError(
|
|
198
|
+
if (!body || typeof body !== "object") {
|
|
199
|
+
throw new GrokOAuthError("Token response is not an object");
|
|
194
200
|
}
|
|
195
201
|
const obj = body;
|
|
196
202
|
const accessToken = obj.access_token;
|
|
197
|
-
if (typeof accessToken !==
|
|
198
|
-
throw new GrokOAuthError(
|
|
203
|
+
if (typeof accessToken !== "string" || accessToken.length === 0) {
|
|
204
|
+
throw new GrokOAuthError("Token response missing access_token", "no_access_token");
|
|
199
205
|
}
|
|
200
206
|
return parseTokenResponseBody(obj, accessToken);
|
|
201
207
|
}
|
|
@@ -203,33 +209,35 @@ export async function pollForDeviceToken(options) {
|
|
|
203
209
|
let errBody = {};
|
|
204
210
|
try {
|
|
205
211
|
const parsed = await response.json();
|
|
206
|
-
if (parsed && typeof parsed ===
|
|
212
|
+
if (parsed && typeof parsed === "object")
|
|
207
213
|
errBody = parsed;
|
|
208
214
|
}
|
|
209
215
|
catch {
|
|
210
216
|
// Non-JSON error body — treat as transient and keep polling unless 4xx is definitive.
|
|
211
217
|
}
|
|
212
|
-
const errorCode = typeof errBody.error ===
|
|
218
|
+
const errorCode = typeof errBody.error === "string"
|
|
219
|
+
? errBody.error
|
|
220
|
+
: `http_${response.status}`;
|
|
213
221
|
switch (errorCode) {
|
|
214
|
-
case
|
|
222
|
+
case "authorization_pending":
|
|
215
223
|
await sleep(interval * 1000);
|
|
216
224
|
continue;
|
|
217
|
-
case
|
|
225
|
+
case "slow_down":
|
|
218
226
|
// RFC 8628 §3.5: increase the interval by 5 seconds.
|
|
219
227
|
interval += 5;
|
|
220
228
|
await sleep(interval * 1000);
|
|
221
229
|
continue;
|
|
222
|
-
case
|
|
223
|
-
case
|
|
224
|
-
throw new GrokOAuthError(
|
|
225
|
-
case
|
|
226
|
-
case
|
|
227
|
-
throw new GrokOAuthError(
|
|
228
|
-
case
|
|
229
|
-
throw new GrokOAuthError(
|
|
230
|
+
case "expired_token":
|
|
231
|
+
case "expired":
|
|
232
|
+
throw new GrokOAuthError("Device code expired before user authorized", "expired");
|
|
233
|
+
case "access_denied":
|
|
234
|
+
case "denied":
|
|
235
|
+
throw new GrokOAuthError("User denied the authorization request", "denied");
|
|
236
|
+
case "invalid_grant":
|
|
237
|
+
throw new GrokOAuthError("Device code rejected (invalid_grant)", "invalid_grant");
|
|
230
238
|
default:
|
|
231
239
|
// Unknown error — surface it rather than polling forever.
|
|
232
|
-
throw new GrokOAuthError(`Token poll error: ${errorCode}${typeof errBody.error_description ===
|
|
240
|
+
throw new GrokOAuthError(`Token poll error: ${errorCode}${typeof errBody.error_description === "string" ? ` — ${errBody.error_description}` : ""}`, errorCode);
|
|
233
241
|
}
|
|
234
242
|
}
|
|
235
243
|
}
|
|
@@ -245,9 +253,11 @@ export async function pollForDeviceToken(options) {
|
|
|
245
253
|
* @throws GrokOAuthError on any failure (network, denied, expired, timeout).
|
|
246
254
|
*/
|
|
247
255
|
export async function runGrokOAuthFlow(options = {}) {
|
|
248
|
-
const clientId = options.clientId ||
|
|
256
|
+
const clientId = options.clientId ||
|
|
257
|
+
process.env.GROK_OAUTH_CLIENT_ID ||
|
|
258
|
+
DEFAULT_GROK_OAUTH_CLIENT_ID;
|
|
249
259
|
if (!clientId || clientId.trim().length === 0) {
|
|
250
|
-
throw new GrokOAuthError(
|
|
260
|
+
throw new GrokOAuthError("Missing clientId", "no_client_id");
|
|
251
261
|
}
|
|
252
262
|
// Step 1: request device code.
|
|
253
263
|
const deviceAuth = await requestDeviceCode({
|
|
@@ -263,7 +273,7 @@ export async function runGrokOAuthFlow(options = {}) {
|
|
|
263
273
|
// Step 3: open the browser to the verification URI (best-effort, non-blocking).
|
|
264
274
|
// Prefer verification_uri_complete when provided (pre-fills the user_code).
|
|
265
275
|
try {
|
|
266
|
-
await openBrowser(deviceAuth.verificationUriComplete ?? deviceAuth.verificationUri);
|
|
276
|
+
await (options.openBrowserImpl ?? openBrowser)(deviceAuth.verificationUriComplete ?? deviceAuth.verificationUri);
|
|
267
277
|
}
|
|
268
278
|
catch {
|
|
269
279
|
// Browser launch is best-effort — the user can still visit the URL manually
|
|
@@ -295,23 +305,23 @@ export async function runGrokOAuthFlow(options = {}) {
|
|
|
295
305
|
*/
|
|
296
306
|
export async function refreshGrokToken(options) {
|
|
297
307
|
if (!options.clientId || options.clientId.trim().length === 0) {
|
|
298
|
-
throw new GrokOAuthError(
|
|
308
|
+
throw new GrokOAuthError("Missing clientId", "no_client_id");
|
|
299
309
|
}
|
|
300
310
|
if (!options.refreshToken || options.refreshToken.trim().length === 0) {
|
|
301
|
-
throw new GrokOAuthError(
|
|
311
|
+
throw new GrokOAuthError("Missing refreshToken", "no_refresh_token");
|
|
302
312
|
}
|
|
303
313
|
const endpoint = options.tokenEndpoint ?? DEFAULT_TOKEN_ENDPOINT;
|
|
304
314
|
const fetchImpl = options.fetchImpl ?? fetch;
|
|
305
315
|
let response;
|
|
306
316
|
try {
|
|
307
317
|
response = await fetchImpl(endpoint, {
|
|
308
|
-
method:
|
|
318
|
+
method: "POST",
|
|
309
319
|
headers: {
|
|
310
|
-
|
|
311
|
-
Accept:
|
|
320
|
+
"Content-Type": "application/x-www-form-urlencoded",
|
|
321
|
+
Accept: "application/json",
|
|
312
322
|
},
|
|
313
323
|
body: new URLSearchParams({
|
|
314
|
-
grant_type:
|
|
324
|
+
grant_type: "refresh_token",
|
|
315
325
|
client_id: options.clientId,
|
|
316
326
|
refresh_token: options.refreshToken,
|
|
317
327
|
}).toString(),
|
|
@@ -321,8 +331,10 @@ export async function refreshGrokToken(options) {
|
|
|
321
331
|
throw new GrokOAuthError(`Token refresh network error: ${err instanceof Error ? err.message : String(err)}`);
|
|
322
332
|
}
|
|
323
333
|
if (!response.ok) {
|
|
324
|
-
const errText = await response.text().catch(() =>
|
|
325
|
-
const code = response.status === 400 || response.status === 401
|
|
334
|
+
const errText = await response.text().catch(() => "");
|
|
335
|
+
const code = response.status === 400 || response.status === 401
|
|
336
|
+
? "invalid_grant"
|
|
337
|
+
: `http_${response.status}`;
|
|
326
338
|
throw new GrokOAuthError(`Token refresh HTTP ${response.status}: ${errText.slice(0, 200)}`, code);
|
|
327
339
|
}
|
|
328
340
|
let body;
|
|
@@ -332,13 +344,13 @@ export async function refreshGrokToken(options) {
|
|
|
332
344
|
catch (err) {
|
|
333
345
|
throw new GrokOAuthError(`Token refresh returned invalid JSON: ${err instanceof Error ? err.message : String(err)}`);
|
|
334
346
|
}
|
|
335
|
-
if (!body || typeof body !==
|
|
336
|
-
throw new GrokOAuthError(
|
|
347
|
+
if (!body || typeof body !== "object") {
|
|
348
|
+
throw new GrokOAuthError("Token refresh returned non-object body");
|
|
337
349
|
}
|
|
338
350
|
const obj = body;
|
|
339
351
|
const accessToken = obj.access_token;
|
|
340
|
-
if (typeof accessToken !==
|
|
341
|
-
throw new GrokOAuthError(
|
|
352
|
+
if (typeof accessToken !== "string" || accessToken.length === 0) {
|
|
353
|
+
throw new GrokOAuthError("Token refresh response missing access_token", "no_access_token");
|
|
342
354
|
}
|
|
343
355
|
return parseTokenResponseBody(obj, accessToken);
|
|
344
356
|
}
|
|
@@ -348,19 +360,25 @@ export async function refreshGrokToken(options) {
|
|
|
348
360
|
* spawn with args array).
|
|
349
361
|
*/
|
|
350
362
|
export async function openBrowser(url) {
|
|
351
|
-
const { spawn } = await import(
|
|
363
|
+
const { spawn } = await import("node:child_process");
|
|
352
364
|
const cmd = (() => {
|
|
353
365
|
switch (process.platform) {
|
|
354
|
-
case
|
|
355
|
-
|
|
356
|
-
|
|
366
|
+
case "darwin":
|
|
367
|
+
return { bin: "open", args: [url] };
|
|
368
|
+
case "win32":
|
|
369
|
+
return { bin: "cmd", args: ["/c", "start", '""', url] };
|
|
370
|
+
default:
|
|
371
|
+
return { bin: "xdg-open", args: [url] };
|
|
357
372
|
}
|
|
358
373
|
})();
|
|
359
374
|
return new Promise((resolve, reject) => {
|
|
360
375
|
try {
|
|
361
|
-
const child = spawn(cmd.bin, cmd.args, {
|
|
362
|
-
|
|
363
|
-
|
|
376
|
+
const child = spawn(cmd.bin, cmd.args, {
|
|
377
|
+
stdio: "ignore",
|
|
378
|
+
detached: true,
|
|
379
|
+
});
|
|
380
|
+
child.on("error", (err) => reject(err));
|
|
381
|
+
child.on("spawn", () => {
|
|
364
382
|
child.unref();
|
|
365
383
|
resolve();
|
|
366
384
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grokOAuth.js","sourceRoot":"","sources":["../../src/cli/grokOAuth.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"grokOAuth.js","sourceRoot":"","sources":["../../src/cli/grokOAuth.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { formatToolSummary } from '../components/toolFormat.js';
|
|
2
|
+
export const EMPTY_LIVE = { streaming: null, runningTools: [] };
|
|
3
|
+
/**
|
|
4
|
+
* Append a finalized message (system/user/sealed-assistant/completed-tool).
|
|
5
|
+
* Pure helper — callers pass the setter they want to target (the
|
|
6
|
+
* `finalized` setter in production, a plain array setter in tests).
|
|
7
|
+
*/
|
|
8
|
+
export function pushFinalized(setFinalized, message) {
|
|
9
|
+
setFinalized((prev) => [...prev, message]);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Update or start the streaming assistant bubble in `live`.
|
|
13
|
+
*
|
|
14
|
+
* - If `live.streaming` exists and (for council) belongs to the same member,
|
|
15
|
+
* replace its content with `fullContent` (the streaming caller always
|
|
16
|
+
* passes full accumulated content, not a delta).
|
|
17
|
+
* - Otherwise create a new streaming bubble stamped with the member context.
|
|
18
|
+
*
|
|
19
|
+
* `setLive` accepts a functional updater so the throttle layer
|
|
20
|
+
* (`useBatchedMessages`-style) can compose multiple updates without reading
|
|
21
|
+
* stale state.
|
|
22
|
+
*/
|
|
23
|
+
export function setStreaming(setLive, fullContent, ts, memberContext) {
|
|
24
|
+
setLive((prev) => {
|
|
25
|
+
const cur = prev.streaming;
|
|
26
|
+
if (cur &&
|
|
27
|
+
cur.role === 'assistant' &&
|
|
28
|
+
(cur.memberId ?? null) === (memberContext?.memberId ?? null)) {
|
|
29
|
+
return { ...prev, streaming: { ...cur, content: fullContent, ts } };
|
|
30
|
+
}
|
|
31
|
+
return {
|
|
32
|
+
...prev,
|
|
33
|
+
streaming: {
|
|
34
|
+
id: `streaming-${crypto.randomUUID()}`,
|
|
35
|
+
role: 'assistant',
|
|
36
|
+
content: fullContent,
|
|
37
|
+
ts,
|
|
38
|
+
...(memberContext?.memberId ? { memberId: memberContext.memberId } : {}),
|
|
39
|
+
...(memberContext?.memberName ? { memberName: memberContext.memberName } : {}),
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Move `live.streaming` (if any) into `finalized`, sealing it. Drops the
|
|
46
|
+
* `streaming-` id prefix so the next bubble starts fresh. Idempotent: a no-op
|
|
47
|
+
* when nothing is streaming.
|
|
48
|
+
*
|
|
49
|
+
* This is the seal point fired on `message_end` and before a tool call: the
|
|
50
|
+
* bubble is complete and can be printed once into scrollback.
|
|
51
|
+
*/
|
|
52
|
+
export function finalizeStreaming(setFinalized, setLive) {
|
|
53
|
+
setLive((prev) => {
|
|
54
|
+
const cur = prev.streaming;
|
|
55
|
+
if (!cur || !cur.id.startsWith('streaming-'))
|
|
56
|
+
return prev;
|
|
57
|
+
const sealed = { ...cur, id: cur.id.slice('streaming-'.length) };
|
|
58
|
+
setFinalized((fin) => [...fin, sealed]);
|
|
59
|
+
return { ...prev, streaming: null };
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Max chars of tool result kept in memory for the printed body.
|
|
64
|
+
*
|
|
65
|
+
* v0.7.3: raised from 600 to 8000. The 600-char cut happened BEFORE
|
|
66
|
+
* formatToolResult could parse the JSON envelope — truncated JSON no longer
|
|
67
|
+
* parses, so every long bash/read_file result fell back to the raw escaped
|
|
68
|
+
* envelope (the ugly boxes in the 2026-07-02 live test). Display truncation
|
|
69
|
+
* is line-based in the formatter (ZELARI_TOOL_OUTPUT_LINES); this constant is
|
|
70
|
+
* only a memory bound.
|
|
71
|
+
*/
|
|
72
|
+
export const TOOL_RESULT_PREVIEW_CHARS = 8000;
|
|
73
|
+
/** Max chars of the JSON args preview shown on the tool summary line. */
|
|
74
|
+
export const TOOL_ARGS_PREVIEW_CHARS = 120;
|
|
75
|
+
/**
|
|
76
|
+
* Register a tool invocation in `live.runningTools`. The summary (args
|
|
77
|
+
* preview) is computed once; the result body is filled in by
|
|
78
|
+
* {@link completeTool} on `tool_execution_end`.
|
|
79
|
+
*/
|
|
80
|
+
export function startTool(setLive, toolName, toolCallId, args, ts) {
|
|
81
|
+
// v0.7.1 (B2): human-readable summary instead of raw-JSON args.
|
|
82
|
+
const argsPreview = formatToolSummary(toolName, args);
|
|
83
|
+
setLive((prev) => ({
|
|
84
|
+
...prev,
|
|
85
|
+
runningTools: [
|
|
86
|
+
...prev.runningTools,
|
|
87
|
+
{
|
|
88
|
+
id: crypto.randomUUID(),
|
|
89
|
+
role: 'tool',
|
|
90
|
+
content: argsPreview,
|
|
91
|
+
ts,
|
|
92
|
+
toolName,
|
|
93
|
+
toolCallId,
|
|
94
|
+
toolOk: undefined,
|
|
95
|
+
toolDurationMs: undefined,
|
|
96
|
+
},
|
|
97
|
+
],
|
|
98
|
+
}));
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Mark a running tool as done and move it into `finalized`. Removes it from
|
|
102
|
+
* `live.runningTools` (by `toolCallId`) and appends the completed message —
|
|
103
|
+
* with its result body — to `finalized`.
|
|
104
|
+
*
|
|
105
|
+
* v0.7.3: the previous signature took a `live` snapshot (from `liveRef`) and
|
|
106
|
+
* removed by INDEX inside the functional updater. `liveRef` only updates on
|
|
107
|
+
* render, so for fast tools (start+end within one frame) the snapshot missed
|
|
108
|
+
* the just-started tool (end event dropped → tool stuck in the live region)
|
|
109
|
+
* or, with two ends in one frame, removed the WRONG element. The lookup now
|
|
110
|
+
* happens inside the `setLive` updater against the CURRENT state, keyed by
|
|
111
|
+
* toolCallId — same cross-setter pattern as {@link finalizeStreaming}.
|
|
112
|
+
*
|
|
113
|
+
* No-op if the toolCallId is unknown (defensive against duplicate end events).
|
|
114
|
+
*/
|
|
115
|
+
export function completeTool(setFinalized, setLive, toolCallId, isError, durationMs, result) {
|
|
116
|
+
setLive((prev) => {
|
|
117
|
+
const tool = prev.runningTools.find((t) => t.toolCallId === toolCallId && t.toolDurationMs === undefined);
|
|
118
|
+
if (!tool)
|
|
119
|
+
return prev;
|
|
120
|
+
const completed = {
|
|
121
|
+
...tool,
|
|
122
|
+
toolOk: !isError,
|
|
123
|
+
toolDurationMs: durationMs,
|
|
124
|
+
...(result !== undefined
|
|
125
|
+
? {
|
|
126
|
+
toolResult: result.length > TOOL_RESULT_PREVIEW_CHARS
|
|
127
|
+
? `${result.slice(0, TOOL_RESULT_PREVIEW_CHARS)}…`
|
|
128
|
+
: result,
|
|
129
|
+
}
|
|
130
|
+
: {}),
|
|
131
|
+
};
|
|
132
|
+
setFinalized((fin) => [...fin, completed]);
|
|
133
|
+
return {
|
|
134
|
+
...prev,
|
|
135
|
+
runningTools: prev.runningTools.filter((t) => t !== tool),
|
|
136
|
+
};
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=chatState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chatState.js","sourceRoot":"","sources":["../../../src/cli/hooks/chatState.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,7 +37,7 @@ export function eventsToMessages(events) {
|
|
|
37
37
|
// `tool_execution_start` and added the `args` field. The old branches
|
|
38
38
|
// here silently dropped every tool invocation during session resume.
|
|
39
39
|
// v0.6.2: restored as a `role: 'tool'` message so the resumed
|
|
40
|
-
// transcript renders
|
|
40
|
+
// transcript renders the tool box, same as the live UI.
|
|
41
41
|
assistantBuffer = '';
|
|
42
42
|
assistantId = '';
|
|
43
43
|
const argsPreview = JSON.stringify(e.args)?.slice(0, 120) ?? '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eventsToMessages.js","sourceRoot":"","sources":["../../../src/cli/hooks/eventsToMessages.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAA6B;IAC5D,MAAM,GAAG,GAAkB,EAAE,CAAC;IAC9B,IAAI,eAAe,GAAG,EAAE,CAAC;IACzB,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YAC/B,IAAI,WAAW,KAAK,EAAE;gBAAE,WAAW,GAAG,WAAW,YAAY,EAAE,EAAE,CAAC;YAClE,eAAe,IAAI,CAAC,CAAC,KAAK,CAAC;YAC3B,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACjC,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE,CAAC;gBACjE,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACvF,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACpC,mEAAmE;YACnE,yDAAyD;YACzD,eAAe,GAAG,EAAE,CAAC;YACrB,WAAW,GAAG,EAAE,CAAC;QACnB,CAAC;aAAM,IAAI,CAAC,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;YAC7C,gEAAgE;YAChE,sEAAsE;YACtE,qEAAqE;YACrE,8DAA8D;YAC9D,
|
|
1
|
+
{"version":3,"file":"eventsToMessages.js","sourceRoot":"","sources":["../../../src/cli/hooks/eventsToMessages.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { formatToolSummary } from '../components/toolFormat.js';
|
|
1
2
|
/**
|
|
2
3
|
* Helpers for building ChatMessage instances in the most common shapes.
|
|
3
4
|
*
|
|
@@ -53,17 +54,23 @@ export function appendOrExtendStreamingAssistant(setMessages, fullContent, ts, m
|
|
|
53
54
|
];
|
|
54
55
|
});
|
|
55
56
|
}
|
|
56
|
-
/**
|
|
57
|
-
|
|
57
|
+
/**
|
|
58
|
+
* Max chars of tool result kept for the body. v0.7.3: raised 600 → 8000 to
|
|
59
|
+
* match chatState.ts — the 600-char cut chopped the JSON envelope before
|
|
60
|
+
* formatToolResult could parse it, forcing the raw-escaped fallback.
|
|
61
|
+
*/
|
|
62
|
+
export const TOOL_RESULT_PREVIEW_CHARS = 8000;
|
|
58
63
|
/** Max chars of the JSON args preview shown on the tool summary line. */
|
|
59
64
|
export const TOOL_ARGS_PREVIEW_CHARS = 120;
|
|
60
65
|
/**
|
|
61
66
|
* Append a tool invocation as a `role: 'tool'` message so ChatStream renders
|
|
62
|
-
* it via
|
|
67
|
+
* it via the live region's tool rendering (one status line per invocation, updated in
|
|
63
68
|
* place by {@link updateToolMessageEnd}) instead of loose system lines.
|
|
64
69
|
*/
|
|
65
70
|
export function appendToolStart(setMessages, toolName, toolCallId, args, ts) {
|
|
66
|
-
|
|
71
|
+
// v0.7.1 (B2): human-readable summary instead of raw-JSON args (which cut
|
|
72
|
+
// mid-string like {"path":"…","content":"Scrivi una spiegazione estrema…").
|
|
73
|
+
const argsPreview = formatToolSummary(toolName, args);
|
|
67
74
|
setMessages((prev) => [
|
|
68
75
|
...prev,
|
|
69
76
|
{
|