From 06b962b945f958bf0637d13fec22bd2d59c64c5f Mon Sep 17 00:00:00 2001 From: aaronvg Date: Sun, 11 Aug 2024 14:04:09 -0700 Subject: [PATCH] fix github release not passing params to napi script (#872) --- .github/workflows/release.yml | 23 +- engine/language_client_typescript/Cargo.toml | 2 +- engine/language_client_typescript/native.d.ts | 32 +- .../language_client_typescript/package.json | 2 +- .../language_client_typescript/pnpm-lock.yaml | 232 ++-- integ-tests/typescript/test-report.html | 1162 +---------------- 6 files changed, 141 insertions(+), 1312 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 87fc8d312..7f38d2129 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -10,7 +10,6 @@ on: tags: - "test-release/*.*" - "*.*" - concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true @@ -108,7 +107,7 @@ jobs: _: - target: aarch64-apple-darwin host: macos-14 - node_build: pnpm build --target aarch64-apple-darwin + node_build: pnpm build:napi-release --target aarch64-apple-darwin baml_build_help: "off" # mise: true @@ -122,19 +121,19 @@ jobs: # from https://github.com/PyO3/maturin-action?tab=readme-ov-file#manylinux-docker-container # need a new version of manylinux to build crates on arm64-linux container: ghcr.io/rust-cross/manylinux_2_28-cross:aarch64 - node_build: pnpm build --target aarch64-unknown-linux-gnu --use-napi-cross + node_build: pnpm build:napi-release --target aarch64-unknown-linux-gnu --use-napi-cross cargo_args: -p baml-typescript-ffi -p baml-python-ffi baml_build_help: "off" - target: x86_64-apple-darwin host: macos-latest - node_build: pnpm build --target x86_64-apple-darwin + node_build: pnpm build:napi-release --target x86_64-apple-darwin baml_build_help: "off" # mise: true - target: x86_64-pc-windows-msvc host: windows-latest - node_build: pnpm build --target x86_64-pc-windows-msvc + node_build: pnpm build:napi-release --target x86_64-pc-windows-msvc setup-python-architecture: x64 cargo_args: -p baml-typescript-ffi -p baml-python-ffi baml_build_help: "off" @@ -143,7 +142,7 @@ jobs: host: ubuntu-latest # Using any of the manylinux containers breaks a bunch of stuff: actions/checkout here, pnpm build there - not worth it. container: null - node_build: pnpm build --target x86_64-unknown-linux-gnu --use-napi-cross + node_build: pnpm build:napi-release --target x86_64-unknown-linux-gnu --use-napi-cross mise: true name: Build ${{ matrix._.target }} @@ -190,12 +189,18 @@ jobs: - name: Build Rust run: cargo build --release --target ${{ matrix._.target }} ${{ matrix._.cargo_args }} working-directory: engine - - # Build Node + + # Build NAPI release - name: PNPM Build run: ${{ matrix._.node_build }} working-directory: engine/language_client_typescript - + + # Build TS wrapper code and helpers as well + - name: Build TS + run: pnpm build:ts_build + working-directory: engine/language_client_typescript + + - name: Upload artifact uses: actions/upload-artifact@v4 with: diff --git a/engine/language_client_typescript/Cargo.toml b/engine/language_client_typescript/Cargo.toml index d491fbb6d..63d00bcba 100644 --- a/engine/language_client_typescript/Cargo.toml +++ b/engine/language_client_typescript/Cargo.toml @@ -28,4 +28,4 @@ tokio = { version = "1", features = ["full"] } indexmap.workspace = true [build-dependencies] -napi-build = "2.0.1" +napi-build = "2.1.3" diff --git a/engine/language_client_typescript/native.d.ts b/engine/language_client_typescript/native.d.ts index 195be32c5..168e33850 100644 --- a/engine/language_client_typescript/native.d.ts +++ b/engine/language_client_typescript/native.d.ts @@ -1,6 +1,6 @@ /* auto-generated by NAPI-RS */ /* eslint-disable */ -export class BamlAudio { +export declare class BamlAudio { static fromUrl(url: string): BamlAudio static fromBase64(mediaType: string, base64: string): BamlAudio isUrl(): boolean @@ -9,7 +9,7 @@ export class BamlAudio { toJSON(): any } -export class BamlImage { +export declare class BamlImage { static fromUrl(url: string): BamlImage static fromBase64(mediaType: string, base64: string): BamlImage isUrl(): boolean @@ -18,7 +18,7 @@ export class BamlImage { toJSON(): any } -export class BamlRuntime { +export declare class BamlRuntime { static fromDirectory(directory: string, envVars: Record): BamlRuntime static fromFiles(rootPath: string, files: Record, envVars: Record): BamlRuntime createContextManager(): RuntimeContextManager @@ -31,61 +31,61 @@ export class BamlRuntime { drainStats(): TraceStats } -export class BamlSpan { +export declare class BamlSpan { static new(runtime: BamlRuntime, functionName: string, args: any, ctx: RuntimeContextManager): BamlSpan finish(result: any, ctx: RuntimeContextManager): any } -export class ClassBuilder { +export declare class ClassBuilder { field(): FieldType property(name: string): ClassPropertyBuilder } -export class ClassPropertyBuilder { +export declare class ClassPropertyBuilder { setType(fieldType: FieldType): ClassPropertyBuilder alias(alias?: string | undefined | null): ClassPropertyBuilder description(description?: string | undefined | null): ClassPropertyBuilder } -export class ClientRegistry { +export declare class ClientRegistry { constructor() addLlmClient(name: string, provider: string, options: { [string]: any }, retryPolicy?: string | undefined | null): void setPrimary(primary: string): void } -export class EnumBuilder { +export declare class EnumBuilder { value(name: string): EnumValueBuilder alias(alias?: string | undefined | null): EnumBuilder field(): FieldType } -export class EnumValueBuilder { +export declare class EnumValueBuilder { alias(alias?: string | undefined | null): EnumValueBuilder skip(skip?: boolean | undefined | null): EnumValueBuilder description(description?: string | undefined | null): EnumValueBuilder } -export class FieldType { +export declare class FieldType { list(): FieldType optional(): FieldType } -export class FunctionResult { +export declare class FunctionResult { isOk(): boolean parsed(): any } -export class FunctionResultStream { +export declare class FunctionResultStream { onEvent(func: (err: any, param: FunctionResult) => void): void done(rctx: RuntimeContextManager): Promise } -export class RuntimeContextManager { +export declare class RuntimeContextManager { upsertTags(tags: any): void deepClone(): RuntimeContextManager } -export class TraceStats { +export declare class TraceStats { get failed(): number get started(): number get finalized(): number @@ -95,7 +95,7 @@ export class TraceStats { toJson(): string } -export class TypeBuilder { +export declare class TypeBuilder { constructor() getEnum(name: string): EnumBuilder getClass(name: string): ClassBuilder @@ -118,7 +118,7 @@ export interface BamlLogEvent { startTime: string } -export declare function invoke_runtime_cli(params: Array): void +export declare export declare function invoke_runtime_cli(params: Array): void export interface LogEventMetadata { eventId: string diff --git a/engine/language_client_typescript/package.json b/engine/language_client_typescript/package.json index 4c0b38984..d702e7bce 100644 --- a/engine/language_client_typescript/package.json +++ b/engine/language_client_typescript/package.json @@ -67,7 +67,7 @@ }, "devDependencies": { "@biomejs/biome": "^1.7.3", - "@napi-rs/cli": "3.0.0-alpha.54", + "@napi-rs/cli": "3.0.0-alpha.56", "@types/node": "^20.12.11", "npm-run-all2": "^6.1.2", "ts-node": "^10.9.2", diff --git a/engine/language_client_typescript/pnpm-lock.yaml b/engine/language_client_typescript/pnpm-lock.yaml index c3d1eb265..2ab215e31 100644 --- a/engine/language_client_typescript/pnpm-lock.yaml +++ b/engine/language_client_typescript/pnpm-lock.yaml @@ -9,8 +9,8 @@ devDependencies: specifier: ^1.7.3 version: 1.7.3 '@napi-rs/cli': - specifier: 3.0.0-alpha.54 - version: 3.0.0-alpha.54 + specifier: 3.0.0-alpha.56 + version: 3.0.0-alpha.56 '@types/node': specifier: ^20.12.11 version: 20.12.11 @@ -164,9 +164,10 @@ packages: call-bind: 1.0.7 dev: true - /@napi-rs/cli@3.0.0-alpha.54: - resolution: {integrity: sha512-3xFQ0SFRhxP1WqyR/D3FYze423ToQKtrwd8s3Afl+CQC52wlIprA6/MbHudVMnono82wOKUxt71e39DACotHHg==} + /@napi-rs/cli@3.0.0-alpha.56: + resolution: {integrity: sha512-a03KyEodiZD9+MIL8xnIAcnNzznZy+BT/IBtXZe/kIEUYv/zVcxwpcBuNme5r6zIyDqla8NkhsC6h8IZR+HAgg==} engines: {node: '>= 16'} + hasBin: true peerDependencies: '@emnapi/runtime': ^1.1.0 emnapi: ^1.1.0 @@ -176,9 +177,9 @@ packages: emnapi: optional: true dependencies: - '@napi-rs/cross-toolchain': 0.0.14 - '@napi-rs/wasm-tools': 0.0.1 - '@octokit/rest': 20.1.1 + '@napi-rs/cross-toolchain': 0.0.16 + '@napi-rs/wasm-tools': 0.0.2 + '@octokit/rest': 21.0.1 clipanion: 3.2.1(typanion@3.14.0) colorette: 2.0.20 debug: 4.3.4 @@ -199,15 +200,15 @@ packages: - supports-color dev: true - /@napi-rs/cross-toolchain@0.0.14: - resolution: {integrity: sha512-Xgoe1gCEo5s5VUxmSnK4tYFJXW2JAVM02jptSbqA2+gp8pt4Vuk9oK2LvswwO9iRfHapKacYYhegD8Dq/+PBOQ==} + /@napi-rs/cross-toolchain@0.0.16: + resolution: {integrity: sha512-jwdjHT5L0m9MH0CmzDwPp0ckn/UO7afHCsPeo7NugHUvYgvlgS7SWhdMVgIgJW2HHqhcW/2nhaLLGpAU1c7QRQ==} peerDependencies: - '@napi-rs/cross-toolchain-arm64-target-aarch64': ^0.0.14 - '@napi-rs/cross-toolchain-arm64-target-armv7': ^0.0.14 - '@napi-rs/cross-toolchain-arm64-target-x86_64': ^0.0.14 - '@napi-rs/cross-toolchain-x64-target-aarch64': ^0.0.14 - '@napi-rs/cross-toolchain-x64-target-armv7': ^0.0.14 - '@napi-rs/cross-toolchain-x64-target-x86_64': ^0.0.14 + '@napi-rs/cross-toolchain-arm64-target-aarch64': ^0.0.16 + '@napi-rs/cross-toolchain-arm64-target-armv7': ^0.0.16 + '@napi-rs/cross-toolchain-arm64-target-x86_64': ^0.0.16 + '@napi-rs/cross-toolchain-x64-target-aarch64': ^0.0.16 + '@napi-rs/cross-toolchain-x64-target-armv7': ^0.0.16 + '@napi-rs/cross-toolchain-x64-target-x86_64': ^0.0.16 peerDependenciesMeta: '@napi-rs/cross-toolchain-arm64-target-aarch64': optional: true @@ -523,16 +524,6 @@ packages: '@napi-rs/tar-win32-x64-msvc': 0.1.1 dev: true - /@napi-rs/wasm-runtime@0.1.2: - resolution: {integrity: sha512-8JuczewTFIZ/XIjHQ+YlQUydHvlKx2hkcxtuGwh+t/t5zWyZct6YG4+xjHcq8xyc/e7FmFwf42Zj2YgICwmlvA==} - requiresBuild: true - dependencies: - '@emnapi/core': 1.1.1 - '@emnapi/runtime': 1.1.1 - '@tybys/wasm-util': 0.8.3 - dev: true - optional: true - /@napi-rs/wasm-runtime@0.2.3: resolution: {integrity: sha512-e4qmGDzXu2MYjj/XiKSgJ7XS7Z83MYVRN1yYaYXeQNVEO56zmshqmzFaELfdb612sLq/GmiPfRIwSji+bIlyCw==} requiresBuild: true @@ -543,8 +534,8 @@ packages: dev: true optional: true - /@napi-rs/wasm-tools-android-arm-eabi@0.0.1: - resolution: {integrity: sha512-Q/SyyO60dbpoLcN/hvGzNWDaCjuaMGFeg92GnsDBWm3OCwhvltr51+VDZbCIHQwfIvH4d63X29nEls7FHK75dA==} + /@napi-rs/wasm-tools-android-arm-eabi@0.0.2: + resolution: {integrity: sha512-/b+UU3suXjW4P0DzHRNdrnebQtFKcQf/YMeZJH+xUlKgvwli5kbmWjx8Wqqz0VETVkUTuPqJMBDIVLyc+14FGw==} engines: {node: '>= 10'} cpu: [arm] os: [android] @@ -552,8 +543,8 @@ packages: dev: true optional: true - /@napi-rs/wasm-tools-android-arm64@0.0.1: - resolution: {integrity: sha512-mn7QpSWJlQS7Z14DkWqW14HqEiI2R8FV3KT4SNdqm+O+K5uIUvAexxMn9Qu6gqLq1fHXj+7l2luAWmtN7RKLjA==} + /@napi-rs/wasm-tools-android-arm64@0.0.2: + resolution: {integrity: sha512-j57GbDflwJdZtT8pZj5fOV4JAP+LdKN+wzsUYs+QRUoBqpWbbUANudolqfw63bkS9sD4z7fbCuz8iwtJqzxTVA==} engines: {node: '>= 10'} cpu: [arm64] os: [android] @@ -561,8 +552,8 @@ packages: dev: true optional: true - /@napi-rs/wasm-tools-darwin-arm64@0.0.1: - resolution: {integrity: sha512-WuxMRtd5rCgqfuk7dehcft5eyGDOuNSMaJybprbX4IXvnjlLQf1zsCfp6wBI2Ptp2D+qEgE2SAMWBfzF9XDDkw==} + /@napi-rs/wasm-tools-darwin-arm64@0.0.2: + resolution: {integrity: sha512-P2ChgWgVuv9GwmbxN89R84KzIImoTqXINteEixUvmkdnhyFiR+I8deNs89Yed+5w8QLC6MEfrtRqLP9YI+NoQA==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -570,8 +561,8 @@ packages: dev: true optional: true - /@napi-rs/wasm-tools-darwin-x64@0.0.1: - resolution: {integrity: sha512-YGPjgIo1/Y774aAFb/UT+d8VQtTaIkdF0/ynlChe/UilBZX48vLaEM0HaoSqxA1WHvRm8Il8R3rBDDle0965rw==} + /@napi-rs/wasm-tools-darwin-x64@0.0.2: + resolution: {integrity: sha512-T/kQQ0gt8+wau1Z821PKVAD76QhmwVoLs2CT7Z9tTBs2pJvwSCP0C/kQiQAHcJIMi7A2E9Ab/Mez0BERy50EFA==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -579,8 +570,8 @@ packages: dev: true optional: true - /@napi-rs/wasm-tools-freebsd-x64@0.0.1: - resolution: {integrity: sha512-e5y+Z89XwI7HpLyCNEvDKdtO5Sga2+o8bDcNQNHjhMunnnHKPtlTvtIhieVmdqnNGPbuNkIx8xbTjkoWCZ49Tw==} + /@napi-rs/wasm-tools-freebsd-x64@0.0.2: + resolution: {integrity: sha512-GnnHu+r5sfzuxC/1J5UMF/h3BOZnHb3NQZ5hmbCfZYCKzpzRxrAJhzRunlbRN+v0x8M/49dztVTYR3s7K4ooAw==} engines: {node: '>= 10'} cpu: [x64] os: [freebsd] @@ -588,8 +579,8 @@ packages: dev: true optional: true - /@napi-rs/wasm-tools-linux-arm64-gnu@0.0.1: - resolution: {integrity: sha512-Hcy+XiCJd8XshxVOYvmyU5FgeY8d6txZf7ZefI38Y3eRm7rzGt/EvABGjvJfujnPaBeWi9fQVm3Zav5pwyxViw==} + /@napi-rs/wasm-tools-linux-arm64-gnu@0.0.2: + resolution: {integrity: sha512-KnZdLT0OnKb1CG2kdt3/WvM43vr9i+FEwXCvSOVC/6Tsifz7ynhMg7LAVESILd03HubzQJfg9nbRsk0bQ+IOwg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -597,8 +588,8 @@ packages: dev: true optional: true - /@napi-rs/wasm-tools-linux-arm64-musl@0.0.1: - resolution: {integrity: sha512-1mSquGy4N7jlRu/0OY/rqZa/XdCFGKrsl8SH4jRB318DVweOHLqn15QG4iwIrRVjCJROpaU9HRU/sgOKVbdqrA==} + /@napi-rs/wasm-tools-linux-arm64-musl@0.0.2: + resolution: {integrity: sha512-HkpZOID2U8P6pWqK3mqZ8bxU5xcuT3iA2fO+jrxn78h006iYgfNmdc5JaVhHnHazMmk32xKhSV4iV0VUh8UWDg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -606,8 +597,8 @@ packages: dev: true optional: true - /@napi-rs/wasm-tools-linux-x64-gnu@0.0.1: - resolution: {integrity: sha512-/+XuGQ9667EqrxRbpt2izLDNzWUWLTXl6KaRSh9TjcT7qL5+yllTqchc0JwIHJW5QnQlC1NW7HnSnwQZ+/v+8g==} + /@napi-rs/wasm-tools-linux-x64-gnu@0.0.2: + resolution: {integrity: sha512-YksJWBCyOalB9ogtP9+/dZKP+vR6+h7BmzMXaXMT71WW/GvIsifMVgv+DY/FRSNJQupp5Y+ugjqVAOUOc/G65g==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -615,8 +606,8 @@ packages: dev: true optional: true - /@napi-rs/wasm-tools-linux-x64-musl@0.0.1: - resolution: {integrity: sha512-L+5QcEsUS+QNcMI1AF6aBRKLzhxQ5VHRHVslaQwOxHoxyhMB/2hRH4ON6Zea1PyQS/zzZugwBuDEOcFtc3UjPQ==} + /@napi-rs/wasm-tools-linux-x64-musl@0.0.2: + resolution: {integrity: sha512-sPtRxPMdw05KdTcxgSPMmSXG2+PiK3vJ/l2+g9hvjnnKtvslJN2Hr7j8zgzuoKRAUFPaJVe6+D2xVh5cpdqhww==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -624,18 +615,18 @@ packages: dev: true optional: true - /@napi-rs/wasm-tools-wasm32-wasi@0.0.1: - resolution: {integrity: sha512-I1vAhMQcBblPJPg6pr+xydZ1NjPwKU2ympmI54BZfCOAMHs0ZfVb4yEqYAVIcSWOx3CF/0T2YrcOmiULTU3iGw==} + /@napi-rs/wasm-tools-wasm32-wasi@0.0.2: + resolution: {integrity: sha512-muRvZK7AIuo88G2AxYx3gA59rHMQgoN004saQkBvXnz3K/DVHKfTZ6TtUebss8zI3dURU6xExL8drxFWYxjEbQ==} engines: {node: '>=14.0.0'} cpu: [wasm32] requiresBuild: true dependencies: - '@napi-rs/wasm-runtime': 0.1.2 + '@napi-rs/wasm-runtime': 0.2.3 dev: true optional: true - /@napi-rs/wasm-tools-win32-arm64-msvc@0.0.1: - resolution: {integrity: sha512-A9peDWijE9X6qt5SNzqlmSMlOZiqeB9zhUVP5dtJKtpqVO098YVnZFsz/4Hv7LkSoxQE7brAd9yln/wz5qb1yQ==} + /@napi-rs/wasm-tools-win32-arm64-msvc@0.0.2: + resolution: {integrity: sha512-Cn13WQ+tpFqdVwx0DIWKbsI9auFyzVZV4F5UNOUeDt6GgOL+NndgJul0Pc9bSU6fi03AylMPfF/nTCaDWO2Wgw==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -643,8 +634,8 @@ packages: dev: true optional: true - /@napi-rs/wasm-tools-win32-ia32-msvc@0.0.1: - resolution: {integrity: sha512-6Y7GqnBCIdl8YsSQ+5AjnZ4iWDJnJrqzRlMDegCmPPf3WmRZ0sgnRU9iAHWcId9AEIf7SAs3x7Bnv2992zCwJA==} + /@napi-rs/wasm-tools-win32-ia32-msvc@0.0.2: + resolution: {integrity: sha512-xsg5DkIQi82a8rcx6246Y3XC8TIqHamY+/C6sIlPLaZEuHctDkMECAw0AANwRf5vN//D2oo2oljOuoYtB1GOKw==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] @@ -652,8 +643,8 @@ packages: dev: true optional: true - /@napi-rs/wasm-tools-win32-x64-msvc@0.0.1: - resolution: {integrity: sha512-Ab6ljJCQmXqJvE4/8DLvHEVTI7vVUrVfh6gCwnVwwrA/B2LgR98SanpT8/951ZaIH/lSuqkeVm+wqzgYM1FHRg==} + /@napi-rs/wasm-tools-win32-x64-msvc@0.0.2: + resolution: {integrity: sha512-yHigltEt33eq8bappvKsIliz4MxfMPn1M+NWbIFRWN+IS1Z57mhmc1osuk+IRXrSlq0Tom0R6MYN1jpkZKz81Q==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -661,120 +652,118 @@ packages: dev: true optional: true - /@napi-rs/wasm-tools@0.0.1: - resolution: {integrity: sha512-itoKmaVqRKIV37sKIEri1qjaYlWNtXyfymUaqXkLu5F16s+FwqwOmvxmdTHsvNKkMy4qCsSSetiLZO1IwvBMLQ==} + /@napi-rs/wasm-tools@0.0.2: + resolution: {integrity: sha512-kBvDQCP5BLw2TxTENXLp3Of7vVEx0uyIye824JHE4dduzzOHVgSoOFVhVqAT3Fx/hLV445RVWfEqQbXMg4w/Mw==} engines: {node: '>= 10'} optionalDependencies: - '@napi-rs/wasm-tools-android-arm-eabi': 0.0.1 - '@napi-rs/wasm-tools-android-arm64': 0.0.1 - '@napi-rs/wasm-tools-darwin-arm64': 0.0.1 - '@napi-rs/wasm-tools-darwin-x64': 0.0.1 - '@napi-rs/wasm-tools-freebsd-x64': 0.0.1 - '@napi-rs/wasm-tools-linux-arm64-gnu': 0.0.1 - '@napi-rs/wasm-tools-linux-arm64-musl': 0.0.1 - '@napi-rs/wasm-tools-linux-x64-gnu': 0.0.1 - '@napi-rs/wasm-tools-linux-x64-musl': 0.0.1 - '@napi-rs/wasm-tools-wasm32-wasi': 0.0.1 - '@napi-rs/wasm-tools-win32-arm64-msvc': 0.0.1 - '@napi-rs/wasm-tools-win32-ia32-msvc': 0.0.1 - '@napi-rs/wasm-tools-win32-x64-msvc': 0.0.1 - dev: true - - /@octokit/auth-token@4.0.0: - resolution: {integrity: sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==} + '@napi-rs/wasm-tools-android-arm-eabi': 0.0.2 + '@napi-rs/wasm-tools-android-arm64': 0.0.2 + '@napi-rs/wasm-tools-darwin-arm64': 0.0.2 + '@napi-rs/wasm-tools-darwin-x64': 0.0.2 + '@napi-rs/wasm-tools-freebsd-x64': 0.0.2 + '@napi-rs/wasm-tools-linux-arm64-gnu': 0.0.2 + '@napi-rs/wasm-tools-linux-arm64-musl': 0.0.2 + '@napi-rs/wasm-tools-linux-x64-gnu': 0.0.2 + '@napi-rs/wasm-tools-linux-x64-musl': 0.0.2 + '@napi-rs/wasm-tools-wasm32-wasi': 0.0.2 + '@napi-rs/wasm-tools-win32-arm64-msvc': 0.0.2 + '@napi-rs/wasm-tools-win32-ia32-msvc': 0.0.2 + '@napi-rs/wasm-tools-win32-x64-msvc': 0.0.2 + dev: true + + /@octokit/auth-token@5.1.1: + resolution: {integrity: sha512-rh3G3wDO8J9wSjfI436JUKzHIxq8NaiL0tVeB2aXmG6p/9859aUOAjA9pmSPNGGZxfwmaJ9ozOJImuNVJdpvbA==} engines: {node: '>= 18'} dev: true - /@octokit/core@5.2.0: - resolution: {integrity: sha512-1LFfa/qnMQvEOAdzlQymH0ulepxbxnCYAKJZfMci/5XJyIHWgEYnDmgnKakbTh7CH2tFQ5O60oYDvns4i9RAIg==} + /@octokit/core@6.1.2: + resolution: {integrity: sha512-hEb7Ma4cGJGEUNOAVmyfdB/3WirWMg5hDuNFVejGEDFqupeOysLc2sG6HJxY2etBp5YQu5Wtxwi020jS9xlUwg==} engines: {node: '>= 18'} dependencies: - '@octokit/auth-token': 4.0.0 - '@octokit/graphql': 7.1.0 - '@octokit/request': 8.4.0 - '@octokit/request-error': 5.1.0 + '@octokit/auth-token': 5.1.1 + '@octokit/graphql': 8.1.1 + '@octokit/request': 9.1.3 + '@octokit/request-error': 6.1.4 '@octokit/types': 13.5.0 - before-after-hook: 2.2.3 - universal-user-agent: 6.0.1 + before-after-hook: 3.0.2 + universal-user-agent: 7.0.2 dev: true - /@octokit/endpoint@9.0.5: - resolution: {integrity: sha512-ekqR4/+PCLkEBF6qgj8WqJfvDq65RH85OAgrtnVp1mSxaXF03u2xW/hUdweGS5654IlC0wkNYC18Z50tSYTAFw==} + /@octokit/endpoint@10.1.1: + resolution: {integrity: sha512-JYjh5rMOwXMJyUpj028cu0Gbp7qe/ihxfJMLc8VZBMMqSwLgOxDI1911gV4Enl1QSavAQNJcwmwBF9M0VvLh6Q==} engines: {node: '>= 18'} dependencies: '@octokit/types': 13.5.0 - universal-user-agent: 6.0.1 + universal-user-agent: 7.0.2 dev: true - /@octokit/graphql@7.1.0: - resolution: {integrity: sha512-r+oZUH7aMFui1ypZnAvZmn0KSqAUgE1/tUXIWaqUCa1758ts/Jio84GZuzsvUkme98kv0WFY8//n0J1Z+vsIsQ==} + /@octokit/graphql@8.1.1: + resolution: {integrity: sha512-ukiRmuHTi6ebQx/HFRCXKbDlOh/7xEV6QUXaE7MJEKGNAncGI/STSbOkl12qVXZrfZdpXctx5O9X1AIaebiDBg==} engines: {node: '>= 18'} dependencies: - '@octokit/request': 8.4.0 + '@octokit/request': 9.1.3 '@octokit/types': 13.5.0 - universal-user-agent: 6.0.1 + universal-user-agent: 7.0.2 dev: true /@octokit/openapi-types@22.2.0: resolution: {integrity: sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==} dev: true - /@octokit/plugin-paginate-rest@11.3.1(@octokit/core@5.2.0): + /@octokit/plugin-paginate-rest@11.3.1(@octokit/core@6.1.2): resolution: {integrity: sha512-ryqobs26cLtM1kQxqeZui4v8FeznirUsksiA+RYemMPJ7Micju0WSkv50dBksTuZks9O5cg4wp+t8fZ/cLY56g==} engines: {node: '>= 18'} peerDependencies: '@octokit/core': '5' dependencies: - '@octokit/core': 5.2.0 + '@octokit/core': 6.1.2 '@octokit/types': 13.5.0 dev: true - /@octokit/plugin-request-log@4.0.1(@octokit/core@5.2.0): - resolution: {integrity: sha512-GihNqNpGHorUrO7Qa9JbAl0dbLnqJVrV8OXe2Zm5/Y4wFkZQDfTreBzVmiRfJVfE4mClXdihHnbpyyO9FSX4HA==} + /@octokit/plugin-request-log@5.3.1(@octokit/core@6.1.2): + resolution: {integrity: sha512-n/lNeCtq+9ofhC15xzmJCNKP2BWTv8Ih2TTy+jatNCCq/gQP/V7rK3fjIfuz0pDWDALO/o/4QY4hyOF6TQQFUw==} engines: {node: '>= 18'} peerDependencies: - '@octokit/core': '5' + '@octokit/core': '>=6' dependencies: - '@octokit/core': 5.2.0 + '@octokit/core': 6.1.2 dev: true - /@octokit/plugin-rest-endpoint-methods@13.2.2(@octokit/core@5.2.0): + /@octokit/plugin-rest-endpoint-methods@13.2.2(@octokit/core@6.1.2): resolution: {integrity: sha512-EI7kXWidkt3Xlok5uN43suK99VWqc8OaIMktY9d9+RNKl69juoTyxmLoWPIZgJYzi41qj/9zU7G/ljnNOJ5AFA==} engines: {node: '>= 18'} peerDependencies: '@octokit/core': ^5 dependencies: - '@octokit/core': 5.2.0 + '@octokit/core': 6.1.2 '@octokit/types': 13.5.0 dev: true - /@octokit/request-error@5.1.0: - resolution: {integrity: sha512-GETXfE05J0+7H2STzekpKObFe765O5dlAKUTLNGeH+x47z7JjXHfsHKo5z21D/o/IOZTUEI6nyWyR+bZVP/n5Q==} + /@octokit/request-error@6.1.4: + resolution: {integrity: sha512-VpAhIUxwhWZQImo/dWAN/NpPqqojR6PSLgLYAituLM6U+ddx9hCioFGwBr5Mi+oi5CLeJkcAs3gJ0PYYzU6wUg==} engines: {node: '>= 18'} dependencies: '@octokit/types': 13.5.0 - deprecation: 2.3.1 - once: 1.4.0 dev: true - /@octokit/request@8.4.0: - resolution: {integrity: sha512-9Bb014e+m2TgBeEJGEbdplMVWwPmL1FPtggHQRkV+WVsMggPtEkLKPlcVYm/o8xKLkpJ7B+6N8WfQMtDLX2Dpw==} + /@octokit/request@9.1.3: + resolution: {integrity: sha512-V+TFhu5fdF3K58rs1pGUJIDH5RZLbZm5BI+MNF+6o/ssFNT4vWlCh/tVpF3NxGtP15HUxTTMUbsG5llAuU2CZA==} engines: {node: '>= 18'} dependencies: - '@octokit/endpoint': 9.0.5 - '@octokit/request-error': 5.1.0 + '@octokit/endpoint': 10.1.1 + '@octokit/request-error': 6.1.4 '@octokit/types': 13.5.0 - universal-user-agent: 6.0.1 + universal-user-agent: 7.0.2 dev: true - /@octokit/rest@20.1.1: - resolution: {integrity: sha512-MB4AYDsM5jhIHro/dq4ix1iWTLGToIGk6cWF5L6vanFaMble5jTX/UBQyiv05HsWnwUtY8JrfHy2LWfKwihqMw==} + /@octokit/rest@21.0.1: + resolution: {integrity: sha512-RWA6YU4CqK0h0J6tfYlUFnH3+YgBADlxaHXaKSG+BVr2y4PTfbU2tlKuaQoQZ83qaTbi4CUxLNAmbAqR93A6mQ==} engines: {node: '>= 18'} dependencies: - '@octokit/core': 5.2.0 - '@octokit/plugin-paginate-rest': 11.3.1(@octokit/core@5.2.0) - '@octokit/plugin-request-log': 4.0.1(@octokit/core@5.2.0) - '@octokit/plugin-rest-endpoint-methods': 13.2.2(@octokit/core@5.2.0) + '@octokit/core': 6.1.2 + '@octokit/plugin-paginate-rest': 11.3.1(@octokit/core@6.1.2) + '@octokit/plugin-request-log': 5.3.1(@octokit/core@6.1.2) + '@octokit/plugin-rest-endpoint-methods': 13.2.2(@octokit/core@6.1.2) dev: true /@octokit/types@13.5.0: @@ -863,8 +852,8 @@ packages: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} dev: true - /before-after-hook@2.2.3: - resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} + /before-after-hook@3.0.2: + resolution: {integrity: sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==} dev: true /bl@4.1.0: @@ -1001,10 +990,6 @@ packages: gopd: 1.0.1 dev: true - /deprecation@2.3.1: - resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} - dev: true - /diff@4.0.2: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} engines: {node: '>=0.3.1'} @@ -1141,6 +1126,7 @@ packages: /js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true dependencies: argparse: 2.0.1 dev: true @@ -1214,12 +1200,6 @@ packages: shell-quote: 1.8.1 dev: true - /once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - dependencies: - wrappy: 1.0.2 - dev: true - /onetime@5.1.2: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} @@ -1304,6 +1284,7 @@ packages: /semver@7.6.2: resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} engines: {node: '>=10'} + hasBin: true dev: true /set-function-length@1.2.2: @@ -1380,6 +1361,7 @@ packages: /ts-node@10.9.2(@types/node@20.12.11)(typescript@5.4.5): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} + hasBin: true peerDependencies: '@swc/core': '>=1.2.50' '@swc/wasm': '>=1.2.50' @@ -1430,8 +1412,8 @@ packages: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} dev: true - /universal-user-agent@6.0.1: - resolution: {integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==} + /universal-user-agent@7.0.2: + resolution: {integrity: sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==} dev: true /util-deprecate@1.0.2: @@ -1468,10 +1450,6 @@ packages: strip-ansi: 6.0.1 dev: true - /wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - dev: true - /yn@3.1.1: resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} engines: {node: '>=6'} diff --git a/integ-tests/typescript/test-report.html b/integ-tests/typescript/test-report.html index 58ededa3a..9128d8113 100644 --- a/integ-tests/typescript/test-report.html +++ b/integ-tests/typescript/test-report.html @@ -257,1168 +257,14 @@ font-size: 1rem; padding: 0 0.5rem; } -

Test Report

Started: 2024-08-05 16:42:54
Suites (1)
0 passed
1 failed
0 pending
Tests (39)
36 passed
3 failed
0 pending
Integ tests > should work for all inputs
single bool
failed
0.006s
Error: LLM call failed: LLMErrorResponse { client: "Vertex", model: None, prompt: Chat([RenderedChatMessage { role: "user", parts: [Text("Return this value back to me: true")] }]), request_options: {}, start_time: SystemTime { tv_sec: 1722901374, tv_nsec: 437280000 }, latency: 1.063458ms, message: "Failed to build request\n\nCaused by:\n    Service account not found", code: Other(2) }
+

Test Report

Started: 2024-08-11 13:55:41
Suites (1)
0 passed
1 failed
0 pending
Tests (39)
36 passed
3 failed
0 pending
Integ tests > should work for all inputs
single bool
failed
0.005s
Error: LLM call failed: LLMErrorResponse { client: "Vertex", model: None, prompt: Chat([RenderedChatMessage { role: "user", parts: [Text("Return this value back to me: true")] }]), request_options: {}, start_time: SystemTime { tv_sec: 1723409743, tv_nsec: 35387000 }, latency: 390.625µs, message: "Error {\n    context: \"Failed to build request\",\n    source: \"Service account not found\",\n}", code: Other(2) }
 
     at BamlAsyncClient.parsed [as TestFnNamedArgsSingleBool] (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/baml_client/async_client.ts:842:16)
-    at Object.<anonymous> (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:28:19)
Integ tests > should work for all inputs
single string list
passed
0.853s
Integ tests > should work for all inputs
single class
passed
0.538s
Integ tests > should work for all inputs
multiple classes
passed
0.696s
Integ tests > should work for all inputs
single enum list
passed
0.648s
Integ tests > should work for all inputs
single float
passed
0.318s
Integ tests > should work for all inputs
single int
passed
0.355s
Integ tests > should work for all inputs
single optional string
passed
0.409s
Integ tests > should work for all inputs
single map string to string
passed
2.468s
Integ tests > should work for all inputs
single map string to class
passed
0.529s
Integ tests > should work for all inputs
single map string to map
passed
0.891s
Integ tests
should work for all outputs
passed
3.815s
Integ tests
works with retries1
passed
0.724s
Integ tests
works with retries2
passed
2.029s
Integ tests
works with fallbacks
passed
1.518s
Integ tests
should work with image from url
passed
1.759s
Integ tests
should work with image from base 64
passed
1.006s
Integ tests
should work with audio base 64
passed
1.282s
Integ tests
should work with audio from url
passed
0.967s
Integ tests
should support streaming in OpenAI
passed
5.715s
Integ tests
should support streaming in Gemini
passed
7.51s
Integ tests
should support AWS
passed
2.696s
Integ tests
should support streaming in AWS
passed
2.044s
Integ tests
should support streaming without iterating
passed
2.494s
Integ tests
should support streaming in Claude
passed
1.019s
Integ tests
should support vertex
failed
0.001s
Error: LLM call failed: LLMErrorResponse { client: "Vertex", model: None, prompt: Chat([RenderedChatMessage { role: "user", parts: [Text("Write a nice short story about Donkey Kong")] }]), request_options: {}, start_time: SystemTime { tv_sec: 1722901416, tv_nsec: 752103000 }, latency: 37.542µs, message: "Failed to build request\n\nCaused by:\n    Service account not found", code: Other(2) }
+    at Object.<anonymous> (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:28:19)
Integ tests > should work for all inputs
single string list
passed
0.453s
Integ tests > should work for all inputs
single class
passed
0.428s
Integ tests > should work for all inputs
multiple classes
passed
0.524s
Integ tests > should work for all inputs
single enum list
passed
0.404s
Integ tests > should work for all inputs
single float
passed
0.3s
Integ tests > should work for all inputs
single int
passed
0.497s
Integ tests > should work for all inputs
single optional string
passed
0.368s
Integ tests > should work for all inputs
single map string to string
passed
0.483s
Integ tests > should work for all inputs
single map string to class
passed
0.495s
Integ tests > should work for all inputs
single map string to map
passed
0.711s
Integ tests
should work for all outputs
passed
3.358s
Integ tests
works with retries1
passed
0.696s
Integ tests
works with retries2
passed
1.83s
Integ tests
works with fallbacks
passed
1.225s
Integ tests
should work with image from url
passed
2.104s
Integ tests
should work with image from base 64
passed
1.091s
Integ tests
should work with audio base 64
passed
1s
Integ tests
should work with audio from url
passed
1.032s
Integ tests
should support streaming in OpenAI
passed
2.477s
Integ tests
should support streaming in Gemini
passed
8.836s
Integ tests
should support AWS
passed
1.823s
Integ tests
should support streaming in AWS
passed
1.841s
Integ tests
should support streaming without iterating
passed
2.992s
Integ tests
should support streaming in Claude
passed
0.613s
Integ tests
should support vertex
failed
0.003s
Error: LLM call failed: LLMErrorResponse { client: "Vertex", model: None, prompt: Chat([RenderedChatMessage { role: "user", parts: [Text("Write a nice short story about Donkey Kong")] }]), request_options: {}, start_time: SystemTime { tv_sec: 1723409778, tv_nsec: 643709000 }, latency: 201.5µ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/aaronvillalpando/Projects/baml/integ-tests/typescript/baml_client/async_client.ts:1146:16)
-    at Object.<anonymous> (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:262:17)
Integ tests
supports tracing sync
passed
0.003s
Integ tests
supports tracing async
failed
1.349s
Error: expect(received).toEqual(expected) // deep equality
+    at Object.<anonymous> (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:262:17)
Integ tests
supports tracing sync
passed
0.01s
Integ tests
supports tracing async
failed
1.443s
Error: expect(received).toEqual(expected) // deep equality
 
 Expected: 30
 Received: 0
-    at Object.toEqual (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:354:24)
Integ tests
should work with dynamic types single
passed
1.72s
Integ tests
should work with dynamic types enum
passed
1.025s
Integ tests
should work with dynamic types class
passed
0.86s
Integ tests
should work with dynamic inputs class
passed
0.575s
Integ tests
should work with dynamic inputs list
passed
0.483s
Integ tests
should work with dynamic output map
passed
0.916s
Integ tests
should work with dynamic output union
passed
1.884s
Integ tests
should work with nested classes
passed
15.789s
Integ tests
should work with dynamic client
passed
0.487s
Integ tests
should work with 'onLogEvent'
passed
1.085s
Integ tests
should work with a sync client
passed
0.358s
Console Log
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:40:15)
-    at Promise.then.completed (/Users/aaronvillalpando/Projects/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/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/utils.js:231:10)
-    at _callCircusTest (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:316:40)
-    at _runTest (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:252:3)
-    at _runTestsForDescribeBlock (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:126:9)
-    at _runTestsForDescribeBlock (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:121:9)
-    at _runTestsForDescribeBlock (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:121:9)
-    at run (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:71:3)
-    at runAndTransformResultsToJestFormat (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
-    at jestAdapter (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
-    at runTestInternal (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-runner@29.7.0/node_modules/jest-runner/build/runTest.js:367:16)
-    at runTest (/Users/aaronvillalpando/Projects/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/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:46:15)
got response key
-true
-52
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:132:15)
Expected error Error: (3 other previous tries)
-LLM call failed: LLMErrorResponse { client: "RetryClientConstant", model: None, prompt: Chat([RenderedChatMessage { role: "system", parts: [Text("Say a haiku")] }]), request_options: {"model": String("gpt-3.5-turbo")}, start_time: SystemTime { tv_sec: 1722901386, tv_nsec: 610663000 }, latency: 88.311833ms, 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/aaronvillalpando/Projects/baml/integ-tests/typescript/baml_client/async_client.ts:1114:16)
-    at Object.<anonymous> (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:129:7) {
-  code: 'GenericFailure'
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:141:15)
Expected error Error: (3 other previous tries)
-LLM call failed: LLMErrorResponse { client: "RetryClientExponential", model: None, prompt: Chat([RenderedChatMessage { role: "system", parts: [Text("Say a haiku")] }]), request_options: {"model": String("gpt-3.5-turbo")}, start_time: SystemTime { tv_sec: 1722901388, tv_nsec: 501252000 }, latency: 227.889125ms, 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/aaronvillalpando/Projects/baml/integ-tests/typescript/baml_client/async_client.ts:1130:16)
-    at Object.<anonymous> (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:138:7) {
-  code: 'GenericFailure'
-}
    at log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:274:15)
-    at func (/Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:69:38)
-    at AsyncLocalStorage.run (node:async_hooks:346:14)
-    at run (/Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:67:22)
-    at Object.<anonymous> (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:283:5)
-    at Promise.then.completed (/Users/aaronvillalpando/Projects/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/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/utils.js:231:10)
-    at _callCircusTest (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:316:40)
-    at _runTest (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:252:3)
-    at _runTestsForDescribeBlock (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:126:9)
-    at _runTestsForDescribeBlock (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:121:9)
-    at run (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:71:3)
-    at runAndTransformResultsToJestFormat (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
-    at jestAdapter (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
-    at runTestInternal (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-runner@29.7.0/node_modules/jest-runner/build/runTest.js:367:16)
-    at runTest (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-runner@29.7.0/node_modules/jest-runner/build/runTest.js:444:34)
hello world
    at log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:277:15)
-    at func (/Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:69:38)
-    at AsyncLocalStorage.run (node:async_hooks:346:14)
-    at run (/Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:67:22)
-    at Object.<anonymous> (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:283:5)
-    at Promise.then.completed (/Users/aaronvillalpando/Projects/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/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/utils.js:231:10)
-    at _callCircusTest (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:316:40)
-    at _runTest (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:252:3)
-    at _runTestsForDescribeBlock (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:126:9)
-    at _runTestsForDescribeBlock (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:121:9)
-    at run (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:71:3)
-    at runAndTransformResultsToJestFormat (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
-    at jestAdapter (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
-    at runTestInternal (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-runner@29.7.0/node_modules/jest-runner/build/runTest.js:367:16)
-    at runTest (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-runner@29.7.0/node_modules/jest-runner/build/runTest.js:444:34)
dummyFunc returned
    at log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:280:15)
-    at func (/Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:69:38)
-    at AsyncLocalStorage.run (node:async_hooks:346:14)
-    at run (/Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:67:22)
-    at Object.<anonymous> (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:283:5)
-    at Promise.then.completed (/Users/aaronvillalpando/Projects/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/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/utils.js:231:10)
-    at _callCircusTest (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:316:40)
-    at _runTest (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:252:3)
-    at _runTestsForDescribeBlock (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:126:9)
-    at _runTestsForDescribeBlock (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:121:9)
-    at run (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:71:3)
-    at runAndTransformResultsToJestFormat (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
-    at jestAdapter (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
-    at runTestInternal (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-runner@29.7.0/node_modules/jest-runner/build/runTest.js:367:16)
-    at runTest (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-runner@29.7.0/node_modules/jest-runner/build/runTest.js:444:34)
dummyFunc2 returned
    at log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:295:15)
-    at runNextTicks (node:internal/process/task_queues:60:5)
-    at listOnTimeout (node:internal/timers:540:9)
-    at processTimers (node:internal/timers:514:7)
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at async Promise.all (index 0)
-    at dummyFn (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:301:22)
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at async Promise.all (index 0)
-    at Object.<anonymous> (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:313:5)
samDummyNested nested1
    at log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:295:15)
-    at runNextTicks (node:internal/process/task_queues:60:5)
-    at listOnTimeout (node:internal/timers:540:9)
-    at processTimers (node:internal/timers:514:7)
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at async Promise.all (index 1)
-    at dummyFn (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:301:22)
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at async Promise.all (index 0)
-    at Object.<anonymous> (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:313:5)
samDummyNested nested2
    at log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:295:15)
-    at runNextTicks (node:internal/process/task_queues:60:5)
-    at listOnTimeout (node:internal/timers:540:9)
-    at processTimers (node:internal/timers:514:7)
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at async Promise.all (index 2)
-    at dummyFn (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:301:22)
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at async Promise.all (index 0)
-    at Object.<anonymous> (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:313:5)
samDummyNested nested3
    at log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:306:15)
-    at runNextTicks (node:internal/process/task_queues:60:5)
-    at listOnTimeout (node:internal/timers:540:9)
-    at processTimers (node:internal/timers:514:7)
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at async Promise.all (index 0)
-    at Object.<anonymous> (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:313:5)
dummy hi1
    at log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:295:15)
-    at runNextTicks (node:internal/process/task_queues:60:5)
-    at listOnTimeout (node:internal/timers:540:9)
-    at processTimers (node:internal/timers:514:7)
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at async Promise.all (index 0)
-    at dummyFn (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:301:22)
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at async Promise.all (index 1)
-    at Object.<anonymous> (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:313:5)
samDummyNested nested1
    at log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:295:15)
-    at runNextTicks (node:internal/process/task_queues:60:5)
-    at listOnTimeout (node:internal/timers:540:9)
-    at processTimers (node:internal/timers:514:7)
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at async Promise.all (index 1)
-    at dummyFn (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:301:22)
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at async Promise.all (index 1)
-    at Object.<anonymous> (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:313:5)
samDummyNested nested2
    at log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:295:15)
-    at runNextTicks (node:internal/process/task_queues:60:5)
-    at listOnTimeout (node:internal/timers:540:9)
-    at processTimers (node:internal/timers:514:7)
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at async Promise.all (index 2)
-    at dummyFn (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:301:22)
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at async Promise.all (index 1)
-    at Object.<anonymous> (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:313:5)
samDummyNested nested3
    at log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:306:15)
-    at runNextTicks (node:internal/process/task_queues:60:5)
-    at listOnTimeout (node:internal/timers:540:9)
-    at processTimers (node:internal/timers:514:7)
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at async Promise.all (index 1)
-    at Object.<anonymous> (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:313:5)
dummy hi2
    at log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:295:15)
-    at runNextTicks (node:internal/process/task_queues:60:5)
-    at listOnTimeout (node:internal/timers:540:9)
-    at processTimers (node:internal/timers:514:7)
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at async Promise.all (index 0)
-    at dummyFn (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:301:22)
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at async Promise.all (index 2)
-    at Object.<anonymous> (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:313:5)
samDummyNested nested1
    at log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:295:15)
-    at runNextTicks (node:internal/process/task_queues:60:5)
-    at listOnTimeout (node:internal/timers:540:9)
-    at processTimers (node:internal/timers:514:7)
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at async Promise.all (index 1)
-    at dummyFn (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:301:22)
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at async Promise.all (index 2)
-    at Object.<anonymous> (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:313:5)
samDummyNested nested2
    at log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:295:15)
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at async Promise.all (index 2)
-    at dummyFn (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:301:22)
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at async Promise.all (index 2)
-    at Object.<anonymous> (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:313:5)
samDummyNested nested3
    at log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:306:15)
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at async Promise.all (index 2)
-    at Object.<anonymous> (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:313:5)
dummy hi3
    at log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:320:15)
-    at func (/Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:44)
-    at AsyncLocalStorage.run (node:async_hooks:346:14)
-    at run (/Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:28)
-    at Object.<anonymous> (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:336:5)
hello world
    at log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:295:15)
-    at runNextTicks (node:internal/process/task_queues:60:5)
-    at listOnTimeout (node:internal/timers:540:9)
-    at processTimers (node:internal/timers:514:7)
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at async Promise.all (index 0)
-    at dummyFn (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:301:22)
samDummyNested nested1
    at log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:295:15)
-    at runNextTicks (node:internal/process/task_queues:60:5)
-    at listOnTimeout (node:internal/timers:540:9)
-    at processTimers (node:internal/timers:514:7)
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at async Promise.all (index 1)
-    at dummyFn (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:301:22)
samDummyNested nested2
    at log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:295:15)
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at async Promise.all (index 2)
-    at dummyFn (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:301:22)
samDummyNested nested3
    at log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:306:15)
dummy firstDummyFuncArg
    at log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:295:15)
-    at runNextTicks (node:internal/process/task_queues:60:5)
-    at listOnTimeout (node:internal/timers:540:9)
-    at processTimers (node:internal/timers:514:7)
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at async Promise.all (index 0)
-    at dummyFn (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:301:22)
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at /Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:325:20
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at Object.<anonymous> (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:319:17)
samDummyNested nested1
    at log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:295:15)
-    at runNextTicks (node:internal/process/task_queues:60:5)
-    at listOnTimeout (node:internal/timers:540:9)
-    at processTimers (node:internal/timers:514:7)
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at async Promise.all (index 1)
-    at dummyFn (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:301:22)
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at /Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:325:20
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at Object.<anonymous> (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:319:17)
samDummyNested nested2
    at log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:295:15)
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at async Promise.all (index 2)
-    at dummyFn (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:301:22)
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at /Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:325:20
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at Object.<anonymous> (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:319:17)
samDummyNested nested3
    at log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:306:15)
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at /Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:325:20
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at Object.<anonymous> (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:319:17)
dummy secondDummyFuncArg
    at log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:295:15)
-    at runNextTicks (node:internal/process/task_queues:60:5)
-    at listOnTimeout (node:internal/timers:540:9)
-    at processTimers (node:internal/timers:514:7)
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at async Promise.all (index 0)
-    at dummyFn (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:301:22)
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at /Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:333:20
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at Object.<anonymous> (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:319:17)
samDummyNested nested1
    at log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:295:15)
-    at runNextTicks (node:internal/process/task_queues:60:5)
-    at listOnTimeout (node:internal/timers:540:9)
-    at processTimers (node:internal/timers:514:7)
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at async Promise.all (index 1)
-    at dummyFn (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:301:22)
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at /Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:333:20
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at Object.<anonymous> (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:319:17)
samDummyNested nested2
    at log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:295:15)
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at async Promise.all (index 2)
-    at dummyFn (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:301:22)
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at /Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:333:20
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at Object.<anonymous> (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:319:17)
samDummyNested nested3
    at log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:306:15)
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at /Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:333:20
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:38
-    at /Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:13
-    at Object.<anonymous> (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:319:17)
dummy thirdDummyFuncArg
    at log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:339:15)
-    at func (/Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:90:44)
-    at AsyncLocalStorage.run (node:async_hooks:346:14)
-    at run (/Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:88:28)
-    at Object.<anonymous> (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:345:5)
hello world
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:349:13)
stats {"failed":30,"started":30,"finalized":30,"submitted":30,"sent":30,"done":0}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:373:13)
[
-  {
-    name: 'Harrison',
-    hair_color: 'BLACK',
-    last_name: null,
-    height: 1.83,
-    hobbies: [ 'SPORTS' ]
-  }
-]
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:430:13)
-    at Promise.then.completed (/Users/aaronvillalpando/Projects/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/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/utils.js:231:10)
-    at _callCircusTest (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:316:40)
-    at _runTest (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:252:3)
-    at _runTestsForDescribeBlock (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:126:9)
-    at _runTestsForDescribeBlock (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:121:9)
-    at run (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:71:3)
-    at runAndTransformResultsToJestFormat (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
-    at jestAdapter (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
-    at runTestInternal (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-runner@29.7.0/node_modules/jest-runner/build/runTest.js:367:16)
-    at runTest (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-runner@29.7.0/node_modules/jest-runner/build/runTest.js:444:34)
[
-  [
-    'hair_color',
-    ClassPropertyBuilder { bldr: ClassPropertyBuilder {} }
-  ],
-  [
-    'attributes',
-    ClassPropertyBuilder { bldr: ClassPropertyBuilder {} }
-  ]
-]
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:432:15)
-    at Promise.then.completed (/Users/aaronvillalpando/Projects/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/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/utils.js:231:10)
-    at _callCircusTest (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:316:40)
-    at _runTest (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:252:3)
-    at _runTestsForDescribeBlock (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:126:9)
-    at _runTestsForDescribeBlock (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:121:9)
-    at run (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:71:3)
-    at runAndTransformResultsToJestFormat (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
-    at jestAdapter (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
-    at runTestInternal (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-runner@29.7.0/node_modules/jest-runner/build/runTest.js:367:16)
-    at runTest (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-runner@29.7.0/node_modules/jest-runner/build/runTest.js:444:34)
Property: hair_color
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:432:15)
-    at Promise.then.completed (/Users/aaronvillalpando/Projects/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/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/utils.js:231:10)
-    at _callCircusTest (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:316:40)
-    at _runTest (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:252:3)
-    at _runTestsForDescribeBlock (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:126:9)
-    at _runTestsForDescribeBlock (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:121:9)
-    at run (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:71:3)
-    at runAndTransformResultsToJestFormat (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
-    at jestAdapter (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
-    at runTestInternal (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-runner@29.7.0/node_modules/jest-runner/build/runTest.js:367:16)
-    at runTest (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-runner@29.7.0/node_modules/jest-runner/build/runTest.js:444:34)
Property: attributes
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:440:13)
final  {
-  hair_color: 'black',
-  attributes: { eye_color: 'blue', facial_hair: 'beard' }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:464:13)
-    at Promise.then.completed (/Users/aaronvillalpando/Projects/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/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/utils.js:231:10)
-    at _callCircusTest (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:316:40)
-    at _runTest (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:252:3)
-    at _runTestsForDescribeBlock (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:126:9)
-    at _runTestsForDescribeBlock (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:121:9)
-    at run (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:71:3)
-    at runAndTransformResultsToJestFormat (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
-    at jestAdapter (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
-    at runTestInternal (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-runner@29.7.0/node_modules/jest-runner/build/runTest.js:367:16)
-    at runTest (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-runner@29.7.0/node_modules/jest-runner/build/runTest.js:444:34)
[
-  [
-    'hair_color',
-    ClassPropertyBuilder { bldr: ClassPropertyBuilder {} }
-  ],
-  [
-    'attributes',
-    ClassPropertyBuilder { bldr: ClassPropertyBuilder {} }
-  ],
-  [ 'height', ClassPropertyBuilder { bldr: ClassPropertyBuilder {} } ]
-]
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:466:15)
-    at Promise.then.completed (/Users/aaronvillalpando/Projects/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/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/utils.js:231:10)
-    at _callCircusTest (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:316:40)
-    at _runTest (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:252:3)
-    at _runTestsForDescribeBlock (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:126:9)
-    at _runTestsForDescribeBlock (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:121:9)
-    at run (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:71:3)
-    at runAndTransformResultsToJestFormat (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
-    at jestAdapter (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
-    at runTestInternal (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-runner@29.7.0/node_modules/jest-runner/build/runTest.js:367:16)
-    at runTest (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-runner@29.7.0/node_modules/jest-runner/build/runTest.js:444:34)
Property: hair_color
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:466:15)
-    at Promise.then.completed (/Users/aaronvillalpando/Projects/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/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/utils.js:231:10)
-    at _callCircusTest (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:316:40)
-    at _runTest (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:252:3)
-    at _runTestsForDescribeBlock (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:126:9)
-    at _runTestsForDescribeBlock (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:121:9)
-    at run (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:71:3)
-    at runAndTransformResultsToJestFormat (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
-    at jestAdapter (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
-    at runTestInternal (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-runner@29.7.0/node_modules/jest-runner/build/runTest.js:367:16)
-    at runTest (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-runner@29.7.0/node_modules/jest-runner/build/runTest.js:444:34)
Property: attributes
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:466:15)
-    at Promise.then.completed (/Users/aaronvillalpando/Projects/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/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/utils.js:231:10)
-    at _callCircusTest (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:316:40)
-    at _runTest (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:252:3)
-    at _runTestsForDescribeBlock (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:126:9)
-    at _runTestsForDescribeBlock (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:121:9)
-    at run (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/run.js:71:3)
-    at runAndTransformResultsToJestFormat (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)
-    at jestAdapter (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-circus@29.7.0/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)
-    at runTestInternal (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/node_modules/.pnpm/jest-runner@29.7.0/node_modules/jest-runner/build/runTest.js:367:16)
-    at runTest (/Users/aaronvillalpando/Projects/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/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:474:13)
final  {
-  hair_color: 'black',
-  attributes: { eye_color: 'blue', facial_hair: 'beard' },
-  height: { feet: 6, inches: null }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:485:13)
final  {
-  hair_color: 'black',
-  attributes: { eye_color: 'blue', facial_hair: 'beard' },
-  height: { meters: 1.8 }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: null, prop2: null }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: null, prop2: null }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: null, prop2: null }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: null, prop2: null }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: null, prop2: null }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: null, prop2: null }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: null, prop2: null }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: null, prop2: null }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: null, prop2: null }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: null, prop2: null }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: null, prop2: null }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: null, prop2: null }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: null, prop2: null }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: null, prop2: null }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: null, prop2: null }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: null, prop2: null }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: null, prop2: null }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: null, prop2: null }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: null, prop2: null }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: null, prop2: null }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: null, prop2: null }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: null, prop2: null }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: null, prop2: null }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: null, prop2: null }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: null, prop2: null }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: null, prop2: null }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: null, prop2: null }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: null, prop2: null }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: '', prop2: null }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: 'Hello', prop2: null }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: 'Hello', prop2: null }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: 'Hello', prop2: null }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: 'Hello', prop2: null }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: 'Hello', prop2: null }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: 'Hello', prop2: null }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: 'Hello', prop2: null }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: 'Hello', prop2: null }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: 'Hello', prop2: { prop1: null, prop2: null, inner: null } }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: 'Hello', prop2: { prop1: null, prop2: null, inner: null } }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: 'Hello', prop2: { prop1: null, prop2: null, inner: null } }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: 'Hello', prop2: { prop1: null, prop2: null, inner: null } }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: 'Hello', prop2: { prop1: null, prop2: null, inner: null } }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: 'Hello', prop2: { prop1: null, prop2: null, inner: null } }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: 'Hello', prop2: { prop1: null, prop2: null, inner: null } }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: 'Hello', prop2: { prop1: '', prop2: null, inner: null } }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: 'Hello', prop2: { prop1: 'World', prop2: null, inner: null } }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: 'Hello', prop2: { prop1: 'World', prop2: null, inner: null } }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: 'Hello', prop2: { prop1: 'World', prop2: null, inner: null } }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: 'Hello', prop2: { prop1: 'World', prop2: null, inner: null } }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: 'Hello', prop2: { prop1: 'World', prop2: null, inner: null } }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: 'Hello', prop2: { prop1: 'World', prop2: null, inner: null } }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: 'Hello', prop2: { prop1: 'World', prop2: null, inner: null } }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: 'Hello', prop2: { prop1: 'World', prop2: null, inner: null } }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg { prop1: 'Hello', prop2: { prop1: 'World', prop2: '', inner: null } }
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: null }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: null }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: null }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: null }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: null }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: null }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: null }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: {
-    prop1: 'World',
-    prop2: 'JSON',
-    inner: { prop2: null, prop3: null }
-  }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: {
-    prop1: 'World',
-    prop2: 'JSON',
-    inner: { prop2: null, prop3: null }
-  }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: {
-    prop1: 'World',
-    prop2: 'JSON',
-    inner: { prop2: null, prop3: null }
-  }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: {
-    prop1: 'World',
-    prop2: 'JSON',
-    inner: { prop2: null, prop3: null }
-  }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: {
-    prop1: 'World',
-    prop2: 'JSON',
-    inner: { prop2: null, prop3: null }
-  }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: {
-    prop1: 'World',
-    prop2: 'JSON',
-    inner: { prop2: null, prop3: null }
-  }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: {
-    prop1: 'World',
-    prop2: 'JSON',
-    inner: { prop2: null, prop3: null }
-  }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: {
-    prop1: 'World',
-    prop2: 'JSON',
-    inner: { prop2: null, prop3: null }
-  }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 4, prop3: null } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: null } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: null } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: null } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: null } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: null } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: null } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: null } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: null } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: null } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.1 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at Object.log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:498:15)
msg {
-  prop1: 'Hello',
-  prop2: { prop1: 'World', prop2: 'JSON', inner: { prop2: 42, prop3: 3.14 } }
-}
    at log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:523:15)
-    at callback (/Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:56:17)
onLogEvent {
-  metadata: {
-    eventId: 'c3e84ad9-3d02-4dd8-b534-0cbb9959cbc4',
-    rootEventId: 'c3e84ad9-3d02-4dd8-b534-0cbb9959cbc4'
-  },
-  prompt: '[\n' +
-    '  {\n' +
-    '    "role": "system",\n' +
-    '    "content": [\n' +
-    '      {\n' +
-    '        "text": "Return this value back to me: [\\"a\\", \\"b\\", \\"c\\"]"\n' +
-    '      }\n' +
-    '    ]\n' +
-    '  }\n' +
-    ']',
-  rawOutput: '["a", "b", "c"]',
-  parsedOutput: '["a", "b", "c"]',
-  startTime: '2024-08-05T23:44:01.979Z'
-}
    at log (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:523:15)
-    at callback (/Users/aaronvillalpando/Projects/baml/engine/language_client_typescript/async_context_vars.js:56:17)
onLogEvent {
-  metadata: {
-    eventId: '557b06de-5c7f-4cb4-8561-f21eabb43bbb',
-    rootEventId: '557b06de-5c7f-4cb4-8561-f21eabb43bbb'
-  },
-  prompt: '[\n' +
-    '  {\n' +
-    '    "role": "system",\n' +
-    '    "content": [\n' +
-    '      {\n' +
-    '        "text": "Return this value back to me: [\\"d\\", \\"e\\", \\"f\\"]"\n' +
-    '      }\n' +
-    '    ]\n' +
-    '  }\n' +
-    ']',
-  rawOutput: '["d", "e", "f"]',
-  parsedOutput: '["d", "e", "f"]',
-  startTime: '2024-08-05T23:44:02.380Z'
-}
\ No newline at end of file + at Object.toEqual (/Users/aaronvillalpando/Projects/baml/integ-tests/typescript/tests/integ-tests.test.ts:354:24)
Integ tests
should work with dynamic types single
passed
0.77s
Integ tests
should work with dynamic types enum
passed
0.831s
Integ tests
should work with dynamic types class
passed
0.74s
Integ tests
should work with dynamic inputs class
passed
0.594s
Integ tests
should work with dynamic inputs list
passed
0.513s
Integ tests
should work with dynamic output map
passed
0.917s
Integ tests
should work with dynamic output union
passed
1.814s
Integ tests
should work with nested classes
passed
13.016s
Integ tests
should work with dynamic client
passed
0.425s
Integ tests
should work with 'onLogEvent'
passed
0.918s
Integ tests
should work with a sync client
passed
0.398s
\ No newline at end of file