Skip to content

Commit

Permalink
feat(api): OpenAPI spec update via Stainless API (#157)
Browse files Browse the repository at this point in the history
  • Loading branch information
stainless-app[bot] committed Mar 18, 2024
1 parent 134f679 commit 2895c40
Show file tree
Hide file tree
Showing 2 changed files with 197 additions and 4 deletions.
197 changes: 195 additions & 2 deletions src/resources/workers/ai.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import * as Core from 'cloudflare/core';
import { APIResource } from 'cloudflare/resource';
import * as AIAPI from 'cloudflare/resources/workers/ai';
import { type Uploadable } from 'cloudflare/core';

export class AI extends APIResource {
/**
Expand All @@ -27,7 +28,93 @@ export class AI extends APIResource {
}
}

export type AIRunResponse = unknown;
export type AIRunResponse =
| Array<AIRunResponse.TextClassification>
| Uploadable
| Array<number>
| AIRunResponse.TextEmbeddings
| AIRunResponse.SpeechRecognition
| Array<AIRunResponse.ImageClassification>
| Array<AIRunResponse.ObjectDetection>
| AIRunResponse.Response
| Uploadable
| AIRunResponse.Translation
| AIRunResponse.Summarization
| AIRunResponse.ImageToText;

export namespace AIRunResponse {
export interface TextClassification {
label?: string;

score?: number;
}

export interface TextEmbeddings {
data?: Array<Array<number>>;

shape?: Array<number>;
}

export interface SpeechRecognition {
text: string;

word_count?: number;

words?: Array<SpeechRecognition.Word>;
}

export namespace SpeechRecognition {
export interface Word {
end?: number;

start?: number;

word?: string;
}
}

export interface ImageClassification {
label?: string;

score?: number;
}

export interface ObjectDetection {
box?: ObjectDetection.Box;

label?: string;

score?: number;
}

export namespace ObjectDetection {
export interface Box {
xmax?: number;

xmin?: number;

ymax?: number;

ymin?: number;
}
}

export interface Response {
response?: string;
}

export interface Translation {
translated_text?: string;
}

export interface Summarization {
summary?: string;
}

export interface ImageToText {
description?: string;
}
}

export interface AIRunParams {
/**
Expand All @@ -38,7 +125,113 @@ export interface AIRunParams {
/**
* Body param:
*/
body: unknown;
body:
| AIRunParams.TextClassification
| AIRunParams.TextToImage
| AIRunParams.SentenceSimilarity
| AIRunParams.TextEmbeddings
| Uploadable
| AIRunParams.Audio
| Uploadable
| AIRunParams.Image
| Uploadable
| AIRunParams.Image
| AIRunParams.UnionMember10
| AIRunParams.UnionMember11
| AIRunParams.Translation
| AIRunParams.Summarization
| Uploadable
| AIRunParams.UnionMember15;
}

export namespace AIRunParams {
export interface TextClassification {
text: string;
}

export interface TextToImage {
prompt: string;

guidance?: number;

image?: Array<number>;

mask?: Array<number>;

num_steps?: number;

strength?: number;
}

export interface SentenceSimilarity {
sentences: Array<string>;

source: string;
}

export interface TextEmbeddings {
text: string | Array<string>;
}

export interface Audio {
audio?: Array<number>;
}

export interface Image {
image?: Array<number>;
}

export interface Image {
image?: Array<number>;
}

export interface UnionMember10 {
prompt: string;

max_tokens?: number;

raw?: boolean;

stream?: boolean;
}

export interface UnionMember11 {
messages: Array<UnionMember11.Message>;

max_tokens?: number;

stream?: boolean;
}

export namespace UnionMember11 {
export interface Message {
content: string;

role: string;
}
}

export interface Translation {
target_lang: string;

text: string;

source_lang?: string;
}

export interface Summarization {
input_text: string;

max_length?: number;
}

export interface UnionMember15 {
image?: Array<number>;

max_tokens?: number;

prompt?: string;
}
}

export namespace AI {
Expand Down
4 changes: 2 additions & 2 deletions tests/api-resources/workers/ai.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ describe('resource ai', () => {
test.skip('run: only required params', async () => {
const responsePromise = cloudflare.workers.ai.run('string', {
account_id: '023e105f4ecef8ad9ca31a8372d0c353',
body: {},
body: { text: 'string' },
});
const rawResponse = await responsePromise.asResponse();
expect(rawResponse).toBeInstanceOf(Response);
Expand All @@ -29,7 +29,7 @@ describe('resource ai', () => {
test.skip('run: required and optional params', async () => {
const response = await cloudflare.workers.ai.run('string', {
account_id: '023e105f4ecef8ad9ca31a8372d0c353',
body: {},
body: { text: 'string' },
});
});
});

0 comments on commit 2895c40

Please sign in to comment.