feat: improve AE Journal read toolset
- ae_journal_entry_read: expose full entry content by id_random (title, journal, tags, summary, full content with configurable truncation) - ae_journal_entries_list: browse all entries in a journal newest-first, numbered with id/title/tags/summary/date and pagination support - ae_journal_search: richer output — tags, updated date, 400-char preview (was 200), show summary OR preview (not both when summary exists) _get_entry() was already implemented; read tool just exposes it properly. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -18,6 +18,8 @@ from google.genai import types
|
||||
from tools.web import search as _web_search
|
||||
from tools.ae_knowledge import journal_search as _ae_journal_search
|
||||
from tools.ae_knowledge import journal_list as _ae_journal_list
|
||||
from tools.ae_knowledge import journal_entry_read as _ae_journal_entry_read
|
||||
from tools.ae_knowledge import journal_entries_list as _ae_journal_entries_list
|
||||
from tools.ae_knowledge import journal_entry_create as _ae_journal_entry_create
|
||||
from tools.ae_knowledge import journal_entry_update as _ae_journal_entry_update
|
||||
from tools.ae_knowledge import journal_entry_disable as _ae_journal_entry_disable
|
||||
@@ -119,6 +121,57 @@ _ae_journal_search_declaration = types.FunctionDeclaration(
|
||||
),
|
||||
)
|
||||
|
||||
_ae_journal_entry_read_declaration = types.FunctionDeclaration(
|
||||
name="ae_journal_entry_read",
|
||||
description=(
|
||||
"Fetch the full content of a single journal entry by its id_random. "
|
||||
"Use this when you need to read an entry before editing it, or when search results "
|
||||
"don't show enough content. Returns title, journal, tags, summary, and full content."
|
||||
),
|
||||
parameters=types.Schema(
|
||||
type=types.Type.OBJECT,
|
||||
properties={
|
||||
"entry_id": types.Schema(
|
||||
type=types.Type.STRING,
|
||||
description="The id_random of the journal entry to read.",
|
||||
),
|
||||
"max_content_chars": types.Schema(
|
||||
type=types.Type.INTEGER,
|
||||
description="Maximum characters of content to return (default 4000). Increase for long entries.",
|
||||
),
|
||||
},
|
||||
required=["entry_id"],
|
||||
),
|
||||
)
|
||||
|
||||
_ae_journal_entries_list_declaration = types.FunctionDeclaration(
|
||||
name="ae_journal_entries_list",
|
||||
description=(
|
||||
"List entries in a specific journal, newest first. "
|
||||
"Use this to browse what's in a journal when you don't have a search keyword, "
|
||||
"or to find entries by browsing rather than searching. "
|
||||
"Returns numbered entries with id, title, tags, summary, and date."
|
||||
),
|
||||
parameters=types.Schema(
|
||||
type=types.Type.OBJECT,
|
||||
properties={
|
||||
"journal_id": types.Schema(
|
||||
type=types.Type.STRING,
|
||||
description="The id_random of the journal to list entries from.",
|
||||
),
|
||||
"max_results": types.Schema(
|
||||
type=types.Type.INTEGER,
|
||||
description="Number of entries to return (default 20, max 50).",
|
||||
),
|
||||
"page": types.Schema(
|
||||
type=types.Type.INTEGER,
|
||||
description="Page number for pagination (default 1).",
|
||||
),
|
||||
},
|
||||
required=["journal_id"],
|
||||
),
|
||||
)
|
||||
|
||||
_ae_journal_entry_create_declaration = types.FunctionDeclaration(
|
||||
name="ae_journal_entry_create",
|
||||
description=(
|
||||
@@ -283,6 +336,8 @@ _CALLABLES: dict[str, callable] = {
|
||||
"web_search": _web_search,
|
||||
"ae_journal_list": _ae_journal_list,
|
||||
"ae_journal_search": _ae_journal_search,
|
||||
"ae_journal_entry_read": _ae_journal_entry_read,
|
||||
"ae_journal_entries_list": _ae_journal_entries_list,
|
||||
"ae_journal_entry_create": _ae_journal_entry_create,
|
||||
"ae_journal_entry_update": _ae_journal_entry_update,
|
||||
"ae_journal_entry_disable": _ae_journal_entry_disable,
|
||||
@@ -858,6 +913,8 @@ _ALL_DECLARATIONS: list[types.FunctionDeclaration] = [
|
||||
_web_search_declaration,
|
||||
_ae_journal_list_declaration,
|
||||
_ae_journal_search_declaration,
|
||||
_ae_journal_entry_read_declaration,
|
||||
_ae_journal_entries_list_declaration,
|
||||
_ae_journal_entry_create_declaration,
|
||||
_ae_journal_entry_update_declaration,
|
||||
_ae_journal_entry_disable_declaration,
|
||||
|
||||
Reference in New Issue
Block a user