Skip to content

agent: route task tools through tk- displayIds#882

Closed
harshithmullapudi wants to merge 2 commits into
mainfrom
agent-task-displayid-handles
Closed

agent: route task tools through tk- displayIds#882
harshithmullapudi wants to merge 2 commits into
mainfrom
agent-task-displayid-handles

Conversation

@harshithmullapudi
Copy link
Copy Markdown
Member

Summary

  • Agent tools now accept tk-… displayIds (e.g. tk-abcde, tk-abcde.1) for every task lookup, in addition to UUIDs. New resolveTaskId(input, workspaceId) helper auto-detects the format and returns the canonical UUID via the existing (workspaceId, displayId) unique index — no schema or PK changes.
  • Threaded through task-tools (get_task, update_task, unblock_task, delete_task, confirm_task, get_task_tree, plus parentTaskId/newParentId on create_task/update_task) and session-tools (get_task_coding_session, list_task_coding_sessions, list_task_browser_sessions).
  • Tool outputs render displayId ?? id so the agent has a stable, human-readable handle to round-trip. reschedule_self untouched (uses server-injected UUID).
  • Bundled unrelated WIP at the user's request: decision-agent prompt cleanup, granola/ynab SDK bumps, GitHub integration tool-UI flags, granola schedule formatting.

Test plan

  • tsc --noEmit — zero new errors introduced in the changed files (verified by stashing and re-running; same 12 pre-existing errors)
  • vitest run app/services/agent/__tests__/session-tools.test.ts — 7/7 passing
  • Manual: confirm an agent invocation passing tk-xxxxx to get_task returns the task; confirm update_task reparent reports the new displayId
  • Manual: confirm get_task_coding_session with a tk-… arg resolves correctly

🤖 Generated with Claude Code

harshithmullapudi and others added 2 commits May 28, 2026 12:45
Agent tools now accept tk- displayIds (e.g. tk-abcde, tk-abcde.1) in
addition to UUIDs for every task lookup. Internally the new
resolveTaskId(input, workspaceId) helper detects the format and returns
the canonical UUID, scoped to the workspace via the existing
(workspaceId, displayId) unique index.

Threaded through:
  - task-tools: get_task, update_task, unblock_task, delete_task,
    confirm_task, get_task_tree (taskId), create_task (parentTaskId),
    update_task (newParentId)
  - session-tools: get_task_coding_session, list_task_coding_sessions,
    list_task_browser_sessions

Tool outputs now render displayId so the agent has a stable, human-
readable handle to round-trip. UUID remains the internal PK; no schema
changes. reschedule_self is untouched (uses server-injected UUID).

Also includes unrelated WIP bundled at the user's request:
decision-agent prompt cleanup, granola/ynab SDK bumps, GitHub
integration tool-UI flags, and granola schedule formatting.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…gents

Removed the misleading example names ("codex", "cursor-agent") from the
CODING AGENT SELECTION block — they don't match the registered names
(e.g. the real one is codex-cli), so the model was passing user wording
verbatim and skipping the lookup.

Now the prompt requires calling coding_list_agents when the intent names
a specific agent, then passing the exact registered name to coding_ask.
The default path (no agent specified) still skips the lookup.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant