Skip to content

Commit 8e67558

Browse files
committed
updates to prompt caching
1 parent 5308deb commit 8e67558

3 files changed

Lines changed: 37 additions & 2 deletions

File tree

apps/sim/lib/copilot/chat/post.test.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -167,8 +167,15 @@ describe('handleUnifiedChatPost', () => {
167167
)
168168

169169
expect(response.status).toBe(200)
170+
expect(buildCopilotRequestPayload).toHaveBeenCalledWith(
171+
expect.objectContaining({
172+
model: 'claude-opus-4-7',
173+
}),
174+
{ selectedModel: 'claude-opus-4-7' }
175+
)
170176
expect(createSSEStream).toHaveBeenCalledWith(
171177
expect.objectContaining({
178+
titleModel: 'claude-opus-4-7',
172179
workspaceId: 'ws-1',
173180
orchestrateOptions: expect.objectContaining({
174181
workflowId: 'wf-1',
@@ -206,6 +213,7 @@ describe('handleUnifiedChatPost', () => {
206213
)
207214
expect(createSSEStream).toHaveBeenCalledWith(
208215
expect.objectContaining({
216+
titleModel: 'claude-opus-4-7',
209217
workspaceId: 'ws-1',
210218
orchestrateOptions: expect.objectContaining({
211219
workspaceId: 'ws-1',

apps/sim/lib/copilot/chat/post.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ import type { ChatContext } from '@/stores/panel'
5050
export const maxDuration = 3600
5151

5252
const logger = createLogger('UnifiedChatAPI')
53-
const DEFAULT_MODEL = 'claude-opus-4-6'
53+
const DEFAULT_MODEL = 'claude-opus-4-7'
5454

5555
const FileAttachmentSchema = z.object({
5656
id: z.string(),
@@ -147,6 +147,7 @@ type UnifiedChatBranch =
147147
workflowId: string
148148
workflowName?: string
149149
workspaceId?: string
150+
effectiveModel: string
150151
selectedModel: string
151152
mode: UnifiedChatRequest['mode']
152153
provider?: string
@@ -182,6 +183,7 @@ type UnifiedChatBranch =
182183
| {
183184
kind: 'workspace'
184185
workspaceId: string
186+
effectiveModel: string
185187
goRoute: '/api/mothership'
186188
titleModel: string
187189
titleProvider?: undefined
@@ -554,6 +556,7 @@ async function resolveBranch(params: {
554556
workflowId: resolvedWorkflowId,
555557
workflowName: resolved.workflowName,
556558
workspaceId: resolvedWorkspaceId,
559+
effectiveModel: selectedModel,
557560
selectedModel,
558561
mode: mode ?? 'agent',
559562
provider,
@@ -620,6 +623,7 @@ async function resolveBranch(params: {
620623
return {
621624
kind: 'workspace',
622625
workspaceId: requestedWorkspaceId,
626+
effectiveModel: DEFAULT_MODEL,
623627
goRoute: '/api/mothership',
624628
titleModel: DEFAULT_MODEL,
625629
notifyWorkspaceStatus: true,
@@ -821,7 +825,7 @@ export async function handleUnifiedChatPost(req: NextRequest) {
821825
activeOtelRoot.setRequestShape({
822826
branchKind: branch.kind,
823827
mode: body.mode,
824-
model: body.model,
828+
model: branch.effectiveModel,
825829
provider: body.provider,
826830
createNewChat: body.createNewChat,
827831
prefetch: body.prefetch,

apps/sim/lib/copilot/generated/trace-attributes-v1.ts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -325,23 +325,38 @@ export const TraceAttr = {
325325
GenAiRequestMessagesCount: 'gen_ai.request.messages.count',
326326
GenAiRequestModel: 'gen_ai.request.model',
327327
GenAiRequestPromptCacheBreakpointCreated: 'gen_ai.request.prompt_cache.breakpoint.created',
328+
GenAiRequestPromptCacheBreakpointDynamicWriteSuppressReason:
329+
'gen_ai.request.prompt_cache.breakpoint.dynamic_write_suppress_reason',
330+
GenAiRequestPromptCacheBreakpointDynamicWriteSuppressed:
331+
'gen_ai.request.prompt_cache.breakpoint.dynamic_write_suppressed',
328332
GenAiRequestPromptCacheBreakpointEligible: 'gen_ai.request.prompt_cache.breakpoint.eligible',
329333
GenAiRequestPromptCacheBreakpointKind: 'gen_ai.request.prompt_cache.breakpoint.kind',
334+
GenAiRequestPromptCacheBreakpointMinimumTokens:
335+
'gen_ai.request.prompt_cache.breakpoint.minimum_tokens',
330336
GenAiRequestPromptCacheBreakpointPrefixTokensEstimated:
331337
'gen_ai.request.prompt_cache.breakpoint.prefix_tokens_estimated',
338+
GenAiRequestPromptCacheBreakpointPreviousBoundaryTokens:
339+
'gen_ai.request.prompt_cache.breakpoint.previous_boundary_tokens',
332340
GenAiRequestPromptCacheBreakpointSection: 'gen_ai.request.prompt_cache.breakpoint.section',
333341
GenAiRequestPromptCacheBreakpointSkipReason: 'gen_ai.request.prompt_cache.breakpoint.skip_reason',
334342
GenAiRequestPromptCacheBreakpointTargetIndex:
335343
'gen_ai.request.prompt_cache.breakpoint.target_index',
336344
GenAiRequestPromptCacheBreakpointTargetRole: 'gen_ai.request.prompt_cache.breakpoint.target_role',
337345
GenAiRequestPromptCacheBreakpointTargetType: 'gen_ai.request.prompt_cache.breakpoint.target_type',
346+
GenAiRequestPromptCacheBreakpointThresholdTokens:
347+
'gen_ai.request.prompt_cache.breakpoint.threshold_tokens',
338348
GenAiRequestPromptCacheBreakpointTtl: 'gen_ai.request.prompt_cache.breakpoint.ttl',
339349
GenAiRequestPromptCacheBreakpointsCount: 'gen_ai.request.prompt_cache.breakpoints.count',
340350
GenAiRequestPromptCacheBreakpointsCreated: 'gen_ai.request.prompt_cache.breakpoints.created',
351+
GenAiRequestPromptCacheDynamicMinimumTokens: 'gen_ai.request.prompt_cache.dynamic.minimum_tokens',
341352
GenAiRequestPromptCacheDynamicPrefixTokensEstimated:
342353
'gen_ai.request.prompt_cache.dynamic.prefix_tokens_estimated',
354+
GenAiRequestPromptCacheDynamicPreviousBoundaryTokens:
355+
'gen_ai.request.prompt_cache.dynamic.previous_boundary_tokens',
343356
GenAiRequestPromptCacheDynamicSkipReason: 'gen_ai.request.prompt_cache.dynamic.skip_reason',
344357
GenAiRequestPromptCacheDynamicTargetType: 'gen_ai.request.prompt_cache.dynamic.target_type',
358+
GenAiRequestPromptCacheDynamicThresholdTokens:
359+
'gen_ai.request.prompt_cache.dynamic.threshold_tokens',
345360
GenAiRequestPromptCacheDynamicTtl: 'gen_ai.request.prompt_cache.dynamic.ttl',
346361
GenAiRequestPromptCacheDynamicUserEligible: 'gen_ai.request.prompt_cache.dynamic_user_eligible',
347362
GenAiRequestPromptCacheDynamicUserSkipReason:
@@ -903,20 +918,28 @@ export const TraceAttrValues: readonly TraceAttrValue[] = [
903918
'gen_ai.request.messages.count',
904919
'gen_ai.request.model',
905920
'gen_ai.request.prompt_cache.breakpoint.created',
921+
'gen_ai.request.prompt_cache.breakpoint.dynamic_write_suppress_reason',
922+
'gen_ai.request.prompt_cache.breakpoint.dynamic_write_suppressed',
906923
'gen_ai.request.prompt_cache.breakpoint.eligible',
907924
'gen_ai.request.prompt_cache.breakpoint.kind',
925+
'gen_ai.request.prompt_cache.breakpoint.minimum_tokens',
908926
'gen_ai.request.prompt_cache.breakpoint.prefix_tokens_estimated',
927+
'gen_ai.request.prompt_cache.breakpoint.previous_boundary_tokens',
909928
'gen_ai.request.prompt_cache.breakpoint.section',
910929
'gen_ai.request.prompt_cache.breakpoint.skip_reason',
911930
'gen_ai.request.prompt_cache.breakpoint.target_index',
912931
'gen_ai.request.prompt_cache.breakpoint.target_role',
913932
'gen_ai.request.prompt_cache.breakpoint.target_type',
933+
'gen_ai.request.prompt_cache.breakpoint.threshold_tokens',
914934
'gen_ai.request.prompt_cache.breakpoint.ttl',
915935
'gen_ai.request.prompt_cache.breakpoints.count',
916936
'gen_ai.request.prompt_cache.breakpoints.created',
937+
'gen_ai.request.prompt_cache.dynamic.minimum_tokens',
917938
'gen_ai.request.prompt_cache.dynamic.prefix_tokens_estimated',
939+
'gen_ai.request.prompt_cache.dynamic.previous_boundary_tokens',
918940
'gen_ai.request.prompt_cache.dynamic.skip_reason',
919941
'gen_ai.request.prompt_cache.dynamic.target_type',
942+
'gen_ai.request.prompt_cache.dynamic.threshold_tokens',
920943
'gen_ai.request.prompt_cache.dynamic.ttl',
921944
'gen_ai.request.prompt_cache.dynamic_user_eligible',
922945
'gen_ai.request.prompt_cache.dynamic_user_skip_reason',

0 commit comments

Comments
 (0)