Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Documentation/Classes/OpenAI.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ The API provides access to multiple resources that allow seamless interaction wi
|-------------------|-------------------------------------------------|--------------------------------|
| `models` | [OpenAIModelsAPI](OpenAIModelsAPI.md) | Access to the Models API. |
| `chat` | [OpenAIChatAPI](OpenAIChatAPI.md) | Access to the Chat API. |
| `responses` | [OpenAIResponsesAPI](OpenAIResponsesAPI.md) | Access to the Responses API. |
| `images` | [OpenAIImagesAPI](OpenAIImagesAPI.md) | Access to the Images API. |
| `moderations` | [OpenAIModerationsAPI](OpenAIModerationsAPI.md) | Access to the Moderations API. |
| `embeddings` | [OpenAIEmbeddingsAPI](OpenAIEmbeddingsAPI.md) | Access to the Embeddings API. |
Expand Down
1 change: 1 addition & 0 deletions Documentation/Classes/OpenAIFilesAPI.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ Upload a file that can be used across various endpoints.
- **Batch API:** Only supports `.jsonl` files up to 200 MB with specific required format
- **Assistants API:** Supports specific file types (see Assistants Tools guide)
- **Chat Completions API:** PDFs are only supported
- **Responses API:** Uploaded files can also be referenced from Responses API inputs, depending on the input type supported by the target model

#### Example

Expand Down
10 changes: 10 additions & 0 deletions Documentation/Classes/OpenAIParameters.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,3 +52,13 @@ Several classes inherit from `OpenAIParameters` to extend its functionality for
- [OpenAIChatCompletionsMessagesParameters](OpenAIChatCompletionsMessagesParameters.md)
- [OpenAIImageParameters](OpenAIImageParameters.md)
- [OpenAIEmbeddingsParameters](OpenAIEmbeddingsParameters.md)
- [OpenAIResponsesParameters](OpenAIResponsesParameters.md)
- [OpenAIResponsesCompactParameters](OpenAIResponsesCompactParameters.md)
- [OpenAIResponsesInputItemsParameters](OpenAIResponsesInputItemsParameters.md)

## See also

- [OpenAIChatCompletionsParameters](OpenAIChatCompletionsParameters.md)
- [OpenAIResponsesParameters](OpenAIResponsesParameters.md)
- [OpenAIResponsesCompactParameters](OpenAIResponsesCompactParameters.md)
- [OpenAIResponsesInputItemsParameters](OpenAIResponsesInputItemsParameters.md)
209 changes: 209 additions & 0 deletions Documentation/Classes/OpenAIResponse.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,209 @@
# OpenAIResponse

The `OpenAIResponse` class represents a response object from the OpenAI Responses API.

## Properties

### id
**Type**: Text

The unique identifier for the response.

### object
**Type**: Text

The object type (typically "response").

### model
**Type**: Text

The model that generated the response.

### created_at
**Type**: Integer

Unix timestamp of when the response was created.

### output
**Type**: Variant

The output content generated by the model. In the Responses API this is typically a collection of output items (messages, tool calls, etc.).

### status
**Type**: Text

The current status of the response. Possible values:
- "completed" or "done": Response generation is complete
- "processing" or "in_progress": Response is still being generated
- "failed" or "error": Response generation failed

### usage
**Type**: Object

Token usage information for the response. Typically includes:
- `input_tokens`: Number of input tokens
- `output_tokens`: Number of generated output tokens
- `total_tokens`: Total tokens used

### metadata
**Type**: Object

Custom metadata associated with the response.

### conversation
**Type**: Variant

The conversation reference returned by the Responses API, if applicable.

## Functions

### outputText

**get outputText** : Text

| Property | Type | Description |
|-----------------|---------|-------------------------------------------|
| Function result | Text | The text output or empty string if not available |

Returns the text output from the response by extracting `output_text` items from the output structure.

#### Example Usage

```4d
var $response:=$result.response
var $text:=$response.outputText
ALERT($text)
```

### isComplete

**get isComplete** : Boolean

| Property | Type | Description |
|-----------------|---------|-------------------------------------------|
| Function result | Boolean | True if the response is complete |

Checks if the response generation is complete.

#### Example Usage

```4d
var $response:=$result.response
If ($response.isComplete)
ALERT($response.outputText)
End if
```

### isFailed

**get isFailed** : Boolean

| Property | Type | Description |
|-----------------|---------|-------------------------------------------|
| Function result | Boolean | True if the response generation failed |

Checks if the response generation failed.

#### Example Usage

```4d
var $response:=$result.response
If ($response.isFailed)
ALERT("Response generation failed")
End if
```

### isProcessing

**get isProcessing** : Boolean

| Property | Type | Description |
|-----------------|---------|-------------------------------------------|
| Function result | Boolean | True if the response is still processing |

Checks if the response is still being generated.

#### Example Usage

```4d
var $response:=$result.response
If ($response.isProcessing)
// Poll again later or wait for completion
End if
```

## Example Usage

### Basic Usage

```4d
var $result:=$client.responses.create("Hello"; {model: "gpt-5"})
var $response:=$result.response

ALERT($response.outputText)
// $response.id contains the response identifier
// $response.model contains the model ID
// $response.status contains the current status
```

### Checking Response Status

```4d
var $response:=$result.response

Case of
: ($response.isComplete)
ALERT($response.outputText)
: ($response.isProcessing)
// Poll again later or wait for completion
: ($response.isFailed)
ALERT("Failed")
End case
```

### Accessing Usage Information

```4d
var $response:=$result.response

If ($response.usage#Null)
ALERT("Input tokens: "+String($response.usage.input_tokens))
ALERT("Output tokens: "+String($response.usage.output_tokens))
ALERT("Total tokens: "+String($response.usage.total_tokens))
End if
```

### Working with Metadata

```4d
var $response:=$result.response

If ($response.metadata#Null)
ALERT("User ID: "+$response.metadata.user_id)
ALERT("Session: "+$response.metadata.session)
End if
```

### Multi-turn Conversations

```4d
// First turn
var $result1:=$client.responses.create("What is AI?"; {model: "gpt-5"; conversation: "conv_123"})
var $response1:=$result1.response
ALERT($response1.outputText)

// Second turn - reuse the returned conversation reference
var $params:=cs.AIKit.OpenAIResponsesParameters.new()
$params.model:="gpt-5"
$params.conversation:=$response1.conversation
$params.previous_response_id:=$response1.id

var $result2:=$client.responses.create("Tell me more"; $params)
var $response2:=$result2.response
ALERT($response2.outputText)
```

## See also

- [OpenAIResponsesResult](OpenAIResponsesResult.md)
- [OpenAIResponsesAPI](OpenAIResponsesAPI.md)
25 changes: 25 additions & 0 deletions Documentation/Classes/OpenAIResponseDeleted.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# OpenAIResponseDeleted

The `OpenAIResponseDeleted` class represents the deletion status returned by the Responses API.

## Properties

### id
**Type**: Text

The ID of the deleted response.

### deleted
**Type**: Boolean

Indicates whether the response was deleted successfully.

### object
**Type**: Text

The object type returned by the API.

## See also

- [OpenAIResponseDeletedResult](OpenAIResponseDeletedResult.md)
- [OpenAIResponsesAPI](OpenAIResponsesAPI.md)
29 changes: 29 additions & 0 deletions Documentation/Classes/OpenAIResponseDeletedResult.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# OpenAIResponseDeletedResult

The `OpenAIResponseDeletedResult` class contains the result of a response deletion operation.

## Inherits

- [OpenAIResult](OpenAIResult.md)

## Computed properties

| Property | Type | Description |
|-----------|------|-------------|
| `deleted` | [OpenAIResponseDeleted](OpenAIResponseDeleted.md) | Returns the response deletion result from the API response. Returns `Null` if the response does not contain a valid result. |

## Example Usage

```4d
var $result:=$client.responses.delete("resp_abc123")
var $deletionStatus:=$result.deleted

If ($deletionStatus#Null) && $deletionStatus.deleted
ALERT("Response deleted")
End if
```

## See also

- [OpenAIResponsesAPI](OpenAIResponsesAPI.md)
- [OpenAIResponseDeleted](OpenAIResponseDeleted.md)
Loading
Loading