Skip to content

Commit

Permalink
feat(api): api update (#43)
Browse files Browse the repository at this point in the history
  • Loading branch information
stainless-app[bot] authored and stainless-bot committed Oct 10, 2024
1 parent d937f2d commit 4094526
Show file tree
Hide file tree
Showing 6 changed files with 60 additions and 1 deletion.
2 changes: 1 addition & 1 deletion .stats.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
configured_endpoints: 38
configured_endpoints: 39
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/plastic-labs%2Fhoncho-d259b106accde65e100275c3eee2d01d0b91792abc0e67ae807dae74fb32f4de.yml
2 changes: 2 additions & 0 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ Types:
- <code><a href="./src/resources/apps/users/collections/documents.ts">Document</a></code>
- <code><a href="./src/resources/apps/users/collections/documents.ts">PageDocument</a></code>
- <code><a href="./src/resources/apps/users/collections/documents.ts">DocumentDeleteResponse</a></code>
- <code><a href="./src/resources/apps/users/collections/documents.ts">DocumentQueryResponse</a></code>

Methods:

Expand All @@ -114,3 +115,4 @@ Methods:
- <code title="get /apps/{app_id}/users/{user_id}/collections/{collection_id}/documents">client.apps.users.collections.documents.<a href="./src/resources/apps/users/collections/documents.ts">list</a>(appId, userId, collectionId, { ...params }) -> DocumentsPage</code>
- <code title="delete /apps/{app_id}/users/{user_id}/collections/{collection_id}/documents/{document_id}">client.apps.users.collections.documents.<a href="./src/resources/apps/users/collections/documents.ts">delete</a>(appId, userId, collectionId, documentId) -> unknown</code>
- <code title="get /apps/{app_id}/users/{user_id}/collections/{collection_id}/documents/{document_id}">client.apps.users.collections.documents.<a href="./src/resources/apps/users/collections/documents.ts">get</a>(appId, userId, collectionId, documentId) -> Document</code>
- <code title="get /apps/{app_id}/users/{user_id}/collections/{collection_id}/documents/query">client.apps.users.collections.documents.<a href="./src/resources/apps/users/collections/documents.ts">query</a>(appId, userId, collectionId, { ...params }) -> DocumentQueryResponse</code>
2 changes: 2 additions & 0 deletions src/resources/apps/users/collections/collections.ts
Original file line number Diff line number Diff line change
Expand Up @@ -168,8 +168,10 @@ export namespace Collections {
export import Document = DocumentsAPI.Document;
export import PageDocument = DocumentsAPI.PageDocument;
export import DocumentDeleteResponse = DocumentsAPI.DocumentDeleteResponse;
export import DocumentQueryResponse = DocumentsAPI.DocumentQueryResponse;
export import DocumentsPage = DocumentsAPI.DocumentsPage;
export import DocumentCreateParams = DocumentsAPI.DocumentCreateParams;
export import DocumentUpdateParams = DocumentsAPI.DocumentUpdateParams;
export import DocumentListParams = DocumentsAPI.DocumentListParams;
export import DocumentQueryParams = DocumentsAPI.DocumentQueryParams;
}
28 changes: 28 additions & 0 deletions src/resources/apps/users/collections/documents.ts
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,22 @@ export class Documents extends APIResource {
options,
);
}

/**
* Query Documents
*/
query(
appId: string,
userId: string,
collectionId: string,
query: DocumentQueryParams,
options?: Core.RequestOptions,
): Core.APIPromise<DocumentQueryResponse> {
return this._client.get(`/apps/${appId}/users/${userId}/collections/${collectionId}/documents/query`, {
query,
...options,
});
}
}

export class DocumentsPage extends Page<Document> {}
Expand Down Expand Up @@ -134,6 +150,8 @@ export interface PageDocument {

export type DocumentDeleteResponse = unknown;

export type DocumentQueryResponse = Array<Document>;

export interface DocumentCreateParams {
content: string;

Expand All @@ -152,12 +170,22 @@ export interface DocumentListParams extends PageParams {
reverse?: boolean | null;
}

export interface DocumentQueryParams {
query: string;

filter?: string | null;

top_k?: number;
}

export namespace Documents {
export import Document = DocumentsAPI.Document;
export import PageDocument = DocumentsAPI.PageDocument;
export import DocumentDeleteResponse = DocumentsAPI.DocumentDeleteResponse;
export import DocumentQueryResponse = DocumentsAPI.DocumentQueryResponse;
export import DocumentsPage = DocumentsAPI.DocumentsPage;
export import DocumentCreateParams = DocumentsAPI.DocumentCreateParams;
export import DocumentUpdateParams = DocumentsAPI.DocumentUpdateParams;
export import DocumentListParams = DocumentsAPI.DocumentListParams;
export import DocumentQueryParams = DocumentsAPI.DocumentQueryParams;
}
2 changes: 2 additions & 0 deletions src/resources/apps/users/collections/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,11 @@ export {
Document,
PageDocument,
DocumentDeleteResponse,
DocumentQueryResponse,
DocumentCreateParams,
DocumentUpdateParams,
DocumentListParams,
DocumentQueryParams,
DocumentsPage,
Documents,
} from './documents';
25 changes: 25 additions & 0 deletions tests/api-resources/apps/users/collections/documents.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -148,4 +148,29 @@ describe('resource documents', () => {
),
).rejects.toThrow(Honcho.NotFoundError);
});

test('query: only required params', async () => {
const responsePromise = client.apps.users.collections.documents.query(
'182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
'182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
'182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
{ query: 'query' },
);
const rawResponse = await responsePromise.asResponse();
expect(rawResponse).toBeInstanceOf(Response);
const response = await responsePromise;
expect(response).not.toBeInstanceOf(Response);
const dataAndResponse = await responsePromise.withResponse();
expect(dataAndResponse.data).toBe(response);
expect(dataAndResponse.response).toBe(rawResponse);
});

test('query: required and optional params', async () => {
const response = await client.apps.users.collections.documents.query(
'182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
'182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
'182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
{ query: 'query', filter: 'filter', top_k: 0 },
);
});
});

0 comments on commit 4094526

Please sign in to comment.