diff --git a/docs/ar/concepts/checkpointing.mdx b/docs/ar/concepts/checkpointing.mdx
new file mode 100644
index 000000000..442a98bea
--- /dev/null
+++ b/docs/ar/concepts/checkpointing.mdx
@@ -0,0 +1,187 @@
+---
+title: Checkpointing
+description: حفظ حالة التنفيذ تلقائيا حتى تتمكن الطواقم والتدفقات والوكلاء من الاستئناف بعد الفشل.
+icon: floppy-disk
+mode: "wide"
+---
+
+
+الـ Checkpointing في اصدار مبكر. قد تتغير واجهات البرمجة في الاصدارات المستقبلية.
+
+
+## نظرة عامة
+
+يقوم الـ Checkpointing بحفظ حالة التنفيذ تلقائيا اثناء التشغيل. اذا فشل طاقم او تدفق او وكيل اثناء التنفيذ، يمكنك الاستعادة من اخر نقطة حفظ والاستئناف دون اعادة تنفيذ العمل المكتمل.
+
+## البداية السريعة
+
+```python
+from crewai import Crew, CheckpointConfig
+
+crew = Crew(
+ agents=[...],
+ tasks=[...],
+ checkpoint=True, # يستخدم الافتراضيات: ./.checkpoints, عند task_completed
+)
+result = crew.kickoff()
+```
+
+تتم كتابة ملفات نقاط الحفظ في `./.checkpoints/` بعد اكتمال كل مهمة.
+
+## التكوين
+
+استخدم `CheckpointConfig` للتحكم الكامل:
+
+```python
+from crewai import Crew, CheckpointConfig
+
+crew = Crew(
+ agents=[...],
+ tasks=[...],
+ checkpoint=CheckpointConfig(
+ directory="./my_checkpoints",
+ on_events=["task_completed", "crew_kickoff_completed"],
+ max_checkpoints=5,
+ ),
+)
+```
+
+### حقول CheckpointConfig
+
+| الحقل | النوع | الافتراضي | الوصف |
+|:------|:------|:----------|:------|
+| `directory` | `str` | `"./.checkpoints"` | مسار ملفات نقاط الحفظ |
+| `on_events` | `list[str]` | `["task_completed"]` | انواع الاحداث التي تطلق نقطة حفظ |
+| `provider` | `BaseProvider` | `JsonProvider()` | واجهة التخزين |
+| `max_checkpoints` | `int \| None` | `None` | الحد الاقصى للملفات؛ يتم حذف الاقدم اولا |
+
+### الوراثة والانسحاب
+
+يقبل حقل `checkpoint` في Crew و Flow و Agent قيم `CheckpointConfig` او `True` او `False` او `None`:
+
+| القيمة | السلوك |
+|:-------|:-------|
+| `None` (افتراضي) | يرث من الاصل. الوكيل يرث اعدادات الطاقم. |
+| `True` | تفعيل بالاعدادات الافتراضية. |
+| `False` | انسحاب صريح. يوقف الوراثة من الاصل. |
+| `CheckpointConfig(...)` | اعدادات مخصصة. |
+
+```python
+crew = Crew(
+ agents=[
+ Agent(role="Researcher", ...), # يرث checkpoint من الطاقم
+ Agent(role="Writer", ..., checkpoint=False), # منسحب، بدون نقاط حفظ
+ ],
+ tasks=[...],
+ checkpoint=True,
+)
+```
+
+## الاستئناف من نقطة حفظ
+
+```python
+# استعادة واستئناف
+crew = Crew.from_checkpoint("./my_checkpoints/20260407T120000_abc123.json")
+result = crew.kickoff() # يستأنف من اخر مهمة مكتملة
+```
+
+يتخطى الطاقم المستعاد المهام المكتملة ويستأنف من اول مهمة غير مكتملة.
+
+## يعمل على Crew و Flow و Agent
+
+### Crew
+
+```python
+crew = Crew(
+ agents=[researcher, writer],
+ tasks=[research_task, write_task, review_task],
+ checkpoint=CheckpointConfig(directory="./crew_cp"),
+)
+```
+
+المشغل الافتراضي: `task_completed` (نقطة حفظ واحدة لكل مهمة مكتملة).
+
+### Flow
+
+```python
+from crewai.flow.flow import Flow, start, listen
+from crewai import CheckpointConfig
+
+class MyFlow(Flow):
+ @start()
+ def step_one(self):
+ return "data"
+
+ @listen(step_one)
+ def step_two(self, data):
+ return process(data)
+
+flow = MyFlow(
+ checkpoint=CheckpointConfig(
+ directory="./flow_cp",
+ on_events=["method_execution_finished"],
+ ),
+)
+result = flow.kickoff()
+
+# استئناف
+flow = MyFlow.from_checkpoint("./flow_cp/20260407T120000_abc123.json")
+result = flow.kickoff()
+```
+
+### Agent
+
+```python
+agent = Agent(
+ role="Researcher",
+ goal="Research topics",
+ backstory="Expert researcher",
+ checkpoint=CheckpointConfig(
+ directory="./agent_cp",
+ on_events=["lite_agent_execution_completed"],
+ ),
+)
+result = agent.kickoff(messages=[{"role": "user", "content": "Research AI trends"}])
+```
+
+## انواع الاحداث
+
+يقبل حقل `on_events` اي مجموعة من سلاسل انواع الاحداث. الخيارات الشائعة:
+
+| حالة الاستخدام | الاحداث |
+|:---------------|:--------|
+| بعد كل مهمة (Crew) | `["task_completed"]` |
+| بعد كل طريقة في التدفق | `["method_execution_finished"]` |
+| بعد تنفيذ الوكيل | `["agent_execution_completed"]`, `["lite_agent_execution_completed"]` |
+| عند اكتمال الطاقم فقط | `["crew_kickoff_completed"]` |
+| بعد كل استدعاء LLM | `["llm_call_completed"]` |
+| على كل شيء | `["*"]` |
+
+
+استخدام `["*"]` او احداث عالية التردد مثل `llm_call_completed` سيكتب العديد من ملفات نقاط الحفظ وقد يؤثر على الاداء. استخدم `max_checkpoints` للحد من استخدام المساحة.
+
+
+## نقاط الحفظ اليدوية
+
+للتحكم الكامل، سجل معالج الاحداث الخاص بك واستدع `state.checkpoint()` مباشرة:
+
+```python
+from crewai.events.event_bus import crewai_event_bus
+from crewai.events.types.llm_events import LLMCallCompletedEvent
+
+# معالج متزامن
+@crewai_event_bus.on(LLMCallCompletedEvent)
+def on_llm_done(source, event, state):
+ path = state.checkpoint("./my_checkpoints")
+ print(f"تم حفظ نقطة الحفظ: {path}")
+
+# معالج غير متزامن
+@crewai_event_bus.on(LLMCallCompletedEvent)
+async def on_llm_done_async(source, event, state):
+ path = await state.acheckpoint("./my_checkpoints")
+ print(f"تم حفظ نقطة الحفظ: {path}")
+```
+
+وسيط `state` هو `RuntimeState` الذي يتم تمريره تلقائيا بواسطة ناقل الاحداث عندما يقبل المعالج 3 معاملات. يمكنك تسجيل معالجات على اي نوع حدث مدرج في وثائق [Event Listeners](/ar/concepts/event-listener).
+
+الـ Checkpointing يعمل بافضل جهد: اذا فشلت كتابة نقطة حفظ، يتم تسجيل الخطأ ولكن التنفيذ يستمر دون انقطاع.
diff --git a/docs/docs.json b/docs/docs.json
index 68ee0e7af..2fea532ef 100644
--- a/docs/docs.json
+++ b/docs/docs.json
@@ -168,7 +168,8 @@
"en/concepts/testing",
"en/concepts/cli",
"en/concepts/tools",
- "en/concepts/event-listener"
+ "en/concepts/event-listener",
+ "en/concepts/checkpointing"
]
},
{
@@ -639,7 +640,8 @@
"en/concepts/testing",
"en/concepts/cli",
"en/concepts/tools",
- "en/concepts/event-listener"
+ "en/concepts/event-listener",
+ "en/concepts/checkpointing"
]
},
{
@@ -1109,7 +1111,8 @@
"en/concepts/testing",
"en/concepts/cli",
"en/concepts/tools",
- "en/concepts/event-listener"
+ "en/concepts/event-listener",
+ "en/concepts/checkpointing"
]
},
{
@@ -1578,7 +1581,8 @@
"en/concepts/testing",
"en/concepts/cli",
"en/concepts/tools",
- "en/concepts/event-listener"
+ "en/concepts/event-listener",
+ "en/concepts/checkpointing"
]
},
{
@@ -2047,7 +2051,8 @@
"en/concepts/testing",
"en/concepts/cli",
"en/concepts/tools",
- "en/concepts/event-listener"
+ "en/concepts/event-listener",
+ "en/concepts/checkpointing"
]
},
{
@@ -2516,7 +2521,8 @@
"en/concepts/testing",
"en/concepts/cli",
"en/concepts/tools",
- "en/concepts/event-listener"
+ "en/concepts/event-listener",
+ "en/concepts/checkpointing"
]
},
{
@@ -2987,7 +2993,8 @@
"en/concepts/testing",
"en/concepts/cli",
"en/concepts/tools",
- "en/concepts/event-listener"
+ "en/concepts/event-listener",
+ "en/concepts/checkpointing"
]
},
{
@@ -3457,7 +3464,8 @@
"en/concepts/testing",
"en/concepts/cli",
"en/concepts/tools",
- "en/concepts/event-listener"
+ "en/concepts/event-listener",
+ "en/concepts/checkpointing"
]
},
{
@@ -3830,7 +3838,7 @@
"icon": "globe"
},
{
- "anchor": "Fórum",
+ "anchor": "F\u00f3rum",
"href": "https://community.crewai.com",
"icon": "discourse"
},
@@ -3852,7 +3860,7 @@
"default": true,
"tabs": [
{
- "tab": "Início",
+ "tab": "In\u00edcio",
"icon": "house",
"groups": [
{
@@ -3864,11 +3872,11 @@
]
},
{
- "tab": "Documentação",
+ "tab": "Documenta\u00e7\u00e3o",
"icon": "book-open",
"groups": [
{
- "group": "Começando",
+ "group": "Come\u00e7ando",
"pages": [
"pt-BR/introduction",
"pt-BR/installation",
@@ -3879,7 +3887,7 @@
"group": "Guias",
"pages": [
{
- "group": "Estratégia",
+ "group": "Estrat\u00e9gia",
"icon": "compass",
"pages": [
"pt-BR/guides/concepts/evaluating-use-cases"
@@ -3915,14 +3923,14 @@
]
},
{
- "group": "Ferramentas de Codificação",
+ "group": "Ferramentas de Codifica\u00e7\u00e3o",
"icon": "terminal",
"pages": [
"pt-BR/guides/coding-tools/agents-md"
]
},
{
- "group": "Avançado",
+ "group": "Avan\u00e7ado",
"icon": "gear",
"pages": [
"pt-BR/guides/advanced/customizing-prompts",
@@ -3930,7 +3938,7 @@
]
},
{
- "group": "Migração",
+ "group": "Migra\u00e7\u00e3o",
"icon": "shuffle",
"pages": [
"pt-BR/guides/migration/migrating-from-langgraph"
@@ -3960,11 +3968,12 @@
"pt-BR/concepts/testing",
"pt-BR/concepts/cli",
"pt-BR/concepts/tools",
- "pt-BR/concepts/event-listener"
+ "pt-BR/concepts/event-listener",
+ "pt-BR/concepts/checkpointing"
]
},
{
- "group": "Integração MCP",
+ "group": "Integra\u00e7\u00e3o MCP",
"pages": [
"pt-BR/mcp/overview",
"pt-BR/mcp/dsl-integration",
@@ -3998,7 +4007,7 @@
]
},
{
- "group": "Web Scraping & Navegação",
+ "group": "Web Scraping & Navega\u00e7\u00e3o",
"icon": "globe",
"pages": [
"pt-BR/tools/web-scraping/overview",
@@ -4079,7 +4088,7 @@
]
},
{
- "group": "Automação",
+ "group": "Automa\u00e7\u00e3o",
"icon": "bolt",
"pages": [
"pt-BR/tools/automation/overview",
@@ -4154,7 +4163,7 @@
"icon": "briefcase",
"groups": [
{
- "group": "Começando",
+ "group": "Come\u00e7ando",
"pages": [
"pt-BR/enterprise/introduction"
]
@@ -4186,7 +4195,7 @@
]
},
{
- "group": "Documentação de Integração",
+ "group": "Documenta\u00e7\u00e3o de Integra\u00e7\u00e3o",
"pages": [
"pt-BR/enterprise/integrations/asana",
"pt-BR/enterprise/integrations/box",
@@ -4262,11 +4271,11 @@
]
},
{
- "tab": "Referência da API",
+ "tab": "Refer\u00eancia da API",
"icon": "magnifying-glass",
"groups": [
{
- "group": "Começando",
+ "group": "Come\u00e7ando",
"pages": [
"pt-BR/api-reference/introduction",
"pt-BR/api-reference/inputs",
@@ -4291,11 +4300,11 @@
]
},
{
- "tab": "Notas de Versão",
+ "tab": "Notas de Vers\u00e3o",
"icon": "clock",
"groups": [
{
- "group": "Notas de Versão",
+ "group": "Notas de Vers\u00e3o",
"pages": [
"pt-BR/changelog"
]
@@ -4308,7 +4317,7 @@
"version": "v1.12.2",
"tabs": [
{
- "tab": "Início",
+ "tab": "In\u00edcio",
"icon": "house",
"groups": [
{
@@ -4320,11 +4329,11 @@
]
},
{
- "tab": "Documentação",
+ "tab": "Documenta\u00e7\u00e3o",
"icon": "book-open",
"groups": [
{
- "group": "Começando",
+ "group": "Come\u00e7ando",
"pages": [
"pt-BR/introduction",
"pt-BR/installation",
@@ -4335,7 +4344,7 @@
"group": "Guias",
"pages": [
{
- "group": "Estratégia",
+ "group": "Estrat\u00e9gia",
"icon": "compass",
"pages": [
"pt-BR/guides/concepts/evaluating-use-cases"
@@ -4371,14 +4380,14 @@
]
},
{
- "group": "Ferramentas de Codificação",
+ "group": "Ferramentas de Codifica\u00e7\u00e3o",
"icon": "terminal",
"pages": [
"pt-BR/guides/coding-tools/agents-md"
]
},
{
- "group": "Avançado",
+ "group": "Avan\u00e7ado",
"icon": "gear",
"pages": [
"pt-BR/guides/advanced/customizing-prompts",
@@ -4386,7 +4395,7 @@
]
},
{
- "group": "Migração",
+ "group": "Migra\u00e7\u00e3o",
"icon": "shuffle",
"pages": [
"pt-BR/guides/migration/migrating-from-langgraph"
@@ -4416,11 +4425,12 @@
"pt-BR/concepts/testing",
"pt-BR/concepts/cli",
"pt-BR/concepts/tools",
- "pt-BR/concepts/event-listener"
+ "pt-BR/concepts/event-listener",
+ "pt-BR/concepts/checkpointing"
]
},
{
- "group": "Integração MCP",
+ "group": "Integra\u00e7\u00e3o MCP",
"pages": [
"pt-BR/mcp/overview",
"pt-BR/mcp/dsl-integration",
@@ -4454,7 +4464,7 @@
]
},
{
- "group": "Web Scraping & Navegação",
+ "group": "Web Scraping & Navega\u00e7\u00e3o",
"icon": "globe",
"pages": [
"pt-BR/tools/web-scraping/overview",
@@ -4535,7 +4545,7 @@
]
},
{
- "group": "Automação",
+ "group": "Automa\u00e7\u00e3o",
"icon": "bolt",
"pages": [
"pt-BR/tools/automation/overview",
@@ -4610,7 +4620,7 @@
"icon": "briefcase",
"groups": [
{
- "group": "Começando",
+ "group": "Come\u00e7ando",
"pages": [
"pt-BR/enterprise/introduction"
]
@@ -4642,7 +4652,7 @@
]
},
{
- "group": "Documentação de Integração",
+ "group": "Documenta\u00e7\u00e3o de Integra\u00e7\u00e3o",
"pages": [
"pt-BR/enterprise/integrations/asana",
"pt-BR/enterprise/integrations/box",
@@ -4718,11 +4728,11 @@
]
},
{
- "tab": "Referência da API",
+ "tab": "Refer\u00eancia da API",
"icon": "magnifying-glass",
"groups": [
{
- "group": "Começando",
+ "group": "Come\u00e7ando",
"pages": [
"pt-BR/api-reference/introduction",
"pt-BR/api-reference/inputs",
@@ -4747,11 +4757,11 @@
]
},
{
- "tab": "Notas de Versão",
+ "tab": "Notas de Vers\u00e3o",
"icon": "clock",
"groups": [
{
- "group": "Notas de Versão",
+ "group": "Notas de Vers\u00e3o",
"pages": [
"pt-BR/changelog"
]
@@ -4764,7 +4774,7 @@
"version": "v1.12.1",
"tabs": [
{
- "tab": "Início",
+ "tab": "In\u00edcio",
"icon": "house",
"groups": [
{
@@ -4776,11 +4786,11 @@
]
},
{
- "tab": "Documentação",
+ "tab": "Documenta\u00e7\u00e3o",
"icon": "book-open",
"groups": [
{
- "group": "Começando",
+ "group": "Come\u00e7ando",
"pages": [
"pt-BR/introduction",
"pt-BR/installation",
@@ -4791,7 +4801,7 @@
"group": "Guias",
"pages": [
{
- "group": "Estratégia",
+ "group": "Estrat\u00e9gia",
"icon": "compass",
"pages": [
"pt-BR/guides/concepts/evaluating-use-cases"
@@ -4827,14 +4837,14 @@
]
},
{
- "group": "Ferramentas de Codificação",
+ "group": "Ferramentas de Codifica\u00e7\u00e3o",
"icon": "terminal",
"pages": [
"pt-BR/guides/coding-tools/agents-md"
]
},
{
- "group": "Avançado",
+ "group": "Avan\u00e7ado",
"icon": "gear",
"pages": [
"pt-BR/guides/advanced/customizing-prompts",
@@ -4842,7 +4852,7 @@
]
},
{
- "group": "Migração",
+ "group": "Migra\u00e7\u00e3o",
"icon": "shuffle",
"pages": [
"pt-BR/guides/migration/migrating-from-langgraph"
@@ -4871,11 +4881,12 @@
"pt-BR/concepts/testing",
"pt-BR/concepts/cli",
"pt-BR/concepts/tools",
- "pt-BR/concepts/event-listener"
+ "pt-BR/concepts/event-listener",
+ "pt-BR/concepts/checkpointing"
]
},
{
- "group": "Integração MCP",
+ "group": "Integra\u00e7\u00e3o MCP",
"pages": [
"pt-BR/mcp/overview",
"pt-BR/mcp/dsl-integration",
@@ -4909,7 +4920,7 @@
]
},
{
- "group": "Web Scraping & Navegação",
+ "group": "Web Scraping & Navega\u00e7\u00e3o",
"icon": "globe",
"pages": [
"pt-BR/tools/web-scraping/overview",
@@ -4990,7 +5001,7 @@
]
},
{
- "group": "Automação",
+ "group": "Automa\u00e7\u00e3o",
"icon": "bolt",
"pages": [
"pt-BR/tools/automation/overview",
@@ -5065,7 +5076,7 @@
"icon": "briefcase",
"groups": [
{
- "group": "Começando",
+ "group": "Come\u00e7ando",
"pages": [
"pt-BR/enterprise/introduction"
]
@@ -5097,7 +5108,7 @@
]
},
{
- "group": "Documentação de Integração",
+ "group": "Documenta\u00e7\u00e3o de Integra\u00e7\u00e3o",
"pages": [
"pt-BR/enterprise/integrations/asana",
"pt-BR/enterprise/integrations/box",
@@ -5173,11 +5184,11 @@
]
},
{
- "tab": "Referência da API",
+ "tab": "Refer\u00eancia da API",
"icon": "magnifying-glass",
"groups": [
{
- "group": "Começando",
+ "group": "Come\u00e7ando",
"pages": [
"pt-BR/api-reference/introduction",
"pt-BR/api-reference/inputs",
@@ -5202,11 +5213,11 @@
]
},
{
- "tab": "Notas de Versão",
+ "tab": "Notas de Vers\u00e3o",
"icon": "clock",
"groups": [
{
- "group": "Notas de Versão",
+ "group": "Notas de Vers\u00e3o",
"pages": [
"pt-BR/changelog"
]
@@ -5219,7 +5230,7 @@
"version": "v1.12.0",
"tabs": [
{
- "tab": "Início",
+ "tab": "In\u00edcio",
"icon": "house",
"groups": [
{
@@ -5231,11 +5242,11 @@
]
},
{
- "tab": "Documentação",
+ "tab": "Documenta\u00e7\u00e3o",
"icon": "book-open",
"groups": [
{
- "group": "Começando",
+ "group": "Come\u00e7ando",
"pages": [
"pt-BR/introduction",
"pt-BR/installation",
@@ -5246,7 +5257,7 @@
"group": "Guias",
"pages": [
{
- "group": "Estratégia",
+ "group": "Estrat\u00e9gia",
"icon": "compass",
"pages": [
"pt-BR/guides/concepts/evaluating-use-cases"
@@ -5282,14 +5293,14 @@
]
},
{
- "group": "Ferramentas de Codificação",
+ "group": "Ferramentas de Codifica\u00e7\u00e3o",
"icon": "terminal",
"pages": [
"pt-BR/guides/coding-tools/agents-md"
]
},
{
- "group": "Avançado",
+ "group": "Avan\u00e7ado",
"icon": "gear",
"pages": [
"pt-BR/guides/advanced/customizing-prompts",
@@ -5297,7 +5308,7 @@
]
},
{
- "group": "Migração",
+ "group": "Migra\u00e7\u00e3o",
"icon": "shuffle",
"pages": [
"pt-BR/guides/migration/migrating-from-langgraph"
@@ -5326,11 +5337,12 @@
"pt-BR/concepts/testing",
"pt-BR/concepts/cli",
"pt-BR/concepts/tools",
- "pt-BR/concepts/event-listener"
+ "pt-BR/concepts/event-listener",
+ "pt-BR/concepts/checkpointing"
]
},
{
- "group": "Integração MCP",
+ "group": "Integra\u00e7\u00e3o MCP",
"pages": [
"pt-BR/mcp/overview",
"pt-BR/mcp/dsl-integration",
@@ -5364,7 +5376,7 @@
]
},
{
- "group": "Web Scraping & Navegação",
+ "group": "Web Scraping & Navega\u00e7\u00e3o",
"icon": "globe",
"pages": [
"pt-BR/tools/web-scraping/overview",
@@ -5445,7 +5457,7 @@
]
},
{
- "group": "Automação",
+ "group": "Automa\u00e7\u00e3o",
"icon": "bolt",
"pages": [
"pt-BR/tools/automation/overview",
@@ -5520,7 +5532,7 @@
"icon": "briefcase",
"groups": [
{
- "group": "Começando",
+ "group": "Come\u00e7ando",
"pages": [
"pt-BR/enterprise/introduction"
]
@@ -5552,7 +5564,7 @@
]
},
{
- "group": "Documentação de Integração",
+ "group": "Documenta\u00e7\u00e3o de Integra\u00e7\u00e3o",
"pages": [
"pt-BR/enterprise/integrations/asana",
"pt-BR/enterprise/integrations/box",
@@ -5628,11 +5640,11 @@
]
},
{
- "tab": "Referência da API",
+ "tab": "Refer\u00eancia da API",
"icon": "magnifying-glass",
"groups": [
{
- "group": "Começando",
+ "group": "Come\u00e7ando",
"pages": [
"pt-BR/api-reference/introduction",
"pt-BR/api-reference/inputs",
@@ -5657,11 +5669,11 @@
]
},
{
- "tab": "Notas de Versão",
+ "tab": "Notas de Vers\u00e3o",
"icon": "clock",
"groups": [
{
- "group": "Notas de Versão",
+ "group": "Notas de Vers\u00e3o",
"pages": [
"pt-BR/changelog"
]
@@ -5674,7 +5686,7 @@
"version": "v1.11.1",
"tabs": [
{
- "tab": "Início",
+ "tab": "In\u00edcio",
"icon": "house",
"groups": [
{
@@ -5686,11 +5698,11 @@
]
},
{
- "tab": "Documentação",
+ "tab": "Documenta\u00e7\u00e3o",
"icon": "book-open",
"groups": [
{
- "group": "Começando",
+ "group": "Come\u00e7ando",
"pages": [
"pt-BR/introduction",
"pt-BR/installation",
@@ -5701,7 +5713,7 @@
"group": "Guias",
"pages": [
{
- "group": "Estratégia",
+ "group": "Estrat\u00e9gia",
"icon": "compass",
"pages": [
"pt-BR/guides/concepts/evaluating-use-cases"
@@ -5737,14 +5749,14 @@
]
},
{
- "group": "Ferramentas de Codificação",
+ "group": "Ferramentas de Codifica\u00e7\u00e3o",
"icon": "terminal",
"pages": [
"pt-BR/guides/coding-tools/agents-md"
]
},
{
- "group": "Avançado",
+ "group": "Avan\u00e7ado",
"icon": "gear",
"pages": [
"pt-BR/guides/advanced/customizing-prompts",
@@ -5752,7 +5764,7 @@
]
},
{
- "group": "Migração",
+ "group": "Migra\u00e7\u00e3o",
"icon": "shuffle",
"pages": [
"pt-BR/guides/migration/migrating-from-langgraph"
@@ -5781,11 +5793,12 @@
"pt-BR/concepts/testing",
"pt-BR/concepts/cli",
"pt-BR/concepts/tools",
- "pt-BR/concepts/event-listener"
+ "pt-BR/concepts/event-listener",
+ "pt-BR/concepts/checkpointing"
]
},
{
- "group": "Integração MCP",
+ "group": "Integra\u00e7\u00e3o MCP",
"pages": [
"pt-BR/mcp/overview",
"pt-BR/mcp/dsl-integration",
@@ -5819,7 +5832,7 @@
]
},
{
- "group": "Web Scraping & Navegação",
+ "group": "Web Scraping & Navega\u00e7\u00e3o",
"icon": "globe",
"pages": [
"pt-BR/tools/web-scraping/overview",
@@ -5900,7 +5913,7 @@
]
},
{
- "group": "Automação",
+ "group": "Automa\u00e7\u00e3o",
"icon": "bolt",
"pages": [
"pt-BR/tools/automation/overview",
@@ -5975,7 +5988,7 @@
"icon": "briefcase",
"groups": [
{
- "group": "Começando",
+ "group": "Come\u00e7ando",
"pages": [
"pt-BR/enterprise/introduction"
]
@@ -6007,7 +6020,7 @@
]
},
{
- "group": "Documentação de Integração",
+ "group": "Documenta\u00e7\u00e3o de Integra\u00e7\u00e3o",
"pages": [
"pt-BR/enterprise/integrations/asana",
"pt-BR/enterprise/integrations/box",
@@ -6083,11 +6096,11 @@
]
},
{
- "tab": "Referência da API",
+ "tab": "Refer\u00eancia da API",
"icon": "magnifying-glass",
"groups": [
{
- "group": "Começando",
+ "group": "Come\u00e7ando",
"pages": [
"pt-BR/api-reference/introduction",
"pt-BR/api-reference/inputs",
@@ -6112,11 +6125,11 @@
]
},
{
- "tab": "Notas de Versão",
+ "tab": "Notas de Vers\u00e3o",
"icon": "clock",
"groups": [
{
- "group": "Notas de Versão",
+ "group": "Notas de Vers\u00e3o",
"pages": [
"pt-BR/changelog"
]
@@ -6129,7 +6142,7 @@
"version": "v1.11.0",
"tabs": [
{
- "tab": "Início",
+ "tab": "In\u00edcio",
"icon": "house",
"groups": [
{
@@ -6141,11 +6154,11 @@
]
},
{
- "tab": "Documentação",
+ "tab": "Documenta\u00e7\u00e3o",
"icon": "book-open",
"groups": [
{
- "group": "Começando",
+ "group": "Come\u00e7ando",
"pages": [
"pt-BR/introduction",
"pt-BR/installation",
@@ -6156,7 +6169,7 @@
"group": "Guias",
"pages": [
{
- "group": "Estratégia",
+ "group": "Estrat\u00e9gia",
"icon": "compass",
"pages": [
"pt-BR/guides/concepts/evaluating-use-cases"
@@ -6192,14 +6205,14 @@
]
},
{
- "group": "Ferramentas de Codificação",
+ "group": "Ferramentas de Codifica\u00e7\u00e3o",
"icon": "terminal",
"pages": [
"pt-BR/guides/coding-tools/agents-md"
]
},
{
- "group": "Avançado",
+ "group": "Avan\u00e7ado",
"icon": "gear",
"pages": [
"pt-BR/guides/advanced/customizing-prompts",
@@ -6207,7 +6220,7 @@
]
},
{
- "group": "Migração",
+ "group": "Migra\u00e7\u00e3o",
"icon": "shuffle",
"pages": [
"pt-BR/guides/migration/migrating-from-langgraph"
@@ -6235,11 +6248,12 @@
"pt-BR/concepts/testing",
"pt-BR/concepts/cli",
"pt-BR/concepts/tools",
- "pt-BR/concepts/event-listener"
+ "pt-BR/concepts/event-listener",
+ "pt-BR/concepts/checkpointing"
]
},
{
- "group": "Integração MCP",
+ "group": "Integra\u00e7\u00e3o MCP",
"pages": [
"pt-BR/mcp/overview",
"pt-BR/mcp/dsl-integration",
@@ -6273,7 +6287,7 @@
]
},
{
- "group": "Web Scraping & Navegação",
+ "group": "Web Scraping & Navega\u00e7\u00e3o",
"icon": "globe",
"pages": [
"pt-BR/tools/web-scraping/overview",
@@ -6354,7 +6368,7 @@
]
},
{
- "group": "Automação",
+ "group": "Automa\u00e7\u00e3o",
"icon": "bolt",
"pages": [
"pt-BR/tools/automation/overview",
@@ -6429,7 +6443,7 @@
"icon": "briefcase",
"groups": [
{
- "group": "Começando",
+ "group": "Come\u00e7ando",
"pages": [
"pt-BR/enterprise/introduction"
]
@@ -6461,7 +6475,7 @@
]
},
{
- "group": "Documentação de Integração",
+ "group": "Documenta\u00e7\u00e3o de Integra\u00e7\u00e3o",
"pages": [
"pt-BR/enterprise/integrations/asana",
"pt-BR/enterprise/integrations/box",
@@ -6537,11 +6551,11 @@
]
},
{
- "tab": "Referência da API",
+ "tab": "Refer\u00eancia da API",
"icon": "magnifying-glass",
"groups": [
{
- "group": "Começando",
+ "group": "Come\u00e7ando",
"pages": [
"pt-BR/api-reference/introduction",
"pt-BR/api-reference/inputs",
@@ -6566,11 +6580,11 @@
]
},
{
- "tab": "Notas de Versão",
+ "tab": "Notas de Vers\u00e3o",
"icon": "clock",
"groups": [
{
- "group": "Notas de Versão",
+ "group": "Notas de Vers\u00e3o",
"pages": [
"pt-BR/changelog"
]
@@ -6583,7 +6597,7 @@
"version": "v1.10.1",
"tabs": [
{
- "tab": "Início",
+ "tab": "In\u00edcio",
"icon": "house",
"groups": [
{
@@ -6595,11 +6609,11 @@
]
},
{
- "tab": "Documentação",
+ "tab": "Documenta\u00e7\u00e3o",
"icon": "book-open",
"groups": [
{
- "group": "Começando",
+ "group": "Come\u00e7ando",
"pages": [
"pt-BR/introduction",
"pt-BR/installation",
@@ -6610,7 +6624,7 @@
"group": "Guias",
"pages": [
{
- "group": "Estratégia",
+ "group": "Estrat\u00e9gia",
"icon": "compass",
"pages": [
"pt-BR/guides/concepts/evaluating-use-cases"
@@ -6646,14 +6660,14 @@
]
},
{
- "group": "Ferramentas de Codificação",
+ "group": "Ferramentas de Codifica\u00e7\u00e3o",
"icon": "terminal",
"pages": [
"pt-BR/guides/coding-tools/agents-md"
]
},
{
- "group": "Avançado",
+ "group": "Avan\u00e7ado",
"icon": "gear",
"pages": [
"pt-BR/guides/advanced/customizing-prompts",
@@ -6661,7 +6675,7 @@
]
},
{
- "group": "Migração",
+ "group": "Migra\u00e7\u00e3o",
"icon": "shuffle",
"pages": [
"pt-BR/guides/migration/migrating-from-langgraph"
@@ -6689,11 +6703,12 @@
"pt-BR/concepts/testing",
"pt-BR/concepts/cli",
"pt-BR/concepts/tools",
- "pt-BR/concepts/event-listener"
+ "pt-BR/concepts/event-listener",
+ "pt-BR/concepts/checkpointing"
]
},
{
- "group": "Integração MCP",
+ "group": "Integra\u00e7\u00e3o MCP",
"pages": [
"pt-BR/mcp/overview",
"pt-BR/mcp/dsl-integration",
@@ -6727,7 +6742,7 @@
]
},
{
- "group": "Web Scraping & Navegação",
+ "group": "Web Scraping & Navega\u00e7\u00e3o",
"icon": "globe",
"pages": [
"pt-BR/tools/web-scraping/overview",
@@ -6808,7 +6823,7 @@
]
},
{
- "group": "Automação",
+ "group": "Automa\u00e7\u00e3o",
"icon": "bolt",
"pages": [
"pt-BR/tools/automation/overview",
@@ -6883,7 +6898,7 @@
"icon": "briefcase",
"groups": [
{
- "group": "Começando",
+ "group": "Come\u00e7ando",
"pages": [
"pt-BR/enterprise/introduction"
]
@@ -6915,7 +6930,7 @@
]
},
{
- "group": "Documentação de Integração",
+ "group": "Documenta\u00e7\u00e3o de Integra\u00e7\u00e3o",
"pages": [
"pt-BR/enterprise/integrations/asana",
"pt-BR/enterprise/integrations/box",
@@ -6991,11 +7006,11 @@
]
},
{
- "tab": "Referência da API",
+ "tab": "Refer\u00eancia da API",
"icon": "magnifying-glass",
"groups": [
{
- "group": "Começando",
+ "group": "Come\u00e7ando",
"pages": [
"pt-BR/api-reference/introduction",
"pt-BR/api-reference/inputs",
@@ -7020,11 +7035,11 @@
]
},
{
- "tab": "Notas de Versão",
+ "tab": "Notas de Vers\u00e3o",
"icon": "clock",
"groups": [
{
- "group": "Notas de Versão",
+ "group": "Notas de Vers\u00e3o",
"pages": [
"pt-BR/changelog"
]
@@ -7037,7 +7052,7 @@
"version": "v1.10.0",
"tabs": [
{
- "tab": "Início",
+ "tab": "In\u00edcio",
"icon": "house",
"groups": [
{
@@ -7049,11 +7064,11 @@
]
},
{
- "tab": "Documentação",
+ "tab": "Documenta\u00e7\u00e3o",
"icon": "book-open",
"groups": [
{
- "group": "Começando",
+ "group": "Come\u00e7ando",
"pages": [
"pt-BR/introduction",
"pt-BR/installation",
@@ -7064,7 +7079,7 @@
"group": "Guias",
"pages": [
{
- "group": "Estratégia",
+ "group": "Estrat\u00e9gia",
"icon": "compass",
"pages": [
"pt-BR/guides/concepts/evaluating-use-cases"
@@ -7100,14 +7115,14 @@
]
},
{
- "group": "Ferramentas de Codificação",
+ "group": "Ferramentas de Codifica\u00e7\u00e3o",
"icon": "terminal",
"pages": [
"pt-BR/guides/coding-tools/agents-md"
]
},
{
- "group": "Avançado",
+ "group": "Avan\u00e7ado",
"icon": "gear",
"pages": [
"pt-BR/guides/advanced/customizing-prompts",
@@ -7115,7 +7130,7 @@
]
},
{
- "group": "Migração",
+ "group": "Migra\u00e7\u00e3o",
"icon": "shuffle",
"pages": [
"pt-BR/guides/migration/migrating-from-langgraph"
@@ -7144,11 +7159,12 @@
"pt-BR/concepts/testing",
"pt-BR/concepts/cli",
"pt-BR/concepts/tools",
- "pt-BR/concepts/event-listener"
+ "pt-BR/concepts/event-listener",
+ "pt-BR/concepts/checkpointing"
]
},
{
- "group": "Integração MCP",
+ "group": "Integra\u00e7\u00e3o MCP",
"pages": [
"pt-BR/mcp/overview",
"pt-BR/mcp/dsl-integration",
@@ -7182,7 +7198,7 @@
]
},
{
- "group": "Web Scraping & Navegação",
+ "group": "Web Scraping & Navega\u00e7\u00e3o",
"icon": "globe",
"pages": [
"pt-BR/tools/web-scraping/overview",
@@ -7263,7 +7279,7 @@
]
},
{
- "group": "Automação",
+ "group": "Automa\u00e7\u00e3o",
"icon": "bolt",
"pages": [
"pt-BR/tools/automation/overview",
@@ -7338,7 +7354,7 @@
"icon": "briefcase",
"groups": [
{
- "group": "Começando",
+ "group": "Come\u00e7ando",
"pages": [
"pt-BR/enterprise/introduction"
]
@@ -7370,7 +7386,7 @@
]
},
{
- "group": "Documentação de Integração",
+ "group": "Documenta\u00e7\u00e3o de Integra\u00e7\u00e3o",
"pages": [
"pt-BR/enterprise/integrations/asana",
"pt-BR/enterprise/integrations/box",
@@ -7446,11 +7462,11 @@
]
},
{
- "tab": "Referência da API",
+ "tab": "Refer\u00eancia da API",
"icon": "magnifying-glass",
"groups": [
{
- "group": "Começando",
+ "group": "Come\u00e7ando",
"pages": [
"pt-BR/api-reference/introduction",
"pt-BR/api-reference/inputs",
@@ -7475,11 +7491,11 @@
]
},
{
- "tab": "Notas de Versão",
+ "tab": "Notas de Vers\u00e3o",
"icon": "clock",
"groups": [
{
- "group": "Notas de Versão",
+ "group": "Notas de Vers\u00e3o",
"pages": [
"pt-BR/changelog"
]
@@ -7495,17 +7511,17 @@
"global": {
"anchors": [
{
- "anchor": "웹사이트",
+ "anchor": "\uc6f9\uc0ac\uc774\ud2b8",
"href": "https://crewai.com",
"icon": "globe"
},
{
- "anchor": "포럼",
+ "anchor": "\ud3ec\ub7fc",
"href": "https://community.crewai.com",
"icon": "discourse"
},
{
- "anchor": "블로그",
+ "anchor": "\ube14\ub85c\uadf8",
"href": "https://blog.crewai.com",
"icon": "newspaper"
},
@@ -7522,11 +7538,11 @@
"default": true,
"tabs": [
{
- "tab": "홈",
+ "tab": "\ud648",
"icon": "house",
"groups": [
{
- "group": "환영합니다",
+ "group": "\ud658\uc601\ud569\ub2c8\ub2e4",
"pages": [
"ko/index"
]
@@ -7534,11 +7550,11 @@
]
},
{
- "tab": "기술 문서",
+ "tab": "\uae30\uc220 \ubb38\uc11c",
"icon": "book-open",
"groups": [
{
- "group": "시작 안내",
+ "group": "\uc2dc\uc791 \uc548\ub0b4",
"pages": [
"ko/introduction",
"ko/installation",
@@ -7546,31 +7562,31 @@
]
},
{
- "group": "가이드",
+ "group": "\uac00\uc774\ub4dc",
"pages": [
{
- "group": "전략",
+ "group": "\uc804\ub7b5",
"icon": "compass",
"pages": [
"ko/guides/concepts/evaluating-use-cases"
]
},
{
- "group": "에이전트 (Agents)",
+ "group": "\uc5d0\uc774\uc804\ud2b8 (Agents)",
"icon": "user",
"pages": [
"ko/guides/agents/crafting-effective-agents"
]
},
{
- "group": "크루 (Crews)",
+ "group": "\ud06c\ub8e8 (Crews)",
"icon": "users",
"pages": [
"ko/guides/crews/first-crew"
]
},
{
- "group": "플로우 (Flows)",
+ "group": "\ud50c\ub85c\uc6b0 (Flows)",
"icon": "code-branch",
"pages": [
"ko/guides/flows/first-flow",
@@ -7578,21 +7594,21 @@
]
},
{
- "group": "도구",
+ "group": "\ub3c4\uad6c",
"icon": "wrench",
"pages": [
"ko/guides/tools/publish-custom-tools"
]
},
{
- "group": "코딩 도구",
+ "group": "\ucf54\ub529 \ub3c4\uad6c",
"icon": "terminal",
"pages": [
"ko/guides/coding-tools/agents-md"
]
},
{
- "group": "고급",
+ "group": "\uace0\uae09",
"icon": "gear",
"pages": [
"ko/guides/advanced/customizing-prompts",
@@ -7600,7 +7616,7 @@
]
},
{
- "group": "마이그레이션",
+ "group": "\ub9c8\uc774\uadf8\ub808\uc774\uc158",
"icon": "shuffle",
"pages": [
"ko/guides/migration/migrating-from-langgraph"
@@ -7609,7 +7625,7 @@
]
},
{
- "group": "핵심 개념",
+ "group": "\ud575\uc2ec \uac1c\ub150",
"pages": [
"ko/concepts/agents",
"ko/concepts/tasks",
@@ -7630,11 +7646,12 @@
"ko/concepts/testing",
"ko/concepts/cli",
"ko/concepts/tools",
- "ko/concepts/event-listener"
+ "ko/concepts/event-listener",
+ "ko/concepts/checkpointing"
]
},
{
- "group": "MCP 통합",
+ "group": "MCP \ud1b5\ud569",
"pages": [
"ko/mcp/overview",
"ko/mcp/dsl-integration",
@@ -7646,11 +7663,11 @@
]
},
{
- "group": "도구 (Tools)",
+ "group": "\ub3c4\uad6c (Tools)",
"pages": [
"ko/tools/overview",
{
- "group": "파일 & 문서",
+ "group": "\ud30c\uc77c & \ubb38\uc11c",
"icon": "folder-open",
"pages": [
"ko/tools/file-document/overview",
@@ -7670,7 +7687,7 @@
]
},
{
- "group": "웹 스크래핑 & 브라우징",
+ "group": "\uc6f9 \uc2a4\ud06c\ub798\ud551 & \ube0c\ub77c\uc6b0\uc9d5",
"icon": "globe",
"pages": [
"ko/tools/web-scraping/overview",
@@ -7690,7 +7707,7 @@
]
},
{
- "group": "검색 및 연구",
+ "group": "\uac80\uc0c9 \ubc0f \uc5f0\uad6c",
"icon": "magnifying-glass",
"pages": [
"ko/tools/search-research/overview",
@@ -7712,7 +7729,7 @@
]
},
{
- "group": "데이터베이스 & 데이터",
+ "group": "\ub370\uc774\ud130\ubca0\uc774\uc2a4 & \ub370\uc774\ud130",
"icon": "database",
"pages": [
"ko/tools/database-data/overview",
@@ -7727,7 +7744,7 @@
]
},
{
- "group": "인공지능 & 머신러닝",
+ "group": "\uc778\uacf5\uc9c0\ub2a5 & \uba38\uc2e0\ub7ec\ub2dd",
"icon": "brain",
"pages": [
"ko/tools/ai-ml/overview",
@@ -7741,7 +7758,7 @@
]
},
{
- "group": "클라우드 & 스토리지",
+ "group": "\ud074\ub77c\uc6b0\ub4dc & \uc2a4\ud1a0\ub9ac\uc9c0",
"icon": "cloud",
"pages": [
"ko/tools/cloud-storage/overview",
@@ -7760,7 +7777,7 @@
]
},
{
- "group": "자동화",
+ "group": "\uc790\ub3d9\ud654",
"icon": "bolt",
"pages": [
"ko/tools/automation/overview",
@@ -7795,7 +7812,7 @@
]
},
{
- "group": "학습",
+ "group": "\ud559\uc2b5",
"pages": [
"ko/learn/overview",
"ko/learn/llm-selection-guide",
@@ -7832,17 +7849,17 @@
]
},
{
- "tab": "엔터프라이즈",
+ "tab": "\uc5d4\ud130\ud504\ub77c\uc774\uc988",
"icon": "briefcase",
"groups": [
{
- "group": "시작 안내",
+ "group": "\uc2dc\uc791 \uc548\ub0b4",
"pages": [
"ko/enterprise/introduction"
]
},
{
- "group": "빌드",
+ "group": "\ube4c\ub4dc",
"pages": [
"ko/enterprise/features/automations",
"ko/enterprise/features/crew-studio",
@@ -7853,7 +7870,7 @@
]
},
{
- "group": "운영",
+ "group": "\uc6b4\uc601",
"pages": [
"ko/enterprise/features/traces",
"ko/enterprise/features/webhook-streaming",
@@ -7862,13 +7879,13 @@
]
},
{
- "group": "관리",
+ "group": "\uad00\ub9ac",
"pages": [
"ko/enterprise/features/rbac"
]
},
{
- "group": "통합 문서",
+ "group": "\ud1b5\ud569 \ubb38\uc11c",
"pages": [
"ko/enterprise/integrations/asana",
"ko/enterprise/integrations/box",
@@ -7920,7 +7937,7 @@
]
},
{
- "group": "트리거",
+ "group": "\ud2b8\ub9ac\uac70",
"pages": [
"ko/enterprise/guides/automation-triggers",
"ko/enterprise/guides/gmail-trigger",
@@ -7936,7 +7953,7 @@
]
},
{
- "group": "학습 자원",
+ "group": "\ud559\uc2b5 \uc790\uc6d0",
"pages": [
"ko/enterprise/resources/frequently-asked-questions"
]
@@ -7944,11 +7961,11 @@
]
},
{
- "tab": "API 레퍼런스",
+ "tab": "API \ub808\ud37c\ub7f0\uc2a4",
"icon": "magnifying-glass",
"groups": [
{
- "group": "시작 안내",
+ "group": "\uc2dc\uc791 \uc548\ub0b4",
"pages": [
"ko/api-reference/introduction",
"ko/api-reference/inputs",
@@ -7960,11 +7977,11 @@
]
},
{
- "tab": "예시",
+ "tab": "\uc608\uc2dc",
"icon": "code",
"groups": [
{
- "group": "예시",
+ "group": "\uc608\uc2dc",
"pages": [
"ko/examples/example",
"ko/examples/cookbooks"
@@ -7973,11 +7990,11 @@
]
},
{
- "tab": "변경 로그",
+ "tab": "\ubcc0\uacbd \ub85c\uadf8",
"icon": "clock",
"groups": [
{
- "group": "릴리스 노트",
+ "group": "\ub9b4\ub9ac\uc2a4 \ub178\ud2b8",
"pages": [
"ko/changelog"
]
@@ -7990,11 +8007,11 @@
"version": "v1.12.2",
"tabs": [
{
- "tab": "홈",
+ "tab": "\ud648",
"icon": "house",
"groups": [
{
- "group": "환영합니다",
+ "group": "\ud658\uc601\ud569\ub2c8\ub2e4",
"pages": [
"ko/index"
]
@@ -8002,11 +8019,11 @@
]
},
{
- "tab": "기술 문서",
+ "tab": "\uae30\uc220 \ubb38\uc11c",
"icon": "book-open",
"groups": [
{
- "group": "시작 안내",
+ "group": "\uc2dc\uc791 \uc548\ub0b4",
"pages": [
"ko/introduction",
"ko/installation",
@@ -8014,31 +8031,31 @@
]
},
{
- "group": "가이드",
+ "group": "\uac00\uc774\ub4dc",
"pages": [
{
- "group": "전략",
+ "group": "\uc804\ub7b5",
"icon": "compass",
"pages": [
"ko/guides/concepts/evaluating-use-cases"
]
},
{
- "group": "에이전트 (Agents)",
+ "group": "\uc5d0\uc774\uc804\ud2b8 (Agents)",
"icon": "user",
"pages": [
"ko/guides/agents/crafting-effective-agents"
]
},
{
- "group": "크루 (Crews)",
+ "group": "\ud06c\ub8e8 (Crews)",
"icon": "users",
"pages": [
"ko/guides/crews/first-crew"
]
},
{
- "group": "플로우 (Flows)",
+ "group": "\ud50c\ub85c\uc6b0 (Flows)",
"icon": "code-branch",
"pages": [
"ko/guides/flows/first-flow",
@@ -8046,21 +8063,21 @@
]
},
{
- "group": "도구",
+ "group": "\ub3c4\uad6c",
"icon": "wrench",
"pages": [
"ko/guides/tools/publish-custom-tools"
]
},
{
- "group": "코딩 도구",
+ "group": "\ucf54\ub529 \ub3c4\uad6c",
"icon": "terminal",
"pages": [
"ko/guides/coding-tools/agents-md"
]
},
{
- "group": "고급",
+ "group": "\uace0\uae09",
"icon": "gear",
"pages": [
"ko/guides/advanced/customizing-prompts",
@@ -8068,7 +8085,7 @@
]
},
{
- "group": "마이그레이션",
+ "group": "\ub9c8\uc774\uadf8\ub808\uc774\uc158",
"icon": "shuffle",
"pages": [
"ko/guides/migration/migrating-from-langgraph"
@@ -8077,7 +8094,7 @@
]
},
{
- "group": "핵심 개념",
+ "group": "\ud575\uc2ec \uac1c\ub150",
"pages": [
"ko/concepts/agents",
"ko/concepts/tasks",
@@ -8098,11 +8115,12 @@
"ko/concepts/testing",
"ko/concepts/cli",
"ko/concepts/tools",
- "ko/concepts/event-listener"
+ "ko/concepts/event-listener",
+ "ko/concepts/checkpointing"
]
},
{
- "group": "MCP 통합",
+ "group": "MCP \ud1b5\ud569",
"pages": [
"ko/mcp/overview",
"ko/mcp/dsl-integration",
@@ -8114,11 +8132,11 @@
]
},
{
- "group": "도구 (Tools)",
+ "group": "\ub3c4\uad6c (Tools)",
"pages": [
"ko/tools/overview",
{
- "group": "파일 & 문서",
+ "group": "\ud30c\uc77c & \ubb38\uc11c",
"icon": "folder-open",
"pages": [
"ko/tools/file-document/overview",
@@ -8138,7 +8156,7 @@
]
},
{
- "group": "웹 스크래핑 & 브라우징",
+ "group": "\uc6f9 \uc2a4\ud06c\ub798\ud551 & \ube0c\ub77c\uc6b0\uc9d5",
"icon": "globe",
"pages": [
"ko/tools/web-scraping/overview",
@@ -8158,7 +8176,7 @@
]
},
{
- "group": "검색 및 연구",
+ "group": "\uac80\uc0c9 \ubc0f \uc5f0\uad6c",
"icon": "magnifying-glass",
"pages": [
"ko/tools/search-research/overview",
@@ -8180,7 +8198,7 @@
]
},
{
- "group": "데이터베이스 & 데이터",
+ "group": "\ub370\uc774\ud130\ubca0\uc774\uc2a4 & \ub370\uc774\ud130",
"icon": "database",
"pages": [
"ko/tools/database-data/overview",
@@ -8195,7 +8213,7 @@
]
},
{
- "group": "인공지능 & 머신러닝",
+ "group": "\uc778\uacf5\uc9c0\ub2a5 & \uba38\uc2e0\ub7ec\ub2dd",
"icon": "brain",
"pages": [
"ko/tools/ai-ml/overview",
@@ -8209,7 +8227,7 @@
]
},
{
- "group": "클라우드 & 스토리지",
+ "group": "\ud074\ub77c\uc6b0\ub4dc & \uc2a4\ud1a0\ub9ac\uc9c0",
"icon": "cloud",
"pages": [
"ko/tools/cloud-storage/overview",
@@ -8228,7 +8246,7 @@
]
},
{
- "group": "자동화",
+ "group": "\uc790\ub3d9\ud654",
"icon": "bolt",
"pages": [
"ko/tools/automation/overview",
@@ -8263,7 +8281,7 @@
]
},
{
- "group": "학습",
+ "group": "\ud559\uc2b5",
"pages": [
"ko/learn/overview",
"ko/learn/llm-selection-guide",
@@ -8300,17 +8318,17 @@
]
},
{
- "tab": "엔터프라이즈",
+ "tab": "\uc5d4\ud130\ud504\ub77c\uc774\uc988",
"icon": "briefcase",
"groups": [
{
- "group": "시작 안내",
+ "group": "\uc2dc\uc791 \uc548\ub0b4",
"pages": [
"ko/enterprise/introduction"
]
},
{
- "group": "빌드",
+ "group": "\ube4c\ub4dc",
"pages": [
"ko/enterprise/features/automations",
"ko/enterprise/features/crew-studio",
@@ -8321,7 +8339,7 @@
]
},
{
- "group": "운영",
+ "group": "\uc6b4\uc601",
"pages": [
"ko/enterprise/features/traces",
"ko/enterprise/features/webhook-streaming",
@@ -8330,13 +8348,13 @@
]
},
{
- "group": "관리",
+ "group": "\uad00\ub9ac",
"pages": [
"ko/enterprise/features/rbac"
]
},
{
- "group": "통합 문서",
+ "group": "\ud1b5\ud569 \ubb38\uc11c",
"pages": [
"ko/enterprise/integrations/asana",
"ko/enterprise/integrations/box",
@@ -8388,7 +8406,7 @@
]
},
{
- "group": "트리거",
+ "group": "\ud2b8\ub9ac\uac70",
"pages": [
"ko/enterprise/guides/automation-triggers",
"ko/enterprise/guides/gmail-trigger",
@@ -8404,7 +8422,7 @@
]
},
{
- "group": "학습 자원",
+ "group": "\ud559\uc2b5 \uc790\uc6d0",
"pages": [
"ko/enterprise/resources/frequently-asked-questions"
]
@@ -8412,11 +8430,11 @@
]
},
{
- "tab": "API 레퍼런스",
+ "tab": "API \ub808\ud37c\ub7f0\uc2a4",
"icon": "magnifying-glass",
"groups": [
{
- "group": "시작 안내",
+ "group": "\uc2dc\uc791 \uc548\ub0b4",
"pages": [
"ko/api-reference/introduction",
"ko/api-reference/inputs",
@@ -8428,11 +8446,11 @@
]
},
{
- "tab": "예시",
+ "tab": "\uc608\uc2dc",
"icon": "code",
"groups": [
{
- "group": "예시",
+ "group": "\uc608\uc2dc",
"pages": [
"ko/examples/example",
"ko/examples/cookbooks"
@@ -8441,11 +8459,11 @@
]
},
{
- "tab": "변경 로그",
+ "tab": "\ubcc0\uacbd \ub85c\uadf8",
"icon": "clock",
"groups": [
{
- "group": "릴리스 노트",
+ "group": "\ub9b4\ub9ac\uc2a4 \ub178\ud2b8",
"pages": [
"ko/changelog"
]
@@ -8458,11 +8476,11 @@
"version": "v1.12.1",
"tabs": [
{
- "tab": "홈",
+ "tab": "\ud648",
"icon": "house",
"groups": [
{
- "group": "환영합니다",
+ "group": "\ud658\uc601\ud569\ub2c8\ub2e4",
"pages": [
"ko/index"
]
@@ -8470,11 +8488,11 @@
]
},
{
- "tab": "기술 문서",
+ "tab": "\uae30\uc220 \ubb38\uc11c",
"icon": "book-open",
"groups": [
{
- "group": "시작 안내",
+ "group": "\uc2dc\uc791 \uc548\ub0b4",
"pages": [
"ko/introduction",
"ko/installation",
@@ -8482,31 +8500,31 @@
]
},
{
- "group": "가이드",
+ "group": "\uac00\uc774\ub4dc",
"pages": [
{
- "group": "전략",
+ "group": "\uc804\ub7b5",
"icon": "compass",
"pages": [
"ko/guides/concepts/evaluating-use-cases"
]
},
{
- "group": "에이전트 (Agents)",
+ "group": "\uc5d0\uc774\uc804\ud2b8 (Agents)",
"icon": "user",
"pages": [
"ko/guides/agents/crafting-effective-agents"
]
},
{
- "group": "크루 (Crews)",
+ "group": "\ud06c\ub8e8 (Crews)",
"icon": "users",
"pages": [
"ko/guides/crews/first-crew"
]
},
{
- "group": "플로우 (Flows)",
+ "group": "\ud50c\ub85c\uc6b0 (Flows)",
"icon": "code-branch",
"pages": [
"ko/guides/flows/first-flow",
@@ -8514,21 +8532,21 @@
]
},
{
- "group": "도구",
+ "group": "\ub3c4\uad6c",
"icon": "wrench",
"pages": [
"ko/guides/tools/publish-custom-tools"
]
},
{
- "group": "코딩 도구",
+ "group": "\ucf54\ub529 \ub3c4\uad6c",
"icon": "terminal",
"pages": [
"ko/guides/coding-tools/agents-md"
]
},
{
- "group": "고급",
+ "group": "\uace0\uae09",
"icon": "gear",
"pages": [
"ko/guides/advanced/customizing-prompts",
@@ -8536,7 +8554,7 @@
]
},
{
- "group": "마이그레이션",
+ "group": "\ub9c8\uc774\uadf8\ub808\uc774\uc158",
"icon": "shuffle",
"pages": [
"ko/guides/migration/migrating-from-langgraph"
@@ -8545,7 +8563,7 @@
]
},
{
- "group": "핵심 개념",
+ "group": "\ud575\uc2ec \uac1c\ub150",
"pages": [
"ko/concepts/agents",
"ko/concepts/tasks",
@@ -8565,11 +8583,12 @@
"ko/concepts/testing",
"ko/concepts/cli",
"ko/concepts/tools",
- "ko/concepts/event-listener"
+ "ko/concepts/event-listener",
+ "ko/concepts/checkpointing"
]
},
{
- "group": "MCP 통합",
+ "group": "MCP \ud1b5\ud569",
"pages": [
"ko/mcp/overview",
"ko/mcp/dsl-integration",
@@ -8581,11 +8600,11 @@
]
},
{
- "group": "도구 (Tools)",
+ "group": "\ub3c4\uad6c (Tools)",
"pages": [
"ko/tools/overview",
{
- "group": "파일 & 문서",
+ "group": "\ud30c\uc77c & \ubb38\uc11c",
"icon": "folder-open",
"pages": [
"ko/tools/file-document/overview",
@@ -8605,7 +8624,7 @@
]
},
{
- "group": "웹 스크래핑 & 브라우징",
+ "group": "\uc6f9 \uc2a4\ud06c\ub798\ud551 & \ube0c\ub77c\uc6b0\uc9d5",
"icon": "globe",
"pages": [
"ko/tools/web-scraping/overview",
@@ -8625,7 +8644,7 @@
]
},
{
- "group": "검색 및 연구",
+ "group": "\uac80\uc0c9 \ubc0f \uc5f0\uad6c",
"icon": "magnifying-glass",
"pages": [
"ko/tools/search-research/overview",
@@ -8647,7 +8666,7 @@
]
},
{
- "group": "데이터베이스 & 데이터",
+ "group": "\ub370\uc774\ud130\ubca0\uc774\uc2a4 & \ub370\uc774\ud130",
"icon": "database",
"pages": [
"ko/tools/database-data/overview",
@@ -8662,7 +8681,7 @@
]
},
{
- "group": "인공지능 & 머신러닝",
+ "group": "\uc778\uacf5\uc9c0\ub2a5 & \uba38\uc2e0\ub7ec\ub2dd",
"icon": "brain",
"pages": [
"ko/tools/ai-ml/overview",
@@ -8676,7 +8695,7 @@
]
},
{
- "group": "클라우드 & 스토리지",
+ "group": "\ud074\ub77c\uc6b0\ub4dc & \uc2a4\ud1a0\ub9ac\uc9c0",
"icon": "cloud",
"pages": [
"ko/tools/cloud-storage/overview",
@@ -8695,7 +8714,7 @@
]
},
{
- "group": "자동화",
+ "group": "\uc790\ub3d9\ud654",
"icon": "bolt",
"pages": [
"ko/tools/automation/overview",
@@ -8730,7 +8749,7 @@
]
},
{
- "group": "학습",
+ "group": "\ud559\uc2b5",
"pages": [
"ko/learn/overview",
"ko/learn/llm-selection-guide",
@@ -8767,17 +8786,17 @@
]
},
{
- "tab": "엔터프라이즈",
+ "tab": "\uc5d4\ud130\ud504\ub77c\uc774\uc988",
"icon": "briefcase",
"groups": [
{
- "group": "시작 안내",
+ "group": "\uc2dc\uc791 \uc548\ub0b4",
"pages": [
"ko/enterprise/introduction"
]
},
{
- "group": "빌드",
+ "group": "\ube4c\ub4dc",
"pages": [
"ko/enterprise/features/automations",
"ko/enterprise/features/crew-studio",
@@ -8788,7 +8807,7 @@
]
},
{
- "group": "운영",
+ "group": "\uc6b4\uc601",
"pages": [
"ko/enterprise/features/traces",
"ko/enterprise/features/webhook-streaming",
@@ -8797,13 +8816,13 @@
]
},
{
- "group": "관리",
+ "group": "\uad00\ub9ac",
"pages": [
"ko/enterprise/features/rbac"
]
},
{
- "group": "통합 문서",
+ "group": "\ud1b5\ud569 \ubb38\uc11c",
"pages": [
"ko/enterprise/integrations/asana",
"ko/enterprise/integrations/box",
@@ -8855,7 +8874,7 @@
]
},
{
- "group": "트리거",
+ "group": "\ud2b8\ub9ac\uac70",
"pages": [
"ko/enterprise/guides/automation-triggers",
"ko/enterprise/guides/gmail-trigger",
@@ -8871,7 +8890,7 @@
]
},
{
- "group": "학습 자원",
+ "group": "\ud559\uc2b5 \uc790\uc6d0",
"pages": [
"ko/enterprise/resources/frequently-asked-questions"
]
@@ -8879,11 +8898,11 @@
]
},
{
- "tab": "API 레퍼런스",
+ "tab": "API \ub808\ud37c\ub7f0\uc2a4",
"icon": "magnifying-glass",
"groups": [
{
- "group": "시작 안내",
+ "group": "\uc2dc\uc791 \uc548\ub0b4",
"pages": [
"ko/api-reference/introduction",
"ko/api-reference/inputs",
@@ -8895,11 +8914,11 @@
]
},
{
- "tab": "예시",
+ "tab": "\uc608\uc2dc",
"icon": "code",
"groups": [
{
- "group": "예시",
+ "group": "\uc608\uc2dc",
"pages": [
"ko/examples/example",
"ko/examples/cookbooks"
@@ -8908,11 +8927,11 @@
]
},
{
- "tab": "변경 로그",
+ "tab": "\ubcc0\uacbd \ub85c\uadf8",
"icon": "clock",
"groups": [
{
- "group": "릴리스 노트",
+ "group": "\ub9b4\ub9ac\uc2a4 \ub178\ud2b8",
"pages": [
"ko/changelog"
]
@@ -8925,11 +8944,11 @@
"version": "v1.12.0",
"tabs": [
{
- "tab": "홈",
+ "tab": "\ud648",
"icon": "house",
"groups": [
{
- "group": "환영합니다",
+ "group": "\ud658\uc601\ud569\ub2c8\ub2e4",
"pages": [
"ko/index"
]
@@ -8937,11 +8956,11 @@
]
},
{
- "tab": "기술 문서",
+ "tab": "\uae30\uc220 \ubb38\uc11c",
"icon": "book-open",
"groups": [
{
- "group": "시작 안내",
+ "group": "\uc2dc\uc791 \uc548\ub0b4",
"pages": [
"ko/introduction",
"ko/installation",
@@ -8949,31 +8968,31 @@
]
},
{
- "group": "가이드",
+ "group": "\uac00\uc774\ub4dc",
"pages": [
{
- "group": "전략",
+ "group": "\uc804\ub7b5",
"icon": "compass",
"pages": [
"ko/guides/concepts/evaluating-use-cases"
]
},
{
- "group": "에이전트 (Agents)",
+ "group": "\uc5d0\uc774\uc804\ud2b8 (Agents)",
"icon": "user",
"pages": [
"ko/guides/agents/crafting-effective-agents"
]
},
{
- "group": "크루 (Crews)",
+ "group": "\ud06c\ub8e8 (Crews)",
"icon": "users",
"pages": [
"ko/guides/crews/first-crew"
]
},
{
- "group": "플로우 (Flows)",
+ "group": "\ud50c\ub85c\uc6b0 (Flows)",
"icon": "code-branch",
"pages": [
"ko/guides/flows/first-flow",
@@ -8981,21 +9000,21 @@
]
},
{
- "group": "도구",
+ "group": "\ub3c4\uad6c",
"icon": "wrench",
"pages": [
"ko/guides/tools/publish-custom-tools"
]
},
{
- "group": "코딩 도구",
+ "group": "\ucf54\ub529 \ub3c4\uad6c",
"icon": "terminal",
"pages": [
"ko/guides/coding-tools/agents-md"
]
},
{
- "group": "고급",
+ "group": "\uace0\uae09",
"icon": "gear",
"pages": [
"ko/guides/advanced/customizing-prompts",
@@ -9003,7 +9022,7 @@
]
},
{
- "group": "마이그레이션",
+ "group": "\ub9c8\uc774\uadf8\ub808\uc774\uc158",
"icon": "shuffle",
"pages": [
"ko/guides/migration/migrating-from-langgraph"
@@ -9012,7 +9031,7 @@
]
},
{
- "group": "핵심 개념",
+ "group": "\ud575\uc2ec \uac1c\ub150",
"pages": [
"ko/concepts/agents",
"ko/concepts/tasks",
@@ -9032,11 +9051,12 @@
"ko/concepts/testing",
"ko/concepts/cli",
"ko/concepts/tools",
- "ko/concepts/event-listener"
+ "ko/concepts/event-listener",
+ "ko/concepts/checkpointing"
]
},
{
- "group": "MCP 통합",
+ "group": "MCP \ud1b5\ud569",
"pages": [
"ko/mcp/overview",
"ko/mcp/dsl-integration",
@@ -9048,11 +9068,11 @@
]
},
{
- "group": "도구 (Tools)",
+ "group": "\ub3c4\uad6c (Tools)",
"pages": [
"ko/tools/overview",
{
- "group": "파일 & 문서",
+ "group": "\ud30c\uc77c & \ubb38\uc11c",
"icon": "folder-open",
"pages": [
"ko/tools/file-document/overview",
@@ -9072,7 +9092,7 @@
]
},
{
- "group": "웹 스크래핑 & 브라우징",
+ "group": "\uc6f9 \uc2a4\ud06c\ub798\ud551 & \ube0c\ub77c\uc6b0\uc9d5",
"icon": "globe",
"pages": [
"ko/tools/web-scraping/overview",
@@ -9092,7 +9112,7 @@
]
},
{
- "group": "검색 및 연구",
+ "group": "\uac80\uc0c9 \ubc0f \uc5f0\uad6c",
"icon": "magnifying-glass",
"pages": [
"ko/tools/search-research/overview",
@@ -9114,7 +9134,7 @@
]
},
{
- "group": "데이터베이스 & 데이터",
+ "group": "\ub370\uc774\ud130\ubca0\uc774\uc2a4 & \ub370\uc774\ud130",
"icon": "database",
"pages": [
"ko/tools/database-data/overview",
@@ -9129,7 +9149,7 @@
]
},
{
- "group": "인공지능 & 머신러닝",
+ "group": "\uc778\uacf5\uc9c0\ub2a5 & \uba38\uc2e0\ub7ec\ub2dd",
"icon": "brain",
"pages": [
"ko/tools/ai-ml/overview",
@@ -9143,7 +9163,7 @@
]
},
{
- "group": "클라우드 & 스토리지",
+ "group": "\ud074\ub77c\uc6b0\ub4dc & \uc2a4\ud1a0\ub9ac\uc9c0",
"icon": "cloud",
"pages": [
"ko/tools/cloud-storage/overview",
@@ -9162,7 +9182,7 @@
]
},
{
- "group": "자동화",
+ "group": "\uc790\ub3d9\ud654",
"icon": "bolt",
"pages": [
"ko/tools/automation/overview",
@@ -9197,7 +9217,7 @@
]
},
{
- "group": "학습",
+ "group": "\ud559\uc2b5",
"pages": [
"ko/learn/overview",
"ko/learn/llm-selection-guide",
@@ -9234,17 +9254,17 @@
]
},
{
- "tab": "엔터프라이즈",
+ "tab": "\uc5d4\ud130\ud504\ub77c\uc774\uc988",
"icon": "briefcase",
"groups": [
{
- "group": "시작 안내",
+ "group": "\uc2dc\uc791 \uc548\ub0b4",
"pages": [
"ko/enterprise/introduction"
]
},
{
- "group": "빌드",
+ "group": "\ube4c\ub4dc",
"pages": [
"ko/enterprise/features/automations",
"ko/enterprise/features/crew-studio",
@@ -9255,7 +9275,7 @@
]
},
{
- "group": "운영",
+ "group": "\uc6b4\uc601",
"pages": [
"ko/enterprise/features/traces",
"ko/enterprise/features/webhook-streaming",
@@ -9264,13 +9284,13 @@
]
},
{
- "group": "관리",
+ "group": "\uad00\ub9ac",
"pages": [
"ko/enterprise/features/rbac"
]
},
{
- "group": "통합 문서",
+ "group": "\ud1b5\ud569 \ubb38\uc11c",
"pages": [
"ko/enterprise/integrations/asana",
"ko/enterprise/integrations/box",
@@ -9322,7 +9342,7 @@
]
},
{
- "group": "트리거",
+ "group": "\ud2b8\ub9ac\uac70",
"pages": [
"ko/enterprise/guides/automation-triggers",
"ko/enterprise/guides/gmail-trigger",
@@ -9338,7 +9358,7 @@
]
},
{
- "group": "학습 자원",
+ "group": "\ud559\uc2b5 \uc790\uc6d0",
"pages": [
"ko/enterprise/resources/frequently-asked-questions"
]
@@ -9346,11 +9366,11 @@
]
},
{
- "tab": "API 레퍼런스",
+ "tab": "API \ub808\ud37c\ub7f0\uc2a4",
"icon": "magnifying-glass",
"groups": [
{
- "group": "시작 안내",
+ "group": "\uc2dc\uc791 \uc548\ub0b4",
"pages": [
"ko/api-reference/introduction",
"ko/api-reference/inputs",
@@ -9362,11 +9382,11 @@
]
},
{
- "tab": "예시",
+ "tab": "\uc608\uc2dc",
"icon": "code",
"groups": [
{
- "group": "예시",
+ "group": "\uc608\uc2dc",
"pages": [
"ko/examples/example",
"ko/examples/cookbooks"
@@ -9375,11 +9395,11 @@
]
},
{
- "tab": "변경 로그",
+ "tab": "\ubcc0\uacbd \ub85c\uadf8",
"icon": "clock",
"groups": [
{
- "group": "릴리스 노트",
+ "group": "\ub9b4\ub9ac\uc2a4 \ub178\ud2b8",
"pages": [
"ko/changelog"
]
@@ -9392,11 +9412,11 @@
"version": "v1.11.1",
"tabs": [
{
- "tab": "홈",
+ "tab": "\ud648",
"icon": "house",
"groups": [
{
- "group": "환영합니다",
+ "group": "\ud658\uc601\ud569\ub2c8\ub2e4",
"pages": [
"ko/index"
]
@@ -9404,11 +9424,11 @@
]
},
{
- "tab": "기술 문서",
+ "tab": "\uae30\uc220 \ubb38\uc11c",
"icon": "book-open",
"groups": [
{
- "group": "시작 안내",
+ "group": "\uc2dc\uc791 \uc548\ub0b4",
"pages": [
"ko/introduction",
"ko/installation",
@@ -9416,31 +9436,31 @@
]
},
{
- "group": "가이드",
+ "group": "\uac00\uc774\ub4dc",
"pages": [
{
- "group": "전략",
+ "group": "\uc804\ub7b5",
"icon": "compass",
"pages": [
"ko/guides/concepts/evaluating-use-cases"
]
},
{
- "group": "에이전트 (Agents)",
+ "group": "\uc5d0\uc774\uc804\ud2b8 (Agents)",
"icon": "user",
"pages": [
"ko/guides/agents/crafting-effective-agents"
]
},
{
- "group": "크루 (Crews)",
+ "group": "\ud06c\ub8e8 (Crews)",
"icon": "users",
"pages": [
"ko/guides/crews/first-crew"
]
},
{
- "group": "플로우 (Flows)",
+ "group": "\ud50c\ub85c\uc6b0 (Flows)",
"icon": "code-branch",
"pages": [
"ko/guides/flows/first-flow",
@@ -9448,21 +9468,21 @@
]
},
{
- "group": "도구",
+ "group": "\ub3c4\uad6c",
"icon": "wrench",
"pages": [
"ko/guides/tools/publish-custom-tools"
]
},
{
- "group": "코딩 도구",
+ "group": "\ucf54\ub529 \ub3c4\uad6c",
"icon": "terminal",
"pages": [
"ko/guides/coding-tools/agents-md"
]
},
{
- "group": "고급",
+ "group": "\uace0\uae09",
"icon": "gear",
"pages": [
"ko/guides/advanced/customizing-prompts",
@@ -9470,7 +9490,7 @@
]
},
{
- "group": "마이그레이션",
+ "group": "\ub9c8\uc774\uadf8\ub808\uc774\uc158",
"icon": "shuffle",
"pages": [
"ko/guides/migration/migrating-from-langgraph"
@@ -9479,7 +9499,7 @@
]
},
{
- "group": "핵심 개념",
+ "group": "\ud575\uc2ec \uac1c\ub150",
"pages": [
"ko/concepts/agents",
"ko/concepts/tasks",
@@ -9499,11 +9519,12 @@
"ko/concepts/testing",
"ko/concepts/cli",
"ko/concepts/tools",
- "ko/concepts/event-listener"
+ "ko/concepts/event-listener",
+ "ko/concepts/checkpointing"
]
},
{
- "group": "MCP 통합",
+ "group": "MCP \ud1b5\ud569",
"pages": [
"ko/mcp/overview",
"ko/mcp/dsl-integration",
@@ -9515,11 +9536,11 @@
]
},
{
- "group": "도구 (Tools)",
+ "group": "\ub3c4\uad6c (Tools)",
"pages": [
"ko/tools/overview",
{
- "group": "파일 & 문서",
+ "group": "\ud30c\uc77c & \ubb38\uc11c",
"icon": "folder-open",
"pages": [
"ko/tools/file-document/overview",
@@ -9539,7 +9560,7 @@
]
},
{
- "group": "웹 스크래핑 & 브라우징",
+ "group": "\uc6f9 \uc2a4\ud06c\ub798\ud551 & \ube0c\ub77c\uc6b0\uc9d5",
"icon": "globe",
"pages": [
"ko/tools/web-scraping/overview",
@@ -9559,7 +9580,7 @@
]
},
{
- "group": "검색 및 연구",
+ "group": "\uac80\uc0c9 \ubc0f \uc5f0\uad6c",
"icon": "magnifying-glass",
"pages": [
"ko/tools/search-research/overview",
@@ -9581,7 +9602,7 @@
]
},
{
- "group": "데이터베이스 & 데이터",
+ "group": "\ub370\uc774\ud130\ubca0\uc774\uc2a4 & \ub370\uc774\ud130",
"icon": "database",
"pages": [
"ko/tools/database-data/overview",
@@ -9596,7 +9617,7 @@
]
},
{
- "group": "인공지능 & 머신러닝",
+ "group": "\uc778\uacf5\uc9c0\ub2a5 & \uba38\uc2e0\ub7ec\ub2dd",
"icon": "brain",
"pages": [
"ko/tools/ai-ml/overview",
@@ -9610,7 +9631,7 @@
]
},
{
- "group": "클라우드 & 스토리지",
+ "group": "\ud074\ub77c\uc6b0\ub4dc & \uc2a4\ud1a0\ub9ac\uc9c0",
"icon": "cloud",
"pages": [
"ko/tools/cloud-storage/overview",
@@ -9629,7 +9650,7 @@
]
},
{
- "group": "자동화",
+ "group": "\uc790\ub3d9\ud654",
"icon": "bolt",
"pages": [
"ko/tools/automation/overview",
@@ -9664,7 +9685,7 @@
]
},
{
- "group": "학습",
+ "group": "\ud559\uc2b5",
"pages": [
"ko/learn/overview",
"ko/learn/llm-selection-guide",
@@ -9701,17 +9722,17 @@
]
},
{
- "tab": "엔터프라이즈",
+ "tab": "\uc5d4\ud130\ud504\ub77c\uc774\uc988",
"icon": "briefcase",
"groups": [
{
- "group": "시작 안내",
+ "group": "\uc2dc\uc791 \uc548\ub0b4",
"pages": [
"ko/enterprise/introduction"
]
},
{
- "group": "빌드",
+ "group": "\ube4c\ub4dc",
"pages": [
"ko/enterprise/features/automations",
"ko/enterprise/features/crew-studio",
@@ -9722,7 +9743,7 @@
]
},
{
- "group": "운영",
+ "group": "\uc6b4\uc601",
"pages": [
"ko/enterprise/features/traces",
"ko/enterprise/features/webhook-streaming",
@@ -9731,13 +9752,13 @@
]
},
{
- "group": "관리",
+ "group": "\uad00\ub9ac",
"pages": [
"ko/enterprise/features/rbac"
]
},
{
- "group": "통합 문서",
+ "group": "\ud1b5\ud569 \ubb38\uc11c",
"pages": [
"ko/enterprise/integrations/asana",
"ko/enterprise/integrations/box",
@@ -9789,7 +9810,7 @@
]
},
{
- "group": "트리거",
+ "group": "\ud2b8\ub9ac\uac70",
"pages": [
"ko/enterprise/guides/automation-triggers",
"ko/enterprise/guides/gmail-trigger",
@@ -9805,7 +9826,7 @@
]
},
{
- "group": "학습 자원",
+ "group": "\ud559\uc2b5 \uc790\uc6d0",
"pages": [
"ko/enterprise/resources/frequently-asked-questions"
]
@@ -9813,11 +9834,11 @@
]
},
{
- "tab": "API 레퍼런스",
+ "tab": "API \ub808\ud37c\ub7f0\uc2a4",
"icon": "magnifying-glass",
"groups": [
{
- "group": "시작 안내",
+ "group": "\uc2dc\uc791 \uc548\ub0b4",
"pages": [
"ko/api-reference/introduction",
"ko/api-reference/inputs",
@@ -9829,11 +9850,11 @@
]
},
{
- "tab": "예시",
+ "tab": "\uc608\uc2dc",
"icon": "code",
"groups": [
{
- "group": "예시",
+ "group": "\uc608\uc2dc",
"pages": [
"ko/examples/example",
"ko/examples/cookbooks"
@@ -9842,11 +9863,11 @@
]
},
{
- "tab": "변경 로그",
+ "tab": "\ubcc0\uacbd \ub85c\uadf8",
"icon": "clock",
"groups": [
{
- "group": "릴리스 노트",
+ "group": "\ub9b4\ub9ac\uc2a4 \ub178\ud2b8",
"pages": [
"ko/changelog"
]
@@ -9859,11 +9880,11 @@
"version": "v1.11.0",
"tabs": [
{
- "tab": "홈",
+ "tab": "\ud648",
"icon": "house",
"groups": [
{
- "group": "환영합니다",
+ "group": "\ud658\uc601\ud569\ub2c8\ub2e4",
"pages": [
"ko/index"
]
@@ -9871,11 +9892,11 @@
]
},
{
- "tab": "기술 문서",
+ "tab": "\uae30\uc220 \ubb38\uc11c",
"icon": "book-open",
"groups": [
{
- "group": "시작 안내",
+ "group": "\uc2dc\uc791 \uc548\ub0b4",
"pages": [
"ko/introduction",
"ko/installation",
@@ -9883,31 +9904,31 @@
]
},
{
- "group": "가이드",
+ "group": "\uac00\uc774\ub4dc",
"pages": [
{
- "group": "전략",
+ "group": "\uc804\ub7b5",
"icon": "compass",
"pages": [
"ko/guides/concepts/evaluating-use-cases"
]
},
{
- "group": "에이전트 (Agents)",
+ "group": "\uc5d0\uc774\uc804\ud2b8 (Agents)",
"icon": "user",
"pages": [
"ko/guides/agents/crafting-effective-agents"
]
},
{
- "group": "크루 (Crews)",
+ "group": "\ud06c\ub8e8 (Crews)",
"icon": "users",
"pages": [
"ko/guides/crews/first-crew"
]
},
{
- "group": "플로우 (Flows)",
+ "group": "\ud50c\ub85c\uc6b0 (Flows)",
"icon": "code-branch",
"pages": [
"ko/guides/flows/first-flow",
@@ -9915,21 +9936,21 @@
]
},
{
- "group": "도구",
+ "group": "\ub3c4\uad6c",
"icon": "wrench",
"pages": [
"ko/guides/tools/publish-custom-tools"
]
},
{
- "group": "코딩 도구",
+ "group": "\ucf54\ub529 \ub3c4\uad6c",
"icon": "terminal",
"pages": [
"ko/guides/coding-tools/agents-md"
]
},
{
- "group": "고급",
+ "group": "\uace0\uae09",
"icon": "gear",
"pages": [
"ko/guides/advanced/customizing-prompts",
@@ -9937,7 +9958,7 @@
]
},
{
- "group": "마이그레이션",
+ "group": "\ub9c8\uc774\uadf8\ub808\uc774\uc158",
"icon": "shuffle",
"pages": [
"ko/guides/migration/migrating-from-langgraph"
@@ -9946,7 +9967,7 @@
]
},
{
- "group": "핵심 개념",
+ "group": "\ud575\uc2ec \uac1c\ub150",
"pages": [
"ko/concepts/agents",
"ko/concepts/tasks",
@@ -9965,11 +9986,12 @@
"ko/concepts/testing",
"ko/concepts/cli",
"ko/concepts/tools",
- "ko/concepts/event-listener"
+ "ko/concepts/event-listener",
+ "ko/concepts/checkpointing"
]
},
{
- "group": "MCP 통합",
+ "group": "MCP \ud1b5\ud569",
"pages": [
"ko/mcp/overview",
"ko/mcp/dsl-integration",
@@ -9981,11 +10003,11 @@
]
},
{
- "group": "도구 (Tools)",
+ "group": "\ub3c4\uad6c (Tools)",
"pages": [
"ko/tools/overview",
{
- "group": "파일 & 문서",
+ "group": "\ud30c\uc77c & \ubb38\uc11c",
"icon": "folder-open",
"pages": [
"ko/tools/file-document/overview",
@@ -10005,7 +10027,7 @@
]
},
{
- "group": "웹 스크래핑 & 브라우징",
+ "group": "\uc6f9 \uc2a4\ud06c\ub798\ud551 & \ube0c\ub77c\uc6b0\uc9d5",
"icon": "globe",
"pages": [
"ko/tools/web-scraping/overview",
@@ -10025,7 +10047,7 @@
]
},
{
- "group": "검색 및 연구",
+ "group": "\uac80\uc0c9 \ubc0f \uc5f0\uad6c",
"icon": "magnifying-glass",
"pages": [
"ko/tools/search-research/overview",
@@ -10047,7 +10069,7 @@
]
},
{
- "group": "데이터베이스 & 데이터",
+ "group": "\ub370\uc774\ud130\ubca0\uc774\uc2a4 & \ub370\uc774\ud130",
"icon": "database",
"pages": [
"ko/tools/database-data/overview",
@@ -10062,7 +10084,7 @@
]
},
{
- "group": "인공지능 & 머신러닝",
+ "group": "\uc778\uacf5\uc9c0\ub2a5 & \uba38\uc2e0\ub7ec\ub2dd",
"icon": "brain",
"pages": [
"ko/tools/ai-ml/overview",
@@ -10076,7 +10098,7 @@
]
},
{
- "group": "클라우드 & 스토리지",
+ "group": "\ud074\ub77c\uc6b0\ub4dc & \uc2a4\ud1a0\ub9ac\uc9c0",
"icon": "cloud",
"pages": [
"ko/tools/cloud-storage/overview",
@@ -10095,7 +10117,7 @@
]
},
{
- "group": "자동화",
+ "group": "\uc790\ub3d9\ud654",
"icon": "bolt",
"pages": [
"ko/tools/automation/overview",
@@ -10130,7 +10152,7 @@
]
},
{
- "group": "학습",
+ "group": "\ud559\uc2b5",
"pages": [
"ko/learn/overview",
"ko/learn/llm-selection-guide",
@@ -10167,17 +10189,17 @@
]
},
{
- "tab": "엔터프라이즈",
+ "tab": "\uc5d4\ud130\ud504\ub77c\uc774\uc988",
"icon": "briefcase",
"groups": [
{
- "group": "시작 안내",
+ "group": "\uc2dc\uc791 \uc548\ub0b4",
"pages": [
"ko/enterprise/introduction"
]
},
{
- "group": "빌드",
+ "group": "\ube4c\ub4dc",
"pages": [
"ko/enterprise/features/automations",
"ko/enterprise/features/crew-studio",
@@ -10188,7 +10210,7 @@
]
},
{
- "group": "운영",
+ "group": "\uc6b4\uc601",
"pages": [
"ko/enterprise/features/traces",
"ko/enterprise/features/webhook-streaming",
@@ -10197,13 +10219,13 @@
]
},
{
- "group": "관리",
+ "group": "\uad00\ub9ac",
"pages": [
"ko/enterprise/features/rbac"
]
},
{
- "group": "통합 문서",
+ "group": "\ud1b5\ud569 \ubb38\uc11c",
"pages": [
"ko/enterprise/integrations/asana",
"ko/enterprise/integrations/box",
@@ -10255,7 +10277,7 @@
]
},
{
- "group": "트리거",
+ "group": "\ud2b8\ub9ac\uac70",
"pages": [
"ko/enterprise/guides/automation-triggers",
"ko/enterprise/guides/gmail-trigger",
@@ -10271,7 +10293,7 @@
]
},
{
- "group": "학습 자원",
+ "group": "\ud559\uc2b5 \uc790\uc6d0",
"pages": [
"ko/enterprise/resources/frequently-asked-questions"
]
@@ -10279,11 +10301,11 @@
]
},
{
- "tab": "API 레퍼런스",
+ "tab": "API \ub808\ud37c\ub7f0\uc2a4",
"icon": "magnifying-glass",
"groups": [
{
- "group": "시작 안내",
+ "group": "\uc2dc\uc791 \uc548\ub0b4",
"pages": [
"ko/api-reference/introduction",
"ko/api-reference/inputs",
@@ -10295,11 +10317,11 @@
]
},
{
- "tab": "예시",
+ "tab": "\uc608\uc2dc",
"icon": "code",
"groups": [
{
- "group": "예시",
+ "group": "\uc608\uc2dc",
"pages": [
"ko/examples/example",
"ko/examples/cookbooks"
@@ -10308,11 +10330,11 @@
]
},
{
- "tab": "변경 로그",
+ "tab": "\ubcc0\uacbd \ub85c\uadf8",
"icon": "clock",
"groups": [
{
- "group": "릴리스 노트",
+ "group": "\ub9b4\ub9ac\uc2a4 \ub178\ud2b8",
"pages": [
"ko/changelog"
]
@@ -10325,11 +10347,11 @@
"version": "v1.10.1",
"tabs": [
{
- "tab": "홈",
+ "tab": "\ud648",
"icon": "house",
"groups": [
{
- "group": "환영합니다",
+ "group": "\ud658\uc601\ud569\ub2c8\ub2e4",
"pages": [
"ko/index"
]
@@ -10337,11 +10359,11 @@
]
},
{
- "tab": "기술 문서",
+ "tab": "\uae30\uc220 \ubb38\uc11c",
"icon": "book-open",
"groups": [
{
- "group": "시작 안내",
+ "group": "\uc2dc\uc791 \uc548\ub0b4",
"pages": [
"ko/introduction",
"ko/installation",
@@ -10349,31 +10371,31 @@
]
},
{
- "group": "가이드",
+ "group": "\uac00\uc774\ub4dc",
"pages": [
{
- "group": "전략",
+ "group": "\uc804\ub7b5",
"icon": "compass",
"pages": [
"ko/guides/concepts/evaluating-use-cases"
]
},
{
- "group": "에이전트 (Agents)",
+ "group": "\uc5d0\uc774\uc804\ud2b8 (Agents)",
"icon": "user",
"pages": [
"ko/guides/agents/crafting-effective-agents"
]
},
{
- "group": "크루 (Crews)",
+ "group": "\ud06c\ub8e8 (Crews)",
"icon": "users",
"pages": [
"ko/guides/crews/first-crew"
]
},
{
- "group": "플로우 (Flows)",
+ "group": "\ud50c\ub85c\uc6b0 (Flows)",
"icon": "code-branch",
"pages": [
"ko/guides/flows/first-flow",
@@ -10381,21 +10403,21 @@
]
},
{
- "group": "도구",
+ "group": "\ub3c4\uad6c",
"icon": "wrench",
"pages": [
"ko/guides/tools/publish-custom-tools"
]
},
{
- "group": "코딩 도구",
+ "group": "\ucf54\ub529 \ub3c4\uad6c",
"icon": "terminal",
"pages": [
"ko/guides/coding-tools/agents-md"
]
},
{
- "group": "고급",
+ "group": "\uace0\uae09",
"icon": "gear",
"pages": [
"ko/guides/advanced/customizing-prompts",
@@ -10403,7 +10425,7 @@
]
},
{
- "group": "마이그레이션",
+ "group": "\ub9c8\uc774\uadf8\ub808\uc774\uc158",
"icon": "shuffle",
"pages": [
"ko/guides/migration/migrating-from-langgraph"
@@ -10412,7 +10434,7 @@
]
},
{
- "group": "핵심 개념",
+ "group": "\ud575\uc2ec \uac1c\ub150",
"pages": [
"ko/concepts/agents",
"ko/concepts/tasks",
@@ -10431,11 +10453,12 @@
"ko/concepts/testing",
"ko/concepts/cli",
"ko/concepts/tools",
- "ko/concepts/event-listener"
+ "ko/concepts/event-listener",
+ "ko/concepts/checkpointing"
]
},
{
- "group": "MCP 통합",
+ "group": "MCP \ud1b5\ud569",
"pages": [
"ko/mcp/overview",
"ko/mcp/dsl-integration",
@@ -10447,11 +10470,11 @@
]
},
{
- "group": "도구 (Tools)",
+ "group": "\ub3c4\uad6c (Tools)",
"pages": [
"ko/tools/overview",
{
- "group": "파일 & 문서",
+ "group": "\ud30c\uc77c & \ubb38\uc11c",
"icon": "folder-open",
"pages": [
"ko/tools/file-document/overview",
@@ -10471,7 +10494,7 @@
]
},
{
- "group": "웹 스크래핑 & 브라우징",
+ "group": "\uc6f9 \uc2a4\ud06c\ub798\ud551 & \ube0c\ub77c\uc6b0\uc9d5",
"icon": "globe",
"pages": [
"ko/tools/web-scraping/overview",
@@ -10491,7 +10514,7 @@
]
},
{
- "group": "검색 및 연구",
+ "group": "\uac80\uc0c9 \ubc0f \uc5f0\uad6c",
"icon": "magnifying-glass",
"pages": [
"ko/tools/search-research/overview",
@@ -10513,7 +10536,7 @@
]
},
{
- "group": "데이터베이스 & 데이터",
+ "group": "\ub370\uc774\ud130\ubca0\uc774\uc2a4 & \ub370\uc774\ud130",
"icon": "database",
"pages": [
"ko/tools/database-data/overview",
@@ -10528,7 +10551,7 @@
]
},
{
- "group": "인공지능 & 머신러닝",
+ "group": "\uc778\uacf5\uc9c0\ub2a5 & \uba38\uc2e0\ub7ec\ub2dd",
"icon": "brain",
"pages": [
"ko/tools/ai-ml/overview",
@@ -10542,7 +10565,7 @@
]
},
{
- "group": "클라우드 & 스토리지",
+ "group": "\ud074\ub77c\uc6b0\ub4dc & \uc2a4\ud1a0\ub9ac\uc9c0",
"icon": "cloud",
"pages": [
"ko/tools/cloud-storage/overview",
@@ -10561,7 +10584,7 @@
]
},
{
- "group": "자동화",
+ "group": "\uc790\ub3d9\ud654",
"icon": "bolt",
"pages": [
"ko/tools/automation/overview",
@@ -10596,7 +10619,7 @@
]
},
{
- "group": "학습",
+ "group": "\ud559\uc2b5",
"pages": [
"ko/learn/overview",
"ko/learn/llm-selection-guide",
@@ -10633,17 +10656,17 @@
]
},
{
- "tab": "엔터프라이즈",
+ "tab": "\uc5d4\ud130\ud504\ub77c\uc774\uc988",
"icon": "briefcase",
"groups": [
{
- "group": "시작 안내",
+ "group": "\uc2dc\uc791 \uc548\ub0b4",
"pages": [
"ko/enterprise/introduction"
]
},
{
- "group": "빌드",
+ "group": "\ube4c\ub4dc",
"pages": [
"ko/enterprise/features/automations",
"ko/enterprise/features/crew-studio",
@@ -10654,7 +10677,7 @@
]
},
{
- "group": "운영",
+ "group": "\uc6b4\uc601",
"pages": [
"ko/enterprise/features/traces",
"ko/enterprise/features/webhook-streaming",
@@ -10663,13 +10686,13 @@
]
},
{
- "group": "관리",
+ "group": "\uad00\ub9ac",
"pages": [
"ko/enterprise/features/rbac"
]
},
{
- "group": "통합 문서",
+ "group": "\ud1b5\ud569 \ubb38\uc11c",
"pages": [
"ko/enterprise/integrations/asana",
"ko/enterprise/integrations/box",
@@ -10721,7 +10744,7 @@
]
},
{
- "group": "트리거",
+ "group": "\ud2b8\ub9ac\uac70",
"pages": [
"ko/enterprise/guides/automation-triggers",
"ko/enterprise/guides/gmail-trigger",
@@ -10737,7 +10760,7 @@
]
},
{
- "group": "학습 자원",
+ "group": "\ud559\uc2b5 \uc790\uc6d0",
"pages": [
"ko/enterprise/resources/frequently-asked-questions"
]
@@ -10745,11 +10768,11 @@
]
},
{
- "tab": "API 레퍼런스",
+ "tab": "API \ub808\ud37c\ub7f0\uc2a4",
"icon": "magnifying-glass",
"groups": [
{
- "group": "시작 안내",
+ "group": "\uc2dc\uc791 \uc548\ub0b4",
"pages": [
"ko/api-reference/introduction",
"ko/api-reference/inputs",
@@ -10761,11 +10784,11 @@
]
},
{
- "tab": "예시",
+ "tab": "\uc608\uc2dc",
"icon": "code",
"groups": [
{
- "group": "예시",
+ "group": "\uc608\uc2dc",
"pages": [
"ko/examples/example",
"ko/examples/cookbooks"
@@ -10774,11 +10797,11 @@
]
},
{
- "tab": "변경 로그",
+ "tab": "\ubcc0\uacbd \ub85c\uadf8",
"icon": "clock",
"groups": [
{
- "group": "릴리스 노트",
+ "group": "\ub9b4\ub9ac\uc2a4 \ub178\ud2b8",
"pages": [
"ko/changelog"
]
@@ -10791,11 +10814,11 @@
"version": "v1.10.0",
"tabs": [
{
- "tab": "홈",
+ "tab": "\ud648",
"icon": "house",
"groups": [
{
- "group": "환영합니다",
+ "group": "\ud658\uc601\ud569\ub2c8\ub2e4",
"pages": [
"ko/index"
]
@@ -10803,11 +10826,11 @@
]
},
{
- "tab": "기술 문서",
+ "tab": "\uae30\uc220 \ubb38\uc11c",
"icon": "book-open",
"groups": [
{
- "group": "시작 안내",
+ "group": "\uc2dc\uc791 \uc548\ub0b4",
"pages": [
"ko/introduction",
"ko/installation",
@@ -10815,31 +10838,31 @@
]
},
{
- "group": "가이드",
+ "group": "\uac00\uc774\ub4dc",
"pages": [
{
- "group": "전략",
+ "group": "\uc804\ub7b5",
"icon": "compass",
"pages": [
"ko/guides/concepts/evaluating-use-cases"
]
},
{
- "group": "에이전트 (Agents)",
+ "group": "\uc5d0\uc774\uc804\ud2b8 (Agents)",
"icon": "user",
"pages": [
"ko/guides/agents/crafting-effective-agents"
]
},
{
- "group": "크루 (Crews)",
+ "group": "\ud06c\ub8e8 (Crews)",
"icon": "users",
"pages": [
"ko/guides/crews/first-crew"
]
},
{
- "group": "플로우 (Flows)",
+ "group": "\ud50c\ub85c\uc6b0 (Flows)",
"icon": "code-branch",
"pages": [
"ko/guides/flows/first-flow",
@@ -10847,21 +10870,21 @@
]
},
{
- "group": "도구",
+ "group": "\ub3c4\uad6c",
"icon": "wrench",
"pages": [
"ko/guides/tools/publish-custom-tools"
]
},
{
- "group": "코딩 도구",
+ "group": "\ucf54\ub529 \ub3c4\uad6c",
"icon": "terminal",
"pages": [
"ko/guides/coding-tools/agents-md"
]
},
{
- "group": "고급",
+ "group": "\uace0\uae09",
"icon": "gear",
"pages": [
"ko/guides/advanced/customizing-prompts",
@@ -10869,7 +10892,7 @@
]
},
{
- "group": "마이그레이션",
+ "group": "\ub9c8\uc774\uadf8\ub808\uc774\uc158",
"icon": "shuffle",
"pages": [
"ko/guides/migration/migrating-from-langgraph"
@@ -10878,7 +10901,7 @@
]
},
{
- "group": "핵심 개념",
+ "group": "\ud575\uc2ec \uac1c\ub150",
"pages": [
"ko/concepts/agents",
"ko/concepts/tasks",
@@ -10898,11 +10921,12 @@
"ko/concepts/testing",
"ko/concepts/cli",
"ko/concepts/tools",
- "ko/concepts/event-listener"
+ "ko/concepts/event-listener",
+ "ko/concepts/checkpointing"
]
},
{
- "group": "MCP 통합",
+ "group": "MCP \ud1b5\ud569",
"pages": [
"ko/mcp/overview",
"ko/mcp/dsl-integration",
@@ -10914,11 +10938,11 @@
]
},
{
- "group": "도구 (Tools)",
+ "group": "\ub3c4\uad6c (Tools)",
"pages": [
"ko/tools/overview",
{
- "group": "파일 & 문서",
+ "group": "\ud30c\uc77c & \ubb38\uc11c",
"icon": "folder-open",
"pages": [
"ko/tools/file-document/overview",
@@ -10938,7 +10962,7 @@
]
},
{
- "group": "웹 스크래핑 & 브라우징",
+ "group": "\uc6f9 \uc2a4\ud06c\ub798\ud551 & \ube0c\ub77c\uc6b0\uc9d5",
"icon": "globe",
"pages": [
"ko/tools/web-scraping/overview",
@@ -10958,7 +10982,7 @@
]
},
{
- "group": "검색 및 연구",
+ "group": "\uac80\uc0c9 \ubc0f \uc5f0\uad6c",
"icon": "magnifying-glass",
"pages": [
"ko/tools/search-research/overview",
@@ -10980,7 +11004,7 @@
]
},
{
- "group": "데이터베이스 & 데이터",
+ "group": "\ub370\uc774\ud130\ubca0\uc774\uc2a4 & \ub370\uc774\ud130",
"icon": "database",
"pages": [
"ko/tools/database-data/overview",
@@ -10995,7 +11019,7 @@
]
},
{
- "group": "인공지능 & 머신러닝",
+ "group": "\uc778\uacf5\uc9c0\ub2a5 & \uba38\uc2e0\ub7ec\ub2dd",
"icon": "brain",
"pages": [
"ko/tools/ai-ml/overview",
@@ -11009,7 +11033,7 @@
]
},
{
- "group": "클라우드 & 스토리지",
+ "group": "\ud074\ub77c\uc6b0\ub4dc & \uc2a4\ud1a0\ub9ac\uc9c0",
"icon": "cloud",
"pages": [
"ko/tools/cloud-storage/overview",
@@ -11028,7 +11052,7 @@
]
},
{
- "group": "자동화",
+ "group": "\uc790\ub3d9\ud654",
"icon": "bolt",
"pages": [
"ko/tools/automation/overview",
@@ -11063,7 +11087,7 @@
]
},
{
- "group": "학습",
+ "group": "\ud559\uc2b5",
"pages": [
"ko/learn/overview",
"ko/learn/llm-selection-guide",
@@ -11100,17 +11124,17 @@
]
},
{
- "tab": "엔터프라이즈",
+ "tab": "\uc5d4\ud130\ud504\ub77c\uc774\uc988",
"icon": "briefcase",
"groups": [
{
- "group": "시작 안내",
+ "group": "\uc2dc\uc791 \uc548\ub0b4",
"pages": [
"ko/enterprise/introduction"
]
},
{
- "group": "빌드",
+ "group": "\ube4c\ub4dc",
"pages": [
"ko/enterprise/features/automations",
"ko/enterprise/features/crew-studio",
@@ -11121,7 +11145,7 @@
]
},
{
- "group": "운영",
+ "group": "\uc6b4\uc601",
"pages": [
"ko/enterprise/features/traces",
"ko/enterprise/features/webhook-streaming",
@@ -11130,13 +11154,13 @@
]
},
{
- "group": "관리",
+ "group": "\uad00\ub9ac",
"pages": [
"ko/enterprise/features/rbac"
]
},
{
- "group": "통합 문서",
+ "group": "\ud1b5\ud569 \ubb38\uc11c",
"pages": [
"ko/enterprise/integrations/asana",
"ko/enterprise/integrations/box",
@@ -11188,7 +11212,7 @@
]
},
{
- "group": "트리거",
+ "group": "\ud2b8\ub9ac\uac70",
"pages": [
"ko/enterprise/guides/automation-triggers",
"ko/enterprise/guides/gmail-trigger",
@@ -11204,7 +11228,7 @@
]
},
{
- "group": "학습 자원",
+ "group": "\ud559\uc2b5 \uc790\uc6d0",
"pages": [
"ko/enterprise/resources/frequently-asked-questions"
]
@@ -11212,11 +11236,11 @@
]
},
{
- "tab": "API 레퍼런스",
+ "tab": "API \ub808\ud37c\ub7f0\uc2a4",
"icon": "magnifying-glass",
"groups": [
{
- "group": "시작 안내",
+ "group": "\uc2dc\uc791 \uc548\ub0b4",
"pages": [
"ko/api-reference/introduction",
"ko/api-reference/inputs",
@@ -11228,11 +11252,11 @@
]
},
{
- "tab": "예시",
+ "tab": "\uc608\uc2dc",
"icon": "code",
"groups": [
{
- "group": "예시",
+ "group": "\uc608\uc2dc",
"pages": [
"ko/examples/example",
"ko/examples/cookbooks"
@@ -11241,11 +11265,11 @@
]
},
{
- "tab": "변경 로그",
+ "tab": "\ubcc0\uacbd \ub85c\uadf8",
"icon": "clock",
"groups": [
{
- "group": "릴리스 노트",
+ "group": "\ub9b4\ub9ac\uc2a4 \ub178\ud2b8",
"pages": [
"ko/changelog"
]
@@ -11261,17 +11285,17 @@
"global": {
"anchors": [
{
- "anchor": "الموقع",
+ "anchor": "\u0627\u0644\u0645\u0648\u0642\u0639",
"href": "https://crewai.com",
"icon": "globe"
},
{
- "anchor": "المنتدى",
+ "anchor": "\u0627\u0644\u0645\u0646\u062a\u062f\u0649",
"href": "https://community.crewai.com",
"icon": "discourse"
},
{
- "anchor": "المدوّنة",
+ "anchor": "\u0627\u0644\u0645\u062f\u0648\u0651\u0646\u0629",
"href": "https://blog.crewai.com",
"icon": "newspaper"
},
@@ -11288,11 +11312,11 @@
"default": true,
"tabs": [
{
- "tab": "الرئيسية",
+ "tab": "\u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629",
"icon": "house",
"groups": [
{
- "group": "مرحباً",
+ "group": "\u0645\u0631\u062d\u0628\u0627\u064b",
"pages": [
"ar/index"
]
@@ -11300,11 +11324,11 @@
]
},
{
- "tab": "التقنية التوثيق",
+ "tab": "\u0627\u0644\u062a\u0642\u0646\u064a\u0629 \u0627\u0644\u062a\u0648\u062b\u064a\u0642",
"icon": "book-open",
"groups": [
{
- "group": "البدء",
+ "group": "\u0627\u0644\u0628\u062f\u0621",
"pages": [
"ar/introduction",
"ar/installation",
@@ -11312,31 +11336,31 @@
]
},
{
- "group": "الأدلّة",
+ "group": "\u0627\u0644\u0623\u062f\u0644\u0651\u0629",
"pages": [
{
- "group": "الاستراتيجية",
+ "group": "\u0627\u0644\u0627\u0633\u062a\u0631\u0627\u062a\u064a\u062c\u064a\u0629",
"icon": "compass",
"pages": [
"ar/guides/concepts/evaluating-use-cases"
]
},
{
- "group": "الوكلاء",
+ "group": "\u0627\u0644\u0648\u0643\u0644\u0627\u0621",
"icon": "user",
"pages": [
"ar/guides/agents/crafting-effective-agents"
]
},
{
- "group": "الطواقم",
+ "group": "\u0627\u0644\u0637\u0648\u0627\u0642\u0645",
"icon": "users",
"pages": [
"ar/guides/crews/first-crew"
]
},
{
- "group": "التدفقات",
+ "group": "\u0627\u0644\u062a\u062f\u0641\u0642\u0627\u062a",
"icon": "code-branch",
"pages": [
"ar/guides/flows/first-flow",
@@ -11344,21 +11368,21 @@
]
},
{
- "group": "الأدوات",
+ "group": "\u0627\u0644\u0623\u062f\u0648\u0627\u062a",
"icon": "wrench",
"pages": [
"ar/guides/tools/publish-custom-tools"
]
},
{
- "group": "أدوات البرمجة",
+ "group": "\u0623\u062f\u0648\u0627\u062a \u0627\u0644\u0628\u0631\u0645\u062c\u0629",
"icon": "terminal",
"pages": [
"ar/guides/coding-tools/agents-md"
]
},
{
- "group": "متقدّم",
+ "group": "\u0645\u062a\u0642\u062f\u0651\u0645",
"icon": "gear",
"pages": [
"ar/guides/advanced/customizing-prompts",
@@ -11366,7 +11390,7 @@
]
},
{
- "group": "الترحيل",
+ "group": "\u0627\u0644\u062a\u0631\u062d\u064a\u0644",
"icon": "shuffle",
"pages": [
"ar/guides/migration/migrating-from-langgraph"
@@ -11375,7 +11399,7 @@
]
},
{
- "group": "المفاهيم الأساسية",
+ "group": "\u0627\u0644\u0645\u0641\u0627\u0647\u064a\u0645 \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629",
"pages": [
"ar/concepts/agents",
"ar/concepts/agent-capabilities",
@@ -11396,11 +11420,12 @@
"ar/concepts/testing",
"ar/concepts/cli",
"ar/concepts/tools",
- "ar/concepts/event-listener"
+ "ar/concepts/event-listener",
+ "ar/concepts/checkpointing"
]
},
{
- "group": "تكامل MCP",
+ "group": "\u062a\u0643\u0627\u0645\u0644 MCP",
"pages": [
"ar/mcp/overview",
"ar/mcp/dsl-integration",
@@ -11412,11 +11437,11 @@
]
},
{
- "group": "الأدوات",
+ "group": "\u0627\u0644\u0623\u062f\u0648\u0627\u062a",
"pages": [
"ar/tools/overview",
{
- "group": "الملفات والمستندات",
+ "group": "\u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0648\u0627\u0644\u0645\u0633\u062a\u0646\u062f\u0627\u062a",
"icon": "folder-open",
"pages": [
"ar/tools/file-document/overview",
@@ -11436,7 +11461,7 @@
]
},
{
- "group": "استخراج بيانات الويب",
+ "group": "\u0627\u0633\u062a\u062e\u0631\u0627\u062c \u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0648\u064a\u0628",
"icon": "globe",
"pages": [
"ar/tools/web-scraping/overview",
@@ -11456,7 +11481,7 @@
]
},
{
- "group": "البحث والاستكشاف",
+ "group": "\u0627\u0644\u0628\u062d\u062b \u0648\u0627\u0644\u0627\u0633\u062a\u0643\u0634\u0627\u0641",
"icon": "magnifying-glass",
"pages": [
"ar/tools/search-research/overview",
@@ -11478,7 +11503,7 @@
]
},
{
- "group": "قواعد البيانات",
+ "group": "\u0642\u0648\u0627\u0639\u062f \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a",
"icon": "database",
"pages": [
"ar/tools/database-data/overview",
@@ -11493,7 +11518,7 @@
]
},
{
- "group": "الذكاء الاصطناعي والتعلّم الآلي",
+ "group": "\u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a \u0648\u0627\u0644\u062a\u0639\u0644\u0651\u0645 \u0627\u0644\u0622\u0644\u064a",
"icon": "brain",
"pages": [
"ar/tools/ai-ml/overview",
@@ -11507,7 +11532,7 @@
]
},
{
- "group": "التخزين السحابي",
+ "group": "\u0627\u0644\u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u0633\u062d\u0627\u0628\u064a",
"icon": "cloud",
"pages": [
"ar/tools/cloud-storage/overview",
@@ -11526,7 +11551,7 @@
]
},
{
- "group": "الأتمتة",
+ "group": "\u0627\u0644\u0623\u062a\u0645\u062a\u0629",
"icon": "bolt",
"pages": [
"ar/tools/automation/overview",
@@ -11561,7 +11586,7 @@
]
},
{
- "group": "التعلّم",
+ "group": "\u0627\u0644\u062a\u0639\u0644\u0651\u0645",
"pages": [
"ar/learn/overview",
"ar/learn/llm-selection-guide",
@@ -11598,17 +11623,17 @@
]
},
{
- "tab": "المؤسسات",
+ "tab": "\u0627\u0644\u0645\u0624\u0633\u0633\u0627\u062a",
"icon": "briefcase",
"groups": [
{
- "group": "البدء",
+ "group": "\u0627\u0644\u0628\u062f\u0621",
"pages": [
"ar/enterprise/introduction"
]
},
{
- "group": "البناء",
+ "group": "\u0627\u0644\u0628\u0646\u0627\u0621",
"pages": [
"ar/enterprise/features/automations",
"ar/enterprise/features/crew-studio",
@@ -11619,7 +11644,7 @@
]
},
{
- "group": "العمليات",
+ "group": "\u0627\u0644\u0639\u0645\u0644\u064a\u0627\u062a",
"pages": [
"ar/enterprise/features/traces",
"ar/enterprise/features/webhook-streaming",
@@ -11628,13 +11653,13 @@
]
},
{
- "group": "الإدارة",
+ "group": "\u0627\u0644\u0625\u062f\u0627\u0631\u0629",
"pages": [
"ar/enterprise/features/rbac"
]
},
{
- "group": "التكاملات",
+ "group": "\u0627\u0644\u062a\u0643\u0627\u0645\u0644\u0627\u062a",
"pages": [
"ar/enterprise/integrations/asana",
"ar/enterprise/integrations/box",
@@ -11686,7 +11711,7 @@
]
},
{
- "group": "المشغّلات",
+ "group": "\u0627\u0644\u0645\u0634\u063a\u0651\u0644\u0627\u062a",
"pages": [
"ar/enterprise/guides/automation-triggers",
"ar/enterprise/guides/gmail-trigger",
@@ -11702,7 +11727,7 @@
]
},
{
- "group": "موارد التعلّم",
+ "group": "\u0645\u0648\u0627\u0631\u062f \u0627\u0644\u062a\u0639\u0644\u0651\u0645",
"pages": [
"ar/enterprise/resources/frequently-asked-questions"
]
@@ -11710,11 +11735,11 @@
]
},
{
- "tab": "API المرجع",
+ "tab": "API \u0627\u0644\u0645\u0631\u062c\u0639",
"icon": "magnifying-glass",
"groups": [
{
- "group": "البدء",
+ "group": "\u0627\u0644\u0628\u062f\u0621",
"pages": [
"ar/api-reference/introduction",
"ar/api-reference/inputs",
@@ -11726,11 +11751,11 @@
]
},
{
- "tab": "أمثلة",
+ "tab": "\u0623\u0645\u062b\u0644\u0629",
"icon": "code",
"groups": [
{
- "group": "أمثلة",
+ "group": "\u0623\u0645\u062b\u0644\u0629",
"pages": [
"ar/examples/example",
"ar/examples/cookbooks"
@@ -11739,11 +11764,11 @@
]
},
{
- "tab": "التغييرات السجلات",
+ "tab": "\u0627\u0644\u062a\u063a\u064a\u064a\u0631\u0627\u062a \u0627\u0644\u0633\u062c\u0644\u0627\u062a",
"icon": "clock",
"groups": [
{
- "group": "سجل التغييرات",
+ "group": "\u0633\u062c\u0644 \u0627\u0644\u062a\u063a\u064a\u064a\u0631\u0627\u062a",
"pages": [
"ar/changelog"
]
@@ -11756,11 +11781,11 @@
"version": "v1.12.2",
"tabs": [
{
- "tab": "الرئيسية",
+ "tab": "\u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629",
"icon": "house",
"groups": [
{
- "group": "مرحباً",
+ "group": "\u0645\u0631\u062d\u0628\u0627\u064b",
"pages": [
"ar/index"
]
@@ -11768,11 +11793,11 @@
]
},
{
- "tab": "التقنية التوثيق",
+ "tab": "\u0627\u0644\u062a\u0642\u0646\u064a\u0629 \u0627\u0644\u062a\u0648\u062b\u064a\u0642",
"icon": "book-open",
"groups": [
{
- "group": "البدء",
+ "group": "\u0627\u0644\u0628\u062f\u0621",
"pages": [
"ar/introduction",
"ar/installation",
@@ -11780,31 +11805,31 @@
]
},
{
- "group": "الأدلّة",
+ "group": "\u0627\u0644\u0623\u062f\u0644\u0651\u0629",
"pages": [
{
- "group": "الاستراتيجية",
+ "group": "\u0627\u0644\u0627\u0633\u062a\u0631\u0627\u062a\u064a\u062c\u064a\u0629",
"icon": "compass",
"pages": [
"ar/guides/concepts/evaluating-use-cases"
]
},
{
- "group": "الوكلاء",
+ "group": "\u0627\u0644\u0648\u0643\u0644\u0627\u0621",
"icon": "user",
"pages": [
"ar/guides/agents/crafting-effective-agents"
]
},
{
- "group": "الطواقم",
+ "group": "\u0627\u0644\u0637\u0648\u0627\u0642\u0645",
"icon": "users",
"pages": [
"ar/guides/crews/first-crew"
]
},
{
- "group": "التدفقات",
+ "group": "\u0627\u0644\u062a\u062f\u0641\u0642\u0627\u062a",
"icon": "code-branch",
"pages": [
"ar/guides/flows/first-flow",
@@ -11812,21 +11837,21 @@
]
},
{
- "group": "الأدوات",
+ "group": "\u0627\u0644\u0623\u062f\u0648\u0627\u062a",
"icon": "wrench",
"pages": [
"ar/guides/tools/publish-custom-tools"
]
},
{
- "group": "أدوات البرمجة",
+ "group": "\u0623\u062f\u0648\u0627\u062a \u0627\u0644\u0628\u0631\u0645\u062c\u0629",
"icon": "terminal",
"pages": [
"ar/guides/coding-tools/agents-md"
]
},
{
- "group": "متقدّم",
+ "group": "\u0645\u062a\u0642\u062f\u0651\u0645",
"icon": "gear",
"pages": [
"ar/guides/advanced/customizing-prompts",
@@ -11834,7 +11859,7 @@
]
},
{
- "group": "الترحيل",
+ "group": "\u0627\u0644\u062a\u0631\u062d\u064a\u0644",
"icon": "shuffle",
"pages": [
"ar/guides/migration/migrating-from-langgraph"
@@ -11843,7 +11868,7 @@
]
},
{
- "group": "المفاهيم الأساسية",
+ "group": "\u0627\u0644\u0645\u0641\u0627\u0647\u064a\u0645 \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629",
"pages": [
"ar/concepts/agents",
"ar/concepts/agent-capabilities",
@@ -11864,11 +11889,12 @@
"ar/concepts/testing",
"ar/concepts/cli",
"ar/concepts/tools",
- "ar/concepts/event-listener"
+ "ar/concepts/event-listener",
+ "ar/concepts/checkpointing"
]
},
{
- "group": "تكامل MCP",
+ "group": "\u062a\u0643\u0627\u0645\u0644 MCP",
"pages": [
"ar/mcp/overview",
"ar/mcp/dsl-integration",
@@ -11880,11 +11906,11 @@
]
},
{
- "group": "الأدوات",
+ "group": "\u0627\u0644\u0623\u062f\u0648\u0627\u062a",
"pages": [
"ar/tools/overview",
{
- "group": "الملفات والمستندات",
+ "group": "\u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0648\u0627\u0644\u0645\u0633\u062a\u0646\u062f\u0627\u062a",
"icon": "folder-open",
"pages": [
"ar/tools/file-document/overview",
@@ -11904,7 +11930,7 @@
]
},
{
- "group": "استخراج بيانات الويب",
+ "group": "\u0627\u0633\u062a\u062e\u0631\u0627\u062c \u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0648\u064a\u0628",
"icon": "globe",
"pages": [
"ar/tools/web-scraping/overview",
@@ -11924,7 +11950,7 @@
]
},
{
- "group": "البحث والاستكشاف",
+ "group": "\u0627\u0644\u0628\u062d\u062b \u0648\u0627\u0644\u0627\u0633\u062a\u0643\u0634\u0627\u0641",
"icon": "magnifying-glass",
"pages": [
"ar/tools/search-research/overview",
@@ -11946,7 +11972,7 @@
]
},
{
- "group": "قواعد البيانات",
+ "group": "\u0642\u0648\u0627\u0639\u062f \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a",
"icon": "database",
"pages": [
"ar/tools/database-data/overview",
@@ -11961,7 +11987,7 @@
]
},
{
- "group": "الذكاء الاصطناعي والتعلّم الآلي",
+ "group": "\u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a \u0648\u0627\u0644\u062a\u0639\u0644\u0651\u0645 \u0627\u0644\u0622\u0644\u064a",
"icon": "brain",
"pages": [
"ar/tools/ai-ml/overview",
@@ -11975,7 +12001,7 @@
]
},
{
- "group": "التخزين السحابي",
+ "group": "\u0627\u0644\u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u0633\u062d\u0627\u0628\u064a",
"icon": "cloud",
"pages": [
"ar/tools/cloud-storage/overview",
@@ -11994,7 +12020,7 @@
]
},
{
- "group": "الأتمتة",
+ "group": "\u0627\u0644\u0623\u062a\u0645\u062a\u0629",
"icon": "bolt",
"pages": [
"ar/tools/automation/overview",
@@ -12029,7 +12055,7 @@
]
},
{
- "group": "التعلّم",
+ "group": "\u0627\u0644\u062a\u0639\u0644\u0651\u0645",
"pages": [
"ar/learn/overview",
"ar/learn/llm-selection-guide",
@@ -12066,17 +12092,17 @@
]
},
{
- "tab": "المؤسسات",
+ "tab": "\u0627\u0644\u0645\u0624\u0633\u0633\u0627\u062a",
"icon": "briefcase",
"groups": [
{
- "group": "البدء",
+ "group": "\u0627\u0644\u0628\u062f\u0621",
"pages": [
"ar/enterprise/introduction"
]
},
{
- "group": "البناء",
+ "group": "\u0627\u0644\u0628\u0646\u0627\u0621",
"pages": [
"ar/enterprise/features/automations",
"ar/enterprise/features/crew-studio",
@@ -12087,7 +12113,7 @@
]
},
{
- "group": "العمليات",
+ "group": "\u0627\u0644\u0639\u0645\u0644\u064a\u0627\u062a",
"pages": [
"ar/enterprise/features/traces",
"ar/enterprise/features/webhook-streaming",
@@ -12096,13 +12122,13 @@
]
},
{
- "group": "الإدارة",
+ "group": "\u0627\u0644\u0625\u062f\u0627\u0631\u0629",
"pages": [
"ar/enterprise/features/rbac"
]
},
{
- "group": "التكاملات",
+ "group": "\u0627\u0644\u062a\u0643\u0627\u0645\u0644\u0627\u062a",
"pages": [
"ar/enterprise/integrations/asana",
"ar/enterprise/integrations/box",
@@ -12154,7 +12180,7 @@
]
},
{
- "group": "المشغّلات",
+ "group": "\u0627\u0644\u0645\u0634\u063a\u0651\u0644\u0627\u062a",
"pages": [
"ar/enterprise/guides/automation-triggers",
"ar/enterprise/guides/gmail-trigger",
@@ -12170,7 +12196,7 @@
]
},
{
- "group": "موارد التعلّم",
+ "group": "\u0645\u0648\u0627\u0631\u062f \u0627\u0644\u062a\u0639\u0644\u0651\u0645",
"pages": [
"ar/enterprise/resources/frequently-asked-questions"
]
@@ -12178,11 +12204,11 @@
]
},
{
- "tab": "API المرجع",
+ "tab": "API \u0627\u0644\u0645\u0631\u062c\u0639",
"icon": "magnifying-glass",
"groups": [
{
- "group": "البدء",
+ "group": "\u0627\u0644\u0628\u062f\u0621",
"pages": [
"ar/api-reference/introduction",
"ar/api-reference/inputs",
@@ -12194,11 +12220,11 @@
]
},
{
- "tab": "أمثلة",
+ "tab": "\u0623\u0645\u062b\u0644\u0629",
"icon": "code",
"groups": [
{
- "group": "أمثلة",
+ "group": "\u0623\u0645\u062b\u0644\u0629",
"pages": [
"ar/examples/example",
"ar/examples/cookbooks"
@@ -12207,11 +12233,11 @@
]
},
{
- "tab": "التغييرات السجلات",
+ "tab": "\u0627\u0644\u062a\u063a\u064a\u064a\u0631\u0627\u062a \u0627\u0644\u0633\u062c\u0644\u0627\u062a",
"icon": "clock",
"groups": [
{
- "group": "سجل التغييرات",
+ "group": "\u0633\u062c\u0644 \u0627\u0644\u062a\u063a\u064a\u064a\u0631\u0627\u062a",
"pages": [
"ar/changelog"
]
@@ -12224,11 +12250,11 @@
"version": "v1.12.1",
"tabs": [
{
- "tab": "الرئيسية",
+ "tab": "\u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629",
"icon": "house",
"groups": [
{
- "group": "مرحباً",
+ "group": "\u0645\u0631\u062d\u0628\u0627\u064b",
"pages": [
"ar/index"
]
@@ -12236,11 +12262,11 @@
]
},
{
- "tab": "التقنية التوثيق",
+ "tab": "\u0627\u0644\u062a\u0642\u0646\u064a\u0629 \u0627\u0644\u062a\u0648\u062b\u064a\u0642",
"icon": "book-open",
"groups": [
{
- "group": "البدء",
+ "group": "\u0627\u0644\u0628\u062f\u0621",
"pages": [
"ar/introduction",
"ar/installation",
@@ -12248,31 +12274,31 @@
]
},
{
- "group": "الأدلّة",
+ "group": "\u0627\u0644\u0623\u062f\u0644\u0651\u0629",
"pages": [
{
- "group": "الاستراتيجية",
+ "group": "\u0627\u0644\u0627\u0633\u062a\u0631\u0627\u062a\u064a\u062c\u064a\u0629",
"icon": "compass",
"pages": [
"ar/guides/concepts/evaluating-use-cases"
]
},
{
- "group": "الوكلاء",
+ "group": "\u0627\u0644\u0648\u0643\u0644\u0627\u0621",
"icon": "user",
"pages": [
"ar/guides/agents/crafting-effective-agents"
]
},
{
- "group": "الطواقم",
+ "group": "\u0627\u0644\u0637\u0648\u0627\u0642\u0645",
"icon": "users",
"pages": [
"ar/guides/crews/first-crew"
]
},
{
- "group": "التدفقات",
+ "group": "\u0627\u0644\u062a\u062f\u0641\u0642\u0627\u062a",
"icon": "code-branch",
"pages": [
"ar/guides/flows/first-flow",
@@ -12280,21 +12306,21 @@
]
},
{
- "group": "الأدوات",
+ "group": "\u0627\u0644\u0623\u062f\u0648\u0627\u062a",
"icon": "wrench",
"pages": [
"ar/guides/tools/publish-custom-tools"
]
},
{
- "group": "أدوات البرمجة",
+ "group": "\u0623\u062f\u0648\u0627\u062a \u0627\u0644\u0628\u0631\u0645\u062c\u0629",
"icon": "terminal",
"pages": [
"ar/guides/coding-tools/agents-md"
]
},
{
- "group": "متقدّم",
+ "group": "\u0645\u062a\u0642\u062f\u0651\u0645",
"icon": "gear",
"pages": [
"ar/guides/advanced/customizing-prompts",
@@ -12302,7 +12328,7 @@
]
},
{
- "group": "الترحيل",
+ "group": "\u0627\u0644\u062a\u0631\u062d\u064a\u0644",
"icon": "shuffle",
"pages": [
"ar/guides/migration/migrating-from-langgraph"
@@ -12311,7 +12337,7 @@
]
},
{
- "group": "المفاهيم الأساسية",
+ "group": "\u0627\u0644\u0645\u0641\u0627\u0647\u064a\u0645 \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629",
"pages": [
"ar/concepts/agents",
"ar/concepts/tasks",
@@ -12331,11 +12357,12 @@
"ar/concepts/testing",
"ar/concepts/cli",
"ar/concepts/tools",
- "ar/concepts/event-listener"
+ "ar/concepts/event-listener",
+ "ar/concepts/checkpointing"
]
},
{
- "group": "تكامل MCP",
+ "group": "\u062a\u0643\u0627\u0645\u0644 MCP",
"pages": [
"ar/mcp/overview",
"ar/mcp/dsl-integration",
@@ -12347,11 +12374,11 @@
]
},
{
- "group": "الأدوات",
+ "group": "\u0627\u0644\u0623\u062f\u0648\u0627\u062a",
"pages": [
"ar/tools/overview",
{
- "group": "الملفات والمستندات",
+ "group": "\u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0648\u0627\u0644\u0645\u0633\u062a\u0646\u062f\u0627\u062a",
"icon": "folder-open",
"pages": [
"ar/tools/file-document/overview",
@@ -12371,7 +12398,7 @@
]
},
{
- "group": "استخراج بيانات الويب",
+ "group": "\u0627\u0633\u062a\u062e\u0631\u0627\u062c \u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0648\u064a\u0628",
"icon": "globe",
"pages": [
"ar/tools/web-scraping/overview",
@@ -12391,7 +12418,7 @@
]
},
{
- "group": "البحث والاستكشاف",
+ "group": "\u0627\u0644\u0628\u062d\u062b \u0648\u0627\u0644\u0627\u0633\u062a\u0643\u0634\u0627\u0641",
"icon": "magnifying-glass",
"pages": [
"ar/tools/search-research/overview",
@@ -12413,7 +12440,7 @@
]
},
{
- "group": "قواعد البيانات",
+ "group": "\u0642\u0648\u0627\u0639\u062f \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a",
"icon": "database",
"pages": [
"ar/tools/database-data/overview",
@@ -12428,7 +12455,7 @@
]
},
{
- "group": "الذكاء الاصطناعي والتعلّم الآلي",
+ "group": "\u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a \u0648\u0627\u0644\u062a\u0639\u0644\u0651\u0645 \u0627\u0644\u0622\u0644\u064a",
"icon": "brain",
"pages": [
"ar/tools/ai-ml/overview",
@@ -12442,7 +12469,7 @@
]
},
{
- "group": "التخزين السحابي",
+ "group": "\u0627\u0644\u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u0633\u062d\u0627\u0628\u064a",
"icon": "cloud",
"pages": [
"ar/tools/cloud-storage/overview",
@@ -12461,7 +12488,7 @@
]
},
{
- "group": "الأتمتة",
+ "group": "\u0627\u0644\u0623\u062a\u0645\u062a\u0629",
"icon": "bolt",
"pages": [
"ar/tools/automation/overview",
@@ -12496,7 +12523,7 @@
]
},
{
- "group": "التعلّم",
+ "group": "\u0627\u0644\u062a\u0639\u0644\u0651\u0645",
"pages": [
"ar/learn/overview",
"ar/learn/llm-selection-guide",
@@ -12533,17 +12560,17 @@
]
},
{
- "tab": "المؤسسات",
+ "tab": "\u0627\u0644\u0645\u0624\u0633\u0633\u0627\u062a",
"icon": "briefcase",
"groups": [
{
- "group": "البدء",
+ "group": "\u0627\u0644\u0628\u062f\u0621",
"pages": [
"ar/enterprise/introduction"
]
},
{
- "group": "البناء",
+ "group": "\u0627\u0644\u0628\u0646\u0627\u0621",
"pages": [
"ar/enterprise/features/automations",
"ar/enterprise/features/crew-studio",
@@ -12554,7 +12581,7 @@
]
},
{
- "group": "العمليات",
+ "group": "\u0627\u0644\u0639\u0645\u0644\u064a\u0627\u062a",
"pages": [
"ar/enterprise/features/traces",
"ar/enterprise/features/webhook-streaming",
@@ -12563,13 +12590,13 @@
]
},
{
- "group": "الإدارة",
+ "group": "\u0627\u0644\u0625\u062f\u0627\u0631\u0629",
"pages": [
"ar/enterprise/features/rbac"
]
},
{
- "group": "التكاملات",
+ "group": "\u0627\u0644\u062a\u0643\u0627\u0645\u0644\u0627\u062a",
"pages": [
"ar/enterprise/integrations/asana",
"ar/enterprise/integrations/box",
@@ -12621,7 +12648,7 @@
]
},
{
- "group": "المشغّلات",
+ "group": "\u0627\u0644\u0645\u0634\u063a\u0651\u0644\u0627\u062a",
"pages": [
"ar/enterprise/guides/automation-triggers",
"ar/enterprise/guides/gmail-trigger",
@@ -12637,7 +12664,7 @@
]
},
{
- "group": "موارد التعلّم",
+ "group": "\u0645\u0648\u0627\u0631\u062f \u0627\u0644\u062a\u0639\u0644\u0651\u0645",
"pages": [
"ar/enterprise/resources/frequently-asked-questions"
]
@@ -12645,11 +12672,11 @@
]
},
{
- "tab": "API المرجع",
+ "tab": "API \u0627\u0644\u0645\u0631\u062c\u0639",
"icon": "magnifying-glass",
"groups": [
{
- "group": "البدء",
+ "group": "\u0627\u0644\u0628\u062f\u0621",
"pages": [
"ar/api-reference/introduction",
"ar/api-reference/inputs",
@@ -12661,11 +12688,11 @@
]
},
{
- "tab": "أمثلة",
+ "tab": "\u0623\u0645\u062b\u0644\u0629",
"icon": "code",
"groups": [
{
- "group": "أمثلة",
+ "group": "\u0623\u0645\u062b\u0644\u0629",
"pages": [
"ar/examples/example",
"ar/examples/cookbooks"
@@ -12674,11 +12701,11 @@
]
},
{
- "tab": "التغييرات السجلات",
+ "tab": "\u0627\u0644\u062a\u063a\u064a\u064a\u0631\u0627\u062a \u0627\u0644\u0633\u062c\u0644\u0627\u062a",
"icon": "clock",
"groups": [
{
- "group": "سجل التغييرات",
+ "group": "\u0633\u062c\u0644 \u0627\u0644\u062a\u063a\u064a\u064a\u0631\u0627\u062a",
"pages": [
"ar/changelog"
]
@@ -12691,11 +12718,11 @@
"version": "v1.12.0",
"tabs": [
{
- "tab": "الرئيسية",
+ "tab": "\u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629",
"icon": "house",
"groups": [
{
- "group": "مرحباً",
+ "group": "\u0645\u0631\u062d\u0628\u0627\u064b",
"pages": [
"ar/index"
]
@@ -12703,11 +12730,11 @@
]
},
{
- "tab": "التقنية التوثيق",
+ "tab": "\u0627\u0644\u062a\u0642\u0646\u064a\u0629 \u0627\u0644\u062a\u0648\u062b\u064a\u0642",
"icon": "book-open",
"groups": [
{
- "group": "البدء",
+ "group": "\u0627\u0644\u0628\u062f\u0621",
"pages": [
"ar/introduction",
"ar/installation",
@@ -12715,31 +12742,31 @@
]
},
{
- "group": "الأدلّة",
+ "group": "\u0627\u0644\u0623\u062f\u0644\u0651\u0629",
"pages": [
{
- "group": "الاستراتيجية",
+ "group": "\u0627\u0644\u0627\u0633\u062a\u0631\u0627\u062a\u064a\u062c\u064a\u0629",
"icon": "compass",
"pages": [
"ar/guides/concepts/evaluating-use-cases"
]
},
{
- "group": "الوكلاء",
+ "group": "\u0627\u0644\u0648\u0643\u0644\u0627\u0621",
"icon": "user",
"pages": [
"ar/guides/agents/crafting-effective-agents"
]
},
{
- "group": "الطواقم",
+ "group": "\u0627\u0644\u0637\u0648\u0627\u0642\u0645",
"icon": "users",
"pages": [
"ar/guides/crews/first-crew"
]
},
{
- "group": "التدفقات",
+ "group": "\u0627\u0644\u062a\u062f\u0641\u0642\u0627\u062a",
"icon": "code-branch",
"pages": [
"ar/guides/flows/first-flow",
@@ -12747,21 +12774,21 @@
]
},
{
- "group": "الأدوات",
+ "group": "\u0627\u0644\u0623\u062f\u0648\u0627\u062a",
"icon": "wrench",
"pages": [
"ar/guides/tools/publish-custom-tools"
]
},
{
- "group": "أدوات البرمجة",
+ "group": "\u0623\u062f\u0648\u0627\u062a \u0627\u0644\u0628\u0631\u0645\u062c\u0629",
"icon": "terminal",
"pages": [
"ar/guides/coding-tools/agents-md"
]
},
{
- "group": "متقدّم",
+ "group": "\u0645\u062a\u0642\u062f\u0651\u0645",
"icon": "gear",
"pages": [
"ar/guides/advanced/customizing-prompts",
@@ -12769,7 +12796,7 @@
]
},
{
- "group": "الترحيل",
+ "group": "\u0627\u0644\u062a\u0631\u062d\u064a\u0644",
"icon": "shuffle",
"pages": [
"ar/guides/migration/migrating-from-langgraph"
@@ -12778,7 +12805,7 @@
]
},
{
- "group": "المفاهيم الأساسية",
+ "group": "\u0627\u0644\u0645\u0641\u0627\u0647\u064a\u0645 \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629",
"pages": [
"ar/concepts/agents",
"ar/concepts/tasks",
@@ -12798,11 +12825,12 @@
"ar/concepts/testing",
"ar/concepts/cli",
"ar/concepts/tools",
- "ar/concepts/event-listener"
+ "ar/concepts/event-listener",
+ "ar/concepts/checkpointing"
]
},
{
- "group": "تكامل MCP",
+ "group": "\u062a\u0643\u0627\u0645\u0644 MCP",
"pages": [
"ar/mcp/overview",
"ar/mcp/dsl-integration",
@@ -12814,11 +12842,11 @@
]
},
{
- "group": "الأدوات",
+ "group": "\u0627\u0644\u0623\u062f\u0648\u0627\u062a",
"pages": [
"ar/tools/overview",
{
- "group": "الملفات والمستندات",
+ "group": "\u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0648\u0627\u0644\u0645\u0633\u062a\u0646\u062f\u0627\u062a",
"icon": "folder-open",
"pages": [
"ar/tools/file-document/overview",
@@ -12838,7 +12866,7 @@
]
},
{
- "group": "استخراج بيانات الويب",
+ "group": "\u0627\u0633\u062a\u062e\u0631\u0627\u062c \u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0648\u064a\u0628",
"icon": "globe",
"pages": [
"ar/tools/web-scraping/overview",
@@ -12858,7 +12886,7 @@
]
},
{
- "group": "البحث والاستكشاف",
+ "group": "\u0627\u0644\u0628\u062d\u062b \u0648\u0627\u0644\u0627\u0633\u062a\u0643\u0634\u0627\u0641",
"icon": "magnifying-glass",
"pages": [
"ar/tools/search-research/overview",
@@ -12880,7 +12908,7 @@
]
},
{
- "group": "قواعد البيانات",
+ "group": "\u0642\u0648\u0627\u0639\u062f \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a",
"icon": "database",
"pages": [
"ar/tools/database-data/overview",
@@ -12895,7 +12923,7 @@
]
},
{
- "group": "الذكاء الاصطناعي والتعلّم الآلي",
+ "group": "\u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a \u0648\u0627\u0644\u062a\u0639\u0644\u0651\u0645 \u0627\u0644\u0622\u0644\u064a",
"icon": "brain",
"pages": [
"ar/tools/ai-ml/overview",
@@ -12909,7 +12937,7 @@
]
},
{
- "group": "التخزين السحابي",
+ "group": "\u0627\u0644\u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u0633\u062d\u0627\u0628\u064a",
"icon": "cloud",
"pages": [
"ar/tools/cloud-storage/overview",
@@ -12928,7 +12956,7 @@
]
},
{
- "group": "الأتمتة",
+ "group": "\u0627\u0644\u0623\u062a\u0645\u062a\u0629",
"icon": "bolt",
"pages": [
"ar/tools/automation/overview",
@@ -12963,7 +12991,7 @@
]
},
{
- "group": "التعلّم",
+ "group": "\u0627\u0644\u062a\u0639\u0644\u0651\u0645",
"pages": [
"ar/learn/overview",
"ar/learn/llm-selection-guide",
@@ -13000,17 +13028,17 @@
]
},
{
- "tab": "المؤسسات",
+ "tab": "\u0627\u0644\u0645\u0624\u0633\u0633\u0627\u062a",
"icon": "briefcase",
"groups": [
{
- "group": "البدء",
+ "group": "\u0627\u0644\u0628\u062f\u0621",
"pages": [
"ar/enterprise/introduction"
]
},
{
- "group": "البناء",
+ "group": "\u0627\u0644\u0628\u0646\u0627\u0621",
"pages": [
"ar/enterprise/features/automations",
"ar/enterprise/features/crew-studio",
@@ -13021,7 +13049,7 @@
]
},
{
- "group": "العمليات",
+ "group": "\u0627\u0644\u0639\u0645\u0644\u064a\u0627\u062a",
"pages": [
"ar/enterprise/features/traces",
"ar/enterprise/features/webhook-streaming",
@@ -13030,13 +13058,13 @@
]
},
{
- "group": "الإدارة",
+ "group": "\u0627\u0644\u0625\u062f\u0627\u0631\u0629",
"pages": [
"ar/enterprise/features/rbac"
]
},
{
- "group": "التكاملات",
+ "group": "\u0627\u0644\u062a\u0643\u0627\u0645\u0644\u0627\u062a",
"pages": [
"ar/enterprise/integrations/asana",
"ar/enterprise/integrations/box",
@@ -13088,7 +13116,7 @@
]
},
{
- "group": "المشغّلات",
+ "group": "\u0627\u0644\u0645\u0634\u063a\u0651\u0644\u0627\u062a",
"pages": [
"ar/enterprise/guides/automation-triggers",
"ar/enterprise/guides/gmail-trigger",
@@ -13104,7 +13132,7 @@
]
},
{
- "group": "موارد التعلّم",
+ "group": "\u0645\u0648\u0627\u0631\u062f \u0627\u0644\u062a\u0639\u0644\u0651\u0645",
"pages": [
"ar/enterprise/resources/frequently-asked-questions"
]
@@ -13112,11 +13140,11 @@
]
},
{
- "tab": "API المرجع",
+ "tab": "API \u0627\u0644\u0645\u0631\u062c\u0639",
"icon": "magnifying-glass",
"groups": [
{
- "group": "البدء",
+ "group": "\u0627\u0644\u0628\u062f\u0621",
"pages": [
"ar/api-reference/introduction",
"ar/api-reference/inputs",
@@ -13128,11 +13156,11 @@
]
},
{
- "tab": "أمثلة",
+ "tab": "\u0623\u0645\u062b\u0644\u0629",
"icon": "code",
"groups": [
{
- "group": "أمثلة",
+ "group": "\u0623\u0645\u062b\u0644\u0629",
"pages": [
"ar/examples/example",
"ar/examples/cookbooks"
@@ -13141,11 +13169,11 @@
]
},
{
- "tab": "التغييرات السجلات",
+ "tab": "\u0627\u0644\u062a\u063a\u064a\u064a\u0631\u0627\u062a \u0627\u0644\u0633\u062c\u0644\u0627\u062a",
"icon": "clock",
"groups": [
{
- "group": "سجل التغييرات",
+ "group": "\u0633\u062c\u0644 \u0627\u0644\u062a\u063a\u064a\u064a\u0631\u0627\u062a",
"pages": [
"ar/changelog"
]
@@ -13158,11 +13186,11 @@
"version": "v1.11.1",
"tabs": [
{
- "tab": "الرئيسية",
+ "tab": "\u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629",
"icon": "house",
"groups": [
{
- "group": "مرحباً",
+ "group": "\u0645\u0631\u062d\u0628\u0627\u064b",
"pages": [
"ar/index"
]
@@ -13170,11 +13198,11 @@
]
},
{
- "tab": "التقنية التوثيق",
+ "tab": "\u0627\u0644\u062a\u0642\u0646\u064a\u0629 \u0627\u0644\u062a\u0648\u062b\u064a\u0642",
"icon": "book-open",
"groups": [
{
- "group": "البدء",
+ "group": "\u0627\u0644\u0628\u062f\u0621",
"pages": [
"ar/introduction",
"ar/installation",
@@ -13182,31 +13210,31 @@
]
},
{
- "group": "الأدلّة",
+ "group": "\u0627\u0644\u0623\u062f\u0644\u0651\u0629",
"pages": [
{
- "group": "الاستراتيجية",
+ "group": "\u0627\u0644\u0627\u0633\u062a\u0631\u0627\u062a\u064a\u062c\u064a\u0629",
"icon": "compass",
"pages": [
"ar/guides/concepts/evaluating-use-cases"
]
},
{
- "group": "الوكلاء",
+ "group": "\u0627\u0644\u0648\u0643\u0644\u0627\u0621",
"icon": "user",
"pages": [
"ar/guides/agents/crafting-effective-agents"
]
},
{
- "group": "الطواقم",
+ "group": "\u0627\u0644\u0637\u0648\u0627\u0642\u0645",
"icon": "users",
"pages": [
"ar/guides/crews/first-crew"
]
},
{
- "group": "التدفقات",
+ "group": "\u0627\u0644\u062a\u062f\u0641\u0642\u0627\u062a",
"icon": "code-branch",
"pages": [
"ar/guides/flows/first-flow",
@@ -13214,21 +13242,21 @@
]
},
{
- "group": "الأدوات",
+ "group": "\u0627\u0644\u0623\u062f\u0648\u0627\u062a",
"icon": "wrench",
"pages": [
"ar/guides/tools/publish-custom-tools"
]
},
{
- "group": "أدوات البرمجة",
+ "group": "\u0623\u062f\u0648\u0627\u062a \u0627\u0644\u0628\u0631\u0645\u062c\u0629",
"icon": "terminal",
"pages": [
"ar/guides/coding-tools/agents-md"
]
},
{
- "group": "متقدّم",
+ "group": "\u0645\u062a\u0642\u062f\u0651\u0645",
"icon": "gear",
"pages": [
"ar/guides/advanced/customizing-prompts",
@@ -13236,7 +13264,7 @@
]
},
{
- "group": "الترحيل",
+ "group": "\u0627\u0644\u062a\u0631\u062d\u064a\u0644",
"icon": "shuffle",
"pages": [
"ar/guides/migration/migrating-from-langgraph"
@@ -13245,7 +13273,7 @@
]
},
{
- "group": "المفاهيم الأساسية",
+ "group": "\u0627\u0644\u0645\u0641\u0627\u0647\u064a\u0645 \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629",
"pages": [
"ar/concepts/agents",
"ar/concepts/tasks",
@@ -13265,11 +13293,12 @@
"ar/concepts/testing",
"ar/concepts/cli",
"ar/concepts/tools",
- "ar/concepts/event-listener"
+ "ar/concepts/event-listener",
+ "ar/concepts/checkpointing"
]
},
{
- "group": "تكامل MCP",
+ "group": "\u062a\u0643\u0627\u0645\u0644 MCP",
"pages": [
"ar/mcp/overview",
"ar/mcp/dsl-integration",
@@ -13281,11 +13310,11 @@
]
},
{
- "group": "الأدوات",
+ "group": "\u0627\u0644\u0623\u062f\u0648\u0627\u062a",
"pages": [
"ar/tools/overview",
{
- "group": "الملفات والمستندات",
+ "group": "\u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0648\u0627\u0644\u0645\u0633\u062a\u0646\u062f\u0627\u062a",
"icon": "folder-open",
"pages": [
"ar/tools/file-document/overview",
@@ -13305,7 +13334,7 @@
]
},
{
- "group": "استخراج بيانات الويب",
+ "group": "\u0627\u0633\u062a\u062e\u0631\u0627\u062c \u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0648\u064a\u0628",
"icon": "globe",
"pages": [
"ar/tools/web-scraping/overview",
@@ -13325,7 +13354,7 @@
]
},
{
- "group": "البحث والاستكشاف",
+ "group": "\u0627\u0644\u0628\u062d\u062b \u0648\u0627\u0644\u0627\u0633\u062a\u0643\u0634\u0627\u0641",
"icon": "magnifying-glass",
"pages": [
"ar/tools/search-research/overview",
@@ -13347,7 +13376,7 @@
]
},
{
- "group": "قواعد البيانات",
+ "group": "\u0642\u0648\u0627\u0639\u062f \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a",
"icon": "database",
"pages": [
"ar/tools/database-data/overview",
@@ -13362,7 +13391,7 @@
]
},
{
- "group": "الذكاء الاصطناعي والتعلّم الآلي",
+ "group": "\u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a \u0648\u0627\u0644\u062a\u0639\u0644\u0651\u0645 \u0627\u0644\u0622\u0644\u064a",
"icon": "brain",
"pages": [
"ar/tools/ai-ml/overview",
@@ -13376,7 +13405,7 @@
]
},
{
- "group": "التخزين السحابي",
+ "group": "\u0627\u0644\u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u0633\u062d\u0627\u0628\u064a",
"icon": "cloud",
"pages": [
"ar/tools/cloud-storage/overview",
@@ -13395,7 +13424,7 @@
]
},
{
- "group": "الأتمتة",
+ "group": "\u0627\u0644\u0623\u062a\u0645\u062a\u0629",
"icon": "bolt",
"pages": [
"ar/tools/automation/overview",
@@ -13430,7 +13459,7 @@
]
},
{
- "group": "التعلّم",
+ "group": "\u0627\u0644\u062a\u0639\u0644\u0651\u0645",
"pages": [
"ar/learn/overview",
"ar/learn/llm-selection-guide",
@@ -13467,17 +13496,17 @@
]
},
{
- "tab": "المؤسسات",
+ "tab": "\u0627\u0644\u0645\u0624\u0633\u0633\u0627\u062a",
"icon": "briefcase",
"groups": [
{
- "group": "البدء",
+ "group": "\u0627\u0644\u0628\u062f\u0621",
"pages": [
"ar/enterprise/introduction"
]
},
{
- "group": "البناء",
+ "group": "\u0627\u0644\u0628\u0646\u0627\u0621",
"pages": [
"ar/enterprise/features/automations",
"ar/enterprise/features/crew-studio",
@@ -13488,7 +13517,7 @@
]
},
{
- "group": "العمليات",
+ "group": "\u0627\u0644\u0639\u0645\u0644\u064a\u0627\u062a",
"pages": [
"ar/enterprise/features/traces",
"ar/enterprise/features/webhook-streaming",
@@ -13497,13 +13526,13 @@
]
},
{
- "group": "الإدارة",
+ "group": "\u0627\u0644\u0625\u062f\u0627\u0631\u0629",
"pages": [
"ar/enterprise/features/rbac"
]
},
{
- "group": "التكاملات",
+ "group": "\u0627\u0644\u062a\u0643\u0627\u0645\u0644\u0627\u062a",
"pages": [
"ar/enterprise/integrations/asana",
"ar/enterprise/integrations/box",
@@ -13555,7 +13584,7 @@
]
},
{
- "group": "المشغّلات",
+ "group": "\u0627\u0644\u0645\u0634\u063a\u0651\u0644\u0627\u062a",
"pages": [
"ar/enterprise/guides/automation-triggers",
"ar/enterprise/guides/gmail-trigger",
@@ -13571,7 +13600,7 @@
]
},
{
- "group": "موارد التعلّم",
+ "group": "\u0645\u0648\u0627\u0631\u062f \u0627\u0644\u062a\u0639\u0644\u0651\u0645",
"pages": [
"ar/enterprise/resources/frequently-asked-questions"
]
@@ -13579,11 +13608,11 @@
]
},
{
- "tab": "API المرجع",
+ "tab": "API \u0627\u0644\u0645\u0631\u062c\u0639",
"icon": "magnifying-glass",
"groups": [
{
- "group": "البدء",
+ "group": "\u0627\u0644\u0628\u062f\u0621",
"pages": [
"ar/api-reference/introduction",
"ar/api-reference/inputs",
@@ -13595,11 +13624,11 @@
]
},
{
- "tab": "أمثلة",
+ "tab": "\u0623\u0645\u062b\u0644\u0629",
"icon": "code",
"groups": [
{
- "group": "أمثلة",
+ "group": "\u0623\u0645\u062b\u0644\u0629",
"pages": [
"ar/examples/example",
"ar/examples/cookbooks"
@@ -13608,11 +13637,11 @@
]
},
{
- "tab": "التغييرات السجلات",
+ "tab": "\u0627\u0644\u062a\u063a\u064a\u064a\u0631\u0627\u062a \u0627\u0644\u0633\u062c\u0644\u0627\u062a",
"icon": "clock",
"groups": [
{
- "group": "سجل التغييرات",
+ "group": "\u0633\u062c\u0644 \u0627\u0644\u062a\u063a\u064a\u064a\u0631\u0627\u062a",
"pages": [
"ar/changelog"
]
@@ -13625,11 +13654,11 @@
"version": "v1.11.0",
"tabs": [
{
- "tab": "الرئيسية",
+ "tab": "\u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629",
"icon": "house",
"groups": [
{
- "group": "مرحباً",
+ "group": "\u0645\u0631\u062d\u0628\u0627\u064b",
"pages": [
"ar/index"
]
@@ -13637,11 +13666,11 @@
]
},
{
- "tab": "التقنية التوثيق",
+ "tab": "\u0627\u0644\u062a\u0642\u0646\u064a\u0629 \u0627\u0644\u062a\u0648\u062b\u064a\u0642",
"icon": "book-open",
"groups": [
{
- "group": "البدء",
+ "group": "\u0627\u0644\u0628\u062f\u0621",
"pages": [
"ar/introduction",
"ar/installation",
@@ -13649,31 +13678,31 @@
]
},
{
- "group": "الأدلّة",
+ "group": "\u0627\u0644\u0623\u062f\u0644\u0651\u0629",
"pages": [
{
- "group": "الاستراتيجية",
+ "group": "\u0627\u0644\u0627\u0633\u062a\u0631\u0627\u062a\u064a\u062c\u064a\u0629",
"icon": "compass",
"pages": [
"ar/guides/concepts/evaluating-use-cases"
]
},
{
- "group": "الوكلاء",
+ "group": "\u0627\u0644\u0648\u0643\u0644\u0627\u0621",
"icon": "user",
"pages": [
"ar/guides/agents/crafting-effective-agents"
]
},
{
- "group": "الطواقم",
+ "group": "\u0627\u0644\u0637\u0648\u0627\u0642\u0645",
"icon": "users",
"pages": [
"ar/guides/crews/first-crew"
]
},
{
- "group": "التدفقات",
+ "group": "\u0627\u0644\u062a\u062f\u0641\u0642\u0627\u062a",
"icon": "code-branch",
"pages": [
"ar/guides/flows/first-flow",
@@ -13681,21 +13710,21 @@
]
},
{
- "group": "الأدوات",
+ "group": "\u0627\u0644\u0623\u062f\u0648\u0627\u062a",
"icon": "wrench",
"pages": [
"ar/guides/tools/publish-custom-tools"
]
},
{
- "group": "أدوات البرمجة",
+ "group": "\u0623\u062f\u0648\u0627\u062a \u0627\u0644\u0628\u0631\u0645\u062c\u0629",
"icon": "terminal",
"pages": [
"ar/guides/coding-tools/agents-md"
]
},
{
- "group": "متقدّم",
+ "group": "\u0645\u062a\u0642\u062f\u0651\u0645",
"icon": "gear",
"pages": [
"ar/guides/advanced/customizing-prompts",
@@ -13703,7 +13732,7 @@
]
},
{
- "group": "الترحيل",
+ "group": "\u0627\u0644\u062a\u0631\u062d\u064a\u0644",
"icon": "shuffle",
"pages": [
"ar/guides/migration/migrating-from-langgraph"
@@ -13712,7 +13741,7 @@
]
},
{
- "group": "المفاهيم الأساسية",
+ "group": "\u0627\u0644\u0645\u0641\u0627\u0647\u064a\u0645 \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629",
"pages": [
"ar/concepts/agents",
"ar/concepts/tasks",
@@ -13731,11 +13760,12 @@
"ar/concepts/testing",
"ar/concepts/cli",
"ar/concepts/tools",
- "ar/concepts/event-listener"
+ "ar/concepts/event-listener",
+ "ar/concepts/checkpointing"
]
},
{
- "group": "تكامل MCP",
+ "group": "\u062a\u0643\u0627\u0645\u0644 MCP",
"pages": [
"ar/mcp/overview",
"ar/mcp/dsl-integration",
@@ -13747,11 +13777,11 @@
]
},
{
- "group": "الأدوات",
+ "group": "\u0627\u0644\u0623\u062f\u0648\u0627\u062a",
"pages": [
"ar/tools/overview",
{
- "group": "الملفات والمستندات",
+ "group": "\u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0648\u0627\u0644\u0645\u0633\u062a\u0646\u062f\u0627\u062a",
"icon": "folder-open",
"pages": [
"ar/tools/file-document/overview",
@@ -13771,7 +13801,7 @@
]
},
{
- "group": "استخراج بيانات الويب",
+ "group": "\u0627\u0633\u062a\u062e\u0631\u0627\u062c \u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0648\u064a\u0628",
"icon": "globe",
"pages": [
"ar/tools/web-scraping/overview",
@@ -13791,7 +13821,7 @@
]
},
{
- "group": "البحث والاستكشاف",
+ "group": "\u0627\u0644\u0628\u062d\u062b \u0648\u0627\u0644\u0627\u0633\u062a\u0643\u0634\u0627\u0641",
"icon": "magnifying-glass",
"pages": [
"ar/tools/search-research/overview",
@@ -13813,7 +13843,7 @@
]
},
{
- "group": "قواعد البيانات",
+ "group": "\u0642\u0648\u0627\u0639\u062f \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a",
"icon": "database",
"pages": [
"ar/tools/database-data/overview",
@@ -13828,7 +13858,7 @@
]
},
{
- "group": "الذكاء الاصطناعي والتعلّم الآلي",
+ "group": "\u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a \u0648\u0627\u0644\u062a\u0639\u0644\u0651\u0645 \u0627\u0644\u0622\u0644\u064a",
"icon": "brain",
"pages": [
"ar/tools/ai-ml/overview",
@@ -13842,7 +13872,7 @@
]
},
{
- "group": "التخزين السحابي",
+ "group": "\u0627\u0644\u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u0633\u062d\u0627\u0628\u064a",
"icon": "cloud",
"pages": [
"ar/tools/cloud-storage/overview",
@@ -13861,7 +13891,7 @@
]
},
{
- "group": "الأتمتة",
+ "group": "\u0627\u0644\u0623\u062a\u0645\u062a\u0629",
"icon": "bolt",
"pages": [
"ar/tools/automation/overview",
@@ -13896,7 +13926,7 @@
]
},
{
- "group": "التعلّم",
+ "group": "\u0627\u0644\u062a\u0639\u0644\u0651\u0645",
"pages": [
"ar/learn/overview",
"ar/learn/llm-selection-guide",
@@ -13933,17 +13963,17 @@
]
},
{
- "tab": "المؤسسات",
+ "tab": "\u0627\u0644\u0645\u0624\u0633\u0633\u0627\u062a",
"icon": "briefcase",
"groups": [
{
- "group": "البدء",
+ "group": "\u0627\u0644\u0628\u062f\u0621",
"pages": [
"ar/enterprise/introduction"
]
},
{
- "group": "البناء",
+ "group": "\u0627\u0644\u0628\u0646\u0627\u0621",
"pages": [
"ar/enterprise/features/automations",
"ar/enterprise/features/crew-studio",
@@ -13954,7 +13984,7 @@
]
},
{
- "group": "العمليات",
+ "group": "\u0627\u0644\u0639\u0645\u0644\u064a\u0627\u062a",
"pages": [
"ar/enterprise/features/traces",
"ar/enterprise/features/webhook-streaming",
@@ -13963,13 +13993,13 @@
]
},
{
- "group": "الإدارة",
+ "group": "\u0627\u0644\u0625\u062f\u0627\u0631\u0629",
"pages": [
"ar/enterprise/features/rbac"
]
},
{
- "group": "التكاملات",
+ "group": "\u0627\u0644\u062a\u0643\u0627\u0645\u0644\u0627\u062a",
"pages": [
"ar/enterprise/integrations/asana",
"ar/enterprise/integrations/box",
@@ -14021,7 +14051,7 @@
]
},
{
- "group": "المشغّلات",
+ "group": "\u0627\u0644\u0645\u0634\u063a\u0651\u0644\u0627\u062a",
"pages": [
"ar/enterprise/guides/automation-triggers",
"ar/enterprise/guides/gmail-trigger",
@@ -14037,7 +14067,7 @@
]
},
{
- "group": "موارد التعلّم",
+ "group": "\u0645\u0648\u0627\u0631\u062f \u0627\u0644\u062a\u0639\u0644\u0651\u0645",
"pages": [
"ar/enterprise/resources/frequently-asked-questions"
]
@@ -14045,11 +14075,11 @@
]
},
{
- "tab": "API المرجع",
+ "tab": "API \u0627\u0644\u0645\u0631\u062c\u0639",
"icon": "magnifying-glass",
"groups": [
{
- "group": "البدء",
+ "group": "\u0627\u0644\u0628\u062f\u0621",
"pages": [
"ar/api-reference/introduction",
"ar/api-reference/inputs",
@@ -14061,11 +14091,11 @@
]
},
{
- "tab": "أمثلة",
+ "tab": "\u0623\u0645\u062b\u0644\u0629",
"icon": "code",
"groups": [
{
- "group": "أمثلة",
+ "group": "\u0623\u0645\u062b\u0644\u0629",
"pages": [
"ar/examples/example",
"ar/examples/cookbooks"
@@ -14074,11 +14104,11 @@
]
},
{
- "tab": "التغييرات السجلات",
+ "tab": "\u0627\u0644\u062a\u063a\u064a\u064a\u0631\u0627\u062a \u0627\u0644\u0633\u062c\u0644\u0627\u062a",
"icon": "clock",
"groups": [
{
- "group": "سجل التغييرات",
+ "group": "\u0633\u062c\u0644 \u0627\u0644\u062a\u063a\u064a\u064a\u0631\u0627\u062a",
"pages": [
"ar/changelog"
]
@@ -14091,11 +14121,11 @@
"version": "v1.10.1",
"tabs": [
{
- "tab": "الرئيسية",
+ "tab": "\u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629",
"icon": "house",
"groups": [
{
- "group": "مرحباً",
+ "group": "\u0645\u0631\u062d\u0628\u0627\u064b",
"pages": [
"ar/index"
]
@@ -14103,11 +14133,11 @@
]
},
{
- "tab": "التقنية التوثيق",
+ "tab": "\u0627\u0644\u062a\u0642\u0646\u064a\u0629 \u0627\u0644\u062a\u0648\u062b\u064a\u0642",
"icon": "book-open",
"groups": [
{
- "group": "البدء",
+ "group": "\u0627\u0644\u0628\u062f\u0621",
"pages": [
"ar/introduction",
"ar/installation",
@@ -14115,31 +14145,31 @@
]
},
{
- "group": "الأدلّة",
+ "group": "\u0627\u0644\u0623\u062f\u0644\u0651\u0629",
"pages": [
{
- "group": "الاستراتيجية",
+ "group": "\u0627\u0644\u0627\u0633\u062a\u0631\u0627\u062a\u064a\u062c\u064a\u0629",
"icon": "compass",
"pages": [
"ar/guides/concepts/evaluating-use-cases"
]
},
{
- "group": "الوكلاء",
+ "group": "\u0627\u0644\u0648\u0643\u0644\u0627\u0621",
"icon": "user",
"pages": [
"ar/guides/agents/crafting-effective-agents"
]
},
{
- "group": "الطواقم",
+ "group": "\u0627\u0644\u0637\u0648\u0627\u0642\u0645",
"icon": "users",
"pages": [
"ar/guides/crews/first-crew"
]
},
{
- "group": "التدفقات",
+ "group": "\u0627\u0644\u062a\u062f\u0641\u0642\u0627\u062a",
"icon": "code-branch",
"pages": [
"ar/guides/flows/first-flow",
@@ -14147,21 +14177,21 @@
]
},
{
- "group": "الأدوات",
+ "group": "\u0627\u0644\u0623\u062f\u0648\u0627\u062a",
"icon": "wrench",
"pages": [
"ar/guides/tools/publish-custom-tools"
]
},
{
- "group": "أدوات البرمجة",
+ "group": "\u0623\u062f\u0648\u0627\u062a \u0627\u0644\u0628\u0631\u0645\u062c\u0629",
"icon": "terminal",
"pages": [
"ar/guides/coding-tools/agents-md"
]
},
{
- "group": "متقدّم",
+ "group": "\u0645\u062a\u0642\u062f\u0651\u0645",
"icon": "gear",
"pages": [
"ar/guides/advanced/customizing-prompts",
@@ -14169,7 +14199,7 @@
]
},
{
- "group": "الترحيل",
+ "group": "\u0627\u0644\u062a\u0631\u062d\u064a\u0644",
"icon": "shuffle",
"pages": [
"ar/guides/migration/migrating-from-langgraph"
@@ -14178,7 +14208,7 @@
]
},
{
- "group": "المفاهيم الأساسية",
+ "group": "\u0627\u0644\u0645\u0641\u0627\u0647\u064a\u0645 \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629",
"pages": [
"ar/concepts/agents",
"ar/concepts/tasks",
@@ -14197,11 +14227,12 @@
"ar/concepts/testing",
"ar/concepts/cli",
"ar/concepts/tools",
- "ar/concepts/event-listener"
+ "ar/concepts/event-listener",
+ "ar/concepts/checkpointing"
]
},
{
- "group": "تكامل MCP",
+ "group": "\u062a\u0643\u0627\u0645\u0644 MCP",
"pages": [
"ar/mcp/overview",
"ar/mcp/dsl-integration",
@@ -14213,11 +14244,11 @@
]
},
{
- "group": "الأدوات",
+ "group": "\u0627\u0644\u0623\u062f\u0648\u0627\u062a",
"pages": [
"ar/tools/overview",
{
- "group": "الملفات والمستندات",
+ "group": "\u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0648\u0627\u0644\u0645\u0633\u062a\u0646\u062f\u0627\u062a",
"icon": "folder-open",
"pages": [
"ar/tools/file-document/overview",
@@ -14237,7 +14268,7 @@
]
},
{
- "group": "استخراج بيانات الويب",
+ "group": "\u0627\u0633\u062a\u062e\u0631\u0627\u062c \u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0648\u064a\u0628",
"icon": "globe",
"pages": [
"ar/tools/web-scraping/overview",
@@ -14257,7 +14288,7 @@
]
},
{
- "group": "البحث والاستكشاف",
+ "group": "\u0627\u0644\u0628\u062d\u062b \u0648\u0627\u0644\u0627\u0633\u062a\u0643\u0634\u0627\u0641",
"icon": "magnifying-glass",
"pages": [
"ar/tools/search-research/overview",
@@ -14279,7 +14310,7 @@
]
},
{
- "group": "قواعد البيانات",
+ "group": "\u0642\u0648\u0627\u0639\u062f \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a",
"icon": "database",
"pages": [
"ar/tools/database-data/overview",
@@ -14294,7 +14325,7 @@
]
},
{
- "group": "الذكاء الاصطناعي والتعلّم الآلي",
+ "group": "\u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a \u0648\u0627\u0644\u062a\u0639\u0644\u0651\u0645 \u0627\u0644\u0622\u0644\u064a",
"icon": "brain",
"pages": [
"ar/tools/ai-ml/overview",
@@ -14308,7 +14339,7 @@
]
},
{
- "group": "التخزين السحابي",
+ "group": "\u0627\u0644\u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u0633\u062d\u0627\u0628\u064a",
"icon": "cloud",
"pages": [
"ar/tools/cloud-storage/overview",
@@ -14327,7 +14358,7 @@
]
},
{
- "group": "الأتمتة",
+ "group": "\u0627\u0644\u0623\u062a\u0645\u062a\u0629",
"icon": "bolt",
"pages": [
"ar/tools/automation/overview",
@@ -14362,7 +14393,7 @@
]
},
{
- "group": "التعلّم",
+ "group": "\u0627\u0644\u062a\u0639\u0644\u0651\u0645",
"pages": [
"ar/learn/overview",
"ar/learn/llm-selection-guide",
@@ -14399,17 +14430,17 @@
]
},
{
- "tab": "المؤسسات",
+ "tab": "\u0627\u0644\u0645\u0624\u0633\u0633\u0627\u062a",
"icon": "briefcase",
"groups": [
{
- "group": "البدء",
+ "group": "\u0627\u0644\u0628\u062f\u0621",
"pages": [
"ar/enterprise/introduction"
]
},
{
- "group": "البناء",
+ "group": "\u0627\u0644\u0628\u0646\u0627\u0621",
"pages": [
"ar/enterprise/features/automations",
"ar/enterprise/features/crew-studio",
@@ -14420,7 +14451,7 @@
]
},
{
- "group": "العمليات",
+ "group": "\u0627\u0644\u0639\u0645\u0644\u064a\u0627\u062a",
"pages": [
"ar/enterprise/features/traces",
"ar/enterprise/features/webhook-streaming",
@@ -14429,13 +14460,13 @@
]
},
{
- "group": "الإدارة",
+ "group": "\u0627\u0644\u0625\u062f\u0627\u0631\u0629",
"pages": [
"ar/enterprise/features/rbac"
]
},
{
- "group": "التكاملات",
+ "group": "\u0627\u0644\u062a\u0643\u0627\u0645\u0644\u0627\u062a",
"pages": [
"ar/enterprise/integrations/asana",
"ar/enterprise/integrations/box",
@@ -14487,7 +14518,7 @@
]
},
{
- "group": "المشغّلات",
+ "group": "\u0627\u0644\u0645\u0634\u063a\u0651\u0644\u0627\u062a",
"pages": [
"ar/enterprise/guides/automation-triggers",
"ar/enterprise/guides/gmail-trigger",
@@ -14503,7 +14534,7 @@
]
},
{
- "group": "موارد التعلّم",
+ "group": "\u0645\u0648\u0627\u0631\u062f \u0627\u0644\u062a\u0639\u0644\u0651\u0645",
"pages": [
"ar/enterprise/resources/frequently-asked-questions"
]
@@ -14511,11 +14542,11 @@
]
},
{
- "tab": "API المرجع",
+ "tab": "API \u0627\u0644\u0645\u0631\u062c\u0639",
"icon": "magnifying-glass",
"groups": [
{
- "group": "البدء",
+ "group": "\u0627\u0644\u0628\u062f\u0621",
"pages": [
"ar/api-reference/introduction",
"ar/api-reference/inputs",
@@ -14527,11 +14558,11 @@
]
},
{
- "tab": "أمثلة",
+ "tab": "\u0623\u0645\u062b\u0644\u0629",
"icon": "code",
"groups": [
{
- "group": "أمثلة",
+ "group": "\u0623\u0645\u062b\u0644\u0629",
"pages": [
"ar/examples/example",
"ar/examples/cookbooks"
@@ -14540,11 +14571,11 @@
]
},
{
- "tab": "التغييرات السجلات",
+ "tab": "\u0627\u0644\u062a\u063a\u064a\u064a\u0631\u0627\u062a \u0627\u0644\u0633\u062c\u0644\u0627\u062a",
"icon": "clock",
"groups": [
{
- "group": "سجل التغييرات",
+ "group": "\u0633\u062c\u0644 \u0627\u0644\u062a\u063a\u064a\u064a\u0631\u0627\u062a",
"pages": [
"ar/changelog"
]
@@ -14557,11 +14588,11 @@
"version": "v1.10.0",
"tabs": [
{
- "tab": "الرئيسية",
+ "tab": "\u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629",
"icon": "house",
"groups": [
{
- "group": "مرحباً",
+ "group": "\u0645\u0631\u062d\u0628\u0627\u064b",
"pages": [
"ar/index"
]
@@ -14569,11 +14600,11 @@
]
},
{
- "tab": "التقنية التوثيق",
+ "tab": "\u0627\u0644\u062a\u0642\u0646\u064a\u0629 \u0627\u0644\u062a\u0648\u062b\u064a\u0642",
"icon": "book-open",
"groups": [
{
- "group": "البدء",
+ "group": "\u0627\u0644\u0628\u062f\u0621",
"pages": [
"ar/introduction",
"ar/installation",
@@ -14581,31 +14612,31 @@
]
},
{
- "group": "الأدلّة",
+ "group": "\u0627\u0644\u0623\u062f\u0644\u0651\u0629",
"pages": [
{
- "group": "الاستراتيجية",
+ "group": "\u0627\u0644\u0627\u0633\u062a\u0631\u0627\u062a\u064a\u062c\u064a\u0629",
"icon": "compass",
"pages": [
"ar/guides/concepts/evaluating-use-cases"
]
},
{
- "group": "الوكلاء",
+ "group": "\u0627\u0644\u0648\u0643\u0644\u0627\u0621",
"icon": "user",
"pages": [
"ar/guides/agents/crafting-effective-agents"
]
},
{
- "group": "الطواقم",
+ "group": "\u0627\u0644\u0637\u0648\u0627\u0642\u0645",
"icon": "users",
"pages": [
"ar/guides/crews/first-crew"
]
},
{
- "group": "التدفقات",
+ "group": "\u0627\u0644\u062a\u062f\u0641\u0642\u0627\u062a",
"icon": "code-branch",
"pages": [
"ar/guides/flows/first-flow",
@@ -14613,21 +14644,21 @@
]
},
{
- "group": "الأدوات",
+ "group": "\u0627\u0644\u0623\u062f\u0648\u0627\u062a",
"icon": "wrench",
"pages": [
"ar/guides/tools/publish-custom-tools"
]
},
{
- "group": "أدوات البرمجة",
+ "group": "\u0623\u062f\u0648\u0627\u062a \u0627\u0644\u0628\u0631\u0645\u062c\u0629",
"icon": "terminal",
"pages": [
"ar/guides/coding-tools/agents-md"
]
},
{
- "group": "متقدّم",
+ "group": "\u0645\u062a\u0642\u062f\u0651\u0645",
"icon": "gear",
"pages": [
"ar/guides/advanced/customizing-prompts",
@@ -14635,7 +14666,7 @@
]
},
{
- "group": "الترحيل",
+ "group": "\u0627\u0644\u062a\u0631\u062d\u064a\u0644",
"icon": "shuffle",
"pages": [
"ar/guides/migration/migrating-from-langgraph"
@@ -14644,7 +14675,7 @@
]
},
{
- "group": "المفاهيم الأساسية",
+ "group": "\u0627\u0644\u0645\u0641\u0627\u0647\u064a\u0645 \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629",
"pages": [
"ar/concepts/agents",
"ar/concepts/tasks",
@@ -14664,11 +14695,12 @@
"ar/concepts/testing",
"ar/concepts/cli",
"ar/concepts/tools",
- "ar/concepts/event-listener"
+ "ar/concepts/event-listener",
+ "ar/concepts/checkpointing"
]
},
{
- "group": "تكامل MCP",
+ "group": "\u062a\u0643\u0627\u0645\u0644 MCP",
"pages": [
"ar/mcp/overview",
"ar/mcp/dsl-integration",
@@ -14680,11 +14712,11 @@
]
},
{
- "group": "الأدوات",
+ "group": "\u0627\u0644\u0623\u062f\u0648\u0627\u062a",
"pages": [
"ar/tools/overview",
{
- "group": "الملفات والمستندات",
+ "group": "\u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0648\u0627\u0644\u0645\u0633\u062a\u0646\u062f\u0627\u062a",
"icon": "folder-open",
"pages": [
"ar/tools/file-document/overview",
@@ -14704,7 +14736,7 @@
]
},
{
- "group": "استخراج بيانات الويب",
+ "group": "\u0627\u0633\u062a\u062e\u0631\u0627\u062c \u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0648\u064a\u0628",
"icon": "globe",
"pages": [
"ar/tools/web-scraping/overview",
@@ -14724,7 +14756,7 @@
]
},
{
- "group": "البحث والاستكشاف",
+ "group": "\u0627\u0644\u0628\u062d\u062b \u0648\u0627\u0644\u0627\u0633\u062a\u0643\u0634\u0627\u0641",
"icon": "magnifying-glass",
"pages": [
"ar/tools/search-research/overview",
@@ -14746,7 +14778,7 @@
]
},
{
- "group": "قواعد البيانات",
+ "group": "\u0642\u0648\u0627\u0639\u062f \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a",
"icon": "database",
"pages": [
"ar/tools/database-data/overview",
@@ -14761,7 +14793,7 @@
]
},
{
- "group": "الذكاء الاصطناعي والتعلّم الآلي",
+ "group": "\u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a \u0648\u0627\u0644\u062a\u0639\u0644\u0651\u0645 \u0627\u0644\u0622\u0644\u064a",
"icon": "brain",
"pages": [
"ar/tools/ai-ml/overview",
@@ -14775,7 +14807,7 @@
]
},
{
- "group": "التخزين السحابي",
+ "group": "\u0627\u0644\u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u0633\u062d\u0627\u0628\u064a",
"icon": "cloud",
"pages": [
"ar/tools/cloud-storage/overview",
@@ -14794,7 +14826,7 @@
]
},
{
- "group": "الأتمتة",
+ "group": "\u0627\u0644\u0623\u062a\u0645\u062a\u0629",
"icon": "bolt",
"pages": [
"ar/tools/automation/overview",
@@ -14829,7 +14861,7 @@
]
},
{
- "group": "التعلّم",
+ "group": "\u0627\u0644\u062a\u0639\u0644\u0651\u0645",
"pages": [
"ar/learn/overview",
"ar/learn/llm-selection-guide",
@@ -14866,17 +14898,17 @@
]
},
{
- "tab": "المؤسسات",
+ "tab": "\u0627\u0644\u0645\u0624\u0633\u0633\u0627\u062a",
"icon": "briefcase",
"groups": [
{
- "group": "البدء",
+ "group": "\u0627\u0644\u0628\u062f\u0621",
"pages": [
"ar/enterprise/introduction"
]
},
{
- "group": "البناء",
+ "group": "\u0627\u0644\u0628\u0646\u0627\u0621",
"pages": [
"ar/enterprise/features/automations",
"ar/enterprise/features/crew-studio",
@@ -14887,7 +14919,7 @@
]
},
{
- "group": "العمليات",
+ "group": "\u0627\u0644\u0639\u0645\u0644\u064a\u0627\u062a",
"pages": [
"ar/enterprise/features/traces",
"ar/enterprise/features/webhook-streaming",
@@ -14896,13 +14928,13 @@
]
},
{
- "group": "الإدارة",
+ "group": "\u0627\u0644\u0625\u062f\u0627\u0631\u0629",
"pages": [
"ar/enterprise/features/rbac"
]
},
{
- "group": "التكاملات",
+ "group": "\u0627\u0644\u062a\u0643\u0627\u0645\u0644\u0627\u062a",
"pages": [
"ar/enterprise/integrations/asana",
"ar/enterprise/integrations/box",
@@ -14954,7 +14986,7 @@
]
},
{
- "group": "المشغّلات",
+ "group": "\u0627\u0644\u0645\u0634\u063a\u0651\u0644\u0627\u062a",
"pages": [
"ar/enterprise/guides/automation-triggers",
"ar/enterprise/guides/gmail-trigger",
@@ -14970,7 +15002,7 @@
]
},
{
- "group": "موارد التعلّم",
+ "group": "\u0645\u0648\u0627\u0631\u062f \u0627\u0644\u062a\u0639\u0644\u0651\u0645",
"pages": [
"ar/enterprise/resources/frequently-asked-questions"
]
@@ -14978,11 +15010,11 @@
]
},
{
- "tab": "API المرجع",
+ "tab": "API \u0627\u0644\u0645\u0631\u062c\u0639",
"icon": "magnifying-glass",
"groups": [
{
- "group": "البدء",
+ "group": "\u0627\u0644\u0628\u062f\u0621",
"pages": [
"ar/api-reference/introduction",
"ar/api-reference/inputs",
@@ -14994,11 +15026,11 @@
]
},
{
- "tab": "أمثلة",
+ "tab": "\u0623\u0645\u062b\u0644\u0629",
"icon": "code",
"groups": [
{
- "group": "أمثلة",
+ "group": "\u0623\u0645\u062b\u0644\u0629",
"pages": [
"ar/examples/example",
"ar/examples/cookbooks"
@@ -15007,11 +15039,11 @@
]
},
{
- "tab": "التغييرات السجلات",
+ "tab": "\u0627\u0644\u062a\u063a\u064a\u064a\u0631\u0627\u062a \u0627\u0644\u0633\u062c\u0644\u0627\u062a",
"icon": "clock",
"groups": [
{
- "group": "سجل التغييرات",
+ "group": "\u0633\u062c\u0644 \u0627\u0644\u062a\u063a\u064a\u064a\u0631\u0627\u062a",
"pages": [
"ar/changelog"
]
diff --git a/docs/en/concepts/checkpointing.mdx b/docs/en/concepts/checkpointing.mdx
new file mode 100644
index 000000000..799f674d3
--- /dev/null
+++ b/docs/en/concepts/checkpointing.mdx
@@ -0,0 +1,187 @@
+---
+title: Checkpointing
+description: Automatically save execution state so crews, flows, and agents can resume after failures.
+icon: floppy-disk
+mode: "wide"
+---
+
+
+Checkpointing is in early release. APIs may change in future versions.
+
+
+## Overview
+
+Checkpointing automatically saves execution state during a run. If a crew, flow, or agent fails mid-execution, you can restore from the last checkpoint and resume without re-running completed work.
+
+## Quick Start
+
+```python
+from crewai import Crew, CheckpointConfig
+
+crew = Crew(
+ agents=[...],
+ tasks=[...],
+ checkpoint=True, # uses defaults: ./.checkpoints, on task_completed
+)
+result = crew.kickoff()
+```
+
+Checkpoint files are written to `./.checkpoints/` after each completed task.
+
+## Configuration
+
+Use `CheckpointConfig` for full control:
+
+```python
+from crewai import Crew, CheckpointConfig
+
+crew = Crew(
+ agents=[...],
+ tasks=[...],
+ checkpoint=CheckpointConfig(
+ directory="./my_checkpoints",
+ on_events=["task_completed", "crew_kickoff_completed"],
+ max_checkpoints=5,
+ ),
+)
+```
+
+### CheckpointConfig Fields
+
+| Field | Type | Default | Description |
+|:------|:-----|:--------|:------------|
+| `directory` | `str` | `"./.checkpoints"` | Filesystem path for checkpoint files |
+| `on_events` | `list[str]` | `["task_completed"]` | Event types that trigger a checkpoint |
+| `provider` | `BaseProvider` | `JsonProvider()` | Storage backend |
+| `max_checkpoints` | `int \| None` | `None` | Max files to keep; oldest pruned first |
+
+### Inheritance and Opt-Out
+
+The `checkpoint` field on Crew, Flow, and Agent accepts `CheckpointConfig`, `True`, `False`, or `None`:
+
+| Value | Behavior |
+|:------|:---------|
+| `None` (default) | Inherit from parent. An agent inherits its crew's config. |
+| `True` | Enable with defaults. |
+| `False` | Explicit opt-out. Stops inheritance from parent. |
+| `CheckpointConfig(...)` | Custom configuration. |
+
+```python
+crew = Crew(
+ agents=[
+ Agent(role="Researcher", ...), # inherits crew's checkpoint
+ Agent(role="Writer", ..., checkpoint=False), # opted out, no checkpoints
+ ],
+ tasks=[...],
+ checkpoint=True,
+)
+```
+
+## Resuming from a Checkpoint
+
+```python
+# Restore and resume
+crew = Crew.from_checkpoint("./my_checkpoints/20260407T120000_abc123.json")
+result = crew.kickoff() # picks up from last completed task
+```
+
+The restored crew skips already-completed tasks and resumes from the first incomplete one.
+
+## Works on Crew, Flow, and Agent
+
+### Crew
+
+```python
+crew = Crew(
+ agents=[researcher, writer],
+ tasks=[research_task, write_task, review_task],
+ checkpoint=CheckpointConfig(directory="./crew_cp"),
+)
+```
+
+Default trigger: `task_completed` (one checkpoint per finished task).
+
+### Flow
+
+```python
+from crewai.flow.flow import Flow, start, listen
+from crewai import CheckpointConfig
+
+class MyFlow(Flow):
+ @start()
+ def step_one(self):
+ return "data"
+
+ @listen(step_one)
+ def step_two(self, data):
+ return process(data)
+
+flow = MyFlow(
+ checkpoint=CheckpointConfig(
+ directory="./flow_cp",
+ on_events=["method_execution_finished"],
+ ),
+)
+result = flow.kickoff()
+
+# Resume
+flow = MyFlow.from_checkpoint("./flow_cp/20260407T120000_abc123.json")
+result = flow.kickoff()
+```
+
+### Agent
+
+```python
+agent = Agent(
+ role="Researcher",
+ goal="Research topics",
+ backstory="Expert researcher",
+ checkpoint=CheckpointConfig(
+ directory="./agent_cp",
+ on_events=["lite_agent_execution_completed"],
+ ),
+)
+result = agent.kickoff(messages=[{"role": "user", "content": "Research AI trends"}])
+```
+
+## Event Types
+
+The `on_events` field accepts any combination of event type strings. Common choices:
+
+| Use Case | Events |
+|:---------|:-------|
+| After each task (Crew) | `["task_completed"]` |
+| After each flow method | `["method_execution_finished"]` |
+| After agent execution | `["agent_execution_completed"]`, `["lite_agent_execution_completed"]` |
+| On crew completion only | `["crew_kickoff_completed"]` |
+| After every LLM call | `["llm_call_completed"]` |
+| On everything | `["*"]` |
+
+
+Using `["*"]` or high-frequency events like `llm_call_completed` will write many checkpoint files and may impact performance. Use `max_checkpoints` to limit disk usage.
+
+
+## Manual Checkpointing
+
+For full control, register your own event handler and call `state.checkpoint()` directly:
+
+```python
+from crewai.events.event_bus import crewai_event_bus
+from crewai.events.types.llm_events import LLMCallCompletedEvent
+
+# Sync handler
+@crewai_event_bus.on(LLMCallCompletedEvent)
+def on_llm_done(source, event, state):
+ path = state.checkpoint("./my_checkpoints")
+ print(f"Saved checkpoint: {path}")
+
+# Async handler
+@crewai_event_bus.on(LLMCallCompletedEvent)
+async def on_llm_done_async(source, event, state):
+ path = await state.acheckpoint("./my_checkpoints")
+ print(f"Saved checkpoint: {path}")
+```
+
+The `state` argument is the `RuntimeState` passed automatically by the event bus when your handler accepts 3 parameters. You can register handlers on any event type listed in the [Event Listeners](/en/concepts/event-listener) documentation.
+
+Checkpointing is best-effort: if a checkpoint write fails, the error is logged but execution continues uninterrupted.
diff --git a/docs/ko/concepts/checkpointing.mdx b/docs/ko/concepts/checkpointing.mdx
new file mode 100644
index 000000000..da33aa3c8
--- /dev/null
+++ b/docs/ko/concepts/checkpointing.mdx
@@ -0,0 +1,187 @@
+---
+title: Checkpointing
+description: 실행 상태를 자동으로 저장하여 크루, 플로우, 에이전트가 실패 후 재개할 수 있습니다.
+icon: floppy-disk
+mode: "wide"
+---
+
+
+체크포인팅은 초기 릴리스 단계입니다. API는 향후 버전에서 변경될 수 있습니다.
+
+
+## 개요
+
+체크포인팅은 실행 중 자동으로 실행 상태를 저장합니다. 크루, 플로우 또는 에이전트가 실행 도중 실패하면 마지막 체크포인트에서 복원하여 이미 완료된 작업을 다시 실행하지 않고 재개할 수 있습니다.
+
+## 빠른 시작
+
+```python
+from crewai import Crew, CheckpointConfig
+
+crew = Crew(
+ agents=[...],
+ tasks=[...],
+ checkpoint=True, # 기본값 사용: ./.checkpoints, task_completed 이벤트
+)
+result = crew.kickoff()
+```
+
+각 태스크가 완료된 후 `./.checkpoints/`에 체크포인트 파일이 기록됩니다.
+
+## 설정
+
+`CheckpointConfig`를 사용하여 세부 설정을 제어합니다:
+
+```python
+from crewai import Crew, CheckpointConfig
+
+crew = Crew(
+ agents=[...],
+ tasks=[...],
+ checkpoint=CheckpointConfig(
+ directory="./my_checkpoints",
+ on_events=["task_completed", "crew_kickoff_completed"],
+ max_checkpoints=5,
+ ),
+)
+```
+
+### CheckpointConfig 필드
+
+| 필드 | 타입 | 기본값 | 설명 |
+|:-----|:-----|:-------|:-----|
+| `directory` | `str` | `"./.checkpoints"` | 체크포인트 파일 경로 |
+| `on_events` | `list[str]` | `["task_completed"]` | 체크포인트를 트리거하는 이벤트 타입 |
+| `provider` | `BaseProvider` | `JsonProvider()` | 스토리지 백엔드 |
+| `max_checkpoints` | `int \| None` | `None` | 보관할 최대 파일 수; 오래된 것부터 삭제 |
+
+### 상속 및 옵트아웃
+
+Crew, Flow, Agent의 `checkpoint` 필드는 `CheckpointConfig`, `True`, `False`, `None`을 받습니다:
+
+| 값 | 동작 |
+|:---|:-----|
+| `None` (기본값) | 부모에서 상속. 에이전트는 크루의 설정을 상속합니다. |
+| `True` | 기본값으로 활성화. |
+| `False` | 명시적 옵트아웃. 부모 상속을 중단합니다. |
+| `CheckpointConfig(...)` | 사용자 정의 설정. |
+
+```python
+crew = Crew(
+ agents=[
+ Agent(role="Researcher", ...), # 크루의 checkpoint 상속
+ Agent(role="Writer", ..., checkpoint=False), # 옵트아웃, 체크포인트 없음
+ ],
+ tasks=[...],
+ checkpoint=True,
+)
+```
+
+## 체크포인트에서 재개
+
+```python
+# 복원 및 재개
+crew = Crew.from_checkpoint("./my_checkpoints/20260407T120000_abc123.json")
+result = crew.kickoff() # 마지막으로 완료된 태스크부터 재개
+```
+
+복원된 크루는 이미 완료된 태스크를 건너뛰고 첫 번째 미완료 태스크부터 재개합니다.
+
+## Crew, Flow, Agent에서 사용 가능
+
+### Crew
+
+```python
+crew = Crew(
+ agents=[researcher, writer],
+ tasks=[research_task, write_task, review_task],
+ checkpoint=CheckpointConfig(directory="./crew_cp"),
+)
+```
+
+기본 트리거: `task_completed` (완료된 태스크당 하나의 체크포인트).
+
+### Flow
+
+```python
+from crewai.flow.flow import Flow, start, listen
+from crewai import CheckpointConfig
+
+class MyFlow(Flow):
+ @start()
+ def step_one(self):
+ return "data"
+
+ @listen(step_one)
+ def step_two(self, data):
+ return process(data)
+
+flow = MyFlow(
+ checkpoint=CheckpointConfig(
+ directory="./flow_cp",
+ on_events=["method_execution_finished"],
+ ),
+)
+result = flow.kickoff()
+
+# 재개
+flow = MyFlow.from_checkpoint("./flow_cp/20260407T120000_abc123.json")
+result = flow.kickoff()
+```
+
+### Agent
+
+```python
+agent = Agent(
+ role="Researcher",
+ goal="Research topics",
+ backstory="Expert researcher",
+ checkpoint=CheckpointConfig(
+ directory="./agent_cp",
+ on_events=["lite_agent_execution_completed"],
+ ),
+)
+result = agent.kickoff(messages=[{"role": "user", "content": "Research AI trends"}])
+```
+
+## 이벤트 타입
+
+`on_events` 필드는 이벤트 타입 문자열의 조합을 받습니다. 일반적인 선택:
+
+| 사용 사례 | 이벤트 |
+|:----------|:-------|
+| 각 태스크 완료 후 (Crew) | `["task_completed"]` |
+| 각 플로우 메서드 완료 후 | `["method_execution_finished"]` |
+| 에이전트 실행 완료 후 | `["agent_execution_completed"]`, `["lite_agent_execution_completed"]` |
+| 크루 완료 시에만 | `["crew_kickoff_completed"]` |
+| 모든 LLM 호출 후 | `["llm_call_completed"]` |
+| 모든 이벤트 | `["*"]` |
+
+
+`["*"]` 또는 `llm_call_completed`와 같은 고빈도 이벤트를 사용하면 많은 체크포인트 파일이 생성되어 성능에 영향을 줄 수 있습니다. `max_checkpoints`를 사용하여 디스크 사용량을 제한하세요.
+
+
+## 수동 체크포인팅
+
+완전한 제어를 위해 자체 이벤트 핸들러를 등록하고 `state.checkpoint()`를 직접 호출할 수 있습니다:
+
+```python
+from crewai.events.event_bus import crewai_event_bus
+from crewai.events.types.llm_events import LLMCallCompletedEvent
+
+# 동기 핸들러
+@crewai_event_bus.on(LLMCallCompletedEvent)
+def on_llm_done(source, event, state):
+ path = state.checkpoint("./my_checkpoints")
+ print(f"체크포인트 저장: {path}")
+
+# 비동기 핸들러
+@crewai_event_bus.on(LLMCallCompletedEvent)
+async def on_llm_done_async(source, event, state):
+ path = await state.acheckpoint("./my_checkpoints")
+ print(f"체크포인트 저장: {path}")
+```
+
+`state` 인수는 핸들러가 3개의 매개변수를 받을 때 이벤트 버스가 자동으로 전달하는 `RuntimeState`입니다. [Event Listeners](/ko/concepts/event-listener) 문서에 나열된 모든 이벤트 타입에 핸들러를 등록할 수 있습니다.
+
+체크포인팅은 best-effort입니다: 체크포인트 기록이 실패하면 오류가 로그에 기록되지만 실행은 중단 없이 계속됩니다.
diff --git a/docs/pt-BR/concepts/checkpointing.mdx b/docs/pt-BR/concepts/checkpointing.mdx
new file mode 100644
index 000000000..251691243
--- /dev/null
+++ b/docs/pt-BR/concepts/checkpointing.mdx
@@ -0,0 +1,187 @@
+---
+title: Checkpointing
+description: Salve automaticamente o estado de execucao para que crews, flows e agentes possam retomar apos falhas.
+icon: floppy-disk
+mode: "wide"
+---
+
+
+O checkpointing esta em versao inicial. As APIs podem mudar em versoes futuras.
+
+
+## Visao Geral
+
+O checkpointing salva automaticamente o estado de execucao durante uma execucao. Se uma crew, flow ou agente falhar no meio da execucao, voce pode restaurar a partir do ultimo checkpoint e retomar sem reexecutar o trabalho ja concluido.
+
+## Inicio Rapido
+
+```python
+from crewai import Crew, CheckpointConfig
+
+crew = Crew(
+ agents=[...],
+ tasks=[...],
+ checkpoint=True, # usa padroes: ./.checkpoints, em task_completed
+)
+result = crew.kickoff()
+```
+
+Os arquivos de checkpoint sao gravados em `./.checkpoints/` apos cada tarefa concluida.
+
+## Configuracao
+
+Use `CheckpointConfig` para controle total:
+
+```python
+from crewai import Crew, CheckpointConfig
+
+crew = Crew(
+ agents=[...],
+ tasks=[...],
+ checkpoint=CheckpointConfig(
+ directory="./my_checkpoints",
+ on_events=["task_completed", "crew_kickoff_completed"],
+ max_checkpoints=5,
+ ),
+)
+```
+
+### Campos do CheckpointConfig
+
+| Campo | Tipo | Padrao | Descricao |
+|:------|:-----|:-------|:----------|
+| `directory` | `str` | `"./.checkpoints"` | Caminho para os arquivos de checkpoint |
+| `on_events` | `list[str]` | `["task_completed"]` | Tipos de evento que acionam um checkpoint |
+| `provider` | `BaseProvider` | `JsonProvider()` | Backend de armazenamento |
+| `max_checkpoints` | `int \| None` | `None` | Maximo de arquivos a manter; os mais antigos sao removidos primeiro |
+
+### Heranca e Desativacao
+
+O campo `checkpoint` em Crew, Flow e Agent aceita `CheckpointConfig`, `True`, `False` ou `None`:
+
+| Valor | Comportamento |
+|:------|:--------------|
+| `None` (padrao) | Herda do pai. Um agente herda a configuracao da crew. |
+| `True` | Ativa com padroes. |
+| `False` | Desativacao explicita. Interrompe a heranca do pai. |
+| `CheckpointConfig(...)` | Configuracao personalizada. |
+
+```python
+crew = Crew(
+ agents=[
+ Agent(role="Researcher", ...), # herda checkpoint da crew
+ Agent(role="Writer", ..., checkpoint=False), # desativado, sem checkpoints
+ ],
+ tasks=[...],
+ checkpoint=True,
+)
+```
+
+## Retomando a partir de um Checkpoint
+
+```python
+# Restaurar e retomar
+crew = Crew.from_checkpoint("./my_checkpoints/20260407T120000_abc123.json")
+result = crew.kickoff() # retoma a partir da ultima tarefa concluida
+```
+
+A crew restaurada pula tarefas ja concluidas e retoma a partir da primeira incompleta.
+
+## Funciona em Crew, Flow e Agent
+
+### Crew
+
+```python
+crew = Crew(
+ agents=[researcher, writer],
+ tasks=[research_task, write_task, review_task],
+ checkpoint=CheckpointConfig(directory="./crew_cp"),
+)
+```
+
+Gatilho padrao: `task_completed` (um checkpoint por tarefa finalizada).
+
+### Flow
+
+```python
+from crewai.flow.flow import Flow, start, listen
+from crewai import CheckpointConfig
+
+class MyFlow(Flow):
+ @start()
+ def step_one(self):
+ return "data"
+
+ @listen(step_one)
+ def step_two(self, data):
+ return process(data)
+
+flow = MyFlow(
+ checkpoint=CheckpointConfig(
+ directory="./flow_cp",
+ on_events=["method_execution_finished"],
+ ),
+)
+result = flow.kickoff()
+
+# Retomar
+flow = MyFlow.from_checkpoint("./flow_cp/20260407T120000_abc123.json")
+result = flow.kickoff()
+```
+
+### Agent
+
+```python
+agent = Agent(
+ role="Researcher",
+ goal="Research topics",
+ backstory="Expert researcher",
+ checkpoint=CheckpointConfig(
+ directory="./agent_cp",
+ on_events=["lite_agent_execution_completed"],
+ ),
+)
+result = agent.kickoff(messages=[{"role": "user", "content": "Research AI trends"}])
+```
+
+## Tipos de Evento
+
+O campo `on_events` aceita qualquer combinacao de strings de tipo de evento. Escolhas comuns:
+
+| Caso de Uso | Eventos |
+|:------------|:--------|
+| Apos cada tarefa (Crew) | `["task_completed"]` |
+| Apos cada metodo do flow | `["method_execution_finished"]` |
+| Apos execucao do agente | `["agent_execution_completed"]`, `["lite_agent_execution_completed"]` |
+| Apenas na conclusao da crew | `["crew_kickoff_completed"]` |
+| Apos cada chamada LLM | `["llm_call_completed"]` |
+| Em tudo | `["*"]` |
+
+
+Usar `["*"]` ou eventos de alta frequencia como `llm_call_completed` gravara muitos arquivos de checkpoint e pode impactar o desempenho. Use `max_checkpoints` para limitar o uso de disco.
+
+
+## Checkpointing Manual
+
+Para controle total, registre seu proprio handler de evento e chame `state.checkpoint()` diretamente:
+
+```python
+from crewai.events.event_bus import crewai_event_bus
+from crewai.events.types.llm_events import LLMCallCompletedEvent
+
+# Handler sincrono
+@crewai_event_bus.on(LLMCallCompletedEvent)
+def on_llm_done(source, event, state):
+ path = state.checkpoint("./my_checkpoints")
+ print(f"Checkpoint salvo: {path}")
+
+# Handler assincrono
+@crewai_event_bus.on(LLMCallCompletedEvent)
+async def on_llm_done_async(source, event, state):
+ path = await state.acheckpoint("./my_checkpoints")
+ print(f"Checkpoint salvo: {path}")
+```
+
+O argumento `state` e o `RuntimeState` passado automaticamente pelo barramento de eventos quando seu handler aceita 3 parametros. Voce pode registrar handlers em qualquer tipo de evento listado na documentacao de [Event Listeners](/pt-BR/concepts/event-listener).
+
+O checkpointing e best-effort: se uma gravacao de checkpoint falhar, o erro e registrado no log, mas a execucao continua sem interrupcao.
diff --git a/lib/crewai/src/crewai/__init__.py b/lib/crewai/src/crewai/__init__.py
index 01be9fead..8a7d6dd3f 100644
--- a/lib/crewai/src/crewai/__init__.py
+++ b/lib/crewai/src/crewai/__init__.py
@@ -16,6 +16,7 @@ from crewai.knowledge.knowledge import Knowledge
from crewai.llm import LLM
from crewai.llms.base_llm import BaseLLM
from crewai.process import Process
+from crewai.state.checkpoint_config import CheckpointConfig # noqa: F401
from crewai.task import Task
from crewai.tasks.llm_guardrail import LLMGuardrail
from crewai.tasks.task_output import TaskOutput
@@ -210,6 +211,7 @@ try:
Agent.model_rebuild(force=True, _types_namespace=_full_namespace)
except PydanticUserError:
pass
+
except (ImportError, PydanticUserError):
import logging as _logging
diff --git a/lib/crewai/src/crewai/agents/agent_builder/base_agent.py b/lib/crewai/src/crewai/agents/agent_builder/base_agent.py
index cfa08bbc3..dbff05e4d 100644
--- a/lib/crewai/src/crewai/agents/agent_builder/base_agent.py
+++ b/lib/crewai/src/crewai/agents/agent_builder/base_agent.py
@@ -39,6 +39,7 @@ from crewai.memory.unified_memory import Memory
from crewai.rag.embeddings.types import EmbedderConfig
from crewai.security.security_config import SecurityConfig
from crewai.skills.models import Skill
+from crewai.state.checkpoint_config import CheckpointConfig
from crewai.tools.base_tool import BaseTool, Tool
from crewai.types.callback import SerializableCallable
from crewai.utilities.config import process_config
@@ -299,6 +300,11 @@ class BaseAgent(BaseModel, ABC, metaclass=AgentMeta):
default_factory=SecurityConfig,
description="Security configuration for the agent, including fingerprinting.",
)
+ checkpoint: CheckpointConfig | bool | None = Field(
+ default=None,
+ description="Automatic checkpointing configuration. "
+ "True for defaults, False to opt out, None to inherit.",
+ )
callbacks: list[SerializableCallable] = Field(
default_factory=list, description="Callbacks to be used for the agent"
)
diff --git a/lib/crewai/src/crewai/crew.py b/lib/crewai/src/crewai/crew.py
index 2e7964fb1..4f9ebab5d 100644
--- a/lib/crewai/src/crewai/crew.py
+++ b/lib/crewai/src/crewai/crew.py
@@ -104,6 +104,7 @@ from crewai.rag.types import SearchResult
from crewai.security.fingerprint import Fingerprint
from crewai.security.security_config import SecurityConfig
from crewai.skills.models import Skill
+from crewai.state.checkpoint_config import CheckpointConfig
from crewai.task import Task
from crewai.tasks.conditional_task import ConditionalTask
from crewai.tasks.task_output import TaskOutput
@@ -340,6 +341,11 @@ class Crew(FlowTrackable, BaseModel):
default_factory=SecurityConfig,
description="Security configuration for the crew, including fingerprinting.",
)
+ checkpoint: CheckpointConfig | bool | None = Field(
+ default=None,
+ description="Automatic checkpointing configuration. "
+ "True for defaults, False to opt out, None to inherit.",
+ )
token_usage: UsageMetrics | None = Field(
default=None,
description="Metrics for the LLM usage during all tasks execution.",
diff --git a/lib/crewai/src/crewai/flow/flow.py b/lib/crewai/src/crewai/flow/flow.py
index d99aa05de..76a96b3f9 100644
--- a/lib/crewai/src/crewai/flow/flow.py
+++ b/lib/crewai/src/crewai/flow/flow.py
@@ -113,6 +113,7 @@ from crewai.flow.utils import (
)
from crewai.memory.memory_scope import MemoryScope, MemorySlice
from crewai.memory.unified_memory import Memory
+from crewai.state.checkpoint_config import CheckpointConfig
if TYPE_CHECKING:
@@ -920,6 +921,7 @@ class Flow(BaseModel, Generic[T], metaclass=FlowMeta):
max_method_calls: int = Field(default=100)
execution_context: ExecutionContext | None = Field(default=None)
+ checkpoint: CheckpointConfig | bool | None = Field(default=None)
@classmethod
def from_checkpoint(
diff --git a/lib/crewai/src/crewai/state/__init__.py b/lib/crewai/src/crewai/state/__init__.py
index e69de29bb..d8f3419c7 100644
--- a/lib/crewai/src/crewai/state/__init__.py
+++ b/lib/crewai/src/crewai/state/__init__.py
@@ -0,0 +1,4 @@
+from crewai.state.checkpoint_config import CheckpointConfig, CheckpointEventType
+
+
+__all__ = ["CheckpointConfig", "CheckpointEventType"]
diff --git a/lib/crewai/src/crewai/state/checkpoint_config.py b/lib/crewai/src/crewai/state/checkpoint_config.py
new file mode 100644
index 000000000..4c60fd35c
--- /dev/null
+++ b/lib/crewai/src/crewai/state/checkpoint_config.py
@@ -0,0 +1,193 @@
+"""Checkpoint configuration for automatic state persistence."""
+
+from __future__ import annotations
+
+from typing import Literal
+
+from pydantic import BaseModel, Field
+
+from crewai.state.provider.core import BaseProvider
+from crewai.state.provider.json_provider import JsonProvider
+
+
+CheckpointEventType = Literal[
+ # Task
+ "task_started",
+ "task_completed",
+ "task_failed",
+ "task_evaluation",
+ # Crew
+ "crew_kickoff_started",
+ "crew_kickoff_completed",
+ "crew_kickoff_failed",
+ "crew_train_started",
+ "crew_train_completed",
+ "crew_train_failed",
+ "crew_test_started",
+ "crew_test_completed",
+ "crew_test_failed",
+ "crew_test_result",
+ # Agent
+ "agent_execution_started",
+ "agent_execution_completed",
+ "agent_execution_error",
+ "lite_agent_execution_started",
+ "lite_agent_execution_completed",
+ "lite_agent_execution_error",
+ "agent_evaluation_started",
+ "agent_evaluation_completed",
+ "agent_evaluation_failed",
+ # Flow
+ "flow_created",
+ "flow_started",
+ "flow_finished",
+ "flow_paused",
+ "method_execution_started",
+ "method_execution_finished",
+ "method_execution_failed",
+ "method_execution_paused",
+ "human_feedback_requested",
+ "human_feedback_received",
+ "flow_input_requested",
+ "flow_input_received",
+ # LLM
+ "llm_call_started",
+ "llm_call_completed",
+ "llm_call_failed",
+ "llm_stream_chunk",
+ "llm_thinking_chunk",
+ # LLM Guardrail
+ "llm_guardrail_started",
+ "llm_guardrail_completed",
+ "llm_guardrail_failed",
+ # Tool
+ "tool_usage_started",
+ "tool_usage_finished",
+ "tool_usage_error",
+ "tool_validate_input_error",
+ "tool_selection_error",
+ "tool_execution_error",
+ # Memory
+ "memory_save_started",
+ "memory_save_completed",
+ "memory_save_failed",
+ "memory_query_started",
+ "memory_query_completed",
+ "memory_query_failed",
+ "memory_retrieval_started",
+ "memory_retrieval_completed",
+ "memory_retrieval_failed",
+ # Knowledge
+ "knowledge_search_query_started",
+ "knowledge_search_query_completed",
+ "knowledge_query_started",
+ "knowledge_query_completed",
+ "knowledge_query_failed",
+ "knowledge_search_query_failed",
+ # Reasoning
+ "agent_reasoning_started",
+ "agent_reasoning_completed",
+ "agent_reasoning_failed",
+ # MCP
+ "mcp_connection_started",
+ "mcp_connection_completed",
+ "mcp_connection_failed",
+ "mcp_tool_execution_started",
+ "mcp_tool_execution_completed",
+ "mcp_tool_execution_failed",
+ "mcp_config_fetch_failed",
+ # Observation
+ "step_observation_started",
+ "step_observation_completed",
+ "step_observation_failed",
+ "plan_refinement",
+ "plan_replan_triggered",
+ "goal_achieved_early",
+ # Skill
+ "skill_discovery_started",
+ "skill_discovery_completed",
+ "skill_loaded",
+ "skill_activated",
+ "skill_load_failed",
+ # Logging
+ "agent_logs_started",
+ "agent_logs_execution",
+ # A2A
+ "a2a_delegation_started",
+ "a2a_delegation_completed",
+ "a2a_conversation_started",
+ "a2a_conversation_completed",
+ "a2a_message_sent",
+ "a2a_response_received",
+ "a2a_polling_started",
+ "a2a_polling_status",
+ "a2a_push_notification_registered",
+ "a2a_push_notification_received",
+ "a2a_push_notification_sent",
+ "a2a_push_notification_timeout",
+ "a2a_streaming_started",
+ "a2a_streaming_chunk",
+ "a2a_agent_card_fetched",
+ "a2a_authentication_failed",
+ "a2a_artifact_received",
+ "a2a_connection_error",
+ "a2a_server_task_started",
+ "a2a_server_task_completed",
+ "a2a_server_task_canceled",
+ "a2a_server_task_failed",
+ "a2a_parallel_delegation_started",
+ "a2a_parallel_delegation_completed",
+ "a2a_transport_negotiated",
+ "a2a_content_type_negotiated",
+ "a2a_context_created",
+ "a2a_context_expired",
+ "a2a_context_idle",
+ "a2a_context_completed",
+ "a2a_context_pruned",
+ # System
+ "SIGTERM",
+ "SIGINT",
+ "SIGHUP",
+ "SIGTSTP",
+ "SIGCONT",
+ # Env
+ "cc_env",
+ "codex_env",
+ "cursor_env",
+ "default_env",
+]
+
+
+class CheckpointConfig(BaseModel):
+ """Configuration for automatic checkpointing.
+
+ When set on a Crew, Flow, or Agent, checkpoints are written
+ automatically whenever the specified event(s) fire.
+ """
+
+ directory: str = Field(
+ default="./.checkpoints",
+ description="Filesystem path where checkpoint JSON files are written.",
+ )
+ on_events: list[CheckpointEventType | Literal["*"]] = Field(
+ default=["task_completed"],
+ description="Event types that trigger a checkpoint write. "
+ 'Use ["*"] to checkpoint on every event.',
+ )
+ provider: BaseProvider = Field(
+ default_factory=JsonProvider,
+ description="Storage backend. Defaults to JsonProvider.",
+ )
+ max_checkpoints: int | None = Field(
+ default=None,
+ description="Maximum checkpoint files to keep. Oldest are pruned first. "
+ "None means keep all.",
+ )
+
+ @property
+ def trigger_all(self) -> bool:
+ return "*" in self.on_events
+
+ @property
+ def trigger_events(self) -> set[str]:
+ return set(self.on_events)
diff --git a/lib/crewai/src/crewai/state/checkpoint_listener.py b/lib/crewai/src/crewai/state/checkpoint_listener.py
new file mode 100644
index 000000000..cf5b39b2b
--- /dev/null
+++ b/lib/crewai/src/crewai/state/checkpoint_listener.py
@@ -0,0 +1,176 @@
+"""Event listener that writes checkpoints automatically.
+
+Handlers are registered lazily — only when the first ``CheckpointConfig``
+is resolved (i.e. an entity actually has checkpointing enabled). This
+avoids per-event overhead when no entity uses checkpointing.
+"""
+
+from __future__ import annotations
+
+import glob
+import logging
+import os
+import threading
+from typing import Any
+
+from crewai.agents.agent_builder.base_agent import BaseAgent
+from crewai.crew import Crew
+from crewai.events.base_events import BaseEvent
+from crewai.events.event_bus import CrewAIEventsBus, crewai_event_bus
+from crewai.flow.flow import Flow
+from crewai.state.checkpoint_config import CheckpointConfig
+from crewai.state.runtime import RuntimeState, _prepare_entities
+from crewai.task import Task
+
+
+logger = logging.getLogger(__name__)
+
+_handlers_registered = False
+_register_lock = threading.Lock()
+
+_SENTINEL = object()
+
+
+def _ensure_handlers_registered() -> None:
+ """Register checkpoint handlers on the event bus once, lazily."""
+ global _handlers_registered
+ if _handlers_registered:
+ return
+ with _register_lock:
+ if _handlers_registered:
+ return
+ _register_all_handlers(crewai_event_bus)
+ _handlers_registered = True
+
+
+def _resolve(value: CheckpointConfig | bool | None) -> CheckpointConfig | None | object:
+ """Coerce a checkpoint field value.
+
+ Returns:
+ CheckpointConfig — use this config.
+ _SENTINEL — explicit opt-out (``False``), stop walking parents.
+ None — not configured, keep walking parents.
+ """
+ if isinstance(value, CheckpointConfig):
+ _ensure_handlers_registered()
+ return value
+ if value is True:
+ _ensure_handlers_registered()
+ return CheckpointConfig()
+ if value is False:
+ return _SENTINEL
+ return None # None = inherit
+
+
+def _find_checkpoint(source: Any) -> CheckpointConfig | None:
+ """Find the CheckpointConfig for an event source.
+
+ Walks known relationships: Task -> Agent -> Crew. Flow and Agent
+ carry their own checkpoint field directly.
+
+ A ``None`` value means "not configured, inherit from parent".
+ A ``False`` value means "opt out" and stops the walk.
+ """
+ if isinstance(source, Flow):
+ result = _resolve(source.checkpoint)
+ return result if isinstance(result, CheckpointConfig) else None
+ if isinstance(source, Crew):
+ result = _resolve(source.checkpoint)
+ return result if isinstance(result, CheckpointConfig) else None
+ if isinstance(source, BaseAgent):
+ result = _resolve(source.checkpoint)
+ if isinstance(result, CheckpointConfig):
+ return result
+ if result is _SENTINEL:
+ return None
+ crew = source.crew
+ if isinstance(crew, Crew):
+ result = _resolve(crew.checkpoint)
+ return result if isinstance(result, CheckpointConfig) else None
+ return None
+ if isinstance(source, Task):
+ agent = source.agent
+ if isinstance(agent, BaseAgent):
+ result = _resolve(agent.checkpoint)
+ if isinstance(result, CheckpointConfig):
+ return result
+ if result is _SENTINEL:
+ return None
+ crew = agent.crew
+ if isinstance(crew, Crew):
+ result = _resolve(crew.checkpoint)
+ return result if isinstance(result, CheckpointConfig) else None
+ return None
+ return None
+
+
+def _do_checkpoint(state: RuntimeState, cfg: CheckpointConfig) -> None:
+ """Write a checkpoint synchronously and optionally prune old files."""
+ _prepare_entities(state.root)
+ data = state.model_dump_json()
+ cfg.provider.checkpoint(data, cfg.directory)
+
+ if cfg.max_checkpoints is not None:
+ _prune(cfg.directory, cfg.max_checkpoints)
+
+
+def _safe_remove(path: str) -> None:
+ try:
+ os.remove(path)
+ except OSError:
+ logger.debug("Failed to remove checkpoint file %s", path, exc_info=True)
+
+
+def _prune(directory: str, max_keep: int) -> None:
+ """Remove oldest checkpoint files beyond *max_keep*."""
+ pattern = os.path.join(directory, "*.json")
+ files = sorted(glob.glob(pattern), key=os.path.getmtime)
+ to_remove = files if max_keep == 0 else files[:-max_keep]
+ for path in to_remove:
+ _safe_remove(path)
+
+
+def _should_checkpoint(source: Any, event: BaseEvent) -> CheckpointConfig | None:
+ """Return the CheckpointConfig if this event should trigger a checkpoint."""
+ cfg = _find_checkpoint(source)
+ if cfg is None:
+ return None
+ if not cfg.trigger_all and event.type not in cfg.trigger_events:
+ return None
+ return cfg
+
+
+def _on_any_event(source: Any, event: BaseEvent, state: Any) -> None:
+ """Sync handler registered on every event class."""
+ cfg = _should_checkpoint(source, event)
+ if cfg is None:
+ return
+ try:
+ _do_checkpoint(state, cfg)
+ except Exception:
+ logger.warning("Auto-checkpoint failed for event %s", event.type, exc_info=True)
+
+
+def _register_all_handlers(event_bus: CrewAIEventsBus) -> None:
+ """Register the checkpoint handler on all known event classes.
+
+ Only the sync handler is registered. The event bus runs sync handlers
+ in a ``ThreadPoolExecutor``, so blocking I/O is safe and we avoid
+ writing duplicate checkpoints from both sync and async dispatch.
+ """
+ seen: set[type] = set()
+
+ def _collect(cls: type[BaseEvent]) -> None:
+ for sub in cls.__subclasses__():
+ if sub not in seen:
+ seen.add(sub)
+ type_field = sub.model_fields.get("type")
+ if (
+ type_field
+ and type_field.default
+ and type_field.default != "base_event"
+ ):
+ event_bus.register_handler(sub, _on_any_event)
+ _collect(sub)
+
+ _collect(BaseEvent)
diff --git a/lib/crewai/tests/test_checkpoint.py b/lib/crewai/tests/test_checkpoint.py
new file mode 100644
index 000000000..3533dac85
--- /dev/null
+++ b/lib/crewai/tests/test_checkpoint.py
@@ -0,0 +1,169 @@
+"""Tests for CheckpointConfig, checkpoint listener, and pruning."""
+
+from __future__ import annotations
+
+import os
+import tempfile
+import time
+from typing import Any
+from unittest.mock import MagicMock, patch
+
+import pytest
+
+from crewai.agent.core import Agent
+from crewai.agents.agent_builder.base_agent import BaseAgent
+from crewai.crew import Crew
+from crewai.flow.flow import Flow, start
+from crewai.state.checkpoint_config import CheckpointConfig
+from crewai.state.checkpoint_listener import (
+ _find_checkpoint,
+ _prune,
+ _resolve,
+ _SENTINEL,
+)
+from crewai.task import Task
+
+
+# ---------- _resolve ----------
+
+
+class TestResolve:
+ def test_none_returns_none(self) -> None:
+ assert _resolve(None) is None
+
+ def test_false_returns_sentinel(self) -> None:
+ assert _resolve(False) is _SENTINEL
+
+ def test_true_returns_config(self) -> None:
+ result = _resolve(True)
+ assert isinstance(result, CheckpointConfig)
+ assert result.directory == "./.checkpoints"
+
+ def test_config_returns_config(self) -> None:
+ cfg = CheckpointConfig(directory="/tmp/cp")
+ assert _resolve(cfg) is cfg
+
+
+# ---------- _find_checkpoint inheritance ----------
+
+
+class TestFindCheckpoint:
+ def _make_agent(self, checkpoint: Any = None) -> Agent:
+ return Agent(role="r", goal="g", backstory="b", checkpoint=checkpoint)
+
+ def _make_crew(
+ self, agents: list[Agent], checkpoint: Any = None
+ ) -> Crew:
+ crew = Crew(agents=agents, tasks=[], checkpoint=checkpoint)
+ for a in agents:
+ a.crew = crew
+ return crew
+
+ def test_crew_true(self) -> None:
+ a = self._make_agent()
+ self._make_crew([a], checkpoint=True)
+ cfg = _find_checkpoint(a)
+ assert isinstance(cfg, CheckpointConfig)
+
+ def test_crew_true_agent_false_opts_out(self) -> None:
+ a = self._make_agent(checkpoint=False)
+ self._make_crew([a], checkpoint=True)
+ assert _find_checkpoint(a) is None
+
+ def test_crew_none_agent_none(self) -> None:
+ a = self._make_agent()
+ self._make_crew([a])
+ assert _find_checkpoint(a) is None
+
+ def test_agent_config_overrides_crew(self) -> None:
+ a = self._make_agent(
+ checkpoint=CheckpointConfig(directory="/agent_cp")
+ )
+ self._make_crew([a], checkpoint=True)
+ cfg = _find_checkpoint(a)
+ assert isinstance(cfg, CheckpointConfig)
+ assert cfg.directory == "/agent_cp"
+
+ def test_task_inherits_from_crew(self) -> None:
+ a = self._make_agent()
+ self._make_crew([a], checkpoint=True)
+ task = Task(description="d", expected_output="e", agent=a)
+ cfg = _find_checkpoint(task)
+ assert isinstance(cfg, CheckpointConfig)
+
+ def test_task_agent_false_blocks(self) -> None:
+ a = self._make_agent(checkpoint=False)
+ self._make_crew([a], checkpoint=True)
+ task = Task(description="d", expected_output="e", agent=a)
+ assert _find_checkpoint(task) is None
+
+ def test_flow_direct(self) -> None:
+ flow = Flow(checkpoint=True)
+ cfg = _find_checkpoint(flow)
+ assert isinstance(cfg, CheckpointConfig)
+
+ def test_flow_none(self) -> None:
+ flow = Flow()
+ assert _find_checkpoint(flow) is None
+
+ def test_unknown_source(self) -> None:
+ assert _find_checkpoint("random") is None
+
+
+# ---------- _prune ----------
+
+
+class TestPrune:
+ def test_prune_keeps_newest(self) -> None:
+ with tempfile.TemporaryDirectory() as d:
+ for i in range(5):
+ path = os.path.join(d, f"cp_{i}.json")
+ with open(path, "w") as f:
+ f.write("{}")
+ # Ensure distinct mtime
+ time.sleep(0.01)
+
+ _prune(d, max_keep=2)
+ remaining = os.listdir(d)
+ assert len(remaining) == 2
+ assert "cp_3.json" in remaining
+ assert "cp_4.json" in remaining
+
+ def test_prune_zero_removes_all(self) -> None:
+ with tempfile.TemporaryDirectory() as d:
+ for i in range(3):
+ with open(os.path.join(d, f"cp_{i}.json"), "w") as f:
+ f.write("{}")
+
+ _prune(d, max_keep=0)
+ assert os.listdir(d) == []
+
+ def test_prune_more_than_existing(self) -> None:
+ with tempfile.TemporaryDirectory() as d:
+ with open(os.path.join(d, "cp.json"), "w") as f:
+ f.write("{}")
+
+ _prune(d, max_keep=10)
+ assert len(os.listdir(d)) == 1
+
+
+# ---------- CheckpointConfig ----------
+
+
+class TestCheckpointConfig:
+ def test_defaults(self) -> None:
+ cfg = CheckpointConfig()
+ assert cfg.directory == "./.checkpoints"
+ assert cfg.on_events == ["task_completed"]
+ assert cfg.max_checkpoints is None
+ assert not cfg.trigger_all
+
+ def test_trigger_all(self) -> None:
+ cfg = CheckpointConfig(on_events=["*"])
+ assert cfg.trigger_all
+
+ def test_trigger_events(self) -> None:
+ cfg = CheckpointConfig(
+ on_events=["task_completed", "crew_kickoff_completed"]
+ )
+ assert cfg.trigger_events == {"task_completed", "crew_kickoff_completed"}