@aexol/spectral 0.9.134 → 0.9.136
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/dist/auth-helper.d.ts +17 -1
- package/dist/auth-helper.d.ts.map +1 -1
- package/dist/auth-helper.js +27 -7
- package/dist/commands/login-oauth.js +2 -2
- package/dist/commands/login.js +2 -2
- package/dist/extensions/kanban-bridge.js +3 -3
- package/dist/sdk/agent-core/agent-loop.d.ts +8 -1
- package/dist/sdk/agent-core/agent-loop.d.ts.map +1 -1
- package/dist/sdk/agent-core/agent-loop.js +33 -0
- package/dist/sdk/coding-agent/core/agent-session.d.ts +11 -1
- package/dist/sdk/coding-agent/core/agent-session.d.ts.map +1 -1
- package/dist/sdk/coding-agent/core/agent-session.js +45 -4
- package/package.json +1 -1
package/dist/auth-helper.d.ts
CHANGED
|
@@ -21,6 +21,22 @@ export interface OAuthResult {
|
|
|
21
21
|
token?: string;
|
|
22
22
|
reason?: string;
|
|
23
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Short human-readable reason strings passed to the landing page via the
|
|
26
|
+
* `reason` URL param so the frontend can render a contextual banner above
|
|
27
|
+
* the login form (e.g. "Please authorize your CLI with your account").
|
|
28
|
+
*/
|
|
29
|
+
export declare const OAUTH_REASON: {
|
|
30
|
+
/** User ran `spectral login` and chose the browser flow. */
|
|
31
|
+
readonly LOGIN: "login";
|
|
32
|
+
/** User ran `spectral serve` / a command that needs a registered machine. */
|
|
33
|
+
readonly SERVE: "serve";
|
|
34
|
+
/** Background re-auth after a 401/403 from the backend. */
|
|
35
|
+
readonly REAUTH: "reauth";
|
|
36
|
+
/** Kanban / Studio authorization step. */
|
|
37
|
+
readonly KANBAN: "kanban";
|
|
38
|
+
};
|
|
39
|
+
export type OAuthReason = (typeof OAUTH_REASON)[keyof typeof OAUTH_REASON];
|
|
24
40
|
/**
|
|
25
41
|
* Run the OAuth browser flow to obtain a fresh JWT token.
|
|
26
42
|
*
|
|
@@ -29,7 +45,7 @@ export interface OAuthResult {
|
|
|
29
45
|
*
|
|
30
46
|
* Returns `{ ok: true, token }` on success, `{ ok: false, reason }` on failure.
|
|
31
47
|
*/
|
|
32
|
-
export declare function runOAuthFlow(apiUrl?: string, timeoutMs?: number): Promise<OAuthResult>;
|
|
48
|
+
export declare function runOAuthFlow(apiUrl?: string, timeoutMs?: number, reason?: OAuthReason): Promise<OAuthResult>;
|
|
33
49
|
/** Check if an error indicates an authentication failure (401 or 403). */
|
|
34
50
|
export declare function isAuthError(err: unknown): boolean;
|
|
35
51
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-helper.d.ts","sourceRoot":"","sources":["../src/auth-helper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,aAAa,CAAC;AAOrB,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;
|
|
1
|
+
{"version":3,"file":"auth-helper.d.ts","sourceRoot":"","sources":["../src/auth-helper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,aAAa,CAAC;AAOrB,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY;IACvB,4DAA4D;;IAE5D,6EAA6E;;IAE7E,2DAA2D;;IAE3D,0CAA0C;;CAElC,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AA8F3E;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAChC,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,GAAE,MAAyB,EACpC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,WAAW,CAAC,CAmEtB;AAMD,0EAA0E;AAC1E,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAUjD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAgErE"}
|
package/dist/auth-helper.js
CHANGED
|
@@ -15,6 +15,21 @@ import { exec } from "node:child_process";
|
|
|
15
15
|
import pc from "picocolors";
|
|
16
16
|
import { DEFAULT_API_URL, readConfig, writeConfig, } from "./config.js";
|
|
17
17
|
import { AexolMcpClient, AexolMcpError } from "./mcp-client.js";
|
|
18
|
+
/**
|
|
19
|
+
* Short human-readable reason strings passed to the landing page via the
|
|
20
|
+
* `reason` URL param so the frontend can render a contextual banner above
|
|
21
|
+
* the login form (e.g. "Please authorize your CLI with your account").
|
|
22
|
+
*/
|
|
23
|
+
export const OAUTH_REASON = {
|
|
24
|
+
/** User ran `spectral login` and chose the browser flow. */
|
|
25
|
+
LOGIN: "login",
|
|
26
|
+
/** User ran `spectral serve` / a command that needs a registered machine. */
|
|
27
|
+
SERVE: "serve",
|
|
28
|
+
/** Background re-auth after a 401/403 from the backend. */
|
|
29
|
+
REAUTH: "reauth",
|
|
30
|
+
/** Kanban / Studio authorization step. */
|
|
31
|
+
KANBAN: "kanban",
|
|
32
|
+
};
|
|
18
33
|
// ---------------------------------------------------------------------------
|
|
19
34
|
// Constants
|
|
20
35
|
// ---------------------------------------------------------------------------
|
|
@@ -102,7 +117,7 @@ function listenForCallback(timeoutMs) {
|
|
|
102
117
|
*
|
|
103
118
|
* Returns `{ ok: true, token }` on success, `{ ok: false, reason }` on failure.
|
|
104
119
|
*/
|
|
105
|
-
export async function runOAuthFlow(apiUrl, timeoutMs = OAUTH_TIMEOUT_MS) {
|
|
120
|
+
export async function runOAuthFlow(apiUrl, timeoutMs = OAUTH_TIMEOUT_MS, reason) {
|
|
106
121
|
// Load existing config to preserve teamApiKey
|
|
107
122
|
const existingCfg = await readConfig();
|
|
108
123
|
const resolvedApiUrl = apiUrl ?? existingCfg?.apiUrl ?? process.env.SPECTRAL_MCP_URL ?? DEFAULT_API_URL;
|
|
@@ -120,15 +135,20 @@ export async function runOAuthFlow(apiUrl, timeoutMs = OAUTH_TIMEOUT_MS) {
|
|
|
120
135
|
const addr = server.address();
|
|
121
136
|
const port = addr.port;
|
|
122
137
|
// Open browser to the CLI auth page
|
|
123
|
-
const authUrl = `${landingUrl}/cli-auth
|
|
138
|
+
const authUrl = new URL(`${landingUrl}/cli-auth`);
|
|
139
|
+
authUrl.searchParams.set("port", String(port));
|
|
140
|
+
if (reason) {
|
|
141
|
+
authUrl.searchParams.set("reason", reason);
|
|
142
|
+
}
|
|
143
|
+
const authUrlStr = authUrl.toString();
|
|
124
144
|
const openCmd = process.platform === "darwin"
|
|
125
|
-
? `open "${
|
|
145
|
+
? `open "${authUrlStr}"`
|
|
126
146
|
: process.platform === "win32"
|
|
127
|
-
? `start "" "${
|
|
128
|
-
: `xdg-open "${
|
|
147
|
+
? `start "" "${authUrlStr}"`
|
|
148
|
+
: `xdg-open "${authUrlStr}"`;
|
|
129
149
|
exec(openCmd, (err) => {
|
|
130
150
|
if (err) {
|
|
131
|
-
process.stderr.write(pc.yellow(`⚠ Could not open browser automatically. Please visit:\n ${
|
|
151
|
+
process.stderr.write(pc.yellow(`⚠ Could not open browser automatically. Please visit:\n ${authUrlStr}\n`));
|
|
132
152
|
}
|
|
133
153
|
});
|
|
134
154
|
const token = await tokenPromise;
|
|
@@ -229,7 +249,7 @@ export async function ensureAuthenticated() {
|
|
|
229
249
|
}
|
|
230
250
|
// No valid token — run OAuth flow
|
|
231
251
|
process.stderr.write(pc.yellow("\n🔐 Authentication required. Opening browser for Aexol Studio login...\n"));
|
|
232
|
-
const result = await runOAuthFlow(apiUrl);
|
|
252
|
+
const result = await runOAuthFlow(apiUrl, OAUTH_TIMEOUT_MS, OAUTH_REASON.REAUTH);
|
|
233
253
|
if (!result.ok) {
|
|
234
254
|
process.stderr.write(pc.red(`✗ Authentication failed: ${result.reason}\n`));
|
|
235
255
|
return { ok: false, config: existingCfg, reason: result.reason };
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import pc from "picocolors";
|
|
8
8
|
import { getConfigFile, readConfig } from "../config.js";
|
|
9
|
-
import { runOAuthFlow } from "../auth-helper.js";
|
|
9
|
+
import { runOAuthFlow, OAUTH_REASON } from "../auth-helper.js";
|
|
10
10
|
export async function runLoginOAuth() {
|
|
11
11
|
process.stdout.write(pc.bold("Spectral login (OAuth)\n"));
|
|
12
12
|
process.stdout.write(pc.dim(`Opens a browser to authorize the CLI. The JWT is stored at ${getConfigFile()}.\n\n`));
|
|
@@ -14,7 +14,7 @@ export async function runLoginOAuth() {
|
|
|
14
14
|
const existingCfg = await readConfig();
|
|
15
15
|
const apiUrl = existingCfg?.apiUrl ?? undefined;
|
|
16
16
|
process.stdout.write(pc.dim("Waiting for authorization...\n"));
|
|
17
|
-
const result = await runOAuthFlow(apiUrl);
|
|
17
|
+
const result = await runOAuthFlow(apiUrl, undefined, OAUTH_REASON.LOGIN);
|
|
18
18
|
if (!result.ok) {
|
|
19
19
|
process.stderr.write(pc.red(`✗ ${result.reason}\n`));
|
|
20
20
|
process.exit(1);
|
package/dist/commands/login.js
CHANGED
|
@@ -21,7 +21,7 @@ import { password, select } from "@inquirer/prompts";
|
|
|
21
21
|
import pc from "picocolors";
|
|
22
22
|
import { TEAM_API_KEY_PREFIX, getApiUrl, getConfigFile, validateTeamApiKey, writeConfig, } from "../config.js";
|
|
23
23
|
import { AexolMcpClient, AexolMcpError } from "../mcp-client.js";
|
|
24
|
-
import { runOAuthFlow } from "../auth-helper.js";
|
|
24
|
+
import { runOAuthFlow, OAUTH_REASON } from "../auth-helper.js";
|
|
25
25
|
/**
|
|
26
26
|
* Pure login logic. Throws `Error` with one of these stable message prefixes:
|
|
27
27
|
* - "Invalid API key prefix" — local validation failed
|
|
@@ -130,7 +130,7 @@ export async function runLogin() {
|
|
|
130
130
|
process.stdout.write(pc.dim(`Saved credentials to ${getConfigFile()}\n`));
|
|
131
131
|
// Chain OAuth for Kanban/Studio features (non-fatal — MCP tools work without it)
|
|
132
132
|
process.stdout.write(pc.dim("\nAuthorizing for Aexol Studio features (Kanban)...\n"));
|
|
133
|
-
const oauthResult = await runOAuthFlow(apiUrl);
|
|
133
|
+
const oauthResult = await runOAuthFlow(apiUrl, undefined, OAUTH_REASON.KANBAN);
|
|
134
134
|
if (oauthResult.ok) {
|
|
135
135
|
process.stdout.write(pc.green("✓ CLI authorized for Studio/Kanban.\n"));
|
|
136
136
|
}
|
|
@@ -187,7 +187,7 @@ async function deleteKanbanTask(opts, taskId) {
|
|
|
187
187
|
// ---------------------------------------------------------------------------
|
|
188
188
|
import { getApiUrl, getConfigFile, readConfig } from "../config.js";
|
|
189
189
|
import { readStudioBinding } from "../studio-binding.js";
|
|
190
|
-
import { ensureAuthenticated, runOAuthFlow } from "../auth-helper.js";
|
|
190
|
+
import { ensureAuthenticated, runOAuthFlow, OAUTH_REASON } from "../auth-helper.js";
|
|
191
191
|
import { loadMachine } from "../relay/machine-store.js";
|
|
192
192
|
import { isJwtExpired } from "../relay/registration.js";
|
|
193
193
|
import { stat } from "node:fs/promises";
|
|
@@ -241,7 +241,7 @@ async function resolveKanbanConfig(explicitProjectId, cwd) {
|
|
|
241
241
|
if (cfg.teamApiKey && !cfg.userJwt && !_reauthAttempted) {
|
|
242
242
|
_reauthAttempted = true;
|
|
243
243
|
process.stderr.write(`[kanban-bridge] Team API key found but no user JWT. Kanban requires user auth — obtaining via OAuth...\n`);
|
|
244
|
-
const oauthResult = await runOAuthFlow();
|
|
244
|
+
const oauthResult = await runOAuthFlow(undefined, undefined, OAUTH_REASON.KANBAN);
|
|
245
245
|
if (oauthResult.ok) {
|
|
246
246
|
return resolveKanbanConfig(explicitProjectId, cwd); // Retry with fresh config (now has userJwt)
|
|
247
247
|
}
|
|
@@ -789,7 +789,7 @@ function withReauthRetry(toolName, execute) {
|
|
|
789
789
|
}
|
|
790
790
|
_reauthAttempted = true;
|
|
791
791
|
process.stderr.write(`[kanban-bridge] Auth error (${err.status}) on ${toolName}. Attempting OAuth re-login...\n`);
|
|
792
|
-
const oauthResult = await runOAuthFlow();
|
|
792
|
+
const oauthResult = await runOAuthFlow(undefined, undefined, OAUTH_REASON.REAUTH);
|
|
793
793
|
if (oauthResult.ok) {
|
|
794
794
|
process.stderr.write(`[kanban-bridge] Re-authenticated — retrying ${toolName}...\n`);
|
|
795
795
|
// Reset reauth flag so resolveKanbanConfig can use the fresh token
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Transforms to Message[] only at the LLM call boundary.
|
|
4
4
|
*/
|
|
5
5
|
import { EventStream } from "../ai/index.js";
|
|
6
|
-
import type { AgentContext, AgentEvent, AgentLoopConfig, AgentMessage, StreamFn } from "./types.js";
|
|
6
|
+
import type { AgentContext, AgentEvent, AgentLoopConfig, AgentMessage, AgentTool, AgentToolCall, StreamFn } from "./types.js";
|
|
7
7
|
export type AgentEventSink = (event: AgentEvent) => Promise<void> | void;
|
|
8
8
|
/**
|
|
9
9
|
* Start an agent loop with a new prompt message.
|
|
@@ -21,4 +21,11 @@ export declare function agentLoop(prompts: AgentMessage[], context: AgentContext
|
|
|
21
21
|
export declare function agentLoopContinue(context: AgentContext, config: AgentLoopConfig, signal?: AbortSignal, streamFn?: StreamFn): EventStream<AgentEvent, AgentMessage[]>;
|
|
22
22
|
export declare function runAgentLoop(prompts: AgentMessage[], context: AgentContext, config: AgentLoopConfig, emit: AgentEventSink, signal?: AbortSignal, streamFn?: StreamFn): Promise<AgentMessage[]>;
|
|
23
23
|
export declare function runAgentLoopContinue(context: AgentContext, config: AgentLoopConfig, emit: AgentEventSink, signal?: AbortSignal, streamFn?: StreamFn): Promise<AgentMessage[]>;
|
|
24
|
+
/**
|
|
25
|
+
* Detects whether a tool call is missing any required parameter, indicating the
|
|
26
|
+
* provider truncated the response before the tool arguments were fully emitted.
|
|
27
|
+
* Used together with `stopReason === "length"` to short-circuit tool validation
|
|
28
|
+
* (which would otherwise throw `Validation failed ... You provided: {}`).
|
|
29
|
+
*/
|
|
30
|
+
export declare function hasMissingRequiredArguments(tool: AgentTool<any>, toolCall: AgentToolCall): boolean;
|
|
24
31
|
//# sourceMappingURL=agent-loop.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-loop.d.ts","sourceRoot":"","sources":["../../../src/sdk/agent-core/agent-loop.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAGL,WAAW,EAIZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,eAAe,EACf,YAAY,
|
|
1
|
+
{"version":3,"file":"agent-loop.d.ts","sourceRoot":"","sources":["../../../src/sdk/agent-core/agent-loop.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAGL,WAAW,EAIZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,eAAe,EACf,YAAY,EACZ,SAAS,EACT,aAAa,EAEb,QAAQ,EACT,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAYzE;;;GAGG;AACH,wBAAgB,SAAS,CACvB,OAAO,EAAE,YAAY,EAAE,EACvB,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,eAAe,EACvB,MAAM,CAAC,EAAE,WAAW,EACpB,QAAQ,CAAC,EAAE,QAAQ,GAClB,WAAW,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC,CA2BzC;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,eAAe,EACvB,MAAM,CAAC,EAAE,WAAW,EACpB,QAAQ,CAAC,EAAE,QAAQ,GAClB,WAAW,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC,CAkCzC;AAED,wBAAsB,YAAY,CAChC,OAAO,EAAE,YAAY,EAAE,EACvB,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,cAAc,EACpB,MAAM,CAAC,EAAE,WAAW,EACpB,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC,YAAY,EAAE,CAAC,CAgBzB;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,cAAc,EACpB,MAAM,CAAC,EAAE,WAAW,EACpB,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC,YAAY,EAAE,CAAC,CAiBzB;AA2tBD;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,aAAa,GAAG,OAAO,CAYlG"}
|
|
@@ -469,6 +469,20 @@ async function prepareToolCall(currentContext, assistantMessage, toolCall, confi
|
|
|
469
469
|
isError: true,
|
|
470
470
|
};
|
|
471
471
|
}
|
|
472
|
+
// If the provider truncated the response mid tool-call (stopReason "length"),
|
|
473
|
+
// the streaming JSON parser may have produced an empty or incomplete arguments
|
|
474
|
+
// object. Validating it would surface a raw `Validation failed ... You provided:
|
|
475
|
+
// {}` error to the model. Instead, return a soft error so the agent-session
|
|
476
|
+
// length-continuation path (which treats truncated tool calls as visible output)
|
|
477
|
+
// can resubmit and let the model re-emit the full tool call.
|
|
478
|
+
if (assistantMessage.stopReason === "length" && hasMissingRequiredArguments(tool, toolCall)) {
|
|
479
|
+
return {
|
|
480
|
+
kind: "immediate",
|
|
481
|
+
result: createErrorToolResult(`Tool "${toolCall.name}" was truncated before its arguments were fully emitted. ` +
|
|
482
|
+
`Retrying: please re-emit the complete tool call with all required parameters.`),
|
|
483
|
+
isError: true,
|
|
484
|
+
};
|
|
485
|
+
}
|
|
472
486
|
try {
|
|
473
487
|
const preparedToolCall = prepareToolCallArguments(tool, toolCall);
|
|
474
488
|
const validatedArgs = validateToolArguments(tool, preparedToolCall);
|
|
@@ -578,6 +592,25 @@ function createErrorToolResult(message) {
|
|
|
578
592
|
details: {},
|
|
579
593
|
};
|
|
580
594
|
}
|
|
595
|
+
/**
|
|
596
|
+
* Detects whether a tool call is missing any required parameter, indicating the
|
|
597
|
+
* provider truncated the response before the tool arguments were fully emitted.
|
|
598
|
+
* Used together with `stopReason === "length"` to short-circuit tool validation
|
|
599
|
+
* (which would otherwise throw `Validation failed ... You provided: {}`).
|
|
600
|
+
*/
|
|
601
|
+
export function hasMissingRequiredArguments(tool, toolCall) {
|
|
602
|
+
const schema = tool.parameters;
|
|
603
|
+
const required = schema.required;
|
|
604
|
+
if (!Array.isArray(required) || required.length === 0)
|
|
605
|
+
return false;
|
|
606
|
+
const args = toolCall.arguments;
|
|
607
|
+
if (!args || typeof args !== "object")
|
|
608
|
+
return true;
|
|
609
|
+
return required.some((key) => !(key in args) ||
|
|
610
|
+
args[key] === undefined ||
|
|
611
|
+
args[key] === null ||
|
|
612
|
+
(typeof args[key] === "string" && args[key].trim() === ""));
|
|
613
|
+
}
|
|
581
614
|
async function emitToolExecutionEnd(finalized, emit) {
|
|
582
615
|
await emit({
|
|
583
616
|
type: "tool_execution_end",
|
|
@@ -79,7 +79,7 @@ export type AgentSessionEvent = Exclude<AgentEvent, {
|
|
|
79
79
|
} | {
|
|
80
80
|
type: "length_continuation";
|
|
81
81
|
status: "queued" | "skipped";
|
|
82
|
-
reason: "length_stop" | "empty_output" | "context_overflow" | "max_attempts" | "budget_exhausted";
|
|
82
|
+
reason: "length_stop" | "empty_output" | "context_overflow" | "max_attempts" | "budget_exhausted" | "truncated_tool_call";
|
|
83
83
|
attempt: number;
|
|
84
84
|
maxAttempts: number;
|
|
85
85
|
outputTokens: number;
|
|
@@ -213,6 +213,7 @@ export declare class AgentSession {
|
|
|
213
213
|
private _retryAbortController;
|
|
214
214
|
private _retryAttempt;
|
|
215
215
|
private _lengthContinuationAttempts;
|
|
216
|
+
private _lastLengthContinuationReason;
|
|
216
217
|
private _lengthContinuationOutputTokens;
|
|
217
218
|
private _pendingInternalLengthContinuationMessages;
|
|
218
219
|
private _internalLengthContinuationUserMessages;
|
|
@@ -364,6 +365,15 @@ export declare class AgentSession {
|
|
|
364
365
|
private _getAssistantOutputTokens;
|
|
365
366
|
private _emitLengthContinuationEvent;
|
|
366
367
|
private _assistantMessageHasVisibleOutput;
|
|
368
|
+
/**
|
|
369
|
+
* Detects a tool call truncated by max_tokens before its arguments were fully
|
|
370
|
+
* emitted. When the provider cuts off mid input_json_delta the streaming JSON
|
|
371
|
+
* parser yields an empty or incomplete arguments object, which would otherwise
|
|
372
|
+
* fail tool validation with `Validation failed ... You provided: {}`.
|
|
373
|
+
* Treating this as visible output lets the length-stop continuation path
|
|
374
|
+
* resubmit so the model can re-emit the full tool call.
|
|
375
|
+
*/
|
|
376
|
+
private _assistantMessageHasTruncatedToolCall;
|
|
367
377
|
private _queueInternalLengthContinuation;
|
|
368
378
|
/**
|
|
369
379
|
* Send a prompt to the agent.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-session.d.ts","sourceRoot":"","sources":["../../../../src/sdk/coding-agent/core/agent-session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-session.d.ts","sourceRoot":"","sources":["../../../../src/sdk/coding-agent/core/agent-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -179,6 +179,7 @@ export class AgentSession {
|
|
|
179
179
|
_retryAbortController = undefined;
|
|
180
180
|
_retryAttempt = 0;
|
|
181
181
|
_lengthContinuationAttempts = 0;
|
|
182
|
+
_lastLengthContinuationReason;
|
|
182
183
|
_lengthContinuationOutputTokens = 0;
|
|
183
184
|
_pendingInternalLengthContinuationMessages = 0;
|
|
184
185
|
_internalLengthContinuationUserMessages = new WeakSet();
|
|
@@ -833,7 +834,7 @@ export class AgentSession {
|
|
|
833
834
|
this._retryAttempt = 0;
|
|
834
835
|
}
|
|
835
836
|
if (this._shouldAutoContinueLengthStop(msg)) {
|
|
836
|
-
this._queueInternalLengthContinuation(this._getAssistantOutputTokens(msg));
|
|
837
|
+
this._queueInternalLengthContinuation(this._getAssistantOutputTokens(msg), this._lastLengthContinuationReason);
|
|
837
838
|
return true;
|
|
838
839
|
}
|
|
839
840
|
return await this._checkCompaction(msg);
|
|
@@ -853,20 +854,27 @@ export class AgentSession {
|
|
|
853
854
|
const contextWindow = this.model?.contextWindow ?? 0;
|
|
854
855
|
if (isContextOverflow(message, contextWindow)) {
|
|
855
856
|
this._emitLengthContinuationEvent("skipped", "context_overflow", outputTokens, policy);
|
|
857
|
+
this._lastLengthContinuationReason = undefined;
|
|
856
858
|
return false;
|
|
857
859
|
}
|
|
858
|
-
|
|
860
|
+
const truncatedToolCall = this._assistantMessageHasTruncatedToolCall(message);
|
|
861
|
+
const hasVisibleOutput = this._assistantMessageHasVisibleOutput(message) || truncatedToolCall;
|
|
862
|
+
if (outputTokens <= 0 || !hasVisibleOutput) {
|
|
859
863
|
this._emitLengthContinuationEvent("skipped", "empty_output", outputTokens, policy);
|
|
864
|
+
this._lastLengthContinuationReason = undefined;
|
|
860
865
|
return false;
|
|
861
866
|
}
|
|
862
867
|
if (this._lengthContinuationAttempts >= policy.maxAttempts) {
|
|
863
868
|
this._emitLengthContinuationEvent("skipped", "max_attempts", outputTokens, policy);
|
|
869
|
+
this._lastLengthContinuationReason = undefined;
|
|
864
870
|
return false;
|
|
865
871
|
}
|
|
866
872
|
if (this._lengthContinuationOutputTokens >= policy.totalOutputTokenBudget) {
|
|
867
873
|
this._emitLengthContinuationEvent("skipped", "budget_exhausted", outputTokens, policy);
|
|
874
|
+
this._lastLengthContinuationReason = undefined;
|
|
868
875
|
return false;
|
|
869
876
|
}
|
|
877
|
+
this._lastLengthContinuationReason = truncatedToolCall ? "truncated_tool_call" : undefined;
|
|
870
878
|
return true;
|
|
871
879
|
}
|
|
872
880
|
_getAssistantOutputTokens(message) {
|
|
@@ -893,10 +901,43 @@ export class AgentSession {
|
|
|
893
901
|
return part.text.trim().length > 0;
|
|
894
902
|
if (part.type === "thinking")
|
|
895
903
|
return part.thinking.trim().length > 0;
|
|
904
|
+
// A tool call (even fully formed) counts as visible output: if the provider
|
|
905
|
+
// stopped at "length" right after emitting it, continuation lets the model
|
|
906
|
+
// finish any remaining intended text/tool calls.
|
|
907
|
+
if (part.type === "toolCall")
|
|
908
|
+
return true;
|
|
909
|
+
return false;
|
|
910
|
+
});
|
|
911
|
+
}
|
|
912
|
+
/**
|
|
913
|
+
* Detects a tool call truncated by max_tokens before its arguments were fully
|
|
914
|
+
* emitted. When the provider cuts off mid input_json_delta the streaming JSON
|
|
915
|
+
* parser yields an empty or incomplete arguments object, which would otherwise
|
|
916
|
+
* fail tool validation with `Validation failed ... You provided: {}`.
|
|
917
|
+
* Treating this as visible output lets the length-stop continuation path
|
|
918
|
+
* resubmit so the model can re-emit the full tool call.
|
|
919
|
+
*/
|
|
920
|
+
_assistantMessageHasTruncatedToolCall(message) {
|
|
921
|
+
if (message.stopReason !== "length")
|
|
896
922
|
return false;
|
|
923
|
+
return message.content.some((part) => {
|
|
924
|
+
if (part.type !== "toolCall")
|
|
925
|
+
return false;
|
|
926
|
+
const args = part.arguments;
|
|
927
|
+
// Empty arguments object => the provider cut off before emitting any JSON.
|
|
928
|
+
if (!args || typeof args !== "object")
|
|
929
|
+
return true;
|
|
930
|
+
const keys = Object.keys(args);
|
|
931
|
+
if (keys.length === 0)
|
|
932
|
+
return true;
|
|
933
|
+
// All values empty/blank => the arguments were only partially emitted.
|
|
934
|
+
return keys.every((key) => {
|
|
935
|
+
const value = args[key];
|
|
936
|
+
return value === undefined || value === null || (typeof value === "string" && value.trim() === "");
|
|
937
|
+
});
|
|
897
938
|
});
|
|
898
939
|
}
|
|
899
|
-
_queueInternalLengthContinuation(outputTokens = 0) {
|
|
940
|
+
_queueInternalLengthContinuation(outputTokens = 0, reason) {
|
|
900
941
|
const policy = this._getCompactionPolicy().truncationContinuation;
|
|
901
942
|
this._lengthContinuationAttempts++;
|
|
902
943
|
this.agent.followUp({
|
|
@@ -905,7 +946,7 @@ export class AgentSession {
|
|
|
905
946
|
timestamp: Date.now(),
|
|
906
947
|
});
|
|
907
948
|
this._pendingInternalLengthContinuationMessages++;
|
|
908
|
-
this._emitLengthContinuationEvent("queued", "length_stop", outputTokens, policy);
|
|
949
|
+
this._emitLengthContinuationEvent("queued", reason ?? "length_stop", outputTokens, policy);
|
|
909
950
|
}
|
|
910
951
|
/**
|
|
911
952
|
* Send a prompt to the agent.
|