diff --git a/package.json b/package.json index f5c70ac3760..343b1255f7e 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ }, "devDependencies": { "@aws-sdk/client-dynamodb": "^3.564.0", - "@botpress/api": "1.40.0", + "@botpress/api": "1.42.0", "@botpress/cli": "workspace:*", "@botpress/client": "workspace:*", "@botpress/sdk": "workspace:*", diff --git a/packages/cli/package.json b/packages/cli/package.json index 84b6449e9a0..f1480abc7e8 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@botpress/cli", - "version": "4.17.16", + "version": "4.17.17", "description": "Botpress CLI", "scripts": { "build": "pnpm run build:types && pnpm run bundle && pnpm run template:gen", @@ -23,8 +23,8 @@ "dependencies": { "@apidevtools/json-schema-ref-parser": "^11.7.0", "@botpress/chat": "0.5.1", - "@botpress/client": "1.24.2", - "@botpress/sdk": "4.15.8", + "@botpress/client": "1.25.0", + "@botpress/sdk": "4.15.10", "@bpinternal/const": "^0.1.0", "@bpinternal/tunnel": "^0.1.1", "@bpinternal/yargs-extra": "^0.0.3", diff --git a/packages/cli/templates/empty-bot/package.json b/packages/cli/templates/empty-bot/package.json index 774478f1d06..e5369d32acc 100644 --- a/packages/cli/templates/empty-bot/package.json +++ b/packages/cli/templates/empty-bot/package.json @@ -5,8 +5,8 @@ }, "private": true, "dependencies": { - "@botpress/client": "1.24.2", - "@botpress/sdk": "4.15.8" + "@botpress/client": "1.25.0", + "@botpress/sdk": "4.15.10" }, "devDependencies": { "@types/node": "^22.16.4", diff --git a/packages/cli/templates/empty-integration/package.json b/packages/cli/templates/empty-integration/package.json index 0aab75e3a43..b47a76b5810 100644 --- a/packages/cli/templates/empty-integration/package.json +++ b/packages/cli/templates/empty-integration/package.json @@ -6,8 +6,8 @@ }, "private": true, "dependencies": { - "@botpress/client": "1.24.2", - "@botpress/sdk": "4.15.8" + "@botpress/client": "1.25.0", + "@botpress/sdk": "4.15.10" }, "devDependencies": { "@types/node": "^22.16.4", diff --git a/packages/cli/templates/empty-plugin/package.json b/packages/cli/templates/empty-plugin/package.json index 1730daaa8a5..26df9e617aa 100644 --- a/packages/cli/templates/empty-plugin/package.json +++ b/packages/cli/templates/empty-plugin/package.json @@ -6,7 +6,7 @@ }, "private": true, "dependencies": { - "@botpress/sdk": "4.15.8" + "@botpress/sdk": "4.15.10" }, "devDependencies": { "@types/node": "^22.16.4", diff --git a/packages/cli/templates/hello-world/package.json b/packages/cli/templates/hello-world/package.json index 3bcd93fccec..5cb05366633 100644 --- a/packages/cli/templates/hello-world/package.json +++ b/packages/cli/templates/hello-world/package.json @@ -6,8 +6,8 @@ }, "private": true, "dependencies": { - "@botpress/client": "1.24.2", - "@botpress/sdk": "4.15.8" + "@botpress/client": "1.25.0", + "@botpress/sdk": "4.15.10" }, "devDependencies": { "@types/node": "^22.16.4", diff --git a/packages/cli/templates/webhook-message/package.json b/packages/cli/templates/webhook-message/package.json index 1eb3895e10e..13f325f52eb 100644 --- a/packages/cli/templates/webhook-message/package.json +++ b/packages/cli/templates/webhook-message/package.json @@ -6,8 +6,8 @@ }, "private": true, "dependencies": { - "@botpress/client": "1.24.2", - "@botpress/sdk": "4.15.8", + "@botpress/client": "1.25.0", + "@botpress/sdk": "4.15.10", "axios": "^1.6.8" }, "devDependencies": { diff --git a/packages/client/package.json b/packages/client/package.json index e5de4e46747..e094486331f 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@botpress/client", - "version": "1.24.2", + "version": "1.25.0", "description": "Botpress Client", "main": "./dist/index.cjs", "module": "./dist/index.mjs", diff --git a/packages/cognitive/package.json b/packages/cognitive/package.json index 50f0d5eaa62..4b8217eda43 100644 --- a/packages/cognitive/package.json +++ b/packages/cognitive/package.json @@ -1,6 +1,6 @@ { "name": "@botpress/cognitive", - "version": "0.1.40", + "version": "0.1.41", "description": "Wrapper around the Botpress Client to call LLMs", "main": "./dist/index.cjs", "module": "./dist/index.mjs", diff --git a/packages/llmz/package.json b/packages/llmz/package.json index cc1b2b1674f..c6ebbcabcb3 100644 --- a/packages/llmz/package.json +++ b/packages/llmz/package.json @@ -2,7 +2,7 @@ "name": "llmz", "type": "module", "description": "LLMz – An LLM-native Typescript VM built on top of Zui", - "version": "0.0.23", + "version": "0.0.24", "types": "./dist/index.d.ts", "main": "./dist/index.cjs", "module": "./dist/index.js", @@ -34,7 +34,7 @@ "@babel/standalone": "^7.26.4", "@babel/traverse": "^7.26.4", "@babel/types": "^7.26.3", - "@botpress/client": "1.24.2", + "@botpress/client": "1.25.0", "bytes": "^3.1.2", "exponential-backoff": "^3.1.1", "handlebars": "^4.7.8", @@ -67,7 +67,7 @@ "tsx": "^4.19.2" }, "peerDependencies": { - "@botpress/cognitive": "0.1.40", + "@botpress/cognitive": "0.1.41", "@bpinternal/thicktoken": "^1.0.5", "@bpinternal/zui": "^1.0.1" }, diff --git a/packages/sdk/package.json b/packages/sdk/package.json index ade83f0aa9e..7589cc8e304 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@botpress/sdk", - "version": "4.15.8", + "version": "4.15.10", "description": "Botpress SDK", "main": "./dist/index.cjs", "module": "./dist/index.mjs", @@ -16,7 +16,7 @@ "author": "", "license": "MIT", "dependencies": { - "@botpress/client": "1.24.2", + "@botpress/client": "1.25.0", "browser-or-node": "^2.1.1" }, "devDependencies": { diff --git a/packages/sdk/src/bot/server/workflows/update-handler.ts b/packages/sdk/src/bot/server/workflows/update-handler.ts index 3cc2da4dfb8..95b14b2f0c9 100644 --- a/packages/sdk/src/bot/server/workflows/update-handler.ts +++ b/packages/sdk/src/bot/server/workflows/update-handler.ts @@ -68,19 +68,16 @@ const _handleWorkflowUpdate = async (props: types.ServerProps, event: types.Work return SUCCESS_RESPONSE } - await _acknowledgeWorkflowStart(props, event) await _dispatchToHandlers(props, event) - return SUCCESS_RESPONSE -} - -const _acknowledgeWorkflowStart = async (props: types.ServerProps, event: types.WorkflowUpdateEvent): Promise => { - if (event.payload.workflow.status !== 'pending') { - return + if (event.payload.workflow.status === 'pending') { + props.logger.warn( + `Workflow "${event.payload.workflow.name}" is still in pending status after processing "${updateType}" event. ` + + 'This may indicate that the workflow was not properly acknowledged or terminated by the handler. ' + ) } - // Acknowledge start of workflow processing: - await props.client.updateWorkflow({ id: event.payload.workflow.id, status: 'in_progress', eventId: event.id }) + return SUCCESS_RESPONSE } const _dispatchToHandlers = async (props: types.ServerProps, event: types.WorkflowUpdateEvent): Promise => { @@ -93,7 +90,7 @@ const _dispatchToHandlers = async (props: types.ServerProps, event: types.Workfl event, conversation: event.payload.conversation, user: event.payload.user, - workflow: wrapWorkflowInstance({ ...props, workflow: event.payload.workflow }), + workflow: wrapWorkflowInstance({ ...props, workflow: event.payload.workflow, event }), workflows: proxyWorkflows(props.client), }) } diff --git a/packages/sdk/src/bot/workflow-proxy/proxy.ts b/packages/sdk/src/bot/workflow-proxy/proxy.ts index c49451f442b..01dc777294a 100644 --- a/packages/sdk/src/bot/workflow-proxy/proxy.ts +++ b/packages/sdk/src/bot/workflow-proxy/proxy.ts @@ -2,6 +2,7 @@ import type * as client from '@botpress/client' import type { BotSpecificClient } from '../../bot' import type * as typeUtils from '../../utils/type-utils' import type { BaseBot } from '../common' +import * as botServerTypes from '../server/types' import type { WorkflowProxy, WorkflowWithUtilities } from './types' export const proxyWorkflows = ( @@ -67,30 +68,44 @@ export const wrapWorkflowInstance = < >(props: { client: BotSpecificClient | client.Client workflow: client.Workflow -}): WorkflowWithUtilities => ({ - ...(props.workflow as WorkflowWithUtilities), + event?: botServerTypes.WorkflowUpdateEvent +}): WorkflowWithUtilities => { + let isAcknowledged = false - async update(x) { - const { workflow } = await props.client.updateWorkflow({ id: props.workflow.id, ...x }) - return { workflow: wrapWorkflowInstance({ client: props.client, workflow }) } - }, + return { + ...(props.workflow as WorkflowWithUtilities), + + async update(x) { + const { workflow } = await props.client.updateWorkflow({ id: props.workflow.id, ...x }) + return { workflow: wrapWorkflowInstance({ client: props.client, workflow }) } + }, + + async acknowledgeStartOfProcessing() { + if (!props.event || props.workflow.status !== 'pending' || isAcknowledged) { + return + } - async setFailed({ failureReason }) { - const { workflow } = await props.client.updateWorkflow({ - id: props.workflow.id, - status: 'failed', - failureReason, - }) - return { workflow: wrapWorkflowInstance({ client: props.client, workflow }) } - }, + await props.client.updateWorkflow({ id: props.workflow.id, status: 'in_progress', eventId: props.event.id }) + isAcknowledged = true + }, - async setCompleted({ output } = {}) { - const { workflow } = await props.client.updateWorkflow({ id: props.workflow.id, status: 'completed', output }) - return { workflow: wrapWorkflowInstance({ client: props.client, workflow }) } - }, + async setFailed({ failureReason }) { + const { workflow } = await props.client.updateWorkflow({ + id: props.workflow.id, + status: 'failed', + failureReason, + }) + return { workflow: wrapWorkflowInstance({ client: props.client, workflow }) } + }, - async cancel() { - const { workflow } = await props.client.updateWorkflow({ id: props.workflow.id, status: 'cancelled' }) - return { workflow: wrapWorkflowInstance({ client: props.client, workflow }) } - }, -}) + async setCompleted({ output } = {}) { + const { workflow } = await props.client.updateWorkflow({ id: props.workflow.id, status: 'completed', output }) + return { workflow: wrapWorkflowInstance({ client: props.client, workflow }) } + }, + + async cancel() { + const { workflow } = await props.client.updateWorkflow({ id: props.workflow.id, status: 'cancelled' }) + return { workflow: wrapWorkflowInstance({ client: props.client, workflow }) } + }, + } +} diff --git a/packages/sdk/src/bot/workflow-proxy/types.ts b/packages/sdk/src/bot/workflow-proxy/types.ts index bf63e6f0275..a84dfb443c5 100644 --- a/packages/sdk/src/bot/workflow-proxy/types.ts +++ b/packages/sdk/src/bot/workflow-proxy/types.ts @@ -69,6 +69,20 @@ export type WorkflowWithUtilities< > ): Promise<{ workflow: WorkflowWithUtilities }> + /** + * Acknowledges the start of processing for a pending workflow instance. + * If the workflow is not in pending status or has already been + * acknowledged, this is a no-op. + * + * This method **should be called in every workflow handler** as soon as the + * workflow **starts doing work**. If no work needs to be done, setCompleted + * or setFailed should be called instead. + * + * Should a workflow not be acknowledged **in a timely fashion**, it will be + * retriggered 3 times before being marked as failed. + */ + acknowledgeStartOfProcessing(): Promise + /** * Marks the current workflow instance as failed and stops execution */ diff --git a/packages/sdk/src/integration/client/types.test.ts b/packages/sdk/src/integration/client/types.test.ts index c7b7fc7291a..b39e089939c 100644 --- a/packages/sdk/src/integration/client/types.test.ts +++ b/packages/sdk/src/integration/client/types.test.ts @@ -270,7 +270,7 @@ describe.concurrent('ClientOperations', () => { } } ) - type _assertion = utils.AssertTrue> + type _assertion = utils.AssertTrue> }) test('getOrCreateConversation with FooBarBazIntegration stricly enforces allowed tags', () => { diff --git a/packages/vai/package.json b/packages/vai/package.json index 77371f9d9b0..8293f0a3953 100644 --- a/packages/vai/package.json +++ b/packages/vai/package.json @@ -36,7 +36,7 @@ "tsup": "^8.0.2" }, "peerDependencies": { - "@botpress/client": "1.24.2", + "@botpress/client": "1.25.0", "@bpinternal/thicktoken": "^1.0.1", "@bpinternal/zui": "^1.0.1", "lodash": "^4.17.21", diff --git a/packages/zai/package.json b/packages/zai/package.json index 3065a374a90..cc294d7d123 100644 --- a/packages/zai/package.json +++ b/packages/zai/package.json @@ -1,7 +1,7 @@ { "name": "@botpress/zai", "description": "Zui AI (zai) – An LLM utility library written on top of Zui and the Botpress API", - "version": "2.1.10", + "version": "2.1.11", "main": "./dist/index.js", "types": "./dist/index.d.ts", "exports": { @@ -29,7 +29,7 @@ "author": "", "license": "ISC", "dependencies": { - "@botpress/cognitive": "0.1.40", + "@botpress/cognitive": "0.1.41", "json5": "^2.2.3", "jsonrepair": "^3.10.0", "lodash-es": "^4.17.21" diff --git a/plugins/file-synchronizer/plugin.definition.ts b/plugins/file-synchronizer/plugin.definition.ts index 6f420eae646..b8ebb899b5a 100644 --- a/plugins/file-synchronizer/plugin.definition.ts +++ b/plugins/file-synchronizer/plugin.definition.ts @@ -60,7 +60,7 @@ const FILE_FILTER_PROPS = sdk.z.object({ export default new sdk.PluginDefinition({ name: 'file-synchronizer', - version: '1.0.0', + version: '1.0.1', title: 'File Synchronizer', description: 'Synchronize files from external services to Botpress', icon: 'icon.svg', diff --git a/plugins/file-synchronizer/src/hooks/workflow-continued/build-queue.ts b/plugins/file-synchronizer/src/hooks/workflow-continued/build-queue.ts index 9a78145a8dd..625e28bedf5 100644 --- a/plugins/file-synchronizer/src/hooks/workflow-continued/build-queue.ts +++ b/plugins/file-synchronizer/src/hooks/workflow-continued/build-queue.ts @@ -6,6 +6,8 @@ export const handleEvent: bp.WorkflowHandlers['buildQueue'] = async (props) => { const workflowState = await props.states.workflow.buildQueueRuntimeState.get(props.workflow.id) const { syncQueue, key } = await SyncQueue.jobFileManager.getSyncQueue(props, workflowState.jobFileId) + await props.workflow.acknowledgeStartOfProcessing() + props.logger.info('Enumerating files...') const enumerationState = await SyncQueue.directoryTraversalWithBatching.enumerateAllFilesRecursive( _getEnumerateAllFilesRecursiveProps(props, syncQueue, key, workflowState) diff --git a/plugins/file-synchronizer/src/hooks/workflow-continued/process-queue.ts b/plugins/file-synchronizer/src/hooks/workflow-continued/process-queue.ts index 4393dcccace..6b3513e5b04 100644 --- a/plugins/file-synchronizer/src/hooks/workflow-continued/process-queue.ts +++ b/plugins/file-synchronizer/src/hooks/workflow-continued/process-queue.ts @@ -5,6 +5,8 @@ export const handleEvent: bp.WorkflowHandlers['processQueue'] = async (props) => const { syncQueue, key } = await SyncQueue.jobFileManager.getSyncQueue(props) const logger = props.logger.withWorkflowId(props.workflow.id) + await props.workflow.acknowledgeStartOfProcessing() + const { finished } = await SyncQueue.queueProcessor.processQueue({ logger, syncQueue, diff --git a/plugins/file-synchronizer/src/hooks/workflow-started/build-queue.ts b/plugins/file-synchronizer/src/hooks/workflow-started/build-queue.ts index 9b7bf1f48b8..ffeee3e64ad 100644 --- a/plugins/file-synchronizer/src/hooks/workflow-started/build-queue.ts +++ b/plugins/file-synchronizer/src/hooks/workflow-started/build-queue.ts @@ -3,6 +3,8 @@ import * as SyncQueue from '../../sync-queue' import * as bp from '.botpress' export const handleEvent: bp.WorkflowHandlers['buildQueue'] = async (props) => { + await props.workflow.acknowledgeStartOfProcessing() + props.logger.info('Creating job file...') const syncFileKey = _generateFileKey(props) const jobFileId = await SyncQueue.jobFileManager.updateSyncQueue(props, syncFileKey, [], props.workflow.tags) diff --git a/plugins/file-synchronizer/src/hooks/workflow-started/process-queue.ts b/plugins/file-synchronizer/src/hooks/workflow-started/process-queue.ts index 198b03f0e2e..aa2cdb5ebcf 100644 --- a/plugins/file-synchronizer/src/hooks/workflow-started/process-queue.ts +++ b/plugins/file-synchronizer/src/hooks/workflow-started/process-queue.ts @@ -1,3 +1,5 @@ import * as bp from '.botpress' -export const handleEvent: bp.WorkflowHandlers['processQueue'] = async (_props) => {} +export const handleEvent: bp.WorkflowHandlers['processQueue'] = async (props) => { + await props.workflow.acknowledgeStartOfProcessing() +} diff --git a/plugins/file-synchronizer/src/hooks/workflow-timed-out/build-queue.ts b/plugins/file-synchronizer/src/hooks/workflow-timed-out/build-queue.ts index b1909a721ed..0864a46d0ed 100644 --- a/plugins/file-synchronizer/src/hooks/workflow-timed-out/build-queue.ts +++ b/plugins/file-synchronizer/src/hooks/workflow-timed-out/build-queue.ts @@ -1,3 +1,5 @@ import * as bp from '.botpress' -export const handleEvent: bp.WorkflowHandlers['buildQueue'] = async (_props) => {} +export const handleEvent: bp.WorkflowHandlers['buildQueue'] = async (props) => { + await props.workflow.setFailed({ failureReason: 'Workflow timed out' }) +} diff --git a/plugins/file-synchronizer/src/hooks/workflow-timed-out/process-queue.ts b/plugins/file-synchronizer/src/hooks/workflow-timed-out/process-queue.ts index 198b03f0e2e..6e4504330ad 100644 --- a/plugins/file-synchronizer/src/hooks/workflow-timed-out/process-queue.ts +++ b/plugins/file-synchronizer/src/hooks/workflow-timed-out/process-queue.ts @@ -1,3 +1,5 @@ import * as bp from '.botpress' -export const handleEvent: bp.WorkflowHandlers['processQueue'] = async (_props) => {} +export const handleEvent: bp.WorkflowHandlers['processQueue'] = async (props) => { + await props.workflow.setFailed({ failureReason: 'Workflow timed out' }) +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 68797b8b6fa..af91dede6a7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -17,8 +17,8 @@ importers: specifier: ^3.564.0 version: 3.709.0 '@botpress/api': - specifier: 1.40.0 - version: 1.40.0(openapi-types@12.1.3) + specifier: 1.42.0 + version: 1.42.0(openapi-types@12.1.3) '@botpress/cli': specifier: workspace:* version: link:packages/cli @@ -2157,10 +2157,10 @@ importers: specifier: 0.5.1 version: link:../chat-client '@botpress/client': - specifier: 1.24.2 + specifier: 1.25.0 version: link:../client '@botpress/sdk': - specifier: 4.15.8 + specifier: 4.15.10 version: link:../sdk '@bpinternal/const': specifier: ^0.1.0 @@ -2272,10 +2272,10 @@ importers: packages/cli/templates/empty-bot: dependencies: '@botpress/client': - specifier: 1.24.2 + specifier: 1.25.0 version: link:../../../client '@botpress/sdk': - specifier: 4.15.8 + specifier: 4.15.10 version: link:../../../sdk devDependencies: '@types/node': @@ -2288,10 +2288,10 @@ importers: packages/cli/templates/empty-integration: dependencies: '@botpress/client': - specifier: 1.24.2 + specifier: 1.25.0 version: link:../../../client '@botpress/sdk': - specifier: 4.15.8 + specifier: 4.15.10 version: link:../../../sdk devDependencies: '@types/node': @@ -2304,7 +2304,7 @@ importers: packages/cli/templates/empty-plugin: dependencies: '@botpress/sdk': - specifier: 4.15.8 + specifier: 4.15.10 version: link:../../../sdk devDependencies: '@types/node': @@ -2317,10 +2317,10 @@ importers: packages/cli/templates/hello-world: dependencies: '@botpress/client': - specifier: 1.24.2 + specifier: 1.25.0 version: link:../../../client '@botpress/sdk': - specifier: 4.15.8 + specifier: 4.15.10 version: link:../../../sdk devDependencies: '@types/node': @@ -2333,10 +2333,10 @@ importers: packages/cli/templates/webhook-message: dependencies: '@botpress/client': - specifier: 1.24.2 + specifier: 1.25.0 version: link:../../../client '@botpress/sdk': - specifier: 4.15.8 + specifier: 4.15.10 version: link:../../../sdk axios: specifier: ^1.6.8 @@ -2471,10 +2471,10 @@ importers: specifier: ^7.26.3 version: 7.26.9 '@botpress/client': - specifier: 1.24.2 + specifier: 1.25.0 version: link:../client '@botpress/cognitive': - specifier: 0.1.40 + specifier: 0.1.41 version: link:../cognitive '@bpinternal/thicktoken': specifier: ^1.0.5 @@ -2574,7 +2574,7 @@ importers: packages/sdk: dependencies: '@botpress/client': - specifier: 1.24.2 + specifier: 1.25.0 version: link:../client '@bpinternal/zui': specifier: ^1.0.1 @@ -2605,7 +2605,7 @@ importers: packages/vai: dependencies: '@botpress/client': - specifier: 1.24.2 + specifier: 1.25.0 version: link:../client '@bpinternal/thicktoken': specifier: ^1.0.1 @@ -2648,7 +2648,7 @@ importers: packages/zai: dependencies: '@botpress/cognitive': - specifier: 0.1.40 + specifier: 0.1.41 version: link:../cognitive '@bpinternal/thicktoken': specifier: ^1.0.0 @@ -3574,8 +3574,8 @@ packages: '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - '@botpress/api@1.40.0': - resolution: {integrity: sha512-23qrO680KUuSO/1ixEBwedueKhtkEv2WIIfd8Jo7EmAZDUTsZQpwMrlWlhD4gJnfVQ4J+N3dEoOfaeqyPEB/qQ==} + '@botpress/api@1.42.0': + resolution: {integrity: sha512-I8wQ+BT5RI65xFvvKG3ynkRmbxDWD1Xkrp4hJ3sinF/x3mOVmCLubvRvWjwqGRfuCkciPLWbQ9JOD6RUutn7Uw==} '@bpinternal/const@0.1.0': resolution: {integrity: sha512-iIQg9oYYXOt+LSK34oNhJVQTcgRdtLmLZirEUaE+R9hnmbKONA5reR2kTewxZmekGyxej+5RtDK9xrC/0hmeAw==} @@ -7094,10 +7094,6 @@ packages: resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} engines: {node: '>= 0.4'} - es5-ext@0.10.62: - resolution: {integrity: sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==} - engines: {node: '>=0.10'} - es5-ext@0.10.64: resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==} engines: {node: '>=0.10'} @@ -12459,7 +12455,7 @@ snapshots: '@bcoe/v8-coverage@0.2.3': {} - '@botpress/api@1.40.0(openapi-types@12.1.3)': + '@botpress/api@1.42.0(openapi-types@12.1.3)': dependencies: '@bpinternal/opapi': 0.14.0(openapi-types@12.1.3) transitivePeerDependencies: @@ -16040,7 +16036,7 @@ snapshots: cli-color@2.0.3: dependencies: d: 1.0.2 - es5-ext: 0.10.62 + es5-ext: 0.10.64 es6-iterator: 2.0.3 memoizee: 0.4.15 timers-ext: 0.1.7 @@ -16641,12 +16637,6 @@ snapshots: is-date-object: 1.0.5 is-symbol: 1.0.4 - es5-ext@0.10.62: - dependencies: - es6-iterator: 2.0.3 - es6-symbol: 3.1.3 - next-tick: 1.1.0 - es5-ext@0.10.64: dependencies: es6-iterator: 2.0.3 @@ -16657,7 +16647,7 @@ snapshots: es6-iterator@2.0.3: dependencies: d: 1.0.2 - es5-ext: 0.10.62 + es5-ext: 0.10.64 es6-symbol: 3.1.3 es6-promise@4.2.8: {} @@ -16670,7 +16660,7 @@ snapshots: es6-weak-map@2.0.3: dependencies: d: 1.0.2 - es5-ext: 0.10.62 + es5-ext: 0.10.64 es6-iterator: 2.0.3 es6-symbol: 3.1.3 @@ -16967,7 +16957,7 @@ snapshots: event-emitter@0.3.5: dependencies: d: 1.0.2 - es5-ext: 0.10.62 + es5-ext: 0.10.64 event-source-polyfill@1.0.31: {} @@ -18722,7 +18712,7 @@ snapshots: lru-queue@0.1.0: dependencies: - es5-ext: 0.10.62 + es5-ext: 0.10.64 lru_map@0.3.3: {} @@ -18894,7 +18884,7 @@ snapshots: memoizee@0.4.15: dependencies: d: 1.0.2 - es5-ext: 0.10.62 + es5-ext: 0.10.64 es6-weak-map: 2.0.3 event-emitter: 0.3.5 is-promise: 2.2.2 @@ -20614,7 +20604,7 @@ snapshots: timers-ext@0.1.7: dependencies: - es5-ext: 0.10.62 + es5-ext: 0.10.64 next-tick: 1.1.0 tinybench@2.9.0: {}