Skip to content

Commit 5ab8d74

Browse files
feat(api): Adding prompts API to stainless config
Adding prompts API to stainless config
1 parent 4dda064 commit 5ab8d74

File tree

10 files changed

+422
-2
lines changed

10 files changed

+422
-2
lines changed

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 104
1+
configured_endpoints: 111
22
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/llamastack%2Fllama-stack-client-35c6569e5e9fcc85084c9728eb7fc7c5908297fcc77043d621d25de3c850a990.yml
33
openapi_spec_hash: 0f95bbeee16f3205d36ec34cfa62c711
4-
config_hash: fa14a2107881931b2ddef8c768eeb558
4+
config_hash: ef275cc002a89629459fd73d0cf9cba9

api.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,29 @@ Methods:
9292

9393
- <code title="get /v1/responses/{response_id}/input_items">client.responses.inputItems.<a href="./src/resources/responses/input-items.ts">list</a>(responseId, { ...params }) -> InputItemListResponse</code>
9494

95+
# Prompts
96+
97+
Types:
98+
99+
- <code><a href="./src/resources/prompts/prompts.ts">ListPromptsResponse</a></code>
100+
- <code><a href="./src/resources/prompts/prompts.ts">Prompt</a></code>
101+
- <code><a href="./src/resources/prompts/prompts.ts">PromptListResponse</a></code>
102+
103+
Methods:
104+
105+
- <code title="post /v1/prompts">client.prompts.<a href="./src/resources/prompts/prompts.ts">create</a>({ ...params }) -> Prompt</code>
106+
- <code title="get /v1/prompts/{prompt_id}">client.prompts.<a href="./src/resources/prompts/prompts.ts">retrieve</a>(promptId, { ...params }) -> Prompt</code>
107+
- <code title="post /v1/prompts/{prompt_id}">client.prompts.<a href="./src/resources/prompts/prompts.ts">update</a>(promptId, { ...params }) -> Prompt</code>
108+
- <code title="get /v1/prompts">client.prompts.<a href="./src/resources/prompts/prompts.ts">list</a>() -> PromptListResponse</code>
109+
- <code title="delete /v1/prompts/{prompt_id}">client.prompts.<a href="./src/resources/prompts/prompts.ts">delete</a>(promptId) -> void</code>
110+
- <code title="post /v1/prompts/{prompt_id}/set-default-version">client.prompts.<a href="./src/resources/prompts/prompts.ts">setDefaultVersion</a>(promptId, { ...params }) -> Prompt</code>
111+
112+
## Versions
113+
114+
Methods:
115+
116+
- <code title="get /v1/prompts/{prompt_id}/versions">client.prompts.versions.<a href="./src/resources/prompts/versions.ts">list</a>(promptId) -> PromptListResponse</code>
117+
95118
# Conversations
96119

97120
Types:

src/index.ts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,16 @@ import {
9494
ModelRegisterParams,
9595
Models,
9696
} from './resources/models/models';
97+
import {
98+
ListPromptsResponse,
99+
Prompt,
100+
PromptCreateParams,
101+
PromptListResponse,
102+
PromptRetrieveParams,
103+
PromptSetDefaultVersionParams,
104+
PromptUpdateParams,
105+
Prompts,
106+
} from './resources/prompts/prompts';
97107
import {
98108
ResponseCreateParams,
99109
ResponseCreateParamsNonStreaming,
@@ -241,6 +251,7 @@ export class LlamaStackClient extends Core.APIClient {
241251
tools: API.Tools = new API.Tools(this);
242252
toolRuntime: API.ToolRuntime = new API.ToolRuntime(this);
243253
responses: API.Responses = new API.Responses(this);
254+
prompts: API.Prompts = new API.Prompts(this);
244255
conversations: API.Conversations = new API.Conversations(this);
245256
inspect: API.Inspect = new API.Inspect(this);
246257
embeddings: API.Embeddings = new API.Embeddings(this);
@@ -316,6 +327,7 @@ LlamaStackClient.Tools = Tools;
316327
LlamaStackClient.ToolRuntime = ToolRuntime;
317328
LlamaStackClient.Responses = Responses;
318329
LlamaStackClient.ResponseListResponsesOpenAICursorPage = ResponseListResponsesOpenAICursorPage;
330+
LlamaStackClient.Prompts = Prompts;
319331
LlamaStackClient.Conversations = Conversations;
320332
LlamaStackClient.Inspect = Inspect;
321333
LlamaStackClient.Embeddings = Embeddings;
@@ -385,6 +397,17 @@ export declare namespace LlamaStackClient {
385397
type ResponseListParams as ResponseListParams,
386398
};
387399

400+
export {
401+
Prompts as Prompts,
402+
type ListPromptsResponse as ListPromptsResponse,
403+
type Prompt as Prompt,
404+
type PromptListResponse as PromptListResponse,
405+
type PromptCreateParams as PromptCreateParams,
406+
type PromptRetrieveParams as PromptRetrieveParams,
407+
type PromptUpdateParams as PromptUpdateParams,
408+
type PromptSetDefaultVersionParams as PromptSetDefaultVersionParams,
409+
};
410+
388411
export {
389412
Conversations as Conversations,
390413
type ConversationObject as ConversationObject,

src/resources/index.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,16 @@ export {
3838
type ModelRegisterParams,
3939
} from './models/models';
4040
export { Moderations, type CreateResponse, type ModerationCreateParams } from './moderations';
41+
export {
42+
Prompts,
43+
type ListPromptsResponse,
44+
type Prompt,
45+
type PromptListResponse,
46+
type PromptCreateParams,
47+
type PromptRetrieveParams,
48+
type PromptUpdateParams,
49+
type PromptSetDefaultVersionParams,
50+
} from './prompts/prompts';
4151
export { Providers, type ListProvidersResponse, type ProviderListResponse } from './providers';
4252
export {
4353
ResponseListResponsesOpenAICursorPage,

src/resources/prompts.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
export * from './prompts/index';

src/resources/prompts/index.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
export {
4+
Prompts,
5+
type ListPromptsResponse,
6+
type Prompt,
7+
type PromptListResponse,
8+
type PromptCreateParams,
9+
type PromptRetrieveParams,
10+
type PromptUpdateParams,
11+
type PromptSetDefaultVersionParams,
12+
} from './prompts';
13+
export { Versions } from './versions';

src/resources/prompts/prompts.ts

Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,181 @@
1+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
import { APIResource } from '../../resource';
4+
import { isRequestOptions } from '../../core';
5+
import * as Core from '../../core';
6+
import * as VersionsAPI from './versions';
7+
import { Versions } from './versions';
8+
9+
export class Prompts extends APIResource {
10+
versions: VersionsAPI.Versions = new VersionsAPI.Versions(this._client);
11+
12+
/**
13+
* Create prompt. Create a new prompt.
14+
*/
15+
create(body: PromptCreateParams, options?: Core.RequestOptions): Core.APIPromise<Prompt> {
16+
return this._client.post('/v1/prompts', { body, ...options });
17+
}
18+
19+
/**
20+
* Get prompt. Get a prompt by its identifier and optional version.
21+
*/
22+
retrieve(
23+
promptId: string,
24+
query?: PromptRetrieveParams,
25+
options?: Core.RequestOptions,
26+
): Core.APIPromise<Prompt>;
27+
retrieve(promptId: string, options?: Core.RequestOptions): Core.APIPromise<Prompt>;
28+
retrieve(
29+
promptId: string,
30+
query: PromptRetrieveParams | Core.RequestOptions = {},
31+
options?: Core.RequestOptions,
32+
): Core.APIPromise<Prompt> {
33+
if (isRequestOptions(query)) {
34+
return this.retrieve(promptId, {}, query);
35+
}
36+
return this._client.get(`/v1/prompts/${promptId}`, { query, ...options });
37+
}
38+
39+
/**
40+
* Update prompt. Update an existing prompt (increments version).
41+
*/
42+
update(promptId: string, body: PromptUpdateParams, options?: Core.RequestOptions): Core.APIPromise<Prompt> {
43+
return this._client.post(`/v1/prompts/${promptId}`, { body, ...options });
44+
}
45+
46+
/**
47+
* List all prompts.
48+
*/
49+
list(options?: Core.RequestOptions): Core.APIPromise<PromptListResponse> {
50+
return (
51+
this._client.get('/v1/prompts', options) as Core.APIPromise<{ data: PromptListResponse }>
52+
)._thenUnwrap((obj) => obj.data);
53+
}
54+
55+
/**
56+
* Delete prompt. Delete a prompt.
57+
*/
58+
delete(promptId: string, options?: Core.RequestOptions): Core.APIPromise<void> {
59+
return this._client.delete(`/v1/prompts/${promptId}`, {
60+
...options,
61+
headers: { Accept: '*/*', ...options?.headers },
62+
});
63+
}
64+
65+
/**
66+
* Set prompt version. Set which version of a prompt should be the default in
67+
* get_prompt (latest).
68+
*/
69+
setDefaultVersion(
70+
promptId: string,
71+
body: PromptSetDefaultVersionParams,
72+
options?: Core.RequestOptions,
73+
): Core.APIPromise<Prompt> {
74+
return this._client.post(`/v1/prompts/${promptId}/set-default-version`, { body, ...options });
75+
}
76+
}
77+
78+
/**
79+
* Response model to list prompts.
80+
*/
81+
export interface ListPromptsResponse {
82+
data: PromptListResponse;
83+
}
84+
85+
/**
86+
* A prompt resource representing a stored OpenAI Compatible prompt template in
87+
* Llama Stack.
88+
*/
89+
export interface Prompt {
90+
/**
91+
* Boolean indicating whether this version is the default version for this prompt
92+
*/
93+
is_default: boolean;
94+
95+
/**
96+
* Unique identifier formatted as 'pmpt\_<48-digit-hash>'
97+
*/
98+
prompt_id: string;
99+
100+
/**
101+
* List of prompt variable names that can be used in the prompt template
102+
*/
103+
variables: Array<string>;
104+
105+
/**
106+
* Version (integer starting at 1, incremented on save)
107+
*/
108+
version: number;
109+
110+
/**
111+
* The system prompt text with variable placeholders. Variables are only supported
112+
* when using the Responses API.
113+
*/
114+
prompt?: string;
115+
}
116+
117+
export type PromptListResponse = Array<Prompt>;
118+
119+
export interface PromptCreateParams {
120+
/**
121+
* The prompt text content with variable placeholders.
122+
*/
123+
prompt: string;
124+
125+
/**
126+
* List of variable names that can be used in the prompt template.
127+
*/
128+
variables?: Array<string>;
129+
}
130+
131+
export interface PromptRetrieveParams {
132+
/**
133+
* The version of the prompt to get (defaults to latest).
134+
*/
135+
version?: number;
136+
}
137+
138+
export interface PromptUpdateParams {
139+
/**
140+
* The updated prompt text content.
141+
*/
142+
prompt: string;
143+
144+
/**
145+
* Set the new version as the default (default=True).
146+
*/
147+
set_as_default: boolean;
148+
149+
/**
150+
* The current version of the prompt being updated.
151+
*/
152+
version: number;
153+
154+
/**
155+
* Updated list of variable names that can be used in the prompt template.
156+
*/
157+
variables?: Array<string>;
158+
}
159+
160+
export interface PromptSetDefaultVersionParams {
161+
/**
162+
* The version to set as default.
163+
*/
164+
version: number;
165+
}
166+
167+
Prompts.Versions = Versions;
168+
169+
export declare namespace Prompts {
170+
export {
171+
type ListPromptsResponse as ListPromptsResponse,
172+
type Prompt as Prompt,
173+
type PromptListResponse as PromptListResponse,
174+
type PromptCreateParams as PromptCreateParams,
175+
type PromptRetrieveParams as PromptRetrieveParams,
176+
type PromptUpdateParams as PromptUpdateParams,
177+
type PromptSetDefaultVersionParams as PromptSetDefaultVersionParams,
178+
};
179+
180+
export { Versions as Versions };
181+
}

src/resources/prompts/versions.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
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 * as PromptsAPI from './prompts';
6+
7+
export class Versions extends APIResource {
8+
/**
9+
* List prompt versions. List all versions of a specific prompt.
10+
*/
11+
list(promptId: string, options?: Core.RequestOptions): Core.APIPromise<PromptsAPI.PromptListResponse> {
12+
return (
13+
this._client.get(`/v1/prompts/${promptId}/versions`, options) as Core.APIPromise<{
14+
data: PromptsAPI.PromptListResponse;
15+
}>
16+
)._thenUnwrap((obj) => obj.data);
17+
}
18+
}

0 commit comments

Comments
 (0)