refactor(llm): rename CallId to ToolCallId

This commit is contained in:
_Kerman
2026-08-21 16:10:24 +08:00
parent 8cf2445f11
commit a789637db6
186 changed files with 1013 additions and 1013 deletions
@@ -8,7 +8,7 @@ import { homedir } from 'node:os'
import { join, resolve } from 'node:path'
import { afterEach, describe, expect, it, vi } from 'vitest'
import { Context } from '@deepseek-ai/cordis'
import { CallId } from '@deepseek-ai/dsh-llm'
import { ToolCallId } from '@deepseek-ai/dsh-llm'
import type { Agent } from '@deepseek-ai/dsh-agent'
import type { ToolExecution } from '@deepseek-ai/dsh-tools'
import { ShellEnvRegistry } from '@deepseek-ai/dsh-shell-env'
@@ -22,8 +22,8 @@ function execution(sessionId?: string): ToolExecution {
return {
signal: testToolSignal,
token: Symbol('bash-env-test') as ToolExecution['token'],
callId: CallId('bash-env-call'),
rootCallId: CallId('bash-env-call'),
callId: ToolCallId('bash-env-call'),
rootCallId: ToolCallId('bash-env-call'),
name: 'bash',
arguments: { command: 'true' },
...(sessionId === undefined
@@ -6,7 +6,7 @@ import { afterEach, describe, expect, it } from 'vitest'
import { Context } from '@deepseek-ai/cordis'
import Loader from '@deepseek-ai/cordis-plugin-loader'
import Include from '@deepseek-ai/cordis-plugin-include'
import { CallId } from '@deepseek-ai/dsh-llm'
import { ToolCallId } from '@deepseek-ai/dsh-llm'
import { Session, SessionId } from '@deepseek-ai/dsh-session'
import AgentRegistry, { Inbox } from '@deepseek-ai/dsh-agent'
import type { Agent } from '@deepseek-ai/dsh-agent'
@@ -127,7 +127,7 @@ suite('persistent Bash through a real cordis.yml Loader composition', () => {
const signal = new AbortController().signal
const execute = (id: string, command: string) => context!.tools.execute({
signal,
callId: CallId(id),
callId: ToolCallId(id),
name: 'bash',
arguments: { command },
agent: owner,
@@ -1,6 +1,6 @@
import { afterEach, describe, expect, it } from 'vitest'
import { Context } from '@deepseek-ai/cordis'
import { CallId } from '@deepseek-ai/dsh-llm'
import { ToolCallId } from '@deepseek-ai/dsh-llm'
import { Session, SessionId } from '@deepseek-ai/dsh-session'
import AgentRegistry, { Inbox } from '@deepseek-ai/dsh-agent'
import type { Agent } from '@deepseek-ai/dsh-agent'
@@ -66,7 +66,7 @@ function call(
) {
return ctx.tools.execute({
signal,
callId: CallId(`persistent-bash-${++callNumber}`),
callId: ToolCallId(`persistent-bash-${++callNumber}`),
name: 'bash',
arguments: { command },
...owner === undefined ? {} : { agent: owner },
+13 -13
View File
@@ -3,7 +3,7 @@ import { tmpdir } from 'node:os'
import { join } from 'node:path'
import { describe, expect, it, vi } from 'vitest'
import { Context } from '@deepseek-ai/cordis'
import { CallId } from '@deepseek-ai/dsh-llm'
import { ToolCallId } from '@deepseek-ai/dsh-llm'
import { ShellExecutor } from '@deepseek-ai/dsh-shell'
import type { ShellExecRequest, ShellExecSpec, ShellProcess, ShellProcessRead, ShellRunResult } from '@deepseek-ai/dsh-shell'
import SystemPrompt from '@deepseek-ai/dsh-system-prompt'
@@ -76,7 +76,7 @@ function registerFakeAgent(ctx: Context, sessionId: string, inject: (...args: un
}
let callCounter = 0
function call(ctx: Context, name: string, args: unknown, agent?: Agent) {
return ctx.tools.execute({ signal: testToolSignal, callId: CallId(`call-${++callCounter}`), name, arguments: args, ...agent ? { agent } : {} })
return ctx.tools.execute({ signal: testToolSignal, callId: ToolCallId(`call-${++callCounter}`), name, arguments: args, ...agent ? { agent } : {} })
}
function text(result: { content: { type: string; text?: string }[] }): string {
@@ -309,7 +309,7 @@ describe('bash tool', () => {
const ctx = await setup()
const controller = new AbortController()
const pending = ctx.tools.execute({
callId: CallId('call-abort'),
callId: ToolCallId('call-abort'),
name: 'bash',
arguments: { command: 'sleep 60', description: 'test command' },
signal: controller.signal,
@@ -509,7 +509,7 @@ describe('background execution through the job runtime', () => {
const controller = new AbortController()
controller.abort()
const result = await ctx.tools.execute({
callId: CallId('call-pre-aborted'),
callId: ToolCallId('call-pre-aborted'),
name: 'bash',
arguments: { command: 'sleep 60', description: 'test command', run_in_background: true },
signal: controller.signal,
@@ -646,7 +646,7 @@ describe('sandbox escalation through the generic task producer', () => {
const agent = sandboxAgent(undefined, ctx)
ctx.agents.register(agent)
const foreground = await ctx.tools.execute({
callId: CallId('sandbox-signal'),
callId: ToolCallId('sandbox-signal'),
name: 'bash',
arguments: escalate,
agent,
@@ -669,7 +669,7 @@ describe('sandbox escalation through the generic task producer', () => {
const start = vi.spyOn(bash, 'start')
const result = await ctx.tools.execute({
callId: CallId('cancelled-escalation-background'),
callId: ToolCallId('cancelled-escalation-background'),
name: 'bash',
arguments: { ...escalate, run_in_background: true },
agent,
@@ -833,7 +833,7 @@ describe('session-cwd routing (per-session workdir)', () => {
it('falls back to the executor default when the agent has no session cwd', async () => {
const ctx = await setup()
// No exec.agent at all → executor uses its config/process.cwd() default.
const result = await ctx.tools.execute({ signal: testToolSignal, callId: CallId('cwd-noagent'), name: 'bash', arguments: { command: 'pwd', description: 'pwd' } })
const result = await ctx.tools.execute({ signal: testToolSignal, callId: ToolCallId('cwd-noagent'), name: 'bash', arguments: { command: 'pwd', description: 'pwd' } })
expect(result.isError).toBe(false)
expect(text(result).trim().length).toBeGreaterThan(0)
})
@@ -1131,7 +1131,7 @@ describe('the model-facing bash tool builds its request from named args only (no
await ctx.tools.execute({
signal: testToolSignal,
callId: CallId('session-env-fg'),
callId: ToolCallId('session-env-fg'),
name: 'bash',
arguments: { command: 'true', description: 'run command' },
agent,
@@ -1152,7 +1152,7 @@ describe('the model-facing bash tool builds its request from named args only (no
await ctx.tools.execute({
signal: testToolSignal,
callId: CallId('session-env-bg'),
callId: ToolCallId('session-env-bg'),
name: 'bash',
arguments: {
command: 'sleep 1',
@@ -1179,7 +1179,7 @@ describe('the model-facing bash tool builds its request from named args only (no
await ctx.tools.execute({
signal: testToolSignal,
callId: CallId('session-env-id-only'),
callId: ToolCallId('session-env-id-only'),
name: 'bash',
arguments: { command: 'true', description: 'run command' },
agent,
@@ -1201,7 +1201,7 @@ describe('the model-facing bash tool builds its request from named args only (no
for (const [callId, agent] of [['parent', parent], ['child', child]] as const) {
await ctx.tools.execute({
signal: testToolSignal,
callId: CallId(`session-env-${callId}`),
callId: ToolCallId(`session-env-${callId}`),
name: 'bash',
arguments: { command: 'true', description: 'run command' },
agent,
@@ -1232,7 +1232,7 @@ describe('the model-facing bash tool builds its request from named args only (no
// already set environment variables or feed stdin.
await ctx.tools.execute({
signal: testToolSignal,
callId: CallId('no-forward-1'),
callId: ToolCallId('no-forward-1'),
name: 'bash',
arguments: {
command: 'echo hi',
@@ -1254,7 +1254,7 @@ describe('the model-facing bash tool builds its request from named args only (no
const { ctx, bash } = await setupRecording()
const result = await ctx.tools.execute({
signal: testToolSignal,
callId: CallId('no-forward-2'),
callId: ToolCallId('no-forward-2'),
name: 'bash',
arguments: {
command: 'sleep 1',
@@ -15,7 +15,7 @@ import { tmpdir } from 'node:os'
import { join } from 'node:path'
import { spawnSync } from 'node:child_process'
import { Context } from '@deepseek-ai/cordis'
import { CallId } from '@deepseek-ai/dsh-llm'
import { ToolCallId } from '@deepseek-ai/dsh-llm'
import SystemPrompt from '@deepseek-ai/dsh-system-prompt'
import ToolRuntime, { TOOL_ABORTED } from '@deepseek-ai/dsh-tools'
import LocalJobRegistry from '@deepseek-ai/dsh-jobs-local'
@@ -41,7 +41,7 @@ let callCounter = 0
function call(name: string, args: unknown, agentObj?: object, signal?: AbortSignal) {
return ctx.tools.execute({
signal: signal ?? testToolSignal,
callId: CallId(`it-${++callCounter}`),
callId: ToolCallId(`it-${++callCounter}`),
name,
arguments: args,
...agentObj ? { agent: agentObj as never } : {},
+6 -6
View File
@@ -15,7 +15,7 @@ import { Context } from '@deepseek-ai/cordis'
import { mkdtempSync, realpathSync } from 'node:fs'
import { tmpdir } from 'node:os'
import { join, resolve as resolvePath } from 'node:path'
import { CallId } from '@deepseek-ai/dsh-llm'
import { ToolCallId } from '@deepseek-ai/dsh-llm'
import SystemPrompt, { renderPrompt } from '@deepseek-ai/dsh-system-prompt'
import ToolRuntime, { TOOL_ABORTED, TOOL_ABORTED_BEFORE_DISPATCH } from '@deepseek-ai/dsh-tools'
import LocalJobRegistry from '@deepseek-ai/dsh-jobs-local'
@@ -271,7 +271,7 @@ let callCounter = 0
function call(ctx: Context, name: string, args: unknown, agent?: Agent) {
return ctx.tools.execute({
signal: testToolSignal,
callId: CallId(`call-${++callCounter}`),
callId: ToolCallId(`call-${++callCounter}`),
name,
arguments: args,
...agent ? { agent } : {},
@@ -403,7 +403,7 @@ describe('execution through the bash seam', () => {
bash.handler = () => runResult('ok\n')
await ctx.tools.execute({
signal: controller.signal,
callId: CallId('call-signal'),
callId: ToolCallId('call-signal'),
name: 'pwsh',
arguments: { command: 'Write-Output ok', description: 'ok' },
})
@@ -626,7 +626,7 @@ describe('sandbox escalation through ctx.approval', () => {
const agent = sandboxAgent(undefined, ctx)
ctx.agents.register(agent)
const foreground = await ctx.tools.execute({
callId: CallId('sandbox-signal'),
callId: ToolCallId('sandbox-signal'),
name: 'pwsh',
arguments: escalate,
agent,
@@ -649,7 +649,7 @@ describe('sandbox escalation through ctx.approval', () => {
const start = vi.spyOn(bash, 'start')
const result = await ctx.tools.execute({
callId: CallId('cancelled-escalation-background'),
callId: ToolCallId('cancelled-escalation-background'),
name: 'pwsh',
arguments: { ...escalate, run_in_background: true },
agent,
@@ -752,7 +752,7 @@ describe('background execution through the job runtime', () => {
const controller = new AbortController()
controller.abort()
const result = await ctx.tools.execute({
callId: CallId('call-pre-aborted'),
callId: ToolCallId('call-pre-aborted'),
name: 'pwsh',
arguments: { command: 'Start-Sleep -Seconds 60', description: 'test command', run_in_background: true },
signal: controller.signal,