Why: native must compile without agent-intent, and the two execution packages were the same contract under two names. Evidence: GOWORK=off go test -count=1 ./... passed, including schema.TestRequestAndResultRoundTrip and the native adapter tests after Options was split into embedded sub-structs. Impact: adapters/intentgate is gone, go.mod no longer requires agent-intent, and the nested gitlink stays for the release task. Callers of Options composite literals name the sub-struct. Refs: D1 Co-authored-by: Cursor <cursoragent@cursor.com>
35 lines
1.1 KiB
Go
35 lines
1.1 KiB
Go
package catalogcheck
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"agent-native/exec"
|
|
"error-code-system/errcode"
|
|
)
|
|
|
|
// 常量取值必须与错误码库种子码相同。旧短字符串只作为错误码库里的别名存在。
|
|
func TestContractCodesMatchCatalog(t *testing.T) {
|
|
pairs := []struct {
|
|
got exec.ErrorCode
|
|
want errcode.Code
|
|
}{
|
|
{exec.ErrCanceled, errcode.AgentCanceled},
|
|
{exec.ErrDeadlineExceeded, errcode.AgentDeadlineExceeded},
|
|
{exec.ErrBudgetExceeded, errcode.AgentBudgetExceeded},
|
|
{exec.ErrProviderUnavailable, errcode.AgentProviderUnavailable},
|
|
{exec.ErrProviderRejected, errcode.AgentProviderRejected},
|
|
{exec.ErrToolRejected, errcode.AgentToolRejected},
|
|
{exec.ErrPathOutsideWorkspace, errcode.AgentPathOutsideWorkspace},
|
|
{exec.ErrMissingCapability, errcode.AgentMissingCapability},
|
|
{exec.ErrMissingDeliverable, errcode.AgentMissingDeliverable},
|
|
{exec.ErrEmptyOutput, errcode.AgentEmptyOutput},
|
|
{exec.ErrUnknownOutcome, errcode.AgentUnknownOutcome},
|
|
{exec.ErrInternal, errcode.AgentInternal},
|
|
}
|
|
for _, pair := range pairs {
|
|
if string(pair.got) != string(pair.want) {
|
|
t.Errorf("contract %q != catalog %q", pair.got, pair.want)
|
|
}
|
|
}
|
|
}
|