Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
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
2 changes: 1 addition & 1 deletion libs/langchain-core/src/messages/message.ts
Original file line number Diff line number Diff line change
Expand Up @@ -650,7 +650,7 @@ export type $InferResponseMetadata<
TRole,
"response_metadata"
> extends infer P
? [P] extends [unknown]
? [P] extends [never]
? Record<string, unknown>
: P
: never;
Expand Down
7 changes: 7 additions & 0 deletions libs/langchain-core/src/messages/tests/messages.test-d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import {
$InferMessageContentBlocks,
$InferMessageProperty,
$InferMessageProperties,
$InferResponseMetadata,
} from "../message.js";
import { ContentBlock } from "../content/index.js";
import { ResponseMetadata, UsageMetadata } from "../metadata.js";
Expand Down Expand Up @@ -969,6 +970,12 @@ describe("$InferMessageProperty<TStructure, TRole, K>", () => {

describe("$InferResponseMetadata<TStructure, TRole>", () => {
// TODO(hntrl): implement
test("should return `ResponseMetadata | undefined` when using `<MessageStructure, 'ai'>`", async () => {
type AIResponseMetadata = $InferResponseMetadata<MessageStructure, "ai">;
expectTypeOf<AIResponseMetadata>().toEqualTypeOf<
ResponseMetadata | undefined
>();
});
});

describe("Message", () => {
Expand Down
Loading