Skip to content

Commit 7d85013

Browse files
feat(api): sync
1 parent 257285f commit 7d85013

File tree

11 files changed

+111
-61
lines changed

11 files changed

+111
-61
lines changed

.stats.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 104
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/llamastack%2Fllama-stack-client-2acd62f8d5c4523bad4ddb2cc50608135249858b7047a71b48e25befa1e1f43f.yml
3-
openapi_spec_hash: 1ad726ff81dc21720c8c3443d33c0562
4-
config_hash: 734f75f2a6b46155e1852d378118b5e8
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/llamastack%2Fllama-stack-client-fcaa960dc2de2029f4f67f13ff1d0fc1ff70e683810ed9739be805debef1673d.yml
3+
openapi_spec_hash: a25e7616ad6230f872b46c2cb6fa0a96
4+
config_hash: ff421daf28f90ad4bd4e13f374b18a00

README.md

Lines changed: 57 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,33 @@ import LlamaStackClient from 'llama-stack-client';
2727

2828
const client = new LlamaStackClient();
2929

30-
const healthInfo = await client.inspect.health();
30+
const model = await client.models.register({ model_id: 'model_id' });
3131

32-
console.log(healthInfo.status);
32+
console.log(model.identifier);
3333
```
3434

35+
## Streaming responses
36+
37+
We provide support for streaming responses using Server Sent Events (SSE).
38+
39+
```ts
40+
import LlamaStackClient from 'llama-stack-client';
41+
42+
const client = new LlamaStackClient();
43+
44+
const stream = await client.chat.completions.create({
45+
messages: [{ content: 'string', role: 'user' }],
46+
model: 'model',
47+
stream: true,
48+
});
49+
for await (const chatCompletionChunk of stream) {
50+
console.log(chatCompletionChunk);
51+
}
52+
```
53+
54+
If you need to cancel a stream, you can `break` from the loop
55+
or call `stream.controller.abort()`.
56+
3557
### Request & Response types
3658

3759
This library includes TypeScript definitions for all request params and response fields. You may import and use them like so:
@@ -42,7 +64,13 @@ import LlamaStackClient from 'llama-stack-client';
4264

4365
const client = new LlamaStackClient();
4466

45-
const healthInfo: LlamaStackClient.HealthInfo = await client.inspect.health();
67+
const params: LlamaStackClient.Chat.CompletionCreateParams = {
68+
messages: [{ content: 'string', role: 'user' }],
69+
model: 'model',
70+
};
71+
const completion: LlamaStackClient.Chat.CompletionCreateResponse = await client.chat.completions.create(
72+
params,
73+
);
4674
```
4775

4876
Documentation for each method, request param, and response field are available in docstrings and will appear on hover in most modern editors.
@@ -85,15 +113,17 @@ a subclass of `APIError` will be thrown:
85113

86114
<!-- prettier-ignore -->
87115
```ts
88-
const healthInfo = await client.inspect.health().catch(async (err) => {
89-
if (err instanceof LlamaStackClient.APIError) {
90-
console.log(err.status); // 400
91-
console.log(err.name); // BadRequestError
92-
console.log(err.headers); // {server: 'nginx', ...}
93-
} else {
94-
throw err;
95-
}
96-
});
116+
const completion = await client.chat.completions
117+
.create({ messages: [{ content: 'string', role: 'user' }], model: 'model' })
118+
.catch(async (err) => {
119+
if (err instanceof LlamaStackClient.APIError) {
120+
console.log(err.status); // 400
121+
console.log(err.name); // BadRequestError
122+
console.log(err.headers); // {server: 'nginx', ...}
123+
} else {
124+
throw err;
125+
}
126+
});
97127
```
98128

99129
Error codes are as follows:
@@ -125,7 +155,7 @@ const client = new LlamaStackClient({
125155
});
126156

127157
// Or, configure per-request:
128-
await client.inspect.health({
158+
await client.chat.completions.create({ messages: [{ content: 'string', role: 'user' }], model: 'model' }, {
129159
maxRetries: 5,
130160
});
131161
```
@@ -142,7 +172,7 @@ const client = new LlamaStackClient({
142172
});
143173

144174
// Override per-request:
145-
await client.inspect.health({
175+
await client.chat.completions.create({ messages: [{ content: 'string', role: 'user' }], model: 'model' }, {
146176
timeout: 5 * 1000,
147177
});
148178
```
@@ -163,13 +193,17 @@ You can also use the `.withResponse()` method to get the raw `Response` along wi
163193
```ts
164194
const client = new LlamaStackClient();
165195

166-
const response = await client.inspect.health().asResponse();
196+
const response = await client.chat.completions
197+
.create({ messages: [{ content: 'string', role: 'user' }], model: 'model' })
198+
.asResponse();
167199
console.log(response.headers.get('X-My-Header'));
168200
console.log(response.statusText); // access the underlying Response object
169201

170-
const { data: healthInfo, response: raw } = await client.inspect.health().withResponse();
202+
const { data: completion, response: raw } = await client.chat.completions
203+
.create({ messages: [{ content: 'string', role: 'user' }], model: 'model' })
204+
.withResponse();
171205
console.log(raw.headers.get('X-My-Header'));
172-
console.log(healthInfo.status);
206+
console.log(completion);
173207
```
174208

175209
### Making custom/undocumented requests
@@ -273,9 +307,12 @@ const client = new LlamaStackClient({
273307
});
274308

275309
// Override per-request:
276-
await client.inspect.health({
277-
httpAgent: new http.Agent({ keepAlive: false }),
278-
});
310+
await client.chat.completions.create(
311+
{ messages: [{ content: 'string', role: 'user' }], model: 'model' },
312+
{
313+
httpAgent: new http.Agent({ keepAlive: false }),
314+
},
315+
);
279316
```
280317

281318
## Semantic versioning

api.md

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,8 @@ Methods:
323323

324324
- <code title="post /v1/synthetic-data-generation/generate">client.syntheticDataGeneration.<a href="./src/resources/synthetic-data-generation.ts">generate</a>({ ...params }) -> SyntheticDataGenerationResponse</code>
325325

326+
# Telemetry
327+
326328
# Scoring
327329

328330
Types:
@@ -381,27 +383,6 @@ Methods:
381383
- <code title="delete /v1/files/{file_id}">client.files.<a href="./src/resources/files.ts">delete</a>(fileId) -> DeleteFileResponse</code>
382384
- <code title="get /v1/files/{file_id}/content">client.files.<a href="./src/resources/files.ts">content</a>(fileId) -> unknown</code>
383385

384-
# Beta
385-
386-
## Datasets
387-
388-
Types:
389-
390-
- <code><a href="./src/resources/beta/datasets.ts">ListDatasetsResponse</a></code>
391-
- <code><a href="./src/resources/beta/datasets.ts">DatasetRetrieveResponse</a></code>
392-
- <code><a href="./src/resources/beta/datasets.ts">DatasetListResponse</a></code>
393-
- <code><a href="./src/resources/beta/datasets.ts">DatasetIterrowsResponse</a></code>
394-
- <code><a href="./src/resources/beta/datasets.ts">DatasetRegisterResponse</a></code>
395-
396-
Methods:
397-
398-
- <code title="get /v1beta/datasets/{dataset_id}">client.beta.datasets.<a href="./src/resources/beta/datasets.ts">retrieve</a>(datasetId) -> DatasetRetrieveResponse</code>
399-
- <code title="get /v1beta/datasets">client.beta.datasets.<a href="./src/resources/beta/datasets.ts">list</a>() -> DatasetListResponse</code>
400-
- <code title="post /v1beta/datasetio/append-rows/{dataset_id}">client.beta.datasets.<a href="./src/resources/beta/datasets.ts">appendrows</a>(datasetId, { ...params }) -> void</code>
401-
- <code title="get /v1beta/datasetio/iterrows/{dataset_id}">client.beta.datasets.<a href="./src/resources/beta/datasets.ts">iterrows</a>(datasetId, { ...params }) -> DatasetIterrowsResponse</code>
402-
- <code title="post /v1beta/datasets">client.beta.datasets.<a href="./src/resources/beta/datasets.ts">register</a>({ ...params }) -> DatasetRegisterResponse</code>
403-
- <code title="delete /v1beta/datasets/{dataset_id}">client.beta.datasets.<a href="./src/resources/beta/datasets.ts">unregister</a>(datasetId) -> void</code>
404-
405386
# Alpha
406387

407388
## Inference
@@ -523,3 +504,24 @@ Methods:
523504
- <code title="post /v1alpha/agents/{agent_id}/session/{session_id}/turn">client.alpha.agents.turn.<a href="./src/resources/alpha/agents/turn.ts">create</a>(agentId, sessionId, { ...params }) -> Turn</code>
524505
- <code title="get /v1alpha/agents/{agent_id}/session/{session_id}/turn/{turn_id}">client.alpha.agents.turn.<a href="./src/resources/alpha/agents/turn.ts">retrieve</a>(agentId, sessionId, turnId) -> Turn</code>
525506
- <code title="post /v1alpha/agents/{agent_id}/session/{session_id}/turn/{turn_id}/resume">client.alpha.agents.turn.<a href="./src/resources/alpha/agents/turn.ts">resume</a>(agentId, sessionId, turnId, { ...params }) -> Turn</code>
507+
508+
# Beta
509+
510+
## Datasets
511+
512+
Types:
513+
514+
- <code><a href="./src/resources/beta/datasets.ts">ListDatasetsResponse</a></code>
515+
- <code><a href="./src/resources/beta/datasets.ts">DatasetRetrieveResponse</a></code>
516+
- <code><a href="./src/resources/beta/datasets.ts">DatasetListResponse</a></code>
517+
- <code><a href="./src/resources/beta/datasets.ts">DatasetIterrowsResponse</a></code>
518+
- <code><a href="./src/resources/beta/datasets.ts">DatasetRegisterResponse</a></code>
519+
520+
Methods:
521+
522+
- <code title="get /v1beta/datasets/{dataset_id}">client.beta.datasets.<a href="./src/resources/beta/datasets.ts">retrieve</a>(datasetId) -> DatasetRetrieveResponse</code>
523+
- <code title="get /v1beta/datasets">client.beta.datasets.<a href="./src/resources/beta/datasets.ts">list</a>() -> DatasetListResponse</code>
524+
- <code title="post /v1beta/datasetio/append-rows/{dataset_id}">client.beta.datasets.<a href="./src/resources/beta/datasets.ts">appendrows</a>(datasetId, { ...params }) -> void</code>
525+
- <code title="get /v1beta/datasetio/iterrows/{dataset_id}">client.beta.datasets.<a href="./src/resources/beta/datasets.ts">iterrows</a>(datasetId, { ...params }) -> DatasetIterrowsResponse</code>
526+
- <code title="post /v1beta/datasets">client.beta.datasets.<a href="./src/resources/beta/datasets.ts">register</a>({ ...params }) -> DatasetRegisterResponse</code>
527+
- <code title="delete /v1beta/datasets/{dataset_id}">client.beta.datasets.<a href="./src/resources/beta/datasets.ts">unregister</a>(datasetId) -> void</code>

src/index.ts

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ import {
7070
SyntheticDataGenerationGenerateParams,
7171
SyntheticDataGenerationResponse,
7272
} from './resources/synthetic-data-generation';
73+
import { Telemetry } from './resources/telemetry';
7374
import {
7475
ListToolGroupsResponse,
7576
ToolGroup,
@@ -262,12 +263,13 @@ export class LlamaStackClient extends Core.APIClient {
262263
safety: API.Safety = new API.Safety(this);
263264
shields: API.Shields = new API.Shields(this);
264265
syntheticDataGeneration: API.SyntheticDataGeneration = new API.SyntheticDataGeneration(this);
266+
telemetry: API.Telemetry = new API.Telemetry(this);
265267
scoring: API.Scoring = new API.Scoring(this);
266268
scoringFunctions: API.ScoringFunctions = new API.ScoringFunctions(this);
267269
benchmarks: API.Benchmarks = new API.Benchmarks(this);
268270
files: API.Files = new API.Files(this);
269-
beta: API.Beta = new API.Beta(this);
270271
alpha: API.Alpha = new API.Alpha(this);
272+
beta: API.Beta = new API.Beta(this);
271273

272274
/**
273275
* Check whether the base URL is set to its default.
@@ -339,13 +341,14 @@ LlamaStackClient.Moderations = Moderations;
339341
LlamaStackClient.Safety = Safety;
340342
LlamaStackClient.Shields = Shields;
341343
LlamaStackClient.SyntheticDataGeneration = SyntheticDataGeneration;
344+
LlamaStackClient.Telemetry = Telemetry;
342345
LlamaStackClient.Scoring = Scoring;
343346
LlamaStackClient.ScoringFunctions = ScoringFunctions;
344347
LlamaStackClient.Benchmarks = Benchmarks;
345348
LlamaStackClient.Files = Files;
346349
LlamaStackClient.FilesOpenAICursorPage = FilesOpenAICursorPage;
347-
LlamaStackClient.Beta = Beta;
348350
LlamaStackClient.Alpha = Alpha;
351+
LlamaStackClient.Beta = Beta;
349352

350353
export declare namespace LlamaStackClient {
351354
export type RequestOptions = Core.RequestOptions;
@@ -492,6 +495,8 @@ export declare namespace LlamaStackClient {
492495
type SyntheticDataGenerationGenerateParams as SyntheticDataGenerationGenerateParams,
493496
};
494497

498+
export { Telemetry as Telemetry };
499+
495500
export {
496501
Scoring as Scoring,
497502
type ScoringScoreResponse as ScoringScoreResponse,
@@ -528,10 +533,10 @@ export declare namespace LlamaStackClient {
528533
type FileListParams as FileListParams,
529534
};
530535

531-
export { Beta as Beta };
532-
533536
export { Alpha as Alpha };
534537

538+
export { Beta as Beta };
539+
535540
export type AgentConfig = API.AgentConfig;
536541
export type CompletionMessage = API.CompletionMessage;
537542
export type Document = API.Document;

src/resources/alpha/agents/agents.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ export interface MemoryRetrievalStep {
137137
/**
138138
* The IDs of the vector databases to retrieve context from.
139139
*/
140-
vector_store_ids: string;
140+
vector_db_ids: string;
141141

142142
/**
143143
* The time the step completed.

src/resources/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ export {
8787
type SyntheticDataGenerationResponse,
8888
type SyntheticDataGenerationGenerateParams,
8989
} from './synthetic-data-generation';
90+
export { Telemetry } from './telemetry';
9091
export {
9192
ToolRuntime,
9293
type ToolDef,

src/resources/telemetry.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
import { APIResource } from '../resource';
4+
5+
export class Telemetry extends APIResource {}

src/resources/tool-runtime/rag-tool.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ export interface RagToolInsertParams {
3838
/**
3939
* ID of the vector database to store the document embeddings
4040
*/
41-
vector_store_id: string;
41+
vector_db_id: string;
4242
}
4343

4444
export interface RagToolQueryParams {
@@ -50,7 +50,7 @@ export interface RagToolQueryParams {
5050
/**
5151
* List of vector database IDs to search within
5252
*/
53-
vector_store_ids: Array<string>;
53+
vector_db_ids: Array<string>;
5454

5555
/**
5656
* (Optional) Configuration parameters for the query operation

src/resources/vector-io.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ export interface VectorIoInsertParams {
151151
/**
152152
* The identifier of the vector database to insert the chunks into.
153153
*/
154-
vector_store_id: string;
154+
vector_db_id: string;
155155

156156
/**
157157
* The time to live of the chunks.
@@ -267,7 +267,7 @@ export interface VectorIoQueryParams {
267267
/**
268268
* The identifier of the vector database to query.
269269
*/
270-
vector_store_id: string;
270+
vector_db_id: string;
271271

272272
/**
273273
* The parameters of the query.

tests/api-resources/tool-runtime/rag-tool.test.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ describe('resource ragTool', () => {
1010
const responsePromise = client.toolRuntime.ragTool.insert({
1111
chunk_size_in_tokens: 0,
1212
documents: [{ content: 'string', document_id: 'document_id', metadata: { foo: true } }],
13-
vector_store_id: 'vector_store_id',
13+
vector_db_id: 'vector_db_id',
1414
});
1515
const rawResponse = await responsePromise.asResponse();
1616
expect(rawResponse).toBeInstanceOf(Response);
@@ -27,14 +27,14 @@ describe('resource ragTool', () => {
2727
documents: [
2828
{ content: 'string', document_id: 'document_id', metadata: { foo: true }, mime_type: 'mime_type' },
2929
],
30-
vector_store_id: 'vector_store_id',
30+
vector_db_id: 'vector_db_id',
3131
});
3232
});
3333

3434
test('query: only required params', async () => {
3535
const responsePromise = client.toolRuntime.ragTool.query({
3636
content: 'string',
37-
vector_store_ids: ['string'],
37+
vector_db_ids: ['string'],
3838
});
3939
const rawResponse = await responsePromise.asResponse();
4040
expect(rawResponse).toBeInstanceOf(Response);
@@ -48,7 +48,7 @@ describe('resource ragTool', () => {
4848
test('query: required and optional params', async () => {
4949
const response = await client.toolRuntime.ragTool.query({
5050
content: 'string',
51-
vector_store_ids: ['string'],
51+
vector_db_ids: ['string'],
5252
query_config: {
5353
chunk_template: 'chunk_template',
5454
max_chunks: 0,

0 commit comments

Comments
 (0)