An extension of fabricatio
Project description
fabricatio-agent
AI agent framework that integrates thinking, memory, judgment, task dispatching, and team collaboration into a single composable Agent class. The agent digests requests, decomposes them into tasks, and executes them through a cooperative multi-role pipeline.
Installation
pip install fabricatio[agent]
Or with full dependencies:
pip install fabricatio[full]
The package exposes a CLI entry point (falcon) when installed with the cli extra:
pip install fabricatio-agent[cli]
falcon code "write a fibonacci function in python"
Key Components
Agent (fabricatio_agent.capabilities.agent)
The central class composing these capabilities through multiple inheritance:
| Capability | Trait | Role |
|---|---|---|
| Checkpoint | Checkpoint |
Save/restore execution state |
| Capable | Capable |
Assess whether the agent can handle a request |
| CooperativeDigest | CooperativeDigest |
Decompose requests into task lists with team-aware dispatch |
| Remember | Remember |
Recall relevant memories to enrich context |
| Censor | Censor |
Rule-based content filtering |
| EvidentlyJudge | EvidentlyJudge |
Evidence-aware judgment and evaluation |
| DispatchTask | DispatchTask |
Dispatch tasks to team members |
| DiffEdit | DiffEdit |
Difference-based editing operations |
| Questioning | Questioning |
Interactive question-asking |
| Thinking | Thinking |
Sequential chain-of-thought reasoning |
| Handle | Handle |
Tool execution and handling |
Agent.fulfill(request, sequential_thinking=False, check_capable=False, memory=False, top_k=100, boost_recent=True, **kwargs)
The main entry point. Orchestrates capability checking → memory recall → sequential thinking → request digestion into a task list → task execution. Returns None if the agent is not capable, otherwise returns the task execution results.
from fabricatio_agent.capabilities.agent import Agent
class MyAgent(Agent):
pass
agent = MyAgent()
result = await agent.fulfill(
"Refactor the authentication module to use JWT",
sequential_thinking=True,
memory=True,
)
AgentConfig (fabricatio_agent.config)
Dataclass controlling agent behavior, loaded from the Fabricatio configuration system:
| Field | Default | Description |
|---|---|---|
memory |
False |
Enable memory recall globally |
sequential_thinking |
False |
Enable sequential thinking globally |
check_capable |
False |
Check capabilities before every request |
fulfill_prompt_template |
"built-in/fulfill_prompt" |
Template used for request digestion |
Values set on AgentConfig act as defaults; the fulfill() method accepts per-call overrides.
Actions (fabricatio_agent.actions.code)
Reusable Action subclasses that combine the Agent capability mixin:
WriteCode— Generates code snippets from a prompt (with directory tree context), infers the coding language, and writes files to disk.Planning— Breaks complex tasks into subtasks via cooperative digestion, optionally preceded by sequential thinking.CleanUp— Removes unwanted files/directories using tool-based handling.ReviewCode— Saves a checkpoint of the current state for later review.MakeSpecification— Produces a specification document for a task.
CLI (fabricatio_agent.cli)
A Typer application (falcon) that assembles a multi-role team and dispatches tasks:
Roles — each implements Role + Cooperate and subscribes to event patterns:
| Role | Handles | Workflow |
|---|---|---|
Developer |
Coding, CleanUp, Plot, Synthesize |
WriteCode, CleanUp, chart/synthesis generation |
ProjectLeader |
Orchestrate |
Planning (decomposes into subtasks) |
TestEngineer |
Test |
WriteCode (generates test cases) |
DocumentationWriter |
Documentation |
WriteCode (generates documentation) |
TaskType enum: Coding, Orchestrate, CleanUp, Plot, Synthesize, Test, Documentation.
falcon code "write a fibonacci function in python"
This command spins up a Team with all four roles and delegates a coding task through the orchestrator. Complex tasks are automatically decomposed into subtasks.
Dependencies
fabricatio-core— Core interfaces and utilitiesfabricatio-digest— Request digestion and task planningfabricatio-memory— Memory management and recallfabricatio-improve— Content improvementfabricatio-rule— Rule-based content processingfabricatio-judge— Judgment and evaluationfabricatio-capabilities— Base capability patternsfabricatio-diff— Difference editing operationsfabricatio-thinking— Sequential thinkingfabricatio-question— Interactive questioningfabricatio-tool— Tool handling and executionfabricatio-team— Team cooperation mechanismsfabricatio-capable— Capability assessmentfabricatio-checkpoint— Execution checkpointing
License
MIT — see LICENSE
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fabricatio_agent-0.3.1-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: fabricatio_agent-0.3.1-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 128.4 kB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dfb76c3bdf1b9a28674ab50ca71d3e6043f9f168e8cd55eaf1dc5e43c46708e8
|
|
| MD5 |
97100d2b97afaa8b2149e6f9d2913706
|
|
| BLAKE2b-256 |
b31b97a945a7535ff4b21491889eb5240264cf18e8f91c494a8798fc218cd4f4
|
File details
Details for the file fabricatio_agent-0.3.1-cp314-cp314-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: fabricatio_agent-0.3.1-cp314-cp314-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 236.6 kB
- Tags: CPython 3.14, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1791e18d1e7bb6044b88a32cae3ec200fca6a09c2edd05524c2fe9192533317d
|
|
| MD5 |
6ee8e0145f417d9d43981077d4d15a8d
|
|
| BLAKE2b-256 |
c136b1b40dc81afcba11518300cbf0b4a522bb4246c8d91d25c7841544806636
|
File details
Details for the file fabricatio_agent-0.3.1-cp314-cp314-manylinux_2_34_aarch64.whl.
File metadata
- Download URL: fabricatio_agent-0.3.1-cp314-cp314-manylinux_2_34_aarch64.whl
- Upload date:
- Size: 220.7 kB
- Tags: CPython 3.14, manylinux: glibc 2.34+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0dc26bb6922c56576c3470d492d176c8911c99961769c2c260ec892906f870d7
|
|
| MD5 |
ceb50559f1c365ecaa519283776d9f83
|
|
| BLAKE2b-256 |
b179b436360be97b0f0ff73260f954581f48b58f87629cc713bb5353f1cb8495
|
File details
Details for the file fabricatio_agent-0.3.1-cp314-cp314-macosx_11_0_arm64.whl.
File metadata
- Download URL: fabricatio_agent-0.3.1-cp314-cp314-macosx_11_0_arm64.whl
- Upload date:
- Size: 206.8 kB
- Tags: CPython 3.14, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
81ba63e9bb08579de3aff80463de2526659e421f80799d2a1ab958305c7777f2
|
|
| MD5 |
3258a1117fe04a66994256d11366ef4a
|
|
| BLAKE2b-256 |
bd1f16b5a06740c78d4d292db4282f23f8ca9962275f304b716d774e40434613
|
File details
Details for the file fabricatio_agent-0.3.1-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: fabricatio_agent-0.3.1-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 130.0 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f9c1bc5c8d20c7d8830a7eb202734d2183d5a66f1bb68bf3bac21d4f96f8fec3
|
|
| MD5 |
589d44f026834594495f73c5bec19d98
|
|
| BLAKE2b-256 |
56963450a992880e37f6efd5313d6606e530b8dbc2e9cc5593238984e72f2296
|
File details
Details for the file fabricatio_agent-0.3.1-cp313-cp313-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: fabricatio_agent-0.3.1-cp313-cp313-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 238.0 kB
- Tags: CPython 3.13, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e6d8e2c989be95a5a5c73a7a47df96d78a848293f48dc5491fa6e500655165aa
|
|
| MD5 |
f31ce842e5cc8b4f321683439208d80e
|
|
| BLAKE2b-256 |
a1459988a452090fb857aeee3a31c52826c124ecca489cdc994888c6af9fbb4f
|
File details
Details for the file fabricatio_agent-0.3.1-cp313-cp313-manylinux_2_34_aarch64.whl.
File metadata
- Download URL: fabricatio_agent-0.3.1-cp313-cp313-manylinux_2_34_aarch64.whl
- Upload date:
- Size: 221.8 kB
- Tags: CPython 3.13, manylinux: glibc 2.34+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2536ec315e919f5604731022ee2c79d3aa210930a8a99dca9dbe8a4be457b6ea
|
|
| MD5 |
8e13231351b4645bf66bdd176117a7a1
|
|
| BLAKE2b-256 |
2c848a70eada54bde5e3904270dba6ffbffa6c4e9ec3f1540e0eebdfb625376d
|
File details
Details for the file fabricatio_agent-0.3.1-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: fabricatio_agent-0.3.1-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 207.7 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a5dba66dd98c3799599e733f8b0c9c7ac71fca05d3cfc1b6e1bd0cc42814e1f3
|
|
| MD5 |
ad584a727885369502c95415bb845a20
|
|
| BLAKE2b-256 |
325d8ab1d6fcf0b2673e669b667a8fbfd9aaf96871ea2051720c92a5982e24b1
|
File details
Details for the file fabricatio_agent-0.3.1-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: fabricatio_agent-0.3.1-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 130.0 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6f2867c0e0b596fa43a2eec704bd4baa79d90585df605366c6ab887c686fae5e
|
|
| MD5 |
32236635ac342108a5cb37c4e0d07266
|
|
| BLAKE2b-256 |
3b90c91acc74034bfb9bde35f5c5ea8fbe92048623d54a90215f5d57bb60a558
|
File details
Details for the file fabricatio_agent-0.3.1-cp312-cp312-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: fabricatio_agent-0.3.1-cp312-cp312-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 237.9 kB
- Tags: CPython 3.12, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4b0918401cc4a70b9715d64070b3881e1ba92371249136cfc364126fe2d1c16e
|
|
| MD5 |
63df956d518f97827be8603d4c71e67f
|
|
| BLAKE2b-256 |
edc3b2ffdbb891ab2a0a604f0d0a88c7df21c6ace4f8c38c0ae36dc460a81cf8
|
File details
Details for the file fabricatio_agent-0.3.1-cp312-cp312-manylinux_2_34_aarch64.whl.
File metadata
- Download URL: fabricatio_agent-0.3.1-cp312-cp312-manylinux_2_34_aarch64.whl
- Upload date:
- Size: 221.9 kB
- Tags: CPython 3.12, manylinux: glibc 2.34+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab192f62ebd64a0265914c04ce0c366966985ac39acbf5d06b0b1c4fa2fbfdfd
|
|
| MD5 |
a6bf960a0ebf268f3b493dd7db2b437b
|
|
| BLAKE2b-256 |
58d8806a34e89b44266e121d21e452ee670862efed0114fad9e8809f39164110
|
File details
Details for the file fabricatio_agent-0.3.1-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: fabricatio_agent-0.3.1-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 207.5 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
85480c3cb51c8ca8d42b6cbf961d768a0971fd394ad3bd3e55948cb78709502e
|
|
| MD5 |
ba5d7460128fd99e9d760a1622c69921
|
|
| BLAKE2b-256 |
daadbe0254344cb293b4215a1017427d522d8197cb2eded081e61a661cda1374
|