@aexol/spectral 0.9.155 → 0.9.157
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/cli.js +5 -13
- package/dist/commands/serve.d.ts.map +1 -1
- package/dist/commands/serve.js +8 -20
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +6 -15
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/mcp/direct-tools.js +1 -1
- package/dist/memory/tool-output-compressor.d.ts +1 -1
- package/dist/memory/tool-output-compressor.d.ts.map +1 -1
- package/dist/memory/tool-output-compressor.js +1 -32
- package/dist/relay/dispatcher.d.ts.map +1 -1
- package/dist/relay/dispatcher.js +7 -1
- package/dist/sdk/agent-core/types.d.ts +1 -1
- package/dist/sdk/ai/env-api-keys.d.ts.map +1 -1
- package/dist/sdk/ai/env-api-keys.js +0 -3
- package/dist/sdk/ai/models.generated.d.ts +0 -515
- package/dist/sdk/ai/models.generated.d.ts.map +1 -1
- package/dist/sdk/ai/models.generated.js +0 -361
- package/dist/sdk/ai/providers/anthropic.d.ts.map +1 -1
- package/dist/sdk/ai/providers/anthropic.js +2 -26
- package/dist/sdk/ai/providers/openai-completions.d.ts.map +1 -1
- package/dist/sdk/ai/providers/openai-completions.js +0 -9
- package/dist/sdk/ai/types.d.ts +1 -1
- package/dist/sdk/ai/types.d.ts.map +1 -1
- package/dist/sdk/ai/utils/oauth/index.d.ts +0 -2
- package/dist/sdk/ai/utils/oauth/index.d.ts.map +1 -1
- package/dist/sdk/ai/utils/oauth/index.js +0 -5
- package/dist/sdk/ai/utils/overflow.d.ts.map +1 -1
- package/dist/sdk/ai/utils/overflow.js +1 -2
- package/dist/sdk/coding-agent/config.d.ts.map +1 -1
- package/dist/sdk/coding-agent/config.js +2 -1
- package/dist/sdk/coding-agent/core/extensions/index.d.ts +2 -2
- package/dist/sdk/coding-agent/core/extensions/index.d.ts.map +1 -1
- package/dist/sdk/coding-agent/core/extensions/index.js +1 -1
- package/dist/sdk/coding-agent/core/extensions/types.d.ts +3 -13
- package/dist/sdk/coding-agent/core/extensions/types.d.ts.map +1 -1
- package/dist/sdk/coding-agent/core/extensions/types.js +0 -3
- package/dist/sdk/coding-agent/core/model-resolver.d.ts.map +1 -1
- package/dist/sdk/coding-agent/core/model-resolver.js +0 -1
- package/dist/sdk/coding-agent/core/sdk.d.ts +2 -2
- package/dist/sdk/coding-agent/core/sdk.d.ts.map +1 -1
- package/dist/sdk/coding-agent/core/sdk.js +2 -2
- package/dist/sdk/coding-agent/core/system-prompt.d.ts.map +1 -1
- package/dist/sdk/coding-agent/core/system-prompt.js +2 -4
- package/dist/sdk/coding-agent/core/tools/bash-blocklist.js +1 -1
- package/dist/sdk/coding-agent/core/tools/index.d.ts +1 -4
- package/dist/sdk/coding-agent/core/tools/index.d.ts.map +1 -1
- package/dist/sdk/coding-agent/core/tools/index.js +0 -11
- package/dist/sdk/coding-agent/index.d.ts +4 -4
- package/dist/sdk/coding-agent/index.d.ts.map +1 -1
- package/dist/sdk/coding-agent/index.js +3 -3
- package/dist/server/storage.d.ts +18 -0
- package/dist/server/storage.d.ts.map +1 -1
- package/dist/server/storage.js +47 -0
- package/dist/version.d.ts +4 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +88 -0
- package/package.json +1 -1
- package/dist/sdk/ai/providers/github-copilot-headers.d.ts +0 -8
- package/dist/sdk/ai/providers/github-copilot-headers.d.ts.map +0 -1
- package/dist/sdk/ai/providers/github-copilot-headers.js +0 -28
- package/dist/sdk/ai/utils/oauth/github-copilot.d.ts +0 -30
- package/dist/sdk/ai/utils/oauth/github-copilot.d.ts.map +0 -1
- package/dist/sdk/ai/utils/oauth/github-copilot.js +0 -270
- package/dist/sdk/coding-agent/core/tools/find.d.ts +0 -35
- package/dist/sdk/coding-agent/core/tools/find.d.ts.map +0 -1
- package/dist/sdk/coding-agent/core/tools/find.js +0 -343
package/dist/cli.js
CHANGED
|
@@ -13,20 +13,12 @@
|
|
|
13
13
|
* - `spectral --version` / `--help` → branded short-circuits, no auth needed.
|
|
14
14
|
* - anything else → error with usage hint.
|
|
15
15
|
*/
|
|
16
|
-
import {
|
|
17
|
-
import { dirname, resolve } from "node:path";
|
|
18
|
-
import { fileURLToPath } from "node:url";
|
|
19
|
-
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
16
|
+
import { getVersion } from "./version.js";
|
|
20
17
|
// ---- Read our own version ----------------------------------------------------
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
VERSION = pkg.version;
|
|
26
|
-
}
|
|
27
|
-
catch {
|
|
28
|
-
// Standalone Bun binaries do not carry the source package.json.
|
|
29
|
-
}
|
|
18
|
+
// Centralized in src/version.ts so the standalone Bun binary, the npm
|
|
19
|
+
// install, and the electron app all resolve the same real version instead of
|
|
20
|
+
// silently falling back to "0.0.0".
|
|
21
|
+
const VERSION = getVersion();
|
|
30
22
|
const TAGLINE = "Coding agent that never sleeps";
|
|
31
23
|
// ---- Branded helpers ---------------------------------------------------------
|
|
32
24
|
function printVersion() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;
|
|
1
|
+
{"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAwBH,OAAO,EAAE,WAAW,EAAmB,MAAM,oBAAoB,CAAC;AAWlE,OAAO,KAAK,EAAE,aAAa,EAAc,MAAM,6BAA6B,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAGnE,OAAO,EAAmB,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAWrE;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAazD;AAED,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,eAAe,CA6B9D;AAED,MAAM,WAAW,eAAe;IAC9B,iEAAiE;IACjE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,uCAAuC;IACvC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,4CAA4C;IAC5C,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,+DAA+D;IAC/D,aAAa,CAAC,EAAE,qBAAqB,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;CAC/E;AAED,MAAM,WAAW,cAAc;IAC7B,qCAAqC;IACrC,KAAK,EAAE,YAAY,CAAC;IACpB,wDAAwD;IACxD,OAAO,EAAE,oBAAoB,CAAC;IAC9B,4CAA4C;IAC5C,KAAK,EAAE,WAAW,CAAC;IACnB,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,wBAAsB,QAAQ,CAAC,IAAI,GAAE,eAAoB,GAAG,OAAO,CAAC,cAAc,CAAC,CAmelF;AA+DD;;;GAGG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAa5E"}
|
package/dist/commands/serve.js
CHANGED
|
@@ -27,10 +27,8 @@
|
|
|
27
27
|
* `relayUrlOverride` + `fetchImpl` + `webSocketImpl` to point at an
|
|
28
28
|
* in-process fake backend.
|
|
29
29
|
*/
|
|
30
|
-
import { readFileSync } from "node:fs";
|
|
31
30
|
import { hostname } from "node:os";
|
|
32
|
-
import {
|
|
33
|
-
import { fileURLToPath } from "node:url";
|
|
31
|
+
import { join } from "node:path";
|
|
34
32
|
import { getConfigDir } from "../config.js";
|
|
35
33
|
import { readStudioBinding } from "../studio-binding.js";
|
|
36
34
|
import { NATIVE_EXTENSIONS, buildNativeExtensionsInfo } from "../sdk/coding-agent/core/extensions/native-extensions.js";
|
|
@@ -46,24 +44,14 @@ import { SessionStreamManager } from "../server/session-stream.js";
|
|
|
46
44
|
import { gracefulShutdown } from "../server/shutdown.js";
|
|
47
45
|
import { getLiveMcpState } from "../mcp/state-getter.js";
|
|
48
46
|
import { preflightSqlite, SessionStore } from "../server/storage.js";
|
|
49
|
-
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
50
47
|
/** Default backend base URL when neither env nor override is set. */
|
|
51
48
|
const DEFAULT_BACKEND_URL = "https://api.aexol.ai";
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
try {
|
|
59
|
-
const pkgPath = resolve(__dirname, "..", "..", "package.json");
|
|
60
|
-
const pkg = JSON.parse(readFileSync(pkgPath, "utf8"));
|
|
61
|
-
return pkg.version;
|
|
62
|
-
}
|
|
63
|
-
catch {
|
|
64
|
-
return process.env.npm_package_version ?? "0.0.0";
|
|
65
|
-
}
|
|
66
|
-
}
|
|
49
|
+
import { getVersion } from "../version.js";
|
|
50
|
+
// CLI version is resolved centrally via getVersion() (see src/version.ts):
|
|
51
|
+
// env override → package.json read → "0.0.0". For standalone Bun binaries the
|
|
52
|
+
// version is also inlined at compile time via `bun build --define` in
|
|
53
|
+
// build-standalone.sh, so the relay always receives the real version instead
|
|
54
|
+
// of falling back to "0.0.0".
|
|
67
55
|
/**
|
|
68
56
|
* Translate a backend HTTP(S) base URL to the relay WS(S) URL.
|
|
69
57
|
* `http://x:y` → `ws://x:y/agent-connection`
|
|
@@ -130,7 +118,7 @@ export function parseServeArgs(args) {
|
|
|
130
118
|
export async function runServe(opts = {}) {
|
|
131
119
|
const cfg = await requireLogin();
|
|
132
120
|
const cwd = opts.cwd ?? process.cwd();
|
|
133
|
-
const version =
|
|
121
|
+
const version = getVersion();
|
|
134
122
|
const installSignalHandlers = opts.installSignalHandlers ?? true;
|
|
135
123
|
const silent = opts.silent ?? false;
|
|
136
124
|
const dbPath = opts.dbPath ?? join(getConfigDir(), "sessions.db");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AA2NH;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA8H7D"}
|
package/dist/commands/update.js
CHANGED
|
@@ -10,28 +10,19 @@
|
|
|
10
10
|
*/
|
|
11
11
|
import { createHash } from "node:crypto";
|
|
12
12
|
import { chmod, mkdtemp, rename, rm, stat, writeFile, } from "node:fs/promises";
|
|
13
|
-
import { readFileSync } from "node:fs";
|
|
14
13
|
import { tmpdir } from "node:os";
|
|
15
|
-
import { basename, dirname, join
|
|
16
|
-
import { fileURLToPath } from "node:url";
|
|
14
|
+
import { basename, dirname, join } from "node:path";
|
|
17
15
|
import pc from "picocolors";
|
|
18
|
-
|
|
16
|
+
import { getVersion } from "../version.js";
|
|
19
17
|
/** Base URL for the Aexol release manifest / binary downloads. */
|
|
20
18
|
const RELEASE_BASE = "https://api.aexol.ai/api/releases/download";
|
|
21
19
|
/**
|
|
22
|
-
* Resolve the current CLI version
|
|
23
|
-
*
|
|
24
|
-
*
|
|
20
|
+
* Resolve the current CLI version via the centralized getVersion() helper
|
|
21
|
+
* (src/version.ts), which works for npm install, standalone Bun binaries, and
|
|
22
|
+
* the Electron app — all of which previously fell back to "0.0.0".
|
|
25
23
|
*/
|
|
26
24
|
function currentVersion() {
|
|
27
|
-
|
|
28
|
-
const pkgPath = resolve(__dirname, "..", "package.json");
|
|
29
|
-
const pkg = JSON.parse(readFileSync(pkgPath, "utf8"));
|
|
30
|
-
return pkg.version;
|
|
31
|
-
}
|
|
32
|
-
catch {
|
|
33
|
-
return process.env.npm_package_version ?? "0.0.0";
|
|
34
|
-
}
|
|
25
|
+
return getVersion();
|
|
35
26
|
}
|
|
36
27
|
/**
|
|
37
28
|
* Compare two semver-ish version strings (e.g. "1.2.3", "v1.2.3").
|
package/dist/index.d.ts
CHANGED
|
@@ -35,12 +35,12 @@
|
|
|
35
35
|
* ```
|
|
36
36
|
*/
|
|
37
37
|
export type { ExtensionAPI, ToolDefinition } from "./sdk/coding-agent/index.js";
|
|
38
|
-
export type { AfterProviderResponseEvent, AgentEndEvent, AgentStartEvent, BashToolCallEvent, BashToolResultEvent, BeforeAgentStartEvent, BeforeProviderRequestEvent, ContextEvent, CustomToolCallEvent, CustomToolResultEvent, EditToolCallEvent, EditToolResultEvent, ExtensionEvent,
|
|
38
|
+
export type { AfterProviderResponseEvent, AgentEndEvent, AgentStartEvent, BashToolCallEvent, BashToolResultEvent, BeforeAgentStartEvent, BeforeProviderRequestEvent, ContextEvent, CustomToolCallEvent, CustomToolResultEvent, EditToolCallEvent, EditToolResultEvent, ExtensionEvent, GrepToolCallEvent, GrepToolResultEvent, InputEvent, LsToolCallEvent, LsToolResultEvent, MessageEndEvent, MessageStartEvent, MessageUpdateEvent, ModelSelectEvent, ReadToolCallEvent, ReadToolResultEvent, ResourcesDiscoverEvent, SessionBeforeCompactEvent, SessionBeforeForkEvent, SessionBeforeSwitchEvent, SessionBeforeTreeEvent, SessionCompactEvent, SessionEvent, SessionShutdownEvent, SessionStartEvent, SessionTreeEvent, ToolCallEvent, ToolExecutionEndEvent, ToolExecutionStartEvent, ToolExecutionUpdateEvent, ToolResultEvent, TurnEndEvent, TurnStartEvent, UserBashEvent, WriteToolCallEvent, WriteToolResultEvent, } from "./sdk/coding-agent/index.js";
|
|
39
39
|
export type { BeforeAgentStartEventResult, BeforeProviderRequestEventResult, ContextEventResult, InputEventResult, ResourcesDiscoverResult, SessionBeforeCompactResult, SessionBeforeForkResult, SessionBeforeSwitchResult, SessionBeforeTreeResult, ToolCallEventResult, UserBashEventResult, } from "./sdk/coding-agent/index.js";
|
|
40
40
|
export type { ExtensionCommandContext, ExtensionContext, ReplacedSessionContext, } from "./sdk/coding-agent/index.js";
|
|
41
41
|
export type { ProviderConfig, ProviderModelConfig, } from "./sdk/coding-agent/index.js";
|
|
42
42
|
export { defineTool } from "./sdk/coding-agent/index.js";
|
|
43
|
-
export { isBashToolResult, isEditToolResult,
|
|
43
|
+
export { isBashToolResult, isEditToolResult, isGrepToolResult, isLsToolResult, isReadToolResult, isToolCallEventType, isWriteToolResult, } from "./sdk/coding-agent/index.js";
|
|
44
44
|
export type { AgentToolResult, AgentToolUpdateCallback, BuildSystemPromptOptions, CompactOptions, ExecOptions, ExecResult, InputSource, ToolExecutionMode, } from "./sdk/coding-agent/index.js";
|
|
45
45
|
export type { Extension, ExtensionActions, ExtensionError, ExtensionFactory, ExtensionFlag, ExtensionHandler, ExtensionRuntime, ExtensionShortcut, ExtensionUIContext, LoadExtensionsResult, RegisteredCommand, RegisteredTool, ResolvedCommand, ToolInfo, } from "./sdk/coding-agent/index.js";
|
|
46
46
|
export { agentLoop, agentLoopContinue, } from "./sdk/agent-core/index.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAMH,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAMhF,YAAY,EACV,0BAA0B,EAC1B,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAC1B,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAMH,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAMhF,YAAY,EACV,0BAA0B,EAC1B,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAC1B,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,EACnB,YAAY,EACZ,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,eAAe,EACf,YAAY,EACZ,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AAMrC,YAAY,EACV,2BAA2B,EAC3B,gCAAgC,EAChC,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,EACvB,yBAAyB,EACzB,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,6BAA6B,CAAC;AAMrC,YAAY,EACV,uBAAuB,EACvB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,6BAA6B,CAAC;AAMrC,YAAY,EACV,cAAc,EACd,mBAAmB,GACpB,MAAM,6BAA6B,CAAC;AAMrC,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAMzD,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AAMrC,YAAY,EACV,eAAe,EACf,uBAAuB,EACvB,wBAAwB,EACxB,cAAc,EACd,WAAW,EACX,UAAU,EACV,WAAW,EACX,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AAMrC,YAAY,EACV,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,QAAQ,GACT,MAAM,6BAA6B,CAAC;AAKrC,OAAO,EACL,SAAS,EACT,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,YAAY,EACZ,UAAU,EACV,eAAe,EACf,YAAY,EACZ,SAAS,EACT,aAAa,EACb,QAAQ,GACT,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,EACZ,OAAO,EACP,KAAK,EACL,WAAW,EACX,eAAe,EACf,QAAQ,EACR,iBAAiB,GAClB,MAAM,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -41,7 +41,7 @@ export { defineTool } from "./sdk/coding-agent/index.js";
|
|
|
41
41
|
// ---------------------------------------------------------------------------
|
|
42
42
|
// Type guards for tool result events.
|
|
43
43
|
// ---------------------------------------------------------------------------
|
|
44
|
-
export { isBashToolResult, isEditToolResult,
|
|
44
|
+
export { isBashToolResult, isEditToolResult, isGrepToolResult, isLsToolResult, isReadToolResult, isToolCallEventType, isWriteToolResult, } from "./sdk/coding-agent/index.js";
|
|
45
45
|
// Native agent loop — exposed so extensions can drive the host model in-process
|
|
46
46
|
// (e.g. the changelog_describe tool) instead of shelling out to a child script
|
|
47
47
|
// with a hardcoded provider call.
|
package/dist/mcp/direct-tools.js
CHANGED
|
@@ -7,7 +7,7 @@ import { formatToolName, isToolExcluded } from "./types.js";
|
|
|
7
7
|
import { resourceNameToToolName } from "./resource-tools.js";
|
|
8
8
|
import { authenticate, supportsOAuth } from "./mcp-auth-flow.js";
|
|
9
9
|
import { formatAuthRequiredMessage } from "./utils.js";
|
|
10
|
-
const BUILTIN_NAMES = new Set(["read", "bash", "edit", "write", "grep", "
|
|
10
|
+
const BUILTIN_NAMES = new Set(["read", "bash", "edit", "write", "grep", "ls", "mcp"]);
|
|
11
11
|
function getDirectAuthRequiredMessage(state, serverName, defaultMessage = `MCP server "${serverName}" requires OAuth authentication. Run /mcp-auth ${serverName} first.`) {
|
|
12
12
|
return formatAuthRequiredMessage(state.config, serverName, defaultMessage);
|
|
13
13
|
}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* - Shell: remove ANSI escape codes, carriage returns
|
|
16
16
|
*
|
|
17
17
|
* 2. GROUPING — aggregate similar items
|
|
18
|
-
* - ls
|
|
18
|
+
* - ls: group files by directory
|
|
19
19
|
* - grep/rg: group matches by file, collapse repeated patterns
|
|
20
20
|
* - Lint errors: group by rule + file
|
|
21
21
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-output-compressor.d.ts","sourceRoot":"","sources":["../../src/memory/tool-output-compressor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-output-compressor.d.ts","sourceRoot":"","sources":["../../src/memory/tool-output-compressor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAUjE,OAAO,EAGN,KAAK,0BAA0B,EAC/B,MAAM,+CAA+C,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAO5C,MAAM,MAAM,gBAAgB,GAAG,0BAA0B,CAAC;AAE1D,eAAO,MAAM,yBAAyB,EAAE,gBAEvC,CAAC;AA6wBF,MAAM,WAAW,gBAAgB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,8BAA8B;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC3F;AA8BD,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,OAAO,GAAG,8BAA8B,CAElG;AAED,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAE1E;AAkDD,+FAA+F;AAC/F,wBAAgB,0BAA0B,CACzC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,GAC3F,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,SAAS,CAcvG;AAED,wBAAgB,4BAA4B,CAC3C,GAAG,EAAE,YAAY,EACjB,OAAO,EAAE,OAAO,GACd,IAAI,CA0DN"}
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* - Shell: remove ANSI escape codes, carriage returns
|
|
16
16
|
*
|
|
17
17
|
* 2. GROUPING — aggregate similar items
|
|
18
|
-
* - ls
|
|
18
|
+
* - ls: group files by directory
|
|
19
19
|
* - grep/rg: group matches by file, collapse repeated patterns
|
|
20
20
|
* - Lint errors: group by rule + file
|
|
21
21
|
*
|
|
@@ -677,26 +677,6 @@ function compressGrepOutput(event, config) {
|
|
|
677
677
|
}
|
|
678
678
|
return content;
|
|
679
679
|
}
|
|
680
|
-
// ============================================================================
|
|
681
|
-
// Find Compressor
|
|
682
|
-
// ============================================================================
|
|
683
|
-
function compressFindOutput(event, config) {
|
|
684
|
-
let content = event.content
|
|
685
|
-
.filter((c) => c.type === "text")
|
|
686
|
-
.map((c) => c.text)
|
|
687
|
-
.join("\n");
|
|
688
|
-
if (!content)
|
|
689
|
-
return "";
|
|
690
|
-
if (config.stripAnsi) {
|
|
691
|
-
content = stripAnsi(content);
|
|
692
|
-
}
|
|
693
|
-
// Group by directory
|
|
694
|
-
const lines = content.split("\n").filter((l) => l.trim());
|
|
695
|
-
if (lines.length > config.maxSearchLines) {
|
|
696
|
-
return summarizePathTree(content) ?? content;
|
|
697
|
-
}
|
|
698
|
-
return content;
|
|
699
|
-
}
|
|
700
680
|
const statsByRuntime = new WeakMap();
|
|
701
681
|
function createTelemetry() {
|
|
702
682
|
return { events: 0, originalChars: 0, compressedChars: 0, byTool: {} };
|
|
@@ -783,8 +763,6 @@ export function compressSubagentToolResult(toolName, input, result) {
|
|
|
783
763
|
compressed = compressLsOutput(event, config);
|
|
784
764
|
else if (toolName === "grep")
|
|
785
765
|
compressed = compressGrepOutput(event, config);
|
|
786
|
-
else if (toolName === "find")
|
|
787
|
-
compressed = compressFindOutput(event, config);
|
|
788
766
|
if (!compressed || compressed === text)
|
|
789
767
|
return undefined;
|
|
790
768
|
const compressedContent = result.content.map((part) => part.type === "text" ? { type: "text", text: part.text ?? "" } : part.type === "image" && part.data && part.mimeType ? { type: "image", data: part.data, mimeType: part.mimeType } : undefined).filter((part) => part !== undefined && part.type !== "text");
|
|
@@ -832,15 +810,6 @@ export function registerToolOutputCompressor(ext, runtime) {
|
|
|
832
810
|
const compressed = compressGrepOutput(event, config);
|
|
833
811
|
return compressedContentResult(runtime, event, "grep", original, compressed);
|
|
834
812
|
}
|
|
835
|
-
if (_event.toolName === "find") {
|
|
836
|
-
const event = _event;
|
|
837
|
-
const original = event.content
|
|
838
|
-
.filter((c) => c.type === "text")
|
|
839
|
-
.map((c) => c.text)
|
|
840
|
-
.join("\n");
|
|
841
|
-
const compressed = compressFindOutput(event, config);
|
|
842
|
-
return compressedContentResult(runtime, event, "find", original, compressed);
|
|
843
|
-
}
|
|
844
813
|
// Unknown tool types: do nothing
|
|
845
814
|
return;
|
|
846
815
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/relay/dispatcher.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/relay/dispatcher.ts"],"names":[],"mappings":"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"}
|
package/dist/relay/dispatcher.js
CHANGED
|
@@ -781,8 +781,14 @@ async function dispatchRoute(match, body, deps) {
|
|
|
781
781
|
case "list_projects": {
|
|
782
782
|
const activeIds = manager.getActiveTurnSessionIds();
|
|
783
783
|
const projects = handleListProjects(store);
|
|
784
|
+
// Batch all per-project session lookups into a SINGLE query (LEFT JOIN +
|
|
785
|
+
// GROUP BY) instead of calling listSessionsByProject(p.id) in a loop,
|
|
786
|
+
// which issued O(projects) queries each with a per-session correlated
|
|
787
|
+
// COUNT(*) subquery and blocked the event loop past the 30s relay
|
|
788
|
+
// deadline on large projects.
|
|
789
|
+
const sessionsByProject = store.listSessionsByProjectIds(projects.map((p) => p.id));
|
|
784
790
|
return projects.map((p) => {
|
|
785
|
-
const sessions =
|
|
791
|
+
const sessions = sessionsByProject.get(p.id) ?? [];
|
|
786
792
|
const hasActiveSession = sessions.some((s) => activeIds.has(s.id));
|
|
787
793
|
return { ...p, hasActiveSession };
|
|
788
794
|
});
|
|
@@ -163,7 +163,7 @@ export interface AgentLoopConfig extends SimpleStreamOptions {
|
|
|
163
163
|
/**
|
|
164
164
|
* Resolves an API key dynamically for each LLM call.
|
|
165
165
|
*
|
|
166
|
-
* Useful for short-lived OAuth tokens
|
|
166
|
+
* Useful for short-lived OAuth tokens that may expire
|
|
167
167
|
* during long-running tool execution phases.
|
|
168
168
|
*
|
|
169
169
|
* Contract: must not throw or reject. Return undefined when no key is available.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env-api-keys.d.ts","sourceRoot":"","sources":["../../../src/sdk/ai/env-api-keys.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"env-api-keys.d.ts","sourceRoot":"","sources":["../../../src/sdk/ai/env-api-keys.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAyEhD;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;AAC3E,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;AASpE;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,CAAC;AAC1E,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC"}
|
|
@@ -45,9 +45,6 @@ function hasVertexAdcCredentials() {
|
|
|
45
45
|
return cachedVertexAdcCredentialsExists;
|
|
46
46
|
}
|
|
47
47
|
function getApiKeyEnvVars(provider) {
|
|
48
|
-
if (provider === "github-copilot") {
|
|
49
|
-
return ["COPILOT_GITHUB_TOKEN"];
|
|
50
|
-
}
|
|
51
48
|
// ANTHROPIC_OAUTH_TOKEN takes precedence over ANTHROPIC_API_KEY
|
|
52
49
|
if (provider === "anthropic") {
|
|
53
50
|
return ["ANTHROPIC_OAUTH_TOKEN", "ANTHROPIC_API_KEY"];
|