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..485d67f --- /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 && mv dist/index.js dist/index.cjs && dotenv -- node dist/index.cjs" + }, + "dependencies": { + "@ai-sdk/openai": "^1.0.2", + "@callstack/byorg-core": "0.3.1", + "@callstack/byorg-utils": "0.3.1" + }, + "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/bare/rsbuild.config.ts b/examples/bare/rsbuild.config.ts new file mode 100644 index 0000000..958d962 --- /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.js', + 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..db5dcb5 --- /dev/null +++ b/examples/bare/src/index.ts @@ -0,0 +1,81 @@ +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 systemPrompt = () => { + return 'Your name is Cassandra. You are an AI Assistant.'; +}; + +const app = createApp({ + chatModel, + systemPrompt, +}); + +// 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('Bot: '); + + 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('Ctrl-C was pressed'); + 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..83226b5 --- /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 && mv dist/index.js dist/index.cjs && dotenv -- node dist/index.cjs" + }, + "dependencies": { + "@ai-sdk/openai": "^1.0.2", + "@callstack/byorg-core": "0.3.1", + "@callstack/byorg-discord": "0.3.1", + "@callstack/byorg-utils": "0.3.1" + }, + "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..5017853 --- /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.js', + 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..f86fc43 --- /dev/null +++ b/examples/discord/src/index.ts @@ -0,0 +1,32 @@ +// 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..e804a3c --- /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 && mv dist/index.js dist/index.cjs && dotenv -- node dist/index.cjs" + }, + "dependencies": { + "@ai-sdk/openai": "^1.0.2", + "@callstack/byorg-core": "0.3.1", + "@callstack/byorg-slack": "0.3.1", + "@callstack/byorg-utils": "0.3.1" + }, + "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/slack/rsbuild.config.ts b/examples/slack/rsbuild.config.ts new file mode 100644 index 0000000..877401f --- /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.js', + 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..06bd17c --- /dev/null +++ b/examples/slack/src/index.ts @@ -0,0 +1,47 @@ +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 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 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 ce390d1..2130369 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -78,6 +78,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.3.1 + version: 0.3.1(encoding@0.1.13)(react@18.3.1)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.10(typescript@5.6.3))(zod@3.23.8) + '@callstack/byorg-utils': + specifier: 0.3.1 + version: 0.3.1 + 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.3.1 + version: 0.3.1(encoding@0.1.13)(react@18.3.1)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.10(typescript@5.6.3))(zod@3.23.8) + '@callstack/byorg-discord': + specifier: 0.3.1 + version: 0.3.1(encoding@0.1.13)(react@18.3.1)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.10(typescript@5.6.3))(zod@3.23.8) + '@callstack/byorg-utils': + specifier: 0.3.1 + version: 0.3.1 + 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.3.1 + version: 0.3.1(encoding@0.1.13)(react@18.3.1)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.10(typescript@5.6.3))(zod@3.23.8) + '@callstack/byorg-slack': + specifier: 0.3.1 + version: 0.3.1(@microsoft/api-extractor@7.47.12(@types/node@22.9.1))(@rslib/core@0.1.0(@microsoft/api-extractor@7.47.12(@types/node@22.9.1))(typescript@5.6.3))(encoding@0.1.13)(react@18.3.1)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.10(typescript@5.6.3))(zod@3.23.8) + '@callstack/byorg-utils': + specifier: 0.3.1 + version: 0.3.1 + 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': @@ -241,6 +340,12 @@ 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@1.0.22': resolution: {integrity: sha512-YHK2rpj++wnLVc9vPGzGFP3Pjeld2MwhKinetA0zKXOoHAT/Jit5O8kZsxcSlJPu9wvcGT1UGZEjZrtO7PfFOQ==} engines: {node: '>=18'} @@ -250,6 +355,15 @@ packages: zod: optional: true + '@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'} @@ -263,6 +377,10 @@ packages: resolution: {integrity: sha512-dQkfBDs2lTYpKM8389oopPdQgIU007GQyCbuPPrV+K6MtSII3HBfE0stUIMXUb44L+LK1t6GXPP7wjSzjO6uKg==} engines: {node: '>=18'} + '@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'} @@ -564,9 +682,21 @@ packages: peerDependencies: zod: ^3.23.8 + '@callstack/byorg-discord@0.3.1': + resolution: {integrity: sha512-ULMSeVDT4D4H36GWWCB2pm9qQGbZMJawYoFlTH3Oig/IW7hqRjVDI8xkoiXMMD6B2qFMTxXL/nqkdvQFqazmQw==} + + '@callstack/byorg-slack@0.3.1': + resolution: {integrity: sha512-gznz6AvorrUEl2If6u/ncLUgTw2kZjCnRETj6wZ85MTRlV5pmeNS9my3SJT7SeyDgEZyyXCp63Mdtav98eVAEA==} + '@callstack/byorg-utils@0.3.1': resolution: {integrity: sha512-mA4mq3iyyP9Va6SG6XTfk5PBTR+OVYgbDxwe/oi8ZOylVX76d0btZZN7/ZvXrK3HviAaOZ9nKvyaMxBpM2LBYA==} + '@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'} @@ -1649,6 +1779,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} @@ -1660,6 +1801,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} @@ -1670,6 +1821,10 @@ 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} @@ -1678,6 +1833,16 @@ packages: 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} @@ -1687,6 +1852,10 @@ 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} @@ -1695,6 +1864,15 @@ packages: 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} @@ -1713,6 +1891,12 @@ 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} @@ -1725,6 +1909,10 @@ packages: 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} @@ -2783,6 +2971,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} @@ -2810,6 +3011,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} @@ -5415,6 +5622,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==} @@ -5425,6 +5635,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] @@ -5867,6 +6083,12 @@ 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@1.0.22(zod@3.23.8)': dependencies: '@ai-sdk/provider': 0.0.26 @@ -5876,6 +6098,15 @@ snapshots: optionalDependencies: 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 @@ -5889,6 +6120,10 @@ snapshots: dependencies: json-schema: 0.4.0 + '@ai-sdk/provider@1.0.0': + dependencies: + json-schema: 0.4.0 + '@ai-sdk/provider@1.0.1': dependencies: json-schema: 0.4.0 @@ -5948,6 +6183,16 @@ snapshots: optionalDependencies: zod: 3.23.8 + '@ai-sdk/vue@0.0.59(vue@3.5.10(typescript@5.6.3))(zod@3.23.8)': + dependencies: + '@ai-sdk/provider-utils': 1.0.22(zod@3.23.8) + '@ai-sdk/ui-utils': 0.0.50(zod@3.23.8) + swrv: 1.0.4(vue@3.5.10(typescript@5.6.3)) + optionalDependencies: + vue: 3.5.10(typescript@5.6.3) + transitivePeerDependencies: + - zod + '@ai-sdk/vue@0.0.59(vue@3.5.10(typescript@5.7.2))(zod@3.23.8)': dependencies: '@ai-sdk/provider-utils': 1.0.22(zod@3.23.8) @@ -6223,6 +6468,23 @@ snapshots: '@bufbuild/protobuf@2.2.2': {} + '@callstack/byorg-core@0.3.1(encoding@0.1.13)(react@18.3.1)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.10(typescript@5.6.3))(zod@3.23.8)': + dependencies: + '@anthropic-ai/sdk': 0.26.1(encoding@0.1.13) + '@callstack/byorg-utils': 0.3.1 + ai: 3.4.33(openai@4.71.0(encoding@0.1.13)(zod@3.23.8))(react@18.3.1)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.10(typescript@5.6.3))(zod@3.23.8) + openai: 4.71.0(encoding@0.1.13)(zod@3.23.8) + tiktoken: 1.0.17 + ts-regex-builder: 1.8.2 + zod: 3.23.8 + transitivePeerDependencies: + - encoding + - react + - solid-js + - sswr + - svelte + - vue + '@callstack/byorg-core@0.3.1(encoding@0.1.13)(react@18.3.1)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.10(typescript@5.7.2))(zod@3.23.8)': dependencies: '@anthropic-ai/sdk': 0.26.1(encoding@0.1.13) @@ -6240,8 +6502,78 @@ snapshots: - svelte - vue + '@callstack/byorg-discord@0.3.1(encoding@0.1.13)(react@18.3.1)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.10(typescript@5.6.3))(zod@3.23.8)': + dependencies: + '@callstack/byorg-core': 0.3.1(encoding@0.1.13)(react@18.3.1)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.10(typescript@5.6.3))(zod@3.23.8) + discord-interactions: 4.1.0 + discord.js: 14.16.3 + transitivePeerDependencies: + - bufferutil + - encoding + - react + - solid-js + - sswr + - svelte + - utf-8-validate + - vue + - zod + + '@callstack/byorg-slack@0.3.1(@microsoft/api-extractor@7.47.12(@types/node@22.9.1))(@rslib/core@0.1.0(@microsoft/api-extractor@7.47.12(@types/node@22.9.1))(typescript@5.6.3))(encoding@0.1.13)(react@18.3.1)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.10(typescript@5.6.3))(zod@3.23.8)': + dependencies: + '@callstack/byorg-core': 0.3.1(encoding@0.1.13)(react@18.3.1)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.10(typescript@5.6.3))(zod@3.23.8) + '@callstack/byorg-utils': 0.3.1 + '@callstack/slack-rich-text': 0.3.1(@microsoft/api-extractor@7.47.12(@types/node@22.9.1))(@rslib/core@0.1.0(@microsoft/api-extractor@7.47.12(@types/node@22.9.1))(typescript@5.6.3))(@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: + - '@microsoft/api-extractor' + - '@rslib/core' + - bufferutil + - debug + - encoding + - react + - solid-js + - sswr + - supports-color + - svelte + - utf-8-validate + - vue + - zod + '@callstack/byorg-utils@0.3.1': {} + '@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 @@ -6274,6 +6606,15 @@ snapshots: - supports-color - typescript + '@callstack/slack-rich-text@0.3.1(@microsoft/api-extractor@7.47.12(@types/node@22.9.1))(@rslib/core@0.1.0(@microsoft/api-extractor@7.47.12(@types/node@22.9.1))(typescript@5.6.3))(@slack/web-api@6.13.0)': + dependencies: + '@microsoft/api-extractor': 7.47.12(@types/node@22.9.1) + '@rslib/core': 0.1.0(@microsoft/api-extractor@7.47.12(@types/node@22.9.1))(typescript@5.6.3) + '@slack/web-api': 6.13.0 + date-fns: 3.6.0 + marked: 14.1.3 + ts-regex-builder: 1.8.2 + '@callstack/slack-rich-text@0.3.1(@microsoft/api-extractor@7.47.12(@types/node@22.9.1))(@rslib/core@0.1.0(@microsoft/api-extractor@7.47.12(@types/node@22.9.1))(typescript@5.7.2))(@slack/web-api@6.13.0)': dependencies: '@microsoft/api-extractor': 7.47.12(@types/node@22.9.1) @@ -6557,7 +6898,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 @@ -6583,7 +6924,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 @@ -7048,6 +7389,15 @@ snapshots: reduce-configs: 1.0.0 sass-embedded: 1.80.6 + '@rslib/core@0.1.0(@microsoft/api-extractor@7.47.12(@types/node@22.9.1))(typescript@5.6.3)': + dependencies: + '@rsbuild/core': 1.1.4 + rsbuild-plugin-dts: 0.1.0(@microsoft/api-extractor@7.47.12(@types/node@22.9.1))(@rsbuild/core@1.1.4)(typescript@5.6.3) + tinyglobby: 0.2.10 + optionalDependencies: + '@microsoft/api-extractor': 7.47.12(@types/node@22.9.1) + typescript: 5.6.3 + '@rslib/core@0.1.0(@microsoft/api-extractor@7.47.12(@types/node@22.9.1))(typescript@5.7.2)': dependencies: '@rsbuild/core': 1.1.4 @@ -7657,6 +8007,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 @@ -7675,19 +8045,37 @@ 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 '@typescript-eslint/types': 8.5.0 '@typescript-eslint/typescript-estree': 8.5.0(typescript@5.7.2) '@typescript-eslint/visitor-keys': 8.5.0 - debug: 4.3.6 + debug: 4.3.7 eslint: 8.57.1 optionalDependencies: typescript: 5.7.2 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 @@ -7698,6 +8086,18 @@ snapshots: '@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) @@ -7710,11 +8110,27 @@ 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@6.21.0(typescript@5.7.2)': + '@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 @@ -7723,9 +8139,9 @@ snapshots: is-glob: 4.0.3 minimatch: 9.0.3 semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.7.2) + ts-api-utils: 1.3.0(typescript@5.6.3) optionalDependencies: - typescript: 5.7.2 + typescript: 5.6.3 transitivePeerDependencies: - supports-color @@ -7744,14 +8160,29 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@6.21.0(eslint@8.57.1)(typescript@5.7.2)': + '@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.7.2) + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.6.3) eslint: 8.57.1 semver: 7.6.3 transitivePeerDependencies: @@ -7769,6 +8200,11 @@ 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 @@ -7869,6 +8305,12 @@ snapshots: '@vue/shared': 3.5.10 csstype: 3.1.3 + '@vue/server-renderer@3.5.10(vue@3.5.10(typescript@5.6.3))': + dependencies: + '@vue/compiler-ssr': 3.5.10 + '@vue/shared': 3.5.10 + vue: 3.5.10(typescript@5.6.3) + '@vue/server-renderer@3.5.10(vue@3.5.10(typescript@5.7.2))': dependencies: '@vue/compiler-ssr': 3.5.10 @@ -7969,10 +8411,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 @@ -8002,6 +8440,31 @@ snapshots: dependencies: humanize-ms: 1.2.1 + ai@3.4.33(openai@4.71.0(encoding@0.1.13)(zod@3.23.8))(react@18.3.1)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.10(typescript@5.6.3))(zod@3.23.8): + dependencies: + '@ai-sdk/provider': 0.0.26 + '@ai-sdk/provider-utils': 1.0.22(zod@3.23.8) + '@ai-sdk/react': 0.0.70(react@18.3.1)(zod@3.23.8) + '@ai-sdk/solid': 0.0.54(zod@3.23.8) + '@ai-sdk/svelte': 0.0.57(svelte@4.2.19)(zod@3.23.8) + '@ai-sdk/ui-utils': 0.0.50(zod@3.23.8) + '@ai-sdk/vue': 0.0.59(vue@3.5.10(typescript@5.6.3))(zod@3.23.8) + '@opentelemetry/api': 1.9.0 + eventsource-parser: 1.1.2 + json-schema: 0.4.0 + jsondiffpatch: 0.6.0 + secure-json-parse: 2.7.0 + zod-to-json-schema: 3.23.5(zod@3.23.8) + optionalDependencies: + openai: 4.71.0(encoding@0.1.13)(zod@3.23.8) + react: 18.3.1 + sswr: 2.1.0(svelte@4.2.19) + svelte: 4.2.19 + zod: 3.23.8 + transitivePeerDependencies: + - solid-js + - vue + ai@3.4.33(openai@4.71.0(encoding@0.1.13)(zod@3.23.8))(react@18.3.1)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.5.10(typescript@5.7.2))(zod@3.23.8): dependencies: '@ai-sdk/provider': 0.0.26 @@ -8972,7 +9435,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 @@ -8985,6 +9448,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 @@ -8996,6 +9470,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) @@ -9004,6 +9488,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 @@ -9033,9 +9546,20 @@ 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': 6.21.0(eslint@8.57.1)(typescript@5.7.2) + '@typescript-eslint/utils': 8.5.0(eslint@8.57.1)(typescript@5.7.2) eslint: 8.57.1 optionalDependencies: '@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) @@ -9054,6 +9578,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 @@ -9127,7 +9655,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 @@ -9159,8 +9687,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: {} @@ -11768,6 +12296,16 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.24.4 fsevents: 2.3.3 + rsbuild-plugin-dts@0.1.0(@microsoft/api-extractor@7.47.12(@types/node@22.9.1))(@rsbuild/core@1.1.4)(typescript@5.6.3): + dependencies: + '@rsbuild/core': 1.1.4 + magic-string: 0.30.13 + picocolors: 1.1.1 + tinyglobby: 0.2.10 + optionalDependencies: + '@microsoft/api-extractor': 7.47.12(@types/node@22.9.1) + typescript: 5.6.3 + rsbuild-plugin-dts@0.1.0(@microsoft/api-extractor@7.47.12(@types/node@22.9.1))(@rsbuild/core@1.1.4)(typescript@5.7.2): dependencies: '@rsbuild/core': 1.1.4 @@ -12216,6 +12754,10 @@ snapshots: swrev@4.0.0: {} + swrv@1.0.4(vue@3.5.10(typescript@5.6.3)): + dependencies: + vue: 3.5.10(typescript@5.6.3) + swrv@1.0.4(vue@3.5.10(typescript@5.7.2)): dependencies: vue: 3.5.10(typescript@5.7.2) @@ -12312,6 +12854,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 @@ -12363,12 +12909,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 @@ -12666,6 +13219,16 @@ snapshots: - supports-color - terser + vue@3.5.10(typescript@5.6.3): + dependencies: + '@vue/compiler-dom': 3.5.10 + '@vue/compiler-sfc': 3.5.10 + '@vue/runtime-dom': 3.5.10 + '@vue/server-renderer': 3.5.10(vue@3.5.10(typescript@5.6.3)) + '@vue/shared': 3.5.10 + optionalDependencies: + typescript: 5.6.3 + vue@3.5.10(typescript@5.7.2): dependencies: '@vue/compiler-dom': 3.5.10 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'