[agent/codex:gpt-5.3-codex-spark] Read docs/RFC.md fully. Find ONE feature described in the sp... #16

Merged
Virgil merged 1 commit from main into dev 2026-04-03 20:08:51 +00:00
2 changed files with 37 additions and 2 deletions

View file

@ -32,6 +32,10 @@ type ResolveAddressResult struct {
Addresses []string `json:"addresses"`
}
type ResolveTXTResult struct {
TXT []string `json:"txt"`
}
type ReverseLookupResult struct {
Names []string `json:"names"`
}
@ -345,11 +349,24 @@ func (service *Service) Resolve(name string) (ResolveAllResult, bool) {
}
func (service *Service) ResolveTXT(name string) ([]string, bool) {
record, ok := service.findRecord(name)
result, ok := service.ResolveTXTRecords(name)
if !ok {
return nil, false
}
return append([]string(nil), record.TXT...), true
return result.TXT, true
}
// ResolveTXTRecords returns TXT records wrapped with the RFC field name for action payloads.
//
// service.ResolveTXTRecords("gateway.charon.lthn")
func (service *Service) ResolveTXTRecords(name string) (ResolveTXTResult, bool) {
record, ok := service.findRecord(name)
if !ok {
return ResolveTXTResult{}, false
}
return ResolveTXTResult{
TXT: append([]string(nil), record.TXT...),
}, true
}
// DiscoverWithHSD refreshes DNS records for each alias by calling HSD.

View file

@ -92,6 +92,24 @@ func TestServiceResolveTXTUsesWildcard(t *testing.T) {
}
}
func TestServiceResolveTXTRecordsReturnsNamedField(t *testing.T) {
service := NewService(ServiceOptions{
Records: map[string]NameRecords{
"gateway.charon.lthn": {
TXT: []string{"v=lthn1 type=gateway"},
},
},
})
result, ok := service.ResolveTXTRecords("gateway.charon.lthn")
if !ok {
t.Fatal("expected named TXT result to resolve")
}
if len(result.TXT) != 1 || result.TXT[0] != "v=lthn1 type=gateway" {
t.Fatalf("unexpected ResolveTXTRecords output: %#v", result.TXT)
}
}
func TestServiceResolveAddressReturnsMergedRecords(t *testing.T) {
service := NewService(ServiceOptions{
Records: map[string]NameRecords{