Skip to content

Commit e27b8e4

Browse files
ivictborCopilot
andcommitted
feat: replace OpenAI ChatGPT adapter with OpenAI Responses adapter across documentation and codebase
Co-authored-by: Copilot <copilot@github.com>
1 parent 621779b commit e27b8e4

17 files changed

Lines changed: 72 additions & 61 deletions

File tree

AGENTS.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11

22
# AGENTS.md
33

4+
## Package manager
5+
6+
All packages and projects in this repo use `pnpm` and not `npm`.
7+
Howeverer internally (e.g. in `codeInjector`) adminforth still supports both `npm` and `pnpm` style install commands, so users of framework itself can use it with either package manager. But in all dev demo/live demo, plugins, adapters, and documentation, we use `pnpm` as the standard.
8+
49
## General engineering rules
510

611
Write code as if the system contracts are already defined and trusted.

adminforth/documentation/blog/2024-10-01-ai-blog/index.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ Add modules:
4747

4848
```bash
4949
cd ai-blog
50-
npm i @adminforth/upload @adminforth/rich-editor @adminforth/text-complete @adminforth/chat-gpt slugify http-proxy @adminforth/image-generation-adapter-openai @adminforth/completion-adapter-open-ai-chat-gpt
50+
npm i @adminforth/upload @adminforth/rich-editor @adminforth/text-complete @adminforth/chat-gpt slugify http-proxy @adminforth/image-generation-adapter-openai @adminforth/completion-adapter-openai-responses
5151
```
5252

5353

@@ -475,7 +475,7 @@ import UploadPlugin from '@adminforth/upload';
475475
import RichEditorPlugin from '@adminforth/rich-editor';
476476
import ChatGptPlugin from '@adminforth/chat-gpt';
477477
import slugify from 'slugify';
478-
import CompletionAdapterOpenAIChatGPT from "@adminforth/completion-adapter-open-ai-chat-gpt";
478+
import CompletionAdapterOpenAIResponses from "@adminforth/completion-adapter-openai-responses";
479479
import ImageGenerationAdapterOpenAI from '@adminforth/image-generation-adapter-openai';
480480

481481
export default {
@@ -591,7 +591,7 @@ export default {
591591
new RichEditorPlugin({
592592
htmlFieldName: 'content',
593593
completion: {
594-
adapter: new CompletionAdapterOpenAIChatGPT({
594+
adapter: new CompletionAdapterOpenAIResponses({
595595
openAiApiKey: process.env.OPENAI_API_KEY as string,
596596
model: 'gpt-4o',
597597
expert: {

adminforth/documentation/docs/tutorial/05-ListOfAdapters.md

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -154,18 +154,20 @@ Not really recommended for production use, cause cloud storage is more reliable
154154
Is used for AI-powered text completion.
155155
Feel free to fork and implement other models including models from Anthropic, Google Gemini, or any other AI model that supports text completion.
156156

157-
### OpenAI Completion Adapter
157+
### OpenAI Responses Completion Adapter
158158

159159
```
160-
pnpm i @adminforth/completion-adapter-open-ai-chat-gpt
160+
pnpm i @adminforth/completion-adapter-openai-responses
161161
```
162162

163-
Integrates AdminForth with OpenAI’s ChatGPT models to provide AI-powered completion and conversational features.
163+
Integrates AdminForth with OpenAI's Responses API to provide AI-powered completion and conversational features.
164+
165+
The older `@adminforth/completion-adapter-open-ai-chat-gpt` package is deprecated. Use this package instead.
164166

165167
```ts
166-
import CompletionAdapterOpenAIChatGPT from "@adminforth/completion-adapter-open-ai-chat-gpt";
168+
import CompletionAdapterOpenAIResponses from "@adminforth/completion-adapter-openai-responses";
167169

168-
new CompletionAdapterOpenAIChatGPT({
170+
new CompletionAdapterOpenAIResponses({
169171
openAiApiKey: process.env.OPENAI_API_KEY as string,
170172
model: 'gpt-5.2',
171173
extraRequestBodyParameters: {
@@ -259,7 +261,7 @@ If you want to use a custom `json_schema` for completion response, pass it as `o
259261

260262

261263
```ts
262-
const openAi = new CompletionAdapterOpenAIChatGPT({
264+
const openAi = new CompletionAdapterOpenAIResponses({
263265
openAiApiKey: process.env.OPENAI_API_KEY as string,
264266
model: 'gpt-5-mini',
265267
});
@@ -290,7 +292,7 @@ openAi.complete(
290292
If you want to explicitly test a reasoning-capable GPT-5 model, pass `reasoningEffort` as the 4th argument:
291293

292294
```ts
293-
const openAi = new CompletionAdapterOpenAIChatGPT({
295+
const openAi = new CompletionAdapterOpenAIResponses({
294296
openAiApiKey: process.env.OPENAI_API_KEY as string,
295297
model: "gpt-5-mini",
296298
});
@@ -310,7 +312,7 @@ console.log(resp.content);
310312
If you pass `onChunk`, adapter switches to streaming mode automatically:
311313

312314
```ts
313-
const openAi = new CompletionAdapterOpenAIChatGPT({
315+
const openAi = new CompletionAdapterOpenAIResponses({
314316
openAiApiKey: process.env.OPENAI_API_KEY as string,
315317
model: "gpt-5-mini",
316318
});

adminforth/documentation/docs/tutorial/08-Plugins/04-RichEditor.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -106,21 +106,21 @@ If you need multiple fields in one resource which happens rarely, just add multi
106106
First, install the completion adapter:
107107

108108
```bash
109-
pnpm i @adminforth/completion-adapter-open-ai-chat-gpt --save
109+
pnpm i @adminforth/completion-adapter-openai-responses --save
110110
```
111111

112112
To get completion suggestions for the text in the editor, you can use the `completion` option. This option is an object with the following properties:
113113

114114
```ts title="./resources/apartments.ts"
115115
//diff-add
116-
import CompletionAdapterOpenAIChatGPT from "@adminforth/completion-adapter-open-ai-chat-gpt";
116+
import CompletionAdapterOpenAIResponses from "@adminforth/completion-adapter-openai-responses";
117117

118118
new RichEditorPlugin({
119119
htmlFieldName: 'description',
120120
//diff-add
121121
completion: {
122122
//diff-add
123-
adapter: new CompletionAdapterOpenAIChatGPT({
123+
adapter: new CompletionAdapterOpenAIResponses({
124124
//diff-add
125125
openAiApiKey: process.env.OPENAI_API_KEY as string,
126126
//diff-add

adminforth/documentation/docs/tutorial/08-Plugins/06-text-complete.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
# Text Complete
22

3-
This plugin allows you to auto-complete text and string fields using OpenAI Chat GPT models.
3+
This plugin allows you to auto-complete text and string fields using OpenAI GPT models via the Responses API.
44

55
## Installation
66

77
```
88
pnpm i @adminforth/text-complete --save
9-
pnpm i @adminforth/completion-adapter-open-ai-chat-gpt --save
9+
pnpm i @adminforth/completion-adapter-openai-responses --save
1010
```
1111

1212
Go to https://platform.openai.com/, open `Dashboard` -> `API keys` -> `Create new secret key`. Paste value in your `.env` file:
@@ -24,7 +24,7 @@ For example let's add it for title and description in `aparts` resource configur
2424
//diff-add
2525
import TextCompletePlugin from '@adminforth/text-complete';
2626
//diff-add
27-
import CompletionAdapterOpenAIChatGPT from "@adminforth/completion-adapter-open-ai-chat-gpt";
27+
import CompletionAdapterOpenAIResponses from "@adminforth/completion-adapter-openai-responses";
2828

2929

3030
export const admin = new AdminForth({
@@ -40,7 +40,7 @@ export const admin = new AdminForth({
4040
//diff-add
4141
fieldName: 'title',
4242
//diff-add
43-
adapter: new CompletionAdapterOpenAIChatGPT({
43+
adapter: new CompletionAdapterOpenAIResponses({
4444
//diff-add
4545
openAiApiKey: process.env.OPENAI_API_KEY as string,
4646
//diff-add
@@ -60,7 +60,7 @@ export const admin = new AdminForth({
6060
//diff-add
6161
fieldName: 'description',
6262
//diff-add
63-
adapter: new CompletionAdapterOpenAIChatGPT({
63+
adapter: new CompletionAdapterOpenAIResponses({
6464
//diff-add
6565
openAiApiKey: process.env.OPENAI_API_KEY as string,
6666
//diff-add

adminforth/documentation/docs/tutorial/08-Plugins/10-i18n.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
This plugin allows you translate your AdminForth application to multiple languages.
44
Main features:
55
- Stores all translation strings in your application in a single AdminForth resource. You can set [allowed actions](/docs/tutorial/Customization/limitingAccess/) only to Developers/Translators role if you don't want other users to see/edit the translations.
6-
- Supports AI completion adapters to help with translations. For example, you can use OpenAI ChatGPT to generate translations. Supports correct pluralization, even for Slavic languages.
6+
- Supports AI completion adapters to help with translations. For example, you can use OpenAI via the Responses API to generate translations. Supports correct pluralization, even for Slavic languages.
77
- Supports any number of languages.
88
- Supports BCP47 language codes (e.g., `en-GB`, `pt-BR`) for regional language variants.
99
- Configurable primary language.
@@ -18,7 +18,7 @@ To install the plugin:
1818

1919
```bash
2020
pnpm install @adminforth/i18n --save
21-
pnpm install @adminforth/completion-adapter-open-ai-chat-gpt --save
21+
pnpm install @adminforth/completion-adapter-openai-responses --save
2222
```
2323

2424
For example lets add translations to next 4 languages: Ukrainian, Japanese, French, Spanish. Also we will support basic translation for English.
@@ -56,7 +56,7 @@ Next, add resource for translations:
5656
```ts title='./resources/translations.ts'
5757

5858
import AdminForth, { AdminForthDataTypes, AdminForthResourceInput } from "adminforth";
59-
import CompletionAdapterOpenAIChatGPT from "@adminforth/completion-adapter-open-ai-chat-gpt";
59+
import CompletionAdapterOpenAIResponses from "@adminforth/completion-adapter-openai-responses";
6060
import I18nPlugin from "@adminforth/i18n";
6161
import { randomUUID } from 'crypto';
6262

@@ -96,7 +96,7 @@ export default {
9696
// optional: set primary language (defaults to 'en' if not specified)
9797
// primaryLanguage: 'fr', // Uncomment to set French as primary language
9898

99-
completeAdapter: new CompletionAdapterOpenAIChatGPT({
99+
completeAdapter: new CompletionAdapterOpenAIResponses({
100100
openAiApiKey: process.env.OPENAI_API_KEY as string,
101101
model: 'gpt-5-nano',
102102
extraRequestBodyParameters: {

adminforth/documentation/docs/tutorial/08-Plugins/17-bulk-ai-flow.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -199,12 +199,12 @@ This is the most basic plugin usage. You can connect any text completion adapter
199199
Normalize user names by translating them from any language to English for internal processing.
200200
201201
```ts
202-
import CompletionAdapterOpenAIChatGPT from '@adminforth/completion-adapter-open-ai-chat-gpt/index.js';
202+
import CompletionAdapterOpenAIResponses from '@adminforth/completion-adapter-openai-responses';
203203

204204
// Add to your resource plugins array
205205
new BulkAiFlowPlugin({
206206
actionName: 'Translate surnames',
207-
textCompleteAdapter: new CompletionAdapterOpenAIChatGPT({
207+
textCompleteAdapter: new CompletionAdapterOpenAIResponses({
208208
openAiApiKey: process.env.OPENAI_API_KEY as string,
209209
model: 'gpt-5-nano',
210210
extraRequestBodyParameters: {

adminforth/documentation/docs/tutorial/08-Plugins/26-agent.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ It stores session history in your own resources and generates responses using on
1111

1212
```bash
1313
pnpm i @adminforth/agent --save
14-
pnpm i @adminforth/completion-adapter-open-ai-chat-gpt --save
14+
pnpm i @adminforth/completion-adapter-openai-responses --save
1515
```
1616

1717
Add your LLM credentials to `.env`:
@@ -196,7 +196,7 @@ Configure the plugin with `modes`. The legacy top-level `completionAdapter` setu
196196

197197
```ts title="./resources/adminuser.ts"
198198
import AdminForthAgent from '@adminforth/agent';
199-
import CompletionAdapterOpenAIChatGPT from '@adminforth/completion-adapter-open-ai-chat-gpt';
199+
import CompletionAdapterOpenAIResponses from '@adminforth/completion-adapter-openai-responses';
200200

201201
...
202202

@@ -213,7 +213,7 @@ plugins: [
213213
modes: [
214214
{
215215
name: 'Balanced',
216-
completionAdapter: new CompletionAdapterOpenAIChatGPT({
216+
completionAdapter: new CompletionAdapterOpenAIResponses({
217217
openAiApiKey: process.env.OPENAI_API_KEY as string,
218218
model: 'gpt-5.4-mini',
219219
extraRequestBodyParameters: {
@@ -225,7 +225,7 @@ plugins: [
225225
},
226226
{
227227
name: 'Fast',
228-
completionAdapter: new CompletionAdapterOpenAIChatGPT({
228+
completionAdapter: new CompletionAdapterOpenAIResponses({
229229
openAiApiKey: process.env.OPENAI_API_KEY as string,
230230
model: 'gpt-5.4-mini',
231231
extraRequestBodyParameters: {
@@ -237,7 +237,7 @@ plugins: [
237237
},
238238
{
239239
name: 'Smart Thinking',
240-
completionAdapter: new CompletionAdapterOpenAIChatGPT({
240+
completionAdapter: new CompletionAdapterOpenAIResponses({
241241
openAiApiKey: process.env.OPENAI_API_KEY as string,
242242
model: 'gpt-5.4',
243243
extraRequestBodyParameters: {

dev-demo/Taskfile.yaml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ vars:
3434
- "adminforth-agent"
3535

3636
ADAPTERS:
37-
- "adminforth-completion-adapter-open-ai-chat-gpt"
3837
- "adminforth-email-adapter-aws-ses"
3938
- "adminforth-email-adapter-mailgun"
4039
- "adminforth-oauth-adapter-google"
@@ -50,10 +49,15 @@ vars:
5049
- "adminforth-key-value-adapter-ram"
5150
- "adminforth-login-captcha-adapter-cloudflare"
5251
- "adminforth-login-captcha-adapter-recaptcha"
53-
- "adminforth-completion-adapter-google-gemini"
5452
- "adminforth-key-value-adapter-redis"
5553
- "adminforth-key-value-adapter-leveldb"
5654
- "adminforth-image-generation-adapter-nano-banana"
55+
# legacy
56+
- "adminforth-completion-adapter-open-ai-chat-gpt"
57+
58+
- "adminforth-completion-adapter-openai-responses"
59+
- "adminforth-completion-adapter-antropic-messages"
60+
- "adminforth-completion-adapter-google-gemini"
5761

5862

5963
tasks:

dev-demo/resources/adminuser.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import OpenSignupPlugin from '../../plugins/adminforth-open-signup/index.js';
1111
import OAuthPlugin from '../../plugins/adminforth-oauth/index.js';
1212
import KeyValueAdapterRam from '../../adapters/adminforth-key-value-adapter-ram/index.js';
1313
import AdminForthAgent from '../../plugins/adminforth-agent/index.js';
14-
import CompletionAdapterOpenAIChatGPT from '../../adapters/adminforth-completion-adapter-open-ai-chat-gpt/index.js';
14+
import CompletionAdapterOpenAIResponses from '../../adapters/adminforth-completion-adapter-openai-responses/index.js';
1515

1616
async function allowedForSuperAdmin({ adminUser }: { adminUser: AdminUser }): Promise<boolean> {
1717
return adminUser.dbUser.role === 'superadmin';
@@ -202,7 +202,7 @@ export default {
202202
modes: [
203203
{
204204
name: 'Balanced',
205-
completionAdapter: new CompletionAdapterOpenAIChatGPT({
205+
completionAdapter: new CompletionAdapterOpenAIResponses({
206206
openAiApiKey: process.env.OPENAI_API_KEY as string,
207207
model: 'gpt-5.4-mini',
208208
extraRequestBodyParameters: {
@@ -214,7 +214,7 @@ export default {
214214
},
215215
{
216216
name: 'Fast',
217-
completionAdapter: new CompletionAdapterOpenAIChatGPT({
217+
completionAdapter: new CompletionAdapterOpenAIResponses({
218218
openAiApiKey: process.env.OPENAI_API_KEY as string,
219219
model: 'gpt-5.4-mini',
220220
extraRequestBodyParameters: {
@@ -226,7 +226,7 @@ export default {
226226
},
227227
{
228228
name: 'Smart Thinking',
229-
completionAdapter: new CompletionAdapterOpenAIChatGPT({
229+
completionAdapter: new CompletionAdapterOpenAIResponses({
230230
openAiApiKey: process.env.OPENAI_API_KEY as string,
231231
model: 'gpt-5.4',
232232
extraRequestBodyParameters: {

0 commit comments

Comments
 (0)