@@ -74,9 +74,10 @@ type Config struct {
7474 // Control sharing behavior:'manual' allows manual sharing via commands, 'auto'
7575 // enables automatic sharing, 'disabled' disables all sharing
7676 Share ConfigShare `json:"share"`
77- // Small model to use for tasks like title generation in the
78- // format of provider/model
77+ // Small model to use for tasks like title generation in the format of
78+ // provider/model
7979 SmallModel string `json:"small_model"`
80+ Snapshot bool `json:"snapshot"`
8081 // Theme name to use for the interface
8182 Theme string `json:"theme"`
8283 // Custom username to display in conversations instead of system username
@@ -105,6 +106,7 @@ type configJSON struct {
105106 Provider apijson.Field
106107 Share apijson.Field
107108 SmallModel apijson.Field
109+ Snapshot apijson.Field
108110 Theme apijson.Field
109111 Username apijson.Field
110112 raw string
@@ -780,16 +782,18 @@ func (r ConfigModePlanMode) IsKnown() bool {
780782}
781783
782784type ConfigPermission struct {
783- Bash ConfigPermissionBashUnion `json:"bash"`
784- Edit ConfigPermissionEdit `json:"edit"`
785- JSON configPermissionJSON `json:"-"`
785+ Bash ConfigPermissionBashUnion `json:"bash"`
786+ Edit ConfigPermissionEdit `json:"edit"`
787+ Webfetch ConfigPermissionWebfetch `json:"webfetch"`
788+ JSON configPermissionJSON `json:"-"`
786789}
787790
788791// configPermissionJSON contains the JSON metadata for the struct
789792// [ConfigPermission]
790793type configPermissionJSON struct {
791794 Bash apijson.Field
792795 Edit apijson.Field
796+ Webfetch apijson.Field
793797 raw string
794798 ExtraFields map [string ]apijson.Field
795799}
@@ -876,6 +880,22 @@ func (r ConfigPermissionEdit) IsKnown() bool {
876880 return false
877881}
878882
883+ type ConfigPermissionWebfetch string
884+
885+ const (
886+ ConfigPermissionWebfetchAsk ConfigPermissionWebfetch = "ask"
887+ ConfigPermissionWebfetchAllow ConfigPermissionWebfetch = "allow"
888+ ConfigPermissionWebfetchDeny ConfigPermissionWebfetch = "deny"
889+ )
890+
891+ func (r ConfigPermissionWebfetch ) IsKnown () bool {
892+ switch r {
893+ case ConfigPermissionWebfetchAsk , ConfigPermissionWebfetchAllow , ConfigPermissionWebfetchDeny :
894+ return true
895+ }
896+ return false
897+ }
898+
879899type ConfigProvider struct {
880900 Models map [string ]ConfigProviderModel `json:"models,required"`
881901 ID string `json:"id"`
0 commit comments