Skip to content

Commit 9336ccb

Browse files
feat(api): manual updates
1 parent e098ea4 commit 9336ccb

File tree

89 files changed

+2422
-9400
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

89 files changed

+2422
-9400
lines changed

.github/workflows/ci.yml

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
- name: Set up Node
2525
uses: actions/setup-node@v4
2626
with:
27-
node-version: '22'
27+
node-version: '20'
2828

2929
- name: Bootstrap
3030
run: ./scripts/bootstrap
@@ -46,7 +46,7 @@ jobs:
4646
- name: Set up Node
4747
uses: actions/setup-node@v4
4848
with:
49-
node-version: '22'
49+
node-version: '20'
5050

5151
- name: Bootstrap
5252
run: ./scripts/bootstrap
@@ -68,15 +68,6 @@ jobs:
6868
AUTH: ${{ steps.github-oidc.outputs.github_token }}
6969
SHA: ${{ github.sha }}
7070
run: ./scripts/utils/upload-artifact.sh
71-
72-
- name: Upload MCP Server tarball
73-
if: github.repository == 'stainless-sdks/lemma-typescript'
74-
env:
75-
URL: https://pkg.stainless.com/s?subpackage=mcp-server
76-
AUTH: ${{ steps.github-oidc.outputs.github_token }}
77-
SHA: ${{ github.sha }}
78-
BASE_PATH: packages/mcp-server
79-
run: ./scripts/utils/upload-artifact.sh
8071
test:
8172
timeout-minutes: 10
8273
name: test
@@ -88,13 +79,10 @@ jobs:
8879
- name: Set up Node
8980
uses: actions/setup-node@v4
9081
with:
91-
node-version: '22'
82+
node-version: '20'
9283

9384
- name: Bootstrap
9485
run: ./scripts/bootstrap
9586

96-
- name: Build
97-
run: ./scripts/build
98-
9987
- name: Run tests
10088
run: ./scripts/test

.gitignore

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,4 @@ dist-deno
88
/*.tgz
99
.idea/
1010
.eslintcache
11-
dist-bundle
12-
*.mcpb
11+

.prettierignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ CHANGELOG.md
44
/deno
55

66
# don't format tsc output, will break source maps
7-
dist
7+
/dist

.stats.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 13
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lemma%2Flemma-dc1b1744bf9a13daa82065ecf5dc75e3870d611ab3fabf2b0f91a7b36815b2a4.yml
3-
openapi_spec_hash: ae1eb47bf32f7b2c225338a245298e02
4-
config_hash: 017a31b2ac0856f4d4152a5173e6fa18
1+
configured_endpoints: 49
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lemma%2Flemma-490b6c951dbe764981862a42c1067201cca1473d6ea2b5950d6b52246db9c455.yml
3+
openapi_spec_hash: 25f3fb0ed209b3ddd390b3b1df365f5f
4+
config_hash: 6e2d6b369f0443bb7cc6f7f17a4dd8c7

README.md

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@ const client = new Lemma({
2929
apiKey: process.env['LEMMA_API_KEY'], // This is the default and can be omitted
3030
});
3131

32-
const dataset = await client.datasets.retrieve('dataset_id');
32+
const project = await client.projects.create({ name: 'name' });
3333

34-
console.log(dataset.id);
34+
console.log(project.id);
3535
```
3636

3737
### Request & Response types
@@ -46,7 +46,8 @@ const client = new Lemma({
4646
apiKey: process.env['LEMMA_API_KEY'], // This is the default and can be omitted
4747
});
4848

49-
const dataset: Lemma.Dataset = await client.datasets.retrieve('dataset_id');
49+
const params: Lemma.ProjectCreateParams = { name: 'name' };
50+
const project: Lemma.Project = await client.projects.create(params);
5051
```
5152

5253
Documentation for each method, request param, and response field are available in docstrings and will appear on hover in most modern editors.
@@ -88,7 +89,7 @@ a subclass of `APIError` will be thrown:
8889

8990
<!-- prettier-ignore -->
9091
```ts
91-
const dataset = await client.datasets.retrieve('dataset_id').catch(async (err) => {
92+
const project = await client.projects.create({ name: 'name' }).catch(async (err) => {
9293
if (err instanceof Lemma.APIError) {
9394
console.log(err.status); // 400
9495
console.log(err.name); // BadRequestError
@@ -128,7 +129,7 @@ const client = new Lemma({
128129
});
129130

130131
// Or, configure per-request:
131-
await client.datasets.retrieve('dataset_id', {
132+
await client.projects.create({ name: 'name' }, {
132133
maxRetries: 5,
133134
});
134135
```
@@ -145,7 +146,7 @@ const client = new Lemma({
145146
});
146147

147148
// Override per-request:
148-
await client.datasets.retrieve('dataset_id', {
149+
await client.projects.create({ name: 'name' }, {
149150
timeout: 5 * 1000,
150151
});
151152
```
@@ -168,13 +169,13 @@ Unlike `.asResponse()` this method consumes the body, returning once it is parse
168169
```ts
169170
const client = new Lemma();
170171

171-
const response = await client.datasets.retrieve('dataset_id').asResponse();
172+
const response = await client.projects.create({ name: 'name' }).asResponse();
172173
console.log(response.headers.get('X-My-Header'));
173174
console.log(response.statusText); // access the underlying Response object
174175

175-
const { data: dataset, response: raw } = await client.datasets.retrieve('dataset_id').withResponse();
176+
const { data: project, response: raw } = await client.projects.create({ name: 'name' }).withResponse();
176177
console.log(raw.headers.get('X-My-Header'));
177-
console.log(dataset.id);
178+
console.log(project.id);
178179
```
179180

180181
### Logging
@@ -254,7 +255,7 @@ parameter. This library doesn't validate at runtime that the request matches the
254255
send will be sent as-is.
255256

256257
```ts
257-
client.datasets.retrieve({
258+
client.projects.create({
258259
// ...
259260
// @ts-expect-error baz is not yet public
260261
baz: 'undocumented option',

api.md

Lines changed: 116 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,28 +9,36 @@ Types:
99
- <code><a href="./src/resources/datasets/datasets.ts">DatasetGenerateDatasetResponse</a></code>
1010
- <code><a href="./src/resources/datasets/datasets.ts">DatasetGenerateSchemaResponse</a></code>
1111
- <code><a href="./src/resources/datasets/datasets.ts">DatasetGenerateValidatorsResponse</a></code>
12+
- <code><a href="./src/resources/datasets/datasets.ts">DatasetInsertEntryResponse</a></code>
13+
- <code><a href="./src/resources/datasets/datasets.ts">DatasetUploadJSONLResponse</a></code>
1214

1315
Methods:
1416

17+
- <code title="post /datasets/">client.datasets.<a href="./src/resources/datasets/datasets.ts">create</a>({ ...params }) -> Dataset</code>
1518
- <code title="get /datasets/{dataset_id}">client.datasets.<a href="./src/resources/datasets/datasets.ts">retrieve</a>(datasetID) -> Dataset</code>
19+
- <code title="put /datasets/{dataset_id}">client.datasets.<a href="./src/resources/datasets/datasets.ts">update</a>(datasetID, { ...params }) -> Dataset</code>
1620
- <code title="get /datasets/">client.datasets.<a href="./src/resources/datasets/datasets.ts">list</a>({ ...params }) -> DatasetListResponse</code>
1721
- <code title="delete /datasets/{dataset_id}">client.datasets.<a href="./src/resources/datasets/datasets.ts">delete</a>(datasetID) -> DatasetDeleteResponse</code>
1822
- <code title="get /datasets/{dataset_id}/create-download-url">client.datasets.<a href="./src/resources/datasets/datasets.ts">createDownloadURL</a>(datasetID) -> string</code>
1923
- <code title="post /datasets/generate-dataset">client.datasets.<a href="./src/resources/datasets/datasets.ts">generateDataset</a>({ ...params }) -> DatasetGenerateDatasetResponse</code>
2024
- <code title="post /datasets/generate-schema">client.datasets.<a href="./src/resources/datasets/datasets.ts">generateSchema</a>({ ...params }) -> DatasetGenerateSchemaResponse</code>
2125
- <code title="post /datasets/generate-validators">client.datasets.<a href="./src/resources/datasets/datasets.ts">generateValidators</a>({ ...params }) -> DatasetGenerateValidatorsResponse</code>
26+
- <code title="post /datasets/{dataset_id}/insert-entry">client.datasets.<a href="./src/resources/datasets/datasets.ts">insertEntry</a>(datasetID, { ...params }) -> string</code>
27+
- <code title="post /datasets/{dataset_id}/upload-jsonl">client.datasets.<a href="./src/resources/datasets/datasets.ts">uploadJSONL</a>(datasetID, { ...params }) -> DatasetUploadJSONLResponse</code>
2228

2329
## Generations
2430

2531
Types:
2632

2733
- <code><a href="./src/resources/datasets/generations.ts">DatasetGeneration</a></code>
2834
- <code><a href="./src/resources/datasets/generations.ts">GenerationListResponse</a></code>
35+
- <code><a href="./src/resources/datasets/generations.ts">GenerationGetDownloadURLResponse</a></code>
2936

3037
Methods:
3138

3239
- <code title="get /datasets/generations/{generation_id}">client.datasets.generations.<a href="./src/resources/datasets/generations.ts">retrieve</a>(generationID) -> DatasetGeneration</code>
3340
- <code title="get /datasets/generations">client.datasets.generations.<a href="./src/resources/datasets/generations.ts">list</a>({ ...params }) -> GenerationListResponse</code>
41+
- <code title="get /datasets/generations/{generation_id}/download-url">client.datasets.generations.<a href="./src/resources/datasets/generations.ts">getDownloadURL</a>(generationID) -> GenerationGetDownloadURLResponse</code>
3442

3543
# Logs
3644

@@ -56,22 +64,122 @@ Methods:
5664

5765
- <code title="post /playground/run">client.playground.<a href="./src/resources/playground.ts">run</a>({ ...params }) -> unknown</code>
5866

59-
# Prompts
67+
# Projects
6068

6169
Types:
6270

63-
- <code><a href="./src/resources/prompts/prompts.ts">Prompt</a></code>
71+
- <code><a href="./src/resources/projects/projects.ts">Project</a></code>
72+
- <code><a href="./src/resources/projects/projects.ts">ProjectListResponse</a></code>
73+
- <code><a href="./src/resources/projects/projects.ts">ProjectDeleteResponse</a></code>
6474

65-
## Iterations
75+
Methods:
76+
77+
- <code title="post /projects">client.projects.<a href="./src/resources/projects/projects.ts">create</a>({ ...params }) -> Project</code>
78+
- <code title="get /projects/{project_id}">client.projects.<a href="./src/resources/projects/projects.ts">retrieve</a>(projectID) -> Project</code>
79+
- <code title="put /projects/{project_id}">client.projects.<a href="./src/resources/projects/projects.ts">update</a>(projectID, { ...params }) -> Project</code>
80+
- <code title="get /projects/">client.projects.<a href="./src/resources/projects/projects.ts">list</a>() -> ProjectListResponse</code>
81+
- <code title="delete /projects/{project_id}">client.projects.<a href="./src/resources/projects/projects.ts">delete</a>(projectID) -> ProjectDeleteResponse</code>
82+
83+
## Optimizations
84+
85+
Types:
86+
87+
- <code><a href="./src/resources/projects/optimizations.ts">Optimization</a></code>
88+
- <code><a href="./src/resources/projects/optimizations.ts">OptimizationListResponse</a></code>
89+
- <code><a href="./src/resources/projects/optimizations.ts">OptimizationCreateIterationResponse</a></code>
90+
91+
Methods:
92+
93+
- <code title="post /project/{project_id}/optimizations/">client.projects.optimizations.<a href="./src/resources/projects/optimizations.ts">create</a>(projectID, { ...params }) -> Optimization</code>
94+
- <code title="get /project/{project_id}/optimizations/{optimization_id}">client.projects.optimizations.<a href="./src/resources/projects/optimizations.ts">retrieve</a>(optimizationID, { ...params }) -> Optimization</code>
95+
- <code title="get /project/{project_id}/optimizations/">client.projects.optimizations.<a href="./src/resources/projects/optimizations.ts">list</a>(projectID) -> OptimizationListResponse</code>
96+
- <code title="post /project/{project_id}/optimizations/{optimization_id}/iterations">client.projects.optimizations.<a href="./src/resources/projects/optimizations.ts">createIteration</a>(optimizationID, { ...params }) -> OptimizationCreateIterationResponse</code>
97+
98+
## Prompts
99+
100+
Types:
101+
102+
- <code><a href="./src/resources/projects/prompts/prompts.ts">Prompt</a></code>
103+
- <code><a href="./src/resources/projects/prompts/prompts.ts">PromptListResponse</a></code>
104+
- <code><a href="./src/resources/projects/prompts/prompts.ts">PromptDeleteResponse</a></code>
105+
106+
Methods:
107+
108+
- <code title="post /project/{project_id}/prompts">client.projects.prompts.<a href="./src/resources/projects/prompts/prompts.ts">create</a>(projectID, { ...params }) -> Prompt</code>
109+
- <code title="get /project/{project_id}/prompts/{prompt_id}">client.projects.prompts.<a href="./src/resources/projects/prompts/prompts.ts">retrieve</a>(promptID, { ...params }) -> Prompt</code>
110+
- <code title="get /project/{project_id}/prompts">client.projects.prompts.<a href="./src/resources/projects/prompts/prompts.ts">list</a>(projectID) -> PromptListResponse</code>
111+
- <code title="delete /project/{project_id}/prompts/{prompt_id}">client.projects.prompts.<a href="./src/resources/projects/prompts/prompts.ts">delete</a>(promptID, { ...params }) -> PromptDeleteResponse</code>
112+
- <code title="patch /project/{project_id}/prompts/{prompt_id}/model">client.projects.prompts.<a href="./src/resources/projects/prompts/prompts.ts">updateModel</a>(promptID, { ...params }) -> Prompt</code>
113+
114+
### Iterations
115+
116+
Types:
117+
118+
- <code><a href="./src/resources/projects/prompts/iterations.ts">PromptIteration</a></code>
119+
- <code><a href="./src/resources/projects/prompts/iterations.ts">IterationListResponse</a></code>
120+
121+
Methods:
122+
123+
- <code title="post /project/{project_id}/prompts/{prompt_id}/iterations">client.projects.prompts.iterations.<a href="./src/resources/projects/prompts/iterations.ts">create</a>(promptID, { ...params }) -> PromptIteration</code>
124+
- <code title="get /project/{project_id}/prompts/{prompt_id}/iterations">client.projects.prompts.iterations.<a href="./src/resources/projects/prompts/iterations.ts">list</a>(promptID, { ...params }) -> IterationListResponse</code>
125+
126+
## Evaluators
127+
128+
Types:
129+
130+
- <code><a href="./src/resources/projects/evaluators/evaluators.ts">EvaluatorEntry</a></code>
131+
- <code><a href="./src/resources/projects/evaluators/evaluators.ts">EvaluatorType</a></code>
132+
- <code><a href="./src/resources/projects/evaluators/evaluators.ts">EvaluatorListResponse</a></code>
133+
134+
Methods:
135+
136+
- <code title="get /project/{project_id}/evaluators/{evaluator_id}">client.projects.evaluators.<a href="./src/resources/projects/evaluators/evaluators.ts">retrieve</a>(evaluatorID, { ...params }) -> EvaluatorEntry</code>
137+
- <code title="put /project/{project_id}/evaluators/{evaluator_id}">client.projects.evaluators.<a href="./src/resources/projects/evaluators/evaluators.ts">update</a>(evaluatorID, { ...params }) -> EvaluatorEntry</code>
138+
- <code title="get /project/{project_id}/evaluators">client.projects.evaluators.<a href="./src/resources/projects/evaluators/evaluators.ts">list</a>(projectID) -> EvaluatorListResponse</code>
139+
140+
### Rubric
141+
142+
Types:
143+
144+
- <code><a href="./src/resources/projects/evaluators/rubric.ts">RubricCriterion</a></code>
145+
- <code><a href="./src/resources/projects/evaluators/rubric.ts">RubricExample</a></code>
146+
- <code><a href="./src/resources/projects/evaluators/rubric.ts">RubricGenerateResponse</a></code>
147+
148+
Methods:
149+
150+
- <code title="post /project/{project_id}/evaluators/rubric">client.projects.evaluators.rubric.<a href="./src/resources/projects/evaluators/rubric.ts">create</a>(projectID, { ...params }) -> EvaluatorEntry</code>
151+
- <code title="post /project/{project_id}/evaluators/rubric/generate">client.projects.evaluators.rubric.<a href="./src/resources/projects/evaluators/rubric.ts">generate</a>(projectID, { ...params }) -> RubricGenerateResponse</code>
152+
153+
## Evaluations
66154

67155
Types:
68156

69-
- <code><a href="./src/resources/prompts/iterations.ts">PromptIteration</a></code>
157+
- <code><a href="./src/resources/projects/evaluations.ts">EvaluationEntry</a></code>
158+
- <code><a href="./src/resources/projects/evaluations.ts">EvaluationObjectiveType</a></code>
159+
- <code><a href="./src/resources/projects/evaluations.ts">EvaluationListResponse</a></code>
160+
- <code><a href="./src/resources/projects/evaluations.ts">EvaluationDeleteResponse</a></code>
161+
- <code><a href="./src/resources/projects/evaluations.ts">EvaluationCreateIterationResponse</a></code>
70162

71-
# Evaluators
163+
Methods:
164+
165+
- <code title="post /project/{project_id}/evaluations">client.projects.evaluations.<a href="./src/resources/projects/evaluations.ts">create</a>(projectID, { ...params }) -> EvaluationEntry</code>
166+
- <code title="get /project/{project_id}/evaluations/{evaluation_id}">client.projects.evaluations.<a href="./src/resources/projects/evaluations.ts">retrieve</a>(evaluationID, { ...params }) -> EvaluationEntry</code>
167+
- <code title="get /project/{project_id}/evaluations/">client.projects.evaluations.<a href="./src/resources/projects/evaluations.ts">list</a>(projectID) -> EvaluationListResponse</code>
168+
- <code title="delete /project/{project_id}/evaluations/{evaluation_id}">client.projects.evaluations.<a href="./src/resources/projects/evaluations.ts">delete</a>(evaluationID, { ...params }) -> EvaluationDeleteResponse</code>
169+
- <code title="post /project/{project_id}/evaluations/{evaluation_id}/iterations">client.projects.evaluations.<a href="./src/resources/projects/evaluations.ts">createIteration</a>(evaluationID, { ...params }) -> EvaluationCreateIterationResponse</code>
170+
171+
## Agents
72172

73173
Types:
74174

75-
- <code><a href="./src/resources/evaluators.ts">Evaluator</a></code>
76-
- <code><a href="./src/resources/evaluators.ts">RubricCriterion</a></code>
77-
- <code><a href="./src/resources/evaluators.ts">RubricExample</a></code>
175+
- <code><a href="./src/resources/projects/agents.ts">AgentEntry</a></code>
176+
- <code><a href="./src/resources/projects/agents.ts">AgentListResponse</a></code>
177+
- <code><a href="./src/resources/projects/agents.ts">AgentDeleteResponse</a></code>
178+
179+
Methods:
180+
181+
- <code title="post /project/{project_id}/agents">client.projects.agents.<a href="./src/resources/projects/agents.ts">create</a>(projectID, { ...params }) -> AgentEntry</code>
182+
- <code title="get /project/{project_id}/agents/{agent_id}">client.projects.agents.<a href="./src/resources/projects/agents.ts">retrieve</a>(agentID, { ...params }) -> AgentEntry</code>
183+
- <code title="patch /project/{project_id}/agents/{agent_id}">client.projects.agents.<a href="./src/resources/projects/agents.ts">update</a>(agentID, { ...params }) -> AgentEntry</code>
184+
- <code title="get /project/{project_id}/agents">client.projects.agents.<a href="./src/resources/projects/agents.ts">list</a>(projectID) -> AgentListResponse</code>
185+
- <code title="delete /project/{project_id}/agents/{agent_id}">client.projects.agents.<a href="./src/resources/projects/agents.ts">delete</a>(agentID, { ...params }) -> AgentDeleteResponse</code>

eslint.config.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ export default tseslint.config(
3434
},
3535
},
3636
{
37-
files: ['tests/**', 'examples/**', 'packages/**'],
37+
files: ['tests/**', 'examples/**'],
3838
rules: {
3939
'no-restricted-imports': 'off',
4040
},

0 commit comments

Comments
 (0)