Skip to content

Commit 4ae8f6d

Browse files
authored
Merge pull request #90 from letta-ai/release-please--branches--main--changes--next--components--letta-client
release: 1.7.12
2 parents d599d45 + f56b365 commit 4ae8f6d

File tree

21 files changed

+611
-31
lines changed

21 files changed

+611
-31
lines changed

.github/workflows/ci.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,14 +55,18 @@ jobs:
5555
run: ./scripts/build
5656

5757
- name: Get GitHub OIDC Token
58-
if: github.repository == 'stainless-sdks/letta-sdk-typescript'
58+
if: |-
59+
github.repository == 'stainless-sdks/letta-sdk-typescript' &&
60+
!startsWith(github.ref, 'refs/heads/stl/')
5961
id: github-oidc
6062
uses: actions/github-script@v8
6163
with:
6264
script: core.setOutput('github_token', await core.getIDToken());
6365

6466
- name: Upload tarball
65-
if: github.repository == 'stainless-sdks/letta-sdk-typescript'
67+
if: |-
68+
github.repository == 'stainless-sdks/letta-sdk-typescript' &&
69+
!startsWith(github.ref, 'refs/heads/stl/')
6670
env:
6771
URL: https://pkg.stainless.com/s
6872
AUTH: ${{ steps.github-oidc.outputs.github_token }}

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "1.7.11"
2+
".": "1.7.12"
33
}

.stats.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 123
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/letta-ai%2Fletta-sdk-641193c8d6dd0ca97bc8f6ffc12534764d4cd9dda8fc5ace158397cb74b7787b.yml
3-
openapi_spec_hash: e0eef8afab116c4dba3540ab6fd26a8f
4-
config_hash: 98feceec44cc57270fce259ddbbec999
1+
configured_endpoints: 125
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/letta-ai%2Fletta-sdk-1c44d73b9152645e7b44512a238467b88c993a2c0151d5911b7f98d05583790e.yml
3+
openapi_spec_hash: e0633c52cd8d694e72211de731d1354a
4+
config_hash: 2dd2cc848568d7bec38b1cc774a5900c

CHANGELOG.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,31 @@
11
# Changelog
22

3+
## 1.7.12 (2026-03-09)
4+
5+
Full Changelog: [v1.7.11...v1.7.12](https://github.com/letta-ai/letta-node/compare/v1.7.11...v1.7.12)
6+
7+
### Features
8+
9+
* add conversation recompile endpoint ([d5ca4a2](https://github.com/letta-ai/letta-node/commit/d5ca4a29535ba4a198a2f3b0188b7b28f273a03e))
10+
* add fireworks provider ([076a128](https://github.com/letta-ai/letta-node/commit/076a128e1a26e799c06fea88e9c59754fbe28486))
11+
* add recompile system endpoint to Stainless SDK ([4b2656b](https://github.com/letta-ai/letta-node/commit/4b2656bf99731ab6fd2404b178a7be64b697e1e8))
12+
* **core:** restructure memFS system prompt rendering + add client_skills [LET-7760] ([fe053dd](https://github.com/letta-ai/letta-node/commit/fe053dd11ef23220ccfc2a83c8185883ed7fe515))
13+
* **helm:** M3 multi-signal HPA external metrics + behavior (dev shadow, prod disabled) ([7c10557](https://github.com/letta-ai/letta-node/commit/7c10557cecf1329f0757b6b07a45f34b8d906599))
14+
* **readiness:** M2 readiness enforcement scaffold (default OFF) ([df8edac](https://github.com/letta-ai/letta-node/commit/df8edac31e86447d2dd7b359b2ec8e1e2b580643))
15+
16+
17+
### Bug Fixes
18+
19+
* **client:** preserve URL params already embedded in path ([defbd26](https://github.com/letta-ai/letta-node/commit/defbd267eb46d5076b563a09560819f579b1e43a))
20+
* fix request delays for retrying to be more respectful of high requested delays ([6b99724](https://github.com/letta-ai/letta-node/commit/6b997247f8efee77c59fca2189e0910fa58cafaf))
21+
22+
23+
### Chores
24+
25+
* **ci:** skip uploading artifacts on stainless-internal branches ([839806e](https://github.com/letta-ai/letta-node/commit/839806ebe1f39d9946f1380ac8b6f0b282bd65ea))
26+
* **internal:** improve import alias names ([4aceca2](https://github.com/letta-ai/letta-node/commit/4aceca2901af2a76f952bcf3a3759aebff28e031))
27+
* update placeholder string ([b50ef46](https://github.com/letta-ai/letta-node/commit/b50ef46319b07da43d8b57db8cae3fd0e9beb99e))
28+
329
## 1.7.11 (2026-03-04)
430

531
Full Changelog: [v1.7.10...v1.7.11](https://github.com/letta-ai/letta-node/compare/v1.7.10...v1.7.11)

api.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ Types:
4242
- <code><a href="./src/resources/agents/agents.ts">AgentDeleteResponse</a></code>
4343
- <code><a href="./src/resources/agents/agents.ts">AgentExportFileResponse</a></code>
4444
- <code><a href="./src/resources/agents/agents.ts">AgentImportFileResponse</a></code>
45+
- <code><a href="./src/resources/agents/agents.ts">AgentRecompileResponse</a></code>
4546

4647
Methods:
4748

@@ -52,6 +53,7 @@ Methods:
5253
- <code title="delete /v1/agents/{agent_id}">client.agents.<a href="./src/resources/agents/agents.ts">delete</a>(agentID) -> unknown</code>
5354
- <code title="get /v1/agents/{agent_id}/export">client.agents.<a href="./src/resources/agents/agents.ts">exportFile</a>(agentID, { ...params }) -> string</code>
5455
- <code title="post /v1/agents/import">client.agents.<a href="./src/resources/agents/agents.ts">importFile</a>({ ...params }) -> AgentImportFileResponse</code>
56+
- <code title="post /v1/agents/{agent_id}/recompile">client.agents.<a href="./src/resources/agents/agents.ts">recompile</a>(agentID, { ...params }) -> string</code>
5557

5658
## Messages
5759

@@ -570,6 +572,7 @@ Types:
570572
- <code><a href="./src/resources/conversations/conversations.ts">ConversationListResponse</a></code>
571573
- <code><a href="./src/resources/conversations/conversations.ts">ConversationDeleteResponse</a></code>
572574
- <code><a href="./src/resources/conversations/conversations.ts">ConversationCancelResponse</a></code>
575+
- <code><a href="./src/resources/conversations/conversations.ts">ConversationRecompileResponse</a></code>
573576

574577
Methods:
575578

@@ -579,6 +582,7 @@ Methods:
579582
- <code title="get /v1/conversations/">client.conversations.<a href="./src/resources/conversations/conversations.ts">list</a>({ ...params }) -> ConversationListResponse</code>
580583
- <code title="delete /v1/conversations/{conversation_id}">client.conversations.<a href="./src/resources/conversations/conversations.ts">delete</a>(conversationID) -> unknown</code>
581584
- <code title="post /v1/conversations/{conversation_id}/cancel">client.conversations.<a href="./src/resources/conversations/conversations.ts">cancel</a>(conversationID, { ...params }) -> ConversationCancelResponse</code>
585+
- <code title="post /v1/conversations/{conversation_id}/recompile">client.conversations.<a href="./src/resources/conversations/conversations.ts">recompile</a>(conversationID, { ...params }) -> string</code>
582586

583587
## Messages
584588

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@letta-ai/letta-client",
3-
"version": "1.7.11",
3+
"version": "1.7.12",
44
"description": "The official TypeScript library for the Letta API",
55
"author": "Letta <>",
66
"types": "dist/index.d.ts",

src/client.ts

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,8 @@ import {
7878
AgentImportFileParams,
7979
AgentImportFileResponse,
8080
AgentListParams,
81+
AgentRecompileParams,
82+
AgentRecompileResponse,
8183
AgentRetrieveParams,
8284
AgentState,
8385
AgentStatesArrayPage,
@@ -136,6 +138,8 @@ import {
136138
ConversationDeleteResponse,
137139
ConversationListParams,
138140
ConversationListResponse,
141+
ConversationRecompileParams,
142+
ConversationRecompileResponse,
139143
ConversationUpdateParams,
140144
Conversations,
141145
CreateConversation,
@@ -415,7 +419,7 @@ export class Letta {
415419
}
416420

417421
/**
418-
* Async health check endpoint.
422+
* Liveness endpoint; returns 200 when process is responsive.
419423
*/
420424
health(options?: RequestOptions): APIPromise<TopLevelAPI.HealthResponse> {
421425
return this.get('/v1/health/', options);
@@ -469,8 +473,9 @@ export class Letta {
469473
: new URL(baseURL + (baseURL.endsWith('/') && path.startsWith('/') ? path.slice(1) : path));
470474

471475
const defaultQuery = this.defaultQuery();
472-
if (!isEmptyObj(defaultQuery)) {
473-
query = { ...defaultQuery, ...query };
476+
const pathQuery = Object.fromEntries(url.searchParams);
477+
if (!isEmptyObj(defaultQuery) || !isEmptyObj(pathQuery)) {
478+
query = { ...pathQuery, ...defaultQuery, ...query };
474479
}
475480

476481
if (typeof query === 'object' && query && !Array.isArray(query)) {
@@ -803,9 +808,9 @@ export class Letta {
803808
}
804809
}
805810

806-
// If the API asks us to wait a certain amount of time (and it's a reasonable amount),
807-
// just do what it says, but otherwise calculate a default
808-
if (!(timeoutMillis && 0 <= timeoutMillis && timeoutMillis < 60 * 1000)) {
811+
// If the API asks us to wait a certain amount of time, just do what it
812+
// says, but otherwise calculate a default
813+
if (timeoutMillis === undefined) {
809814
const maxRetries = options.maxRetries ?? this.maxRetries;
810815
timeoutMillis = this.calculateDefaultRetryTimeoutMillis(retriesRemaining, maxRetries);
811816
}
@@ -1047,13 +1052,15 @@ export declare namespace Letta {
10471052
type AgentDeleteResponse as AgentDeleteResponse,
10481053
type AgentExportFileResponse as AgentExportFileResponse,
10491054
type AgentImportFileResponse as AgentImportFileResponse,
1055+
type AgentRecompileResponse as AgentRecompileResponse,
10501056
type AgentStatesArrayPage as AgentStatesArrayPage,
10511057
type AgentCreateParams as AgentCreateParams,
10521058
type AgentRetrieveParams as AgentRetrieveParams,
10531059
type AgentUpdateParams as AgentUpdateParams,
10541060
type AgentListParams as AgentListParams,
10551061
type AgentExportFileParams as AgentExportFileParams,
10561062
type AgentImportFileParams as AgentImportFileParams,
1063+
type AgentRecompileParams as AgentRecompileParams,
10571064
};
10581065

10591066
export {
@@ -1197,10 +1204,12 @@ export declare namespace Letta {
11971204
type ConversationListResponse as ConversationListResponse,
11981205
type ConversationDeleteResponse as ConversationDeleteResponse,
11991206
type ConversationCancelResponse as ConversationCancelResponse,
1207+
type ConversationRecompileResponse as ConversationRecompileResponse,
12001208
type ConversationCreateParams as ConversationCreateParams,
12011209
type ConversationUpdateParams as ConversationUpdateParams,
12021210
type ConversationListParams as ConversationListParams,
12031211
type ConversationCancelParams as ConversationCancelParams,
1212+
type ConversationRecompileParams as ConversationRecompileParams,
12041213
};
12051214

12061215
export {

src/resources/agents/agents.ts

Lines changed: 36 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -140,8 +140,8 @@ import {
140140
ToolUpdateApprovalParams,
141141
Tools,
142142
} from './tools';
143-
import * as ArchivesArchivesAPI from '../archives/archives';
144-
import * as BlocksBlocksAPI from '../blocks/blocks';
143+
import * as ResourcesArchivesAPI from '../archives/archives';
144+
import * as ResourcesBlocksAPI from '../blocks/blocks';
145145
import * as ModelsAPI from '../models/models';
146146
import * as RunsAPI from '../runs/runs';
147147
import { APIPromise } from '../../core/api-promise';
@@ -242,6 +242,21 @@ export class Agents extends APIResource {
242242
),
243243
);
244244
}
245+
246+
/**
247+
* Manually trigger system prompt recompilation for an agent.
248+
*/
249+
recompile(
250+
agentID: string,
251+
params: AgentRecompileParams | null | undefined = {},
252+
options?: RequestOptions,
253+
): APIPromise<string> {
254+
const { dry_run, update_timestamp } = params ?? {};
255+
return this._client.post(path`/v1/agents/${agentID}/recompile`, {
256+
query: { dry_run, update_timestamp },
257+
...options,
258+
});
259+
}
245260
}
246261

247262
export type AgentStatesArrayPage = ArrayPage<AgentState>;
@@ -783,7 +798,7 @@ export namespace AgentState {
783798
/**
784799
* The vector database provider used for this source's passages
785800
*/
786-
vector_db_provider?: ArchivesArchivesAPI.VectorDBProvider;
801+
vector_db_provider?: ResourcesArchivesAPI.VectorDBProvider;
787802
}
788803

789804
/**
@@ -2065,6 +2080,8 @@ export interface AgentImportFileResponse {
20652080
agent_ids: Array<string>;
20662081
}
20672082

2083+
export type AgentRecompileResponse = string;
2084+
20682085
export interface AgentCreateParams {
20692086
/**
20702087
* The type of agent.
@@ -2207,7 +2224,7 @@ export interface AgentCreateParams {
22072224
/**
22082225
* The blocks to create in the agent's in-context memory.
22092226
*/
2210-
memory_blocks?: Array<BlocksBlocksAPI.CreateBlock> | null;
2227+
memory_blocks?: Array<ResourcesBlocksAPI.CreateBlock> | null;
22112228

22122229
/**
22132230
* @deprecated Deprecated: Only relevant for creating agents from a template. Use
@@ -3469,6 +3486,19 @@ export interface AgentImportFileParams {
34693486
'x-override-embedding-model'?: string;
34703487
}
34713488

3489+
export interface AgentRecompileParams {
3490+
/**
3491+
* If True, do not persist changes; still returns the compiled system prompt.
3492+
*/
3493+
dry_run?: boolean;
3494+
3495+
/**
3496+
* If True, update the in-context memory last edit timestamp embedded in the system
3497+
* prompt.
3498+
*/
3499+
update_timestamp?: boolean;
3500+
}
3501+
34723502
Agents.Messages = Messages;
34733503
Agents.Schedule = Schedule;
34743504
Agents.Blocks = Blocks;
@@ -3511,13 +3541,15 @@ export declare namespace Agents {
35113541
type AgentDeleteResponse as AgentDeleteResponse,
35123542
type AgentExportFileResponse as AgentExportFileResponse,
35133543
type AgentImportFileResponse as AgentImportFileResponse,
3544+
type AgentRecompileResponse as AgentRecompileResponse,
35143545
type AgentStatesArrayPage as AgentStatesArrayPage,
35153546
type AgentCreateParams as AgentCreateParams,
35163547
type AgentRetrieveParams as AgentRetrieveParams,
35173548
type AgentUpdateParams as AgentUpdateParams,
35183549
type AgentListParams as AgentListParams,
35193550
type AgentExportFileParams as AgentExportFileParams,
35203551
type AgentImportFileParams as AgentImportFileParams,
3552+
type AgentRecompileParams as AgentRecompileParams,
35213553
};
35223554

35233555
export {

src/resources/agents/blocks.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import { APIResource } from '../../core/resource';
44
import * as AgentsAPI from './agents';
5-
import * as BlocksBlocksAPI from '../blocks/blocks';
5+
import * as ResourcesBlocksAPI from '../blocks/blocks';
66
import { BlockResponsesArrayPage } from '../blocks/blocks';
77
import { APIPromise } from '../../core/api-promise';
88
import { ArrayPage, type ArrayPageParams, PagePromise } from '../../core/pagination';
@@ -17,7 +17,7 @@ export class Blocks extends APIResource {
1717
blockLabel: string,
1818
params: BlockRetrieveParams,
1919
options?: RequestOptions,
20-
): APIPromise<BlocksBlocksAPI.BlockResponse> {
20+
): APIPromise<ResourcesBlocksAPI.BlockResponse> {
2121
const { agent_id } = params;
2222
return this._client.get(path`/v1/agents/${agent_id}/core-memory/blocks/${blockLabel}`, options);
2323
}
@@ -29,7 +29,7 @@ export class Blocks extends APIResource {
2929
blockLabel: string,
3030
params: BlockUpdateParams,
3131
options?: RequestOptions,
32-
): APIPromise<BlocksBlocksAPI.BlockResponse> {
32+
): APIPromise<ResourcesBlocksAPI.BlockResponse> {
3333
const { agent_id, ...body } = params;
3434
return this._client.patch(path`/v1/agents/${agent_id}/core-memory/blocks/${blockLabel}`, {
3535
body,
@@ -44,10 +44,10 @@ export class Blocks extends APIResource {
4444
agentID: string,
4545
query: BlockListParams | null | undefined = {},
4646
options?: RequestOptions,
47-
): PagePromise<BlockResponsesArrayPage, BlocksBlocksAPI.BlockResponse> {
47+
): PagePromise<BlockResponsesArrayPage, ResourcesBlocksAPI.BlockResponse> {
4848
return this._client.getAPIList(
4949
path`/v1/agents/${agentID}/core-memory/blocks`,
50-
ArrayPage<BlocksBlocksAPI.BlockResponse>,
50+
ArrayPage<ResourcesBlocksAPI.BlockResponse>,
5151
{ query, ...options },
5252
);
5353
}

src/resources/agents/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,14 @@ export {
3232
type AgentDeleteResponse,
3333
type AgentExportFileResponse,
3434
type AgentImportFileResponse,
35+
type AgentRecompileResponse,
3536
type AgentCreateParams,
3637
type AgentRetrieveParams,
3738
type AgentUpdateParams,
3839
type AgentListParams,
3940
type AgentExportFileParams,
4041
type AgentImportFileParams,
42+
type AgentRecompileParams,
4143
type AgentStatesArrayPage,
4244
} from './agents';
4345
export {

0 commit comments

Comments
 (0)