@songsid/agend 2.1.4-beta.4 → 2.1.4-beta.40
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/README.md +1 -1
- package/README.zh-TW.md +1 -1
- package/dist/agent-endpoint.js +1 -1
- package/dist/agent-endpoint.js.map +1 -1
- package/dist/backend/antigravity.d.ts +9 -5
- package/dist/backend/antigravity.js +156 -31
- package/dist/backend/antigravity.js.map +1 -1
- package/dist/backend/claude-code.d.ts +62 -23
- package/dist/backend/claude-code.js +296 -43
- package/dist/backend/claude-code.js.map +1 -1
- package/dist/backend/codex.d.ts +18 -0
- package/dist/backend/codex.js +148 -8
- package/dist/backend/codex.js.map +1 -1
- package/dist/backend/gemini-cli.js +2 -2
- package/dist/backend/gemini-cli.js.map +1 -1
- package/dist/backend/grok.js +2 -2
- package/dist/backend/grok.js.map +1 -1
- package/dist/backend/kiro.d.ts +2 -0
- package/dist/backend/kiro.js +24 -3
- package/dist/backend/kiro.js.map +1 -1
- package/dist/backend/opencode.d.ts +27 -11
- package/dist/backend/opencode.js +65 -41
- package/dist/backend/opencode.js.map +1 -1
- package/dist/backend/types.d.ts +45 -3
- package/dist/backend/types.js +12 -1
- package/dist/backend/types.js.map +1 -1
- package/dist/channel/adapters/discord.d.ts +44 -2
- package/dist/channel/adapters/discord.js +526 -78
- package/dist/channel/adapters/discord.js.map +1 -1
- package/dist/channel/adapters/telegram.d.ts +30 -0
- package/dist/channel/adapters/telegram.js +212 -18
- package/dist/channel/adapters/telegram.js.map +1 -1
- package/dist/channel/agy-mcp-launcher.d.ts +2 -0
- package/dist/channel/agy-mcp-launcher.js +28 -0
- package/dist/channel/agy-mcp-launcher.js.map +1 -0
- package/dist/channel/ipc-bridge.d.ts +2 -1
- package/dist/channel/ipc-bridge.js +33 -4
- package/dist/channel/ipc-bridge.js.map +1 -1
- package/dist/channel/mcp-server.js +28 -25
- package/dist/channel/mcp-server.js.map +1 -1
- package/dist/channel/mcp-tools.js +4 -2
- package/dist/channel/mcp-tools.js.map +1 -1
- package/dist/channel/message-queue.js +62 -1
- package/dist/channel/message-queue.js.map +1 -1
- package/dist/channel/types.d.ts +31 -1
- package/dist/classic-channel-manager.d.ts +40 -3
- package/dist/classic-channel-manager.js +218 -31
- package/dist/classic-channel-manager.js.map +1 -1
- package/dist/cli.js +109 -37
- package/dist/cli.js.map +1 -1
- package/dist/config-validator.js +48 -7
- package/dist/config-validator.js.map +1 -1
- package/dist/config.d.ts +4 -0
- package/dist/config.js +12 -1
- package/dist/config.js.map +1 -1
- package/dist/cross-instance-envelope.d.ts +6 -0
- package/dist/cross-instance-envelope.js +30 -0
- package/dist/cross-instance-envelope.js.map +1 -0
- package/dist/daemon.d.ts +319 -9
- package/dist/daemon.js +1402 -255
- package/dist/daemon.js.map +1 -1
- package/dist/doctor.d.ts +41 -0
- package/dist/doctor.js +267 -0
- package/dist/doctor.js.map +1 -0
- package/dist/fleet-context.d.ts +47 -0
- package/dist/fleet-manager.d.ts +265 -11
- package/dist/fleet-manager.js +2273 -455
- package/dist/fleet-manager.js.map +1 -1
- package/dist/fleet-yaml-slim.d.ts +10 -0
- package/dist/fleet-yaml-slim.js +59 -0
- package/dist/fleet-yaml-slim.js.map +1 -0
- package/dist/general-knowledge/skills/backend-providers/SKILL.md +114 -0
- package/dist/general-knowledge/skills/cross-instance-messaging/SKILL.md +3 -1
- package/dist/general-knowledge/skills/delegation-playbook/SKILL.md +52 -0
- package/dist/general-knowledge/skills/development-workflow/SKILL.md +28 -0
- package/dist/general-knowledge/skills/fleet-config/SKILL.md +1 -0
- package/dist/general-knowledge/skills/fleet-health/SKILL.md +1 -0
- package/dist/general-knowledge/skills/fleet-restart/SKILL.md +1 -0
- package/dist/general-knowledge/skills/instance-lifecycle/SKILL.md +1 -0
- package/dist/general-knowledge/skills/model-discovery/SKILL.md +64 -16
- package/dist/general-knowledge/skills/multi-channel/SKILL.md +1 -0
- package/dist/general-knowledge/skills/scheduling/SKILL.md +1 -0
- package/dist/general-knowledge/skills/session-management/SKILL.md +1 -0
- package/dist/general-knowledge/skills/tui-effort/SKILL.md +1 -0
- package/dist/general-knowledge/skills/worker-collaboration/SKILL.md +30 -0
- package/dist/instance-lifecycle.d.ts +67 -0
- package/dist/instance-lifecycle.js +273 -8
- package/dist/instance-lifecycle.js.map +1 -1
- package/dist/instructions.d.ts +12 -0
- package/dist/instructions.js +35 -1
- package/dist/instructions.js.map +1 -1
- package/dist/locale.js +958 -288
- package/dist/locale.js.map +1 -1
- package/dist/login-flows.d.ts +91 -0
- package/dist/login-flows.js +170 -0
- package/dist/login-flows.js.map +1 -0
- package/dist/login-manager.d.ts +63 -0
- package/dist/login-manager.js +134 -0
- package/dist/login-manager.js.map +1 -0
- package/dist/network-family.d.ts +18 -0
- package/dist/network-family.js +20 -0
- package/dist/network-family.js.map +1 -0
- package/dist/outbound-handlers.d.ts +8 -0
- package/dist/outbound-handlers.js +101 -18
- package/dist/outbound-handlers.js.map +1 -1
- package/dist/outbound-schemas.d.ts +7 -1
- package/dist/outbound-schemas.js +9 -0
- package/dist/outbound-schemas.js.map +1 -1
- package/dist/reply-dedup.d.ts +7 -8
- package/dist/reply-dedup.js +0 -0
- package/dist/reply-dedup.js.map +1 -1
- package/dist/restart-progress.d.ts +2 -0
- package/dist/restart-progress.js +3 -0
- package/dist/restart-progress.js.map +1 -1
- package/dist/scheduler/db.d.ts +12 -0
- package/dist/scheduler/db.js +59 -0
- package/dist/scheduler/db.js.map +1 -1
- package/dist/service-installer.d.ts +11 -0
- package/dist/service-installer.js +84 -18
- package/dist/service-installer.js.map +1 -1
- package/dist/settings-api.js +1 -1
- package/dist/settings-api.js.map +1 -1
- package/dist/setup-wizard.js +2 -2
- package/dist/setup-wizard.js.map +1 -1
- package/dist/spawn-gate.d.ts +30 -0
- package/dist/spawn-gate.js +79 -0
- package/dist/spawn-gate.js.map +1 -0
- package/dist/storm-window.d.ts +83 -0
- package/dist/storm-window.js +251 -0
- package/dist/storm-window.js.map +1 -0
- package/dist/tips.d.ts +44 -0
- package/dist/tips.js +355 -0
- package/dist/tips.js.map +1 -0
- package/dist/tmux-manager.d.ts +16 -0
- package/dist/tmux-manager.js +110 -25
- package/dist/tmux-manager.js.map +1 -1
- package/dist/tool-progress.d.ts +40 -0
- package/dist/tool-progress.js +289 -0
- package/dist/tool-progress.js.map +1 -0
- package/dist/topic-commands.d.ts +42 -4
- package/dist/topic-commands.js +354 -66
- package/dist/topic-commands.js.map +1 -1
- package/dist/transcript-monitor.d.ts +15 -2
- package/dist/transcript-monitor.js +63 -17
- package/dist/transcript-monitor.js.map +1 -1
- package/dist/transcript-sources.d.ts +131 -0
- package/dist/transcript-sources.js +580 -0
- package/dist/transcript-sources.js.map +1 -0
- package/dist/types.d.ts +13 -0
- package/dist/ui/dashboard.html +55 -32
- package/dist/ui/settings.html +200 -60
- package/dist/ui/view.html +147 -30
- package/dist/usage/format-rich.js +24 -23
- package/dist/usage/format-rich.js.map +1 -1
- package/dist/usage/i18n-keys.d.ts +7 -0
- package/dist/usage/i18n-keys.js +34 -0
- package/dist/usage/i18n-keys.js.map +1 -0
- package/dist/usage/i18n.d.ts +5 -0
- package/dist/usage/i18n.js +27 -0
- package/dist/usage/i18n.js.map +1 -0
- package/dist/usage/providers.d.ts +19 -0
- package/dist/usage/providers.js +150 -74
- package/dist/usage/providers.js.map +1 -1
- package/dist/usage/usage-api.d.ts +8 -2
- package/dist/usage/usage-api.js +45 -23
- package/dist/usage/usage-api.js.map +1 -1
- package/dist/workflow-templates/default.md +2 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -116,7 +116,7 @@ graph LR
|
|
|
116
116
|
| Backend | Install | Auth |
|
|
117
117
|
|---------|---------|------|
|
|
118
118
|
| Claude Code | `curl -fsSL https://claude.ai/install.sh \| bash` | `claude` (OAuth) or `ANTHROPIC_API_KEY` |
|
|
119
|
-
| OpenAI Codex | `
|
|
119
|
+
| OpenAI Codex | `curl -fsSL https://chatgpt.com/codex/install.sh \| sh` | `codex` (ChatGPT login) or `OPENAI_API_KEY` |
|
|
120
120
|
| Gemini CLI | `npm i -g @google/gemini-cli` | `gemini` (Google OAuth) ⚠️ Deprecated 2026-06-18 |
|
|
121
121
|
| OpenCode | `curl -fsSL https://opencode.ai/install \| bash` | `opencode` (configure provider) |
|
|
122
122
|
| Kiro CLI | `curl -fsSL https://cli.kiro.dev/install | bash` | `kiro-cli login` (AWS Builder ID) |
|
package/README.zh-TW.md
CHANGED
|
@@ -101,7 +101,7 @@ graph LR
|
|
|
101
101
|
| Backend | 安裝 | 認證 |
|
|
102
102
|
|---------|------|------|
|
|
103
103
|
| Claude Code | `curl -fsSL https://claude.ai/install.sh \| bash` | `claude`(OAuth)或 `ANTHROPIC_API_KEY` |
|
|
104
|
-
| OpenAI Codex | `
|
|
104
|
+
| OpenAI Codex | `curl -fsSL https://chatgpt.com/codex/install.sh \| sh` | `codex`(ChatGPT 登入)或 `OPENAI_API_KEY` |
|
|
105
105
|
| Gemini CLI | `npm i -g @google/gemini-cli` | `gemini`(Google OAuth) |
|
|
106
106
|
| OpenCode | `curl -fsSL https://opencode.ai/install \| bash` | `opencode`(設定 provider) |
|
|
107
107
|
| Kiro CLI | `curl -fsSL https://cli.kiro.dev/install | bash` | `kiro-cli login`(AWS Builder ID) |
|
package/dist/agent-endpoint.js
CHANGED
|
@@ -141,7 +141,7 @@ export async function dispatchAgentOperation(ctx, instance, op, args) {
|
|
|
141
141
|
// print something readable without owning the formatting.
|
|
142
142
|
if (op === "usage") {
|
|
143
143
|
const { getUsageSnapshot, formatUsageSummary } = await import("./usage/usage-api.js");
|
|
144
|
-
const payload = await getUsageSnapshot(args.force === true || args.force === "true");
|
|
144
|
+
const payload = await getUsageSnapshot(args.force === true || args.force === "true", ctx.getActiveUsageProviderIds?.());
|
|
145
145
|
return { formatted: formatUsageSummary(payload), ...payload };
|
|
146
146
|
}
|
|
147
147
|
// Display name / description
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-endpoint.js","sourceRoot":"","sources":["../src/agent-endpoint.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"agent-endpoint.js","sourceRoot":"","sources":["../src/agent-endpoint.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,16 +3,19 @@ import { type CliBackend, type CliBackendConfig, type ErrorPattern, type Startup
|
|
|
3
3
|
export declare function parseAntigravityModelsOutput(output: string): import("./types.js").ModelOption[];
|
|
4
4
|
export declare class AntigravityBackend implements CliBackend {
|
|
5
5
|
private instanceDir;
|
|
6
|
+
private userHome;
|
|
7
|
+
private agendHome;
|
|
6
8
|
readonly binaryName = "agy";
|
|
7
9
|
private binaryPath;
|
|
8
|
-
|
|
10
|
+
private readonly mcpWrapperPath;
|
|
11
|
+
constructor(instanceDir: string, userHome?: string, agendHome?: string);
|
|
9
12
|
buildCommand(config: CliBackendConfig): string;
|
|
10
|
-
/**
|
|
11
|
-
* If workingDirectory is under a hidden path (e.g. ~/.agend/workspaces/),
|
|
12
|
-
* agy refuses to operate. Use a real non-hidden directory instead.
|
|
13
|
-
*/
|
|
13
|
+
/** agy >= 1.1.0 accepts hidden working directories (upstream issue #20). */
|
|
14
14
|
resolveWorkingDirectory(workingDirectory: string, instanceName?: string): string;
|
|
15
15
|
writeConfig(config: CliBackendConfig): void;
|
|
16
|
+
private writeMcpEnvWrapper;
|
|
17
|
+
private ensureGlobalMcpLauncher;
|
|
18
|
+
private isManagedAgendMcpEntry;
|
|
16
19
|
/**
|
|
17
20
|
* Make agy's TUI footer show context usage so /ctx can scrape it. agy has no
|
|
18
21
|
* native context-% element — its statusLine is a hook that runs a command
|
|
@@ -43,6 +46,7 @@ export declare class AntigravityBackend implements CliBackend {
|
|
|
43
46
|
* narrow wins. Verify against a real pane when an agy instance next exists.
|
|
44
47
|
*/
|
|
45
48
|
getBusyPattern(): RegExp;
|
|
49
|
+
hasPeriodicPaneRedraw(): boolean;
|
|
46
50
|
getContextUsage(): number | null;
|
|
47
51
|
getSessionId(): string | null;
|
|
48
52
|
getQuitCommand(): null;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { join } from "node:path";
|
|
1
|
+
import { dirname, join } from "node:path";
|
|
2
2
|
import { homedir } from "node:os";
|
|
3
3
|
import { execFileSync } from "node:child_process";
|
|
4
|
-
import { chmodSync, existsSync, mkdirSync, readFileSync, rmSync, writeFileSync } from "node:fs";
|
|
4
|
+
import { chmodSync, closeSync, existsSync, mkdirSync, openSync, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync, } from "node:fs";
|
|
5
5
|
import { resolveBinary, shellQuote, warnIfModelMismatch } from "./types.js";
|
|
6
|
-
import { appendWithMarker } from "./marker-utils.js";
|
|
6
|
+
import { appendWithMarker, removeMarker } from "./marker-utils.js";
|
|
7
7
|
import { getAgendHome } from "../paths.js";
|
|
8
8
|
import { PIE_CLASS } from "../tui-glyphs.js";
|
|
9
9
|
/** Parse `agy models`, which may emit slugs or human-readable display names. */
|
|
@@ -24,14 +24,27 @@ export function parseAntigravityModelsOutput(output) {
|
|
|
24
24
|
}
|
|
25
25
|
export class AntigravityBackend {
|
|
26
26
|
instanceDir;
|
|
27
|
+
userHome;
|
|
28
|
+
agendHome;
|
|
27
29
|
binaryName = "agy";
|
|
28
30
|
binaryPath;
|
|
29
|
-
|
|
31
|
+
mcpWrapperPath;
|
|
32
|
+
constructor(instanceDir, userHome = homedir(), agendHome = getAgendHome()) {
|
|
30
33
|
this.instanceDir = instanceDir;
|
|
34
|
+
this.userHome = userHome;
|
|
35
|
+
this.agendHome = agendHome;
|
|
31
36
|
this.binaryPath = resolveBinary("agy");
|
|
37
|
+
this.mcpWrapperPath = join(instanceDir, "agy-mcp-env.sh");
|
|
32
38
|
}
|
|
33
39
|
buildCommand(config) {
|
|
34
|
-
|
|
40
|
+
// agy 1.1.17+ has no per-workspace MCP config and no --mcp-config flag. Its
|
|
41
|
+
// global MCP child does inherit the CLI process environment, so MCP-mode
|
|
42
|
+
// instances launch through an owner-only wrapper written by writeConfig().
|
|
43
|
+
// The wrapper keeps socket paths and decisions out of the shared config.
|
|
44
|
+
const prefix = config.agentMode === "mcp" && existsSync(this.mcpWrapperPath)
|
|
45
|
+
? `${shellQuote(this.mcpWrapperPath)} `
|
|
46
|
+
: "";
|
|
47
|
+
let cmd = `${prefix}${this.binaryPath} --dangerously-skip-permissions`;
|
|
35
48
|
if (!config.skipResume)
|
|
36
49
|
cmd += " --continue";
|
|
37
50
|
if (config.model) {
|
|
@@ -41,24 +54,14 @@ export class AntigravityBackend {
|
|
|
41
54
|
}
|
|
42
55
|
return cmd;
|
|
43
56
|
}
|
|
44
|
-
/**
|
|
45
|
-
* If workingDirectory is under a hidden path (e.g. ~/.agend/workspaces/),
|
|
46
|
-
* agy refuses to operate. Use a real non-hidden directory instead.
|
|
47
|
-
*/
|
|
57
|
+
/** agy >= 1.1.0 accepts hidden working directories (upstream issue #20). */
|
|
48
58
|
resolveWorkingDirectory(workingDirectory, instanceName) {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
const hasHidden = parts.some(p => p.startsWith(".") && p !== "~");
|
|
53
|
-
if (!hasHidden)
|
|
54
|
-
return workingDirectory;
|
|
55
|
-
const name = instanceName || parts[parts.length - 1] || "workspace";
|
|
56
|
-
const resolvedDir = join(home, "agend-workspaces", name);
|
|
57
|
-
mkdirSync(resolvedDir, { recursive: true });
|
|
58
|
-
return resolvedDir;
|
|
59
|
+
void instanceName;
|
|
60
|
+
mkdirSync(workingDirectory, { recursive: true });
|
|
61
|
+
return workingDirectory;
|
|
59
62
|
}
|
|
60
63
|
writeConfig(config) {
|
|
61
|
-
// Write .agents/agents.md in the
|
|
64
|
+
// Write .agents/agents.md in the persistent configured workspace.
|
|
62
65
|
const cwd = this.resolveWorkingDirectory(config.workingDirectory, config.instanceName);
|
|
63
66
|
const agentsDir = join(cwd, ".agents");
|
|
64
67
|
mkdirSync(agentsDir, { recursive: true });
|
|
@@ -66,8 +69,123 @@ export class AntigravityBackend {
|
|
|
66
69
|
const agentsPath = join(agentsDir, "agents.md");
|
|
67
70
|
appendWithMarker(agentsPath, config.instanceName, config.instructions);
|
|
68
71
|
}
|
|
72
|
+
if (config.agentMode === "mcp" && Object.keys(config.mcpServers).length > 0) {
|
|
73
|
+
this.writeMcpEnvWrapper(config);
|
|
74
|
+
this.ensureGlobalMcpLauncher(config);
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
// An instance explicitly switched to CLI mode must not retain secrets from
|
|
78
|
+
// an earlier MCP-mode launch.
|
|
79
|
+
try {
|
|
80
|
+
unlinkSync(this.mcpWrapperPath);
|
|
81
|
+
}
|
|
82
|
+
catch { /* absent */ }
|
|
83
|
+
}
|
|
69
84
|
this.enableStatusLine();
|
|
70
85
|
}
|
|
86
|
+
writeMcpEnvWrapper(config) {
|
|
87
|
+
const entry = Object.values(config.mcpServers)[0];
|
|
88
|
+
if (!entry)
|
|
89
|
+
return;
|
|
90
|
+
mkdirSync(this.instanceDir, { recursive: true });
|
|
91
|
+
const exports = Object.entries({ ...entry.env, AGEND_INSTANCE_NAME: config.instanceName })
|
|
92
|
+
.map(([key, value]) => `export ${key}=${shellQuote(String(value))}`)
|
|
93
|
+
.join("\n");
|
|
94
|
+
writeFileSync(this.mcpWrapperPath, `#!/bin/sh\n${exports}\nexec "$@"\n`, { mode: 0o700 });
|
|
95
|
+
// mode only applies on create; also heal a wrapper from an older version.
|
|
96
|
+
chmodSync(this.mcpWrapperPath, 0o700);
|
|
97
|
+
}
|
|
98
|
+
ensureGlobalMcpLauncher(config) {
|
|
99
|
+
const entry = Object.values(config.mcpServers)[0];
|
|
100
|
+
const serverPath = entry?.args?.[0];
|
|
101
|
+
if (!entry || typeof serverPath !== "string")
|
|
102
|
+
return;
|
|
103
|
+
const configDir = join(this.userHome, ".gemini", "config");
|
|
104
|
+
const configPath = join(configDir, "mcp_config.json");
|
|
105
|
+
const lockPath = join(configDir, ".agend-mcp.lock");
|
|
106
|
+
mkdirSync(configDir, { recursive: true });
|
|
107
|
+
let lockFd;
|
|
108
|
+
try {
|
|
109
|
+
try {
|
|
110
|
+
lockFd = openSync(lockPath, "wx", 0o600);
|
|
111
|
+
}
|
|
112
|
+
catch (err) {
|
|
113
|
+
// A crashed writer must not block every future agy launch forever.
|
|
114
|
+
try {
|
|
115
|
+
if (Date.now() - statSync(lockPath).mtimeMs > 30_000)
|
|
116
|
+
unlinkSync(lockPath);
|
|
117
|
+
else
|
|
118
|
+
return; // another fleet process is writing the identical entry
|
|
119
|
+
lockFd = openSync(lockPath, "wx", 0o600);
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
writeFileSync(lockFd, String(process.pid));
|
|
126
|
+
let root = {};
|
|
127
|
+
if (existsSync(configPath)) {
|
|
128
|
+
try {
|
|
129
|
+
const content = readFileSync(configPath, "utf-8").trim();
|
|
130
|
+
root = content ? JSON.parse(content) : {};
|
|
131
|
+
}
|
|
132
|
+
catch {
|
|
133
|
+
throw new Error(`Refusing to overwrite invalid Antigravity MCP config: ${configPath}`);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
if (!root || typeof root !== "object" || Array.isArray(root)) {
|
|
137
|
+
throw new Error(`Refusing to overwrite invalid Antigravity MCP config: ${configPath}`);
|
|
138
|
+
}
|
|
139
|
+
const existing = root.mcpServers;
|
|
140
|
+
const servers = existing && typeof existing === "object" && !Array.isArray(existing)
|
|
141
|
+
? { ...existing }
|
|
142
|
+
: {};
|
|
143
|
+
// Remove only entries recognizable as older AgEnD-managed servers. Key
|
|
144
|
+
// names alone are not ownership evidence: a user may have their own
|
|
145
|
+
// server named "agend".
|
|
146
|
+
for (const [name, value] of Object.entries(servers)) {
|
|
147
|
+
if (name === "agend-fleet")
|
|
148
|
+
continue;
|
|
149
|
+
if (this.isManagedAgendMcpEntry(value))
|
|
150
|
+
delete servers[name];
|
|
151
|
+
}
|
|
152
|
+
const current = servers["agend-fleet"];
|
|
153
|
+
if (current && !this.isManagedAgendMcpEntry(current)) {
|
|
154
|
+
throw new Error("Antigravity MCP server name 'agend-fleet' is already user-managed");
|
|
155
|
+
}
|
|
156
|
+
servers["agend-fleet"] = {
|
|
157
|
+
command: entry.command,
|
|
158
|
+
args: [join(dirname(serverPath), "agy-mcp-launcher.js")],
|
|
159
|
+
};
|
|
160
|
+
root.mcpServers = servers;
|
|
161
|
+
const tempPath = `${configPath}.${process.pid}.tmp`;
|
|
162
|
+
writeFileSync(tempPath, JSON.stringify(root, null, 2) + "\n", { mode: 0o600 });
|
|
163
|
+
chmodSync(tempPath, 0o600);
|
|
164
|
+
renameSync(tempPath, configPath);
|
|
165
|
+
chmodSync(configPath, 0o600);
|
|
166
|
+
}
|
|
167
|
+
finally {
|
|
168
|
+
if (lockFd !== undefined) {
|
|
169
|
+
closeSync(lockFd);
|
|
170
|
+
try {
|
|
171
|
+
unlinkSync(lockPath);
|
|
172
|
+
}
|
|
173
|
+
catch { /* stale cleanup */ }
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
isManagedAgendMcpEntry(value) {
|
|
178
|
+
if (!value || typeof value !== "object" || Array.isArray(value))
|
|
179
|
+
return false;
|
|
180
|
+
const entry = value;
|
|
181
|
+
const env = entry.env;
|
|
182
|
+
if (env && typeof env === "object" && !Array.isArray(env)
|
|
183
|
+
&& typeof env.AGEND_SOCKET_PATH === "string")
|
|
184
|
+
return true;
|
|
185
|
+
const command = typeof entry.command === "string" ? entry.command : "";
|
|
186
|
+
const args = Array.isArray(entry.args) ? entry.args.filter((arg) => typeof arg === "string") : [];
|
|
187
|
+
return [command, ...args].some(path => /(?:^|[/\\])(?:mcp-server|agy-mcp-launcher)\.js$/.test(path));
|
|
188
|
+
}
|
|
71
189
|
/**
|
|
72
190
|
* Make agy's TUI footer show context usage so /ctx can scrape it. agy has no
|
|
73
191
|
* native context-% element — its statusLine is a hook that runs a command
|
|
@@ -83,18 +201,18 @@ export class AntigravityBackend {
|
|
|
83
201
|
// pipes JSON telemetry on stdin; we emit "Context N% used" (matches
|
|
84
202
|
// parseContextPercent). Uses node (always present in an AgEnD env) rather
|
|
85
203
|
// than jq (not guaranteed); a parse error prints nothing (empty footer).
|
|
86
|
-
const scriptPath = join(
|
|
204
|
+
const scriptPath = join(this.agendHome, "agy-statusline.sh");
|
|
87
205
|
const script = `#!/bin/bash
|
|
88
206
|
# AgEnD-generated agy statusline — prints "Context N% used" for /ctx to scrape.
|
|
89
207
|
node -e "let d='';process.stdin.on('data',c=>d+=c);process.stdin.on('end',()=>{try{const j=JSON.parse(d);console.log('Context '+(Math.round(j.context_window?.used_percentage||0))+'% used')}catch{}})"
|
|
90
208
|
`;
|
|
91
209
|
try {
|
|
92
|
-
mkdirSync(
|
|
210
|
+
mkdirSync(this.agendHome, { recursive: true });
|
|
93
211
|
writeFileSync(scriptPath, script, { mode: 0o755 });
|
|
94
212
|
chmodSync(scriptPath, 0o755); // writeFileSync mode only applies on create
|
|
95
213
|
}
|
|
96
214
|
catch { /* best effort — a bad script write shouldn't block settings */ }
|
|
97
|
-
const agyDir = join(
|
|
215
|
+
const agyDir = join(this.userHome, ".gemini", "antigravity-cli");
|
|
98
216
|
const settingsPath = join(agyDir, "settings.json");
|
|
99
217
|
let settings = {};
|
|
100
218
|
try {
|
|
@@ -126,13 +244,16 @@ node -e "let d='';process.stdin.on('data',c=>d+=c);process.stdin.on('end',()=>{t
|
|
|
126
244
|
catch { /* best effort — never block launch on statusline config */ }
|
|
127
245
|
}
|
|
128
246
|
cleanup(config) {
|
|
129
|
-
const
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
rmSync(
|
|
133
|
-
|
|
134
|
-
|
|
247
|
+
const agentsPath = join(config.workingDirectory, ".agents", "agents.md");
|
|
248
|
+
try {
|
|
249
|
+
if (removeMarker(agentsPath, config.instanceName))
|
|
250
|
+
rmSync(agentsPath, { force: true });
|
|
251
|
+
}
|
|
252
|
+
catch { /* best effort */ }
|
|
253
|
+
try {
|
|
254
|
+
unlinkSync(this.mcpWrapperPath);
|
|
135
255
|
}
|
|
256
|
+
catch { /* absent */ }
|
|
136
257
|
}
|
|
137
258
|
getReadyPattern() {
|
|
138
259
|
// Daily prompts observed in the TUI are either a pie context reading
|
|
@@ -167,6 +288,10 @@ node -e "let d='';process.stdin.on('data',c=>d+=c);process.stdin.on('end',()=>{t
|
|
|
167
288
|
getBusyPattern() {
|
|
168
289
|
return /^[ \t]*[·✢✶✻✽][ \t]+\p{L}[^\n]*(?:…|\.\.\.)[^\n]*(?:\b\d+(?:\.\d+)?s\b|\(esc to cancel\))/mu;
|
|
169
290
|
}
|
|
291
|
+
// agy periodically reruns and repaints its statusLine hook even when the
|
|
292
|
+
// resulting footer is byte-for-byte identical on screen. A raw tmux %output
|
|
293
|
+
// event is therefore not sufficient evidence that the agent started work.
|
|
294
|
+
hasPeriodicPaneRedraw() { return true; }
|
|
170
295
|
getContextUsage() {
|
|
171
296
|
return null;
|
|
172
297
|
}
|
|
@@ -217,7 +342,7 @@ node -e "let d='';process.stdin.on('data',c=>d+=c);process.stdin.on('end',()=>{t
|
|
|
217
342
|
// statusline hook lives in), e.g. "model": "Gemini 3.5 Flash (Medium)".
|
|
218
343
|
let currentModel;
|
|
219
344
|
try {
|
|
220
|
-
const s = JSON.parse(readFileSync(join(
|
|
345
|
+
const s = JSON.parse(readFileSync(join(this.userHome, ".gemini", "antigravity-cli", "settings.json"), "utf-8"));
|
|
221
346
|
if (typeof s?.model === "string" && s.model.trim())
|
|
222
347
|
currentModel = s.model.trim();
|
|
223
348
|
}
|
|
@@ -242,7 +367,7 @@ node -e "let d='';process.stdin.on('data',c=>d+=c);process.stdin.on('end',()=>{t
|
|
|
242
367
|
skipRecoveryWait: true,
|
|
243
368
|
},
|
|
244
369
|
{ pattern: /RESOURCE_EXHAUSTED|quota/i, type: "quota", action: "notify", message: "Quota exhausted" },
|
|
245
|
-
{ pattern: /error.*authentication|UNAUTHENTICATED/i, type: "auth_error", action: "
|
|
370
|
+
{ pattern: /error.*authentication|UNAUTHENTICATED/i, type: "auth_error", action: "pause", message: "Antigravity authentication error — needs re-login" },
|
|
246
371
|
// Model generation change pins the resumed session to a dead model placeholder
|
|
247
372
|
// (e.g. MODEL_PLACEHOLDER_M264) → every message returns "unknown model key".
|
|
248
373
|
// The CLI stays up, so this never self-recovers — force a fresh restart
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"antigravity.js","sourceRoot":"","sources":["../../src/backend/antigravity.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"antigravity.js","sourceRoot":"","sources":["../../src/backend/antigravity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,22 @@
|
|
|
1
1
|
import { type CliBackend, type CliBackendConfig, type ErrorPattern, type RuntimeDialog, type StartupDialog } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Take `lockPath` via exclusive create, recording {pid, token} so a stale lock
|
|
4
|
+
* can be attributed. Returns the token to release with, or null when the lock
|
|
5
|
+
* could not be acquired within the retry budget.
|
|
6
|
+
*
|
|
7
|
+
* A held lock is NEVER auto-reclaimed. Reclaiming under concurrency cannot be
|
|
8
|
+
* made atomic with the primitives available (rename/link both leave a window
|
|
9
|
+
* where a reclaimed-and-reacquired live lock gets stolen), and every claude.json
|
|
10
|
+
* update is best-effort with a fallback — a skipped trust write is picked up by
|
|
11
|
+
* the startup-dialog dismisser. A lock left by a crashed holder therefore means
|
|
12
|
+
* skipped updates until it is removed manually (delete the .agend.lock file);
|
|
13
|
+
* the crash window is one writeFileSync inside a ~1ms critical section. When
|
|
14
|
+
* the recorded owner PID is verifiably dead we skip immediately instead of
|
|
15
|
+
* burning the whole retry budget waiting for a release that can never come.
|
|
16
|
+
*/
|
|
17
|
+
export declare function acquireClaudeJsonLock(lockPath: string, maxAttempts?: number): string | null;
|
|
18
|
+
/** Release a lock taken by acquireClaudeJsonLock, only if we still own it. */
|
|
19
|
+
export declare function releaseClaudeJsonLock(lockPath: string, token: string): void;
|
|
2
20
|
export declare class ClaudeCodeBackend implements CliBackend {
|
|
3
21
|
private instanceDir;
|
|
4
22
|
readonly binaryName = "claude";
|
|
@@ -23,20 +41,28 @@ export declare class ClaudeCodeBackend implements CliBackend {
|
|
|
23
41
|
getReadyPattern(): RegExp;
|
|
24
42
|
/**
|
|
25
43
|
* The live spinner line, which is on screen only while generating. Captured from
|
|
26
|
-
*
|
|
44
|
+
* running panes and their pipe-pane recordings:
|
|
27
45
|
*
|
|
28
46
|
* working → `✢ Accomplishing… (11m 26s · ↓ 38.0k tokens)`
|
|
29
47
|
* idle → `✻ Worked for 6m 49s`
|
|
30
48
|
*
|
|
31
49
|
* Both panes also showed `❯` and the `ok` statusline, which is why neither of
|
|
32
|
-
* those can carry the distinction. The discriminator is the
|
|
33
|
-
*
|
|
34
|
-
*
|
|
50
|
+
* those can carry the distinction. The discriminator is the rotating glyph plus
|
|
51
|
+
* Claude's one-word spinner label ending in an ellipsis. The completed line is
|
|
52
|
+
* past tense with no ellipsis. The verb and glyph both rotate, so neither
|
|
53
|
+
* specific value is matched.
|
|
35
54
|
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
55
|
+
* Claude Code 2.1.239 paints that line incrementally. For roughly the first
|
|
56
|
+
* three seconds — and briefly during later repaints — capture-pane can see only
|
|
57
|
+
* `* Nesting…` before `(3s · ↓ 9 tokens)` is appended. It also emits hyphenated
|
|
58
|
+
* labels such as `Razzle-dazzling…` and `Sock-hopping…`. Requiring the elapsed
|
|
59
|
+
* counter and a letters-only verb made both real shapes look idle. Since `❯`
|
|
60
|
+
* remains visible throughout generation, a settled capture in either shape
|
|
61
|
+
* retired Cancel and the progress bubble while the turn was still running.
|
|
62
|
+
*
|
|
63
|
+
* The animation cycles through six measured frames, including one plain ASCII
|
|
64
|
+
* asterisk. The older leading class required a non-ASCII glyph, so sampling a
|
|
65
|
+
* continuously working pane 50 times at 250ms produced:
|
|
40
66
|
*
|
|
41
67
|
* ✻ 11/11 ✽ 10/10 ✢ 10/10 · 9/9 ✶ 4/4 * 0/6 ← U+002A never matched
|
|
42
68
|
*
|
|
@@ -46,19 +72,13 @@ export declare class ClaudeCodeBackend implements CliBackend {
|
|
|
46
72
|
* retired cancel buttons mid-turn. 12% of frames, so it hit some turns and not
|
|
47
73
|
* others.
|
|
48
74
|
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
* Deliberately narrow, because the cost is asymmetric. Missing the spinner just
|
|
57
|
-
* restores today's behaviour; matching prose that happens to sit on a *stable*
|
|
58
|
-
* pane would hold the instance in `working` forever — no auto-pause, no cancel
|
|
59
|
-
* button retirement, and eventually a bogus hang alert. So the line must start
|
|
60
|
-
* with a non-ASCII, non-letter glyph and carry a single word ending in `…`:
|
|
61
|
-
* `- Something… (5s)` and `I waited… (30s) for the build` are both rejected.
|
|
75
|
+
* Deliberately narrow, because the cost is asymmetric. Matching prose that
|
|
76
|
+
* happens to sit on a *stable* pane would hold the instance in `working`
|
|
77
|
+
* forever — no auto-pause, no cancel-button retirement, and eventually a bogus
|
|
78
|
+
* hang alert. Therefore this accepts only Claude's six measured spinner glyphs,
|
|
79
|
+
* exactly one word (optionally hyphenated), and the Unicode ellipsis. Markdown
|
|
80
|
+
* prose such as `* bullet point…`, `- Something…`, and a completed
|
|
81
|
+
* `✻ Worked for 6m 49s` remain rejected.
|
|
62
82
|
*
|
|
63
83
|
* Note when this actually decides anything: while the CLI really is generating,
|
|
64
84
|
* the elapsed counter ticks, the pane changes, and motion already reports
|
|
@@ -79,14 +99,33 @@ export declare class ClaudeCodeBackend implements CliBackend {
|
|
|
79
99
|
getEffortLevels(): string[];
|
|
80
100
|
getModelSwitchStrategy(): "runtime" | "restart";
|
|
81
101
|
listModels(): Promise<import("./types.js").ModelOption[]>;
|
|
102
|
+
/**
|
|
103
|
+
* Full account catalog from `GET /v1/models` using the same OAuth token the
|
|
104
|
+
* usage panel resolves. Each model also gets an `<id>[1m]` 1M-context
|
|
105
|
+
* variant: the API cannot say which plans may use it, so the variants are
|
|
106
|
+
* offered and a wrong pick surfaces through the model_error pattern above.
|
|
107
|
+
* Any failure (no token, network, non-200) degrades to [] — the static
|
|
108
|
+
* aliases from listModels() always remain available.
|
|
109
|
+
*/
|
|
110
|
+
listApiModels(): Promise<import("./types.js").ModelOption[]>;
|
|
82
111
|
probeCLIEnv(): Promise<{
|
|
83
112
|
version: string | undefined;
|
|
84
113
|
models: import("./types.js").ModelOption[];
|
|
114
|
+
apiModels: import("./types.js").ModelOption[];
|
|
85
115
|
}>;
|
|
86
116
|
cleanup(_config: CliBackendConfig): void;
|
|
87
|
-
/**
|
|
117
|
+
/**
|
|
118
|
+
* Pre-accept Claude Code's workspace trust dialog for this working directory.
|
|
119
|
+
* The interactive TUI blocks a fresh workspace on "Do you trust the files in
|
|
120
|
+
* this folder?" and nothing in tmux answers it, so the process exits and the
|
|
121
|
+
* instance crash-loops. No CLI flag skips it interactively (verified on
|
|
122
|
+
* 2.1.250 — only -p / non-TTY stdout bypass the dialog); the recognised
|
|
123
|
+
* signal is projects[<cwd>].hasTrustDialogAccepted in claude.json.
|
|
124
|
+
*/
|
|
125
|
+
preTrust(workingDirectory: string): void;
|
|
126
|
+
/** Pre-approve ANTHROPIC_API_KEY in claude.json to skip the interactive prompt */
|
|
88
127
|
private preApproveApiKey;
|
|
89
|
-
/** Check if user has an active OAuth session in
|
|
128
|
+
/** Check if user has an active OAuth session in claude.json */
|
|
90
129
|
private hasOAuthSession;
|
|
91
130
|
private writeStatusLineScript;
|
|
92
131
|
}
|