Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
51154c4
chore(zui): inverse relation between native type kinds and schemas (#…
franklevasseur Feb 16, 2026
2842994
feat(zui): allow discriminating directly on zui schema (#14948)
franklevasseur Feb 16, 2026
677a751
chore(zui): rm internal usage of ZodTypeAny (#14949)
franklevasseur Feb 16, 2026
9ab406b
chore(zui): rm internal usage of ZodFirstPartyTypeKind (#14950)
franklevasseur Feb 16, 2026
61ed8d7
chore(zui): rm unused stuff (#14952)
franklevasseur Feb 17, 2026
14667f8
chore(zui): move builder functions in dedicated file (#14953)
franklevasseur Feb 17, 2026
19b005b
chore(zui): extract zod error logic out of types (#14955)
franklevasseur Feb 17, 2026
4c7e5fb
chore(zui): rm unused benchmarks (#14956)
franklevasseur Feb 17, 2026
76564fd
chore(zui): move most utils outside types (#14957)
franklevasseur Feb 18, 2026
a46903d
chore(zui): rm enumUtils (#14958)
franklevasseur Feb 18, 2026
94120b1
chore(zui): rm objectUtils (#14959)
franklevasseur Feb 18, 2026
6c4ebde
chore(zui): rm partialUtils (#14960)
franklevasseur Feb 18, 2026
463b0cb
chore(zui): replace enums by unions of string literals (#14961)
franklevasseur Feb 18, 2026
1f8492e
chore(zui): move parsing utils to basetype (#14962)
franklevasseur Feb 18, 2026
78792e5
chore(zui): rm unused import
franklevasseur Feb 18, 2026
d5b0db4
chore(zui): cleanup API (#14964)
franklevasseur Feb 20, 2026
afa0f64
chore(zui): rm a bunch of any types
franklevasseur Feb 20, 2026
53d36e3
feat(zui): completly remove classes from API + remove circular deps (…
franklevasseur Feb 26, 2026
a32d262
chore(zui): rename RawCreateParams to ZodCreateParams
franklevasseur Feb 26, 2026
f921d17
chore(zui): rm dupplicated typings with type-utils
franklevasseur Feb 26, 2026
a53f2e7
chore(zui): add todo comments
franklevasseur Feb 26, 2026
151fc6d
feat(zui): rm deepPartial method on zod objects
franklevasseur Feb 27, 2026
97438a8
chore(zui): move back primitive type in typings
franklevasseur Feb 27, 2026
96718da
chore(zui): move zod native type to typings file
franklevasseur Feb 27, 2026
8683846
fix(zui): simplify outputed json schema
franklevasseur Mar 2, 2026
347667a
feat(zui): export zui guard to discriminate between different zod typ…
franklevasseur Mar 2, 2026
1ea68a0
chore(bots/clog): leftover file
franklevasseur Mar 2, 2026
8b4c336
chore(zui): move test assertion utils together and make sure it's not…
franklevasseur Mar 2, 2026
905e608
chore: update codebase for the new zui API (#14989)
franklevasseur Mar 4, 2026
8ffb54d
chore(z): all exports are now under the z namespace (#14987)
franklevasseur Mar 4, 2026
37c2d3f
feat(sdk): zui is only exported under the z namespace (#14990)
franklevasseur Mar 4, 2026
11ab793
Merge branch 'master' into zui2
franklevasseur Mar 4, 2026
a3f2667
chore(zui): cleanup some incorrect usages of zod any + commented code…
franklevasseur Mar 4, 2026
af80007
chore(zui): rm dupplication between tuple impl and typings (#14992)
franklevasseur Mar 4, 2026
8dfa2ab
chore(zui): expose internal parsing methods to rm casting (#14996)
franklevasseur Mar 6, 2026
71d7857
Merge branch 'master' into zui2
franklevasseur Mar 9, 2026
7683d5d
chore(zui): rm bunch of any types (#14997)
franklevasseur Mar 9, 2026
907d6cd
chore(zui): rm weird null fallback
franklevasseur Mar 9, 2026
70cc463
feat(zui): zod effects have distinct builders and are fully typed (#1…
franklevasseur Mar 10, 2026
2a51dad
chore(zui): cleanup basetype implementation
franklevasseur Mar 10, 2026
03963bc
chore(zui): rename transformer dir to effect (#15000)
franklevasseur Mar 10, 2026
93de52c
feat(zui): cleanup type API, rm deprecated notice, rm any
franklevasseur Mar 10, 2026
6b3f50c
fix(zui): JSONSchema7 is not reexported in z namespace
franklevasseur Mar 10, 2026
453815f
update
franklevasseur Mar 10, 2026
81b8cfe
fix(zai): correct manipulation of zui schemas
franklevasseur Mar 11, 2026
16574a2
update
franklevasseur Mar 11, 2026
73ff227
chore(zui): slightly refactor zod issue types
franklevasseur Mar 14, 2026
ebad11b
update
franklevasseur Mar 14, 2026
adb8594
feat(zui): replace all effects with general purpose streams (#15015)
franklevasseur Mar 17, 2026
5ef2445
chore: update models (#15012)
allardy Mar 17, 2026
f7ef99a
fix(zai): broken tests (#15017)
franklevasseur Mar 17, 2026
97585b5
Merge branch 'master' into zui2
franklevasseur Mar 17, 2026
c339853
chore: bump package versions
franklevasseur Mar 17, 2026
07ba55e
feat(zui): revamp the API for simpler type manipulation (#14947)
franklevasseur Mar 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,4 @@ tilt_config.json
hubspot.config.yml
AGENTS.md
CLAUDE.md
.claude
2 changes: 1 addition & 1 deletion integrations/anthropic/integration.definition.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ export default new IntegrationDefinition({
name: 'anthropic',
title: 'Anthropic',
description: 'Access a curated list of Claude models to set as your chosen LLM.',
version: '13.0.1',
version: '14.0.0',
readme: 'hub.md',
icon: 'icon.svg',
entities: {
Expand Down
14 changes: 14 additions & 0 deletions integrations/anthropic/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,20 @@ const LanguageModels: Record<ModelId, llm.ModelDetails> = {
// NOTE: We don't support returning "thinking" blocks from Claude in the integration action output as the concept of "thinking" blocks is a Claude-specific feature that other providers don't have. For now we won't support this as an official feature in the integration so it needs to be taken into account when using reasoning mode and passing a multi-turn conversation history in the generateContent action input.
// For more information, see: https://docs.anthropic.com/en/docs/build-with-claude/extended-thinking#preserving-thinking-blocks
// NOTE: We intentionally didn't include the Opus model as it's the most expensive model in the market, it's not very popular, and no users have ever requested it so far.
'claude-sonnet-4-6': {
name: 'Claude Sonnet 4.6',
description:
'Claude Sonnet 4.6 offers the best combination of speed and intelligence in the Claude family. It features adaptive thinking for dynamic reasoning allocation, delivering fast responses for simple queries and deeper analysis for complex tasks.',
tags: ['recommended', 'reasoning', 'agents', 'vision', 'general-purpose', 'coding'],
input: {
costPer1MTokens: 3,
maxTokens: 200_000,
},
output: {
costPer1MTokens: 15,
maxTokens: 64_000,
},
},
'claude-haiku-4-5-20251001': {
name: 'Claude Haiku 4.5',
description:
Expand Down
1 change: 1 addition & 0 deletions integrations/anthropic/src/schemas.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ export const DefaultModel: ModelId = 'claude-sonnet-4-5-20250929'

export const ModelId = z
.enum([
'claude-sonnet-4-6',
'claude-haiku-4-5-20251001',
'claude-haiku-4-5-reasoning-20251001',
'claude-sonnet-4-5-20250929',
Expand Down
2 changes: 1 addition & 1 deletion integrations/browser/integration.definition.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { IntegrationDefinition } from '@botpress/sdk'
import { actionDefinitions } from 'src/definitions/actions'

export const INTEGRATION_NAME = 'browser'
export const INTEGRATION_VERSION = '0.8.4'
export const INTEGRATION_VERSION = '0.8.5'

export default new IntegrationDefinition({
name: INTEGRATION_NAME,
Expand Down
23 changes: 11 additions & 12 deletions integrations/browser/src/actions/discover-urls.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { RuntimeError } from '@botpress/client'
import { IntegrationLogger, z, ZodIssueCode } from '@botpress/sdk'
import { IntegrationLogger, z } from '@botpress/sdk'
import Firecrawl, { SdkError } from '@mendable/firecrawl-js'
import { trackEvent } from '../tracking'
import { isValidGlob, matchGlob } from '../utils/globs'
Expand All @@ -11,37 +11,36 @@ const COST_PER_FIRECRAWL_MAP = 0.001

type StopReason = Awaited<ReturnType<bp.IntegrationProps['actions']['discoverUrls']>>['stopReason']

export const urlSchema = z.string().transform((url, ctx) => {
type ZodIssueCode = z.ZodIssue['code']

export const urlSchema = z.string().downstream((url) => {
url = url.trim()
if (!url.includes('://')) {
url = `https://${url}`
}
try {
const x = new URL(url)
if (x.protocol !== 'http:' && x.protocol !== 'https:') {
ctx.addIssue({
code: ZodIssueCode.custom,
return z.ERR({
code: 'custom' satisfies ZodIssueCode,
message: 'Invalid protocol, only URLs starting with HTTP and HTTPS are supported',
})
return z.NEVER
}

if (!/.\.[a-zA-Z]{2,}$/.test(x.hostname)) {
ctx.addIssue({
code: ZodIssueCode.custom,
return z.ERR({
code: 'custom' satisfies ZodIssueCode,
message: 'Invalid TLD',
})
return z.NEVER
}
const pathName = x.pathname.endsWith('/') ? x.pathname.slice(0, -1) : x.pathname
return `${x.origin}${pathName}${x.search ? x.search : ''}`
return z.OK(`${x.origin}${pathName}${x.search ? x.search : ''}`)
} catch (caught) {
const err = caught instanceof Error ? caught : new Error('Unknown error while parsing URL')
ctx.addIssue({
code: ZodIssueCode.custom,
return z.ERR({
code: 'custom' satisfies ZodIssueCode,
message: 'Invalid URL: ' + err.message,
})
return z.NEVER
}
})

Expand Down
2 changes: 1 addition & 1 deletion integrations/calendly/integration.definition.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { inviteeEventOutputSchema } from 'definitions/events'
export default new IntegrationDefinition({
name: 'calendly',
title: 'Calendly',
version: '0.0.2',
version: '0.0.3',
readme: 'hub.md',
icon: 'icon.svg',
description: 'Schedule meetings and manage events using the Calendly scheduling platform.',
Expand Down
6 changes: 3 additions & 3 deletions integrations/calendly/src/utils.ts
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { RuntimeError, ZodError } from '@botpress/sdk'
import { RuntimeError, z } from '@botpress/sdk'
import axios from 'axios'
import type { Result } from './types'

const _isZodError = (error: any): error is ZodError => {
return error && typeof error === 'object' && error instanceof ZodError && 'errors' in error
const _isZodError = (error: any): error is z.ZodError => {
return error && typeof error === 'object' && z.is.zuiError(error) && 'errors' in error
}

export function parseError(thrown: unknown): RuntimeError {
Expand Down
2 changes: 1 addition & 1 deletion integrations/github/integration.definition.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { actions, events, configuration, configurations, channels, user, secrets
export default new sdk.IntegrationDefinition({
name: INTEGRATION_NAME,
title: 'GitHub',
version: '1.1.8',
version: '1.1.9',
icon: 'icon.svg',
readme: 'hub.md',
description: 'Manage GitHub issues, pull requests, and repositories.',
Expand Down
4 changes: 2 additions & 2 deletions integrations/github/src/definitions/events.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import { z, ZodTypeAny } from '@botpress/sdk'
import { z } from '@botpress/sdk'
import * as sdk from '@botpress/sdk'
import { Issue, PullRequest, User, PullRequestReview } from './entities'

const COMMON_EVENT_FIELDS = {
sender: {
eventSender: User.title('Sender').describe('The user who triggered the event'),
},
} as const satisfies Record<string, Record<string, ZodTypeAny>>
} as const satisfies Record<string, Record<string, z.ZodTypeAny>>

const pullRequestOpened = {
title: 'Pull Request opened',
Expand Down
4 changes: 2 additions & 2 deletions integrations/github/src/definitions/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { z, ZodRawShape } from '@botpress/sdk'
import { z } from '@botpress/sdk'
import * as sdk from '@botpress/sdk'

export { actions } from './actions'
Expand All @@ -23,7 +23,7 @@ const webhookSecret = {
.describe(
'A high-entropy string that only you and Botpress know. Must be set to the same value as in the GitHub organization settings.'
),
} as const satisfies ZodRawShape
} as const satisfies z.ZodRawShape

export const configurations = {
manualApp: {
Expand Down
2 changes: 1 addition & 1 deletion integrations/mailchimp/integration.definition.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ const INTEGRATION_NAME = 'mailchimp'
export default new IntegrationDefinition({
name: INTEGRATION_NAME,
title: 'Mailchimp',
version: '0.3.10',
version: '0.3.11',
readme: 'hub.md',
icon: 'icon.svg',
description: 'Send mass email campaigns from within your workflows. Manage customers, campaigns, lists and more.',
Expand Down
6 changes: 3 additions & 3 deletions integrations/mailchimp/src/utils.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ZodError, RuntimeError } from '@botpress/sdk'
import { RuntimeError, z } from '@botpress/sdk'
import { MailchimpApi } from './client'
import { Customer, MailchimpAPIError } from './misc/custom-types'
import { Logger } from './misc/types'
Expand Down Expand Up @@ -27,8 +27,8 @@ export const isMailchimpError = (error: any): error is MailchimpAPIError => {
return 'status' in error && 'response' in error && 'body' in error.response
}

export const isZodError = (error: any): error is ZodError => {
return error && typeof error === 'object' && error instanceof ZodError && 'errors' in error
export const isZodError = (error: any): error is z.ZodError => {
return error && typeof error === 'object' && z.is.zuiError(error) && 'errors' in error
}

export const parseError = (error: any): RuntimeError => {
Expand Down
2 changes: 1 addition & 1 deletion integrations/openai/integration.definition.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ export default new IntegrationDefinition({
title: 'OpenAI',
description:
'Gain access to OpenAI models for text generation, speech synthesis, audio transcription, and image generation.',
version: '18.0.1',
version: '19.0.0',
readme: 'hub.md',
icon: 'icon.svg',
entities: {
Expand Down
39 changes: 37 additions & 2 deletions integrations/openai/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,34 @@ const DEFAULT_IMAGE_MODEL_ID: ImageModelId = 'dall-e-3-standard-1024'
// https://openai.com/api/pricing/
const languageModels: Record<LanguageModelId, llm.ModelDetails> = {
// IMPORTANT: Only full model names should be supported here, as the short model names can be pointed by OpenAI at any time to a newer model with different pricing.
'gpt-5.4-2026-03-05': {
name: 'GPT-5.4',
description:
'GPT-5.4 is the latest frontier model in the GPT-5 series, featuring a 1M+ context window and adaptive reasoning. It delivers state-of-the-art performance on professional knowledge work, coding, and agentic tasks with improved long-context understanding.',
tags: ['recommended', 'reasoning', 'general-purpose', 'vision', 'coding', 'agents'],
input: {
costPer1MTokens: 2.5,
maxTokens: 1_047_576,
},
output: {
costPer1MTokens: 15,
maxTokens: 128_000,
},
},
'gpt-5.3-2026-02-06': {
name: 'GPT-5.3',
description:
'GPT-5.3 is a frontier model in the GPT-5 series, featuring a 1M+ context window and adaptive reasoning. It offers improved coding, agentic, and long-context performance over GPT-5.2, with enhanced instruction-following and reduced hallucinations.',
tags: ['recommended', 'reasoning', 'general-purpose', 'vision', 'coding', 'agents'],
input: {
costPer1MTokens: 2,
maxTokens: 1_047_576,
},
output: {
costPer1MTokens: 14,
maxTokens: 128_000,
},
},
'gpt-5.2-2025-12-11': {
name: 'GPT-5.2',
description:
Expand Down Expand Up @@ -363,6 +391,8 @@ export default new bp.Integration({
defaultModel: DEFAULT_LANGUAGE_MODEL_ID,
overrideRequest: (request) => {
const isReasoningModel =
input.model?.id.startsWith('gpt-5.4-') ||
input.model?.id.startsWith('gpt-5.3-') ||
input.model?.id.startsWith('gpt-5.2-') ||
input.model?.id.startsWith('gpt-5.1-') ||
input.model?.id.startsWith('gpt-5-') ||
Expand All @@ -374,8 +404,13 @@ export default new bp.Integration({
if (input.reasoningEffort) {
request.reasoning_effort = validateOpenAIReasoningEffort(input, logger)
} else {
if (input.model?.id.startsWith('gpt-5.2-') || input.model?.id.startsWith('gpt-5.1-')) {
// GPT-5.1 and GPT-5.2 are hybrid reasoning models that supports optional reasoning, so if no reasoning effort is specified we assume the user doesn't want the model to do reasoning (to reduce cost/latency).
if (
input.model?.id.startsWith('gpt-5.4-') ||
input.model?.id.startsWith('gpt-5.3-') ||
input.model?.id.startsWith('gpt-5.2-') ||
input.model?.id.startsWith('gpt-5.1-')
) {
// GPT-5.1, GPT-5.2, and GPT-5.4 are hybrid reasoning models that supports optional reasoning, so if no reasoning effort is specified we assume the user doesn't want the model to do reasoning (to reduce cost/latency).
request.reasoning_effort = 'none'
} else if (input.model?.id.startsWith('gpt-5-')) {
// GPT-5 is a hybrid model but it doesn't support optional reasoning, so if reasoning effort isn't specified we assume the user wants to use the least amount of reasoning possible (to reduce cost/latency).
Expand Down
2 changes: 2 additions & 0 deletions integrations/openai/src/schemas.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ import { z } from '@botpress/sdk'

export const languageModelId = z
.enum([
'gpt-5.4-2026-03-05',
'gpt-5.3-2026-02-06',
'gpt-5.2-2025-12-11',
'gpt-5.1-2025-11-13',
'gpt-5-2025-08-07',
Expand Down
2 changes: 1 addition & 1 deletion integrations/todoist/integration.definition.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ export default new sdk.IntegrationDefinition({
name: 'todoist',
title: 'Todoist',
description: 'Create and modify tasks, post comments and more.',
version: '1.0.3',
version: '1.0.4',
readme: 'hub.md',
icon: 'icon.svg',
actions,
Expand Down
14 changes: 7 additions & 7 deletions integrations/todoist/src/todoist-api/sync-client.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { z, ZodRawShape, ZodObject } from '@botpress/sdk'
import { z } from '@botpress/sdk'

export class TodoistSyncClient {
private readonly _fetch: typeof fetch
Expand Down Expand Up @@ -28,15 +28,15 @@ export class TodoistSyncClient {
}
}

private async _post<T extends ZodRawShape>({
private async _post<T extends z.ZodRawShape>({
endpoint,
params,
responseSchema,
}: {
endpoint: string
responseSchema: T
params?: Record<string, any>
}): Promise<z.infer<ZodObject<T, 'strip'>>> {
}): Promise<z.infer<z.ZodObject<T, 'strip'>>> {
return this._sendRequest({
endpoint,
init: {
Expand All @@ -48,13 +48,13 @@ export class TodoistSyncClient {
})
}

private async _get<T extends ZodRawShape>({
private async _get<T extends z.ZodRawShape>({
endpoint,
responseSchema,
}: {
endpoint: string
responseSchema: T
}): Promise<z.infer<ZodObject<T, 'strip'>>> {
}): Promise<z.infer<z.ZodObject<T, 'strip'>>> {
return this._sendRequest({
endpoint,
init: {
Expand All @@ -64,15 +64,15 @@ export class TodoistSyncClient {
})
}

private async _sendRequest<T extends ZodRawShape>({
private async _sendRequest<T extends z.ZodRawShape>({
endpoint,
init,
responseSchema,
}: {
endpoint: string
init: RequestInit
responseSchema: T
}): Promise<z.infer<ZodObject<T, 'strip'>>> {
}): Promise<z.infer<z.ZodObject<T, 'strip'>>> {
const response = await this._fetch(`https://api.todoist.com/sync/v9/${endpoint}`, init)

if (!response.ok) {
Expand Down
2 changes: 1 addition & 1 deletion integrations/zapier/integration.definition.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { TriggerSchema, EventSchema, ZapierTriggersStateName, ZapierTriggersStat

export default new IntegrationDefinition({
name: 'zapier',
version: '0.3.8',
version: '0.3.9',
title: 'Zapier',
description:
"Trigger workflows from Zapier or let Zapier trigger your workflows to automate tasks and enhance your bot's capabilities.",
Expand Down
2 changes: 1 addition & 1 deletion integrations/zapier/src/helpers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ export async function getTriggersState(ctx: bp.Context, client: Client) {
if ((isApiError(e) && e.type === 'ResourceNotFound') || e.message === 'No State found') {
console.info("Zapier triggers state doesn't exist yet and will be initialized")
return defaultState
} else if (e instanceof z.ZodError) {
} else if (z.is.zuiError(e)) {
console.warn(`Zapier triggers state will be reset as it's corrupted: ${e.message}`)
return defaultState
} else {
Expand Down
6 changes: 3 additions & 3 deletions interfaces/hitl/interface.definition.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,18 +27,18 @@ const allMessages = {
...sdk.messages.defaults,
markdown: sdk.messages.markdown,
bloc: sdk.messages.markdownBloc,
} satisfies Record<string, { schema: sdk.AnyZodObject }>
} satisfies Record<string, { schema: sdk.z.AnyZodObject }>

type Tuple<T> = [T, T, ...T[]]
const messagePayloadSchemas: sdk.AnyZodObject[] = Object.entries(allMessages).map(([k, v]) =>
const messagePayloadSchemas: sdk.z.AnyZodObject[] = Object.entries(allMessages).map(([k, v]) =>
sdk.z.object({
source: messageSourceSchema,
type: sdk.z.literal(k),
payload: v.schema,
})
)

const messageSchema = sdk.z.union(messagePayloadSchemas as Tuple<sdk.AnyZodObject>)
const messageSchema = sdk.z.union(messagePayloadSchemas as Tuple<sdk.z.AnyZodObject>)

export default new sdk.InterfaceDefinition({
name: 'hitl',
Expand Down
4 changes: 2 additions & 2 deletions packages/cli/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@botpress/cli",
"version": "5.6.1",
"version": "5.6.2",
"description": "Botpress CLI",
"scripts": {
"build": "pnpm run build:types && pnpm run bundle && pnpm run template:gen",
Expand Down Expand Up @@ -28,7 +28,7 @@
"@apidevtools/json-schema-ref-parser": "^11.7.0",
"@botpress/chat": "0.5.5",
"@botpress/client": "1.36.0",
"@botpress/sdk": "5.4.4",
"@botpress/sdk": "5.5.0",
"@bpinternal/const": "^0.1.0",
"@bpinternal/tunnel": "^0.1.1",
"@bpinternal/verel": "^0.2.0",
Expand Down
Loading
Loading