feat: improve tool usage guidance in SOUL.md and add cron.create/cron.delete tools
- SOUL.md: list all available tools (web.search, memory.*, cron.*, etc.)
and add Tool Usage Rules section enforcing 'act, don't narrate'
- cron.ts: add getJob(), addJob(), removeJob() to CronScheduler for
runtime (ephemeral) cron job management
- cron tools: add cron.create and cron.delete tools, enhance cron.list
to show schedule/output/message details
- policy.ts: add cron tools to messaging and coding profiles, add
group:cron to tool groups
Fixes issue where models would narrate tool intent ('let me search...')
then stop without actually calling tools.
This commit is contained in:
@@ -34,6 +34,10 @@ const PROFILE_TOOLS: Record<ToolProfile, Set<string>> = {
|
||||
'drive.read',
|
||||
'tasks.lists',
|
||||
'tasks.list',
|
||||
'cron.list',
|
||||
'cron.trigger',
|
||||
'cron.create',
|
||||
'cron.delete',
|
||||
]),
|
||||
coding: new Set([
|
||||
'file.read',
|
||||
@@ -58,6 +62,10 @@ const PROFILE_TOOLS: Record<ToolProfile, Set<string>> = {
|
||||
'drive.read',
|
||||
'tasks.lists',
|
||||
'tasks.list',
|
||||
'cron.list',
|
||||
'cron.trigger',
|
||||
'cron.create',
|
||||
'cron.delete',
|
||||
'file.write',
|
||||
'file.edit',
|
||||
'file.patch',
|
||||
@@ -90,6 +98,7 @@ export const TOOL_GROUPS: Record<string, string[]> = {
|
||||
'group:gdocs': ['docs.list', 'docs.search', 'docs.read'],
|
||||
'group:gdrive': ['drive.list', 'drive.search', 'drive.read'],
|
||||
'group:gtasks': ['tasks.lists', 'tasks.list'],
|
||||
'group:cron': ['cron.list', 'cron.trigger', 'cron.create', 'cron.delete'],
|
||||
};
|
||||
|
||||
/** Expand group references in a list of tool names/patterns. */
|
||||
|
||||
Reference in New Issue
Block a user