teamshare-bridge 0.2.1 → 0.2.3
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 +40 -11
- package/dist/bridge/daemon.js +43 -9
- package/dist/bridge/daemon.js.map +1 -1
- package/dist/bridge/spawn.d.ts +2 -0
- package/dist/bridge/spawn.js +11 -5
- package/dist/bridge/spawn.js.map +1 -1
- package/dist/cli/args.d.ts +8 -0
- package/dist/cli/args.js +38 -0
- package/dist/cli/args.js.map +1 -0
- package/dist/cli/commands/build.d.ts +1 -0
- package/dist/cli/commands/build.js +385 -0
- package/dist/cli/commands/build.js.map +1 -0
- package/dist/cli/commands/chat.d.ts +1 -0
- package/dist/cli/commands/chat.js +113 -0
- package/dist/cli/commands/chat.js.map +1 -0
- package/dist/cli/commands/connect.d.ts +1 -0
- package/dist/cli/commands/connect.js +23 -0
- package/dist/cli/commands/connect.js.map +1 -0
- package/dist/cli/commands/doc.d.ts +1 -0
- package/dist/cli/commands/doc.js +109 -0
- package/dist/cli/commands/doc.js.map +1 -0
- package/dist/cli/commands/harness.d.ts +3 -0
- package/dist/cli/commands/harness.js +86 -0
- package/dist/cli/commands/harness.js.map +1 -0
- package/dist/cli/commands/key.d.ts +2 -0
- package/dist/cli/commands/key.js +126 -0
- package/dist/cli/commands/key.js.map +1 -0
- package/dist/cli/commands/link.d.ts +2 -0
- package/dist/cli/commands/link.js +93 -0
- package/dist/cli/commands/link.js.map +1 -0
- package/dist/cli/commands/run.d.ts +1 -0
- package/dist/cli/commands/run.js +219 -0
- package/dist/cli/commands/run.js.map +1 -0
- package/dist/cli/commands/shared.d.ts +6 -0
- package/dist/cli/commands/shared.js +51 -0
- package/dist/cli/commands/shared.js.map +1 -0
- package/dist/cli/commands/skills.d.ts +1 -0
- package/dist/cli/commands/skills.js +29 -0
- package/dist/cli/commands/skills.js.map +1 -0
- package/dist/cli/commands/usage.d.ts +1 -0
- package/dist/cli/commands/usage.js +78 -0
- package/dist/cli/commands/usage.js.map +1 -0
- package/dist/cli/index.js +48 -1499
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/utils.d.ts +38 -0
- package/dist/cli/utils.js +139 -0
- package/dist/cli/utils.js.map +1 -0
- package/dist/lib/api.d.ts +13 -1
- package/dist/lib/api.js +5 -2
- package/dist/lib/api.js.map +1 -1
- package/dist/lib/brief.js +19 -3
- package/dist/lib/brief.js.map +1 -1
- package/dist/lib/chat-reply.d.ts +4 -3
- package/dist/lib/chat-reply.js +24 -27
- package/dist/lib/chat-reply.js.map +1 -1
- package/dist/lib/config.d.ts +3 -1
- package/dist/lib/config.js +1 -0
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/doc-reply.d.ts +2 -1
- package/dist/lib/doc-reply.js +14 -7
- package/dist/lib/doc-reply.js.map +1 -1
- package/dist/lib/harness-adapter.d.ts +47 -0
- package/dist/lib/harness-adapter.js +283 -0
- package/dist/lib/harness-adapter.js.map +1 -0
- package/dist/lib/llm.js +8 -7
- package/dist/lib/llm.js.map +1 -1
- package/dist/lib/models.d.ts +7 -1
- package/dist/lib/models.js +31 -2
- package/dist/lib/models.js.map +1 -1
- package/dist/lib/orchestrator/client.d.ts +44 -4
- package/dist/lib/orchestrator/client.js +492 -21
- package/dist/lib/orchestrator/client.js.map +1 -1
- package/dist/lib/orchestrator/index.d.ts +1 -1
- package/dist/lib/orchestrator/index.js +5 -1
- package/dist/lib/orchestrator/index.js.map +1 -1
- package/dist/lib/orchestrator/worktree.d.ts +52 -0
- package/dist/lib/orchestrator/worktree.js +250 -6
- package/dist/lib/orchestrator/worktree.js.map +1 -1
- package/dist/lib/skills.d.ts +2 -2
- package/dist/lib/skills.js +2 -1
- package/dist/lib/skills.js.map +1 -1
- package/package.json +1 -1
- package/skills/teamshare-orchestrator-ask/SKILL.md +63 -0
package/dist/lib/chat-reply.js
CHANGED
|
@@ -37,6 +37,7 @@ exports.runChatReply = runChatReply;
|
|
|
37
37
|
const harness_1 = require("./harness");
|
|
38
38
|
const llm_1 = require("./llm");
|
|
39
39
|
const partial_stream_1 = require("./partial-stream");
|
|
40
|
+
const harness_adapter_1 = require("./harness-adapter");
|
|
40
41
|
const CONTEXT_WINDOW = 10;
|
|
41
42
|
/** Generates a reply via the harness (non-interactive) or headless LLM. */
|
|
42
43
|
async function generateReply(agentName, target, prompt, projectId, opts, projectName, onToken, agentUserId) {
|
|
@@ -50,16 +51,19 @@ async function generateReply(agentName, target, prompt, projectId, opts, project
|
|
|
50
51
|
const { resolveModel, HARNESS_NATIVE_PROVIDERS, getHarnessFallbackModel } = await Promise.resolve().then(() => __importStar(require('./models')));
|
|
51
52
|
const resolved = resolveModel(opts.llm?.model ?? '');
|
|
52
53
|
if (resolved.harnessOnly) {
|
|
53
|
-
// opencode-go models must go through the harness, not --self
|
|
54
54
|
const fallbackModel = getHarnessFallbackModel(opts.llm?.model);
|
|
55
|
-
console.log(`[chat-reply]
|
|
56
|
-
|
|
57
|
-
|
|
55
|
+
console.log(`[chat-reply] harness-only model detected - using harness with fallback: ${fallbackModel}`);
|
|
56
|
+
// Try the configured harness, then fall back to any available
|
|
57
|
+
const harnessName = (0, harness_adapter_1.resolveHarness)(opts.harness);
|
|
58
|
+
if (harnessName !== 'none' && (0, harness_1.hasBin)((0, harness_adapter_1.getAdapter)(harnessName).binary)) {
|
|
59
|
+
return (0, harness_1.runHarness)((0, harness_adapter_1.getAdapter)(harnessName).binary, (0, harness_adapter_1.getAdapter)(harnessName).headlessArgs(prompt, {
|
|
60
|
+
model: fallbackModel,
|
|
61
|
+
title: `TeamShare chat ${projectId}`,
|
|
62
|
+
agentKey: opts.api?.apiKey,
|
|
63
|
+
apiBaseUrl: opts.api?.baseUrl,
|
|
64
|
+
}), { opencodeAgentKey: opts.api?.apiKey, opencodeMcpUrl: opts.api?.baseUrl });
|
|
58
65
|
}
|
|
59
|
-
|
|
60
|
-
return (0, harness_1.runHarness)('claude', ['-p', prompt]);
|
|
61
|
-
}
|
|
62
|
-
throw new Error('opencode-go model requires opencode harness (install opencode or use a non-harness model with --self)');
|
|
66
|
+
throw new Error('harness-only model requires a harness (install one of: opencode, claude, codex, gemini, copilot, goose, openhands)');
|
|
63
67
|
}
|
|
64
68
|
if (opts.selfMode || opts.harness === 'none') {
|
|
65
69
|
if (!opts.llm?.apiKey) {
|
|
@@ -68,8 +72,6 @@ async function generateReply(agentName, target, prompt, projectId, opts, project
|
|
|
68
72
|
if (!opts.api) {
|
|
69
73
|
throw new Error('--self mode requires opts.api (TeamshareApi) for the tool loop');
|
|
70
74
|
}
|
|
71
|
-
// Use the full tool loop — the agent can create tasks, list docs,
|
|
72
|
-
// search, add comments, etc. from chat.
|
|
73
75
|
const reply = await (0, llm_1.runProjectSession)(opts.api, projectId, prompt, {
|
|
74
76
|
baseUrl: opts.llm.baseUrl,
|
|
75
77
|
apiKey: opts.llm.apiKey,
|
|
@@ -83,13 +85,19 @@ async function generateReply(agentName, target, prompt, projectId, opts, project
|
|
|
83
85
|
onToken(reply);
|
|
84
86
|
return reply;
|
|
85
87
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
88
|
+
// Resolve the harness and spawn it
|
|
89
|
+
const harnessName = (0, harness_adapter_1.resolveHarness)(opts.harness);
|
|
90
|
+
if (harnessName !== 'none') {
|
|
91
|
+
const adapter = (0, harness_adapter_1.getAdapter)(harnessName);
|
|
92
|
+
if ((0, harness_1.hasBin)(adapter.binary)) {
|
|
93
|
+
return (0, harness_1.runHarness)(adapter.binary, adapter.headlessArgs(prompt, {
|
|
94
|
+
title: `TeamShare chat ${projectId}`,
|
|
95
|
+
agentKey: opts.api?.apiKey,
|
|
96
|
+
apiBaseUrl: opts.api?.baseUrl,
|
|
97
|
+
}), { opencodeAgentKey: opts.api?.apiKey, opencodeMcpUrl: opts.api?.baseUrl });
|
|
98
|
+
}
|
|
91
99
|
}
|
|
92
|
-
throw new Error('No harness found (install opencode
|
|
100
|
+
throw new Error('No harness found (install one of: opencode, claude, codex, gemini, copilot, goose, openhands, or use --self with LLM_API_KEY)');
|
|
93
101
|
}
|
|
94
102
|
function mentionPrompt(agentName, target, context, projectId, projectName, agentUserId) {
|
|
95
103
|
const lines = context
|
|
@@ -133,14 +141,10 @@ async function runChatReply(api, agentId, projectId, mentionToken, opts, targetI
|
|
|
133
141
|
const rows = [...(page ?? [])].sort((a, b) => new Date(a.createdAt).getTime() - new Date(b.createdAt).getTime());
|
|
134
142
|
if (!rows.length)
|
|
135
143
|
return { replied: 0, skipped: 0 };
|
|
136
|
-
// Project name anchors the agent: without it the model cannot tell which
|
|
137
|
-
// project it is working in and may invent tasks in the wrong one.
|
|
138
144
|
const project = await api.getProject(projectId).catch(() => null);
|
|
139
145
|
const projectName = project && typeof project === 'object' && 'name' in project
|
|
140
146
|
? String(project.name ?? '')
|
|
141
147
|
: undefined;
|
|
142
|
-
// Every message that mentions the agent, excluding messages the agent
|
|
143
|
-
// itself authored (its own replies mention other people, not itself).
|
|
144
148
|
const mentions = rows.filter((m) => {
|
|
145
149
|
const mentionsAgent = m.body.toLowerCase().includes(`@${token}`);
|
|
146
150
|
const isAgent = m.author?.kind === 'agent' ||
|
|
@@ -149,14 +153,10 @@ async function runChatReply(api, agentId, projectId, mentionToken, opts, targetI
|
|
|
149
153
|
});
|
|
150
154
|
if (!mentions.length)
|
|
151
155
|
return { replied: 0, skipped: 0 };
|
|
152
|
-
// Pick the single target: the specific message the wake triggered on,
|
|
153
|
-
// or the latest mention as a safe fallback.
|
|
154
156
|
let target;
|
|
155
157
|
if (targetId) {
|
|
156
158
|
const found = mentions.find((m) => m.id === targetId);
|
|
157
159
|
if (!found) {
|
|
158
|
-
// The target is not in the last 50 messages or already agent-replied;
|
|
159
|
-
// fall back to the latest mention.
|
|
160
160
|
target = mentions[mentions.length - 1];
|
|
161
161
|
}
|
|
162
162
|
else {
|
|
@@ -164,13 +164,10 @@ async function runChatReply(api, agentId, projectId, mentionToken, opts, targetI
|
|
|
164
164
|
}
|
|
165
165
|
}
|
|
166
166
|
else {
|
|
167
|
-
// No targetId (direct CLI run) — reply to only the latest mention.
|
|
168
167
|
target = mentions[mentions.length - 1];
|
|
169
168
|
}
|
|
170
169
|
const targetIndex = rows.findIndex((r) => r.id === target.id);
|
|
171
170
|
const context = rows.slice(Math.max(0, targetIndex - CONTEXT_WINDOW), targetIndex + 1);
|
|
172
|
-
// The agent's own user id: lets "assign to yourself" resolve to the agent
|
|
173
|
-
// (create_task accepts assigneeId "me"/"self").
|
|
174
171
|
const settings = await api.getAgentSettings(agentId).catch(() => null);
|
|
175
172
|
const agentUserId = settings?.userId ?? undefined;
|
|
176
173
|
const prompt = mentionPrompt(selfName, target, context, projectId, projectName, agentUserId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-reply.js","sourceRoot":"","sources":["../../src/lib/chat-reply.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"chat-reply.js","sourceRoot":"","sources":["../../src/lib/chat-reply.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/config.d.ts
CHANGED
|
@@ -21,7 +21,7 @@ export interface ProjectLink {
|
|
|
21
21
|
export interface BridgeConfig {
|
|
22
22
|
agents: AgentConfig[];
|
|
23
23
|
port: number;
|
|
24
|
-
harness: 'auto' | 'opencode' | 'claude' | 'none';
|
|
24
|
+
harness: 'auto' | 'opencode' | 'claude' | 'codex' | 'gemini' | 'copilot' | 'goose' | 'openhands' | 'aider' | 'none';
|
|
25
25
|
quietHours: {
|
|
26
26
|
start: string;
|
|
27
27
|
end: string;
|
|
@@ -44,6 +44,8 @@ export interface BridgeConfig {
|
|
|
44
44
|
* LLM_API_KEY / CHAT_LLM_API_KEY env vars.
|
|
45
45
|
*/
|
|
46
46
|
chatKey?: string;
|
|
47
|
+
/** Run sessions as detached background processes (no visible terminal). */
|
|
48
|
+
backgroundSessions?: boolean;
|
|
47
49
|
}
|
|
48
50
|
export declare function configPath(): string;
|
|
49
51
|
export declare function defaultConfig(): BridgeConfig;
|
package/dist/lib/config.js
CHANGED
package/dist/lib/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/doc-reply.d.ts
CHANGED
|
@@ -6,8 +6,9 @@
|
|
|
6
6
|
* answer questions about the document content.
|
|
7
7
|
*/
|
|
8
8
|
import { TeamshareApi } from './api';
|
|
9
|
+
import { type HarnessName } from './harness-adapter';
|
|
9
10
|
export interface DocReplyOptions {
|
|
10
|
-
harness:
|
|
11
|
+
harness: HarnessName;
|
|
11
12
|
selfMode: boolean;
|
|
12
13
|
llm?: {
|
|
13
14
|
baseUrl: string;
|
package/dist/lib/doc-reply.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.runDocReply = runDocReply;
|
|
4
4
|
const harness_1 = require("./harness");
|
|
5
5
|
const llm_1 = require("./llm");
|
|
6
|
+
const harness_adapter_1 = require("./harness-adapter");
|
|
6
7
|
const MAX_TARGETS = 10;
|
|
7
8
|
const CONTEXT_WINDOW = 10;
|
|
8
9
|
const MAX_DOC_CHARS = 60_000;
|
|
@@ -18,13 +19,19 @@ function generateReply(agentName, target, prompt, opts) {
|
|
|
18
19
|
}
|
|
19
20
|
return (0, llm_1.complete)(prompt, opts.llm);
|
|
20
21
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
// Resolve the harness and spawn it
|
|
23
|
+
const harnessName = (0, harness_adapter_1.resolveHarness)(opts.harness);
|
|
24
|
+
if (harnessName !== 'none') {
|
|
25
|
+
const adapter = (0, harness_adapter_1.getAdapter)(harnessName);
|
|
26
|
+
if ((0, harness_1.hasBin)(adapter.binary)) {
|
|
27
|
+
return Promise.resolve((0, harness_1.runHarness)(adapter.binary, adapter.headlessArgs(prompt, {
|
|
28
|
+
title: `TeamShare doc ${opts.documentId}`,
|
|
29
|
+
agentKey: opts.api?.apiKey,
|
|
30
|
+
apiBaseUrl: opts.api?.baseUrl,
|
|
31
|
+
}), { opencodeAgentKey: opts.api?.apiKey, opencodeMcpUrl: opts.api?.baseUrl }));
|
|
32
|
+
}
|
|
26
33
|
}
|
|
27
|
-
throw new Error('No harness found (install opencode
|
|
34
|
+
throw new Error('No harness found (install one of: opencode, claude, codex, gemini, copilot, goose, openhands, or use --self with a provider API key)');
|
|
28
35
|
}
|
|
29
36
|
function docPrompt(agentName, docName, docText, target, context, maxChars) {
|
|
30
37
|
const thread = context
|
|
@@ -76,7 +83,7 @@ async function runDocReply(api, agentId, documentId, mentionToken, opts) {
|
|
|
76
83
|
const usesHarness = !opts.echo &&
|
|
77
84
|
!opts.selfMode &&
|
|
78
85
|
opts.harness !== 'none' &&
|
|
79
|
-
(opts.harness !== 'auto' || (0, harness_1.hasBin)('opencode') || (0, harness_1.hasBin)('claude'));
|
|
86
|
+
(opts.harness !== 'auto' || (0, harness_1.hasBin)('opencode') || (0, harness_1.hasBin)('claude') || (0, harness_1.hasBin)('codex') || (0, harness_1.hasBin)('gemini') || (0, harness_1.hasBin)('copilot') || (0, harness_1.hasBin)('goose') || (0, harness_1.hasBin)('openhands'));
|
|
80
87
|
for (const target of targets.slice(0, MAX_TARGETS)) {
|
|
81
88
|
const targetIndex = rows.findIndex((r) => r.id === target.id);
|
|
82
89
|
const context = rows.slice(Math.max(0, targetIndex - CONTEXT_WINDOW), targetIndex + 1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doc-reply.js","sourceRoot":"","sources":["../../src/lib/doc-reply.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"doc-reply.js","sourceRoot":"","sources":["../../src/lib/doc-reply.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export type HarnessName = 'auto' | 'opencode' | 'claude' | 'codex' | 'gemini' | 'copilot' | 'goose' | 'openhands' | 'aider' | 'none';
|
|
2
|
+
export interface SpawnOpts {
|
|
3
|
+
model?: string;
|
|
4
|
+
temperature?: number;
|
|
5
|
+
cwd?: string;
|
|
6
|
+
timeoutMin?: number;
|
|
7
|
+
title?: string;
|
|
8
|
+
agentKey?: string;
|
|
9
|
+
apiBaseUrl?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface HarnessAdapter {
|
|
12
|
+
/** Display name. */
|
|
13
|
+
name: string;
|
|
14
|
+
/** CLI binary name (must be on PATH). */
|
|
15
|
+
binary: string;
|
|
16
|
+
/** Include in 'auto' detection order. */
|
|
17
|
+
autoDetect: boolean;
|
|
18
|
+
/** Priority (lower = detected first in auto mode). */
|
|
19
|
+
priority: number;
|
|
20
|
+
/** Build the CLI args for a non-interactive headless run. */
|
|
21
|
+
headlessArgs(prompt: string, opts: SpawnOpts): string[];
|
|
22
|
+
/** Extra env vars for this session. */
|
|
23
|
+
envForSession(opts: SpawnOpts): Record<string, string>;
|
|
24
|
+
/** Whether this harness supports MCP tool injection. */
|
|
25
|
+
supportsMcp: boolean;
|
|
26
|
+
/** Write a per-session MCP config override (returns temp file + cleanup). */
|
|
27
|
+
writeMcpConfig?(agentKey: string, apiBaseUrl: string): {
|
|
28
|
+
file: string;
|
|
29
|
+
cleanup: () => void;
|
|
30
|
+
} | null;
|
|
31
|
+
/** Resume a previous session (flag or subcommand). */
|
|
32
|
+
sessionResumeFlag?: string;
|
|
33
|
+
/** Whether the harness produces structured JSON output. */
|
|
34
|
+
structuredOutput: boolean;
|
|
35
|
+
}
|
|
36
|
+
declare const adapters: Record<string, HarnessAdapter>;
|
|
37
|
+
/** Get a specific adapter by name. Throws if unknown. */
|
|
38
|
+
export declare function getAdapter(name: string): HarnessAdapter;
|
|
39
|
+
/** All registered adapter names (excludes 'auto' and 'none'). */
|
|
40
|
+
export declare const HARNESS_NAMES: (keyof typeof adapters)[];
|
|
41
|
+
/** Auto-detect the first available harness on PATH. Returns 'none' if nothing found. */
|
|
42
|
+
export declare function detectHarness(): string;
|
|
43
|
+
/** Resolve 'auto' to a concrete harness, or pass through an explicit name. */
|
|
44
|
+
export declare function resolveHarness(name: string): string;
|
|
45
|
+
/** Check if a harness binary exists on PATH. */
|
|
46
|
+
export declare function harnessAvailable(name: string): boolean;
|
|
47
|
+
export {};
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HARNESS_NAMES = void 0;
|
|
4
|
+
exports.getAdapter = getAdapter;
|
|
5
|
+
exports.detectHarness = detectHarness;
|
|
6
|
+
exports.resolveHarness = resolveHarness;
|
|
7
|
+
exports.harnessAvailable = harnessAvailable;
|
|
8
|
+
/**
|
|
9
|
+
* Harness adapter layer: a pluggable system for spawning AI coding agents.
|
|
10
|
+
*
|
|
11
|
+
* Each harness (opencode, claude, codex, gemini, copilot, goose, openhands,
|
|
12
|
+
* aider) implements the HarnessAdapter interface so the bridge can spawn any
|
|
13
|
+
* harness with the correct CLI flags, env vars, and MCP wiring — without
|
|
14
|
+
* growing an if/else chain in spawnHarness().
|
|
15
|
+
*
|
|
16
|
+
* Auto-detection walks adapters in priority order (opencode first, aider last)
|
|
17
|
+
* and picks the first whose binary exists on PATH.
|
|
18
|
+
*/
|
|
19
|
+
const node_fs_1 = require("node:fs");
|
|
20
|
+
const node_os_1 = require("node:os");
|
|
21
|
+
const node_path_1 = require("node:path");
|
|
22
|
+
// ── Binary detection ────────────────────────────────────────────────────────
|
|
23
|
+
function hasBin(bin) {
|
|
24
|
+
const { spawnSync } = require('node:child_process');
|
|
25
|
+
const res = spawnSync(bin, ['--version'], { stdio: 'ignore', shell: process.platform === 'win32' });
|
|
26
|
+
return res.status === 0;
|
|
27
|
+
}
|
|
28
|
+
// ── MCP config writer (shared for opencode-compatible harnesses) ────────────
|
|
29
|
+
function writeMcpJsonConfig(configPath, agentKey, apiBaseUrl) {
|
|
30
|
+
const dir = (0, node_fs_1.mkdtempSync)((0, node_path_1.join)((0, node_os_1.tmpdir)(), 'teamshare-harness-'));
|
|
31
|
+
const file = (0, node_path_1.join)(dir, configPath);
|
|
32
|
+
const base = apiBaseUrl.replace(/\/+$/, '');
|
|
33
|
+
const mcpUrl = `${base}/mcp`;
|
|
34
|
+
(0, node_fs_1.writeFileSync)(file, JSON.stringify({
|
|
35
|
+
mcp: {
|
|
36
|
+
teamshare: {
|
|
37
|
+
type: 'remote',
|
|
38
|
+
url: mcpUrl,
|
|
39
|
+
headers: { 'X-Api-Key': agentKey },
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
}, null, 2), 'utf8');
|
|
43
|
+
return {
|
|
44
|
+
file,
|
|
45
|
+
cleanup: () => {
|
|
46
|
+
try {
|
|
47
|
+
(0, node_fs_1.rmSync)(dir, { recursive: true, force: true });
|
|
48
|
+
}
|
|
49
|
+
catch { /* best-effort */ }
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
function opencodeMcpWriter(agentKey, apiBaseUrl) {
|
|
54
|
+
return writeMcpJsonConfig('opencode.json', agentKey, apiBaseUrl);
|
|
55
|
+
}
|
|
56
|
+
function claudeMcpWriter(agentKey, apiBaseUrl) {
|
|
57
|
+
return writeMcpJsonConfig('settings.json', agentKey, apiBaseUrl);
|
|
58
|
+
}
|
|
59
|
+
function codexMcpWriter(agentKey, apiBaseUrl) {
|
|
60
|
+
return writeMcpJsonConfig('config.json', agentKey, apiBaseUrl);
|
|
61
|
+
}
|
|
62
|
+
// ── Adapter implementations ─────────────────────────────────────────────────
|
|
63
|
+
const adapters = {
|
|
64
|
+
opencode: {
|
|
65
|
+
name: 'opencode',
|
|
66
|
+
binary: 'opencode',
|
|
67
|
+
autoDetect: true,
|
|
68
|
+
priority: 0,
|
|
69
|
+
headlessArgs(prompt, opts) {
|
|
70
|
+
const args = ['run', '--auto'];
|
|
71
|
+
if (opts.model && opts.model.includes('/'))
|
|
72
|
+
args.push('--model', opts.model);
|
|
73
|
+
if (opts.title)
|
|
74
|
+
args.push('--title', opts.title);
|
|
75
|
+
args.push(prompt);
|
|
76
|
+
return args;
|
|
77
|
+
},
|
|
78
|
+
envForSession() { return {}; },
|
|
79
|
+
supportsMcp: true,
|
|
80
|
+
writeMcpConfig: opencodeMcpWriter,
|
|
81
|
+
structuredOutput: false,
|
|
82
|
+
},
|
|
83
|
+
claude: {
|
|
84
|
+
name: 'claude',
|
|
85
|
+
binary: 'claude',
|
|
86
|
+
autoDetect: true,
|
|
87
|
+
priority: 1,
|
|
88
|
+
headlessArgs(prompt) {
|
|
89
|
+
return ['-p', prompt, '--bare', '--output-format', 'stream-json'];
|
|
90
|
+
},
|
|
91
|
+
envForSession(opts) {
|
|
92
|
+
const env = {};
|
|
93
|
+
if (opts.model)
|
|
94
|
+
env.ANTHROPIC_MODEL = opts.model;
|
|
95
|
+
return env;
|
|
96
|
+
},
|
|
97
|
+
supportsMcp: true,
|
|
98
|
+
writeMcpConfig: claudeMcpWriter,
|
|
99
|
+
sessionResumeFlag: '--resume',
|
|
100
|
+
structuredOutput: true,
|
|
101
|
+
},
|
|
102
|
+
codex: {
|
|
103
|
+
name: 'codex',
|
|
104
|
+
binary: 'codex',
|
|
105
|
+
autoDetect: true,
|
|
106
|
+
priority: 2,
|
|
107
|
+
headlessArgs(prompt, opts) {
|
|
108
|
+
const args = ['exec', '--json'];
|
|
109
|
+
if (opts.model)
|
|
110
|
+
args.push('--model', opts.model);
|
|
111
|
+
args.push(prompt);
|
|
112
|
+
return args;
|
|
113
|
+
},
|
|
114
|
+
envForSession(opts) {
|
|
115
|
+
const env = {};
|
|
116
|
+
if (opts.model)
|
|
117
|
+
env.OPENAI_MODEL = opts.model;
|
|
118
|
+
return env;
|
|
119
|
+
},
|
|
120
|
+
supportsMcp: true,
|
|
121
|
+
writeMcpConfig: codexMcpWriter,
|
|
122
|
+
sessionResumeFlag: '--resume',
|
|
123
|
+
structuredOutput: true,
|
|
124
|
+
},
|
|
125
|
+
gemini: {
|
|
126
|
+
name: 'gemini',
|
|
127
|
+
binary: 'gemini',
|
|
128
|
+
autoDetect: true,
|
|
129
|
+
priority: 3,
|
|
130
|
+
headlessArgs(prompt, opts) {
|
|
131
|
+
const args = ['-p', prompt, '--output-format', 'json'];
|
|
132
|
+
if (opts.model)
|
|
133
|
+
args.push('--model', opts.model);
|
|
134
|
+
return args;
|
|
135
|
+
},
|
|
136
|
+
envForSession(opts) {
|
|
137
|
+
const env = {};
|
|
138
|
+
if (opts.model)
|
|
139
|
+
env.GEMINI_MODEL = opts.model;
|
|
140
|
+
return env;
|
|
141
|
+
},
|
|
142
|
+
supportsMcp: true,
|
|
143
|
+
writeMcpConfig: (agentKey, apiBaseUrl) => {
|
|
144
|
+
return writeMcpJsonConfig('settings.json', agentKey, apiBaseUrl);
|
|
145
|
+
},
|
|
146
|
+
sessionResumeFlag: '--resume',
|
|
147
|
+
structuredOutput: true,
|
|
148
|
+
},
|
|
149
|
+
copilot: {
|
|
150
|
+
name: 'copilot',
|
|
151
|
+
binary: 'copilot',
|
|
152
|
+
autoDetect: true,
|
|
153
|
+
priority: 4,
|
|
154
|
+
headlessArgs(prompt, opts) {
|
|
155
|
+
const args = ['-p', prompt, '--output-format', 'json'];
|
|
156
|
+
if (opts.model)
|
|
157
|
+
args.push('--model', opts.model);
|
|
158
|
+
return args;
|
|
159
|
+
},
|
|
160
|
+
envForSession(opts) {
|
|
161
|
+
const env = {};
|
|
162
|
+
if (opts.model)
|
|
163
|
+
env.COPILOT_MODEL = opts.model;
|
|
164
|
+
return env;
|
|
165
|
+
},
|
|
166
|
+
supportsMcp: true,
|
|
167
|
+
writeMcpConfig: (agentKey, apiBaseUrl) => {
|
|
168
|
+
return writeMcpJsonConfig('config.json', agentKey, apiBaseUrl);
|
|
169
|
+
},
|
|
170
|
+
sessionResumeFlag: '--resume',
|
|
171
|
+
structuredOutput: true,
|
|
172
|
+
},
|
|
173
|
+
goose: {
|
|
174
|
+
name: 'goose',
|
|
175
|
+
binary: 'goose',
|
|
176
|
+
autoDetect: true,
|
|
177
|
+
priority: 5,
|
|
178
|
+
headlessArgs(prompt, opts) {
|
|
179
|
+
const args = ['run', '--output', 'json'];
|
|
180
|
+
if (opts.model)
|
|
181
|
+
args.push('--model', opts.model);
|
|
182
|
+
// Goose accepts the prompt via stdin when piped
|
|
183
|
+
return args;
|
|
184
|
+
},
|
|
185
|
+
envForSession(opts) {
|
|
186
|
+
const env = {};
|
|
187
|
+
if (opts.model) {
|
|
188
|
+
// Goose uses provider-specific env vars
|
|
189
|
+
if (opts.model.startsWith('anthropic:'))
|
|
190
|
+
env.ANTHROPIC_API_KEY = opts.agentKey ?? '';
|
|
191
|
+
else if (opts.model.startsWith('openai:'))
|
|
192
|
+
env.OPENAI_API_KEY = opts.agentKey ?? '';
|
|
193
|
+
else if (opts.model.startsWith('gemini:'))
|
|
194
|
+
env.GEMINI_API_KEY = opts.agentKey ?? '';
|
|
195
|
+
}
|
|
196
|
+
return env;
|
|
197
|
+
},
|
|
198
|
+
supportsMcp: true,
|
|
199
|
+
writeMcpConfig: (agentKey, apiBaseUrl) => {
|
|
200
|
+
return writeMcpJsonConfig('extensions.json', agentKey, apiBaseUrl);
|
|
201
|
+
},
|
|
202
|
+
structuredOutput: true,
|
|
203
|
+
},
|
|
204
|
+
openhands: {
|
|
205
|
+
name: 'openhands',
|
|
206
|
+
binary: 'openhands',
|
|
207
|
+
autoDetect: true,
|
|
208
|
+
priority: 6,
|
|
209
|
+
headlessArgs(prompt, opts) {
|
|
210
|
+
const args = ['run', '--output', 'json'];
|
|
211
|
+
if (opts.model)
|
|
212
|
+
args.push('--model', opts.model);
|
|
213
|
+
return args;
|
|
214
|
+
},
|
|
215
|
+
envForSession(opts) {
|
|
216
|
+
const env = {};
|
|
217
|
+
if (opts.model)
|
|
218
|
+
env.LLM_MODEL = opts.model;
|
|
219
|
+
return env;
|
|
220
|
+
},
|
|
221
|
+
supportsMcp: true,
|
|
222
|
+
writeMcpConfig: (agentKey, apiBaseUrl) => {
|
|
223
|
+
return writeMcpJsonConfig('mcp-config.json', agentKey, apiBaseUrl);
|
|
224
|
+
},
|
|
225
|
+
structuredOutput: true,
|
|
226
|
+
},
|
|
227
|
+
aider: {
|
|
228
|
+
name: 'aider',
|
|
229
|
+
binary: 'aider',
|
|
230
|
+
autoDetect: true,
|
|
231
|
+
priority: 7,
|
|
232
|
+
headlessArgs(prompt, opts) {
|
|
233
|
+
const args = ['--no-interactive', '--message', prompt];
|
|
234
|
+
if (opts.model)
|
|
235
|
+
args.push('--model', opts.model);
|
|
236
|
+
return args;
|
|
237
|
+
},
|
|
238
|
+
envForSession(opts) {
|
|
239
|
+
const env = {};
|
|
240
|
+
if (opts.model)
|
|
241
|
+
env.AIDER_MODEL = opts.model;
|
|
242
|
+
return env;
|
|
243
|
+
},
|
|
244
|
+
// Aider has NO native MCP support — tool access is file/git only
|
|
245
|
+
supportsMcp: false,
|
|
246
|
+
structuredOutput: false,
|
|
247
|
+
},
|
|
248
|
+
};
|
|
249
|
+
// ── Public API ──────────────────────────────────────────────────────────────
|
|
250
|
+
/** Get a specific adapter by name. Throws if unknown. */
|
|
251
|
+
function getAdapter(name) {
|
|
252
|
+
const adapter = adapters[name];
|
|
253
|
+
if (!adapter)
|
|
254
|
+
throw new Error(`Unknown harness: ${name}`);
|
|
255
|
+
return adapter;
|
|
256
|
+
}
|
|
257
|
+
/** All registered adapter names (excludes 'auto' and 'none'). */
|
|
258
|
+
exports.HARNESS_NAMES = Object.keys(adapters);
|
|
259
|
+
/** Auto-detect the first available harness on PATH. Returns 'none' if nothing found. */
|
|
260
|
+
function detectHarness() {
|
|
261
|
+
const sorted = Object.values(adapters)
|
|
262
|
+
.filter((a) => a.autoDetect)
|
|
263
|
+
.sort((a, b) => a.priority - b.priority);
|
|
264
|
+
for (const adapter of sorted) {
|
|
265
|
+
if (hasBin(adapter.binary))
|
|
266
|
+
return adapter.name;
|
|
267
|
+
}
|
|
268
|
+
return 'none';
|
|
269
|
+
}
|
|
270
|
+
/** Resolve 'auto' to a concrete harness, or pass through an explicit name. */
|
|
271
|
+
function resolveHarness(name) {
|
|
272
|
+
if (name === 'auto')
|
|
273
|
+
return detectHarness();
|
|
274
|
+
if (name === 'none' || name === 'none')
|
|
275
|
+
return 'none';
|
|
276
|
+
return name;
|
|
277
|
+
}
|
|
278
|
+
/** Check if a harness binary exists on PATH. */
|
|
279
|
+
function harnessAvailable(name) {
|
|
280
|
+
const adapter = adapters[name];
|
|
281
|
+
return adapter ? hasBin(adapter.binary) : false;
|
|
282
|
+
}
|
|
283
|
+
//# sourceMappingURL=harness-adapter.js.map
|