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>
24 lines
553 B
Go
24 lines
553 B
Go
package exec
|
|
|
|
import "testing"
|
|
|
|
func TestErrorDuckTypeForLogs(t *testing.T) {
|
|
e := &Error{
|
|
Code: ErrProviderUnavailable,
|
|
Reason: "down",
|
|
Retryable: true,
|
|
SideEffects: SideEffectNone,
|
|
}
|
|
if e.ErrorCode() != "agent.provider_unavailable" {
|
|
t.Fatal(e.ErrorCode())
|
|
}
|
|
fields := e.ErrorFields()
|
|
if fields["reason"] != "down" || fields["side_effects"] != "none" || fields["retryable"] != true {
|
|
t.Fatalf("%v", fields)
|
|
}
|
|
var nilErr *Error
|
|
if nilErr.ErrorCode() != "" || nilErr.ErrorFields() != nil {
|
|
t.Fatal("nil error")
|
|
}
|
|
}
|