diff --git a/README.md b/README.md index 067ba54..6882408 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Dead Simple AI Agent +# Fabrice A lightweight, functional, and composable framework for building AI agents that work together to solve complex tasks. @@ -11,7 +11,7 @@ It is very easy to get started. All you have to do is to create a file with your ### Installing the framework from `npm` ```bash -$ npm install @dead-simple-ai-agent/framework +$ npm install fabrice ``` ### Create your first workflow @@ -20,10 +20,10 @@ Here is a simple example of a workflow that researches and plans a trip to Wroc ```ts // First, import all the necessary functions -import { agent } from '@dead-simple-ai-agent/framework/agent' -import { teamwork } from '@dead-simple-ai-agent/framework/teamwork' -import { logger } from '@dead-simple-ai-agent/framework/telemetry/console' -import { workflow } from '@dead-simple-ai-agent/framework/workflow' +import { agent } from 'fabrice/agent' +import { teamwork } from 'fabrice/teamwork' +import { logger } from 'fabrice/telemetry/console' +import { workflow } from 'fabrice/workflow' // Then, define your agents: @@ -177,7 +177,7 @@ The framework provides two main ways to orchestrate agent collaboration: The `teamwork` function handles complete workflow execution from start to finish, managing the entire process automatically. It's perfect for simple use cases where you want to get results in a single call. ```typescript -import { teamwork } from '@dead-simple-ai-agent/framework' +import { teamwork } from 'fabrice' const state = await teamwork(workflow) ``` @@ -189,7 +189,7 @@ The server-side version of teamwork is perfectly suited for long-running workflo You can then handle tool calls on your own, and call `teamwork` again when ready. ```typescript -import { teamwork } from '@dead-simple-ai-agent/framework/server' +import { teamwork } from 'fabrice/server' // If status is `assigned`, you need to handle tool calls on your own. // Otherwise, status is `finished` and you can read the result. @@ -249,6 +249,6 @@ This functional approach makes the framework particularly well-suited for buildi ## Made with ❤️ at Callstack -Dead Simple AI Agent is an open source project and will always remain free to use. If you think it's cool, please star it 🌟. [Callstack](https://callstack.com) is a group of React and React Native geeks, contact us at [hello@callstack.com](mailto:hello@callstack.com) if you need any help with these or just want to say hi! +Fabrice is an open source project and will always remain free to use. If you think it's cool, please star it 🌟. [Callstack](https://callstack.com) is a group of React and React Native geeks, contact us at [hello@callstack.com](mailto:hello@callstack.com) if you need any help with these or just want to say hi! Like the project? ⚛️ [Join the team](https://callstack.com/careers/?utm_campaign=Senior_RN&utm_source=github&utm_medium=readme) who does amazing stuff for clients and drives React Native Open Source! 🔥 diff --git a/example/package.json b/example/package.json index 2048503..9b3fdbd 100644 --- a/example/package.json +++ b/example/package.json @@ -1,10 +1,10 @@ { - "name": "@dead-simple-ai-agent/example", + "name": "@fabrice-ai/example", "private": true, "author": "Mike Grabowski ", "type": "module", "dependencies": { - "@dead-simple-ai-agent/framework": "0.0.1", + "fabrice": "0.0.1", "@langchain/community": "^0.3.17", "axios": "^1.7.9", "fastify": "^5.1.0" diff --git a/example/src/ecommerce_product_description.ts b/example/src/ecommerce_product_description.ts index 057265b..be13426 100644 --- a/example/src/ecommerce_product_description.ts +++ b/example/src/ecommerce_product_description.ts @@ -1,7 +1,7 @@ -import { agent } from '@dead-simple-ai-agent/framework/agent' -import { teamwork } from '@dead-simple-ai-agent/framework/teamwork' -import { solution, workflow } from '@dead-simple-ai-agent/framework/workflow' -import { visionTool } from '@dead-simple-ai-agent/tools/vision' +import { agent } from 'fabrice/agent' +import { teamwork } from 'fabrice/teamwork' +import { solution, workflow } from 'fabrice/workflow' +import { visionTool } from '@fabrice-ai/tools/vision' const techExpert = agent({ role: 'Technical expert', diff --git a/example/src/library_photo_to_website.ts b/example/src/library_photo_to_website.ts index baade5d..dcd378e 100644 --- a/example/src/library_photo_to_website.ts +++ b/example/src/library_photo_to_website.ts @@ -1,8 +1,8 @@ -import { agent } from '@dead-simple-ai-agent/framework/agent' -import { teamwork } from '@dead-simple-ai-agent/framework/teamwork' -import { logger } from '@dead-simple-ai-agent/framework/telemetry' -import { solution, workflow } from '@dead-simple-ai-agent/framework/workflow' -import { visionTool } from '@dead-simple-ai-agent/tools/vision' +import { agent } from 'fabrice/agent' +import { teamwork } from 'fabrice/teamwork' +import { logger } from 'fabrice/telemetry' +import { solution, workflow } from 'fabrice/workflow' +import { visionTool } from '@fabrice-ai/tools/vision' import path from 'path' import { createFileSystemTools } from './tools/filesystem.js' diff --git a/example/src/medical_survey.ts b/example/src/medical_survey.ts index 3bc521d..91e6d74 100644 --- a/example/src/medical_survey.ts +++ b/example/src/medical_survey.ts @@ -1,5 +1,5 @@ -import { teamwork } from '@dead-simple-ai-agent/framework/teamwork' -import { solution } from '@dead-simple-ai-agent/framework/workflow' +import { teamwork } from 'fabrice/teamwork' +import { solution } from 'fabrice/workflow' import { preVisitNoteWorkflow } from './medical_survey/workflow.js' diff --git a/example/src/medical_survey/workflow.ts b/example/src/medical_survey/workflow.ts index 22a2a3f..fe68ebf 100644 --- a/example/src/medical_survey/workflow.ts +++ b/example/src/medical_survey/workflow.ts @@ -1,6 +1,6 @@ -import { agent } from '@dead-simple-ai-agent/framework/agent' -import { tool } from '@dead-simple-ai-agent/framework/tool' -import { workflow } from '@dead-simple-ai-agent/framework/workflow' +import { agent } from 'fabrice/agent' +import { tool } from 'fabrice/tool' +import { workflow } from 'fabrice/workflow' import { z } from 'zod' async function requestUserInput(prompt: string): Promise { diff --git a/example/src/medical_survey_server.ts b/example/src/medical_survey_server.ts index 20e0b17..81b1790 100644 --- a/example/src/medical_survey_server.ts +++ b/example/src/medical_survey_server.ts @@ -1,11 +1,11 @@ /** * This example demonstrates using framework in server-side environments. */ -import { teamwork } from '@dead-simple-ai-agent/framework/server' -import { isToolCallRequest } from '@dead-simple-ai-agent/framework/supervisor/runTools' -import { WorkflowState, workflowState } from '@dead-simple-ai-agent/framework/workflow' import chalk from 'chalk' import s from 'dedent' +import { teamwork } from 'fabrice/server' +import { isToolCallRequest } from 'fabrice/supervisor/runTools' +import { WorkflowState, workflowState } from 'fabrice/workflow' import fastify, { FastifyRequest } from 'fastify' import { preVisitNoteWorkflow } from './medical_survey/workflow.js' diff --git a/example/src/news_wrap_up.ts b/example/src/news_wrap_up.ts index b45af4d..4556168 100644 --- a/example/src/news_wrap_up.ts +++ b/example/src/news_wrap_up.ts @@ -1,7 +1,7 @@ -import { agent } from '@dead-simple-ai-agent/framework/agent' -import { teamwork } from '@dead-simple-ai-agent/framework/teamwork' -import { logger } from '@dead-simple-ai-agent/framework/telemetry' -import { solution, workflow } from '@dead-simple-ai-agent/framework/workflow' +import { agent } from 'fabrice/agent' +import { teamwork } from 'fabrice/teamwork' +import { logger } from 'fabrice/telemetry' +import { solution, workflow } from 'fabrice/workflow' import { getCurrentDate } from './tools/date.js' import { getApiKey } from './tools/utils.js' diff --git a/example/src/surprise_trip.ts b/example/src/surprise_trip.ts index 0698485..5912d01 100644 --- a/example/src/surprise_trip.ts +++ b/example/src/surprise_trip.ts @@ -1,7 +1,7 @@ -import { agent } from '@dead-simple-ai-agent/framework/agent' -import { teamwork } from '@dead-simple-ai-agent/framework/teamwork' -import { logger } from '@dead-simple-ai-agent/framework/telemetry' -import { solution, workflow } from '@dead-simple-ai-agent/framework/workflow' +import { agent } from 'fabrice/agent' +import { teamwork } from 'fabrice/teamwork' +import { logger } from 'fabrice/telemetry' +import { solution, workflow } from 'fabrice/workflow' import { lookupWikipedia } from './tools/wikipedia.js' diff --git a/example/src/survey.ts b/example/src/survey.ts index 51d609a..998db14 100644 --- a/example/src/survey.ts +++ b/example/src/survey.ts @@ -1,7 +1,7 @@ -import { agent } from '@dead-simple-ai-agent/framework/agent' -import { teamwork } from '@dead-simple-ai-agent/framework/teamwork' -import { tool } from '@dead-simple-ai-agent/framework/tool' -import { workflow, workflowState } from '@dead-simple-ai-agent/framework/workflow' +import { agent } from 'fabrice/agent' +import { teamwork } from 'fabrice/teamwork' +import { tool } from 'fabrice/tool' +import { workflow, workflowState } from 'fabrice/workflow' import { promises as fs } from 'fs' import { tmpdir } from 'os' import { join } from 'path' diff --git a/example/src/tools/date.ts b/example/src/tools/date.ts index 7eef949..536a74f 100644 --- a/example/src/tools/date.ts +++ b/example/src/tools/date.ts @@ -1,4 +1,4 @@ -import { tool } from '@dead-simple-ai-agent/framework/tool' +import { tool } from 'fabrice/tool' import { z } from 'zod' export const getCurrentDate = tool({ diff --git a/example/src/tools/filesystem.ts b/example/src/tools/filesystem.ts index e61c955..d481a9a 100644 --- a/example/src/tools/filesystem.ts +++ b/example/src/tools/filesystem.ts @@ -1,7 +1,7 @@ import { mkdir, readdir, readFile, writeFile } from 'node:fs/promises' import path from 'node:path' -import { tool } from '@dead-simple-ai-agent/framework/tool' +import { tool } from 'fabrice/tool' import { z } from 'zod' interface FileSystemOptions { diff --git a/example/src/tools/vector/index.ts b/example/src/tools/vector/index.ts index 7e657f4..9dc9d30 100644 --- a/example/src/tools/vector/index.ts +++ b/example/src/tools/vector/index.ts @@ -1,6 +1,6 @@ -import { openai } from '@dead-simple-ai-agent/framework/models' -import { tool } from '@dead-simple-ai-agent/framework/tool' import dedent from 'dedent' +import { openai } from 'fabrice/models' +import { tool } from 'fabrice/tool' import { z } from 'zod' // Type Definitions diff --git a/example/src/tools/webSearch.ts b/example/src/tools/webSearch.ts index 9147045..7ae3caa 100644 --- a/example/src/tools/webSearch.ts +++ b/example/src/tools/webSearch.ts @@ -1,5 +1,5 @@ -import { tool } from '@dead-simple-ai-agent/framework/tool' -import { RequiredOptionals } from '@dead-simple-ai-agent/framework/types' +import { tool } from 'fabrice/tool' +import { RequiredOptionals } from 'fabrice/types' import axios from 'axios' import s from 'dedent' import { z } from 'zod' diff --git a/example/src/tools/wikipedia.ts b/example/src/tools/wikipedia.ts index f0c7035..39e22f1 100644 --- a/example/src/tools/wikipedia.ts +++ b/example/src/tools/wikipedia.ts @@ -1,4 +1,4 @@ -import { tool } from '@dead-simple-ai-agent/framework/tool' +import { tool } from 'fabrice/tool' import { WikipediaQueryRun } from '@langchain/community/tools/wikipedia_query_run' import { z } from 'zod' diff --git a/example/src/wikipedia_rag.ts b/example/src/wikipedia_rag.ts index ef7eb0b..65e384a 100644 --- a/example/src/wikipedia_rag.ts +++ b/example/src/wikipedia_rag.ts @@ -1,7 +1,7 @@ -import { agent } from '@dead-simple-ai-agent/framework/agent' -import { teamwork } from '@dead-simple-ai-agent/framework/teamwork' -import { logger } from '@dead-simple-ai-agent/framework/telemetry' -import { solution, workflow } from '@dead-simple-ai-agent/framework/workflow' +import { agent } from 'fabrice/agent' +import { teamwork } from 'fabrice/teamwork' +import { logger } from 'fabrice/telemetry' +import { solution, workflow } from 'fabrice/workflow' import { lookupWikipedia } from '../tools.js' import { ragSave, ragSearch } from './tools/vector/index.js' diff --git a/package.json b/package.json index d581426..603b9b2 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "dead-simple-ai-agent", + "name": "@fabrice-ai/monorepo", "private": true, "workspaces": [ "packages/*", diff --git a/packages/framework/README.md b/packages/framework/README.md index 482df72..0382705 100644 --- a/packages/framework/README.md +++ b/packages/framework/README.md @@ -1,3 +1,6 @@ -@dead-simple-ai-agent/framework +fabrice ==== +A lightweight, functional, and composable framework for building AI agents that work together to solve complex tasks. + +To learn more, check out our website - [fabrice.ai](https://fabrice.ai). diff --git a/packages/framework/package.json b/packages/framework/package.json index 8881317..91ce7c4 100644 --- a/packages/framework/package.json +++ b/packages/framework/package.json @@ -1,6 +1,6 @@ { - "name": "@dead-simple-ai-agent/framework", - "description": "A dead simple AI agent framework", + "name": "fabrice", + "description": "A lightweight, functional, and composable framework for building AI agents.", "author": "Mike Grabowski ", "contributors": [ "Piotr Karwatka " diff --git a/packages/tools/README.md b/packages/tools/README.md index f918da0..0afaafc 100644 --- a/packages/tools/README.md +++ b/packages/tools/README.md @@ -1,3 +1,3 @@ -@dead-simple-ai-agent/tools +@fabrice-ai/tools ==== diff --git a/packages/tools/package.json b/packages/tools/package.json index f27007d..fbbc704 100644 --- a/packages/tools/package.json +++ b/packages/tools/package.json @@ -1,6 +1,6 @@ { - "name": "@dead-simple-ai-agent/tools", - "description": "A dead simple AI agent tools", + "name": "@fabrice-ai/tools", + "description": "Tools that help you build AI agents", "author": "Piotr Karwatka ", "scripts": { "clean": "rm -rf dist", @@ -18,7 +18,7 @@ }, "type": "module", "dependencies": { - "@dead-simple-ai-agent/framework": "0.0.1", + "fabrice": "0.0.1", "zod": "^3.23.8" }, "license": "MIT", diff --git a/packages/tools/src/vision.ts b/packages/tools/src/vision.ts index badb545..70c4f67 100644 --- a/packages/tools/src/vision.ts +++ b/packages/tools/src/vision.ts @@ -1,8 +1,8 @@ import fs from 'node:fs/promises' import path from 'node:path' -import { Provider } from '@dead-simple-ai-agent/framework/models' -import { tool } from '@dead-simple-ai-agent/framework/tool' +import { Provider } from 'fabrice/models' +import { tool } from 'fabrice/tool' import s from 'dedent' import { zodResponseFormat } from 'openai/helpers/zod' import { z } from 'zod' diff --git a/website/docs/index.md b/website/docs/index.md index a79cbe8..8d7acf2 100644 --- a/website/docs/index.md +++ b/website/docs/index.md @@ -2,15 +2,12 @@ pageType: home hero: - name: Dead Simple AI Agent - tagline: AI agents made simple - from prototype to production in minutes!w + name: Fabrice + tagline: AI agents made simple - from prototype to production in minutes! actions: - - theme: brand - text: Quick Start - link: /guide/ - theme: alt - text: GitHub - link: https://github.com/callstack/dead-simple-ai-agent + text: Check out the docs! + link: https://github.com/callstackincubator/fabrice-ai features: - title: Purely Functional Design details: Embrace functional programming with pure functions, immutable state, and composable workflows. No hidden state, no side effects. diff --git a/website/package.json b/website/package.json index dc52022..063ec6a 100644 --- a/website/package.json +++ b/website/package.json @@ -1,5 +1,5 @@ { - "name": "@dead-simple-ai-agent/website", + "name": "@fabrice-ai/website", "private": true, "type": "module", "scripts": { diff --git a/website/rspress.config.ts b/website/rspress.config.ts index 0748e55..c814665 100644 --- a/website/rspress.config.ts +++ b/website/rspress.config.ts @@ -5,7 +5,7 @@ import { defineConfig } from 'rspress/config' export default defineConfig({ root: path.join(__dirname, 'docs'), - title: 'Dead Simple AI Agent', + title: 'Fabrice', icon: '/rspress-icon.png', logo: { light: '/rspress-light-logo.png',