Skip to content

Commit 770500f

Browse files
feat: fix(api): RAG-286: Add to_markdown subresource to AI resource
* fix(api): RAG-286: Add to_markdown subresource to AI resource
1 parent a80827e commit 770500f

File tree

8 files changed

+130
-2
lines changed

8 files changed

+130
-2
lines changed

.eslintcache

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
[{"/home/tempuser-ld8s1t/run/codegen-output/cloudflare/cloudflare-node/src/resources/intel/indicator-feeds/downloads.ts":"1","/home/tempuser-ld8s1t/run/codegen-output/cloudflare/cloudflare-node/src/resources/intel/indicator-feeds/index.ts":"2","/home/tempuser-ld8s1t/run/codegen-output/cloudflare/cloudflare-node/src/resources/intel/indicator-feeds/indicator-feeds.ts":"3"},{"size":319,"mtime":1758917387039},{"size":857,"mtime":1758917387039},{"size":10324,"mtime":1758917387039}]
1+
[{"/home/tempuser-1c50sc/run/codegen-output/cloudflare/cloudflare-node/src/resources/ai/to-markdown.ts":"1","/home/tempuser-1c50sc/run/codegen-output/cloudflare/cloudflare-node/tests/api-resources/ai/to-markdown.test.ts":"2","/home/tempuser-1c50sc/run/codegen-output/cloudflare/cloudflare-node/src/resources/ai/ai.ts":"3","/home/tempuser-1c50sc/run/codegen-output/cloudflare/cloudflare-node/src/resources/ai/index.ts":"4"},{"size":1733,"mtime":1759183057642},{"size":1257,"mtime":1759183057642},{"size":26942,"mtime":1759183057642},{"size":776,"mtime":1759183057642}]

.stats.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 1822
22
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/cloudflare%2Fcloudflare-ca8fbfa82d19dca400ec61b8c93392de1acd157860e435419f9a5e9ec8c586e0.yml
33
openapi_spec_hash: 77d55c70bc3824ac61bd056e2319ee18
4-
config_hash: 4bd8c8b19860de3e5da0f6dfb78ab679
4+
config_hash: 9fad1bedf93f562258b7ce34e98e2e7d

api.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8633,6 +8633,16 @@ Methods:
86338633

86348634
- <code title="get /accounts/{account_id}/ai/models/schema">client.ai.models.schema.<a href="./src/resources/ai/models/schema.ts">get</a>({ ...params }) -> SchemaGetResponse</code>
86358635

8636+
## ToMarkdown
8637+
8638+
Types:
8639+
8640+
- <code><a href="./src/resources/ai/to-markdown.ts">ToMarkdownTransformResponse</a></code>
8641+
8642+
Methods:
8643+
8644+
- <code title="post /accounts/{account_id}/ai/tomarkdown">client.ai.toMarkdown.<a href="./src/resources/ai/to-markdown.ts">transform</a>(body, { ...params }) -> ToMarkdownTransformResponsesSinglePage</code>
8645+
86368646
# SecurityCenter
86378647

86388648
## Insights

scripts/detect-breaking-changes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -730,6 +730,7 @@ TEST_PATHS=(
730730
tests/api-resources/ai/tasks.test.ts
731731
tests/api-resources/ai/models/models.test.ts
732732
tests/api-resources/ai/models/schema.test.ts
733+
tests/api-resources/ai/to-markdown.test.ts
733734
tests/api-resources/security-center/security-center.test.ts
734735
tests/api-resources/security-center/insights/insights.test.ts
735736
tests/api-resources/security-center/insights/class.test.ts

src/resources/ai/ai.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,13 @@ import * as AuthorsAPI from './authors';
66
import { AuthorListParams, AuthorListResponse, AuthorListResponsesSinglePage, Authors } from './authors';
77
import * as TasksAPI from './tasks';
88
import { TaskListParams, TaskListResponse, TaskListResponsesSinglePage, Tasks } from './tasks';
9+
import * as ToMarkdownAPI from './to-markdown';
10+
import {
11+
ToMarkdown,
12+
ToMarkdownTransformParams,
13+
ToMarkdownTransformResponse,
14+
ToMarkdownTransformResponsesSinglePage,
15+
} from './to-markdown';
916
import * as FinetunesAPI from './finetunes/finetunes';
1017
import {
1118
FinetuneCreateParams,
@@ -27,6 +34,7 @@ export class AI extends APIResource {
2734
authors: AuthorsAPI.Authors = new AuthorsAPI.Authors(this._client);
2835
tasks: TasksAPI.Tasks = new TasksAPI.Tasks(this._client);
2936
models: ModelsAPI.Models = new ModelsAPI.Models(this._client);
37+
toMarkdown: ToMarkdownAPI.ToMarkdown = new ToMarkdownAPI.ToMarkdown(this._client);
3038

3139
/**
3240
* This endpoint provides users with the capability to run specific AI models
@@ -1054,6 +1062,8 @@ AI.Tasks = Tasks;
10541062
AI.TaskListResponsesSinglePage = TaskListResponsesSinglePage;
10551063
AI.Models = Models;
10561064
AI.ModelListResponsesV4PagePaginationArray = ModelListResponsesV4PagePaginationArray;
1065+
AI.ToMarkdown = ToMarkdown;
1066+
AI.ToMarkdownTransformResponsesSinglePage = ToMarkdownTransformResponsesSinglePage;
10571067

10581068
export declare namespace AI {
10591069
export { type AIRunResponse as AIRunResponse, type AIRunParams as AIRunParams };
@@ -1086,4 +1096,11 @@ export declare namespace AI {
10861096
ModelListResponsesV4PagePaginationArray as ModelListResponsesV4PagePaginationArray,
10871097
type ModelListParams as ModelListParams,
10881098
};
1099+
1100+
export {
1101+
ToMarkdown as ToMarkdown,
1102+
type ToMarkdownTransformResponse as ToMarkdownTransformResponse,
1103+
ToMarkdownTransformResponsesSinglePage as ToMarkdownTransformResponsesSinglePage,
1104+
type ToMarkdownTransformParams as ToMarkdownTransformParams,
1105+
};
10891106
}

src/resources/ai/index.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,9 @@ export {
2121
type ModelListParams,
2222
} from './models/index';
2323
export { TaskListResponsesSinglePage, Tasks, type TaskListResponse, type TaskListParams } from './tasks';
24+
export {
25+
ToMarkdownTransformResponsesSinglePage,
26+
ToMarkdown,
27+
type ToMarkdownTransformResponse,
28+
type ToMarkdownTransformParams,
29+
} from './to-markdown';

src/resources/ai/to-markdown.ts

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
import { APIResource } from '../../resource';
4+
import * as Core from '../../core';
5+
import { SinglePage } from '../../pagination';
6+
import { type BlobLike } from '../../uploads';
7+
8+
export class ToMarkdown extends APIResource {
9+
/**
10+
* Convert Files into Markdown
11+
*/
12+
transform(
13+
body: string | ArrayBufferView | ArrayBuffer | BlobLike,
14+
params: ToMarkdownTransformParams,
15+
options?: Core.RequestOptions,
16+
): Core.PagePromise<ToMarkdownTransformResponsesSinglePage, ToMarkdownTransformResponse> {
17+
const { account_id } = params;
18+
return this._client.getAPIList(
19+
`/accounts/${account_id}/ai/tomarkdown`,
20+
ToMarkdownTransformResponsesSinglePage,
21+
{
22+
body: body,
23+
method: 'post',
24+
...options,
25+
headers: { 'Content-Type': 'application/octet-stream', ...options?.headers },
26+
__binaryRequest: true,
27+
},
28+
);
29+
}
30+
}
31+
32+
export class ToMarkdownTransformResponsesSinglePage extends SinglePage<ToMarkdownTransformResponse> {}
33+
34+
export interface ToMarkdownTransformResponse {
35+
data: string;
36+
37+
format: string;
38+
39+
mimeType: string;
40+
41+
name: string;
42+
43+
tokens: string;
44+
}
45+
46+
export interface ToMarkdownTransformParams {
47+
/**
48+
* Path param:
49+
*/
50+
account_id: string;
51+
}
52+
53+
ToMarkdown.ToMarkdownTransformResponsesSinglePage = ToMarkdownTransformResponsesSinglePage;
54+
55+
export declare namespace ToMarkdown {
56+
export {
57+
type ToMarkdownTransformResponse as ToMarkdownTransformResponse,
58+
ToMarkdownTransformResponsesSinglePage as ToMarkdownTransformResponsesSinglePage,
59+
type ToMarkdownTransformParams as ToMarkdownTransformParams,
60+
};
61+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
import Cloudflare, { toFile } from 'cloudflare';
4+
import { Response } from 'node-fetch';
5+
6+
const client = new Cloudflare({
7+
apiKey: '144c9defac04969c7bfad8efaa8ea194',
8+
apiEmail: 'user@example.com',
9+
baseURL: process.env['TEST_API_BASE_URL'] ?? 'http://127.0.0.1:4010',
10+
});
11+
12+
describe('resource toMarkdown', () => {
13+
test('transform: only required params', async () => {
14+
const responsePromise = client.ai.toMarkdown.transform(
15+
await toFile(Buffer.from('# my file contents'), 'README.md'),
16+
{ account_id: '023e105f4ecef8ad9ca31a8372d0c353' },
17+
);
18+
const rawResponse = await responsePromise.asResponse();
19+
expect(rawResponse).toBeInstanceOf(Response);
20+
const response = await responsePromise;
21+
expect(response).not.toBeInstanceOf(Response);
22+
const dataAndResponse = await responsePromise.withResponse();
23+
expect(dataAndResponse.data).toBe(response);
24+
expect(dataAndResponse.response).toBe(rawResponse);
25+
});
26+
27+
test('transform: required and optional params', async () => {
28+
const response = await client.ai.toMarkdown.transform(
29+
await toFile(Buffer.from('# my file contents'), 'README.md'),
30+
{ account_id: '023e105f4ecef8ad9ca31a8372d0c353' },
31+
);
32+
});
33+
});

0 commit comments

Comments
 (0)