Skip to content

feat(core): name the prompt and parent on tool contexts and shell metadata - #15

Closed
liorshk wants to merge 1 commit into
noam/v2-product-patchesfrom
shell-prompt-id
Closed

liorshk wants to merge 1 commit into
noam/v2-product-patchesfrom
shell-prompt-id

Conversation

@liorshk

@liorshk liorshk commented Oct 5, 2026 •

Copy link
Copy Markdown
Collaborator

A step's tool context now carries promptID (the newest user message in the loaded history, i.e. the prompt the step answers) and parentID (the Session's parent, for a subagent). The shell tool echoes both onto the shell's metadata, so a shell.create.before hook can attribute a shell to its turn directly. Today the hook sees only the assistant row and the tool call, and Script.it's trace plugin has to hand the assistant row to the bridge to find the prompt.

Both fields are optional additions to Tool.Context; no protocol or client surface changes.

Tested: bun typecheck in core, schema and plugin; bun run lint; tool-shell (background shell metadata), session-runner (tool context carries the prompt, no parent on a top-level Session). The 6 shell-syntax failures in tool-shell.test.ts on this Mac fail on the unmodified branch too.

A complementary Script.it change makes the trace plugin write message_id from promptID for a top-level session, and keeps the assistant-row path for subagents.

…adata

A step's tool context carries the user message the step answers (promptID,
the newest user message in the loaded history) and the Session's parent when
it is a subagent's (parentID). The shell tool echoes both onto the shell's
metadata, so a shell.create.before hook can attribute the shell to its turn
without a lookup: today it sees only the assistant row and the tool call.
@github-actions

github-actions Bot commented Oct 5, 2026

Copy link
Copy Markdown

This PR doesn't fully meet our contributing guidelines and PR template.

What needs to be fixed:

  • PR description is missing required template sections. Please use the PR template.

Please edit this PR description to address the above within 2 hours, or it will be automatically closed.

If you believe this was flagged incorrectly, please let a maintainer know.

@liorshk

liorshk commented Oct 5, 2026 •

Copy link
Copy Markdown
Collaborator Author

Superseded: the trace plugin can read the prompt itself through the plugin session API (ctx.session.get / ctx.session.context), which it now does. No fork change needed.

@liorshk liorshk closed this Oct 5, 2026
@liorshk
liorshk deleted the shell-prompt-id branch October 5, 2026 07:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant