Skip to content

Commit 7985365

Browse files
committed
refactor(messages): rename reconcile to sync origins
1 parent 3cc96fd commit 7985365

File tree

4 files changed

+16
-15
lines changed

4 files changed

+16
-15
lines changed

lib/hooks.ts

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,7 @@ import type { PluginConfig } from "./config"
44
import { assignMessageRefs } from "./message-ids"
55
import { syncToolCache } from "./state/tool-cache"
66
import { deduplicate, supersedeWrites, purgeErrors } from "./strategies"
7-
import {
8-
prune,
9-
reconcilePruneOrigins,
10-
insertPruneToolContext,
11-
insertMessageIdContext,
12-
} from "./messages"
7+
import { prune, syncToolOrigins, insertPruneToolContext, insertMessageIdContext } from "./messages"
138
import { buildToolIdList, isIgnoredUserMessage } from "./messages/utils"
149
import { checkSession } from "./state"
1510
import { renderSystemPrompt } from "./prompts"
@@ -118,7 +113,7 @@ export function createChatMessageTransformHandler(
118113

119114
syncToolCache(state, config, logger, output.messages)
120115
buildToolIdList(state, output.messages, logger)
121-
reconcilePruneOrigins(state, logger, output.messages)
116+
syncToolOrigins(state, logger, output.messages)
122117

123118
deduplicate(state, logger, config, output.messages)
124119
supersedeWrites(state, logger, config, output.messages)

lib/messages/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
export { prune } from "./prune"
2-
export { reconcilePruneOrigins } from "./reconcile"
2+
export { syncToolOrigins } from "./sync"
33
export { insertPruneToolContext } from "./inject"
44
export { insertMessageIdContext } from "./inject"
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import type { SessionState, WithParts } from "../state"
22
import type { Logger } from "../logger"
33

4-
export const reconcilePruneOrigins = (
4+
export const syncToolOrigins = (
55
state: SessionState,
66
logger: Logger,
77
messages: WithParts[],
@@ -31,7 +31,7 @@ export const reconcilePruneOrigins = (
3131
}
3232

3333
if (removedToolCount > 0 || removedOriginCount > 0) {
34-
logger.info("Reconciled prune origins", {
34+
logger.info("Synced prune origins", {
3535
removedToolCount,
3636
removedOriginCount,
3737
})

lib/messages/utils.ts

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -84,10 +84,15 @@ export const createSyntheticToolPart = (
8484
const partId = generateStableId("prt_dcp_tool", deterministicSeed)
8585
const callId = generateStableId("call_dcp_tool", deterministicSeed)
8686

87-
// Gemini requires thoughtSignature bypass to accept synthetic tool parts
87+
// Gemini requires a thought signature on synthetic function calls.
88+
// Keep this metadata both on the part and on state so whichever
89+
// conversion path is used can forward it to providerOptions.
8890
const toolPartMetadata = isGeminiModel(modelID)
89-
? { google: { thoughtSignature: "skip_thought_signature_validator" } }
90-
: {}
91+
? {
92+
google: { thoughtSignature: "skip_thought_signature_validator" },
93+
vertex: { thoughtSignature: "skip_thought_signature_validator" },
94+
}
95+
: undefined
9196

9297
return {
9398
id: partId,
@@ -96,14 +101,15 @@ export const createSyntheticToolPart = (
96101
type: "tool" as const,
97102
callID: callId,
98103
tool: "context_info",
104+
...(toolPartMetadata ? { metadata: toolPartMetadata } : {}),
99105
state: {
100106
status: "completed" as const,
101107
input: {},
102108
output: content,
103109
title: "Context Info",
104-
metadata: toolPartMetadata,
110+
...(toolPartMetadata ? { metadata: toolPartMetadata } : {}),
105111
time: { start: now, end: now },
106-
},
112+
} as any,
107113
}
108114
}
109115

0 commit comments

Comments
 (0)