Skip to content

release: 2.0.0 #288

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
e2feb58
chore(internal): upload builds and expand CI branch coverage
stainless-app[bot] Apr 10, 2025
bad37ea
chore(internal): reduce CI branch coverage
stainless-app[bot] Apr 10, 2025
0403a6f
chore(client): minor internal fixes
stainless-app[bot] Apr 15, 2025
8105c78
chore(ci): add timeout thresholds for CI jobs
stainless-app[bot] Apr 23, 2025
bca6b03
chore(internal): codegen related update
stainless-app[bot] Apr 24, 2025
ab0758f
chore(ci): only use depot for staging repos
stainless-app[bot] Apr 24, 2025
fb227ad
docs(readme): fix typo
stainless-app[bot] May 1, 2025
3699b40
chore(ci): bump node version for release workflows
stainless-app[bot] May 7, 2025
a64ff32
chore: update SDK settings
stainless-app[bot] May 12, 2025
f3745b7
feat(api): api update
stainless-app[bot] May 12, 2025
416d225
feat(api): manual updates
stainless-app[bot] May 14, 2025
c6d39e0
feat(api): manual updates
stainless-app[bot] May 19, 2025
0c3e348
chore(docs): grammar improvements
stainless-app[bot] May 22, 2025
6532e7a
feat(api): api update
stainless-app[bot] May 24, 2025
889138d
feat(api): api update
stainless-app[bot] May 24, 2025
21f7dc0
codegen metadata
stainless-app[bot] May 24, 2025
e6bcf45
feat(api): api update
stainless-app[bot] May 26, 2025
7661970
feat(api): api update
stainless-app[bot] May 26, 2025
5805fb3
chore: improve publish-npm script --latest tag logic
stainless-app[bot] May 28, 2025
c5154b0
feat(api): api update
stainless-app[bot] May 30, 2025
edcc09c
feat(api): api update
stainless-app[bot] May 30, 2025
a7894e2
feat(api): manual updates
stainless-app[bot] May 30, 2025
438c09b
feat(api): api update
stainless-app[bot] May 30, 2025
c9eee6c
chore(docs): use top-level-await in example snippets
stainless-app[bot] Jun 4, 2025
2c11592
release: 2.0.0
stainless-app[bot] Jun 4, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 31 additions & 15 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
name: CI
on:
push:
branches:
- main
pull_request:
branches:
- main
- next
branches-ignore:
- 'generated'
- 'codegen/**'
- 'integrated/**'
- 'stl-preview-head/**'
- 'stl-preview-base/**'

jobs:
lint:
timeout-minutes: 10
name: lint
runs-on: ubuntu-latest


runs-on: ${{ github.repository == 'stainless-sdks/julep-node' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
steps:
- uses: actions/checkout@v4

Expand All @@ -29,10 +28,12 @@ jobs:
run: ./scripts/lint

build:
timeout-minutes: 5
name: build
runs-on: ubuntu-latest


runs-on: ${{ github.repository == 'stainless-sdks/julep-node' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
permissions:
contents: read
id-token: write
steps:
- uses: actions/checkout@v4

Expand All @@ -46,17 +47,32 @@ jobs:

- name: Check build
run: ./scripts/build

- name: Get GitHub OIDC Token
if: github.repository == 'stainless-sdks/julep-node'
id: github-oidc
uses: actions/github-script@v6
with:
script: core.setOutput('github_token', await core.getIDToken());

- name: Upload tarball
if: github.repository == 'stainless-sdks/julep-node'
env:
URL: https://pkg.stainless.com/s
AUTH: ${{ steps.github-oidc.outputs.github_token }}
SHA: ${{ github.sha }}
run: ./scripts/utils/upload-artifact.sh
test:
timeout-minutes: 10
name: test
runs-on: ubuntu-latest

runs-on: ${{ github.repository == 'stainless-sdks/julep-node' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
steps:
- uses: actions/checkout@v4

- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: '18'
node-version: '20'

- name: Bootstrap
run: ./scripts/bootstrap
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish-npm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
- name: Set up Node
uses: actions/setup-node@v3
with:
node-version: '18'
node-version: '20'

- name: Install dependencies
run: |
Expand Down
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "1.71.5"
".": "2.0.0"
}
8 changes: 4 additions & 4 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 53
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/julep-ai-inc-dash%2Fjulep-14e6e11ab9b7ae3afeab9a4b72dd906f43dfe0a41c8fda86e612eaaae9a8d085.yml
openapi_spec_hash: 01b01a97793714f89a7c971a4cc0f17b
config_hash: 6596c6457cbea976768290d343dcfeea
configured_endpoints: 66
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/julep-ai-inc-dash%2Fjulep-8a1ecc9e35c22008057ceaddf31012f66d2894afab0df2ef269e077cbd0f81ee.yml
openapi_spec_hash: bc7c9c317519c92f3f2d4198be8ab5c2
config_hash: cbbcfe531bf3096e61f5c3e4e398440e
38 changes: 38 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,43 @@
# Changelog

## 2.0.0 (2025-06-04)

Full Changelog: [v1.71.5...v2.0.0](https://github.com/julep-ai/node-sdk/compare/v1.71.5...v2.0.0)

### Features

* **api:** api update ([438c09b](https://github.com/julep-ai/node-sdk/commit/438c09b9c17666d96f9508b23cb07254f8987123))
* **api:** api update ([edcc09c](https://github.com/julep-ai/node-sdk/commit/edcc09cce32e39e360378317a23011904a3fc338))
* **api:** api update ([c5154b0](https://github.com/julep-ai/node-sdk/commit/c5154b0d43df7837f554741dcaddacd41c891adf))
* **api:** api update ([7661970](https://github.com/julep-ai/node-sdk/commit/7661970c8257a610a25a695f1f4dd06739c8fc44))
* **api:** api update ([e6bcf45](https://github.com/julep-ai/node-sdk/commit/e6bcf4531591ae8c847efbbad4bbf8649a8e78a1))
* **api:** api update ([889138d](https://github.com/julep-ai/node-sdk/commit/889138deb4c292b39e699ece8fb73363a4ebd072))
* **api:** api update ([6532e7a](https://github.com/julep-ai/node-sdk/commit/6532e7a2c4ced6ebafd06353c63e633bb14dfe38))
* **api:** api update ([f3745b7](https://github.com/julep-ai/node-sdk/commit/f3745b732249b75c2b6a106a3cffd3ebb30e45cf))
* **api:** manual updates ([a7894e2](https://github.com/julep-ai/node-sdk/commit/a7894e22d3e42cde307d1892b40d84a9f0d11178))
* **api:** manual updates ([c6d39e0](https://github.com/julep-ai/node-sdk/commit/c6d39e01032b2b10f9527724fad6a37e5b50c5b6))
* **api:** manual updates ([416d225](https://github.com/julep-ai/node-sdk/commit/416d2254090d7596d0d6977a3bb40ac0043d07d7))


### Chores

* **ci:** add timeout thresholds for CI jobs ([8105c78](https://github.com/julep-ai/node-sdk/commit/8105c78c1d2c722a366c2abed7320518431487e6))
* **ci:** bump node version for release workflows ([3699b40](https://github.com/julep-ai/node-sdk/commit/3699b40436bed624f6835f2f6c0b06465c6cf24f))
* **ci:** only use depot for staging repos ([ab0758f](https://github.com/julep-ai/node-sdk/commit/ab0758f4dceeb2673480e428c1e3d71adfc80337))
* **client:** minor internal fixes ([0403a6f](https://github.com/julep-ai/node-sdk/commit/0403a6fbcfbcf579a7b906d8a08adea2ae2051e3))
* **docs:** grammar improvements ([0c3e348](https://github.com/julep-ai/node-sdk/commit/0c3e348d43356f3a0be86c26b1934c939fd39749))
* **docs:** use top-level-await in example snippets ([c9eee6c](https://github.com/julep-ai/node-sdk/commit/c9eee6c0a5d452d0cd806d90564192617f405322))
* improve publish-npm script --latest tag logic ([5805fb3](https://github.com/julep-ai/node-sdk/commit/5805fb37128e0675f87625af405f55dab09a5b7d))
* **internal:** codegen related update ([bca6b03](https://github.com/julep-ai/node-sdk/commit/bca6b03b7360e4b6193dac8b122bd64fca2c45ab))
* **internal:** reduce CI branch coverage ([bad37ea](https://github.com/julep-ai/node-sdk/commit/bad37ea300c757af1fef456302ab210f15977f89))
* **internal:** upload builds and expand CI branch coverage ([e2feb58](https://github.com/julep-ai/node-sdk/commit/e2feb58cee28f5f313cae78a4d995fc28153ff26))
* update SDK settings ([a64ff32](https://github.com/julep-ai/node-sdk/commit/a64ff3289652c6b74421ad99f0d50f054a7beace))


### Documentation

* **readme:** fix typo ([fb227ad](https://github.com/julep-ai/node-sdk/commit/fb227ad1a4891ea5fd57feab31d3af32e6c672eb))

## 1.71.5 (2025-04-05)

Full Changelog: [v1.71.4...v1.71.5](https://github.com/julep-ai/node-sdk/compare/v1.71.4...v1.71.5)
Expand Down
69 changes: 27 additions & 42 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,16 +27,12 @@ const client = new Julep({
environment: 'dev', // or 'production' | 'local_multi_tenant' | 'local'; defaults to 'production'
});

async function main() {
const task = await client.tasks.create('dad00000-0000-4000-a000-000000000000', {
main: [{ evaluate: { foo: {} } }],
name: 'x',
});

console.log(task.id);
}
const task = await client.tasks.create('dad00000-0000-4000-a000-000000000000', {
main: [{ evaluate: { foo: {} } }],
name: 'x',
});

main();
console.log(task.id);
```

### Request & Response types
Expand All @@ -52,19 +48,12 @@ const client = new Julep({
environment: 'dev', // or 'production' | 'local_multi_tenant' | 'local'; defaults to 'production'
});

async function main() {
const params: Julep.AgentCreateOrUpdateParams = {
name: 'R2D2',
instructions: ['Protect Leia', 'Kick butt'],
model: 'o1-preview',
};
const agent: Julep.Agent = await client.agents.createOrUpdate(
'dad00000-0000-4000-a000-000000000000',
params,
);
}

main();
const params: Julep.AgentCreateOrUpdateParams = {
name: 'R2D2',
instructions: ['Protect Leia', 'Kick butt'],
model: 'o1-preview',
};
const agent: Julep.Agent = await client.agents.createOrUpdate('dad00000-0000-4000-a000-000000000000', params);
```

Documentation for each method, request param, and response field are available in docstrings and will appear on hover in most modern editors.
Expand All @@ -77,28 +66,24 @@ a subclass of `APIError` will be thrown:

<!-- prettier-ignore -->
```ts
async function main() {
const agent = await client.agents
.createOrUpdate('dad00000-0000-4000-a000-000000000000', {
name: 'R2D2',
instructions: ['Protect Leia', 'Kick butt'],
model: 'o1-preview',
})
.catch(async (err) => {
if (err instanceof Julep.APIError) {
console.log(err.status); // 400
console.log(err.name); // BadRequestError
console.log(err.headers); // {server: 'nginx', ...}
} else {
throw err;
}
});
}

main();
const agent = await client.agents
.createOrUpdate('dad00000-0000-4000-a000-000000000000', {
name: 'R2D2',
instructions: ['Protect Leia', 'Kick butt'],
model: 'o1-preview',
})
.catch(async (err) => {
if (err instanceof Julep.APIError) {
console.log(err.status); // 400
console.log(err.name); // BadRequestError
console.log(err.headers); // {server: 'nginx', ...}
} else {
throw err;
}
});
```

Error codes are as followed:
Error codes are as follows:

| Status Code | Error Type |
| ----------- | -------------------------- |
Expand Down
4 changes: 2 additions & 2 deletions SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ before making any information public.
## Reporting Non-SDK Related Security Issues

If you encounter security issues that are not directly related to SDKs but pertain to the services
or products provided by Julep please follow the respective company's security reporting guidelines.
or products provided by Julep, please follow the respective company's security reporting guidelines.

### Julep Terms and Policies

Please contact [email protected] for any questions or concerns regarding security of our services.
Please contact [email protected] for any questions or concerns regarding the security of our services.

---

Expand Down
52 changes: 52 additions & 0 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ Types:
Types:

- <code><a href="./src/resources/agents/agents.ts">Agent</a></code>
- <code><a href="./src/resources/agents/agents.ts">AgentListModelsResponse</a></code>

Methods:

Expand All @@ -18,6 +19,7 @@ Methods:
- <code title="delete /agents/{agent_id}">client.agents.<a href="./src/resources/agents/agents.ts">delete</a>(agentId) -> ResourceDeleted</code>
- <code title="post /agents/{agent_id}">client.agents.<a href="./src/resources/agents/agents.ts">createOrUpdate</a>(agentId, { ...params }) -> Agent</code>
- <code title="get /agents/{agent_id}">client.agents.<a href="./src/resources/agents/agents.ts">get</a>(agentId) -> Agent</code>
- <code title="get /agents/models">client.agents.<a href="./src/resources/agents/agents.ts">listModels</a>({ ...params }) -> AgentListModelsResponse</code>
- <code title="put /agents/{agent_id}">client.agents.<a href="./src/resources/agents/agents.ts">reset</a>(agentId, { ...params }) -> Agent</code>

## Tools
Expand All @@ -41,24 +43,28 @@ Methods:

Types:

- <code><a href="./src/resources/agents/docs.ts">DocBulkDeleteResponse</a></code>
- <code><a href="./src/resources/agents/docs.ts">DocSearchResponse</a></code>

Methods:

- <code title="post /agents/{agent_id}/docs">client.agents.docs.<a href="./src/resources/agents/docs.ts">create</a>(agentId, { ...params }) -> Doc</code>
- <code title="get /agents/{agent_id}/docs">client.agents.docs.<a href="./src/resources/agents/docs.ts">list</a>(agentId, { ...params }) -> DocsOffsetPagination</code>
- <code title="delete /agents/{agent_id}/docs/{doc_id}">client.agents.docs.<a href="./src/resources/agents/docs.ts">delete</a>(agentId, docId) -> ResourceDeleted</code>
- <code title="delete /agents/{agent_id}/docs">client.agents.docs.<a href="./src/resources/agents/docs.ts">bulkDelete</a>(agentId, { ...params }) -> DocBulkDeleteResponse</code>
- <code title="post /agents/{agent_id}/search">client.agents.docs.<a href="./src/resources/agents/docs.ts">search</a>(agentId, { ...params }) -> DocSearchResponse</code>

# Files

Types:

- <code><a href="./src/resources/files.ts">File</a></code>
- <code><a href="./src/resources/files.ts">FileListResponse</a></code>

Methods:

- <code title="post /files">client.files.<a href="./src/resources/files.ts">create</a>({ ...params }) -> File</code>
- <code title="get /files">client.files.<a href="./src/resources/files.ts">list</a>() -> FileListResponse</code>
- <code title="delete /files/{file_id}">client.files.<a href="./src/resources/files.ts">delete</a>(fileId) -> ResourceDeleted</code>
- <code title="get /files/{file_id}">client.files.<a href="./src/resources/files.ts">get</a>(fileId) -> File</code>

Expand Down Expand Up @@ -107,13 +113,15 @@ Methods:

Types:

- <code><a href="./src/resources/users/docs.ts">DocBulkDeleteResponse</a></code>
- <code><a href="./src/resources/users/docs.ts">DocSearchResponse</a></code>

Methods:

- <code title="post /users/{user_id}/docs">client.users.docs.<a href="./src/resources/users/docs.ts">create</a>(userId, { ...params }) -> Doc</code>
- <code title="get /users/{user_id}/docs">client.users.docs.<a href="./src/resources/users/docs.ts">list</a>(userId, { ...params }) -> DocsOffsetPagination</code>
- <code title="delete /users/{user_id}/docs/{doc_id}">client.users.docs.<a href="./src/resources/users/docs.ts">delete</a>(userId, docId) -> ResourceDeleted</code>
- <code title="delete /users/{user_id}/docs">client.users.docs.<a href="./src/resources/users/docs.ts">bulkDelete</a>(userId, { ...params }) -> DocBulkDeleteResponse</code>
- <code title="post /users/{user_id}/search">client.users.docs.<a href="./src/resources/users/docs.ts">search</a>(userId, { ...params }) -> DocSearchResponse</code>

# Jobs
Expand Down Expand Up @@ -175,5 +183,49 @@ Types:

Methods:

- <code title="get /executions/{execution_id}/transitions/{transition_id}">client.executions.transitions.<a href="./src/resources/executions/transitions.ts">retrieve</a>(executionId, transitionId) -> Transition</code>
- <code title="get /executions/{execution_id}/transitions">client.executions.transitions.<a href="./src/resources/executions/transitions.ts">list</a>(executionId, { ...params }) -> TransitionsOffsetPagination</code>
- <code title="get /executions/{execution_id}/transitions.stream">client.executions.transitions.<a href="./src/resources/executions/transitions.ts">stream</a>(executionId, { ...params }) -> unknown</code>

## Status

Methods:

- <code title="get /executions/{execution_id}">client.executions.status.<a href="./src/resources/executions/status.ts">get</a>(executionId) -> Execution</code>
- <code title="get /executions/{execution_id}/status.stream">client.executions.status.<a href="./src/resources/executions/status.ts">stream</a>(executionId) -> void</code>

# Secrets

Types:

- <code><a href="./src/resources/secrets.ts">Secret</a></code>
- <code><a href="./src/resources/secrets.ts">SecretListResponse</a></code>

Methods:

- <code title="post /secrets">client.secrets.<a href="./src/resources/secrets.ts">create</a>({ ...params }) -> Secret</code>
- <code title="put /secrets/{secret_id}">client.secrets.<a href="./src/resources/secrets.ts">update</a>(secretId, { ...params }) -> Secret</code>
- <code title="get /secrets">client.secrets.<a href="./src/resources/secrets.ts">list</a>({ ...params }) -> SecretListResponse</code>
- <code title="delete /secrets/{secret_id}">client.secrets.<a href="./src/resources/secrets.ts">delete</a>(secretId) -> ResourceDeleted</code>

# Projects

Types:

- <code><a href="./src/resources/projects.ts">ProjectCreateResponse</a></code>
- <code><a href="./src/resources/projects.ts">ProjectListResponse</a></code>

Methods:

- <code title="post /projects">client.projects.<a href="./src/resources/projects.ts">create</a>({ ...params }) -> ProjectCreateResponse</code>
- <code title="get /projects">client.projects.<a href="./src/resources/projects.ts">list</a>({ ...params }) -> ProjectListResponsesOffsetPagination</code>

# Healthz

Types:

- <code><a href="./src/resources/healthz.ts">HealthzCheckResponse</a></code>

Methods:

- <code title="get /healthz">client.healthz.<a href="./src/resources/healthz.ts">check</a>() -> unknown</code>
Loading
Loading