INNER CODE UNIT · Go

okTool

voocel/ainovel-cli · internal/agents/agentcore_contract_test.go:81

func okTool(name string) agentcore.Tool {
	return agentcore.NewFuncTool(name, "contract test tool", map[string]any{"type": "object"},
		func(context.Context, json.RawMessage) (json.RawMessage, error) {
			return json.RawMessage(`"ok"`), nil
		})
}

// runSubagent 用给定配置经 Runner.Run(Engine 的派发通道)跑一次单派发。
// 返回执行错误——StopGuard 升级终止会以 error 形式浮出(这本身也是契约),
// 期望正常结束的用例自行断言 nil。
func runSubagent(t *testing.T, cfg subagent.Config) error {
	t.Helper()
	_, err := subagent.NewRunner(cfg).Run(context.Background(), cfg.Name, "contract")
	return err
}

// 契约 1:终态工具退出经过 StopGuard;guard 否决(InjectMessage)后 run 继续。
// 依赖方:EditorStopGuard —— save_review 等终态工具命中后,任务感知 guard 必须

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…