@tarquinen/opencode-dcp 0.4.2 → 0.4.12
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 +8 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -15
- package/dist/index.js.map +1 -1
- package/dist/lib/config.js +2 -2
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/core/janitor.d.ts +3 -25
- package/dist/lib/core/janitor.d.ts.map +1 -1
- package/dist/lib/core/janitor.js +2 -11
- package/dist/lib/core/janitor.js.map +1 -1
- package/dist/lib/core/strategies/deduplication.d.ts +1 -1
- package/dist/lib/core/strategies/index.d.ts +32 -2
- package/dist/lib/core/strategies/index.d.ts.map +1 -1
- package/dist/lib/core/strategies/index.js.map +1 -1
- package/dist/lib/fetch-wrapper/formats/anthropic.d.ts +8 -0
- package/dist/lib/fetch-wrapper/formats/anthropic.d.ts.map +1 -0
- package/dist/lib/fetch-wrapper/formats/anthropic.js +122 -0
- package/dist/lib/fetch-wrapper/formats/anthropic.js.map +1 -0
- package/dist/lib/fetch-wrapper/formats/bedrock.d.ts +3 -9
- package/dist/lib/fetch-wrapper/formats/bedrock.d.ts.map +1 -1
- package/dist/lib/fetch-wrapper/formats/bedrock.js +25 -45
- package/dist/lib/fetch-wrapper/formats/bedrock.js.map +1 -1
- package/dist/lib/fetch-wrapper/formats/gemini.d.ts +1 -7
- package/dist/lib/fetch-wrapper/formats/gemini.d.ts.map +1 -1
- package/dist/lib/fetch-wrapper/formats/gemini.js +30 -23
- package/dist/lib/fetch-wrapper/formats/gemini.js.map +1 -1
- package/dist/lib/fetch-wrapper/formats/index.d.ts +1 -0
- package/dist/lib/fetch-wrapper/formats/index.d.ts.map +1 -1
- package/dist/lib/fetch-wrapper/formats/index.js +1 -0
- package/dist/lib/fetch-wrapper/formats/index.js.map +1 -1
- package/dist/lib/fetch-wrapper/formats/openai-chat.d.ts +0 -11
- package/dist/lib/fetch-wrapper/formats/openai-chat.d.ts.map +1 -1
- package/dist/lib/fetch-wrapper/formats/openai-chat.js +33 -25
- package/dist/lib/fetch-wrapper/formats/openai-chat.js.map +1 -1
- package/dist/lib/fetch-wrapper/formats/openai-responses.d.ts +0 -8
- package/dist/lib/fetch-wrapper/formats/openai-responses.d.ts.map +1 -1
- package/dist/lib/fetch-wrapper/formats/openai-responses.js +29 -21
- package/dist/lib/fetch-wrapper/formats/openai-responses.js.map +1 -1
- package/dist/lib/fetch-wrapper/handler.d.ts +0 -10
- package/dist/lib/fetch-wrapper/handler.d.ts.map +1 -1
- package/dist/lib/fetch-wrapper/handler.js +74 -41
- package/dist/lib/fetch-wrapper/handler.js.map +1 -1
- package/dist/lib/fetch-wrapper/index.d.ts +4 -5
- package/dist/lib/fetch-wrapper/index.d.ts.map +1 -1
- package/dist/lib/fetch-wrapper/index.js +16 -7
- package/dist/lib/fetch-wrapper/index.js.map +1 -1
- package/dist/lib/fetch-wrapper/prunable-list.d.ts +8 -0
- package/dist/lib/fetch-wrapper/prunable-list.d.ts.map +1 -0
- package/dist/lib/fetch-wrapper/prunable-list.js +38 -0
- package/dist/lib/fetch-wrapper/prunable-list.js.map +1 -0
- package/dist/lib/fetch-wrapper/tool-tracker.d.ts +8 -0
- package/dist/lib/fetch-wrapper/tool-tracker.d.ts.map +1 -0
- package/dist/lib/fetch-wrapper/tool-tracker.js +7 -0
- package/dist/lib/fetch-wrapper/tool-tracker.js.map +1 -0
- package/dist/lib/fetch-wrapper/types.d.ts +31 -46
- package/dist/lib/fetch-wrapper/types.d.ts.map +1 -1
- package/dist/lib/fetch-wrapper/types.js +6 -44
- package/dist/lib/fetch-wrapper/types.js.map +1 -1
- package/dist/lib/hooks.d.ts +6 -2
- package/dist/lib/hooks.d.ts.map +1 -1
- package/dist/lib/hooks.js +21 -11
- package/dist/lib/hooks.js.map +1 -1
- package/dist/lib/prompts/nudge.txt +8 -5
- package/dist/lib/prompts/synthetic.txt +18 -30
- package/dist/lib/prompts/tool.txt +46 -63
- package/dist/lib/pruning-tool.d.ts +1 -1
- package/dist/lib/pruning-tool.d.ts.map +1 -1
- package/dist/lib/pruning-tool.js +30 -23
- package/dist/lib/pruning-tool.js.map +1 -1
- package/dist/lib/state/id-mapping.d.ts +0 -1
- package/dist/lib/state/id-mapping.d.ts.map +1 -1
- package/dist/lib/state/id-mapping.js +0 -3
- package/dist/lib/state/id-mapping.js.map +1 -1
- package/dist/lib/state/index.d.ts +3 -0
- package/dist/lib/state/index.d.ts.map +1 -1
- package/dist/lib/state/index.js.map +1 -1
- package/dist/lib/state/tool-cache.d.ts +5 -12
- package/dist/lib/state/tool-cache.d.ts.map +1 -1
- package/dist/lib/state/tool-cache.js +47 -72
- package/dist/lib/state/tool-cache.js.map +1 -1
- package/dist/lib/ui/display-utils.d.ts +12 -0
- package/dist/lib/ui/display-utils.d.ts.map +1 -1
- package/dist/lib/ui/display-utils.js +66 -0
- package/dist/lib/ui/display-utils.js.map +1 -1
- package/dist/lib/ui/notification.d.ts +5 -12
- package/dist/lib/ui/notification.d.ts.map +1 -1
- package/dist/lib/ui/notification.js +31 -138
- package/dist/lib/ui/notification.js.map +1 -1
- package/package.json +1 -1
- package/dist/lib/api-formats/prunable-list.d.ts +0 -49
- package/dist/lib/api-formats/prunable-list.d.ts.map +0 -1
- package/dist/lib/api-formats/prunable-list.js +0 -112
- package/dist/lib/api-formats/prunable-list.js.map +0 -1
- package/dist/lib/api-formats/synth-instruction.d.ts +0 -29
- package/dist/lib/api-formats/synth-instruction.d.ts.map +0 -1
- package/dist/lib/api-formats/synth-instruction.js +0 -171
- package/dist/lib/api-formats/synth-instruction.js.map +0 -1
- package/dist/lib/core/strategies/types.d.ts +0 -35
- package/dist/lib/core/strategies/types.d.ts.map +0 -1
- package/dist/lib/core/strategies/types.js +0 -6
- package/dist/lib/core/strategies/types.js.map +0 -1
|
@@ -1,22 +1,11 @@
|
|
|
1
|
-
import { cacheToolParametersFromMessages } from "../../state/tool-cache";
|
|
2
|
-
import { injectSynth, trackNewToolResults } from "../../api-formats/synth-instruction";
|
|
3
|
-
import { injectPrunableList } from "../../api-formats/prunable-list";
|
|
4
1
|
/**
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* - Top-level `system` array for system messages
|
|
9
|
-
* - `messages` array with only 'user' and 'assistant' roles
|
|
10
|
-
* - `inferenceConfig` for model parameters (maxTokens, temperature, etc.)
|
|
11
|
-
* - Tool calls: `toolUse` blocks in assistant content with `toolUseId`
|
|
12
|
-
* - Tool results: `toolResult` blocks in user content with `toolUseId`
|
|
13
|
-
* - Cache points: `cachePoint` blocks that should be preserved
|
|
2
|
+
* Bedrock uses top-level `system` array + `inferenceConfig` (distinguishes from OpenAI/Anthropic).
|
|
3
|
+
* Tool calls: `toolUse` blocks in assistant content with `toolUseId`
|
|
4
|
+
* Tool results: `toolResult` blocks in user content with `toolUseId`
|
|
14
5
|
*/
|
|
15
6
|
export const bedrockFormat = {
|
|
16
7
|
name: 'bedrock',
|
|
17
8
|
detect(body) {
|
|
18
|
-
// Bedrock has a top-level system array AND inferenceConfig (not model params in messages)
|
|
19
|
-
// This distinguishes it from OpenAI/Anthropic which put system in messages
|
|
20
9
|
return (Array.isArray(body.system) &&
|
|
21
10
|
body.inferenceConfig !== undefined &&
|
|
22
11
|
Array.isArray(body.messages));
|
|
@@ -24,42 +13,35 @@ export const bedrockFormat = {
|
|
|
24
13
|
getDataArray(body) {
|
|
25
14
|
return body.messages;
|
|
26
15
|
},
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}
|
|
16
|
+
injectSystemMessage(body, injection) {
|
|
17
|
+
if (!injection)
|
|
18
|
+
return false;
|
|
19
|
+
if (!Array.isArray(body.system)) {
|
|
20
|
+
body.system = [];
|
|
21
|
+
}
|
|
22
|
+
body.system.push({ text: injection });
|
|
23
|
+
return true;
|
|
24
|
+
},
|
|
25
|
+
appendToLastAssistantMessage(body, injection) {
|
|
26
|
+
if (!injection || !body.messages || body.messages.length === 0)
|
|
27
|
+
return false;
|
|
28
|
+
for (let i = body.messages.length - 1; i >= 0; i--) {
|
|
29
|
+
const msg = body.messages[i];
|
|
30
|
+
if (msg.role === 'assistant') {
|
|
31
|
+
if (Array.isArray(msg.content)) {
|
|
32
|
+
msg.content.push({ text: injection });
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
msg.content = [{ text: injection }];
|
|
44
36
|
}
|
|
37
|
+
return true;
|
|
45
38
|
}
|
|
46
39
|
}
|
|
47
|
-
|
|
48
|
-
cacheToolParametersFromMessages(data, state, logger);
|
|
49
|
-
},
|
|
50
|
-
injectSynth(data, instruction, nudgeText) {
|
|
51
|
-
return injectSynth(data, instruction, nudgeText);
|
|
52
|
-
},
|
|
53
|
-
trackNewToolResults(data, tracker, protectedTools) {
|
|
54
|
-
return trackNewToolResults(data, tracker, protectedTools);
|
|
55
|
-
},
|
|
56
|
-
injectPrunableList(data, injection) {
|
|
57
|
-
return injectPrunableList(data, injection);
|
|
40
|
+
return false;
|
|
58
41
|
},
|
|
59
42
|
extractToolOutputs(data, state) {
|
|
60
43
|
const outputs = [];
|
|
61
44
|
for (const m of data) {
|
|
62
|
-
// Bedrock tool results are in user messages as toolResult blocks
|
|
63
45
|
if (m.role === 'user' && Array.isArray(m.content)) {
|
|
64
46
|
for (const block of m.content) {
|
|
65
47
|
if (block.toolResult && block.toolResult.toolUseId) {
|
|
@@ -80,13 +62,11 @@ export const bedrockFormat = {
|
|
|
80
62
|
let replaced = false;
|
|
81
63
|
for (let i = 0; i < data.length; i++) {
|
|
82
64
|
const m = data[i];
|
|
83
|
-
// Tool results are in user messages as toolResult blocks
|
|
84
65
|
if (m.role === 'user' && Array.isArray(m.content)) {
|
|
85
66
|
let messageModified = false;
|
|
86
67
|
const newContent = m.content.map((block) => {
|
|
87
68
|
if (block.toolResult && block.toolResult.toolUseId?.toLowerCase() === toolIdLower) {
|
|
88
69
|
messageModified = true;
|
|
89
|
-
// Replace the content array inside toolResult with pruned message
|
|
90
70
|
return {
|
|
91
71
|
...block,
|
|
92
72
|
toolResult: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bedrock.js","sourceRoot":"","sources":["../../../../lib/fetch-wrapper/formats/bedrock.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bedrock.js","sourceRoot":"","sources":["../../../../lib/fetch-wrapper/formats/bedrock.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,6 @@
|
|
|
1
1
|
import type { FormatDescriptor } from "../types";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* Uses body.contents array with:
|
|
6
|
-
* - parts[].functionCall for tool invocations
|
|
7
|
-
* - parts[].functionResponse for tool results
|
|
8
|
-
*
|
|
9
|
-
* IMPORTANT: Gemini doesn't include tool call IDs in its native format.
|
|
3
|
+
* Gemini doesn't include tool call IDs in its native format.
|
|
10
4
|
* We use position-based correlation via state.googleToolCallMapping which maps
|
|
11
5
|
* "toolName:index" -> "toolCallId" (populated by hooks.ts from message events).
|
|
12
6
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../../../lib/fetch-wrapper/formats/gemini.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAc,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../../../lib/fetch-wrapper/formats/gemini.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAc,MAAM,UAAU,CAAA;AAG5D;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,gBAkK1B,CAAA"}
|
|
@@ -1,13 +1,5 @@
|
|
|
1
|
-
import { injectSynthGemini, trackNewToolResultsGemini } from "../../api-formats/synth-instruction";
|
|
2
|
-
import { injectPrunableListGemini } from "../../api-formats/prunable-list";
|
|
3
1
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* Uses body.contents array with:
|
|
7
|
-
* - parts[].functionCall for tool invocations
|
|
8
|
-
* - parts[].functionResponse for tool results
|
|
9
|
-
*
|
|
10
|
-
* IMPORTANT: Gemini doesn't include tool call IDs in its native format.
|
|
2
|
+
* Gemini doesn't include tool call IDs in its native format.
|
|
11
3
|
* We use position-based correlation via state.googleToolCallMapping which maps
|
|
12
4
|
* "toolName:index" -> "toolCallId" (populated by hooks.ts from message events).
|
|
13
5
|
*/
|
|
@@ -19,20 +11,34 @@ export const geminiFormat = {
|
|
|
19
11
|
getDataArray(body) {
|
|
20
12
|
return body.contents;
|
|
21
13
|
},
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
return
|
|
14
|
+
injectSystemMessage(body, injection) {
|
|
15
|
+
if (!injection)
|
|
16
|
+
return false;
|
|
17
|
+
if (!body.systemInstruction) {
|
|
18
|
+
body.systemInstruction = { parts: [] };
|
|
19
|
+
}
|
|
20
|
+
if (!Array.isArray(body.systemInstruction.parts)) {
|
|
21
|
+
body.systemInstruction.parts = [];
|
|
22
|
+
}
|
|
23
|
+
body.systemInstruction.parts.push({ text: injection });
|
|
24
|
+
return true;
|
|
33
25
|
},
|
|
34
|
-
|
|
35
|
-
|
|
26
|
+
appendToLastAssistantMessage(body, injection) {
|
|
27
|
+
if (!injection || !body.contents || body.contents.length === 0)
|
|
28
|
+
return false;
|
|
29
|
+
for (let i = body.contents.length - 1; i >= 0; i--) {
|
|
30
|
+
const content = body.contents[i];
|
|
31
|
+
if (content.role === 'model') {
|
|
32
|
+
if (Array.isArray(content.parts)) {
|
|
33
|
+
content.parts.push({ text: injection });
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
content.parts = [{ text: injection }];
|
|
37
|
+
}
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return false;
|
|
36
42
|
},
|
|
37
43
|
extractToolOutputs(data, state) {
|
|
38
44
|
const outputs = [];
|
|
@@ -59,9 +65,10 @@ export const geminiFormat = {
|
|
|
59
65
|
const positionKey = `${funcName}:${currentIndex}`;
|
|
60
66
|
const toolCallId = positionMapping.get(positionKey);
|
|
61
67
|
if (toolCallId) {
|
|
68
|
+
const metadata = state.toolParameters.get(toolCallId.toLowerCase());
|
|
62
69
|
outputs.push({
|
|
63
70
|
id: toolCallId.toLowerCase(),
|
|
64
|
-
toolName:
|
|
71
|
+
toolName: metadata?.tool
|
|
65
72
|
});
|
|
66
73
|
}
|
|
67
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../../../lib/fetch-wrapper/formats/gemini.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../../../lib/fetch-wrapper/formats/gemini.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,4 +2,5 @@ export { openaiChatFormat } from './openai-chat';
|
|
|
2
2
|
export { openaiResponsesFormat } from './openai-responses';
|
|
3
3
|
export { geminiFormat } from './gemini';
|
|
4
4
|
export { bedrockFormat } from './bedrock';
|
|
5
|
+
export { anthropicFormat } from './anthropic';
|
|
5
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/fetch-wrapper/formats/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/fetch-wrapper/formats/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA"}
|
|
@@ -2,4 +2,5 @@ export { openaiChatFormat } from './openai-chat';
|
|
|
2
2
|
export { openaiResponsesFormat } from './openai-responses';
|
|
3
3
|
export { geminiFormat } from './gemini';
|
|
4
4
|
export { bedrockFormat } from './bedrock';
|
|
5
|
+
export { anthropicFormat } from './anthropic';
|
|
5
6
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/fetch-wrapper/formats/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../lib/fetch-wrapper/formats/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA"}
|
|
@@ -1,14 +1,3 @@
|
|
|
1
1
|
import type { FormatDescriptor } from "../types";
|
|
2
|
-
/**
|
|
3
|
-
* Format descriptor for OpenAI Chat Completions and Anthropic APIs.
|
|
4
|
-
*
|
|
5
|
-
* OpenAI Chat format:
|
|
6
|
-
* - Messages with role='tool' and tool_call_id
|
|
7
|
-
* - Assistant messages with tool_calls[] array
|
|
8
|
-
*
|
|
9
|
-
* Anthropic format:
|
|
10
|
-
* - Messages with role='user' containing content[].type='tool_result' and tool_use_id
|
|
11
|
-
* - Assistant messages with content[].type='tool_use'
|
|
12
|
-
*/
|
|
13
2
|
export declare const openaiChatFormat: FormatDescriptor;
|
|
14
3
|
//# sourceMappingURL=openai-chat.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-chat.d.ts","sourceRoot":"","sources":["../../../../lib/fetch-wrapper/formats/openai-chat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAc,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"openai-chat.d.ts","sourceRoot":"","sources":["../../../../lib/fetch-wrapper/formats/openai-chat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAc,MAAM,UAAU,CAAA;AAG5D,eAAO,MAAM,gBAAgB,EAAE,gBA4H9B,CAAA"}
|
|
@@ -1,17 +1,3 @@
|
|
|
1
|
-
import { cacheToolParametersFromMessages } from "../../state/tool-cache";
|
|
2
|
-
import { injectSynth, trackNewToolResults } from "../../api-formats/synth-instruction";
|
|
3
|
-
import { injectPrunableList } from "../../api-formats/prunable-list";
|
|
4
|
-
/**
|
|
5
|
-
* Format descriptor for OpenAI Chat Completions and Anthropic APIs.
|
|
6
|
-
*
|
|
7
|
-
* OpenAI Chat format:
|
|
8
|
-
* - Messages with role='tool' and tool_call_id
|
|
9
|
-
* - Assistant messages with tool_calls[] array
|
|
10
|
-
*
|
|
11
|
-
* Anthropic format:
|
|
12
|
-
* - Messages with role='user' containing content[].type='tool_result' and tool_use_id
|
|
13
|
-
* - Assistant messages with content[].type='tool_use'
|
|
14
|
-
*/
|
|
15
1
|
export const openaiChatFormat = {
|
|
16
2
|
name: 'openai-chat',
|
|
17
3
|
detect(body) {
|
|
@@ -20,17 +6,38 @@ export const openaiChatFormat = {
|
|
|
20
6
|
getDataArray(body) {
|
|
21
7
|
return body.messages;
|
|
22
8
|
},
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
9
|
+
injectSystemMessage(body, injection) {
|
|
10
|
+
if (!injection || !body.messages)
|
|
11
|
+
return false;
|
|
12
|
+
let lastSystemIndex = -1;
|
|
13
|
+
for (let i = 0; i < body.messages.length; i++) {
|
|
14
|
+
if (body.messages[i].role === 'system') {
|
|
15
|
+
lastSystemIndex = i;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
const insertIndex = lastSystemIndex + 1;
|
|
19
|
+
body.messages.splice(insertIndex, 0, { role: 'system', content: injection });
|
|
20
|
+
return true;
|
|
31
21
|
},
|
|
32
|
-
|
|
33
|
-
|
|
22
|
+
appendToLastAssistantMessage(body, injection) {
|
|
23
|
+
if (!injection || !body.messages || body.messages.length === 0)
|
|
24
|
+
return false;
|
|
25
|
+
for (let i = body.messages.length - 1; i >= 0; i--) {
|
|
26
|
+
const msg = body.messages[i];
|
|
27
|
+
if (msg.role === 'assistant') {
|
|
28
|
+
if (typeof msg.content === 'string') {
|
|
29
|
+
msg.content = msg.content + '\n\n' + injection;
|
|
30
|
+
}
|
|
31
|
+
else if (Array.isArray(msg.content)) {
|
|
32
|
+
msg.content.push({ type: 'text', text: injection });
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
msg.content = injection;
|
|
36
|
+
}
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return false;
|
|
34
41
|
},
|
|
35
42
|
extractToolOutputs(data, state) {
|
|
36
43
|
const outputs = [];
|
|
@@ -99,7 +106,8 @@ export const openaiChatFormat = {
|
|
|
99
106
|
return {
|
|
100
107
|
url: inputUrl,
|
|
101
108
|
replacedCount,
|
|
102
|
-
totalMessages: data.length
|
|
109
|
+
totalMessages: data.length,
|
|
110
|
+
format: 'openai-chat'
|
|
103
111
|
};
|
|
104
112
|
}
|
|
105
113
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-chat.js","sourceRoot":"","sources":["../../../../lib/fetch-wrapper/formats/openai-chat.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"openai-chat.js","sourceRoot":"","sources":["../../../../lib/fetch-wrapper/formats/openai-chat.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,3 @@
|
|
|
1
1
|
import type { FormatDescriptor } from "../types";
|
|
2
|
-
/**
|
|
3
|
-
* Format descriptor for OpenAI Responses API (GPT-5 models via sdk.responses()).
|
|
4
|
-
*
|
|
5
|
-
* Uses body.input array with:
|
|
6
|
-
* - type='function_call' items for tool calls
|
|
7
|
-
* - type='function_call_output' items for tool results
|
|
8
|
-
* - type='message' items for user/assistant messages
|
|
9
|
-
*/
|
|
10
2
|
export declare const openaiResponsesFormat: FormatDescriptor;
|
|
11
3
|
//# sourceMappingURL=openai-responses.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-responses.d.ts","sourceRoot":"","sources":["../../../../lib/fetch-wrapper/formats/openai-responses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAc,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"openai-responses.d.ts","sourceRoot":"","sources":["../../../../lib/fetch-wrapper/formats/openai-responses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAc,MAAM,UAAU,CAAA;AAG5D,eAAO,MAAM,qBAAqB,EAAE,gBAoFnC,CAAA"}
|
|
@@ -1,14 +1,3 @@
|
|
|
1
|
-
import { cacheToolParametersFromInput } from "../../state/tool-cache";
|
|
2
|
-
import { injectSynthResponses, trackNewToolResultsResponses } from "../../api-formats/synth-instruction";
|
|
3
|
-
import { injectPrunableListResponses } from "../../api-formats/prunable-list";
|
|
4
|
-
/**
|
|
5
|
-
* Format descriptor for OpenAI Responses API (GPT-5 models via sdk.responses()).
|
|
6
|
-
*
|
|
7
|
-
* Uses body.input array with:
|
|
8
|
-
* - type='function_call' items for tool calls
|
|
9
|
-
* - type='function_call_output' items for tool results
|
|
10
|
-
* - type='message' items for user/assistant messages
|
|
11
|
-
*/
|
|
12
1
|
export const openaiResponsesFormat = {
|
|
13
2
|
name: 'openai-responses',
|
|
14
3
|
detect(body) {
|
|
@@ -17,17 +6,36 @@ export const openaiResponsesFormat = {
|
|
|
17
6
|
getDataArray(body) {
|
|
18
7
|
return body.input;
|
|
19
8
|
},
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
9
|
+
injectSystemMessage(body, injection) {
|
|
10
|
+
if (!injection)
|
|
11
|
+
return false;
|
|
12
|
+
if (body.instructions && typeof body.instructions === 'string') {
|
|
13
|
+
body.instructions = body.instructions + '\n\n' + injection;
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
body.instructions = injection;
|
|
17
|
+
}
|
|
18
|
+
return true;
|
|
28
19
|
},
|
|
29
|
-
|
|
30
|
-
|
|
20
|
+
appendToLastAssistantMessage(body, injection) {
|
|
21
|
+
if (!injection || !body.input || body.input.length === 0)
|
|
22
|
+
return false;
|
|
23
|
+
for (let i = body.input.length - 1; i >= 0; i--) {
|
|
24
|
+
const item = body.input[i];
|
|
25
|
+
if (item.type === 'message' && item.role === 'assistant') {
|
|
26
|
+
if (typeof item.content === 'string') {
|
|
27
|
+
item.content = item.content + '\n\n' + injection;
|
|
28
|
+
}
|
|
29
|
+
else if (Array.isArray(item.content)) {
|
|
30
|
+
item.content.push({ type: 'output_text', text: injection });
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
item.content = injection;
|
|
34
|
+
}
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return false;
|
|
31
39
|
},
|
|
32
40
|
extractToolOutputs(data, state) {
|
|
33
41
|
const outputs = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-responses.js","sourceRoot":"","sources":["../../../../lib/fetch-wrapper/formats/openai-responses.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"openai-responses.js","sourceRoot":"","sources":["../../../../lib/fetch-wrapper/formats/openai-responses.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,3 @@
|
|
|
1
1
|
import type { FetchHandlerContext, FetchHandlerResult, FormatDescriptor } from "./types";
|
|
2
|
-
/**
|
|
3
|
-
* Generic format handler that processes any API format using a FormatDescriptor.
|
|
4
|
-
*
|
|
5
|
-
* This consolidates the common logic from all format-specific handlers:
|
|
6
|
-
* 1. Cache tool parameters
|
|
7
|
-
* 2. Inject synthetic instructions (if strategies enabled)
|
|
8
|
-
* 3. Build and inject prunable tools list
|
|
9
|
-
* 4. Replace pruned tool outputs
|
|
10
|
-
* 5. Log and save context
|
|
11
|
-
*/
|
|
12
2
|
export declare function handleFormat(body: any, ctx: FetchHandlerContext, inputUrl: string, format: FormatDescriptor): Promise<FetchHandlerResult>;
|
|
13
3
|
//# sourceMappingURL=handler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../lib/fetch-wrapper/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../lib/fetch-wrapper/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,gBAAgB,EAAgB,MAAM,SAAS,CAAA;AAyDtG,wBAAsB,YAAY,CAC9B,IAAI,EAAE,GAAG,EACT,GAAG,EAAE,mBAAmB,EACxB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,gBAAgB,GACzB,OAAO,CAAC,kBAAkB,CAAC,CAsG7B"}
|