Packages
phoenix_kit
1.7.154
1.7.207
1.7.206
1.7.205
1.7.204
1.7.203
1.7.202
1.7.201
1.7.200
1.7.199
1.7.198
1.7.197
1.7.196
1.7.194
1.7.193
1.7.192
1.7.191
1.7.190
1.7.189
1.7.187
1.7.186
1.7.185
1.7.184
1.7.183
1.7.182
1.7.181
1.7.180
1.7.179
1.7.178
1.7.177
1.7.176
1.7.175
1.7.174
1.7.173
1.7.172
1.7.171
1.7.170
1.7.169
1.7.168
1.7.167
1.7.166
1.7.165
1.7.164
1.7.162
1.7.161
1.7.160
1.7.159
1.7.157
1.7.156
1.7.155
1.7.154
1.7.153
1.7.152
1.7.151
1.7.150
1.7.149
1.7.146
1.7.145
1.7.144
1.7.143
1.7.138
1.7.133
1.7.132
1.7.131
1.7.130
1.7.128
1.7.126
1.7.125
1.7.121
1.7.120
1.7.119
1.7.118
1.7.117
1.7.116
1.7.115
1.7.114
1.7.113
1.7.112
1.7.111
1.7.110
1.7.109
1.7.108
1.7.107
1.7.106
1.7.105
1.7.104
1.7.103
1.7.102
1.7.101
1.7.100
1.7.99
1.7.98
1.7.97
1.7.96
1.7.95
1.7.94
1.7.93
1.7.92
1.7.91
1.7.90
1.7.89
1.7.88
1.7.87
1.7.86
1.7.85
1.7.84
1.7.83
1.7.82
1.7.81
1.7.80
1.7.79
1.7.78
1.7.77
1.7.76
1.7.75
1.7.74
1.7.71
1.7.70
1.7.69
1.7.66
1.7.65
1.7.64
1.7.63
1.7.62
1.7.61
1.7.59
1.7.58
1.7.57
1.7.56
1.7.55
1.7.54
1.7.53
1.7.52
1.7.51
1.7.49
1.7.44
1.7.43
1.7.42
1.7.41
1.7.39
1.7.38
1.7.37
1.7.36
1.7.34
1.7.33
1.7.31
1.7.30
1.7.29
1.7.28
1.7.27
1.7.26
1.7.25
1.7.24
1.7.23
1.7.22
1.7.21
1.7.20
1.7.19
1.7.18
1.7.17
1.7.16
1.7.15
1.7.14
1.7.13
1.7.12
1.7.11
1.7.10
1.7.9
1.7.8
1.7.7
1.7.6
1.7.5
1.7.4
1.7.3
1.7.2
1.7.1
1.7.0
1.6.20
1.6.19
1.6.18
1.6.17
1.6.16
1.6.15
1.6.14
1.6.13
1.6.12
1.6.11
1.6.10
1.6.9
1.6.8
1.6.7
1.6.6
1.6.5
1.6.4
1.6.3
1.5.2
1.5.1
1.5.0
1.4.9
1.4.8
1.4.7
1.4.6
1.4.5
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.3.2
1.3.1
1.3.0
1.2.10
1.2.9
1.2.8
1.2.7
1.2.5
1.2.4
1.2.2
1.2.1
1.2.0
1.1.0
1.0.0
A foundation for building Elixir Phoenix apps — SaaS, social networks, ERP systems, marketplaces, and more
Current section
221 Versions
Jump to
Current section
221 Versions
Compare versions
4
files changed
+74
additions
-2
deletions
unknownCHANGELOG.md
File is too large to be displayed (100 KB limit).
| @@ -1,6 +1,6 @@ | |
| 1 1 | {<<"links">>,[{<<"GitHub">>,<<"https://github.com/BeamLabEU/phoenix_kit">>}]}. |
| 2 2 | {<<"name">>,<<"phoenix_kit">>}. |
| 3 | - {<<"version">>,<<"1.7.153">>}. |
| 3 | + {<<"version">>,<<"1.7.154">>}. |
| 4 4 | {<<"description">>, |
| 5 5 | <<65,32,102,111,117,110,100,97,116,105,111,110,32,102,111,114,32,98,117,105, |
| 6 6 | 108,100,105,110,103,32,69,108,105,120,105,114,32,80,104,111,101,110,105, |
| @@ -88,6 +88,7 @@ defmodule PhoenixKit.Integrations.Providers do | |
| 88 88 | [ |
| 89 89 | google(), |
| 90 90 | microsoft(), |
| 91 | + openai(), |
| 91 92 | openrouter(), |
| 92 93 | mistral(), |
| 93 94 | deepseek(), |
| @@ -205,6 +206,77 @@ defmodule PhoenixKit.Integrations.Providers do | |
| 205 206 | } |
| 206 207 | end |
| 207 208 | |
| 209 | + defp openai do |
| 210 | + %{ |
| 211 | + key: "openai", |
| 212 | + name: gettext("OpenAI"), |
| 213 | + description: gettext("AI models via OpenAI (GPT, embeddings, images, audio)"), |
| 214 | + icon: "hero-sparkles", |
| 215 | + auth_type: :api_key, |
| 216 | + oauth_config: nil, |
| 217 | + # `GET /v1/models` is a lightweight authenticated endpoint — 200 on a |
| 218 | + # valid key, 401 otherwise. OpenAI uses standard `Authorization: Bearer`, |
| 219 | + # so the generic `authenticated_request/4` helper works for consumers too. |
| 220 | + validation: %{ |
| 221 | + url: "https://api.openai.com/v1/models", |
| 222 | + method: :get, |
| 223 | + auth_header: "Authorization", |
| 224 | + auth_prefix: "Bearer " |
| 225 | + }, |
| 226 | + setup_fields: [ |
| 227 | + %{ |
| 228 | + key: "api_key", |
| 229 | + label: gettext("API Key"), |
| 230 | + type: :password, |
| 231 | + required: true, |
| 232 | + placeholder: "sk-...", |
| 233 | + help: gettext("From platform.openai.com/api-keys"), |
| 234 | + options: nil |
| 235 | + } |
| 236 | + ], |
| 237 | + capabilities: [ |
| 238 | + :ai_completions, |
| 239 | + :ai_embeddings, |
| 240 | + :image_generation, |
| 241 | + :text_to_speech, |
| 242 | + :speech_to_text |
| 243 | + ], |
| 244 | + instructions: [ |
| 245 | + %{ |
| 246 | + title: gettext("Create an OpenAI account"), |
| 247 | + steps: [ |
| 248 | + {gettext( |
| 249 | + "Go to [platform.openai.com](https://platform.openai.com) and sign up or log in" |
| 250 | + ), nil} |
| 251 | + ] |
| 252 | + }, |
| 253 | + %{ |
| 254 | + title: gettext("Add credits"), |
| 255 | + steps: [ |
| 256 | + {gettext( |
| 257 | + "Go to [Billing](https://platform.openai.com/account/billing/overview) and add a payment method or credits" |
| 258 | + ), nil}, |
| 259 | + {gettext( |
| 260 | + "OpenAI requires a positive balance before the API will return completions, even on cheaper models" |
| 261 | + ), nil} |
| 262 | + ] |
| 263 | + }, |
| 264 | + %{ |
| 265 | + title: gettext("Create an API key"), |
| 266 | + steps: [ |
| 267 | + {gettext("Go to [API Keys](https://platform.openai.com/api-keys)"), nil}, |
| 268 | + {gettext("Click **Create new secret key**, give it a name"), nil}, |
| 269 | + {gettext("Copy the key (shown once) and paste it into the form above"), nil} |
| 270 | + ], |
| 271 | + note: |
| 272 | + gettext( |
| 273 | + "If your account belongs to multiple organizations, keys are scoped to the org selected when the key was created." |
| 274 | + ) |
| 275 | + } |
| 276 | + ] |
| 277 | + } |
| 278 | + end |
| 279 | + |
| 208 280 | defp openrouter do |
| 209 281 | %{ |
| 210 282 | key: "openrouter", |
| @@ -1,7 +1,7 @@ | |
| 1 1 | defmodule PhoenixKit.MixProject do |
| 2 2 | use Mix.Project |
| 3 3 | |
| 4 | - @version "1.7.153" |
| 4 | + @version "1.7.154" |
| 5 5 | @description "A foundation for building Elixir Phoenix apps — SaaS, social networks, ERP systems, marketplaces, and more" |
| 6 6 | @source_url "https://github.com/BeamLabEU/phoenix_kit" |