Skip to content

Commit b182524

Browse files
feat(api): manual updates
1 parent f22f3a3 commit b182524

File tree

16 files changed

+29
-3442
lines changed

16 files changed

+29
-3442
lines changed

.stats.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 15
22
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/supermemory--inc%2Fsupermemory-new-34f3b1235237761dc6eb4292823363cd8f53be760c3883c127da4a23dd1475fa.yml
33
openapi_spec_hash: 932c86561ab153d35f3313317ccff0cb
4-
config_hash: 1f7d217f14a0205c00ee6a4fcf985ba3
4+
config_hash: 540d70797c68c111b5fb9e76a7d74371

api.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Types:
1111
Methods:
1212

1313
- <code title="patch /v3/memories/{id}">client.memories.<a href="./src/resources/memories.ts">update</a>(id, { ...params }) -> MemoryUpdateResponse</code>
14-
- <code title="get /v3/memories">client.memories.<a href="./src/resources/memories.ts">list</a>({ ...params }) -> MemoryListResponse</code>
14+
- <code title="post /v3/memories/list">client.memories.<a href="./src/resources/memories.ts">list</a>({ ...params }) -> MemoryListResponse</code>
1515
- <code title="delete /v3/memories/{id}">client.memories.<a href="./src/resources/memories.ts">delete</a>(id) -> void</code>
1616
- <code title="post /v3/memories">client.memories.<a href="./src/resources/memories.ts">add</a>({ ...params }) -> MemoryAddResponse</code>
1717
- <code title="get /v3/memories/{id}">client.memories.<a href="./src/resources/memories.ts">get</a>(id) -> MemoryGetResponse</code>

src/client.ts

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import type { APIResponseProps } from './internal/parse';
1212
import { getPlatformHeaders } from './internal/detect-platform';
1313
import * as Shims from './internal/shims';
1414
import * as Opts from './internal/request-options';
15-
import * as qs from './internal/qs';
1615
import { VERSION } from './version';
1716
import * as Errors from './core/error';
1817
import * as Uploads from './core/uploads';
@@ -226,8 +225,24 @@ export class Supermemory {
226225
return buildHeaders([{ Authorization: `Bearer ${this.apiKey}` }]);
227226
}
228227

228+
/**
229+
* Basic re-implementation of `qs.stringify` for primitive types.
230+
*/
229231
protected stringifyQuery(query: Record<string, unknown>): string {
230-
return qs.stringify(query, { arrayFormat: 'comma' });
232+
return Object.entries(query)
233+
.filter(([_, value]) => typeof value !== 'undefined')
234+
.map(([key, value]) => {
235+
if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
236+
return `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;
237+
}
238+
if (value === null) {
239+
return `${encodeURIComponent(key)}=`;
240+
}
241+
throw new Errors.SupermemoryError(
242+
`Cannot stringify type ${typeof value}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`,
243+
);
244+
})
245+
.join('&');
231246
}
232247

233248
private getUserAgent(): string {

src/internal/qs/LICENSE.md

Lines changed: 0 additions & 13 deletions
This file was deleted.

src/internal/qs/README.md

Lines changed: 0 additions & 3 deletions
This file was deleted.

src/internal/qs/formats.ts

Lines changed: 0 additions & 9 deletions
This file was deleted.

src/internal/qs/index.ts

Lines changed: 0 additions & 13 deletions
This file was deleted.

0 commit comments

Comments
 (0)