agy-paperclip-adapter 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/server/index.d.ts +1 -1
- package/dist/server/index.js +34 -2
- package/dist/server/test.js +20 -2
- package/package.json +2 -2
package/dist/server/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export declare const type = "antigravity";
|
|
|
4
4
|
export declare const label = "Antigravity";
|
|
5
5
|
export { icon, iconSvg };
|
|
6
6
|
export declare const sessionCodec: AdapterSessionCodec;
|
|
7
|
-
export declare const agentConfigurationDoc = "# Antigravity Agent Configuration\n\nAdapter: antigravity\n\nUse when:\n- You want Paperclip to orchestrate Google Antigravity (agy) local CLI agents.\n- You want model selection across Gemini 3.8 Flash, Gemini 3.7 Flash, Gemini 3.6 Flash, Gemini 3.1 Pro, Claude Sonnet/Opus, or GPT-OSS models.\n- You want to hire multiple local agents with individual instructions and Paperclip skills.\n- You want persistent conversation session state across heartbeats.\n\nCore fields:\n- model (string): Antigravity model ID (e.g. gemini-3.8-flash-high, gemini-3.7-flash-high, claude-sonnet-4-6).\n- effort (string, optional): Reasoning effort (low, medium, high, max).\n- mode (string, optional): accept-edits or plan.\n- command (string, optional): agy binary command path (defaults to \"agy\").\n- cwd (string, optional): Working directory fallback.\n- instructionsFilePath (string, optional): Path to instructions markdown file (e.g. AGENTS.md).\n- timeoutSec (number, optional): Execution timeout in seconds (default: 600).\n";
|
|
7
|
+
export declare const agentConfigurationDoc = "# Antigravity Agent Configuration\n\nAdapter: antigravity\n\nUse when:\n- You want Paperclip to orchestrate Google Antigravity (agy) local CLI agents.\n- You want model selection across Gemini 3.8 Flash, Gemini 3.7 Flash, Gemini 3.6 Flash, Gemini 3.1 Pro, Claude Sonnet/Opus, or GPT-OSS models.\n- You want to hire multiple local agents with individual instructions and configurable Paperclip skills.\n- You want persistent conversation session state across heartbeats.\n\nCore fields:\n- model (string): Antigravity model ID (e.g. gemini-3.8-flash-high, gemini-3.7-flash-high, claude-sonnet-4-6).\n- effort (string, optional): Reasoning effort (low, medium, high, max).\n- mode (string, optional): accept-edits or plan.\n- command (string, optional): agy binary command path (defaults to \"agy\").\n- cwd (string, optional): Working directory fallback.\n- instructionsFilePath (string, optional): Path to instructions markdown file (e.g. AGENTS.md).\n- timeoutSec (number, optional): Execution timeout in seconds (default: 600).\n";
|
|
8
8
|
export declare function getConfigSchema(): {
|
|
9
9
|
fields: ({
|
|
10
10
|
key: string;
|
package/dist/server/index.js
CHANGED
|
@@ -30,7 +30,7 @@ Adapter: antigravity
|
|
|
30
30
|
Use when:
|
|
31
31
|
- You want Paperclip to orchestrate Google Antigravity (agy) local CLI agents.
|
|
32
32
|
- You want model selection across Gemini 3.8 Flash, Gemini 3.7 Flash, Gemini 3.6 Flash, Gemini 3.1 Pro, Claude Sonnet/Opus, or GPT-OSS models.
|
|
33
|
-
- You want to hire multiple local agents with individual instructions and Paperclip skills.
|
|
33
|
+
- You want to hire multiple local agents with individual instructions and configurable Paperclip skills.
|
|
34
34
|
- You want persistent conversation session state across heartbeats.
|
|
35
35
|
|
|
36
36
|
Core fields:
|
|
@@ -103,9 +103,41 @@ export function createServerAdapter() {
|
|
|
103
103
|
models,
|
|
104
104
|
agentConfigurationDoc,
|
|
105
105
|
getConfigSchema,
|
|
106
|
-
|
|
106
|
+
requiresMaterializedRuntimeSkills: true,
|
|
107
107
|
supportsInstructionsBundle: true,
|
|
108
108
|
instructionsPathKey: "instructionsFilePath",
|
|
109
109
|
supportsLocalAgentJwt: true,
|
|
110
|
+
acp: {
|
|
111
|
+
agentId: "custom",
|
|
112
|
+
skillsMode: "ephemeral",
|
|
113
|
+
prerequisites: {},
|
|
114
|
+
},
|
|
115
|
+
async listSkills(ctx) {
|
|
116
|
+
return {
|
|
117
|
+
adapterType: ctx.adapterType,
|
|
118
|
+
supported: true,
|
|
119
|
+
mode: "ephemeral",
|
|
120
|
+
desiredSkills: [],
|
|
121
|
+
entries: [],
|
|
122
|
+
warnings: [],
|
|
123
|
+
};
|
|
124
|
+
},
|
|
125
|
+
async syncSkills(ctx, desiredSkills) {
|
|
126
|
+
return {
|
|
127
|
+
adapterType: ctx.adapterType,
|
|
128
|
+
supported: true,
|
|
129
|
+
mode: "ephemeral",
|
|
130
|
+
desiredSkills,
|
|
131
|
+
entries: desiredSkills.map((key) => ({
|
|
132
|
+
key,
|
|
133
|
+
runtimeName: key,
|
|
134
|
+
desired: true,
|
|
135
|
+
managed: true,
|
|
136
|
+
state: "installed",
|
|
137
|
+
locationLabel: `.agents/skills/${key}`,
|
|
138
|
+
})),
|
|
139
|
+
warnings: [],
|
|
140
|
+
};
|
|
141
|
+
},
|
|
110
142
|
};
|
|
111
143
|
}
|
package/dist/server/test.js
CHANGED
|
@@ -5,10 +5,10 @@ export async function testEnvironment(ctx) {
|
|
|
5
5
|
const checks = [];
|
|
6
6
|
const command = String(ctx.config.command ?? "agy");
|
|
7
7
|
try {
|
|
8
|
-
const { stdout } = await execFileAsync(command, ["--version"], {
|
|
8
|
+
const { stdout: versionStdout } = await execFileAsync(command, ["--version"], {
|
|
9
9
|
timeout: 5000,
|
|
10
10
|
});
|
|
11
|
-
const version =
|
|
11
|
+
const version = versionStdout.trim();
|
|
12
12
|
checks.push({
|
|
13
13
|
level: "info",
|
|
14
14
|
message: `Antigravity CLI detected: ${version}`,
|
|
@@ -23,6 +23,24 @@ export async function testEnvironment(ctx) {
|
|
|
23
23
|
code: "agy_cli_missing",
|
|
24
24
|
});
|
|
25
25
|
}
|
|
26
|
+
// Execution probe: test agy with a prompt command
|
|
27
|
+
try {
|
|
28
|
+
const { stdout: probeStdout } = await execFileAsync(command, ["--dangerously-skip-permissions", '--print="Say hello world"'], { timeout: 15000 });
|
|
29
|
+
const responseText = probeStdout.trim().slice(0, 150);
|
|
30
|
+
checks.push({
|
|
31
|
+
level: "info",
|
|
32
|
+
message: `Antigravity CLI probe response: ${responseText || "OK"}`,
|
|
33
|
+
code: "agy_probe_success",
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
catch (err) {
|
|
37
|
+
checks.push({
|
|
38
|
+
level: "warn",
|
|
39
|
+
message: `Antigravity execution probe failed: ${err instanceof Error ? err.message : String(err)}`,
|
|
40
|
+
hint: "Check Antigravity API keys, network connection, or permissions.",
|
|
41
|
+
code: "agy_probe_failed",
|
|
42
|
+
});
|
|
43
|
+
}
|
|
26
44
|
const cwd = ctx.config.cwd ? String(ctx.config.cwd) : null;
|
|
27
45
|
if (cwd && !cwd.startsWith("/")) {
|
|
28
46
|
checks.push({
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agy-paperclip-adapter",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "Google Antigravity (agy) local agent adapter for Paperclip",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -53,4 +53,4 @@
|
|
|
53
53
|
"@types/node": "^24.0.0",
|
|
54
54
|
"typescript": "^5.7.0"
|
|
55
55
|
}
|
|
56
|
-
}
|
|
56
|
+
}
|