Skip to content

Commit 1a92d38

Browse files
committed
cleanup
1 parent 437aefd commit 1a92d38

File tree

7 files changed

+25
-956
lines changed

7 files changed

+25
-956
lines changed

packages/ai/ai/src/Prompt.ts

Lines changed: 3 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1327,7 +1327,8 @@ const VALID_RESPONSE_PART_MAP = {
13271327
"tool-params-end": false,
13281328
"tool-call": true,
13291329
"tool-result": true,
1330-
"finish": false
1330+
"finish": false,
1331+
"error": false
13311332
} as const satisfies Record<Response.AnyPart["type"], boolean>
13321333

13331334
type ValidResponseParts = typeof VALID_RESPONSE_PART_MAP
@@ -1597,24 +1598,12 @@ export type AllowedProviderOptions<
15971598
*/
15981599
export const getProviderOptions: {
15991600
<Identifier, ProviderOptions>(
1600-
/**
1601-
* Context tag identifying the provider options.
1602-
*/
16031601
tag: Context.Tag<Identifier, ProviderOptions>
16041602
): <P extends Message | Part>(
1605-
/**
1606-
* Message or part to extract options from.
1607-
*/
16081603
part: P
16091604
) => ExtractProviderOptions<P, ProviderOptions>
16101605
<P extends Message | Part, Identifier, ProviderOptions>(
1611-
/**
1612-
* Message or part to extract options from.
1613-
*/
16141606
part: P,
1615-
/**
1616-
* Context tag identifying the provider options.
1617-
*/
16181607
tag: Context.Tag<Identifier, ProviderOptions>
16191608
): ExtractProviderOptions<P, ProviderOptions>
16201609
} = dual<
@@ -1632,6 +1621,7 @@ export const getProviderOptions: {
16321621
Option.flatMapNullable((options) => options[tag.key]),
16331622
Option.flatMapNullable((options) => "role" in part ? options[part.role] : options[part.type])
16341623
) as any)
1624+
16351625
/**
16361626
* Sets provider-specific options on a message or part (mutating operation).
16371627
*
@@ -1668,32 +1658,14 @@ export const getProviderOptions: {
16681658
*/
16691659
export const unsafeSetProviderOptions: {
16701660
<P extends Message | Part, Identifier, ProviderOptions>(
1671-
/**
1672-
* Context tag identifying the provider options.
1673-
*/
16741661
tag: Context.Tag<Identifier, ProviderOptions>,
1675-
/**
1676-
* Provider-specific options to set.
1677-
*/
16781662
options: AllowedProviderOptions<P, ProviderOptions>
16791663
): (
1680-
/**
1681-
* Message or part to set options on.
1682-
*/
16831664
part: P
16841665
) => void
16851666
<P extends Message | Part, Identifier, ProviderOptions>(
1686-
/**
1687-
* Message or part to set options on.
1688-
*/
16891667
part: P,
1690-
/**
1691-
* Context tag identifying the provider options.
1692-
*/
16931668
tag: Context.Tag<Identifier, ProviderOptions>,
1694-
/**
1695-
* Provider-specific options to set.
1696-
*/
16971669
options: AllowedProviderOptions<P, ProviderOptions>
16981670
): void
16991671
} = dual<

packages/ai/ai/src/Response.ts

Lines changed: 15 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ import type * as Context from "effect/Context"
3131
import type * as DateTime from "effect/DateTime"
3232
import * as Effect from "effect/Effect"
3333
import { constFalse, dual } from "effect/Function"
34-
import type * as Option from "effect/Option"
34+
import * as Option from "effect/Option"
3535
import * as Predicate from "effect/Predicate"
3636
import * as Schema from "effect/Schema"
3737
import type * as Tool from "./Tool.js"
@@ -1958,10 +1958,11 @@ export const ErrorPart: Schema.Schema<ErrorPart, ErrorPartEncoded> = Schema.Stru
19581958
* @since 1.0.0
19591959
* @category Provider Metadata
19601960
*/
1961-
export type ExtractProviderMetadata<Part extends AnyPart, ProviderMetadata> = ProviderMetadata extends
1962-
Record<string, any> ? Part["type"] extends keyof ProviderMetadata ? ProviderMetadata[Part["type"]]
1963-
: never
1964-
: never
1961+
export type ExtractProviderMetadata<Part extends AnyPart, ProviderMetadata, Type extends Part["type"] = Part["type"]> =
1962+
ProviderMetadata extends Record<string, any> ?
1963+
Type extends keyof ProviderMetadata ? Option.Option<ProviderMetadata[Type]>
1964+
: never
1965+
: never
19651966

19661967
/**
19671968
* Extracts provider-specific metadata from a response part.
@@ -2000,40 +2001,29 @@ export type ExtractProviderMetadata<Part extends AnyPart, ProviderMetadata> = Pr
20002001
*/
20012002
export const getProviderMetadata: {
20022003
<Identifier, ProviderMetadata>(
2003-
/**
2004-
* Context tag identifying the provider metadata.
2005-
*/
20062004
tag: Context.Tag<Identifier, ProviderMetadata>
20072005
): <Part extends AnyPart>(
2008-
/**
2009-
* Response part to extract metadata from.
2010-
*/
20112006
part: Part
2012-
) => ExtractProviderMetadata<Part, ProviderMetadata> | undefined
2007+
) => ExtractProviderMetadata<Part, ProviderMetadata>
20132008
<Part extends AnyPart, Identifier, ProviderMetadata>(
2014-
/**
2015-
* Response part to extract metadata from.
2016-
*/
20172009
part: Part,
2018-
/**
2019-
* Context tag identifying the provider metadata.
2020-
*/
20212010
tag: Context.Tag<Identifier, ProviderMetadata>
2022-
): ExtractProviderMetadata<Part, ProviderMetadata> | undefined
2011+
): ExtractProviderMetadata<Part, ProviderMetadata>
20232012
} = dual<
20242013
<Identifier, ProviderMetadata>(
20252014
tag: Context.Tag<Identifier, ProviderMetadata>
20262015
) => <Part extends AnyPart>(
20272016
part: Part
2028-
) => ExtractProviderMetadata<Part, ProviderMetadata> | undefined,
2017+
) => ExtractProviderMetadata<Part, ProviderMetadata>,
20292018
<Part extends AnyPart, Identifier, ProviderMetadata>(
20302019
part: Part,
20312020
tag: Context.Tag<Identifier, ProviderMetadata>
2032-
) => ExtractProviderMetadata<Part, ProviderMetadata> | undefined
2033-
>(2, (part, tag) => {
2034-
const metadata = part.metadata?.[tag.key]
2035-
return metadata?.[part.type] as any
2036-
})
2021+
) => ExtractProviderMetadata<Part, ProviderMetadata>
2022+
>(2, (part, tag) =>
2023+
Option.fromNullable(part.metadata).pipe(
2024+
Option.flatMapNullable((metadata) => metadata[tag.key]),
2025+
Option.flatMapNullable((metadata) => metadata[part.type])
2026+
) as any)
20372027

20382028
/**
20392029
* Sets provider-specific metadata on a response part (mutating operation).
@@ -2071,32 +2061,14 @@ export const getProviderMetadata: {
20712061
*/
20722062
export const unsafeSetProviderMetadata: {
20732063
<Part extends AnyPart, Identifier, ProviderMetadata>(
2074-
/**
2075-
* Context tag identifying the provider metadata.
2076-
*/
20772064
tag: Context.Tag<Identifier, ProviderMetadata>,
2078-
/**
2079-
* Provider-specific metadata to set.
2080-
*/
20812065
metadata: ExtractProviderMetadata<Part, ProviderMetadata>
20822066
): (
2083-
/**
2084-
* Response part to set metadata on.
2085-
*/
20862067
part: Part
20872068
) => void
20882069
<Part extends AnyPart, Identifier, ProviderMetadata>(
2089-
/**
2090-
* Response part to set metadata on.
2091-
*/
20922070
part: Part,
2093-
/**
2094-
* Context tag identifying the provider metadata.
2095-
*/
20962071
tag: Context.Tag<Identifier, ProviderMetadata>,
2097-
/**
2098-
* Provider-specific metadata to set.
2099-
*/
21002072
metadata: ExtractProviderMetadata<Part, ProviderMetadata>
21012073
): void
21022074
} = dual<

packages/ai/ai/test/AiInput.test.ts

Lines changed: 0 additions & 162 deletions
This file was deleted.

0 commit comments

Comments
 (0)