teamshare-bridge 0.2.4 → 0.3.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/cli/commands/build.js +16 -3
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/chat.js +1 -1
- package/dist/cli/commands/chat.js.map +1 -1
- package/dist/cli/commands/doc.js +1 -1
- package/dist/cli/commands/doc.js.map +1 -1
- package/dist/cli/commands/harness.js +1 -1
- package/dist/cli/commands/harness.js.map +1 -1
- package/dist/cli/commands/run.js +16 -2
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/lib/api.d.ts +13 -1
- package/dist/lib/api.js +11 -1
- package/dist/lib/api.js.map +1 -1
- package/dist/lib/brief.d.ts +4 -0
- package/dist/lib/brief.js +78 -40
- package/dist/lib/brief.js.map +1 -1
- package/dist/lib/chat-reply.js +2 -2
- package/dist/lib/chat-reply.js.map +1 -1
- package/dist/lib/doc-reply.js +1 -1
- package/dist/lib/doc-reply.js.map +1 -1
- package/dist/lib/harness-adapter.d.ts +3 -1
- package/dist/lib/harness-adapter.js +19 -16
- package/dist/lib/harness-adapter.js.map +1 -1
- package/dist/lib/harness.d.ts +3 -1
- package/dist/lib/harness.js +8 -5
- package/dist/lib/harness.js.map +1 -1
- package/dist/lib/llm.js +86 -9
- package/dist/lib/llm.js.map +1 -1
- package/package.json +1 -1
- package/skills/teamshare-cdd/SKILL.md +14 -7
package/dist/lib/brief.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"brief.js","sourceRoot":"","sources":["../../src/lib/brief.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"brief.js","sourceRoot":"","sources":["../../src/lib/brief.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/chat-reply.js
CHANGED
|
@@ -61,7 +61,7 @@ async function generateReply(agentName, target, prompt, projectId, opts, project
|
|
|
61
61
|
title: `TeamShare chat ${projectId}`,
|
|
62
62
|
agentKey: opts.api?.apiKey,
|
|
63
63
|
apiBaseUrl: opts.api?.baseUrl,
|
|
64
|
-
}), { opencodeAgentKey: opts.api?.apiKey, opencodeMcpUrl: opts.api?.baseUrl });
|
|
64
|
+
}), { opencodeAgentKey: opts.api?.apiKey, opencodeMcpUrl: opts.api?.baseUrl, opencodeSessionMode: 'chat' });
|
|
65
65
|
}
|
|
66
66
|
throw new Error('harness-only model requires a harness (install one of: opencode, claude, codex, gemini, copilot, goose, openhands)');
|
|
67
67
|
}
|
|
@@ -94,7 +94,7 @@ async function generateReply(agentName, target, prompt, projectId, opts, project
|
|
|
94
94
|
title: `TeamShare chat ${projectId}`,
|
|
95
95
|
agentKey: opts.api?.apiKey,
|
|
96
96
|
apiBaseUrl: opts.api?.baseUrl,
|
|
97
|
-
}), { opencodeAgentKey: opts.api?.apiKey, opencodeMcpUrl: opts.api?.baseUrl });
|
|
97
|
+
}), { opencodeAgentKey: opts.api?.apiKey, opencodeMcpUrl: opts.api?.baseUrl, opencodeSessionMode: 'chat' });
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
100
|
throw new Error('No harness found (install one of: opencode, claude, codex, gemini, copilot, goose, openhands, or use --self with LLM_API_KEY)');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-reply.js","sourceRoot":"","sources":["../../src/lib/chat-reply.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmKA,oCAkFC;AAxOD,uCAA+C;AAC/C,+BAA0C;AAC1C,qDAAiD;AACjD,uDAAiF;AAgBjF,MAAM,cAAc,GAAG,EAAE,CAAC;AAS1B,2EAA2E;AAC3E,KAAK,UAAU,aAAa,CAC1B,SAAiB,EACjB,MAAe,EACf,MAAc,EACd,SAAiB,EACjB,IAAsB,EACtB,WAAoB,EACpB,OAAiC,EACjC,WAAoB;IAEpB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,OAAO,+CAA+C,SAAS,qCAAqC,CAAC;QAC9I,IAAI,OAAO;YAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,uEAAuE;IACvE,MAAM,EAAE,YAAY,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,GAAG,wDAAa,UAAU,GAAC,CAAC;IACrG,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IACrD,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;QACzB,MAAM,aAAa,GAAG,uBAAuB,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,2EAA2E,aAAa,EAAE,CAAC,CAAC;QACxG,8DAA8D;QAC9D,MAAM,WAAW,GAAG,IAAA,gCAAc,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,WAAW,KAAK,MAAM,IAAI,IAAA,gBAAM,EAAC,IAAA,4BAAU,EAAC,WAAW,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACrE,OAAO,IAAA,oBAAU,EACf,IAAA,4BAAU,EAAC,WAAW,CAAC,CAAC,MAAM,EAC9B,IAAA,4BAAU,EAAC,WAAW,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE;gBAC3C,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE,kBAAkB,SAAS,EAAE;gBACpC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM;gBAC1B,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO;aAC9B,CAAC,EACF,EAAE,gBAAgB,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"chat-reply.js","sourceRoot":"","sources":["../../src/lib/chat-reply.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/doc-reply.js
CHANGED
|
@@ -28,7 +28,7 @@ function generateReply(agentName, target, prompt, opts) {
|
|
|
28
28
|
title: `TeamShare doc ${opts.documentId}`,
|
|
29
29
|
agentKey: opts.api?.apiKey,
|
|
30
30
|
apiBaseUrl: opts.api?.baseUrl,
|
|
31
|
-
}), { opencodeAgentKey: opts.api?.apiKey, opencodeMcpUrl: opts.api?.baseUrl }));
|
|
31
|
+
}), { opencodeAgentKey: opts.api?.apiKey, opencodeMcpUrl: opts.api?.baseUrl, opencodeSessionMode: 'doc' }));
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
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)');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doc-reply.js","sourceRoot":"","sources":["../../src/lib/doc-reply.ts"],"names":[],"mappings":";;AAiHA,kCAmDC;AA5JD,uCAA+C;AAC/C,+BAAiC;AACjC,uDAAiF;AAcjF,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,MAAM,aAAa,GAAG,MAAM,CAAC;AAC7B,qFAAqF;AACrF,MAAM,qBAAqB,GAAG,MAAM,CAAC;AASrC,SAAS,aAAa,CACpB,SAAiB,EACjB,MAAkB,EAClB,MAAc,EACd,IAAqB;IAErB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,OAAO,CAAC,OAAO,CACpB,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,IAAI,OAAO,+CAA+C,SAAS,sCAAsC,CACjI,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,+HAA+H,CAAC,CAAC;QACnJ,CAAC;QACD,OAAO,IAAA,cAAQ,EAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,mCAAmC;IACnC,MAAM,WAAW,GAAG,IAAA,gCAAc,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAA,4BAAU,EAAC,WAAW,CAAC,CAAC;QACxC,IAAI,IAAA,gBAAM,EAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,OAAO,OAAO,CAAC,OAAO,CACpB,IAAA,oBAAU,EACR,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE;gBAC3B,KAAK,EAAE,iBAAiB,IAAI,CAAC,UAAU,EAAE;gBACzC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM;gBAC1B,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO;aAC9B,CAAC,EACF,EAAE,gBAAgB,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"doc-reply.js","sourceRoot":"","sources":["../../src/lib/doc-reply.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,8 @@ export interface SpawnOpts {
|
|
|
7
7
|
title?: string;
|
|
8
8
|
agentKey?: string;
|
|
9
9
|
apiBaseUrl?: string;
|
|
10
|
+
/** Session mode for the MCP config header ('run' | 'build' | 'chat' | 'doc'). */
|
|
11
|
+
sessionMode?: string;
|
|
10
12
|
}
|
|
11
13
|
export interface HarnessAdapter {
|
|
12
14
|
/** Display name. */
|
|
@@ -24,7 +26,7 @@ export interface HarnessAdapter {
|
|
|
24
26
|
/** Whether this harness supports MCP tool injection. */
|
|
25
27
|
supportsMcp: boolean;
|
|
26
28
|
/** Write a per-session MCP config override (returns temp file + cleanup). */
|
|
27
|
-
writeMcpConfig?(agentKey: string, apiBaseUrl: string): {
|
|
29
|
+
writeMcpConfig?(agentKey: string, apiBaseUrl: string, sessionMode?: string): {
|
|
28
30
|
file: string;
|
|
29
31
|
cleanup: () => void;
|
|
30
32
|
} | null;
|
|
@@ -26,17 +26,20 @@ function hasBin(bin) {
|
|
|
26
26
|
return res.status === 0;
|
|
27
27
|
}
|
|
28
28
|
// ── MCP config writer (shared for opencode-compatible harnesses) ────────────
|
|
29
|
-
function writeMcpJsonConfig(configPath, agentKey, apiBaseUrl) {
|
|
29
|
+
function writeMcpJsonConfig(configPath, agentKey, apiBaseUrl, sessionMode) {
|
|
30
30
|
const dir = (0, node_fs_1.mkdtempSync)((0, node_path_1.join)((0, node_os_1.tmpdir)(), 'teamshare-harness-'));
|
|
31
31
|
const file = (0, node_path_1.join)(dir, configPath);
|
|
32
32
|
const base = apiBaseUrl.replace(/\/+$/, '');
|
|
33
33
|
const mcpUrl = `${base}/mcp`;
|
|
34
|
+
const headers = { 'X-Api-Key': agentKey };
|
|
35
|
+
if (sessionMode)
|
|
36
|
+
headers['X-TeamShare-Session-Mode'] = sessionMode;
|
|
34
37
|
(0, node_fs_1.writeFileSync)(file, JSON.stringify({
|
|
35
38
|
mcp: {
|
|
36
39
|
teamshare: {
|
|
37
40
|
type: 'remote',
|
|
38
41
|
url: mcpUrl,
|
|
39
|
-
headers
|
|
42
|
+
headers,
|
|
40
43
|
},
|
|
41
44
|
},
|
|
42
45
|
}, null, 2), 'utf8');
|
|
@@ -50,14 +53,14 @@ function writeMcpJsonConfig(configPath, agentKey, apiBaseUrl) {
|
|
|
50
53
|
},
|
|
51
54
|
};
|
|
52
55
|
}
|
|
53
|
-
function opencodeMcpWriter(agentKey, apiBaseUrl) {
|
|
54
|
-
return writeMcpJsonConfig('opencode.json', agentKey, apiBaseUrl);
|
|
56
|
+
function opencodeMcpWriter(agentKey, apiBaseUrl, sessionMode) {
|
|
57
|
+
return writeMcpJsonConfig('opencode.json', agentKey, apiBaseUrl, sessionMode);
|
|
55
58
|
}
|
|
56
|
-
function claudeMcpWriter(agentKey, apiBaseUrl) {
|
|
57
|
-
return writeMcpJsonConfig('settings.json', agentKey, apiBaseUrl);
|
|
59
|
+
function claudeMcpWriter(agentKey, apiBaseUrl, sessionMode) {
|
|
60
|
+
return writeMcpJsonConfig('settings.json', agentKey, apiBaseUrl, sessionMode);
|
|
58
61
|
}
|
|
59
|
-
function codexMcpWriter(agentKey, apiBaseUrl) {
|
|
60
|
-
return writeMcpJsonConfig('config.json', agentKey, apiBaseUrl);
|
|
62
|
+
function codexMcpWriter(agentKey, apiBaseUrl, sessionMode) {
|
|
63
|
+
return writeMcpJsonConfig('config.json', agentKey, apiBaseUrl, sessionMode);
|
|
61
64
|
}
|
|
62
65
|
// ── Adapter implementations ─────────────────────────────────────────────────
|
|
63
66
|
const adapters = {
|
|
@@ -140,8 +143,8 @@ const adapters = {
|
|
|
140
143
|
return env;
|
|
141
144
|
},
|
|
142
145
|
supportsMcp: true,
|
|
143
|
-
writeMcpConfig: (agentKey, apiBaseUrl) => {
|
|
144
|
-
return writeMcpJsonConfig('settings.json', agentKey, apiBaseUrl);
|
|
146
|
+
writeMcpConfig: (agentKey, apiBaseUrl, sessionMode) => {
|
|
147
|
+
return writeMcpJsonConfig('settings.json', agentKey, apiBaseUrl, sessionMode);
|
|
145
148
|
},
|
|
146
149
|
sessionResumeFlag: '--resume',
|
|
147
150
|
structuredOutput: true,
|
|
@@ -164,8 +167,8 @@ const adapters = {
|
|
|
164
167
|
return env;
|
|
165
168
|
},
|
|
166
169
|
supportsMcp: true,
|
|
167
|
-
writeMcpConfig: (agentKey, apiBaseUrl) => {
|
|
168
|
-
return writeMcpJsonConfig('config.json', agentKey, apiBaseUrl);
|
|
170
|
+
writeMcpConfig: (agentKey, apiBaseUrl, sessionMode) => {
|
|
171
|
+
return writeMcpJsonConfig('config.json', agentKey, apiBaseUrl, sessionMode);
|
|
169
172
|
},
|
|
170
173
|
sessionResumeFlag: '--resume',
|
|
171
174
|
structuredOutput: true,
|
|
@@ -196,8 +199,8 @@ const adapters = {
|
|
|
196
199
|
return env;
|
|
197
200
|
},
|
|
198
201
|
supportsMcp: true,
|
|
199
|
-
writeMcpConfig: (agentKey, apiBaseUrl) => {
|
|
200
|
-
return writeMcpJsonConfig('extensions.json', agentKey, apiBaseUrl);
|
|
202
|
+
writeMcpConfig: (agentKey, apiBaseUrl, sessionMode) => {
|
|
203
|
+
return writeMcpJsonConfig('extensions.json', agentKey, apiBaseUrl, sessionMode);
|
|
201
204
|
},
|
|
202
205
|
structuredOutput: true,
|
|
203
206
|
},
|
|
@@ -219,8 +222,8 @@ const adapters = {
|
|
|
219
222
|
return env;
|
|
220
223
|
},
|
|
221
224
|
supportsMcp: true,
|
|
222
|
-
writeMcpConfig: (agentKey, apiBaseUrl) => {
|
|
223
|
-
return writeMcpJsonConfig('mcp-config.json', agentKey, apiBaseUrl);
|
|
225
|
+
writeMcpConfig: (agentKey, apiBaseUrl, sessionMode) => {
|
|
226
|
+
return writeMcpJsonConfig('mcp-config.json', agentKey, apiBaseUrl, sessionMode);
|
|
224
227
|
},
|
|
225
228
|
structuredOutput: true,
|
|
226
229
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harness-adapter.js","sourceRoot":"","sources":["../../src/lib/harness-adapter.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"harness-adapter.js","sourceRoot":"","sources":["../../src/lib/harness-adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/harness.d.ts
CHANGED
|
@@ -8,6 +8,8 @@ export interface HarnessRunOptions {
|
|
|
8
8
|
opencodeAgentKey?: string;
|
|
9
9
|
/** TeamShare API base URL for the MCP override (default: hosted API). */
|
|
10
10
|
opencodeMcpUrl?: string;
|
|
11
|
+
/** Session mode header for the MCP override ('run' | 'build' | 'chat' | 'doc'). */
|
|
12
|
+
opencodeSessionMode?: string;
|
|
11
13
|
}
|
|
12
14
|
export interface ResolvedBin {
|
|
13
15
|
file: string;
|
|
@@ -26,7 +28,7 @@ export declare function resolveBin(bin: string): ResolvedBin | null;
|
|
|
26
28
|
* server's API key for this run (project/`OPENCODE_CONFIG` scope wins over
|
|
27
29
|
* the user's global config). Returns the config file path + cleanup.
|
|
28
30
|
*/
|
|
29
|
-
export declare function writeOpencodeMcpConfig(agentKey: string, apiBaseUrl: string): {
|
|
31
|
+
export declare function writeOpencodeMcpConfig(agentKey: string, apiBaseUrl: string, sessionMode?: string): {
|
|
30
32
|
file: string;
|
|
31
33
|
cleanup: () => void;
|
|
32
34
|
};
|
package/dist/lib/harness.js
CHANGED
|
@@ -67,18 +67,21 @@ function resolveBin(bin) {
|
|
|
67
67
|
* server's API key for this run (project/`OPENCODE_CONFIG` scope wins over
|
|
68
68
|
* the user's global config). Returns the config file path + cleanup.
|
|
69
69
|
*/
|
|
70
|
-
function writeOpencodeMcpConfig(agentKey, apiBaseUrl) {
|
|
70
|
+
function writeOpencodeMcpConfig(agentKey, apiBaseUrl, sessionMode) {
|
|
71
71
|
const dir = (0, node_fs_1.mkdtempSync)((0, node_path_1.join)((0, node_os_1.tmpdir)(), 'teamshare-oc-'));
|
|
72
72
|
const file = (0, node_path_1.join)(dir, 'opencode.json');
|
|
73
73
|
const base = apiBaseUrl.replace(/\/+$/, '');
|
|
74
74
|
const mcpUrl = `${base}/mcp`;
|
|
75
|
+
const headers = { 'X-Api-Key': agentKey };
|
|
76
|
+
if (sessionMode)
|
|
77
|
+
headers['X-TeamShare-Session-Mode'] = sessionMode;
|
|
75
78
|
(0, node_fs_1.writeFileSync)(file, JSON.stringify({
|
|
76
79
|
$schema: 'https://opencode.ai/config.json',
|
|
77
80
|
mcp: {
|
|
78
81
|
teamshare: {
|
|
79
82
|
type: 'remote',
|
|
80
83
|
url: mcpUrl,
|
|
81
|
-
headers
|
|
84
|
+
headers,
|
|
82
85
|
},
|
|
83
86
|
},
|
|
84
87
|
}, null, 2), 'utf8');
|
|
@@ -99,8 +102,8 @@ function writeOpencodeMcpConfig(agentKey, apiBaseUrl) {
|
|
|
99
102
|
* server's API key for this run (project/`OPENCODE_CONFIG` scope wins over
|
|
100
103
|
* the user's global config). Returns the env to merge into the child spawn.
|
|
101
104
|
*/
|
|
102
|
-
function opencodeMcpEnv(agentKey, apiBaseUrl) {
|
|
103
|
-
const { file, cleanup } = writeOpencodeMcpConfig(agentKey, apiBaseUrl);
|
|
105
|
+
function opencodeMcpEnv(agentKey, apiBaseUrl, sessionMode) {
|
|
106
|
+
const { file, cleanup } = writeOpencodeMcpConfig(agentKey, apiBaseUrl, sessionMode);
|
|
104
107
|
return { env: { OPENCODE_CONFIG: file }, cleanup };
|
|
105
108
|
}
|
|
106
109
|
/**
|
|
@@ -113,7 +116,7 @@ function runHarness(cmd, args, opts = {}) {
|
|
|
113
116
|
throw new Error(`No harness found (install ${cmd})`);
|
|
114
117
|
let mcpEnv = null;
|
|
115
118
|
if (cmd === 'opencode' && opts.opencodeAgentKey) {
|
|
116
|
-
mcpEnv = opencodeMcpEnv(opts.opencodeAgentKey, opts.opencodeMcpUrl ?? process.env.TEAMSHARE_API_URL ?? api_1.DEFAULT_API_URL);
|
|
119
|
+
mcpEnv = opencodeMcpEnv(opts.opencodeAgentKey, opts.opencodeMcpUrl ?? process.env.TEAMSHARE_API_URL ?? api_1.DEFAULT_API_URL, opts.opencodeSessionMode);
|
|
117
120
|
}
|
|
118
121
|
try {
|
|
119
122
|
const out = (0, node_child_process_1.execFileSync)(bin.file, [...(bin.args ?? []), ...args], {
|
package/dist/lib/harness.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harness.js","sourceRoot":"","sources":["../../src/lib/harness.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"harness.js","sourceRoot":"","sources":["../../src/lib/harness.ts"],"names":[],"mappings":";;AA4DA,gCAgBC;AAOD,wDAuCC;AAwBD,gCAgCC;AAED,wBAEC;AAtLD,2DAA6D;AAC7D,qCAAuF;AACvF,qCAAiC;AACjC,yCAAsD;AACtD,+BAAwC;AAqBxC,SAAS,OAAO,CAAC,IAAY,EAAE,IAAc;IAC3C,IAAI,CAAC;QACH,IAAA,iCAAY,EAAC,IAAI,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,GAAW;IAC5B,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,IAAI,CAAC;IAC9C,MAAM,GAAG,GAAG,IAAA,8BAAS,EAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5D,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;SAC5B,KAAK,CAAC,OAAO,CAAC;SACd,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,OAAO,IAAI,IAAI,IAAI,CAAC;AACtB,CAAC;AAED,qFAAqF;AACrF,SAAS,MAAM,CAAC,MAAc,EAAE,OAAe;IAC7C,OAAO,MAAM;SACV,OAAO,CAAC,gDAAgD,EAAE,OAAO,CAAC;SAClE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,IAAI,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,UAAU,CAAC,GAAW;IACpC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IAEtD,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,MAAM,IAAI,GAAG,IAAA,sBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACnD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAA,mBAAO,EAAC,IAAI,CAAC,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,IAAA,sBAAU,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAA,gBAAI,EAAC,IAAA,mBAAO,EAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC7E,IAAI,CAAC,IAAA,oBAAU,EAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAEnC,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC1C,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;AAClD,CAAC;AAED;;;;GAIG;AACH,SAAgB,sBAAsB,CACpC,QAAgB,EAChB,UAAkB,EAClB,WAAoB;IAEpB,MAAM,GAAG,GAAG,IAAA,qBAAW,EAAC,IAAA,gBAAI,EAAC,IAAA,gBAAM,GAAE,EAAE,eAAe,CAAC,CAAC,CAAC;IACzD,MAAM,IAAI,GAAG,IAAA,gBAAI,EAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC;IAC7B,MAAM,OAAO,GAA2B,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;IAClE,IAAI,WAAW;QAAE,OAAO,CAAC,0BAA0B,CAAC,GAAG,WAAW,CAAC;IACnE,IAAA,uBAAa,EACX,IAAI,EACJ,IAAI,CAAC,SAAS,CACZ;QACE,OAAO,EAAE,iCAAiC;QAC1C,GAAG,EAAE;YACH,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,GAAG,EAAE,MAAM;gBACX,OAAO;aACR;SACF;KACF,EACD,IAAI,EACJ,CAAC,CACF,EACD,MAAM,CACP,CAAC;IACF,OAAO;QACL,IAAI;QACJ,OAAO,EAAE,GAAG,EAAE;YACZ,IAAI,CAAC;gBACH,IAAA,gBAAM,EAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YAChD,CAAC;YAAC,MAAM,CAAC;gBACP,iBAAiB;YACnB,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CACrB,QAAgB,EAChB,UAAkB,EAClB,WAAoB;IAEpB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,sBAAsB,CAC9C,QAAQ,EACR,UAAU,EACV,WAAW,CACZ,CAAC;IACF,OAAO,EAAE,GAAG,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC;AACrD,CAAC;AAED;;;GAGG;AACH,SAAgB,UAAU,CACxB,GAAW,EACX,IAAc,EACd,OAA0B,EAAE;IAE5B,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,GAAG,CAAC,CAAC;IAC/D,IAAI,MAAM,GAAgE,IAAI,CAAC;IAC/E,IAAI,GAAG,KAAK,UAAU,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAChD,MAAM,GAAG,cAAc,CACrB,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,qBAAe,EACvE,IAAI,CAAC,mBAAmB,CACzB,CAAC;IACJ,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAA,iCAAY,EAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE;YACjE,QAAQ,EAAE,MAAM;YAChB,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;YAC5C,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS;SAC5D,CAAsB,CAAC;QACxB,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,GAAG,GAAG,CAAoE,CAAC;QACjF,MAAM,MAAM,GACV,GAAG,CAAC,MAAM,KAAK,SAAS;YACtB,CAAC,CAAC,oBAAoB,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;YACvF,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,GAAG,GAAG,IAAI,MAAM,EAAE,CAAC,CAAC;IACtC,CAAC;YAAS,CAAC;QACT,MAAM,EAAE,OAAO,EAAE,CAAC;IACpB,CAAC;AACH,CAAC;AAED,SAAgB,MAAM,CAAC,GAAW;IAChC,OAAO,UAAU,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;AAClC,CAAC"}
|
package/dist/lib/llm.js
CHANGED
|
@@ -413,6 +413,58 @@ function loadContinuation(taskId) {
|
|
|
413
413
|
return null;
|
|
414
414
|
}
|
|
415
415
|
}
|
|
416
|
+
// ---------------------------------------------------------------------------
|
|
417
|
+
// Phase 4: Context compaction — prevents context bloat in long sessions.
|
|
418
|
+
// ---------------------------------------------------------------------------
|
|
419
|
+
/** Conservative token estimate (~4 chars per token for English). */
|
|
420
|
+
function estimateTokens(text) {
|
|
421
|
+
return Math.ceil(text.length / 4);
|
|
422
|
+
}
|
|
423
|
+
/** Estimate tokens for a ChatMessage (accounting for role, tool_calls overhead). */
|
|
424
|
+
function estimateMessageTokens(msg) {
|
|
425
|
+
let tokens = estimateTokens(msg.content ?? '') + 4; // role overhead
|
|
426
|
+
if (msg.tool_calls) {
|
|
427
|
+
for (const tc of msg.tool_calls) {
|
|
428
|
+
tokens += estimateTokens(tc.function.arguments) + 8;
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
return tokens;
|
|
432
|
+
}
|
|
433
|
+
/** Total token estimate for a message array. */
|
|
434
|
+
function estimateTotalTokens(messages) {
|
|
435
|
+
let total = 0;
|
|
436
|
+
for (const msg of messages)
|
|
437
|
+
total += estimateMessageTokens(msg);
|
|
438
|
+
return total;
|
|
439
|
+
}
|
|
440
|
+
/**
|
|
441
|
+
* Compact context by replacing old tool-result messages with one-line summaries.
|
|
442
|
+
* Keeps the last `keepRecent` tool results intact; earlier ones are collapsed
|
|
443
|
+
* while preserving the tool_call/tool_call_id pairing the API requires.
|
|
444
|
+
*/
|
|
445
|
+
function compactContext(messages, keepRecent = 3) {
|
|
446
|
+
// Find tool-result messages that are old enough to compact.
|
|
447
|
+
let evicted = 0;
|
|
448
|
+
const result = messages.map((msg) => {
|
|
449
|
+
if (msg.role !== 'tool' || !msg.tool_call_id)
|
|
450
|
+
return msg;
|
|
451
|
+
// Only compact if the result is large enough to matter.
|
|
452
|
+
const tokens = estimateTokens(msg.content ?? '');
|
|
453
|
+
if (tokens < 500)
|
|
454
|
+
return msg;
|
|
455
|
+
// Compact: replace content with a one-line summary.
|
|
456
|
+
evicted++;
|
|
457
|
+
return {
|
|
458
|
+
...msg,
|
|
459
|
+
content: `[compacted: ${msg.content?.slice(0, 80)}…]`,
|
|
460
|
+
};
|
|
461
|
+
});
|
|
462
|
+
return { messages: result, evicted };
|
|
463
|
+
}
|
|
464
|
+
/** Compaction threshold: 70% of a typical 128k context window (~90k tokens). */
|
|
465
|
+
const COMPACTION_THRESHOLD_TOKENS = 90_000;
|
|
466
|
+
/** How many recent tool results to keep intact (not compacted). */
|
|
467
|
+
const KEEP_RECENT_TOOL_RESULTS = 3;
|
|
416
468
|
async function runLlmSession(api, taskId, brief, opts, projectId) {
|
|
417
469
|
const tools = buildTools(api, {
|
|
418
470
|
defaultProjectId: projectId,
|
|
@@ -438,6 +490,7 @@ async function runLlmSession(api, taskId, brief, opts, projectId) {
|
|
|
438
490
|
'For finer-grained steps inside a subtask, use create_checklist_item (check items off with update_checklist_item, done: true) - ' +
|
|
439
491
|
'do NOT nest subtasks more than two levels deep; checklists are for the remaining granularity. ' +
|
|
440
492
|
'VERIFICATION: The brief includes a "Verification Checklist" section with predefined criteria. ' +
|
|
493
|
+
'Only unchecked items are shown in the brief (max 10). If you need the full list, call list_checklist_items. ' +
|
|
441
494
|
'Check each criterion off (update_checklist_item, done: true) as you verify it. ' +
|
|
442
495
|
'If a criterion is not applicable, skip it but note why in your summary comment. ' +
|
|
443
496
|
'Then check each subtask off with update_subtask (done: true) as you complete it, so the human sees live progress in the app. ' +
|
|
@@ -445,15 +498,23 @@ async function runLlmSession(api, taskId, brief, opts, projectId) {
|
|
|
445
498
|
'Prefer several small tool calls over one giant one.';
|
|
446
499
|
const previous = opts.continue ? loadContinuation(taskId) : null;
|
|
447
500
|
const messages = previous
|
|
448
|
-
?
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
501
|
+
? (() => {
|
|
502
|
+
// Continuation: rebuild with systemBase first for prompt cache stability.
|
|
503
|
+
// Strip the original system message from history (it's replaced by
|
|
504
|
+
// systemBase below) so the static prefix is identical to a fresh session.
|
|
505
|
+
const historyStart = previous.findIndex((m) => m.role === 'system');
|
|
506
|
+
const rest = historyStart >= 0 ? previous.slice(historyStart + 1) : previous;
|
|
507
|
+
return [
|
|
508
|
+
{ role: 'system', content: systemBase },
|
|
509
|
+
...rest,
|
|
510
|
+
{
|
|
511
|
+
role: 'system',
|
|
512
|
+
content: 'You are continuing a previous session on this task. Pick up where you left off - ' +
|
|
513
|
+
're-check the task state if needed, and complete the remaining work.',
|
|
514
|
+
},
|
|
515
|
+
{ role: 'user', content: `Updated task brief:\n\n${brief}` },
|
|
516
|
+
];
|
|
517
|
+
})()
|
|
457
518
|
: [
|
|
458
519
|
{ role: 'system', content: systemBase },
|
|
459
520
|
{ role: 'user', content: `Task brief:\n\n${brief}` },
|
|
@@ -490,6 +551,18 @@ async function runLlmSession(api, taskId, brief, opts, projectId) {
|
|
|
490
551
|
content: resultText.slice(0, 20_000),
|
|
491
552
|
});
|
|
492
553
|
}
|
|
554
|
+
// Phase 4: compact context if it's growing too large.
|
|
555
|
+
const estimatedTokens = estimateTotalTokens(messages);
|
|
556
|
+
if (estimatedTokens > COMPACTION_THRESHOLD_TOKENS) {
|
|
557
|
+
const { evicted } = compactContext(messages, KEEP_RECENT_TOOL_RESULTS);
|
|
558
|
+
if (evicted > 0) {
|
|
559
|
+
// Log compaction (will appear in continuation file for debugging).
|
|
560
|
+
messages.push({
|
|
561
|
+
role: 'system',
|
|
562
|
+
content: `[context compacted: ${evicted} old tool results summarized to save tokens]`,
|
|
563
|
+
});
|
|
564
|
+
}
|
|
565
|
+
}
|
|
493
566
|
// Phase E: persist the conversation at every iteration so a re-run with
|
|
494
567
|
// --continue resumes exactly where this session left off.
|
|
495
568
|
saveContinuation(taskId, messages);
|
|
@@ -567,6 +640,10 @@ async function runProjectSession(api, projectId, prompt, opts, projectName) {
|
|
|
567
640
|
content: resultText.slice(0, 20_000),
|
|
568
641
|
});
|
|
569
642
|
}
|
|
643
|
+
// Phase 4: compact context if growing too large.
|
|
644
|
+
if (estimateTotalTokens(messages) > COMPACTION_THRESHOLD_TOKENS) {
|
|
645
|
+
compactContext(messages, KEEP_RECENT_TOOL_RESULTS);
|
|
646
|
+
}
|
|
570
647
|
if (iterations >= MAX_ITERATIONS) {
|
|
571
648
|
return 'I reached the iteration limit — please try a simpler request.';
|
|
572
649
|
}
|