|
|
@@ -145,7 +145,7 @@ describe('the shipped Web composition', () => {
|
|
|
expect(toolNames(ctx, handle.agent).filter(name => name !== 'glob' && name !== 'grep')).toEqual([
|
|
|
'ask_user_question', 'bash', 'create_goal', 'edit', 'exit_plan_mode',
|
|
|
'get_goal', 'interrupt_agent', 'list_agents', 'ralph', 'read', 'send_message', 'skill',
|
|
|
- 'str_replace_editor', 'subagent', 'subagent_fork', 'task_kill',
|
|
|
+ 'subagent', 'subagent_fork', 'task_kill',
|
|
|
'task_list', 'task_output', 'todo_write', 'update_goal', 'web_search',
|
|
|
'workflow', 'write',
|
|
|
])
|
|
|
@@ -217,6 +217,7 @@ describe('the shipped Web composition', () => {
|
|
|
expect(tools).toEqual(expect.arrayContaining(['cordis_inspect', 'cordis_mount', 'cordis_unmount']))
|
|
|
// And it keeps the standard agent's own tools rather than replacing them.
|
|
|
expect(tools).toEqual(expect.arrayContaining(['bash', 'read', 'edit', 'skill']))
|
|
|
+ expect(tools).not.toContain('str_replace_editor')
|
|
|
|
|
|
// The preset's own authoring skill registers into ITS layer of the host
|
|
|
// registry: the cordis agent's view carries it, the global view does not.
|
|
|
@@ -243,9 +244,9 @@ describe('the shipped Web composition', () => {
|
|
|
// the capabilities — so the assembly is what carries the claim.
|
|
|
const assembly = await ctx.systemPrompt.assemble({ scope: coded.agent })
|
|
|
expect(assembly.tools.map(tool => tool.name)).toEqual(['run_code'])
|
|
|
- expect(toolNames(ctx, coded.agent)).toContain('str_replace_editor')
|
|
|
+ expect(toolNames(ctx, coded.agent)).not.toContain('str_replace_editor')
|
|
|
const sdk = assembly.sections.find(section => section.name === 'tools:sdk')?.text ?? ''
|
|
|
- expect(sdk).toContain('str_replace_editor')
|
|
|
+ expect(sdk).not.toContain('str_replace_editor')
|
|
|
expect(sdk).toContain('web_search')
|
|
|
|
|
|
// The presentation is this agent's alone: the deployment default is
|