@wrongstack/acp 0.309.1 → 0.310.0
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/agent/index.d.ts +9 -9
- package/dist/agent/protocol-contract.d.ts +1 -1
- package/dist/agent.js +897 -898
- package/dist/client/acp-session.d.ts +3 -3
- package/dist/client/tool-translator.d.ts +2 -2
- package/dist/client.js +1005 -1023
- package/dist/index.d.ts +2 -1
- package/dist/index.js +997 -1023
- package/dist/integration/acp-subagent-runner.d.ts +1 -1
- package/dist/integration/run-one-acp-task.d.ts +6 -0
- package/dist/registry/acp-registry-fetch.d.ts +1 -1
- package/dist/registry/agents.catalog.d.ts +1 -1
- package/dist/registry/contracts.d.ts +54 -0
- package/dist/registry/ensemble-registry.d.ts +3 -42
- package/dist/v1.js +1 -3
- package/package.json +2 -2
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* `SubagentRunner` interface (same shape as `AgentSubagentRunner`).
|
|
13
13
|
*/
|
|
14
14
|
import type { SubagentRunner } from '@wrongstack/core/types';
|
|
15
|
-
import {
|
|
15
|
+
import { type ACPProgressHandler, ACPSession } from '../client/acp-session.js';
|
|
16
16
|
import type { PermissionPolicy } from '../client/permission.js';
|
|
17
17
|
import type { McpServer } from '../types/acp-v1.js';
|
|
18
18
|
export interface ACPSubagentRunnerOptions {
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One-shot ACP task runner, split out of acp-subagent-runner.ts so the
|
|
3
|
+
* `client` entry (which only needs `makeACPSubagentRunner`) doesn't bundle
|
|
4
|
+
* the SubagentBudget machinery. This is the shared engine behind
|
|
5
|
+
* `wstack acp spawn` and `/acp <id> <task>`.
|
|
6
|
+
*/
|
|
1
7
|
import type { ACPProgressHandler } from '../client/acp-session.js';
|
|
2
8
|
import type { PermissionPolicy } from '../client/permission.js';
|
|
3
9
|
export interface RunOneAcpTaskOptions {
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
* `wstack acp sync` / `/acp sync`, the result is cached, and resolution falls
|
|
24
24
|
* back to the static catalog when no cache exists.
|
|
25
25
|
*/
|
|
26
|
-
import type { ACPAgentDescriptor } from './
|
|
26
|
+
import type { ACPAgentDescriptor } from './contracts.js';
|
|
27
27
|
/** Canonical CDN endpoint for the latest registry snapshot. */
|
|
28
28
|
export declare const ACP_REGISTRY_URL = "https://cdn.agentclientprotocol.com/registry/v1/latest/registry.json";
|
|
29
29
|
/** One raw entry from the registry JSON (only the fields we consume). */
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
* a non-empty stdout line is considered installed. Probes that time out
|
|
36
36
|
* or print nothing are treated as not-installed.
|
|
37
37
|
*/
|
|
38
|
-
import type { ACPAgentDescriptor } from './
|
|
38
|
+
import type { ACPAgentDescriptor } from './contracts.js';
|
|
39
39
|
/**
|
|
40
40
|
* The catalog. Order is significant for the TUI render — most-requested
|
|
41
41
|
* agents go first. Edit by re-ordering, not by alphabetising.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Leaf contract types for the @wrongstack/acp public surface.
|
|
3
|
+
*
|
|
4
|
+
* Lives separately from `ensemble-registry.ts` so callers (catalog,
|
|
5
|
+
* runtime registry fetcher, public re-exports) can depend on the
|
|
6
|
+
* wire-level descriptor shape without pulling in the ensemble
|
|
7
|
+
* implementation. Breaks the long-standing type-level SCC
|
|
8
|
+
* ARCH-CYCLE-TYPE-02 where `ensemble-registry.ts` both homed the
|
|
9
|
+
* shared descriptor and was imported back by `agents.catalog.ts`.
|
|
10
|
+
*
|
|
11
|
+
* This module MUST contain no runtime imports.
|
|
12
|
+
*/
|
|
13
|
+
/** Vendor classification — used to filter the catalog by family. */
|
|
14
|
+
export type ACPAgentVendor = 'anthropic' | 'google' | 'openai' | 'github' | 'moonshot' | 'community';
|
|
15
|
+
/** How the agent is integrated into ACP. */
|
|
16
|
+
export type ACPIntegration =
|
|
17
|
+
/** Agent ships with a documented ACP entry flag. */
|
|
18
|
+
'native'
|
|
19
|
+
/** Runs through Zed's SDK adapter or similar wrapper. */
|
|
20
|
+
| 'adapter'
|
|
21
|
+
/** Community-maintained wrapper (e.g. @agentify/cline, bub-acp-server). */
|
|
22
|
+
| 'community'
|
|
23
|
+
/** Listed by ACP but no public ACP entry yet; may not work. */
|
|
24
|
+
| 'experimental';
|
|
25
|
+
/** Static metadata for a known agent. */
|
|
26
|
+
export interface ACPAgentDescriptor {
|
|
27
|
+
/** Stable identifier used as the spawn key. Lowercase, hyphenated. */
|
|
28
|
+
id: string;
|
|
29
|
+
/** Display name shown in the TUI / WebUI / CLI. */
|
|
30
|
+
displayName: string;
|
|
31
|
+
vendor: ACPAgentVendor;
|
|
32
|
+
/** argv to detect installation. Exits 0 with stdout on success. */
|
|
33
|
+
probe: {
|
|
34
|
+
command: string;
|
|
35
|
+
args?: readonly string[];
|
|
36
|
+
};
|
|
37
|
+
/** argv to start the agent in ACP mode. */
|
|
38
|
+
acp: {
|
|
39
|
+
command: string;
|
|
40
|
+
args?: readonly string[];
|
|
41
|
+
env?: Record<string, string>;
|
|
42
|
+
};
|
|
43
|
+
/** Capability hints — used to fail fast when the binary predates ACP. */
|
|
44
|
+
supports: {
|
|
45
|
+
loadSession: boolean;
|
|
46
|
+
promptImages: boolean;
|
|
47
|
+
terminal: boolean;
|
|
48
|
+
fs: boolean;
|
|
49
|
+
};
|
|
50
|
+
integration: ACPIntegration;
|
|
51
|
+
/** Documentation URL — shown in `wstack acp list` and the ensemble UI. */
|
|
52
|
+
docs: string;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=contracts.d.ts.map
|
|
@@ -14,47 +14,9 @@
|
|
|
14
14
|
* fresh case correct.
|
|
15
15
|
*/
|
|
16
16
|
import { spawn } from 'node:child_process';
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
export type ACPIntegration =
|
|
21
|
-
/** Agent ships with a documented ACP entry flag. */
|
|
22
|
-
'native'
|
|
23
|
-
/** Runs through Zed's SDK adapter or similar wrapper. */
|
|
24
|
-
| 'adapter'
|
|
25
|
-
/** Community-maintained wrapper (e.g. @agentify/cline, bub-acp-server). */
|
|
26
|
-
| 'community'
|
|
27
|
-
/** Listed by ACP but no public ACP entry yet; may not work. */
|
|
28
|
-
| 'experimental';
|
|
29
|
-
/** Static metadata for a known agent. */
|
|
30
|
-
export interface ACPAgentDescriptor {
|
|
31
|
-
/** Stable identifier used as the spawn key. Lowercase, hyphenated. */
|
|
32
|
-
id: string;
|
|
33
|
-
/** Display name shown in the TUI / WebUI / CLI. */
|
|
34
|
-
displayName: string;
|
|
35
|
-
vendor: ACPAgentVendor;
|
|
36
|
-
/** argv to detect installation. Exits 0 with stdout on success. */
|
|
37
|
-
probe: {
|
|
38
|
-
command: string;
|
|
39
|
-
args?: readonly string[];
|
|
40
|
-
};
|
|
41
|
-
/** argv to start the agent in ACP mode. */
|
|
42
|
-
acp: {
|
|
43
|
-
command: string;
|
|
44
|
-
args?: readonly string[];
|
|
45
|
-
env?: Record<string, string>;
|
|
46
|
-
};
|
|
47
|
-
/** Capability hints — used to fail fast when the binary predates ACP. */
|
|
48
|
-
supports: {
|
|
49
|
-
loadSession: boolean;
|
|
50
|
-
promptImages: boolean;
|
|
51
|
-
terminal: boolean;
|
|
52
|
-
fs: boolean;
|
|
53
|
-
};
|
|
54
|
-
integration: ACPIntegration;
|
|
55
|
-
/** Documentation URL — shown in `wstack acp list` and the ensemble UI. */
|
|
56
|
-
docs: string;
|
|
57
|
-
}
|
|
17
|
+
export type { ACPAgentVendor, ACPIntegration } from './contracts.js';
|
|
18
|
+
import type { ACPAgentDescriptor } from './contracts.js';
|
|
19
|
+
export type { ACPAgentDescriptor };
|
|
58
20
|
/** A descriptor with its runtime detection result attached. */
|
|
59
21
|
export interface DetectedAgent extends ACPAgentDescriptor {
|
|
60
22
|
installed: boolean;
|
|
@@ -122,5 +84,4 @@ export declare class EnsembleRegistry {
|
|
|
122
84
|
/** Convenience: just the installed agents. */
|
|
123
85
|
listInstalled(): Promise<readonly DetectedAgent[]>;
|
|
124
86
|
}
|
|
125
|
-
export {};
|
|
126
87
|
//# sourceMappingURL=ensemble-registry.d.ts.map
|
package/dist/v1.js
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
// src/types/acp-v1.ts
|
|
2
2
|
var ACP_PROTOCOL_VERSION = 1;
|
|
3
3
|
function assertNeverSessionUpdate(x) {
|
|
4
|
-
throw new Error(
|
|
5
|
-
`Unhandled sessionUpdate: ${JSON.stringify(x)}`
|
|
6
|
-
);
|
|
4
|
+
throw new Error(`Unhandled sessionUpdate: ${JSON.stringify(x)}`);
|
|
7
5
|
}
|
|
8
6
|
export {
|
|
9
7
|
ACP_PROTOCOL_VERSION,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wrongstack/acp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.310.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "ACP (Agent Client Protocol) integration for WrongStack — client + agent support",
|
|
6
6
|
"keywords": [
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
],
|
|
53
53
|
"dependencies": {
|
|
54
54
|
"@agentclientprotocol/sdk": "^1.4.0",
|
|
55
|
-
"@wrongstack/core": "0.
|
|
55
|
+
"@wrongstack/core": "0.310.0"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
58
|
"@types/node": "^26.2.0",
|