* Add tools for creating, retrieving, updating, and deleting thoughts. * Implement project management tools for creating and listing projects. * Introduce linking functionality between thoughts. * Add search and recall capabilities for thoughts based on semantic queries. * Implement statistics and summarization tools for thought analysis. * Create database migrations for thoughts, projects, and links. * Add helper functions for UUID parsing and project resolution.
41 lines
954 B
Go
41 lines
954 B
Go
package types
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/google/uuid"
|
|
)
|
|
|
|
type ThoughtPatch struct {
|
|
Content *string `json:"content,omitempty"`
|
|
Metadata ThoughtMetadata `json:"metadata,omitempty"`
|
|
Project *uuid.UUID `json:"project_id,omitempty"`
|
|
}
|
|
|
|
type Project struct {
|
|
ID uuid.UUID `json:"id"`
|
|
Name string `json:"name"`
|
|
Description string `json:"description,omitempty"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
LastActiveAt time.Time `json:"last_active_at"`
|
|
}
|
|
|
|
type ProjectSummary struct {
|
|
Project
|
|
ThoughtCount int `json:"thought_count"`
|
|
}
|
|
|
|
type ThoughtLink struct {
|
|
FromID uuid.UUID `json:"from_id"`
|
|
ToID uuid.UUID `json:"to_id"`
|
|
Relation string `json:"relation"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
}
|
|
|
|
type LinkedThought struct {
|
|
Thought Thought `json:"thought"`
|
|
Relation string `json:"relation"`
|
|
Direction string `json:"direction"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
}
|