From cfb7b400f5fffe0bd3404e13e2b604e4197d6871 Mon Sep 17 00:00:00 2001 From: Q1w1N <47570093+Q1w1N@users.noreply.github.com> Date: Wed, 4 Dec 2024 12:50:35 +0100 Subject: [PATCH] chore: added examples for bare and slack (#17) --- .changeset/seven-baboons-attack.md | 7 + examples/bare/.eslintignore | 3 + examples/bare/.eslintrc.json | 9 + examples/bare/package.json | 28 ++ examples/bare/rsbuild.config.ts | 39 ++ examples/bare/src/index.ts | 79 ++++ examples/bare/tsconfig.build.json | 8 + examples/bare/tsconfig.json | 17 + examples/discord/.eslintignore | 3 + examples/discord/.eslintrc.json | 9 + examples/discord/package.json | 31 ++ examples/discord/rsbuild.config.ts | 33 ++ examples/discord/src/index.ts | 33 ++ examples/discord/tsconfig.build.json | 8 + examples/discord/tsconfig.json | 17 + examples/slack/.eslintignore | 3 + examples/slack/.eslintrc.json | 9 + examples/slack/package.json | 31 ++ examples/slack/rsbuild.config.ts | 38 ++ examples/slack/src/index.ts | 43 ++ examples/slack/tsconfig.build.json | 8 + examples/slack/tsconfig.json | 17 + pnpm-lock.yaml | 579 ++++++++++++++++++++++++++- pnpm-workspace.yaml | 1 + 24 files changed, 1043 insertions(+), 10 deletions(-) create mode 100644 .changeset/seven-baboons-attack.md create mode 100644 examples/bare/.eslintignore create mode 100644 examples/bare/.eslintrc.json create mode 100644 examples/bare/package.json create mode 100644 examples/bare/rsbuild.config.ts create mode 100644 examples/bare/src/index.ts create mode 100644 examples/bare/tsconfig.build.json create mode 100644 examples/bare/tsconfig.json create mode 100644 examples/discord/.eslintignore create mode 100644 examples/discord/.eslintrc.json create mode 100644 examples/discord/package.json create mode 100644 examples/discord/rsbuild.config.ts create mode 100644 examples/discord/src/index.ts create mode 100644 examples/discord/tsconfig.build.json create mode 100644 examples/discord/tsconfig.json create mode 100644 examples/slack/.eslintignore create mode 100644 examples/slack/.eslintrc.json create mode 100644 examples/slack/package.json create mode 100644 examples/slack/rsbuild.config.ts create mode 100644 examples/slack/src/index.ts create mode 100644 examples/slack/tsconfig.build.json create mode 100644 examples/slack/tsconfig.json diff --git a/.changeset/seven-baboons-attack.md b/.changeset/seven-baboons-attack.md new file mode 100644 index 0000000..89e1dfc --- /dev/null +++ b/.changeset/seven-baboons-attack.md @@ -0,0 +1,7 @@ +--- +'discord-example': minor +'slack-example': minor +'bare-example': minor +--- + +Added example apps diff --git a/examples/bare/.eslintignore b/examples/bare/.eslintignore new file mode 100644 index 0000000..229d261 --- /dev/null +++ b/examples/bare/.eslintignore @@ -0,0 +1,3 @@ +node_modules/ +dist/ +rslib.config.ts diff --git a/examples/bare/.eslintrc.json b/examples/bare/.eslintrc.json new file mode 100644 index 0000000..3ba3316 --- /dev/null +++ b/examples/bare/.eslintrc.json @@ -0,0 +1,9 @@ +{ + "root": true, + "extends": ["@callstack/eslint-config/node", "prettier"], + "settings": { + "import/resolver": { + "typescript": true + } + } +} diff --git a/examples/bare/package.json b/examples/bare/package.json new file mode 100644 index 0000000..476e425 --- /dev/null +++ b/examples/bare/package.json @@ -0,0 +1,28 @@ +{ + "name": "bare-example", + "version": "1.0.0", + "description": "Example usage of byorg.ai core", + "type": "module", + "main": "dist/index.js", + "source": "src/index.js", + "private": true, + "scripts": { + "build": "rsbuild build", + "example": "pnpm build && dotenv -- node dist/index.cjs" + }, + "dependencies": { + "@ai-sdk/openai": "^1.0.2", + "@callstack/byorg-core": "0.4.2", + "@callstack/byorg-utils": "0.4.2" + }, + "devDependencies": { + "dotenv-cli": "^7.4.2", + "@callstack/eslint-config": "^14.2.0", + "@rsbuild/core": "^1.0.5", + "eslint": "^8.57.0", + "prettier": "^3.3.3", + "typescript": "^5.6.3" + }, + "author": "", + "license": "MIT" +} diff --git a/examples/bare/rsbuild.config.ts b/examples/bare/rsbuild.config.ts new file mode 100644 index 0000000..b9f8a14 --- /dev/null +++ b/examples/bare/rsbuild.config.ts @@ -0,0 +1,39 @@ +import { defineConfig } from '@rsbuild/core'; + +const shared = { + source: { + tsconfigPath: './tsconfig.build.json', + }, +}; + +export default defineConfig({ + source: { + entry: { + index: { + filename: 'index.cjs', + import: './src/index.ts', + }, + }, + tsconfigPath: './tsconfig.build.json', + }, + output: { + target: 'node', + minify: false, + }, + tools: { + rspack: { + module: { + parser: { + javascript: { + dynamicImportMode: 'eager', + }, + }, + }, + resolve: { + extensionAlias: { + '.js': ['.js', '.ts'], + }, + }, + }, + }, +}); diff --git a/examples/bare/src/index.ts b/examples/bare/src/index.ts new file mode 100644 index 0000000..21834a9 --- /dev/null +++ b/examples/bare/src/index.ts @@ -0,0 +1,79 @@ +import readline from 'readline'; +import { Message, VercelChatModelAdapter, createApp } from '@callstack/byorg-core'; +import { createOpenAI } from '@ai-sdk/openai'; +import { requireEnv } from '@callstack/byorg-utils'; + +const LANGUAGE_MODEL = 'gpt-4o-2024-11-20'; +const API_KEY = requireEnv('OPENAI_API_KEY'); + +const openAiProvider = createOpenAI({ + apiKey: API_KEY, + compatibility: 'strict', // strict mode, enable when using the OpenAI API +}); + +const openAiModel = openAiProvider.languageModel(LANGUAGE_MODEL); + +const chatModel = new VercelChatModelAdapter({ + languageModel: openAiModel, +}); + +const SYSTEM_PROMPT = 'Your name is Byorg. You are an AI Assistant.'; + +const app = createApp({ + chatModel, + systemPrompt: () => SYSTEM_PROMPT, +}); + +// Create a readline interface for user input +const rl = readline.createInterface({ + input: process.stdin, + output: process.stdout, + prompt: 'You: ', +}); + +// Create array for messages +const messages: Message[] = []; + +// Start the CLI chat +console.log('Welcome to the byorg.ai example cli Chat!\n'); + +rl.prompt(); + +rl.on('line', async (line: string) => { + const input = line.trim(); + + if (input.toLowerCase() === 'exit') { + console.log('\nGoodbye!'); + rl.close(); + return; + } + + messages.push({ role: 'user', content: input }); + + process.stdout.write('\n'); + process.stdout.write('ai: '); + + let currentMessage = ''; + const { response } = await app.processMessages(messages, { + onPartialResponse: (text: string) => { + const delta = text.slice(currentMessage.length); + currentMessage += delta; + process.stdout.write(delta); + }, + }); + + if (response.role === 'assistant') { + messages.push({ role: response.role, content: response.content }); + } + + process.stdout.write('\n\n'); + + rl.prompt(); + + return; +}); + +process.on('SIGINT', () => { + console.log('Exiting'); + process.exit(); +}); diff --git a/examples/bare/tsconfig.build.json b/examples/bare/tsconfig.build.json new file mode 100644 index 0000000..ea27e3f --- /dev/null +++ b/examples/bare/tsconfig.build.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "rootDir": ".", + "noEmit": false, + "paths": {} + } +} diff --git a/examples/bare/tsconfig.json b/examples/bare/tsconfig.json new file mode 100644 index 0000000..1a0776f --- /dev/null +++ b/examples/bare/tsconfig.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "target": "esnext", + "module": "node16", + "moduleResolution": "node16", + "noEmit": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "strict": true, + "noStrictGenericChecks": false, + "skipLibCheck": true, + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "react" + }, + "include": ["src"] +} diff --git a/examples/discord/.eslintignore b/examples/discord/.eslintignore new file mode 100644 index 0000000..229d261 --- /dev/null +++ b/examples/discord/.eslintignore @@ -0,0 +1,3 @@ +node_modules/ +dist/ +rslib.config.ts diff --git a/examples/discord/.eslintrc.json b/examples/discord/.eslintrc.json new file mode 100644 index 0000000..3ba3316 --- /dev/null +++ b/examples/discord/.eslintrc.json @@ -0,0 +1,9 @@ +{ + "root": true, + "extends": ["@callstack/eslint-config/node", "prettier"], + "settings": { + "import/resolver": { + "typescript": true + } + } +} diff --git a/examples/discord/package.json b/examples/discord/package.json new file mode 100644 index 0000000..1177eaa --- /dev/null +++ b/examples/discord/package.json @@ -0,0 +1,31 @@ +{ + "name": "discord-example", + "version": "1.0.0", + "description": "Example usage of byorg.ai discord integration", + "type": "module", + "main": "dist/index.js", + "private": true, + "bin": { + "example": "./index.js" + }, + "scripts": { + "build": "rsbuild build", + "example": "pnpm build && dotenv -- node dist/index.cjs" + }, + "dependencies": { + "@ai-sdk/openai": "^1.0.2", + "@callstack/byorg-core": "0.4.2", + "@callstack/byorg-discord": "0.4.2", + "@callstack/byorg-utils": "0.4.2" + }, + "devDependencies": { + "dotenv-cli": "^7.4.2", + "@callstack/eslint-config": "^14.2.0", + "@rsbuild/core": "^1.0.5", + "eslint": "^8.57.0", + "prettier": "^3.3.3", + "typescript": "^5.6.3" + }, + "author": "", + "license": "ISC" +} diff --git a/examples/discord/rsbuild.config.ts b/examples/discord/rsbuild.config.ts new file mode 100644 index 0000000..3a80ae0 --- /dev/null +++ b/examples/discord/rsbuild.config.ts @@ -0,0 +1,33 @@ +import { defineConfig } from '@rsbuild/core'; + +export default defineConfig({ + source: { + entry: { + index: { + filename: 'index.cjs', + import: './src/index.ts', + }, + }, + tsconfigPath: './tsconfig.build.json', + }, + output: { + target: 'node', + minify: false, + }, + tools: { + rspack: { + module: { + parser: { + javascript: { + dynamicImportMode: 'eager', + }, + }, + }, + resolve: { + extensionAlias: { + '.js': ['.js', '.ts'], + }, + }, + }, + }, +}); diff --git a/examples/discord/src/index.ts b/examples/discord/src/index.ts new file mode 100644 index 0000000..06ba3fc --- /dev/null +++ b/examples/discord/src/index.ts @@ -0,0 +1,33 @@ +// TODO +// import readline from 'readline'; +// import { Message, VercelChatModelAdapter, createApp } from '@callstack/byorg-core'; +// import { createOpenAI } from '@ai-sdk/openai'; +// import { requireEnv } from '@callstack/byorg-utils'; +// import { createDiscordApp } from '@callstack/byorg-discord'; + +// const LANGUAGE_MODEL = 'gpt-4o-2024-11-20'; +// const API_KEY = requireEnv('OPENAI_API_KEY'); + +// const openAiProvider = createOpenAI({ +// apiKey: API_KEY, +// compatibility: 'strict', // strict mode, enable when using the OpenAI API +// }); + +// const openAiModel = openAiProvider.languageModel(LANGUAGE_MODEL); + +// const chatModel = new VercelChatModelAdapter({ +// languageModel: openAiModel, +// }); + +// const systemPrompt = () => { +// return 'Your name is Cassandra. You are an AI Assistant.'; +// }; + +// const app = createApp({ +// chatModel, +// systemPrompt, +// }); + +// // const discord = createDiscordApp({ +// // app, +// // }); diff --git a/examples/discord/tsconfig.build.json b/examples/discord/tsconfig.build.json new file mode 100644 index 0000000..ea27e3f --- /dev/null +++ b/examples/discord/tsconfig.build.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "rootDir": ".", + "noEmit": false, + "paths": {} + } +} diff --git a/examples/discord/tsconfig.json b/examples/discord/tsconfig.json new file mode 100644 index 0000000..1a0776f --- /dev/null +++ b/examples/discord/tsconfig.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "target": "esnext", + "module": "node16", + "moduleResolution": "node16", + "noEmit": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "strict": true, + "noStrictGenericChecks": false, + "skipLibCheck": true, + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "react" + }, + "include": ["src"] +} diff --git a/examples/slack/.eslintignore b/examples/slack/.eslintignore new file mode 100644 index 0000000..229d261 --- /dev/null +++ b/examples/slack/.eslintignore @@ -0,0 +1,3 @@ +node_modules/ +dist/ +rslib.config.ts diff --git a/examples/slack/.eslintrc.json b/examples/slack/.eslintrc.json new file mode 100644 index 0000000..3ba3316 --- /dev/null +++ b/examples/slack/.eslintrc.json @@ -0,0 +1,9 @@ +{ + "root": true, + "extends": ["@callstack/eslint-config/node", "prettier"], + "settings": { + "import/resolver": { + "typescript": true + } + } +} diff --git a/examples/slack/package.json b/examples/slack/package.json new file mode 100644 index 0000000..c337e96 --- /dev/null +++ b/examples/slack/package.json @@ -0,0 +1,31 @@ +{ + "name": "slack-example", + "version": "1.0.0", + "description": "Example usage of byorg.ai slack integration", + "type": "module", + "main": "dist/index.js", + "private": true, + "bin": { + "example": "./index.js" + }, + "scripts": { + "build": "rsbuild build", + "example": "pnpm build && dotenv -- node dist/index.cjs" + }, + "dependencies": { + "@ai-sdk/openai": "^1.0.2", + "@callstack/byorg-core": "0.4.2", + "@callstack/byorg-slack": "0.4.2", + "@callstack/byorg-utils": "0.4.2" + }, + "devDependencies": { + "dotenv-cli": "^7.4.2", + "@callstack/eslint-config": "^14.2.0", + "@rsbuild/core": "^1.0.5", + "eslint": "^8.57.0", + "prettier": "^3.3.3", + "typescript": "^5.6.3" + }, + "author": "", + "license": "MIT" +} diff --git a/examples/slack/rsbuild.config.ts b/examples/slack/rsbuild.config.ts new file mode 100644 index 0000000..8585ad5 --- /dev/null +++ b/examples/slack/rsbuild.config.ts @@ -0,0 +1,38 @@ +import { defineConfig } from '@rsbuild/core'; + +export default defineConfig({ + source: { + entry: { + index: { + filename: 'index.cjs', + import: './src/index.ts', + }, + }, + tsconfigPath: './tsconfig.build.json', + }, + output: { + target: 'node', + minify: false, + }, + tools: { + rspack: { + module: { + parser: { + javascript: { + dynamicImportMode: 'eager', + }, + }, + }, + resolve: { + extensionAlias: { + '.js': ['.js', '.ts'], + }, + }, + ignoreWarnings: [ + /the request of a dependency is an expression/, + /Can't resolve 'bufferutil'/, + /Can't resolve 'utf-8-validate'/, + ], + }, + }, +}); diff --git a/examples/slack/src/index.ts b/examples/slack/src/index.ts new file mode 100644 index 0000000..9c49714 --- /dev/null +++ b/examples/slack/src/index.ts @@ -0,0 +1,43 @@ +import { VercelChatModelAdapter, createApp } from '@callstack/byorg-core'; +import { createOpenAI } from '@ai-sdk/openai'; +import { logger, requireEnv } from '@callstack/byorg-utils'; +import { createSlackApp } from '@callstack/byorg-slack'; + +const LANGUAGE_MODEL = 'gpt-4o-2024-11-20'; +const API_KEY = requireEnv('OPENAI_API_KEY'); +const SLACK_BOT_TOKEN = requireEnv('SLACK_BOT_TOKEN'); +const SLACK_APP_TOKEN = requireEnv('SLACK_APP_TOKEN'); +const SLACK_SIGNING_SECRET = requireEnv('SLACK_SIGNING_SECRET'); + +const openAiProvider = createOpenAI({ + apiKey: API_KEY, + compatibility: 'strict', // strict mode, enable when using the OpenAI API +}); + +const chatModel = new VercelChatModelAdapter({ + languageModel: openAiProvider.languageModel(LANGUAGE_MODEL), +}); + +const SYSTEM_PROMPT = 'Your name is Byorg. You are an AI Assistant.'; + +const app = createApp({ + chatModel, + systemPrompt: () => SYSTEM_PROMPT, +}); + +const slack = createSlackApp({ + app, + socketMode: true, + token: SLACK_BOT_TOKEN, + appToken: SLACK_APP_TOKEN, + signingSecret: SLACK_SIGNING_SECRET, +}); + +void (async () => { + try { + await slack.start(8080); + logger.info('Slack ready.'); + } catch (error) { + logger.error('Dev Slack start error:', error); + } +})(); diff --git a/examples/slack/tsconfig.build.json b/examples/slack/tsconfig.build.json new file mode 100644 index 0000000..ea27e3f --- /dev/null +++ b/examples/slack/tsconfig.build.json @@ -0,0 +1,8 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "rootDir": ".", + "noEmit": false, + "paths": {} + } +} diff --git a/examples/slack/tsconfig.json b/examples/slack/tsconfig.json new file mode 100644 index 0000000..1a0776f --- /dev/null +++ b/examples/slack/tsconfig.json @@ -0,0 +1,17 @@ +{ + "compilerOptions": { + "target": "esnext", + "module": "node16", + "moduleResolution": "node16", + "noEmit": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "strict": true, + "noStrictGenericChecks": false, + "skipLibCheck": true, + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "react" + }, + "include": ["src"] +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e6605cc..18af79f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -82,6 +82,105 @@ importers: specifier: ^5.6.3 version: 5.6.3 + examples/bare: + dependencies: + '@ai-sdk/openai': + specifier: ^1.0.2 + version: 1.0.2(zod@3.23.8) + '@callstack/byorg-core': + specifier: 0.4.2 + version: 0.4.2(ai@4.0.3(react@18.3.1)(zod@3.23.8)) + '@callstack/byorg-utils': + specifier: 0.4.2 + version: 0.4.2 + devDependencies: + '@callstack/eslint-config': + specifier: ^14.2.0 + version: 14.2.0(@types/eslint@9.6.1)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.5.0(eslint@8.57.1)(typescript@5.7.2))(eslint-plugin-import@2.31.0)(eslint@8.57.1))(eslint@8.57.1)(jest@29.7.0(@types/node@22.9.1)(ts-node@10.9.2(@types/node@22.9.1)(typescript@5.7.2)))(typescript@5.6.3) + '@rsbuild/core': + specifier: ^1.0.5 + version: 1.0.19 + dotenv-cli: + specifier: ^7.4.2 + version: 7.4.4 + eslint: + specifier: ^8.57.0 + version: 8.57.1 + prettier: + specifier: ^3.3.3 + version: 3.3.3 + typescript: + specifier: ^5.6.3 + version: 5.6.3 + + examples/discord: + dependencies: + '@ai-sdk/openai': + specifier: ^1.0.2 + version: 1.0.2(zod@3.23.8) + '@callstack/byorg-core': + specifier: 0.4.2 + version: 0.4.2(ai@4.0.3(react@18.3.1)(zod@3.23.8)) + '@callstack/byorg-discord': + specifier: 0.4.2 + version: 0.4.2(ai@4.0.3(react@18.3.1)(zod@3.23.8)) + '@callstack/byorg-utils': + specifier: 0.4.2 + version: 0.4.2 + devDependencies: + '@callstack/eslint-config': + specifier: ^14.2.0 + version: 14.2.0(@types/eslint@9.6.1)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.5.0(eslint@8.57.1)(typescript@5.7.2))(eslint-plugin-import@2.31.0)(eslint@8.57.1))(eslint@8.57.1)(jest@29.7.0(@types/node@22.9.1)(ts-node@10.9.2(@types/node@22.9.1)(typescript@5.7.2)))(typescript@5.6.3) + '@rsbuild/core': + specifier: ^1.0.5 + version: 1.0.19 + dotenv-cli: + specifier: ^7.4.2 + version: 7.4.4 + eslint: + specifier: ^8.57.0 + version: 8.57.1 + prettier: + specifier: ^3.3.3 + version: 3.3.3 + typescript: + specifier: ^5.6.3 + version: 5.6.3 + + examples/slack: + dependencies: + '@ai-sdk/openai': + specifier: ^1.0.2 + version: 1.0.2(zod@3.23.8) + '@callstack/byorg-core': + specifier: 0.4.2 + version: 0.4.2(ai@4.0.3(react@18.3.1)(zod@3.23.8)) + '@callstack/byorg-slack': + specifier: 0.4.2 + version: 0.4.2(ai@4.0.3(react@18.3.1)(zod@3.23.8)) + '@callstack/byorg-utils': + specifier: 0.4.2 + version: 0.4.2 + devDependencies: + '@callstack/eslint-config': + specifier: ^14.2.0 + version: 14.2.0(@types/eslint@9.6.1)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.5.0(eslint@8.57.1)(typescript@5.7.2))(eslint-plugin-import@2.31.0)(eslint@8.57.1))(eslint@8.57.1)(jest@29.7.0(@types/node@22.9.1)(ts-node@10.9.2(@types/node@22.9.1)(typescript@5.7.2)))(typescript@5.6.3) + '@rsbuild/core': + specifier: ^1.0.5 + version: 1.0.19 + dotenv-cli: + specifier: ^7.4.2 + version: 7.4.4 + eslint: + specifier: ^8.57.0 + version: 8.57.1 + prettier: + specifier: ^3.3.3 + version: 3.3.3 + typescript: + specifier: ^5.6.3 + version: 5.6.3 + packages/core: dependencies: '@callstack/byorg-utils': @@ -245,6 +344,21 @@ importers: packages: + '@ai-sdk/openai@1.0.2': + resolution: {integrity: sha512-yAoUiBp4EsPD0Ryc8mRBXYtQLSBkv7oetvhz4AELd37A5jgl79IyspYQa+itXyuVry7usw+Foo3RKoeAFupTEg==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.0.0 + + '@ai-sdk/provider-utils@2.0.1': + resolution: {integrity: sha512-TNg7rPhRtETB2Z9F0JpOvpGii9Fs8EWM8nYy1jEkvSXkrPJ6b/9zVnDdaJsmLFDyrMbOsPJlkblYtmYEQou36w==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3.0.0 + peerDependenciesMeta: + zod: + optional: true + '@ai-sdk/provider-utils@2.0.2': resolution: {integrity: sha512-IAvhKhdlXqiSmvx/D4uNlFYCl8dWT+M9K+IuEcSgnE2Aj27GWu8sDIpAf4r4Voc+wOUkOECVKQhFo8g9pozdjA==} engines: {node: '>=18'} @@ -254,6 +368,10 @@ packages: zod: optional: true + '@ai-sdk/provider@1.0.0': + resolution: {integrity: sha512-Sj29AzooJ7SYvhPd+AAWt/E7j63E9+AzRnoMHUaJPRYzOd/WDrVNxxv85prF9gDcQ7XPVlSk9j6oAZV9/DXYpA==} + engines: {node: '>=18'} + '@ai-sdk/provider@1.0.1': resolution: {integrity: sha512-mV+3iNDkzUsZ0pR2jG0sVzU6xtQY5DtSCBy3JFycLp6PwjyLw/iodfL3MwdmMCRJWgs3dadcHejRnMvF9nGTBg==} engines: {node: '>=18'} @@ -482,12 +600,37 @@ packages: '@bufbuild/protobuf@2.2.2': resolution: {integrity: sha512-UNtPCbrwrenpmrXuRwn9jYpPoweNXj8X5sMvYgsqYyaH8jQ6LfUJSk3dJLnBK+6sfYPrF4iAIo5sd5HQ+tg75A==} + '@callstack/byorg-core@0.4.2': + resolution: {integrity: sha512-RS/4QpX54O1/8KsEi8itncfFCraKzGMpqcnt7SQZTTBRvCtkctE7GfXuJYdFjirypUBFs4AgbsJCcYlYgc7PIw==} + peerDependencies: + ai: ^4.0.3 + + '@callstack/byorg-discord@0.4.2': + resolution: {integrity: sha512-yKI8fmTXQqsnczv/dYXsCBapge2Rygr9vpYbYhJ8iRVDymCpoYQr3hjDCacKSATX4rlz5r2IvHrYWSiduvBU6Q==} + + '@callstack/byorg-slack@0.4.2': + resolution: {integrity: sha512-RuFyn8R/9cQGaJhmUTTGkNk+ISpzWYsf9hGm9ymjMFrPtuuB2aKfudC3l3K0/A/je6cwLsQw+GbPbcwrn8UT+A==} + + '@callstack/byorg-utils@0.4.2': + resolution: {integrity: sha512-7nFLUT9w1iRyu2LPEjmOhRoEanrt0QDWaHFlD9uU6hlmhnEb2PLjTPHkQLqkd65qO6Nb4j9kxlSpqmjpqjdGiw==} + + '@callstack/eslint-config@14.2.0': + resolution: {integrity: sha512-q3Qu/dct79wUHI6DqLWJP8/On+NOIP72hndrFQocbVd+MQVvwR3Vc1G6w0qyIujHe3Cm4MCZc9yn+pEPGX2msw==} + engines: {node: '>=18.0.0'} + peerDependencies: + eslint: '>=8.1.0' + '@callstack/eslint-config@15.0.0': resolution: {integrity: sha512-dMCqo0xA5i/u+onI2FUQIdWSEKRd/NVtd1dtmov2zn1Yg/2j56WWdt3VPhsCrIw/VYQJSr2kJi0egrNdKkZlwQ==} engines: {node: '>=18.0.0'} peerDependencies: eslint: '>=8.1.0' + '@callstack/slack-rich-text@0.4.2': + resolution: {integrity: sha512-mPToRxJCkVuOMbWZqOUI0vLNXoVw2TMzjOn0UtSXJjphBROo05N4ARt6rEREjYw5yd+vYtyQpRbgRuh7Ub6d0Q==} + peerDependencies: + '@slack/web-api': ^6.11.2 + '@changesets/apply-release-plan@7.0.6': resolution: {integrity: sha512-TKhVLtiwtQOgMAC0fCJfmv93faiViKSDqr8oMEqrnNs99gtSC1sZh/aEMS9a+dseU1ESZRCK+ofLgGY7o0fw/Q==} @@ -1521,6 +1664,9 @@ packages: '@types/retry@0.12.0': resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} + '@types/semver@7.5.8': + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} + '@types/send@0.17.4': resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} @@ -1551,6 +1697,17 @@ packages: '@types/yargs@17.0.33': resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} + '@typescript-eslint/eslint-plugin@6.21.0': + resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/eslint-plugin@8.5.0': resolution: {integrity: sha512-lHS5hvz33iUFQKuPFGheAB84LwcJ60G8vKnEhnfcK1l8kGVLro2SFYW6K0/tj8FUhRJ0VHyg1oAfg50QGbPPHw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1562,6 +1719,16 @@ packages: typescript: optional: true + '@typescript-eslint/parser@6.21.0': + resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/parser@8.5.0': resolution: {integrity: sha512-gF77eNv0Xz2UJg/NbpWJ0kqAm35UMsvZf1GHj8D9MRFTj/V3tAciIWXfmPLsAAF/vUlpWPvUDyH1jjsr0cMVWw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1572,10 +1739,28 @@ packages: typescript: optional: true + '@typescript-eslint/scope-manager@5.62.0': + resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@typescript-eslint/scope-manager@6.21.0': + resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} + engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/scope-manager@8.5.0': resolution: {integrity: sha512-06JOQ9Qgj33yvBEx6tpC8ecP9o860rsR22hWMEd12WcTRrfaFgHr2RB/CA/B+7BMhHkXT4chg2MyboGdFGawYg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/type-utils@6.21.0': + resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/type-utils@8.5.0': resolution: {integrity: sha512-N1K8Ix+lUM+cIDhL2uekVn/ZD7TZW+9/rwz8DclQpcQ9rk4sIL5CAlBC0CugWKREmDjBzI/kQqU4wkg46jWLYA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1585,10 +1770,36 @@ packages: typescript: optional: true + '@typescript-eslint/types@5.62.0': + resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@typescript-eslint/types@6.21.0': + resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} + engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/types@8.5.0': resolution: {integrity: sha512-qjkormnQS5wF9pjSi6q60bKUHH44j2APxfh9TQRXK8wbYVeDYYdYJGIROL87LGZZ2gz3Rbmjc736qyL8deVtdw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/typescript-estree@5.62.0': + resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/typescript-estree@6.21.0': + resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/typescript-estree@8.5.0': resolution: {integrity: sha512-vEG2Sf9P8BPQ+d0pxdfndw3xIXaoSjliG0/Ejk7UggByZPKXmJmw3GW5jV2gHNQNawBUyfahoSiCFVov0Ruf7Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1598,12 +1809,32 @@ packages: typescript: optional: true + '@typescript-eslint/utils@5.62.0': + resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + + '@typescript-eslint/utils@6.21.0': + resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + '@typescript-eslint/utils@8.5.0': resolution: {integrity: sha512-6yyGYVL0e+VzGYp60wvkBHiqDWOpT63pdMV2CVG4LVDd5uR6q1qQN/7LafBZtAtNIn/mqXjsSeS5ggv/P0iECw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 + '@typescript-eslint/visitor-keys@5.62.0': + resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@typescript-eslint/visitor-keys@6.21.0': + resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} + engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/visitor-keys@8.5.0': resolution: {integrity: sha512-yTPqMnbAZJNy2Xq2XU8AdtOW9tJIr+UQb64aXB9f3B1498Zx9JorVgFJcZpEc9UBuCCrdzKID2RGAMkYcDtZOw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2577,6 +2808,19 @@ packages: '@typescript-eslint/parser': optional: true + eslint-plugin-jest@27.9.0: + resolution: {integrity: sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 || ^7.0.0 + eslint: ^7.0.0 || ^8.0.0 + jest: '*' + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + jest: + optional: true + eslint-plugin-jest@28.8.3: resolution: {integrity: sha512-HIQ3t9hASLKm2IhIOqnu+ifw7uLZkIlR7RYNv7fMcEi/p0CIiJmfriStQS2LDkgtY4nyLbIZAD+JL347Yc2ETQ==} engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} @@ -2604,6 +2848,12 @@ packages: eslint-config-prettier: optional: true + eslint-plugin-promise@6.6.0: + resolution: {integrity: sha512-57Zzfw8G6+Gq7axm2Pdo3gW/Rx3h9Yywgn61uE/3elTCOePEHVrn2i5CdfBwA1BLK0Q0WqctICIUSqXZW/VprQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 + eslint-plugin-promise@7.1.0: resolution: {integrity: sha512-8trNmPxdAy3W620WKDpaS65NlM5yAumod6XeC4LOb+jxlkG4IVcp68c6dXY2ev+uT4U1PtG57YDV6EGAXN0GbQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4022,6 +4272,10 @@ packages: minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + minimatch@9.0.5: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} @@ -5149,6 +5403,9 @@ packages: tsconfig-paths@3.15.0: resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + tslib@2.7.0: resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} @@ -5159,6 +5416,12 @@ packages: resolution: {integrity: sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==} engines: {node: '>=0.6.x'} + tsutils@3.21.0: + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + turbo-darwin-64@2.3.1: resolution: {integrity: sha512-tjHfjW/Gs8Q9IO+9gPdIsSStZ8I09QYDRT/SyhFTPLnc7O2ZlxHPBVFfjUkHUjanHNYO8CpRGt+zdp1PaMCruw==} cpu: [x64] @@ -5580,6 +5843,21 @@ packages: snapshots: + '@ai-sdk/openai@1.0.2(zod@3.23.8)': + dependencies: + '@ai-sdk/provider': 1.0.0 + '@ai-sdk/provider-utils': 2.0.1(zod@3.23.8) + zod: 3.23.8 + + '@ai-sdk/provider-utils@2.0.1(zod@3.23.8)': + dependencies: + '@ai-sdk/provider': 1.0.0 + eventsource-parser: 3.0.0 + nanoid: 3.3.7 + secure-json-parse: 2.7.0 + optionalDependencies: + zod: 3.23.8 + '@ai-sdk/provider-utils@2.0.2(zod@3.23.8)': dependencies: '@ai-sdk/provider': 1.0.1 @@ -5589,6 +5867,10 @@ snapshots: optionalDependencies: zod: 3.23.8 + '@ai-sdk/provider@1.0.0': + dependencies: + json-schema: 0.4.0 + '@ai-sdk/provider@1.0.1': dependencies: json-schema: 0.4.0 @@ -5851,6 +6133,71 @@ snapshots: '@bufbuild/protobuf@2.2.2': {} + '@callstack/byorg-core@0.4.2(ai@4.0.3(react@18.3.1)(zod@3.23.8))': + dependencies: + '@callstack/byorg-utils': 0.4.2 + ai: 4.0.3(react@18.3.1)(zod@3.23.8) + ts-regex-builder: 1.8.2 + zod: 3.23.8 + + '@callstack/byorg-discord@0.4.2(ai@4.0.3(react@18.3.1)(zod@3.23.8))': + dependencies: + '@callstack/byorg-core': 0.4.2(ai@4.0.3(react@18.3.1)(zod@3.23.8)) + discord-interactions: 4.1.0 + discord.js: 14.16.3 + transitivePeerDependencies: + - ai + - bufferutil + - utf-8-validate + + '@callstack/byorg-slack@0.4.2(ai@4.0.3(react@18.3.1)(zod@3.23.8))': + dependencies: + '@callstack/byorg-core': 0.4.2(ai@4.0.3(react@18.3.1)(zod@3.23.8)) + '@callstack/byorg-utils': 0.4.2 + '@callstack/slack-rich-text': 0.4.2(@slack/web-api@6.13.0) + '@slack/bolt': 3.22.0 + '@slack/web-api': 6.13.0 + p-debounce: 4.0.0 + ts-regex-builder: 1.8.2 + transitivePeerDependencies: + - ai + - bufferutil + - debug + - supports-color + - utf-8-validate + + '@callstack/byorg-utils@0.4.2': {} + + '@callstack/eslint-config@14.2.0(@types/eslint@9.6.1)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.5.0(eslint@8.57.1)(typescript@5.7.2))(eslint-plugin-import@2.31.0)(eslint@8.57.1))(eslint@8.57.1)(jest@29.7.0(@types/node@22.9.1)(ts-node@10.9.2(@types/node@22.9.1)(typescript@5.7.2)))(typescript@5.6.3)': + dependencies: + '@babel/core': 7.25.2 + '@babel/eslint-parser': 7.25.1(@babel/core@7.25.2)(eslint@8.57.1) + '@babel/plugin-syntax-flow': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.25.2) + '@react-native/eslint-plugin': 0.74.87 + '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.6.3) + eslint: 8.57.1 + eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.24.7(@babel/core@7.25.2))(@babel/plugin-transform-react-jsx@7.25.2(@babel/core@7.25.2))(eslint@8.57.1) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.5.0(eslint@8.57.1)(typescript@5.7.2))(eslint-plugin-import@2.31.0)(eslint@8.57.1))(eslint@8.57.1) + eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(jest@29.7.0(@types/node@22.9.1)(ts-node@10.9.2(@types/node@22.9.1)(typescript@5.7.2)))(typescript@5.6.3) + eslint-plugin-prettier: 5.2.1(@types/eslint@9.6.1)(eslint-config-prettier@9.1.0(eslint@8.57.1))(eslint@8.57.1)(prettier@3.3.3) + eslint-plugin-promise: 6.6.0(eslint@8.57.1) + eslint-plugin-react: 7.35.0(eslint@8.57.1) + eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) + eslint-plugin-react-native: 4.1.0(eslint@8.57.1) + eslint-plugin-react-native-a11y: 3.4.1(eslint@8.57.1) + eslint-restricted-globals: 0.2.0 + prettier: 3.3.3 + transitivePeerDependencies: + - '@types/eslint' + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - jest + - supports-color + - typescript + '@callstack/eslint-config@15.0.0(@types/eslint@9.6.1)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1)(jest@29.7.0(@types/node@22.9.1)(ts-node@10.9.2(@types/node@22.9.1)(typescript@5.7.2)))(typescript@5.7.2)': dependencies: '@babel/core': 7.25.2 @@ -5883,6 +6230,13 @@ snapshots: - supports-color - typescript + '@callstack/slack-rich-text@0.4.2(@slack/web-api@6.13.0)': + dependencies: + '@slack/web-api': 6.13.0 + date-fns: 3.6.0 + marked: 14.1.3 + ts-regex-builder: 1.8.2 + '@changesets/apply-release-plan@7.0.6': dependencies: '@changesets/config': 3.0.4 @@ -6157,7 +6511,7 @@ snapshots: '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 - debug: 4.3.6 + debug: 4.3.7 espree: 9.6.1 globals: 13.24.0 ignore: 5.3.2 @@ -6183,7 +6537,7 @@ snapshots: '@humanwhocodes/config-array@0.13.0': dependencies: '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.6 + debug: 4.3.7 minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -7218,6 +7572,8 @@ snapshots: '@types/retry@0.12.0': {} + '@types/semver@7.5.8': {} + '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 @@ -7251,6 +7607,26 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 + '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3)': + dependencies: + '@eslint-community/regexpp': 4.11.0 + '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.3.7 + eslint: 8.57.1 + graphemer: 1.4.0 + ignore: 5.3.2 + natural-compare: 1.4.0 + semver: 7.6.3 + ts-api-utils: 1.3.0(typescript@5.6.3) + optionalDependencies: + typescript: 5.6.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/eslint-plugin@8.5.0(@typescript-eslint/parser@8.5.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2)': dependencies: '@eslint-community/regexpp': 4.11.0 @@ -7269,6 +7645,19 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.3)': + dependencies: + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.6.3) + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.3.7 + eslint: 8.57.1 + optionalDependencies: + typescript: 5.6.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/parser@8.5.0(eslint@8.57.1)(typescript@5.7.2)': dependencies: '@typescript-eslint/scope-manager': 8.5.0 @@ -7282,11 +7671,33 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/scope-manager@5.62.0': + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + + '@typescript-eslint/scope-manager@6.21.0': + dependencies: + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 + '@typescript-eslint/scope-manager@8.5.0': dependencies: '@typescript-eslint/types': 8.5.0 '@typescript-eslint/visitor-keys': 8.5.0 + '@typescript-eslint/type-utils@6.21.0(eslint@8.57.1)(typescript@5.6.3)': + dependencies: + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.6.3) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.1)(typescript@5.6.3) + debug: 4.3.7 + eslint: 8.57.1 + ts-api-utils: 1.3.0(typescript@5.6.3) + optionalDependencies: + typescript: 5.6.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/type-utils@8.5.0(eslint@8.57.1)(typescript@5.7.2)': dependencies: '@typescript-eslint/typescript-estree': 8.5.0(typescript@5.7.2) @@ -7299,8 +7710,41 @@ snapshots: - eslint - supports-color + '@typescript-eslint/types@5.62.0': {} + + '@typescript-eslint/types@6.21.0': {} + '@typescript-eslint/types@8.5.0': {} + '@typescript-eslint/typescript-estree@5.62.0(typescript@5.6.3)': + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + debug: 4.3.7 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.6.3 + tsutils: 3.21.0(typescript@5.6.3) + optionalDependencies: + typescript: 5.6.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/typescript-estree@6.21.0(typescript@5.6.3)': + dependencies: + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.3.7 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.3 + semver: 7.6.3 + ts-api-utils: 1.3.0(typescript@5.6.3) + optionalDependencies: + typescript: 5.6.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/typescript-estree@8.5.0(typescript@5.7.2)': dependencies: '@typescript-eslint/types': 8.5.0 @@ -7316,6 +7760,35 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/utils@5.62.0(eslint@8.57.1)(typescript@5.6.3)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.6.3) + eslint: 8.57.1 + eslint-scope: 5.1.1 + semver: 7.6.3 + transitivePeerDependencies: + - supports-color + - typescript + + '@typescript-eslint/utils@6.21.0(eslint@8.57.1)(typescript@5.6.3)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.6.3) + eslint: 8.57.1 + semver: 7.6.3 + transitivePeerDependencies: + - supports-color + - typescript + '@typescript-eslint/utils@8.5.0(eslint@8.57.1)(typescript@5.7.2)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) @@ -7327,6 +7800,16 @@ snapshots: - supports-color - typescript + '@typescript-eslint/visitor-keys@5.62.0': + dependencies: + '@typescript-eslint/types': 5.62.0 + eslint-visitor-keys: 3.4.3 + + '@typescript-eslint/visitor-keys@6.21.0': + dependencies: + '@typescript-eslint/types': 6.21.0 + eslint-visitor-keys: 3.4.3 + '@typescript-eslint/visitor-keys@8.5.0': dependencies: '@typescript-eslint/types': 8.5.0 @@ -7464,10 +7947,6 @@ snapshots: mime-types: 2.1.35 negotiator: 0.6.3 - acorn-jsx@5.3.2(acorn@8.12.1): - dependencies: - acorn: 8.12.1 - acorn-jsx@5.3.2(acorn@8.14.0): dependencies: acorn: 8.14.0 @@ -8412,7 +8891,7 @@ snapshots: debug: 4.3.6 enhanced-resolve: 5.17.1 eslint: 8.57.1 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.5.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.5.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1) fast-glob: 3.3.2 get-tsconfig: 4.8.1 is-bun-module: 1.2.1 @@ -8425,6 +8904,17 @@ snapshots: - eslint-import-resolver-webpack - supports-color + eslint-module-utils@2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.5.0(eslint@8.57.1)(typescript@5.7.2))(eslint-plugin-import@2.31.0)(eslint@8.57.1))(eslint@8.57.1): + dependencies: + debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.6.3) + eslint: 8.57.1 + eslint-import-resolver-node: 0.3.9 + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.5.0(eslint@8.57.1)(typescript@5.7.2))(eslint-plugin-import@2.31.0)(eslint@8.57.1) + transitivePeerDependencies: + - supports-color + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.5.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1): dependencies: debug: 3.2.7 @@ -8436,6 +8926,16 @@ snapshots: transitivePeerDependencies: - supports-color + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.5.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1): + dependencies: + debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 8.5.0(eslint@8.57.1)(typescript@5.7.2) + eslint: 8.57.1 + eslint-import-resolver-typescript: 3.6.3(@typescript-eslint/parser@8.5.0(eslint@8.57.1)(typescript@5.7.2))(eslint-plugin-import@2.31.0)(eslint@8.57.1) + transitivePeerDependencies: + - supports-color + eslint-plugin-flowtype@8.0.3(@babel/plugin-syntax-flow@7.24.7(@babel/core@7.25.2))(@babel/plugin-transform-react-jsx@7.25.2(@babel/core@7.25.2))(eslint@8.57.1): dependencies: '@babel/plugin-syntax-flow': 7.24.7(@babel/core@7.25.2) @@ -8444,6 +8944,35 @@ snapshots: lodash: 4.17.21 string-natural-compare: 3.0.1 + eslint-plugin-import@2.31.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.5.0(eslint@8.57.1)(typescript@5.7.2))(eslint-plugin-import@2.31.0)(eslint@8.57.1))(eslint@8.57.1): + dependencies: + '@rtsao/scc': 1.1.0 + array-includes: 3.1.8 + array.prototype.findlastindex: 1.2.5 + array.prototype.flat: 1.3.2 + array.prototype.flatmap: 1.3.2 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 8.57.1 + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.12.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.3(@typescript-eslint/parser@8.5.0(eslint@8.57.1)(typescript@5.7.2))(eslint-plugin-import@2.31.0)(eslint@8.57.1))(eslint@8.57.1) + hasown: 2.0.2 + is-core-module: 2.15.1 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.fromentries: 2.0.8 + object.groupby: 1.0.3 + object.values: 1.2.0 + semver: 6.3.1 + string.prototype.trimend: 1.0.8 + tsconfig-paths: 3.15.0 + optionalDependencies: + '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.6.3) + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.5.0(eslint@8.57.1)(typescript@5.7.2))(eslint-import-resolver-typescript@3.6.3)(eslint@8.57.1): dependencies: '@rtsao/scc': 1.1.0 @@ -8473,6 +9002,17 @@ snapshots: - eslint-import-resolver-webpack - supports-color + eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(jest@29.7.0(@types/node@22.9.1)(ts-node@10.9.2(@types/node@22.9.1)(typescript@5.7.2)))(typescript@5.6.3): + dependencies: + '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@5.6.3) + eslint: 8.57.1 + optionalDependencies: + '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.6.3))(eslint@8.57.1)(typescript@5.6.3) + jest: 29.7.0(@types/node@22.9.1)(ts-node@10.9.2(@types/node@22.9.1)(typescript@5.7.2)) + transitivePeerDependencies: + - supports-color + - typescript + eslint-plugin-jest@28.8.3(@typescript-eslint/eslint-plugin@8.5.0(@typescript-eslint/parser@8.5.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(jest@29.7.0(@types/node@22.9.1)(ts-node@10.9.2(@types/node@22.9.1)(typescript@5.7.2)))(typescript@5.7.2): dependencies: '@typescript-eslint/utils': 8.5.0(eslint@8.57.1)(typescript@5.7.2) @@ -8494,6 +9034,10 @@ snapshots: '@types/eslint': 9.6.1 eslint-config-prettier: 9.1.0(eslint@8.57.1) + eslint-plugin-promise@6.6.0(eslint@8.57.1): + dependencies: + eslint: 8.57.1 + eslint-plugin-promise@7.1.0(eslint@8.57.1): dependencies: eslint: 8.57.1 @@ -8567,7 +9111,7 @@ snapshots: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.6 + debug: 4.3.7 doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.2.2 @@ -8599,8 +9143,8 @@ snapshots: espree@9.6.1: dependencies: - acorn: 8.12.1 - acorn-jsx: 5.3.2(acorn@8.12.1) + acorn: 8.14.0 + acorn-jsx: 5.3.2(acorn@8.14.0) eslint-visitor-keys: 3.4.3 esprima@4.0.1: {} @@ -10541,6 +11085,10 @@ snapshots: dependencies: brace-expansion: 1.1.11 + minimatch@9.0.3: + dependencies: + brace-expansion: 2.0.1 + minimatch@9.0.5: dependencies: brace-expansion: 2.0.1 @@ -11681,6 +12229,10 @@ snapshots: trough@2.2.0: {} + ts-api-utils@1.3.0(typescript@5.6.3): + dependencies: + typescript: 5.6.3 + ts-api-utils@1.3.0(typescript@5.7.2): dependencies: typescript: 5.7.2 @@ -11732,12 +12284,19 @@ snapshots: minimist: 1.2.8 strip-bom: 3.0.0 + tslib@1.14.1: {} + tslib@2.7.0: {} tslib@2.8.1: {} tsscmp@1.0.6: {} + tsutils@3.21.0(typescript@5.6.3): + dependencies: + tslib: 1.14.1 + typescript: 5.6.3 + turbo-darwin-64@2.3.1: optional: true diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index dee584f..b16e990 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,6 +1,7 @@ packages: - packages/* - docs + - examples/* catalog: '@microsoft/api-extractor': '^7.47.12'