Skip to content

Releases: Dieg0Code/syndicate-go

v0.4.0

31 May 02:04

Choose a tag to compare

What's New in v0.4.0

Enhanced PromptBuilder with Markdown Support

  • Added support for code blocks with language specification
  • Added bullet lists, bold text, italic text
  • Added headers, blockquotes, links, horizontal rules
  • Added table support with automatic formatting
  • Maintained backward compatibility with existing API

Functional Tool Creation

  • Added functional options pattern for Tool creation
  • Simplified creation of tools with a clean, idiomatic API
  • Added robust error handling and validation

v0.3.0 - Functional Options API Refacto

29 May 23:04

Choose a tag to compare

🚀 v0.3.0 - Major API Refactor

⚠️ Breaking Changes

  • Complete API overhaul: Replaced builder pattern with functional options
  • Method changes: Process()Chat() with functional options
  • Constructor changes: All NewX().SetY().Build()NewX(WithY())

✨ What's New

  • 🔧 Functional Options Pattern: More flexible and readable API
  • 📝 Better Error Handling: Clear validation at creation time
  • 🎯 Improved Consistency: Unified pattern across all components
  • 📚 Updated Examples: All examples now use the new API

🔄 Migration Examples

Before (v0.2.6):

agent, err := syndicate.NewAgent().
    SetClient(client).
    SetName("MyAgent").
    SetConfigPrompt("...").
    Build()

response, err := agent.Process(ctx, "user", "input")

After (v0.3.0):

agent, err := syndicate.NewAgent(
    syndicate.WithClient(client),
    syndicate.WithName("MyAgent"),
    syndicate.WithSystemPrompt("..."),
)

response, err := agent.Chat(ctx,
    syndicate.WithUserName("user"),
    syndicate.WithInput("input"),
)

📁 Updated Components

  • ✅ Agent creation and configuration
  • ✅ Syndicate creation and pipeline management
  • ✅ Memory management (already using functional options)
  • ✅ All example applications
  • ✅ Comprehensive test suite

🎯 Next Steps

This release establishes a stable foundation for v1.0.0. The API is now more maintainable and extensible for future features.

v0.2.6

08 Mar 01:06

Choose a tag to compare

tool_call_id

v0.2.5

08 Mar 00:48

Choose a tag to compare

fix: remove ToolID and ToolCallID assertions from OpenAI messages test

v0.2.3

08 Mar 00:12

Choose a tag to compare

fix: update content message in handleToolCalls to indicate execution

v0.2.2

07 Mar 23:43

Choose a tag to compare

fix: add mutex lock around memory updates in handleToolCalls

v0.2.1

07 Mar 20:39

Choose a tag to compare

fix: update actions version to v4

v0.2.0

23 Feb 23:37

Choose a tag to compare

🚀 Syndicate SDK v0.2.0 Release - Smarter, Stronger, and More Flexible! 🎉

Hey awesome developers! 👋 We’re thrilled to introduce Syndicate SDK v0.2.0 – packed with new features, optimizations, and enhancements to make AI agent development in Go even more powerful! 💪✨


🆕 What’s New?

🤖 Agent Management Enhancements

  • More flexibility in building agents – Customize system prompts, memory, and tools with ease.
  • Improved orchestration – Recruit and manage multiple agents in a predefined sequence.

🔧 Tool Schemas & JSON Validation

  • Auto-generate JSON schemas from Go structures for structured input validation.
  • Enhanced execution flow – Tools can now enforce strict input validation, reducing errors.

🧠 Memory Implementations

  • Custom memory support – Implement your own memory storage while leveraging built-in options.
  • Concurrency-safe design – Ensuring thread safety for multi-agent interactions.

📝 Prompt Engineering Like a Pro

  • Structured prompts with sections & subsections 📑 for clarity and organization.
  • Easier prompt modifications – Create dynamic configuration prompts in a fluent API.

🦾 Syndicate System - The AI Orchestrator!

  • Seamlessly manage multiple agents in a step-by-step execution pipeline.
  • Designed for complex workflows – Perfect for real-world AI-driven applications.

🔥 Code Examples to Get You Started

🚀 Creating an AI Agent

agent, err := syndicate.NewAgent().
    SetClient(openaiClient).
    SetName("OrderAgent").
    SetConfigPrompt("You handle customer orders and process them accordingly.").
    SetModel(openai.GPT4).
    Build()

🛠️ Defining a Tool for Order Processing

type OrderSchema struct {
    Items        []string `json:"items"`
    CustomerName string   `json:"customer_name"`
}

func (ot *OrderTool) Execute(args json.RawMessage) (interface{}, error) {
    var order OrderSchema
    json.Unmarshal(args, &order)
    return fmt.Sprintf("Order received for %s!", order.CustomerName), nil
}

🏗️ Orchestrating Multiple Agents

syndicateSystem := syndicate.NewSyndicate().
    RecruitAgent(orderAgent).
    RecruitAgent(summaryAgent).
    DefinePipeline([]string{"OrderAgent", "SummaryAgent"}).
    Build()

📌 Why Upgrade?

✅ More control over AI agent workflows 🚀
✅ Stronger type safety with JSON schema validation 🔥
✅ Cleaner and more maintainable prompt engineering 📜
✅ Smarter and more efficient memory management 🧠

We’re just getting started – expect even more improvements in the future! 🚀
Give it a try and let us know what you think! 🗣️💬

👉 Install or Upgrade Now:

go get -u github.com/Dieg0Code/syndicate-go

Happy coding! 💻✨

v0.1.0

22 Feb 22:20

Choose a tag to compare

docs: update README to reflect repository name change from syndicate …