Skip to content

Commit

Permalink
refactor: rename project to fabrice (#77)
Browse files Browse the repository at this point in the history
  • Loading branch information
grabbou authored Dec 10, 2024
1 parent e6ae07f commit c8b2c57
Show file tree
Hide file tree
Showing 25 changed files with 70 additions and 70 deletions.
18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -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.

Expand All @@ -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
Expand All @@ -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:

Expand Down Expand Up @@ -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)
```
Expand All @@ -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.
Expand Down Expand Up @@ -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 [[email protected]](mailto:[email protected]) 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 [[email protected]](mailto:[email protected]) 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! 🔥
4 changes: 2 additions & 2 deletions example/package.json
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
{
"name": "@dead-simple-ai-agent/example",
"name": "@fabrice-ai/example",
"private": true,
"author": "Mike Grabowski <[email protected]>",
"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"
Expand Down
8 changes: 4 additions & 4 deletions example/src/ecommerce_product_description.ts
Original file line number Diff line number Diff line change
@@ -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',
Expand Down
10 changes: 5 additions & 5 deletions example/src/library_photo_to_website.ts
Original file line number Diff line number Diff line change
@@ -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'
Expand Down
4 changes: 2 additions & 2 deletions example/src/medical_survey.ts
Original file line number Diff line number Diff line change
@@ -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'

Expand Down
6 changes: 3 additions & 3 deletions example/src/medical_survey/workflow.ts
Original file line number Diff line number Diff line change
@@ -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<string> {
Expand Down
6 changes: 3 additions & 3 deletions example/src/medical_survey_server.ts
Original file line number Diff line number Diff line change
@@ -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'
Expand Down
8 changes: 4 additions & 4 deletions example/src/news_wrap_up.ts
Original file line number Diff line number Diff line change
@@ -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'
Expand Down
8 changes: 4 additions & 4 deletions example/src/surprise_trip.ts
Original file line number Diff line number Diff line change
@@ -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'

Expand Down
8 changes: 4 additions & 4 deletions example/src/survey.ts
Original file line number Diff line number Diff line change
@@ -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'
Expand Down
2 changes: 1 addition & 1 deletion example/src/tools/date.ts
Original file line number Diff line number Diff line change
@@ -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({
Expand Down
2 changes: 1 addition & 1 deletion example/src/tools/filesystem.ts
Original file line number Diff line number Diff line change
@@ -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 {
Expand Down
4 changes: 2 additions & 2 deletions example/src/tools/vector/index.ts
Original file line number Diff line number Diff line change
@@ -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
Expand Down
4 changes: 2 additions & 2 deletions example/src/tools/webSearch.ts
Original file line number Diff line number Diff line change
@@ -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'
Expand Down
2 changes: 1 addition & 1 deletion example/src/tools/wikipedia.ts
Original file line number Diff line number Diff line change
@@ -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'

Expand Down
8 changes: 4 additions & 4 deletions example/src/wikipedia_rag.ts
Original file line number Diff line number Diff line change
@@ -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'
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "dead-simple-ai-agent",
"name": "@fabrice-ai/monorepo",
"private": true,
"workspaces": [
"packages/*",
Expand Down
5 changes: 4 additions & 1 deletion packages/framework/README.md
Original file line number Diff line number Diff line change
@@ -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).
4 changes: 2 additions & 2 deletions packages/framework/package.json
Original file line number Diff line number Diff line change
@@ -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 <[email protected]>",
"contributors": [
"Piotr Karwatka <[email protected]>"
Expand Down
2 changes: 1 addition & 1 deletion packages/tools/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
@dead-simple-ai-agent/tools
@fabrice-ai/tools
====

6 changes: 3 additions & 3 deletions packages/tools/package.json
Original file line number Diff line number Diff line change
@@ -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 <[email protected]>",
"scripts": {
"clean": "rm -rf dist",
Expand All @@ -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",
Expand Down
4 changes: 2 additions & 2 deletions packages/tools/src/vision.ts
Original file line number Diff line number Diff line change
@@ -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'
Expand Down
11 changes: 4 additions & 7 deletions website/docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
2 changes: 1 addition & 1 deletion website/package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "@dead-simple-ai-agent/website",
"name": "@fabrice-ai/website",
"private": true,
"type": "module",
"scripts": {
Expand Down
2 changes: 1 addition & 1 deletion website/rspress.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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',
Expand Down

0 comments on commit c8b2c57

Please sign in to comment.