From e20b436bb057df52f0d33d68baaa892565f29c71 Mon Sep 17 00:00:00 2001 From: Samuel Lijin Date: Wed, 11 Sep 2024 10:29:36 -0700 Subject: [PATCH] chore: Bump version to 0.55.2 (#944) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bump version to 0.55.2\n\n❌ Typescript integ tests\n❌ Python integ tests\n\nGenerated by bump-version script. --- CHANGELOG.md | 10 +++++++ engine/Cargo.lock | 28 +++++++++---------- engine/Cargo.toml | 2 +- engine/language_client_python/pyproject.toml | 2 +- engine/language_client_ruby/baml.gemspec | 2 +- .../language_client_typescript/package.json | 2 +- integ-tests/baml_src/generators.baml | 8 +++--- integ-tests/python/baml_client/inlinedbaml.py | 2 +- integ-tests/ruby/baml_client/inlined.rb | 2 +- .../typescript/baml_client/inlinedbaml.ts | 2 +- integ-tests/typescript/test-report.html | 26 ++++++++--------- tools/versions/engine.cfg | 2 +- tools/versions/integ-tests.cfg | 2 +- tools/versions/python.cfg | 2 +- tools/versions/ruby.cfg | 2 +- tools/versions/typescript.cfg | 2 +- tools/versions/vscode.cfg | 2 +- typescript/vscode-ext/packages/package.json | 2 +- 18 files changed, 55 insertions(+), 45 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 73554d62c..f2f33e04e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,16 @@ All notable changes to this project will be documented in this file. See [conventional commits](https://www.conventionalcommits.org/) for commit guidelines. +## [0.55.2](https://github.com/boundaryml/baml/compare/0.55.1..0.55.2) - 2024-09-11 + +### Bug Fixes + +- use correct locking strategy inside baml-cli serve (#943) - ([fcb694d](https://github.com/boundaryml/baml/commit/fcb694d033317d8538cc7b2c61aaa94f772778db)) - Samuel Lijin + +### Features + +- allow using DANGER_ACCEPT_INVALID_CERTS to disable https verification (#901) - ([8873fe7](https://github.com/boundaryml/baml/commit/8873fe7577bc879cf0d550063252c4532dcdfced)) - Samuel Lijin + ## [0.55.1](https://github.com/boundaryml/baml/compare/0.55.0..0.55.1) - 2024-09-10 ### Bug Fixes diff --git a/engine/Cargo.lock b/engine/Cargo.lock index 80fd98a31..15c6cfaa2 100644 --- a/engine/Cargo.lock +++ b/engine/Cargo.lock @@ -793,7 +793,7 @@ dependencies = [ [[package]] name = "baml" -version = "0.55.1" +version = "0.55.2" dependencies = [ "anyhow", "baml-lib", @@ -834,7 +834,7 @@ dependencies = [ [[package]] name = "baml-fmt" -version = "0.55.1" +version = "0.55.2" dependencies = [ "anyhow", "base64 0.22.1", @@ -855,7 +855,7 @@ dependencies = [ [[package]] name = "baml-lib" -version = "0.55.1" +version = "0.55.2" dependencies = [ "base64 0.13.1", "dissimilar", @@ -893,7 +893,7 @@ dependencies = [ [[package]] name = "baml-runtime" -version = "0.55.1" +version = "0.55.2" dependencies = [ "ambassador", "anyhow", @@ -982,7 +982,7 @@ dependencies = [ [[package]] name = "baml-schema-build" -version = "0.55.1" +version = "0.55.2" dependencies = [ "anyhow", "baml-runtime", @@ -1017,7 +1017,7 @@ dependencies = [ [[package]] name = "baml-types" -version = "0.55.1" +version = "0.55.2" dependencies = [ "anyhow", "clap 4.5.9", @@ -2512,7 +2512,7 @@ dependencies = [ [[package]] name = "internal-baml-codegen" -version = "0.55.1" +version = "0.55.2" dependencies = [ "anyhow", "askama", @@ -2536,7 +2536,7 @@ dependencies = [ [[package]] name = "internal-baml-core" -version = "0.55.1" +version = "0.55.2" dependencies = [ "anyhow", "baml-types", @@ -2569,7 +2569,7 @@ dependencies = [ [[package]] name = "internal-baml-diagnostics" -version = "0.55.1" +version = "0.55.2" dependencies = [ "anyhow", "colored", @@ -2582,7 +2582,7 @@ dependencies = [ [[package]] name = "internal-baml-jinja" -version = "0.55.1" +version = "0.55.2" dependencies = [ "anyhow", "askama", @@ -2600,7 +2600,7 @@ dependencies = [ [[package]] name = "internal-baml-parser-database" -version = "0.55.1" +version = "0.55.2" dependencies = [ "anyhow", "baml-types", @@ -2622,7 +2622,7 @@ dependencies = [ [[package]] name = "internal-baml-prompt-parser" -version = "0.55.1" +version = "0.55.2" dependencies = [ "internal-baml-diagnostics", "internal-baml-schema-ast", @@ -2634,7 +2634,7 @@ dependencies = [ [[package]] name = "internal-baml-schema-ast" -version = "0.55.1" +version = "0.55.2" dependencies = [ "baml-types", "either", @@ -2711,7 +2711,7 @@ checksum = "9dbbfed4e59ba9750e15ba154fdfd9329cee16ff3df539c2666b70f58cc32105" [[package]] name = "jsonish" -version = "0.55.1" +version = "0.55.2" dependencies = [ "anyhow", "assert-json-diff", diff --git a/engine/Cargo.toml b/engine/Cargo.toml index 63ebed953..8bf08350a 100644 --- a/engine/Cargo.toml +++ b/engine/Cargo.toml @@ -66,7 +66,7 @@ internal-baml-jinja = { path = "baml-lib/jinja" } internal-baml-schema-ast = { path = "baml-lib/schema-ast" } [workspace.package] -version = "0.55.1" +version = "0.55.2" authors = ["Boundary "] description = "BAML Toolchain" diff --git a/engine/language_client_python/pyproject.toml b/engine/language_client_python/pyproject.toml index cc4b30fbb..ef7eb22f5 100644 --- a/engine/language_client_python/pyproject.toml +++ b/engine/language_client_python/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "baml-py" -version = "0.55.1" +version = "0.55.2" description = "BAML python bindings (pyproject.toml)" readme = "README.md" authors = [["Boundary", "contact@boundaryml.com"]] diff --git a/engine/language_client_ruby/baml.gemspec b/engine/language_client_ruby/baml.gemspec index 44a109c6a..51fec4f59 100644 --- a/engine/language_client_ruby/baml.gemspec +++ b/engine/language_client_ruby/baml.gemspec @@ -2,7 +2,7 @@ Gem::Specification.new do |spec| spec.name = "baml" - spec.version = "0.55.1" + spec.version = "0.55.2" spec.authors = ["BoundaryML"] spec.email = ["contact@boundaryml.com"] diff --git a/engine/language_client_typescript/package.json b/engine/language_client_typescript/package.json index 4f8b83b0c..00974cf4d 100644 --- a/engine/language_client_typescript/package.json +++ b/engine/language_client_typescript/package.json @@ -1,6 +1,6 @@ { "name": "@boundaryml/baml", - "version": "0.55.1", + "version": "0.55.2", "description": "BAML typescript bindings (package.json)", "repository": { "type": "git", diff --git a/integ-tests/baml_src/generators.baml b/integ-tests/baml_src/generators.baml index 0b046e363..efa9eab22 100644 --- a/integ-tests/baml_src/generators.baml +++ b/integ-tests/baml_src/generators.baml @@ -1,24 +1,24 @@ generator lang_python { output_type python/pydantic output_dir "../python" - version "0.55.1" + version "0.55.2" } generator lang_typescript { output_type typescript output_dir "../typescript" - version "0.55.1" + version "0.55.2" } generator lang_ruby { output_type ruby/sorbet output_dir "../ruby" - version "0.55.1" + version "0.55.2" } generator openapi { output_type rest/openapi output_dir "../openapi" - version "0.55.1" + version "0.55.2" on_generate "rm .gitignore" } diff --git a/integ-tests/python/baml_client/inlinedbaml.py b/integ-tests/python/baml_client/inlinedbaml.py index 4bb53e925..fbef3cda6 100644 --- a/integ-tests/python/baml_client/inlinedbaml.py +++ b/integ-tests/python/baml_client/inlinedbaml.py @@ -25,7 +25,7 @@ "fiddle-examples/extract-receipt-info.baml": "class ReceiptItem {\n name string\n description string?\n quantity int\n price float\n}\n\nclass ReceiptInfo {\n items ReceiptItem[]\n total_cost float?\n}\n\nfunction ExtractReceiptInfo(email: string) -> ReceiptInfo {\n client GPT4o\n prompt #\"\n Given the receipt below:\n\n ```\n {{email}}\n ```\n\n {{ ctx.output_format }}\n \"#\n}\n\n", "fiddle-examples/images/image.baml": "function DescribeImage(img: image) -> string {\n client GPT4o\n prompt #\"\n {{ _.role(\"user\") }}\n\n\n Describe the image below in 20 words:\n {{ img }}\n \"#\n\n}\n\nclass FakeImage {\n url string\n}\n\nclass ClassWithImage {\n myImage image\n param2 string\n fake_image FakeImage\n}\n\n// chat role user present\nfunction DescribeImage2(classWithImage: ClassWithImage, img2: image) -> string { \n client GPT4Turbo\n prompt #\"\n {{ _.role(\"user\") }}\n You should return 2 answers that answer the following commands.\n\n 1. Describe this in 5 words:\n {{ classWithImage.myImage }}\n\n 2. Also tell me what's happening here in one sentence:\n {{ img2 }}\n \"#\n}\n\n// no chat role\nfunction DescribeImage3(classWithImage: ClassWithImage, img2: image) -> string {\n client GPT4Turbo\n prompt #\"\n Describe this in 5 words:\n {{ classWithImage.myImage }}\n\n Tell me also what's happening here in one sentence and relate it to the word {{ classWithImage.param2 }}:\n {{ img2 }}\n \"#\n}\n\n\n// system prompt and chat prompt\nfunction DescribeImage4(classWithImage: ClassWithImage, img2: image) -> string {\n client GPT4Turbo\n prompt #\"\n {{ _.role(\"system\")}}\n\n Describe this in 5 words:\n {{ classWithImage.myImage }}\n\n Tell me also what's happening here in one sentence and relate it to the word {{ classWithImage.param2 }}:\n {{ img2 }}\n \"#\n}\n\ntest TestName {\n functions [DescribeImage]\n args {\n img { url \"https://imgs.xkcd.com/comics/standards.png\"}\n }\n}\n", "fiddle-examples/symbol-tuning.baml": "enum Category3 {\n Refund @alias(\"k1\")\n @description(\"Customer wants to refund a product\")\n\n CancelOrder @alias(\"k2\")\n @description(\"Customer wants to cancel an order\")\n\n TechnicalSupport @alias(\"k3\")\n @description(\"Customer needs help with a technical issue unrelated to account creation or login\")\n\n AccountIssue @alias(\"k4\")\n @description(\"Specifically relates to account-login or account-creation\")\n\n Question @alias(\"k5\")\n @description(\"Customer has a question\")\n}\n\nfunction ClassifyMessage3(input: string) -> Category {\n client GPT4\n\n prompt #\"\n Classify the following INPUT into ONE\n of the following categories:\n\n INPUT: {{ input }}\n\n {{ ctx.output_format }}\n\n Response:\n \"#\n}", - "generators.baml": "generator lang_python {\n output_type python/pydantic\n output_dir \"../python\"\n version \"0.55.1\"\n}\n\ngenerator lang_typescript {\n output_type typescript\n output_dir \"../typescript\"\n version \"0.55.1\"\n}\n\ngenerator lang_ruby {\n output_type ruby/sorbet\n output_dir \"../ruby\"\n version \"0.55.1\"\n}\n\ngenerator openapi {\n output_type rest/openapi\n output_dir \"../openapi\"\n version \"0.55.1\"\n on_generate \"rm .gitignore\"\n}\n", + "generators.baml": "generator lang_python {\n output_type python/pydantic\n output_dir \"../python\"\n version \"0.55.2\"\n}\n\ngenerator lang_typescript {\n output_type typescript\n output_dir \"../typescript\"\n version \"0.55.2\"\n}\n\ngenerator lang_ruby {\n output_type ruby/sorbet\n output_dir \"../ruby\"\n version \"0.55.2\"\n}\n\ngenerator openapi {\n output_type rest/openapi\n output_dir \"../openapi\"\n version \"0.55.2\"\n on_generate \"rm .gitignore\"\n}\n", "test-files/aliases/classes.baml": "class TestClassAlias {\n key string @alias(\"key-dash\") @description(#\"\n This is a description for key\n af asdf\n \"#)\n key2 string @alias(\"key21\")\n key3 string @alias(\"key with space\")\n key4 string //unaliased\n key5 string @alias(\"key.with.punctuation/123\")\n}\n\nfunction FnTestClassAlias(input: string) -> TestClassAlias {\n client GPT35\n prompt #\"\n {{ctx.output_format}}\n \"#\n}\n\ntest FnTestClassAlias {\n functions [FnTestClassAlias]\n args {\n input \"example input\"\n }\n}\n", "test-files/aliases/enums.baml": "enum TestEnum {\n A @alias(\"k1\") @description(#\"\n User is angry\n \"#)\n B @alias(\"k22\") @description(#\"\n User is happy\n \"#)\n // tests whether k1 doesnt incorrectly get matched with k11\n C @alias(\"k11\") @description(#\"\n User is sad\n \"#)\n D @alias(\"k44\") @description(\n User is confused\n )\n E @description(\n User is excited\n )\n F @alias(\"k5\") // only alias\n \n G @alias(\"k6\") @description(#\"\n User is bored\n With a long description\n \"#)\n \n @@alias(\"Category\")\n}\n\nfunction FnTestAliasedEnumOutput(input: string) -> TestEnum {\n client GPT35\n prompt #\"\n Classify the user input into the following category\n \n {{ ctx.output_format }}\n\n {{ _.role('user') }}\n {{input}}\n\n {{ _.role('assistant') }}\n Category ID:\n \"#\n}\n\ntest FnTestAliasedEnumOutput {\n functions [FnTestAliasedEnumOutput]\n args {\n input \"mehhhhh\"\n }\n}", "test-files/comments/comments.baml": "// add some functions, classes, enums etc with comments all over.", diff --git a/integ-tests/ruby/baml_client/inlined.rb b/integ-tests/ruby/baml_client/inlined.rb index 3ec4b8be0..212a34e4a 100644 --- a/integ-tests/ruby/baml_client/inlined.rb +++ b/integ-tests/ruby/baml_client/inlined.rb @@ -25,7 +25,7 @@ module Inlined "fiddle-examples/extract-receipt-info.baml" => "class ReceiptItem {\n name string\n description string?\n quantity int\n price float\n}\n\nclass ReceiptInfo {\n items ReceiptItem[]\n total_cost float?\n}\n\nfunction ExtractReceiptInfo(email: string) -> ReceiptInfo {\n client GPT4o\n prompt #\"\n Given the receipt below:\n\n ```\n {{email}}\n ```\n\n {{ ctx.output_format }}\n \"#\n}\n\n", "fiddle-examples/images/image.baml" => "function DescribeImage(img: image) -> string {\n client GPT4o\n prompt #\"\n {{ _.role(\"user\") }}\n\n\n Describe the image below in 20 words:\n {{ img }}\n \"#\n\n}\n\nclass FakeImage {\n url string\n}\n\nclass ClassWithImage {\n myImage image\n param2 string\n fake_image FakeImage\n}\n\n// chat role user present\nfunction DescribeImage2(classWithImage: ClassWithImage, img2: image) -> string { \n client GPT4Turbo\n prompt #\"\n {{ _.role(\"user\") }}\n You should return 2 answers that answer the following commands.\n\n 1. Describe this in 5 words:\n {{ classWithImage.myImage }}\n\n 2. Also tell me what's happening here in one sentence:\n {{ img2 }}\n \"#\n}\n\n// no chat role\nfunction DescribeImage3(classWithImage: ClassWithImage, img2: image) -> string {\n client GPT4Turbo\n prompt #\"\n Describe this in 5 words:\n {{ classWithImage.myImage }}\n\n Tell me also what's happening here in one sentence and relate it to the word {{ classWithImage.param2 }}:\n {{ img2 }}\n \"#\n}\n\n\n// system prompt and chat prompt\nfunction DescribeImage4(classWithImage: ClassWithImage, img2: image) -> string {\n client GPT4Turbo\n prompt #\"\n {{ _.role(\"system\")}}\n\n Describe this in 5 words:\n {{ classWithImage.myImage }}\n\n Tell me also what's happening here in one sentence and relate it to the word {{ classWithImage.param2 }}:\n {{ img2 }}\n \"#\n}\n\ntest TestName {\n functions [DescribeImage]\n args {\n img { url \"https://imgs.xkcd.com/comics/standards.png\"}\n }\n}\n", "fiddle-examples/symbol-tuning.baml" => "enum Category3 {\n Refund @alias(\"k1\")\n @description(\"Customer wants to refund a product\")\n\n CancelOrder @alias(\"k2\")\n @description(\"Customer wants to cancel an order\")\n\n TechnicalSupport @alias(\"k3\")\n @description(\"Customer needs help with a technical issue unrelated to account creation or login\")\n\n AccountIssue @alias(\"k4\")\n @description(\"Specifically relates to account-login or account-creation\")\n\n Question @alias(\"k5\")\n @description(\"Customer has a question\")\n}\n\nfunction ClassifyMessage3(input: string) -> Category {\n client GPT4\n\n prompt #\"\n Classify the following INPUT into ONE\n of the following categories:\n\n INPUT: {{ input }}\n\n {{ ctx.output_format }}\n\n Response:\n \"#\n}", - "generators.baml" => "generator lang_python {\n output_type python/pydantic\n output_dir \"../python\"\n version \"0.55.1\"\n}\n\ngenerator lang_typescript {\n output_type typescript\n output_dir \"../typescript\"\n version \"0.55.1\"\n}\n\ngenerator lang_ruby {\n output_type ruby/sorbet\n output_dir \"../ruby\"\n version \"0.55.1\"\n}\n\ngenerator openapi {\n output_type rest/openapi\n output_dir \"../openapi\"\n version \"0.55.1\"\n on_generate \"rm .gitignore\"\n}\n", + "generators.baml" => "generator lang_python {\n output_type python/pydantic\n output_dir \"../python\"\n version \"0.55.2\"\n}\n\ngenerator lang_typescript {\n output_type typescript\n output_dir \"../typescript\"\n version \"0.55.2\"\n}\n\ngenerator lang_ruby {\n output_type ruby/sorbet\n output_dir \"../ruby\"\n version \"0.55.2\"\n}\n\ngenerator openapi {\n output_type rest/openapi\n output_dir \"../openapi\"\n version \"0.55.2\"\n on_generate \"rm .gitignore\"\n}\n", "test-files/aliases/classes.baml" => "class TestClassAlias {\n key string @alias(\"key-dash\") @description(#\"\n This is a description for key\n af asdf\n \"#)\n key2 string @alias(\"key21\")\n key3 string @alias(\"key with space\")\n key4 string //unaliased\n key5 string @alias(\"key.with.punctuation/123\")\n}\n\nfunction FnTestClassAlias(input: string) -> TestClassAlias {\n client GPT35\n prompt #\"\n {{ctx.output_format}}\n \"#\n}\n\ntest FnTestClassAlias {\n functions [FnTestClassAlias]\n args {\n input \"example input\"\n }\n}\n", "test-files/aliases/enums.baml" => "enum TestEnum {\n A @alias(\"k1\") @description(#\"\n User is angry\n \"#)\n B @alias(\"k22\") @description(#\"\n User is happy\n \"#)\n // tests whether k1 doesnt incorrectly get matched with k11\n C @alias(\"k11\") @description(#\"\n User is sad\n \"#)\n D @alias(\"k44\") @description(\n User is confused\n )\n E @description(\n User is excited\n )\n F @alias(\"k5\") // only alias\n \n G @alias(\"k6\") @description(#\"\n User is bored\n With a long description\n \"#)\n \n @@alias(\"Category\")\n}\n\nfunction FnTestAliasedEnumOutput(input: string) -> TestEnum {\n client GPT35\n prompt #\"\n Classify the user input into the following category\n \n {{ ctx.output_format }}\n\n {{ _.role('user') }}\n {{input}}\n\n {{ _.role('assistant') }}\n Category ID:\n \"#\n}\n\ntest FnTestAliasedEnumOutput {\n functions [FnTestAliasedEnumOutput]\n args {\n input \"mehhhhh\"\n }\n}", "test-files/comments/comments.baml" => "// add some functions, classes, enums etc with comments all over.", diff --git a/integ-tests/typescript/baml_client/inlinedbaml.ts b/integ-tests/typescript/baml_client/inlinedbaml.ts index 19ae29d8e..30b7b4935 100644 --- a/integ-tests/typescript/baml_client/inlinedbaml.ts +++ b/integ-tests/typescript/baml_client/inlinedbaml.ts @@ -26,7 +26,7 @@ const fileMap = { "fiddle-examples/extract-receipt-info.baml": "class ReceiptItem {\n name string\n description string?\n quantity int\n price float\n}\n\nclass ReceiptInfo {\n items ReceiptItem[]\n total_cost float?\n}\n\nfunction ExtractReceiptInfo(email: string) -> ReceiptInfo {\n client GPT4o\n prompt #\"\n Given the receipt below:\n\n ```\n {{email}}\n ```\n\n {{ ctx.output_format }}\n \"#\n}\n\n", "fiddle-examples/images/image.baml": "function DescribeImage(img: image) -> string {\n client GPT4o\n prompt #\"\n {{ _.role(\"user\") }}\n\n\n Describe the image below in 20 words:\n {{ img }}\n \"#\n\n}\n\nclass FakeImage {\n url string\n}\n\nclass ClassWithImage {\n myImage image\n param2 string\n fake_image FakeImage\n}\n\n// chat role user present\nfunction DescribeImage2(classWithImage: ClassWithImage, img2: image) -> string { \n client GPT4Turbo\n prompt #\"\n {{ _.role(\"user\") }}\n You should return 2 answers that answer the following commands.\n\n 1. Describe this in 5 words:\n {{ classWithImage.myImage }}\n\n 2. Also tell me what's happening here in one sentence:\n {{ img2 }}\n \"#\n}\n\n// no chat role\nfunction DescribeImage3(classWithImage: ClassWithImage, img2: image) -> string {\n client GPT4Turbo\n prompt #\"\n Describe this in 5 words:\n {{ classWithImage.myImage }}\n\n Tell me also what's happening here in one sentence and relate it to the word {{ classWithImage.param2 }}:\n {{ img2 }}\n \"#\n}\n\n\n// system prompt and chat prompt\nfunction DescribeImage4(classWithImage: ClassWithImage, img2: image) -> string {\n client GPT4Turbo\n prompt #\"\n {{ _.role(\"system\")}}\n\n Describe this in 5 words:\n {{ classWithImage.myImage }}\n\n Tell me also what's happening here in one sentence and relate it to the word {{ classWithImage.param2 }}:\n {{ img2 }}\n \"#\n}\n\ntest TestName {\n functions [DescribeImage]\n args {\n img { url \"https://imgs.xkcd.com/comics/standards.png\"}\n }\n}\n", "fiddle-examples/symbol-tuning.baml": "enum Category3 {\n Refund @alias(\"k1\")\n @description(\"Customer wants to refund a product\")\n\n CancelOrder @alias(\"k2\")\n @description(\"Customer wants to cancel an order\")\n\n TechnicalSupport @alias(\"k3\")\n @description(\"Customer needs help with a technical issue unrelated to account creation or login\")\n\n AccountIssue @alias(\"k4\")\n @description(\"Specifically relates to account-login or account-creation\")\n\n Question @alias(\"k5\")\n @description(\"Customer has a question\")\n}\n\nfunction ClassifyMessage3(input: string) -> Category {\n client GPT4\n\n prompt #\"\n Classify the following INPUT into ONE\n of the following categories:\n\n INPUT: {{ input }}\n\n {{ ctx.output_format }}\n\n Response:\n \"#\n}", - "generators.baml": "generator lang_python {\n output_type python/pydantic\n output_dir \"../python\"\n version \"0.55.1\"\n}\n\ngenerator lang_typescript {\n output_type typescript\n output_dir \"../typescript\"\n version \"0.55.1\"\n}\n\ngenerator lang_ruby {\n output_type ruby/sorbet\n output_dir \"../ruby\"\n version \"0.55.1\"\n}\n\ngenerator openapi {\n output_type rest/openapi\n output_dir \"../openapi\"\n version \"0.55.1\"\n on_generate \"rm .gitignore\"\n}\n", + "generators.baml": "generator lang_python {\n output_type python/pydantic\n output_dir \"../python\"\n version \"0.55.2\"\n}\n\ngenerator lang_typescript {\n output_type typescript\n output_dir \"../typescript\"\n version \"0.55.2\"\n}\n\ngenerator lang_ruby {\n output_type ruby/sorbet\n output_dir \"../ruby\"\n version \"0.55.2\"\n}\n\ngenerator openapi {\n output_type rest/openapi\n output_dir \"../openapi\"\n version \"0.55.2\"\n on_generate \"rm .gitignore\"\n}\n", "test-files/aliases/classes.baml": "class TestClassAlias {\n key string @alias(\"key-dash\") @description(#\"\n This is a description for key\n af asdf\n \"#)\n key2 string @alias(\"key21\")\n key3 string @alias(\"key with space\")\n key4 string //unaliased\n key5 string @alias(\"key.with.punctuation/123\")\n}\n\nfunction FnTestClassAlias(input: string) -> TestClassAlias {\n client GPT35\n prompt #\"\n {{ctx.output_format}}\n \"#\n}\n\ntest FnTestClassAlias {\n functions [FnTestClassAlias]\n args {\n input \"example input\"\n }\n}\n", "test-files/aliases/enums.baml": "enum TestEnum {\n A @alias(\"k1\") @description(#\"\n User is angry\n \"#)\n B @alias(\"k22\") @description(#\"\n User is happy\n \"#)\n // tests whether k1 doesnt incorrectly get matched with k11\n C @alias(\"k11\") @description(#\"\n User is sad\n \"#)\n D @alias(\"k44\") @description(\n User is confused\n )\n E @description(\n User is excited\n )\n F @alias(\"k5\") // only alias\n \n G @alias(\"k6\") @description(#\"\n User is bored\n With a long description\n \"#)\n \n @@alias(\"Category\")\n}\n\nfunction FnTestAliasedEnumOutput(input: string) -> TestEnum {\n client GPT35\n prompt #\"\n Classify the user input into the following category\n \n {{ ctx.output_format }}\n\n {{ _.role('user') }}\n {{input}}\n\n {{ _.role('assistant') }}\n Category ID:\n \"#\n}\n\ntest FnTestAliasedEnumOutput {\n functions [FnTestAliasedEnumOutput]\n args {\n input \"mehhhhh\"\n }\n}", "test-files/comments/comments.baml": "// add some functions, classes, enums etc with comments all over.", diff --git a/integ-tests/typescript/test-report.html b/integ-tests/typescript/test-report.html index 235d26a6a..cea4715ed 100644 --- a/integ-tests/typescript/test-report.html +++ b/integ-tests/typescript/test-report.html @@ -257,11 +257,11 @@ font-size: 1rem; padding: 0 0.5rem; } -

Test Report

Started: 2024-09-10 09:30:29
Suites (1)
0 passed
1 failed
0 pending
Tests (44)
42 passed
2 failed
0 pending
Integ tests > should work for all inputs
single bool
passed
0.536s
Integ tests > should work for all inputs
single string list
passed
0.534s
Integ tests > should work for all inputs
single class
passed
0.468s
Integ tests > should work for all inputs
multiple classes
passed
0.539s
Integ tests > should work for all inputs
single enum list
passed
0.44s
Integ tests > should work for all inputs
single float
passed
0.415s
Integ tests > should work for all inputs
single int
passed
0.5s
Integ tests > should work for all inputs
single optional string
passed
0.514s
Integ tests > should work for all inputs
single map string to string
passed
0.859s
Integ tests > should work for all inputs
single map string to class
passed
0.652s
Integ tests > should work for all inputs
single map string to map
passed
0.717s
Integ tests
should work for all outputs
passed
4.598s
Integ tests
works with retries1
passed
0.862s
Integ tests
works with retries2
passed
1.903s
Integ tests
works with fallbacks
passed
1.767s
Integ tests
should work with image from url
passed
0.972s
Integ tests
should work with image from base 64
passed
0.995s
Integ tests
should work with audio base 64
passed
1.307s
Integ tests
should work with audio from url
passed
1.125s
Integ tests
should support streaming in OpenAI
passed
2.957s
Integ tests
should support streaming in Gemini
passed
10.006s
Integ tests
should support AWS
passed
2.435s
Integ tests
should support streaming in AWS
passed
2.434s
Integ tests
should support OpenAI shorthand
passed
7.561s
Integ tests
should support OpenAI shorthand streaming
passed
8.742s
Integ tests
should support anthropic shorthand
passed
2.633s
Integ tests
should support anthropic shorthand streaming
passed
2.807s
Integ tests
should support streaming without iterating
passed
3.751s
Integ tests
should support streaming in Claude
passed
1.734s
Integ tests
should support vertex
failed
0.002s
Error: BamlError: BamlClientError: Something went wrong with the LLM client: LLM call failed: LLMErrorResponse { client: "Vertex", model: None, prompt: Chat([RenderedChatMessage { role: "user", allow_duplicate_role: false, parts: [Text("Write a nice short story about Donkey Kong")] }]), request_options: {}, start_time: SystemTime { tv_sec: 1725985894, tv_nsec: 717161000 }, latency: 141.667µs, message: "Error {\n    context: \"Failed to build request\",\n    source: \"Service account not found\",\n}", code: Other(2) }
+

Test Report

Started: 2024-09-11 10:22:08
Suites (1)
0 passed
1 failed
0 pending
Tests (44)
42 passed
2 failed
0 pending
Integ tests > should work for all inputs
single bool
passed
0.406s
Integ tests > should work for all inputs
single string list
passed
0.504s
Integ tests > should work for all inputs
single class
passed
0.425s
Integ tests > should work for all inputs
multiple classes
passed
0.517s
Integ tests > should work for all inputs
single enum list
passed
0.363s
Integ tests > should work for all inputs
single float
passed
0.441s
Integ tests > should work for all inputs
single int
passed
0.348s
Integ tests > should work for all inputs
single optional string
passed
0.461s
Integ tests > should work for all inputs
single map string to string
passed
0.593s
Integ tests > should work for all inputs
single map string to class
passed
1.314s
Integ tests > should work for all inputs
single map string to map
passed
0.683s
Integ tests
should work for all outputs
passed
3.478s
Integ tests
works with retries1
passed
0.725s
Integ tests
works with retries2
passed
1.851s
Integ tests
works with fallbacks
passed
1.466s
Integ tests
should work with image from url
passed
1.893s
Integ tests
should work with image from base 64
passed
1.208s
Integ tests
should work with audio base 64
passed
1.353s
Integ tests
should work with audio from url
passed
1.794s
Integ tests
should support streaming in OpenAI
passed
3.58s
Integ tests
should support streaming in Gemini
passed
8.292s
Integ tests
should support AWS
passed
2.386s
Integ tests
should support streaming in AWS
passed
2.032s
Integ tests
should support OpenAI shorthand
passed
6.173s
Integ tests
should support OpenAI shorthand streaming
passed
6.098s
Integ tests
should support anthropic shorthand
passed
3.421s
Integ tests
should support anthropic shorthand streaming
passed
3.16s
Integ tests
should support streaming without iterating
passed
2.779s
Integ tests
should support streaming in Claude
passed
1.224s
Integ tests
should support vertex
failed
0.002s
Error: BamlError: BamlClientError: Something went wrong with the LLM client: LLM call failed: LLMErrorResponse { client: "Vertex", model: None, prompt: Chat([RenderedChatMessage { role: "user", allow_duplicate_role: false, parts: [Text("Write a nice short story about Donkey Kong")] }]), request_options: {}, start_time: SystemTime { tv_sec: 1726075388, tv_nsec: 172433000 }, latency: 277.125µs, message: "Error {\n    context: \"Failed to build request\",\n    source: \"Service account not found\",\n}", code: Other(2) }
     at BamlAsyncClient.parsed [as TestVertex] (/Users/sam/baml/integ-tests/typescript/baml_client/async_client.ts:1258:16)
-    at Object.<anonymous> (/Users/sam/baml/integ-tests/typescript/tests/integ-tests.test.ts:282:17)
Integ tests
supports tracing sync
passed
0.007s
Integ tests
supports tracing async
passed
4.279s
Integ tests
should work with dynamic types single
passed
0.918s
Integ tests
should work with dynamic types enum
passed
0.622s
Integ tests
should work with dynamic types class
passed
1.042s
Integ tests
should work with dynamic inputs class
passed
0.674s
Integ tests
should work with dynamic inputs list
passed
0.814s
Integ tests
should work with dynamic output map
passed
1.375s
Integ tests
should work with dynamic output union
passed
2.364s
Integ tests
should work with nested classes
failed
0.105s
Error: BamlError: BamlClientError: Something went wrong with the LLM client: LLM call failed: LLMErrorResponse { client: "Ollama", model: None, prompt: Chat([RenderedChatMessage { role: "system", allow_duplicate_role: false, parts: [Text("Return a made up json blob that matches this schema:\nAnswer in JSON using this schema:\n{\n  prop1: string,\n  prop2: {\n    prop1: string,\n    prop2: string,\n    inner: {\n      prop2: int,\n      prop3: float,\n    },\n  },\n}\n---\n\nJSON:")] }]), request_options: {"model": String("llama2")}, start_time: SystemTime { tv_sec: 1725985906, tv_nsec: 821877000 }, latency: 2.156792ms, message: "reqwest::Error { kind: Request, url: Url { scheme: \"http\", cannot_be_a_base: false, username: \"\", password: None, host: Some(Domain(\"localhost\")), port: Some(11434), path: \"/v1/chat/completions\", query: None, fragment: None }, source: hyper_util::client::legacy::Error(Connect, ConnectError(\"tcp connect error\", Os { code: 61, kind: ConnectionRefused, message: \"Connection refused\" })) }", code: Other(2) }
+    at Object.<anonymous> (/Users/sam/baml/integ-tests/typescript/tests/integ-tests.test.ts:282:17)
Integ tests
supports tracing sync
passed
0.011s
Integ tests
supports tracing async
passed
5.033s
Integ tests
should work with dynamic types single
passed
1.334s
Integ tests
should work with dynamic types enum
passed
0.605s
Integ tests
should work with dynamic types class
passed
1.012s
Integ tests
should work with dynamic inputs class
passed
0.629s
Integ tests
should work with dynamic inputs list
passed
0.624s
Integ tests
should work with dynamic output map
passed
1.296s
Integ tests
should work with dynamic output union
passed
2.138s
Integ tests
should work with nested classes
failed
0.103s
Error: BamlError: BamlClientError: Something went wrong with the LLM client: LLM call failed: LLMErrorResponse { client: "Ollama", model: None, prompt: Chat([RenderedChatMessage { role: "system", allow_duplicate_role: false, parts: [Text("Return a made up json blob that matches this schema:\nAnswer in JSON using this schema:\n{\n  prop1: string,\n  prop2: {\n    prop1: string,\n    prop2: string,\n    inner: {\n      prop2: int,\n      prop3: float,\n    },\n  },\n}\n---\n\nJSON:")] }]), request_options: {"model": String("llama2")}, start_time: SystemTime { tv_sec: 1726075400, tv_nsec: 867273000 }, latency: 2.294666ms, message: "reqwest::Error { kind: Request, url: Url { scheme: \"http\", cannot_be_a_base: false, username: \"\", password: None, host: Some(Domain(\"localhost\")), port: Some(11434), path: \"/v1/chat/completions\", query: None, fragment: None }, source: hyper_util::client::legacy::Error(Connect, ConnectError(\"tcp connect error\", Os { code: 61, kind: ConnectionRefused, message: \"Connection refused\" })) }", code: Other(2) }
     at BamlStream.parsed [as getFinalResponse] (/Users/sam/baml/engine/language_client_typescript/stream.js:58:39)
-    at Object.<anonymous> (/Users/sam/baml/integ-tests/typescript/tests/integ-tests.test.ts:522:19)
Integ tests
should work with dynamic client
passed
0.574s
Integ tests
should work with 'onLogEvent'
passed
1.725s
Integ tests
should work with a sync client
passed
0.529s
Integ tests
should raise an error when appropriate
passed
2.586s
Console Log
    at Object.log (/Users/sam/baml/integ-tests/typescript/tests/integ-tests.test.ts:40:15)
+    at Object.<anonymous> (/Users/sam/baml/integ-tests/typescript/tests/integ-tests.test.ts:522:19)
Integ tests
should work with dynamic client
passed
0.526s
Integ tests
should work with 'onLogEvent'
passed
1.444s
Integ tests
should work with a sync client
passed
0.492s
Integ tests
should raise an error when appropriate
passed
0.699s
Console Log
    at Object.log (/Users/sam/baml/integ-tests/typescript/tests/integ-tests.test.ts:40:15)
     at Promise.then.completed (/Users/sam/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/utils.js:298:28)
     at new Promise (<anonymous>)
     at callAsyncCircusFn (/Users/sam/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/utils.js:231:10)
@@ -276,11 +276,11 @@
     at runTestInternal (/Users/sam/baml/integ-tests/typescript/node_modules/.pnpm/jest-runner@29.7.0/node_modules/jest-runner/build/runTest.js:367:16)
     at runTest (/Users/sam/baml/integ-tests/typescript/node_modules/.pnpm/jest-runner@29.7.0/node_modules/jest-runner/build/runTest.js:444:34)
calling with class
    at Object.log (/Users/sam/baml/integ-tests/typescript/tests/integ-tests.test.ts:46:15)
got response key
 true
-52
    at Object.log (/Users/sam/baml/integ-tests/typescript/tests/integ-tests.test.ts:132:15)
Expected error Error: BamlError: BamlClientError: BamlClientHttpError: LLM call failed: LLMErrorResponse { client: "RetryClientConstant", model: None, prompt: Chat([RenderedChatMessage { role: "system", allow_duplicate_role: false, parts: [Text("Say a haiku")] }]), request_options: {"model": String("gpt-3.5-turbo")}, start_time: SystemTime { tv_sec: 1725985841, tv_nsec: 427006000 }, latency: 116.995375ms, message: "Request failed: {\n    \"error\": {\n        \"message\": \"Incorrect API key provided: blah. You can find your API key at https://platform.openai.com/account/api-keys.\",\n        \"type\": \"invalid_request_error\",\n        \"param\": null,\n        \"code\": \"invalid_api_key\"\n    }\n}\n", code: InvalidAuthentication }
+52
    at Object.log (/Users/sam/baml/integ-tests/typescript/tests/integ-tests.test.ts:132:15)
Expected error Error: BamlError: BamlClientError: BamlClientHttpError: LLM call failed: LLMErrorResponse { client: "RetryClientConstant", model: None, prompt: Chat([RenderedChatMessage { role: "system", allow_duplicate_role: false, parts: [Text("Say a haiku")] }]), request_options: {"model": String("gpt-3.5-turbo")}, start_time: SystemTime { tv_sec: 1726075339, tv_nsec: 316179000 }, latency: 98.46ms, message: "Request failed: {\n    \"error\": {\n        \"message\": \"Incorrect API key provided: blah. You can find your API key at https://platform.openai.com/account/api-keys.\",\n        \"type\": \"invalid_request_error\",\n        \"param\": null,\n        \"code\": \"invalid_api_key\"\n    }\n}\n", code: InvalidAuthentication }
     at BamlAsyncClient.parsed [as TestRetryConstant] (/Users/sam/baml/integ-tests/typescript/baml_client/async_client.ts:1226:16)
     at Object.<anonymous> (/Users/sam/baml/integ-tests/typescript/tests/integ-tests.test.ts:129:7) {
   code: 'GenericFailure'
-}
    at Object.log (/Users/sam/baml/integ-tests/typescript/tests/integ-tests.test.ts:141:15)
Expected error Error: BamlError: BamlClientError: BamlClientHttpError: LLM call failed: LLMErrorResponse { client: "RetryClientExponential", model: None, prompt: Chat([RenderedChatMessage { role: "system", allow_duplicate_role: false, parts: [Text("Say a haiku")] }]), request_options: {"model": String("gpt-3.5-turbo")}, start_time: SystemTime { tv_sec: 1725985843, tv_nsec: 380159000 }, latency: 92.771291ms, message: "Request failed: {\n    \"error\": {\n        \"message\": \"Incorrect API key provided: blahh. You can find your API key at https://platform.openai.com/account/api-keys.\",\n        \"type\": \"invalid_request_error\",\n        \"param\": null,\n        \"code\": \"invalid_api_key\"\n    }\n}\n", code: InvalidAuthentication }
+}
    at Object.log (/Users/sam/baml/integ-tests/typescript/tests/integ-tests.test.ts:141:15)
Expected error Error: BamlError: BamlClientError: BamlClientHttpError: LLM call failed: LLMErrorResponse { client: "RetryClientExponential", model: None, prompt: Chat([RenderedChatMessage { role: "system", allow_duplicate_role: false, parts: [Text("Say a haiku")] }]), request_options: {"model": String("gpt-3.5-turbo")}, start_time: SystemTime { tv_sec: 1726075341, tv_nsec: 206557000 }, latency: 85.728708ms, message: "Request failed: {\n    \"error\": {\n        \"message\": \"Incorrect API key provided: blahh. You can find your API key at https://platform.openai.com/account/api-keys.\",\n        \"type\": \"invalid_request_error\",\n        \"param\": null,\n        \"code\": \"invalid_api_key\"\n    }\n}\n", code: InvalidAuthentication }
     at BamlAsyncClient.parsed [as TestRetryExponential] (/Users/sam/baml/integ-tests/typescript/baml_client/async_client.ts:1242:16)
     at Object.<anonymous> (/Users/sam/baml/integ-tests/typescript/tests/integ-tests.test.ts:138:7) {
   code: 'GenericFailure'
@@ -678,17 +678,17 @@
     at runTestInternal (/Users/sam/baml/integ-tests/typescript/node_modules/.pnpm/jest-runner@29.7.0/node_modules/jest-runner/build/runTest.js:367:16)
     at runTest (/Users/sam/baml/integ-tests/typescript/node_modules/.pnpm/jest-runner@29.7.0/node_modules/jest-runner/build/runTest.js:444:34)
Property: height
    at Object.log (/Users/sam/baml/integ-tests/typescript/tests/integ-tests.test.ts:494:13)
final  {
   hair_color: 'black',
-  attributes: { eye_color: 'blue', facial_hair: 'beard', age: '30' },
+  attributes: { eye_color: 'blue', facial_hair: 'beard' },
   height: { feet: 6, inches: null }
 }
    at Object.log (/Users/sam/baml/integ-tests/typescript/tests/integ-tests.test.ts:505:13)
final  {
   hair_color: 'black',
-  attributes: { eye_color: 'blue', facial_hair: 'beard' },
+  attributes: { eye_color: 'blue', facial_hair: 'beard', age: '30' },
   height: { meters: 1.8 }
 }
    at log (/Users/sam/baml/integ-tests/typescript/tests/integ-tests.test.ts:543:15)
     at callback (/Users/sam/baml/engine/language_client_typescript/async_context_vars.js:56:17)
onLogEvent {
   metadata: {
-    eventId: '1836cca3-2ec9-4efb-8dd4-54cee01ee7cd',
-    rootEventId: '1836cca3-2ec9-4efb-8dd4-54cee01ee7cd'
+    eventId: '95169c11-f97d-40f3-84dc-5675f3a9f0fc',
+    rootEventId: '95169c11-f97d-40f3-84dc-5675f3a9f0fc'
   },
   prompt: '[\n' +
     '  {\n' +
@@ -702,12 +702,12 @@
     ']',
   rawOutput: '["a", "b", "c"]',
   parsedOutput: '["a", "b", "c"]',
-  startTime: '2024-09-10T16:31:47.812Z'
+  startTime: '2024-09-11T17:23:21.708Z'
 }
    at log (/Users/sam/baml/integ-tests/typescript/tests/integ-tests.test.ts:543:15)
     at callback (/Users/sam/baml/engine/language_client_typescript/async_context_vars.js:56:17)
onLogEvent {
   metadata: {
-    eventId: '55fa7d1f-14c6-4f24-9362-7c3123580c4b',
-    rootEventId: '55fa7d1f-14c6-4f24-9362-7c3123580c4b'
+    eventId: '597677e7-c138-4528-90f5-bd8c60bd437b',
+    rootEventId: '597677e7-c138-4528-90f5-bd8c60bd437b'
   },
   prompt: '[\n' +
     '  {\n' +
@@ -721,5 +721,5 @@
     ']',
   rawOutput: '["d", "e", "f"]',
   parsedOutput: '["d", "e", "f"]',
-  startTime: '2024-09-10T16:31:48.366Z'
+  startTime: '2024-09-11T17:23:22.223Z'
 }
\ No newline at end of file diff --git a/tools/versions/engine.cfg b/tools/versions/engine.cfg index cde7b7b64..629d8c1f4 100644 --- a/tools/versions/engine.cfg +++ b/tools/versions/engine.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 0.55.1 +current_version = 0.55.2 commit = False tag = False parse = ^(?P\d+)\.(?P\d+).(?P\d+)$ diff --git a/tools/versions/integ-tests.cfg b/tools/versions/integ-tests.cfg index 11cb6e10e..82390f2e1 100644 --- a/tools/versions/integ-tests.cfg +++ b/tools/versions/integ-tests.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 0.55.1 +current_version = 0.55.2 commit = False tag = False parse = ^(?P\d+)\.(?P\d+).(?P\d+)$ diff --git a/tools/versions/python.cfg b/tools/versions/python.cfg index 646d4741e..22fd2ad44 100644 --- a/tools/versions/python.cfg +++ b/tools/versions/python.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 0.55.1 +current_version = 0.55.2 commit = False tag = False parse = ^(?P\d+)\.(?P\d+).(?P\d+)$ diff --git a/tools/versions/ruby.cfg b/tools/versions/ruby.cfg index b7758779e..8c40e05a2 100644 --- a/tools/versions/ruby.cfg +++ b/tools/versions/ruby.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 0.55.1 +current_version = 0.55.2 commit = False tag = False parse = ^(?P\d+)\.(?P\d+).(?P\d+)$ diff --git a/tools/versions/typescript.cfg b/tools/versions/typescript.cfg index 0b76c6b78..881e65131 100644 --- a/tools/versions/typescript.cfg +++ b/tools/versions/typescript.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 0.55.1 +current_version = 0.55.2 commit = False tag = False parse = ^(?P\d+)\.(?P\d+).(?P\d+)$ diff --git a/tools/versions/vscode.cfg b/tools/versions/vscode.cfg index d3615a246..9246195c7 100644 --- a/tools/versions/vscode.cfg +++ b/tools/versions/vscode.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 0.55.1 +current_version = 0.55.2 commit = False tag = False parse = ^(?P\d+)\.(?P\d+).(?P\d+)$ diff --git a/typescript/vscode-ext/packages/package.json b/typescript/vscode-ext/packages/package.json index beed0b9c1..487c919d2 100644 --- a/typescript/vscode-ext/packages/package.json +++ b/typescript/vscode-ext/packages/package.json @@ -2,7 +2,7 @@ "name": "baml-extension", "displayName": "Baml", "description": "BAML is a DSL for AI applications.", - "version": "0.55.1", + "version": "0.55.2", "publisher": "Boundary", "repository": "https://github.com/BoundaryML/baml", "homepage": "https://www.boundaryml.com",