Add the intent seed domain for the agent-intent module.
This commit is contained in:
@@ -10,7 +10,7 @@ import (
|
||||
func TestEmbeddedCatalogMatchesRegistry(t *testing.T) {
|
||||
r := errcode.NewRegistry()
|
||||
RegisterAll(r)
|
||||
for _, domain := range []string{"sys", "agent", "squad"} {
|
||||
for _, domain := range []string{"sys", "agent", "squad", "intent"} {
|
||||
got, err := ExportDomain(r, domain)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
|
||||
@@ -9,11 +9,11 @@ import (
|
||||
|
||||
func TestWriteCatalog(t *testing.T) {
|
||||
if os.Getenv("WRITE_CATALOG") != "1" {
|
||||
t.Skip("set WRITE_CATALOG=1 to regenerate sys.json agent.json squad.json")
|
||||
t.Skip("set WRITE_CATALOG=1 to regenerate sys.json agent.json squad.json intent.json")
|
||||
}
|
||||
r := errcode.NewRegistry()
|
||||
RegisterAll(r)
|
||||
for _, domain := range []string{"sys", "agent", "squad"} {
|
||||
for _, domain := range []string{"sys", "agent", "squad", "intent"} {
|
||||
data, err := ExportDomain(r, domain)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ import "embed"
|
||||
|
||||
// 导出的目录快照。改 Go 定义后用 WRITE_CATALOG=1 重写这些文件。
|
||||
//
|
||||
//go:embed sys.json agent.json squad.json
|
||||
//go:embed sys.json agent.json squad.json intent.json
|
||||
var catalogFS embed.FS
|
||||
|
||||
// CatalogJSON 返回已嵌入的域目录原文。
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
package domains
|
||||
|
||||
import "error-code-system/errcode"
|
||||
|
||||
func registerIntent(r *errcode.Registry) {
|
||||
must(r, def(errcode.IntentInvalidSpec, 400, errcode.SeverityError, errcode.RetryNever, errcode.SideEffectNone,
|
||||
"意图定义校验失败", "检查 spec 的 id/domain/matcher/slots 与来源文件;整批配置已原子拒绝"))
|
||||
must(r, def(errcode.IntentSpecProtected, 400, errcode.SeverityError, errcode.RetryNever, errcode.SideEffectNone,
|
||||
"试图覆盖或禁用保护域意图", "保护域由宿主构建时声明;修改须走宿主内置定义,不接受 overlay"))
|
||||
must(r, def(errcode.IntentLoadFailed, 500, errcode.SeverityError, errcode.RetryNever, errcode.SideEffectNone,
|
||||
"意图配置加载失败", "查看来源路径与解析原因;失败时保留上一生效快照"))
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
[
|
||||
{
|
||||
"code": "intent.invalid_spec",
|
||||
"http": 400,
|
||||
"severity": "error",
|
||||
"retry": "never",
|
||||
"side_effects": "none",
|
||||
"summary": "意图定义校验失败",
|
||||
"hint": "检查 spec 的 id/domain/matcher/slots 与来源文件;整批配置已原子拒绝"
|
||||
},
|
||||
{
|
||||
"code": "intent.load_failed",
|
||||
"http": 500,
|
||||
"severity": "error",
|
||||
"retry": "never",
|
||||
"side_effects": "none",
|
||||
"summary": "意图配置加载失败",
|
||||
"hint": "查看来源路径与解析原因;失败时保留上一生效快照"
|
||||
},
|
||||
{
|
||||
"code": "intent.spec_protected",
|
||||
"http": 400,
|
||||
"severity": "error",
|
||||
"retry": "never",
|
||||
"side_effects": "none",
|
||||
"summary": "试图覆盖或禁用保护域意图",
|
||||
"hint": "保护域由宿主构建时声明;修改须走宿主内置定义,不接受 overlay"
|
||||
}
|
||||
]
|
||||
+2
-1
@@ -8,11 +8,12 @@ import "error-code-system/errcode"
|
||||
|
||||
func init() { RegisterAll(errcode.Default) }
|
||||
|
||||
// RegisterAll 向 r 登记 sys / agent / squad 三域。重复调用会因码冲突失败。
|
||||
// RegisterAll 向 r 登记 sys / agent / squad / intent 四域。重复调用会因码冲突失败。
|
||||
func RegisterAll(r *errcode.Registry) {
|
||||
registerSys(r)
|
||||
registerAgent(r)
|
||||
registerSquad(r)
|
||||
registerIntent(r)
|
||||
}
|
||||
|
||||
func must(r *errcode.Registry, def errcode.Definition) {
|
||||
|
||||
Reference in New Issue
Block a user