-
-
Notifications
You must be signed in to change notification settings - Fork 632
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
outputparser: add Defined
parser to extract a struct from LLM output
#856
Conversation
…t through tagging Introduces an output parser named 'Defined' as an improvement to the existing output parser 'Structured'. It is most similar to LangChain's PydanticOutputParser described at https://api.python.langchain.com/en/latest/output_parsers/langchain_core.output_parsers.pydantic.PydanticOutputParser.html For best results, use this with the tool calling feature of your LLM.
@tmc I've addressed the linter issues, but the |
With outputparser.Defined (schema-defined output parsing), relaxed styling of struct tags means reduced risk of bugs by not hiding JSON names behind long describe struct tag string values.
@FluffyKebab Hi, do you have any feedback on this PR for me? Haven't heard from anyone yet. |
@eliben Sorry if I'm barking up the wrong tree. I'm not sure who should be reviewing/accepting PRs. Either way, do you have any feedback on this? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Generally LGTM but have a few comments.
schema string | ||
} | ||
|
||
func NewDefined[T any](source T) (Defined[T], error) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please comment exported symbols.
outputparser/defined.go
Outdated
} | ||
} | ||
if numTaggedFields == 0 { | ||
return empty, errors.New("requires at least 1 field with the struct tag 'describe'") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I feel as though we should still operate with zero tagged fields.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That seems reasonable. I've updated the code, tests, and doc comments accordingly.
|
||
var _ schema.OutputParser[any] = Defined[any]{} | ||
|
||
func (p Defined[T]) GetFormatInstructions() string { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please comment on exported symbols.
NumSides int `json:"numSides" describe:"number of sides"` | ||
} | ||
|
||
tests := map[string]struct { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please include more test cases (separate PR ok) that include wantErr: true cases
@tmc I've addressed your comments, including allowing untagged struct fields. |
I like this broadly, but can’t help but think this represents a limited subset of what we might encode via https://github.com/invopop/jsonschema — which could be reused to handle tool reprs. thoughts? |
Using struct tags to generate JSON Schema looks promising! It should probably be on the roadmap. However, here are reasons for not dropping this pull request:
|
That's all fair, let's do it! Can you follow on with an example and some docs? |
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | Type | Update | |---|---|---|---|---|---|---|---| | [@codemirror/view](https://togithub.com/codemirror/view) | [`6.28.1` -> `6.28.2`](https://renovatebot.com/diffs/npm/@codemirror%2fview/6.28.1/6.28.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@codemirror%2fview/6.28.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@codemirror%2fview/6.28.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@codemirror%2fview/6.28.1/6.28.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@codemirror%2fview/6.28.1/6.28.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [@headlessui/react](https://togithub.com/tailwindlabs/headlessui) ([source](https://togithub.com/tailwindlabs/headlessui/tree/HEAD/packages/@headlessui-react)) | [`2.0.4` -> `2.1.1`](https://renovatebot.com/diffs/npm/@headlessui%2freact/2.0.4/2.1.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@headlessui%2freact/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@headlessui%2freact/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@headlessui%2freact/2.0.4/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@headlessui%2freact/2.0.4/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [@heroicons/react](https://togithub.com/tailwindlabs/heroicons) | [`2.1.3` -> `2.1.4`](https://renovatebot.com/diffs/npm/@heroicons%2freact/2.1.3/2.1.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@heroicons%2freact/2.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@heroicons%2freact/2.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@heroicons%2freact/2.1.3/2.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@heroicons%2freact/2.1.3/2.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [@types/mocha](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/mocha) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mocha)) | [`10.0.6` -> `10.0.7`](https://renovatebot.com/diffs/npm/@types%2fmocha/10.0.6/10.0.7) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fmocha/10.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fmocha/10.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fmocha/10.0.6/10.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fmocha/10.0.6/10.0.7?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@types/node](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://togithub.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`20.14.2` -> `20.14.9`](https://renovatebot.com/diffs/npm/@types%2fnode/20.14.2/20.14.9) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.14.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.14.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.14.2/20.14.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.14.2/20.14.9?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://togithub.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | [`7.13.0` -> `7.14.1`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/7.13.0/7.14.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2feslint-plugin/7.14.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2feslint-plugin/7.14.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2feslint-plugin/7.13.0/7.14.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2feslint-plugin/7.13.0/7.14.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://togithub.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | [`7.13.0` -> `7.14.1`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/7.13.0/7.14.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fparser/7.14.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fparser/7.14.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fparser/7.13.0/7.14.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fparser/7.13.0/7.14.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [buf](https://togithub.com/bufbuild/buf) | `1.33.0` -> `1.34.0` | [![age](https://developer.mend.io/api/mc/badges/age/hermit/buf/1.34.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/hermit/buf/1.34.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/hermit/buf/1.33.0/1.34.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/hermit/buf/1.33.0/1.34.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | minor | | [eslint-plugin-react](https://togithub.com/jsx-eslint/eslint-plugin-react) | [`7.34.2` -> `7.34.3`](https://renovatebot.com/diffs/npm/eslint-plugin-react/7.34.2/7.34.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-plugin-react/7.34.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint-plugin-react/7.34.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint-plugin-react/7.34.2/7.34.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-plugin-react/7.34.2/7.34.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [github.com/aws/aws-sdk-go-v2](https://togithub.com/aws/aws-sdk-go-v2) | `v1.27.2` -> `v1.30.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2faws%2faws-sdk-go-v2/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2faws%2faws-sdk-go-v2/v1.27.2/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2/v1.27.2/v1.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | require | minor | | [github.com/aws/aws-sdk-go-v2/config](https://togithub.com/aws/aws-sdk-go-v2) | `v1.27.18` -> `v1.27.21` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fconfig/v1.27.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2faws%2faws-sdk-go-v2%2fconfig/v1.27.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2faws%2faws-sdk-go-v2%2fconfig/v1.27.18/v1.27.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fconfig/v1.27.18/v1.27.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) | require | patch | | [github.com/aws/aws-sdk-go-v2/credentials](https://togithub.com/aws/aws-sdk-go-v2) | `v1.17.18` -> `v1.17.21` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fcredentials/v1.17.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2faws%2faws-sdk-go-v2%2fcredentials/v1.17.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2faws%2faws-sdk-go-v2%2fcredentials/v1.17.18/v1.17.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fcredentials/v1.17.18/v1.17.21?slim=true)](https://docs.renovatebot.com/merge-confidence/) | require | patch | | [github.com/aws/aws-sdk-go-v2/service/secretsmanager](https://togithub.com/aws/aws-sdk-go-v2) | `v1.30.0` -> `v1.31.1` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fsecretsmanager/v1.31.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fsecretsmanager/v1.31.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fsecretsmanager/v1.30.0/v1.31.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go-v2%2fservice%2fsecretsmanager/v1.30.0/v1.31.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | require | minor | | [github.com/puzpuzpuz/xsync/v3](https://togithub.com/puzpuzpuz/xsync) | `v3.1.0` -> `v3.2.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fpuzpuzpuz%2fxsync%2fv3/v3.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fpuzpuzpuz%2fxsync%2fv3/v3.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fpuzpuzpuz%2fxsync%2fv3/v3.1.0/v3.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fpuzpuzpuz%2fxsync%2fv3/v3.1.0/v3.2.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | require | minor | | [github.com/swaggest/jsonschema-go](https://togithub.com/swaggest/jsonschema-go) | `v0.3.70` -> `v0.3.72` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fswaggest%2fjsonschema-go/v0.3.72?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fswaggest%2fjsonschema-go/v0.3.72?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fswaggest%2fjsonschema-go/v0.3.70/v0.3.72?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fswaggest%2fjsonschema-go/v0.3.70/v0.3.72?slim=true)](https://docs.renovatebot.com/merge-confidence/) | require | patch | | [github.com/tmc/langchaingo](https://togithub.com/tmc/langchaingo) | `v0.1.11` -> `v0.1.12` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2ftmc%2flangchaingo/v0.1.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2ftmc%2flangchaingo/v0.1.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2ftmc%2flangchaingo/v0.1.11/v0.1.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2ftmc%2flangchaingo/v0.1.11/v0.1.12?slim=true)](https://docs.renovatebot.com/merge-confidence/) | require | patch | | [maven](https://togithub.com/apache/maven) | `3.9.7` -> `3.9.8` | [![age](https://developer.mend.io/api/mc/badges/age/hermit/maven/3.9.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/hermit/maven/3.9.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/hermit/maven/3.9.7/3.9.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/hermit/maven/3.9.7/3.9.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | patch | | [protoc](https://togithub.com/protocolbuffers/protobuf) | `27.1` -> `27.2` | [![age](https://developer.mend.io/api/mc/badges/age/hermit/protoc/27.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/hermit/protoc/27.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/hermit/protoc/27.1/27.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/hermit/protoc/27.1/27.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | minor | | [react-router-dom](https://togithub.com/remix-run/react-router) ([source](https://togithub.com/remix-run/react-router/tree/HEAD/packages/react-router-dom)) | [`6.23.1` -> `6.24.0`](https://renovatebot.com/diffs/npm/react-router-dom/6.23.1/6.24.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-router-dom/6.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-router-dom/6.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-router-dom/6.23.1/6.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-router-dom/6.23.1/6.24.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | minor | | [reactflow](https://togithub.com/xyflow/xyflow) ([source](https://togithub.com/xyflow/xyflow/tree/HEAD/packages/reactflow)) | [`11.11.3` -> `11.11.4`](https://renovatebot.com/diffs/npm/reactflow/11.11.3/11.11.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/reactflow/11.11.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/reactflow/11.11.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/reactflow/11.11.3/11.11.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/reactflow/11.11.3/11.11.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | dependencies | patch | | [typescript](https://www.typescriptlang.org/) ([source](https://togithub.com/Microsoft/TypeScript)) | [`5.4.5` -> `5.5.2`](https://renovatebot.com/diffs/npm/typescript/5.4.5/5.5.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/typescript/5.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typescript/5.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typescript/5.4.5/5.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript/5.4.5/5.5.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | minor | | [webpack](https://togithub.com/webpack/webpack) | [`5.92.0` -> `5.92.1`](https://renovatebot.com/diffs/npm/webpack/5.92.0/5.92.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/webpack/5.92.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/webpack/5.92.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/webpack/5.92.0/5.92.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/webpack/5.92.0/5.92.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | devDependencies | patch | | [zola](https://togithub.com/getzola/zola) | `0.18.0` -> `0.19.1` | [![age](https://developer.mend.io/api/mc/badges/age/hermit/zola/0.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/hermit/zola/0.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/hermit/zola/0.18.0/0.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/hermit/zola/0.18.0/0.19.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | minor | | [org.apache.maven.plugins:maven-dependency-plugin](https://maven.apache.org/plugins/) | `3.7.0` -> `3.7.1` | [![age](https://developer.mend.io/api/mc/badges/age/maven/org.apache.maven.plugins:maven-dependency-plugin/3.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/org.apache.maven.plugins:maven-dependency-plugin/3.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/org.apache.maven.plugins:maven-dependency-plugin/3.7.0/3.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.apache.maven.plugins:maven-dependency-plugin/3.7.0/3.7.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | build | patch | | [io.github.classgraph:classgraph](https://togithub.com/classgraph/classgraph) | `4.8.173` -> `4.8.174` | [![age](https://developer.mend.io/api/mc/badges/age/maven/io.github.classgraph:classgraph/4.8.174?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.github.classgraph:classgraph/4.8.174?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.github.classgraph:classgraph/4.8.173/4.8.174?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.github.classgraph:classgraph/4.8.173/4.8.174?slim=true)](https://docs.renovatebot.com/merge-confidence/) | compile | patch | --- ### Release Notes <details> <summary>codemirror/view (@​codemirror/view)</summary> ### [`v6.28.2`](https://togithub.com/codemirror/view/blob/HEAD/CHANGELOG.md#6282-2024-06-21) [Compare Source](https://togithub.com/codemirror/view/compare/6.28.1...6.28.2) ##### Bug fixes Only use `EditContext` on Chrome versions that support passing it an inverted selection range. Fix an issue that prevented non-inclusive block widgets from having their `updateDOM` method called when changed. Re-enable `EditContext` use on Chrome 126 and up. </details> <details> <summary>tailwindlabs/headlessui (@​headlessui/react)</summary> ### [`v2.1.1`](https://togithub.com/tailwindlabs/headlessui/blob/HEAD/packages/@​headlessui-react/CHANGELOG.md#211---2024-06-26) [Compare Source](https://togithub.com/tailwindlabs/headlessui/compare/@headlessui/[email protected]...@headlessui/[email protected]) ##### Fixed - Fix issues spreading omitted props onto components ([#​3313](https://togithub.com/tailwindlabs/headlessui/pull/3313)) - Fix initial `anchor="selection"` positioning ([#​3324](https://togithub.com/tailwindlabs/headlessui/pull/3324)) - Fix render prop in `ComboboxOptions` to use `any` instead of `unknown` ([#​3327](https://togithub.com/tailwindlabs/headlessui/pull/3327)) - Fix incorrect `Transition` boundary for `Dialog` component ([#​3331](https://togithub.com/tailwindlabs/headlessui/pull/3331)) ### [`v2.1.0`](https://togithub.com/tailwindlabs/headlessui/blob/HEAD/packages/@​headlessui-react/CHANGELOG.md#210---2024-06-21) [Compare Source](https://togithub.com/tailwindlabs/headlessui/compare/@headlessui/[email protected]...@headlessui/[email protected]) ##### Added - Add ability to render multiple `Dialog` components at once (without nesting them) ([#​3242](https://togithub.com/tailwindlabs/headlessui/pull/3242)) - Add new data-attribute-based transition API ([#​3273](https://togithub.com/tailwindlabs/headlessui/pull/3273), [#​3285](https://togithub.com/tailwindlabs/headlessui/pull/3285), [#​3307](https://togithub.com/tailwindlabs/headlessui/pull/3307), [#​3309](https://togithub.com/tailwindlabs/headlessui/pull/3309), [#​3312](https://togithub.com/tailwindlabs/headlessui/pull/3312)) - Add `DialogBackdrop` component ([#​3307](https://togithub.com/tailwindlabs/headlessui/pull/3307), [#​3310](https://togithub.com/tailwindlabs/headlessui/pull/3310)) - Add `PopoverBackdrop` component to replace `PopoverOverlay` ([#​3308](https://togithub.com/tailwindlabs/headlessui/pull/3308)) ##### Fixed - Keep `Combobox` open when clicking scrollbar in `ComboboxOptions` ([#​3249](https://togithub.com/tailwindlabs/headlessui/pull/3249)) - Ensure `ComboboxInput` does not sync with current value while typing ([#​3259](https://togithub.com/tailwindlabs/headlessui/pull/3259)) - Fix visual jitter in `Combobox` component when using native scrollbar ([#​3190](https://togithub.com/tailwindlabs/headlessui/pull/3190)) - Improve UX by freezing `ComboboxOptions` while closing ([#​3304](https://togithub.com/tailwindlabs/headlessui/pull/3304)) - Merge incoming `style` prop on `ComboboxOptions`, `ListboxOptions`, `MenuItems`, and `PopoverPanel` components ([#​3250](https://togithub.com/tailwindlabs/headlessui/pull/3250)) - Prevent focus on `Checkbox` when it is `disabled` ([#​3251](https://togithub.com/tailwindlabs/headlessui/pull/3251)) - Use `useId` instead of React internals (for React 19 compatibility) ([#​3254](https://togithub.com/tailwindlabs/headlessui/pull/3254)) - Cancel outside click behavior on touch devices when scrolling ([#​3266](https://togithub.com/tailwindlabs/headlessui/pull/3266)) - Correctly apply conditional classes when using `Transition` and `TransitionChild` components ([#​3303](https://togithub.com/tailwindlabs/headlessui/pull/3303)) ##### Changed - Allow using the `Tab` and `Shift+Tab` keys when the `Listbox` component is open ([#​3284](https://togithub.com/tailwindlabs/headlessui/pull/3284)) </details> <details> <summary>tailwindlabs/heroicons (@​heroicons/react)</summary> ### [`v2.1.4`](https://togithub.com/tailwindlabs/heroicons/blob/HEAD/CHANGELOG.md#214---2024-06-17) [Compare Source](https://togithub.com/tailwindlabs/heroicons/compare/v2.1.3...v2.1.4) ##### Fixed - Improve tree-shakability of React package ([#​1192](https://togithub.com/tailwindlabs/heroicons/pull/1192)) </details> <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/eslint-plugin)</summary> ### [`v7.14.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#7141-2024-06-24) [Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v7.14.0...v7.14.1) ##### 🩹 Fixes - **eslint-plugin:** \[prefer-nullish-coalescing] treat enums and literals as their underlying primitive types - **eslint-plugin:** \[prefer-nullish-coalescing] ensure ternary fix does not remove parens ##### ❤️ Thank You - Jake Bailey You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v7.14.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#7140-2024-06-24) [Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v7.13.1...v7.14.0) ##### 🚀 Features - support TypeScript 5.5 ##### 🩹 Fixes - **eslint-plugin:** \[no-extraneous-class] handle abstract members - **eslint-plugin:** \[prefer-nullish-coalescing] handle intersected primitive types - **eslint-plugin:** \[no-invalid-this] support AccessorProperty ##### ❤️ Thank You - Brad Zacher - cm-ayf - Jake Bailey - James Zhan - Joshua Chen - yoshi2no You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v7.13.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#7131-2024-06-17) [Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v7.13.0...v7.13.1) ##### 🩹 Fixes - **eslint-plugin:** \[prefer-readonly] refine report locations - **eslint-plugin:** \[return-await] support explicit resource management - **eslint-plugin:** \[no-unsafe-member-access] differentiate a types-error any from a true any ##### ❤️ Thank You - Kirk Waiblinger - Yukihiro Hasegawa You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. </details> <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/parser)</summary> ### [`v7.14.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#7141-2024-06-24) [Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v7.14.0...v7.14.1) This was a version bump only for parser to align it with other projects, there were no code changes. You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v7.14.0`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#7140-2024-06-24) [Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v7.13.1...v7.14.0) ##### 🚀 Features - support TypeScript 5.5 ##### ❤️ Thank You - Brad Zacher - cm-ayf - Jake Bailey - James Zhan - Joshua Chen - yoshi2no You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v7.13.1`](https://togithub.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#7131-2024-06-17) [Compare Source](https://togithub.com/typescript-eslint/typescript-eslint/compare/v7.13.0...v7.13.1) This was a version bump only for parser to align it with other projects, there were no code changes. You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. </details> <details> <summary>bufbuild/buf (buf)</summary> ### [`v1.34.0`](https://togithub.com/bufbuild/buf/blob/HEAD/CHANGELOG.md#v1340---2024-06-21) - Add `buf config ls-modules` command to list configured modules. - Fix issue where `buf generate` would succeed on missing insertion points and panic on empty insertion point files. - Update `buf generate` to allow the use of Editions syntax when doing local code generation by proxying to a `protoc` binary (for languages where code gen is implemented inside of `protoc` instead of in a plugin: Java, C++, Python, etc). - Allow use of an array of strings for the `protoc_path` property of for `buf.gen.yaml`, where the first array element is the actual path and other array elements are extra arguments that are passed to `protoc` each time it is invoked. </details> <details> <summary>jsx-eslint/eslint-plugin-react (eslint-plugin-react)</summary> ### [`v7.34.3`](https://togithub.com/jsx-eslint/eslint-plugin-react/blob/HEAD/CHANGELOG.md#7343---20240618) [Compare Source](https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.34.2...v7.34.3) ##### Fixed - \[`prop-types`]: null-check rootNode before calling getScope ([#​3762][] [@​crnhrv](https://togithub.com/crnhrv)) - \[`boolean-prop-naming`]: avoid a crash with a spread prop ([#​3733][] [@​ljharb](https://togithub.com/ljharb)) - \[`jsx-boolean-value`]: `assumeUndefinedIsFalse` with `never` must not allow explicit `true` value ([#​3757][] [@​6uliver](https://togithub.com/6uliver)) - \[`no-object-type-as-default-prop`]: enable rule for components with many parameters ([#​3768][] [@​JulienR1](https://togithub.com/JulienR1)) - \[`jsx-key`]: incorrect behavior for checkKeyMustBeforeSpread with map callbacks ([#​3769][] [@​akulsr0](https://togithub.com/akulsr0)) [7.34.3]: https://togithub.com/jsx-eslint/eslint-plugin-react/compare/v7.34.2...v7.34.3 [#​3769]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3769 [#​3768]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3768 [#​3762]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3762 [#​3757]: https://togithub.com/jsx-eslint/eslint-plugin-react/pull/3757 [#​3733]: https://togithub.com/jsx-eslint/eslint-plugin-react/issues/3733 </details> <details> <summary>aws/aws-sdk-go-v2 (github.com/aws/aws-sdk-go-v2)</summary> ### [`v1.30.0`](https://togithub.com/aws/aws-sdk-go-v2/compare/v1.29.0...v1.30.0) [Compare Source](https://togithub.com/aws/aws-sdk-go-v2/compare/v1.29.0...v1.30.0) ### [`v1.29.0`](https://togithub.com/aws/aws-sdk-go-v2/compare/v1.28.0...v1.29.0) [Compare Source](https://togithub.com/aws/aws-sdk-go-v2/compare/v1.28.0...v1.29.0) ### [`v1.28.0`](https://togithub.com/aws/aws-sdk-go-v2/compare/v1.27.2...v1.28.0) [Compare Source](https://togithub.com/aws/aws-sdk-go-v2/compare/v1.27.2...v1.28.0) </details> <details> <summary>puzpuzpuz/xsync (github.com/puzpuzpuz/xsync/v3)</summary> ### [`v3.2.0`](https://togithub.com/puzpuzpuz/xsync/releases/tag/v3.2.0) [Compare Source](https://togithub.com/puzpuzpuz/xsync/compare/v3.1.0...v3.2.0) - Introduce Map/MapOf configs and grow-only option ([#​132](https://togithub.com/puzpuzpuz/xsync/issues/132)) Adds options support to the `NewMap`/`NewMapOf` functions. A `MapOf` can now be created like this: ```go m := xsync.NewMapOf[int, int](WithPresize(100)) ``` `NewPresizedMap`/`NewPresizedMapOf` functions are deprecated. Use the `WithPresize` option instead. Also, adds `WithGrowOnly` option. It configures new `Map`/`MapOf` instance to be grow-only. This means that the underlying hash table grows in capacity when new keys are added, but does not shrink when keys are deleted. The only exception to this rule is the `Clear` method which shrinks the hash table back to the initial capacity. Grow-only maps are more efficient in the case of oscillating map size, i.e. when the map frequently grows and then shrinks in size. </details> <details> <summary>swaggest/jsonschema-go (github.com/swaggest/jsonschema-go)</summary> ### [`v0.3.72`](https://togithub.com/swaggest/jsonschema-go/releases/tag/v0.3.72) [Compare Source](https://togithub.com/swaggest/jsonschema-go/compare/v0.3.71...v0.3.72) #### What's Changed - Recognize popular UUID types by [@​vearutop](https://togithub.com/vearutop) in [https://github.com/swaggest/jsonschema-go/pull/120](https://togithub.com/swaggest/jsonschema-go/pull/120) **Full Changelog**: https://github.com/swaggest/jsonschema-go/compare/v0.3.71...v0.3.72 ### [`v0.3.71`](https://togithub.com/swaggest/jsonschema-go/releases/tag/v0.3.71) [Compare Source](https://togithub.com/swaggest/jsonschema-go/compare/v0.3.70...v0.3.71) #### What's Changed - Update CI by [@​vearutop](https://togithub.com/vearutop) in [https://github.com/swaggest/jsonschema-go/pull/118](https://togithub.com/swaggest/jsonschema-go/pull/118) - Recognize \[]byte as base64 string by [@​vearutop](https://togithub.com/vearutop) in [https://github.com/swaggest/jsonschema-go/pull/119](https://togithub.com/swaggest/jsonschema-go/pull/119) **Full Changelog**: https://github.com/swaggest/jsonschema-go/compare/v0.3.70...v0.3.71 </details> <details> <summary>tmc/langchaingo (github.com/tmc/langchaingo)</summary> ### [`v0.1.12`](https://togithub.com/tmc/langchaingo/releases/tag/v0.1.12) [Compare Source](https://togithub.com/tmc/langchaingo/compare/v0.1.11...v0.1.12) #### What's Changed - llms/googleai: fix vertex do not return usage info by [@​wangjiancn](https://togithub.com/wangjiancn) in [https://github.com/tmc/langchaingo/pull/904](https://togithub.com/tmc/langchaingo/pull/904) - bugfix: Anthropic Function Calling by [@​lwlee2608](https://togithub.com/lwlee2608) in [https://github.com/tmc/langchaingo/pull/899](https://togithub.com/tmc/langchaingo/pull/899) - llms/anthropic: Fix Content set incorrectly for anthropic llm requests by [@​JckHoe](https://togithub.com/JckHoe) in [https://github.com/tmc/langchaingo/pull/908](https://togithub.com/tmc/langchaingo/pull/908) - llms/googleai: fix convert tool error by [@​wangjiancn](https://togithub.com/wangjiancn) in [https://github.com/tmc/langchaingo/pull/903](https://togithub.com/tmc/langchaingo/pull/903) - llms/googleai: Fix usage population tests, max token test, update dpep by [@​tmc](https://togithub.com/tmc) in [https://github.com/tmc/langchaingo/pull/910](https://togithub.com/tmc/langchaingo/pull/910) - docs/groq: by [@​devalexandre](https://togithub.com/devalexandre) in [https://github.com/tmc/langchaingo/pull/907](https://togithub.com/tmc/langchaingo/pull/907) - llms/watsonx: update module by [@​h0rv](https://togithub.com/h0rv) in [https://github.com/tmc/langchaingo/pull/902](https://togithub.com/tmc/langchaingo/pull/902) - docs: fix text_splitters mdx code example never closed by [@​4lxprime](https://togithub.com/4lxprime) in [https://github.com/tmc/langchaingo/pull/900](https://togithub.com/tmc/langchaingo/pull/900) - textsplitter: add WithHeadingHierarchy option to markdown splitter to retain heading hierarchy in chunks by [@​iwilltry42](https://togithub.com/iwilltry42) in [https://github.com/tmc/langchaingo/pull/898](https://togithub.com/tmc/langchaingo/pull/898) - examples: point watsonx example at current main by [@​tmc](https://togithub.com/tmc) in [https://github.com/tmc/langchaingo/pull/911](https://togithub.com/tmc/langchaingo/pull/911) - outputparser: add `Defined` parser to extract a struct from LLM output by [@​erictse](https://togithub.com/erictse) in [https://github.com/tmc/langchaingo/pull/856](https://togithub.com/tmc/langchaingo/pull/856) - anthropic: Improve streaming message handling in anthropic client by [@​tmc](https://togithub.com/tmc) in [https://github.com/tmc/langchaingo/pull/912](https://togithub.com/tmc/langchaingo/pull/912) - googleai: Settle on GOOGLE_API_KEY for google auth env var name by [@​tmc](https://togithub.com/tmc) in [https://github.com/tmc/langchaingo/pull/913](https://togithub.com/tmc/langchaingo/pull/913) - llms: Increase default tokens by [@​tmc](https://togithub.com/tmc) in [https://github.com/tmc/langchaingo/pull/914](https://togithub.com/tmc/langchaingo/pull/914) - examples: Add example readmes by [@​tmc](https://togithub.com/tmc) in [https://github.com/tmc/langchaingo/pull/916](https://togithub.com/tmc/langchaingo/pull/916) - examples: Improve top level readme by [@​tmc](https://togithub.com/tmc) in [https://github.com/tmc/langchaingo/pull/919](https://togithub.com/tmc/langchaingo/pull/919) - anthropic: Spruce up tool calling example by [@​tmc](https://togithub.com/tmc) in [https://github.com/tmc/langchaingo/pull/921](https://togithub.com/tmc/langchaingo/pull/921) - examples: point to 0.1.12-pre.0 by [@​tmc](https://togithub.com/tmc) in [https://github.com/tmc/langchaingo/pull/922](https://togithub.com/tmc/langchaingo/pull/922) #### New Contributors - [@​JckHoe](https://togithub.com/JckHoe) made their first contribution in [https://github.com/tmc/langchaingo/pull/908](https://togithub.com/tmc/langchaingo/pull/908) - [@​4lxprime](https://togithub.com/4lxprime) made their first contribution in [https://github.com/tmc/langchaingo/pull/900](https://togithub.com/tmc/langchaingo/pull/900) - [@​iwilltry42](https://togithub.com/iwilltry42) made their first contribution in [https://github.com/tmc/langchaingo/pull/898](https://togithub.com/tmc/langchaingo/pull/898) - [@​erictse](https://togithub.com/erictse) made their first contribution in [https://github.com/tmc/langchaingo/pull/856](https://togithub.com/tmc/langchaingo/pull/856) **Full Changelog**: https://github.com/tmc/langchaingo/compare/v0.1.11...v0.1.12 </details> <details> <summary>apache/maven (maven)</summary> ### [`v3.9.8`](https://togithub.com/apache/maven/releases/tag/maven-3.9.8): 3.9.8 [Compare Source](https://togithub.com/apache/maven/compare/maven-3.9.7...maven-3.9.8) ##### [Release Notes - Maven - Version 3.9.8](https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12316922\&version=12354748) <h2> Bug </h2> <ul> <li>[<a href='https://issues.apache.org/jira/browse/MNG-7758'>MNG-7758</a>] - o.e.aether.resolution.ArtifactResolutionException incorrectly examined when multiple repositories are involved </li> <li>[<a href='https://issues.apache.org/jira/browse/MNG-8066'>MNG-8066</a>] - Maven hangs on self-referencing exceptions </li> <li>[<a href='https://issues.apache.org/jira/browse/MNG-8116'>MNG-8116</a>] - Plugin configuration can randomly fail in case of method overloading as it doesn&#​39;t take into account implementation attribute </li> <li>[<a href='https://issues.apache.org/jira/browse/MNG-8131'>MNG-8131</a>] - Property replacement in dependency pom no longer works </li> <li>[<a href='https://issues.apache.org/jira/browse/MNG-8135'>MNG-8135</a>] - Profile activation based on OS properties is no longer case insensitive </li> <li>[<a href='https://issues.apache.org/jira/browse/MNG-8142'>MNG-8142</a>] - If JDK profile activator gets "invalid" JDK version for whatever reason, it chokes but does not tell why </li> <li>[<a href='https://issues.apache.org/jira/browse/MNG-8147'>MNG-8147</a>] - Profile interpolation broke their evaluation in case of duplicate IDs </li> </ul> <h2> Improvement </h2> <ul> <li>[<a href='https://issues.apache.org/jira/browse/MNG-7902'>MNG-7902</a>] - Sort plugins in validation report </li> <li>[<a href='https://issues.apache.org/jira/browse/MNG-8140'>MNG-8140</a>] - When a model is discarded (by model builder) for whatever reason, show why it happened </li> <li>[<a href='https://issues.apache.org/jira/browse/MNG-8141'>MNG-8141</a>] - Model Builder should report if not sure about "fully correct" outcome </li> <li>[<a href='https://issues.apache.org/jira/browse/MNG-8150'>MNG-8150</a>] - Make SimplexTransferListener handle absent source/target files </li> </ul> <h2> Task </h2> <ul> <li>[<a href='https://issues.apache.org/jira/browse/MNG-8146'>MNG-8146</a>] - Drop use of commons-lang </li> </ul> <h2> Dependency upgrade </h2> <ul> <li>[<a href='https://issues.apache.org/jira/browse/MNG-8136'>MNG-8136</a>] - Update to Eclipse Sisu 0.9.0.M3 </li> <li>[<a href='https://issues.apache.org/jira/browse/MNG-8143'>MNG-8143</a>] - Update to commons-cli 1.8.0 </li> <li>[<a href='https://issues.apache.org/jira/browse/MNG-8144'>MNG-8144</a>] - Update to Guava 32.2.1-jre </li> <li>[<a href='https://issues.apache.org/jira/browse/MNG-8154'>MNG-8154</a>] - Upgrade default plugin bindings </li> </ul> *** ##### What's Changed - Use Maven Wrapper to build by [@​slawekjaranowski](https://togithub.com/slawekjaranowski) in [https://github.com/apache/maven/pull/1553](https://togithub.com/apache/maven/pull/1553) - \[3.9.x] \[MNG-8136] Update Eclipse Sisu to 0.9.0.M3 by [@​cstamas](https://togithub.com/cstamas) in [https://github.com/apache/maven/pull/1547](https://togithub.com/apache/maven/pull/1547) - \[MNG-8135] Profile activation based on OS properties is no longer case insensitive by [@​cstamas](https://togithub.com/cstamas) in [https://github.com/apache/maven/pull/1561](https://togithub.com/apache/maven/pull/1561) - \[3.9.x] Dependency updates by [@​cstamas](https://togithub.com/cstamas) in [https://github.com/apache/maven/pull/1560](https://togithub.com/apache/maven/pull/1560) - \[MNG-7902] Sort plugins in the validation report ([#​1510](https://togithub.com/apache/maven/issues/1510)) by [@​slawekjaranowski](https://togithub.com/slawekjaranowski) in [https://github.com/apache/maven/pull/1562](https://togithub.com/apache/maven/pull/1562) - \[MNG-8066] Default exception handler does not handle recursion by [@​cstamas](https://togithub.com/cstamas) in [https://github.com/apache/maven/pull/1558](https://togithub.com/apache/maven/pull/1558) - \[MNG-8142] Hidden bug: JDK profile activator throw NumberFormatEx by [@​cstamas](https://togithub.com/cstamas) in [https://github.com/apache/maven/pull/1557](https://togithub.com/apache/maven/pull/1557) - \[MNG-8146] Drop commons-lang by [@​cstamas](https://togithub.com/cstamas) in [https://github.com/apache/maven/pull/1564](https://togithub.com/apache/maven/pull/1564) - \[MNG-8140] Always tell why model was discarded as "invalid" by [@​cstamas](https://togithub.com/cstamas) in [https://github.com/apache/maven/pull/1555](https://togithub.com/apache/maven/pull/1555) - \[MNG-8141] Model builder should report problems it finds during build by [@​cstamas](https://togithub.com/cstamas) in [https://github.com/apache/maven/pull/1556](https://togithub.com/apache/maven/pull/1556) - \[MNG-8141]\[MNG-8147] Restore profile ID invariance but warn if duplicate IDs present by [@​cstamas](https://togithub.com/cstamas) in [https://github.com/apache/maven/pull/1568](https://togithub.com/apache/maven/pull/1568) - \[MNG-8141] Aftermath, and tidy up by [@​cstamas](https://togithub.com/cstamas) in [https://github.com/apache/maven/pull/1572](https://togithub.com/apache/maven/pull/1572) - \[MNG-8150] Backport TransferListener improvements for Maven 3.9.x by [@​pshevche](https://togithub.com/pshevche) in [https://github.com/apache/maven/pull/1576](https://togithub.com/apache/maven/pull/1576) - \[MNG-7758] Report dependency problems for all repository by [@​slawekjaranowski](https://togithub.com/slawekjaranowski) in [https://github.com/apache/maven/pull/1584](https://togithub.com/apache/maven/pull/1584) - \[MNG-8154] Upgrade default plugin bindings by [@​slawekjaranowski](https://togithub.com/slawekjaranowski) in [https://github.com/apache/maven/pull/1586](https://togithub.com/apache/maven/pull/1586) **Full Changelog**: https://github.com/apache/maven/compare/maven-3.9.7...maven-3.9.8 </details> <details> <summary>protocolbuffers/protobuf (protoc)</summary> ### [`v27.2`](https://togithub.com/protocolbuffers/protobuf/releases/tag/v27.2): Protocol Buffers v27.2 ### Announcements - [Protobuf News](https://protobuf.dev/news/) may include additional announcements or pre-announcements for upcoming changes. ### Compiler - Avoid calling absl::InitializeLog in protoc with MSVC (https://github.com/protocolbuffers/protobuf/commit/aa7fcb3662f677b6ef06b55d5cae9d5b242fa1ef) ### C++ - Fix string_type bugs in edition 2023 ([#​17211](https://togithub.com/protocolbuffers/protobuf/issues/17211)) (https://github.com/protocolbuffers/protobuf/commit/4923b8d72d39a4189ca7c7b9e20359d6ba527a10) - Add simple conformance test that builds the old gencode against the current runtime. (https://github.com/protocolbuffers/protobuf/commit/9cfb59b5e305dba959403b56112d9a8cf1f4d832) - Make the underlying type of the enum by 8-bits instead of using bitfields for (https://github.com/protocolbuffers/protobuf/commit/316f493b2f7f87f4402caea0d0ae1f332e2550fb) ### Java - Cleanup imports and comments in V3 stubs. (https://github.com/protocolbuffers/protobuf/commit/270ca6681a686fea24e23f7a389e4e3997409a4c) - Add stubs for GeneratedMessageV3, RepeatedFieldBuilderV3, SingleFieldBuilderV3 for compatibility with older <4.26.x gencode. (https://github.com/protocolbuffers/protobuf/commit/1e360a422a04942ff0758f4a390fb6c27b680c96) - Fix checking unknown field set empty which wasn't exposed yet in 27.x (https://github.com/protocolbuffers/protobuf/commit/c7a006a225e0b94b639a9be694b03c835f4db6d6) - Reserialize all unresolved features using java features from the generated pool in case of descriptors from the custom pool. (https://github.com/protocolbuffers/protobuf/commit/2426a02b90d61e6c18b8ffa411e76b1642f47ad6) - Reparse unknown features using extension registry containing Java features. (https://github.com/protocolbuffers/protobuf/commit/e5ddc45645871fbe2c6fc089ebe09f72ca727b5e) - Fix data race in crosslink. (https://github.com/protocolbuffers/protobuf/commit/3d71e22b7ae17cbe82dd20a29ef7ef4e75e06ec5) - Fix delimited inheritance in all languages. (https://github.com/protocolbuffers/protobuf/commit/c4f359ebf03e235d348a363d3b76660c6c960773) ### Csharp - Regenerate stale files (https://github.com/protocolbuffers/protobuf/commit/29f1b5259ea224abcaa9a4eb5e28f804ea8d5097) - Fix delimited inheritance in all languages. (https://github.com/protocolbuffers/protobuf/commit/c4f359ebf03e235d348a363d3b76660c6c960773) ### Python - Fix delimited inheritance in all languages. (https://github.com/protocolbuffers/protobuf/commit/c4f359ebf03e235d348a363d3b76660c6c960773) ### PHP ##### PHP C-Extension - Regenerate stale files (https://github.com/protocolbuffers/protobuf/commit/29f1b5259ea224abcaa9a4eb5e28f804ea8d5097) - *See also UPB changes below, which may affect PHP C-Extension.* ### Ruby ##### Ruby C-Extension - Regenerate stale files (https://github.com/protocolbuffers/protobuf/commit/29f1b5259ea224abcaa9a4eb5e28f804ea8d5097) - *See also UPB changes below, which may affect Ruby C-Extension.* ### UPB (Python/PHP/Ruby C-Extension) - Fix delimited inheritance in all languages. (https://github.com/protocolbuffers/protobuf/commit/c4f359ebf03e235d348a363d3b76660c6c960773) ### Other - Port windows bootstrapping fix ([#​17225](https://togithub.com/protocolbuffers/protobuf/issues/17225)) (https://github.com/protocolbuffers/protobuf/commit/19bd2115d04fcc6196e504a4f07d99b6f16be7d7) </details> <details> <summary>remix-run/react-router (react-router-dom)</summary> ### [`v6.24.0`](https://togithub.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#6240) [Compare Source](https://togithub.com/remix-run/react-router/compare/[email protected]@6.24.0) ##### Minor Changes - Add support for Lazy Route Discovery (a.k.a. Fog of War) ([#​11626](https://togithub.com/remix-run/react-router/pull/11626)) - RFC: <https://togithub.com/remix-run/react-router/discussions/11113> - `unstable_patchRoutesOnMiss` docs: <https://reactrouter.com/en/main/routers/create-browser-router> ##### Patch Changes - Fix `fetcher.submit` types - remove incorrect `navigate`/`fetcherKey`/`unstable_viewTransition` options because they are only relevant for `useSubmit` ([#​11631](https://togithub.com/remix-run/react-router/pull/11631)) - Allow falsy `location.state` values passed to `<StaticRouter>` ([#​11495](https://togithub.com/remix-run/react-router/pull/11495)) - Updated dependencies: - `[email protected]` - `@remix-run/[email protected]` </details> <details> <summary>xyflow/xyflow (reactflow)</summary> ### [`v11.11.4`](https://togithub.com/xyflow/xyflow/releases/tag/11.11.4) [Compare Source](https://togithub.com/xyflow/xyflow/compare/[email protected]) This release adds some deprecation warnings and introduces new function and attribute names for "edge update" which is now called "edge reconnect": `updateEdge` => `reconnectEdge` `onEdgeUpdateStart` => `onReconnectStart` `onEdgeUpdate` => `onReconnect` `onEdgeUpdateEnd` => `onReconnectEnd` `edgeUpdaterRadius` => `reconnectRadius` `edge.updatable` => `edge.reconnectable` We changed the term, because we think it's more clear what it does and is better to distinguish from the new `updateEdge` and `updateEdgeData` helpers in React Flow 12. ##### Patch Changes - [#​4389](https://togithub.com/xyflow/xyflow/pull/4389) [`092b2ecb`](https://togithub.com/xyflow/xyflow/commit/092b2ecbc45aa829e590acb094c7ef75d752d211) - rename updateEdge to reconectEdge - [#​4387](https://togithub.com/xyflow/xyflow/pull/4387) [`280a64ee`](https://togithub.com/xyflow/xyflow/commit/280a64ee1652e36366ea0e0ad6a56a41c6c5f7b9) - abort drag when multiple touches are detected - Updated dependencies \[[`092b2ecb`](https://togithub.com/xyflow/xyflow/commit/092b2ecbc45aa829e590acb094c7ef75d752d211), [`280a64ee`](https://togithub.com/xyflow/xyflow/commit/280a64ee1652e36366ea0e0ad6a56a41c6c5f7b9)]: - [@​reactflow/core](https://togithub.com/reactflow/core)[@​11](https://togithub.com/11).11.4 - [@​reactflow/background](https://togithub.com/reactflow/background)[@​11](https://togithub.com/11).3.14 - [@​reactflow/controls](https://togithub.com/reactflow/controls)[@​11](https://togithub.com/11).2.14 - [@​reactflow/minimap](https://togithub.com/reactflow/minimap)[@​11](https://togithub.com/11).7.14 - [@​reactflow/node-resizer](https://togithub.com/reactflow/node-resizer)[@​2](https://togithub.com/2).2.14 - [@​reactflow/node-toolbar](https://togithub.com/reactflow/node-toolbar)[@​1](https://togithub.com/1).3.14 </details> <details> <summary>Microsoft/TypeScript (typescript)</summary> ### [`v5.5.2`](https://togithub.com/Microsoft/TypeScript/compare/v5.4.5...ce2e60e4ea15a65992e54a9e8877d16be9d42abb) [Compare Source](https://togithub.com/Microsoft/TypeScript/compare/v5.4.5...v5.5.2) </details> <details> <summary>webpack/webpack (webpack)</summary> ### [`v5.92.1`](https://togithub.com/webpack/webpack/compare/v5.92.0...a82e0cd00e26d8452295f0d680417e4656a6d7cc) [Compare Source](https://togithub.com/webpack/webpack/compare/v5.92.0...v5.92.1) </details> <details> <summary>getzola/zola (zola)</summary> ### [`v0.19.1`](https://togithub.com/getzola/zola/blob/HEAD/CHANGELOG.md#0191-2024-06-24) - Fix `config.generate_feeds` being still serialized as `config.generate_feed`. Both are available for now - Fix `zola serve` not reacting to changes on some OSes ### [`v0.19.0`](https://togithub.com/getzola/zola/blob/HEAD/CHANGELOG.md#0190-2024-06-20) - Updates the pulldown-cmark dependency to v0.11.0. This improves footnote handling, and may also introduce some minor behavior changes such as reducing the amount of unnecessary HTML-escaping of text content. - Add bottom footnotes with backreference option - Fix link check report inconsistency - Fix resizing for images with EXIF orientation - Add MIME type to get_image_metadata - Fix hot loading for config.toml in some cases - Add `render = false` capability to pages - Handle string dates in YAML front-matter - Add support for fuse.js search format - Added support for generating multiple kinds of feeds at once - Changed config options named `generate_feed` to `generate_feeds` (both in config.toml and in section front-matter) - Changed config option `feed_filename: String` to `feed_filenames: Vec<String>` - The config file no longer allows arbitrary fields outside the `[extra]` section </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/TBD54566975/ftl). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MTMuMiIsInVwZGF0ZWRJblZlciI6IjM3LjQxMy4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Wes <[email protected]>
This introduces an output parser named 'Defined' as an improvement to the existing output parser 'Structured'.
A developer can define a struct with the proper tags which can generate a description of the desired output format for an LLM. The parser then returns a struct of the given type, populated with the data it extracted. The developer experience parallels what's described in this Build an Extraction Chain tutorial.
For best results, use this with the tool calling feature of your LLM.
Fixes #171 and #197
PR Checklist
memory: add interfaces for X, Y
orutil: add whizzbang helpers
).Fixes #123
).golangci-lint
checks.