diff --git a/core/cli/chat/run.go b/core/cli/chat/run.go index 3da8e08d2..d221eab8e 100644 --- a/core/cli/chat/run.go +++ b/core/cli/chat/run.go @@ -314,7 +314,7 @@ func agentOptions(dir, model string, opts Options) app.Options { TraceDir: opts.TraceDir, } if opts.Yolo { - overrides.ApprovalMode = "auto" + overrides.ApprovalMode = nibtypes.ApprovalAuto } return app.Options{ diff --git a/core/cli/chat/run_test.go b/core/cli/chat/run_test.go index e334e0a0b..7899c46eb 100644 --- a/core/cli/chat/run_test.go +++ b/core/cli/chat/run_test.go @@ -509,7 +509,7 @@ var _ = Describe("prepare", func() { Expect(agentOptions(dir, "a-model", opts).Overrides.ApprovalMode).To(BeEmpty()) opts.Yolo = true - Expect(agentOptions(dir, "a-model", opts).Overrides.ApprovalMode).To(Equal("auto")) + Expect(agentOptions(dir, "a-model", opts).Overrides.ApprovalMode).To(Equal(nibtypes.ApprovalAuto)) }) // The specs above pin what is handed over. These pin what nib does with @@ -570,7 +570,7 @@ var _ = Describe("prepare", func() { opts.Yolo = true cfg := resolve(agentOptions(dir, "a-model", opts)) - Expect(cfg.ApprovalMode).To(Equal("auto")) + Expect(cfg.ApprovalMode).To(Equal(nibtypes.ApprovalAuto)) }) // The other half of the same rule, and the reason an unset flag is @@ -582,7 +582,7 @@ var _ = Describe("prepare", func() { cfg := resolve(agentOptions(dir, "a-model", optionsWithStreams(os.Stdin, os.Stdout, os.Stderr))) Expect(cfg.APIKey).To(Equal("saved-key")) - Expect(cfg.ApprovalMode).To(Equal("prompt")) + Expect(cfg.ApprovalMode).To(Equal(nibtypes.ApprovalPrompt)) }) }) }) diff --git a/go.mod b/go.mod index ed69ee4ea..3a5b32908 100644 --- a/go.mod +++ b/go.mod @@ -36,11 +36,11 @@ require ( github.com/mholt/archiver/v3 v3.5.1 github.com/microcosm-cc/bluemonday v1.0.27 github.com/modelcontextprotocol/go-sdk v1.5.0 - github.com/mudler/cogito v0.11.1-0.20260721122412-6eece18a6bb6 + github.com/mudler/cogito v0.11.1-0.20260928072733-b40513ef5d1a github.com/mudler/edgevpn v0.34.0 github.com/mudler/go-processmanager v0.1.2-0.20260823202314-dfa0ed852db6 github.com/mudler/memory v0.0.0-20260406210934-424c1ecf2cf8 - github.com/mudler/nib v0.6.0 + github.com/mudler/nib v0.12.1 github.com/mudler/xlog v0.0.6 github.com/nats-io/jwt/v2 v2.7.4 github.com/nats-io/nats.go v1.52.0 @@ -153,6 +153,25 @@ require ( github.com/mattn/go-sqlite3 v1.14.32 // indirect github.com/moby/moby/api v1.54.2 // indirect github.com/moby/moby/client v0.4.1 // indirect + github.com/msuozzo/bonsai v0.4.0 // indirect + github.com/msuozzo/bonsai/bonsai-bash v0.4.0 // indirect + github.com/msuozzo/bonsai/bonsai-c v0.4.0 // indirect + github.com/msuozzo/bonsai/bonsai-dockerfile v0.4.0 // indirect + github.com/msuozzo/bonsai/bonsai-go v0.4.0 // indirect + github.com/msuozzo/bonsai/bonsai-gotemplate v0.4.0 // indirect + github.com/msuozzo/bonsai/bonsai-groovy v0.4.0 // indirect + github.com/msuozzo/bonsai/bonsai-java v0.4.0 // indirect + github.com/msuozzo/bonsai/bonsai-javascript v0.4.0 // indirect + github.com/msuozzo/bonsai/bonsai-kotlin v0.4.0 // indirect + github.com/msuozzo/bonsai/bonsai-markdown v0.4.0 // indirect + github.com/msuozzo/bonsai/bonsai-markdown-inline v0.4.0 // indirect + github.com/msuozzo/bonsai/bonsai-python v0.4.0 // indirect + github.com/msuozzo/bonsai/bonsai-ruby v0.4.0 // indirect + github.com/msuozzo/bonsai/bonsai-rust v0.4.0 // indirect + github.com/msuozzo/bonsai/bonsai-terraform v0.4.0 // indirect + github.com/msuozzo/bonsai/bonsai-tsx v0.4.0 // indirect + github.com/msuozzo/bonsai/bonsai-typescript v0.4.0 // indirect + github.com/msuozzo/bonsai/bonsai-yaml v0.4.0 // indirect github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect github.com/muesli/cancelreader v0.2.2 // indirect github.com/nats-io/nuid v1.0.1 // indirect diff --git a/go.sum b/go.sum index 6a01b5bd9..bb724dd3d 100644 --- a/go.sum +++ b/go.sum @@ -994,10 +994,48 @@ github.com/mr-tron/base58 v1.3.0 h1:K6Y13R2h+dku0wOqKtecgRnBUBPrZzLZy5aIj8lCcJI= github.com/mr-tron/base58 v1.3.0/go.mod h1:2BuubE67DCSWwVfx37JWNG8emOC0sHEU4/HpcYgCLX8= github.com/mschoch/smat v0.2.0 h1:8imxQsjDm8yFEAVBe7azKmKSgzSkZXDuKkSq9374khM= github.com/mschoch/smat v0.2.0/go.mod h1:kc9mz7DoBKqDyiRL7VZN8KvXQMWeTaVnttLRXOlotKw= +github.com/msuozzo/bonsai v0.4.0 h1:WVGqsSctbGcL5ehdCdnckwRxBC3omwsmOtzKH/2tuZw= +github.com/msuozzo/bonsai v0.4.0/go.mod h1:LDo0Dmp6qaeEoJAG83UuLDHtwHn6H1knSYKqoXMxm4M= +github.com/msuozzo/bonsai/bonsai-bash v0.4.0 h1:I8pjnVYSAaKew3SmtnDf8IKAH30jHvWfymKfq1zf6bc= +github.com/msuozzo/bonsai/bonsai-bash v0.4.0/go.mod h1:6Tflp8naB4zdsvPEEujA+6bOJ/WQ5PiITZwbM4dj1gg= +github.com/msuozzo/bonsai/bonsai-c v0.4.0 h1:8uY7V/ofhIpsWWY4SXkgDEP14g8+JUhsfp9dOmGSiK0= +github.com/msuozzo/bonsai/bonsai-c v0.4.0/go.mod h1:1KW4TR0hVjP2O7iPqxmyD5vFimAbNrG87tU1srIBG5k= +github.com/msuozzo/bonsai/bonsai-dockerfile v0.4.0 h1:NDR2AuG4pFkL2VLgYiCJPbCrjqegH+LPZX/uEa1Q4yQ= +github.com/msuozzo/bonsai/bonsai-dockerfile v0.4.0/go.mod h1:fZLkQxL5zQk9J96xG7Lw+PQe4mZpU+Bqld6ToOJU3J0= +github.com/msuozzo/bonsai/bonsai-go v0.4.0 h1:mDH7ExUuH9vFKLyZ63SUk4FuJ5y2Z4gEg8WcIOCzfiY= +github.com/msuozzo/bonsai/bonsai-go v0.4.0/go.mod h1:xdTJhN+7nGFzKZM8R2fEkHM/vM9DbWYhy44nLeR+oR8= +github.com/msuozzo/bonsai/bonsai-gotemplate v0.4.0 h1:wGnquoW7t9HGmMsvMZdAnvxmULSaDrr6JPUkWtzn2Ck= +github.com/msuozzo/bonsai/bonsai-gotemplate v0.4.0/go.mod h1:DDfS5ey/vTTA25MguPVaDYP+abbmE/JZt/XWzmVfYWY= +github.com/msuozzo/bonsai/bonsai-groovy v0.4.0 h1:Dhdlsbo1gCoE51ig2uXbW/DqndCpFZyDWQjdmaOrdgc= +github.com/msuozzo/bonsai/bonsai-groovy v0.4.0/go.mod h1:5fEI1HjFSX1NJDLIccYnh2my03dtVikepPF6mVL8xc0= +github.com/msuozzo/bonsai/bonsai-java v0.4.0 h1:MNr/ShaNv688jNQByKu3OvwFUXAIUUiqhPi253M3EP8= +github.com/msuozzo/bonsai/bonsai-java v0.4.0/go.mod h1:bgcXWciHZqVQ9GBPhDkk/svvja907uzXvV/QxKmKM+s= +github.com/msuozzo/bonsai/bonsai-javascript v0.4.0 h1:hJ0Fz140Os3ZpV7Kl5ko7bsI++f5qayOl2HlLrdhXUU= +github.com/msuozzo/bonsai/bonsai-javascript v0.4.0/go.mod h1:QTqVNr8cwvdHBuMU0VsX+zW22DQfFYV0l7wClVXIVvM= +github.com/msuozzo/bonsai/bonsai-kotlin v0.4.0 h1:tTEsbgGoj1razbqvmcCMsAh2Y5/+gp7hMALSj4w1rbw= +github.com/msuozzo/bonsai/bonsai-kotlin v0.4.0/go.mod h1:cdwHqA5ys0bS32bBUv9B8AMS32UAJ6HqKNYNFHApvWw= +github.com/msuozzo/bonsai/bonsai-markdown v0.4.0 h1:D0c5FwSVu9xrujaLCYsrzO50aJ4zLJzUZCtbu8rSSTc= +github.com/msuozzo/bonsai/bonsai-markdown v0.4.0/go.mod h1:+o73zcEV/4O+8wthJC5iFdVx0M1S8SkI7YAYs7AIJng= +github.com/msuozzo/bonsai/bonsai-markdown-inline v0.4.0 h1:0XZb2aRuMrYN1Z1Tcw2J7mOWexAOPzg4VsWrcwR233E= +github.com/msuozzo/bonsai/bonsai-markdown-inline v0.4.0/go.mod h1:hjhOJSQylIlHEXT0+ns7ocHl9+qw1LgO9mits9Bt/Fc= +github.com/msuozzo/bonsai/bonsai-python v0.4.0 h1:spQNWwF6vBL4o8vfC+zoY8iZJfnLue1izNk7FKs0oXo= +github.com/msuozzo/bonsai/bonsai-python v0.4.0/go.mod h1:yMx1oeH6SQUuru9IhIioteV7cmF7S/UQNp9bDdMSfjs= +github.com/msuozzo/bonsai/bonsai-ruby v0.4.0 h1:hZygD1ev7EjLE5eDhlPRi+M0XrNKvzjMYx8RTZ0uxVA= +github.com/msuozzo/bonsai/bonsai-ruby v0.4.0/go.mod h1:GzujOi6rnLFX10zU9ntLNcetpnMaLeeUm526/5+aRHQ= +github.com/msuozzo/bonsai/bonsai-rust v0.4.0 h1:EQ2Fu6DWoGbq0OCV30acchw2VmV1WIOSNMVOLHyj2LY= +github.com/msuozzo/bonsai/bonsai-rust v0.4.0/go.mod h1:Qme4vyNPcCVkaGbLRiUW1NHERiY+bwfsPHsVyr3kZBg= +github.com/msuozzo/bonsai/bonsai-terraform v0.4.0 h1:loIUha5CgR7TgtfkaToP8PIufPrt5P6O/ySs3s0QcMo= +github.com/msuozzo/bonsai/bonsai-terraform v0.4.0/go.mod h1:xqGKDODYTigesGhHpZx3ZMuMivQ7nGGzCUmIHA4GxVE= +github.com/msuozzo/bonsai/bonsai-tsx v0.4.0 h1:/dheQMtc7luNGkL8E6DILowN/SxWyJ6W1x4msLqZiQQ= +github.com/msuozzo/bonsai/bonsai-tsx v0.4.0/go.mod h1:YW/ExrMLztBgSvoY1KTKMMQapV0OqMBb4RF62kQ/GMA= +github.com/msuozzo/bonsai/bonsai-typescript v0.4.0 h1:BD6JHfCs3rGNUttL+tMnz/iav1Y1+DkiMcy871NsKwo= +github.com/msuozzo/bonsai/bonsai-typescript v0.4.0/go.mod h1:DElq3FKqbTkJXcat1o8m98ijL3wUf+jW+DNInzh5Mgo= +github.com/msuozzo/bonsai/bonsai-yaml v0.4.0 h1:PJfyfjMQrcWU5e3ib0xGsVuOafNuimf5fK0NhTk8olU= +github.com/msuozzo/bonsai/bonsai-yaml v0.4.0/go.mod h1:z8jc0tjXDSOQRKRG0G3uymvVxHdBbrVsWd149nPOyHE= github.com/mudler/LocalAGI v0.0.0-20260927202351-7e0947d7ebca h1:bHlzSuOc5cKvHGF21ZjFFUV7IlkS3wt9YkBsWtkcaC4= github.com/mudler/LocalAGI v0.0.0-20260927202351-7e0947d7ebca/go.mod h1:nk6zt1s5ANgchJYTWGY1jfFPuITSn1gB5oHZ/uFeFDg= -github.com/mudler/cogito v0.11.1-0.20260721122412-6eece18a6bb6 h1:eYTR8od5HdaHlh9AKCkxkRoHs2/wmx24BF5qrUh2TRY= -github.com/mudler/cogito v0.11.1-0.20260721122412-6eece18a6bb6/go.mod h1:6sfja3lcu2nWRzEc0wwqGNu/eCG3EWgij+8s7xyUeQ4= +github.com/mudler/cogito v0.11.1-0.20260928072733-b40513ef5d1a h1:b3bZ15XGd3kH+gje6ggFAciT4uC83+24xO/qc3o4viQ= +github.com/mudler/cogito v0.11.1-0.20260928072733-b40513ef5d1a/go.mod h1:UxGNMBRakV0A2uVHv2JQIHjpnVPkEWFaS7SDhyynZqQ= github.com/mudler/edgevpn v0.34.0 h1:qDrD/rCPFY/FdURbXudIZWihVKY4VOX3nMn3CcbeQEU= github.com/mudler/edgevpn v0.34.0/go.mod h1:yki7uMi5LR9gSMrw8PdPieuxsrk8BLV2Ui7VBEmbbIA= github.com/mudler/go-piper v0.0.0-20241023091659-2494246fd9fc h1:RxwneJl1VgvikiX28EkpdAyL4yQVnJMrbquKospjHyA= @@ -1008,8 +1046,8 @@ github.com/mudler/localrecall v0.6.5 h1:Q0atTJFFAyumKZG5dbGSrvQ+wsuA88hywIOfHdxp github.com/mudler/localrecall v0.6.5/go.mod h1:28k5n19raUrkuwXkacdNsBlj8yuSnGhpT16tu+2+4dU= github.com/mudler/memory v0.0.0-20260406210934-424c1ecf2cf8 h1:Ry8RiWy8fZ6Ff4E7dPmjRsBrnHOnPeOOj2LhCgyjQu0= github.com/mudler/memory v0.0.0-20260406210934-424c1ecf2cf8/go.mod h1:EA8Ashhd56o32qN7ouPKFSRUs/Z+LrRCF4v6R2Oarm8= -github.com/mudler/nib v0.6.0 h1:6l2bQJkgHT5+o6S0wmmk/ipTCbFzmiSp1pM/tGQv4Eo= -github.com/mudler/nib v0.6.0/go.mod h1:d+Ymgi7PxDLnGxpYAkugv+mwRDtR1CMcgyykKNipwWA= +github.com/mudler/nib v0.12.1 h1:7yKZeOWcIac62UoNb3J2R/oEtFYzebFwgap9HPjIJdI= +github.com/mudler/nib v0.12.1/go.mod h1:I6diFODU8ALfPwFIbvrwpLDfhyBu6wAzoseig9jJEQ4= github.com/mudler/skillserver v0.0.7-0.20260520220837-a7317cbf9145 h1:z59tA3IDYPt71nzH1jpxeaA1LuDw8aZfpTQFNU43Zb8= github.com/mudler/skillserver v0.0.7-0.20260520220837-a7317cbf9145/go.mod h1:z3yFhcL9bSykmmh6xgGu0hyoItd4CnxgtWMEWw8uFJU= github.com/mudler/water v0.0.0-20250808092830-dd90dcf09025 h1:WFLP5FHInarYGXi6B/Ze204x7Xy6q/I4nCZnWEyPHK0=