1"@effect/ai/Tool#AnyParametersSchema":
2 replacement: "Schema.Constraint"
3 note: "The AI-specific alias was removed. V4 Tool parameter schemas use the general Schema.Constraint type and are no longer restricted to the old struct-or-EmptyParams union."
4"@effect/ai/Tool#AnyTaggedRequestSchema":
5 replacement: "none"
6 note: "The TaggedRequest-specific Tool adapter contract was removed. Model the operation directly with Tool.make and ordinary v4 Schema.Constraint values."
7"@effect/ai/Tool#Destructive":
8 replacement: "Tool.Destructive"
9 note: "Moved to effect/ai/Tool. It is now a Context.Reference<boolean> value rather than a Reference subclass; its default remains true."
10"@effect/ai/Tool#Failure":
11 replacement: "Tool.Failure"
12 note: "Moved to effect/ai/Tool and remains the utility type that extracts a tool's decoded failure type."
13"@effect/ai/Tool#fromTaggedRequest":
14 replacement: "Tool.make"
15 note: "The adapter was removed. Rebuild the tool explicitly with Tool.make(name, { parameters, success, failure }); Toolkit.make no longer converts schema values automatically."
16"@effect/ai/Tool#FromTaggedRequest":
17 replacement: "Tool.Tool"
18 note: "The dedicated derived alias was removed. Construct with Tool.make and let Tool.Tool infer the name, parameter, success, and failure schemas."
19"@effect/ai/Tool#getDescriptionFromSchemaAst":
20 replacement: "SchemaAST.resolveDescription"
21 note: "Moved out of Tool to the general v4 AST annotation resolver. For a Tool value, prefer Tool.getDescription."
22"@effect/ai/Tool#getJsonSchemaFromSchemaAst":
23 replacement: "Tool.getJsonSchemaFromSchema"
24 note: "Renamed to accept a Schema.Constraint instead of a raw AST and now emits the v4 JSON Schema model. Wrap a raw AST with Schema.make first."
25"@effect/ai/Tool#Idempotent":
26 replacement: "Tool.Idempotent"
27 note: "Moved to effect/ai/Tool. It is now a Context.Reference<boolean> value rather than a Reference subclass; its default remains false."
28"@effect/ai/Tool#OpenWorld":
29 replacement: "Tool.OpenWorld"
30 note: "Moved to effect/ai/Tool. It is now a Context.Reference<boolean> value rather than a Reference subclass; its default remains true."
31"@effect/ai/Tool#ProviderDefinedTypeId":
32 replacement: "Tool.ProviderDefinedTypeId"
33 note: "Moved to effect/ai/Tool and remains public. Its literal changed, so use the export rather than retaining the old hard-coded string."
34"@effect/ai/Tool#Readonly":
35 replacement: "Tool.Readonly"
36 note: "Moved to effect/ai/Tool. It is now a Context.Reference<boolean> value rather than a Reference subclass; its default remains false."
37"@effect/ai/Tool#Requirements":
38 replacement: "Tool.HandlerServices"
39 note: "Renamed and refined. HandlerServices combines parameter-decoding, result-encoding, and request-level dependencies required by a tool handler."
40"@effect/ai/Tool#Success":
41 replacement: "Tool.Success"
42 note: "Moved to effect/ai/Tool and remains the utility type that extracts a tool's decoded success type."
43"@effect/ai/Tool#Title":
44 replacement: "Tool.Title"
45 note: "Moved to effect/ai/Tool. It is now a Context.Service annotation key; continue attaching the string title with tool.annotate(Tool.Title, value)."
46"@effect/ai/Tool#Tool.ProviderDefinedProto":
47 replacement: "Tool.ProviderDefined"
48 note: "This implementation-brand interface is no longer public. Use Tool.ProviderDefined for the model type and Tool.isProviderDefined for runtime narrowing."
49"@effect/ai/Tool#Tool.Variance":
50 replacement: "Tool.Tool / Tool.Any"
51 note: "This implementation variance interface is no longer public; its requirement marker is inline in Tool.Tool. Constrain generic code with Tool.Tool or Tool.Any."
52"@effect/ai/Tool#Tool.VarianceStruct":
53 replacement: "Tool.Tool / Tool.Any"
54 note: "This implementation variance payload is no longer public; the requirements marker is inline in Tool.Tool and should not be named independently."
55"@effect/ai/Tool#TypeId":
56 replacement: "Tool.TypeId"
57 note: "Moved to effect/ai/Tool and remains public. Its literal changed, so use the export rather than retaining the old hard-coded string."
58"@effect/ai/Tool#Result":
59 replacement: "Tool.Result"
60 note: "The result includes success, declared failure, and execution-denied or execution-interrupted values in both failure modes. Return mode also includes AiError; handle these variants when narrowing results."
61"@effect/ai/Tool#ResultEncoded":
62 replacement: "Tool.ResultEncoded"
63 note: "The encoded result includes execution-denied and execution-interrupted variants in both failure modes, plus encoded AiError in return mode."