Commit graph

229 commits

Author SHA1 Message Date
Babak K. Shandiz
c68d1a31c0
fix(agent-task/capi): keep sessions with no resource attached
Signed-off-by: Babak K. Shandiz <babakks@github.com>
2025-09-18 12:00:55 +01:00
Babak K. Shandiz
5f73d3b438
refactor(agent-task list): remove unused BaseRepo from ListOptions
Signed-off-by: Babak K. Shandiz <babakks@github.com>
2025-09-18 12:00:54 +01:00
Babak K. Shandiz
6ec4324d6d
docs(agent-task/capi): fix test case explanation
Signed-off-by: Babak K. Shandiz <babakks@github.com>
2025-09-18 12:00:54 +01:00
Kynan Ware
08bc1a8d29
Fix session deduplication and add test for paging
Refactor ListLatestSessionsForViewer to use a map for tracking seen resource IDs, ensuring only the newest session per resource is kept. Add a test case to verify correct deduplication across paginated API responses.
2025-09-18 12:00:54 +01:00
Kynan Ware
680ebade59
Remove repo-scoped session listing and related code
This commit removes support for listing agent sessions scoped to a specific repository, including the ListSessionsForRepo method and related tests. The list command now always lists the latest sessions for the viewer, simplifying the code and user experience. Test and mock code have been updated accordingly.
2025-09-18 12:00:50 +01:00
Babak K. Shandiz
c02a8d8c94
Merge pull request #11760 from cli/kw/update-gh-agent-root-cmd-help
`gh agent-task`: update help text
2025-09-18 11:11:44 +01:00
Babak K. Shandiz
a7c8fa4b84
docs(agent-task): use heredoc.Doc
Signed-off-by: Babak K. Shandiz <babakks@github.com>
2025-09-18 10:48:53 +01:00
Babak K. Shandiz
151b971933
Merge pull request #11755 from cli/babakks/polish-agent-task-view
`gh agent-task view`: polish and fix some issues
2025-09-18 10:38:15 +01:00
Babak K. Shandiz
f0a0c4b856
fix(agent-task view): display zero premium requests
Signed-off-by: Babak K. Shandiz <babakks@github.com>
2025-09-18 10:18:40 +01:00
Babak K. Shandiz
6927d642f6
fix(agent-task/shared): make capitalised status names consistent
Signed-off-by: Babak K. Shandiz <babakks@github.com>
2025-09-18 10:16:00 +01:00
Kynan Ware
7d2dfd3493
Update pkg/cmd/agent-task/agent_task.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-17 20:37:12 -06:00
Kynan Ware
562efc91c7
Update pkg/cmd/agent-task/agent_task.go 2025-09-17 20:34:03 -06:00
Kynan Ware
40a590773e Enhance agent-task command help and usage info
Updated the agent-task command to provide improved usage, long description, argument annotations, and examples. This enhances the CLI user experience by clarifying how to use the command and identify agent tasks.
2025-09-17 20:31:24 -06:00
Kynan Ware
25c0d0cf90 Refactor comments in stripDiffFormat function
Simplified and clarified comments in the stripDiffFormat function to improve readability and maintainability. No functional changes were made to the code.
2025-09-17 12:16:04 -06:00
Kynan Ware
f6b49858a2 Remove obsolete log-3 test data files
Deleted log-3-input.txt and log-3-want.txt from testdata as they are no longer needed for current tests.
2025-09-17 12:09:51 -06:00
Babak K. Shandiz
661817de50
fix(agent-task view): omit session overview in log mode
Signed-off-by: Babak K. Shandiz <babakks@github.com>
2025-09-17 13:59:13 +01:00
Babak K. Shandiz
99a61618df
fix(agent-task view): display premium requests used
Signed-off-by: Babak K. Shandiz <babakks@github.com>
2025-09-17 13:29:38 +01:00
Babak K. Shandiz
fe95cd86f1
fix(agent-task/capi): add PremiumRequests field to Session
Signed-off-by: Babak K. Shandiz <babakks@github.com>
2025-09-17 13:28:49 +01:00
Babak K. Shandiz
49ba21a366
fix(agent-task view): display session duration
Signed-off-by: Babak K. Shandiz <babakks@github.com>
2025-09-17 12:20:40 +01:00
Babak K. Shandiz
87b310a881
fix(agent-task view): display completed sessions as "Ready for review"
Signed-off-by: Babak K. Shandiz <babakks@github.com>
2025-09-17 11:58:04 +01:00
Babak K. Shandiz
897c2b12b4
fix(agent-task view): disable PR finder progress indicator
Signed-off-by: Babak K. Shandiz <babakks@github.com>
2025-09-17 11:50:08 +01:00
Kynan Ware
b3401ffd74 Refactor stripDiffFormat guard clause logic
Rearranged the guard clause in stripDiffFormat to return early if no hunk header is found, improving code clarity and reducing nesting.
2025-09-16 17:46:43 -06:00
Kynan Ware
c0a2648436 Use filepath.Ext to detect file extension in markdown renderer
Replaces manual string splitting with filepath.Ext for determining the file extension in renderFileContentAsMarkdown. This improves accuracy, especially for files with multiple dots in their names.
2025-09-16 17:34:57 -06:00
Kynan Ware
65b45adbd8 Improve log rendering error handling and test coverage
Refactors log rendering to print errors to stderr and continue processing on JSON parse or rendering failures, instead of returning early. Updates tests to check both stdout and stderr outputs, and adds new test cases and testdata for tolerant parsing and error scenarios.
2025-09-16 17:21:01 -06:00
Kynan Ware
97d3253aaf Prefix rendered shell commands with '$ ' in logs
Shell commands in log output are now prefixed with '$ ' for improved readability and consistency with common shell output conventions. Updated related test data and test helper comments to reflect this change.
2025-09-16 11:58:58 -06:00
Kynan Ware
d636f4c213 Clarify comment on CRLF normalization in tests
Updated comments in log_test.go to clarify that CRLF is normalized to LF for OS-agnostic test behavior, improving code readability.
2025-09-16 11:47:48 -06:00
Kynan Ware
37d8e0a438 Refactor generic tool call titles map to package scope
Moved the genericToolCallNamesToTitles map from inside the renderGenericToolCall function to a package-level variable for improved readability and potential reuse. This change also updates the function signature order for consistency.
2025-09-16 11:46:16 -06:00
Kynan Ware
4d9038ad31 Add pager support to log output in printLogs
Introduces use of a pager for log output in the printLogs function. If the pager fails to start, an error message is printed to stderr. This improves log readability for long outputs.
2025-09-16 11:26:55 -06:00
Babak K. Shandiz
dab285c61a
test(agent-task create): add test for --follow
Signed-off-by: Babak K. Shandiz <babakks@github.com>
2025-09-16 13:27:39 +01:00
Babak K. Shandiz
f5ed563a42
docs(agent-task create): add example for --follow flag
Signed-off-by: Babak K. Shandiz <babakks@github.com>
2025-09-16 13:18:26 +01:00
Babak K. Shandiz
4f7d577b97
feat(agent-task create): add --follow flag
Signed-off-by: Babak K. Shandiz <babakks@github.com>
2025-09-16 13:18:09 +01:00
Babak K. Shandiz
134ae31fea
refactor(agent-task create): extract session URL polling into a func
Signed-off-by: Babak K. Shandiz <babakks@github.com>
2025-09-16 13:07:01 +01:00
Kynan Ware
f779a3d16c Add TODO for bash-related tool call details
Inserted a TODO comment to consider including more details for bash-related tool calls in the log rendering function.
2025-09-15 14:23:12 -06:00
Kynan Ware
77509fcfb3 Update comment for reasoning text formatting
Clarifies that reasoning text should be formatted as a normal 'thought' message without a heading, improving code documentation.
2025-09-15 14:19:31 -06:00
Kynan Ware
887e842717 Enable Bash session tool handling in log rendering
Uncomments and activates support for Bash session tool calls (write_bash, read_bash, stop_bash, async_bash, read_async_bash, stop_async_bash) in the renderLogEntry function. Also defines the corresponding argument structs, enabling proper handling and display of these tool calls in the log output.
2025-09-15 14:18:42 -06:00
Kynan Ware
2c68168611 Rename testdata log files for clarity
Renamed sample log input and expected output files in testdata to use a consistent 'log-*-input.txt' and 'log-*-want.txt' naming scheme. Updated references in log_test.go to match the new file names for improved clarity and maintainability.
2025-09-15 13:52:14 -06:00
Kynan Ware
f33ef4227a Normalize line endings in log testdata files too 2025-09-15 13:43:12 -06:00
Kynan Ware
62d7a7541a Fix line ending conversion in tests 2025-09-15 13:41:19 -06:00
Kynan Ware
87d8d835f7 Add note for updating testdata files in log tests
A comment was added to TestFollow with instructions on how to update the .want testdata files when test outputs change. This helps maintainers regenerate expected output files more easily.
2025-09-15 13:36:35 -06:00
Kynan Ware
0b5a0491ca Make log tests OS-agnostic by normalizing line endings
Updated TestFollow to normalize line endings in test log files, ensuring consistent behavior across different operating systems, especially Windows.
2025-09-15 13:27:01 -06:00
Kynan Ware
ab796c80ef Fix comment for GetSessionLogs method 2025-09-15 13:07:00 -06:00
Kynan Ware
e5e7bc8ad6 Add and improve function documentation in log.go
Added and expanded Go doc comments for multiple functions in pkg/cmd/agent-task/shared/log.go to clarify their purpose and usage. Also refactored renderToolCallTitle and related logic for improved naming consistency and robustness.
2025-09-15 13:05:47 -06:00
Kynan Ware
6bbb5c43c5 Update log test expectation files 2025-09-15 12:46:08 -06:00
Kynan Ware
282a25f466 Rename renderToolCall to renderToolCallTitle
Refactors the function renderToolCall to renderToolCallTitle and updates all its usages for clarity. This improves function naming to better reflect its purpose of rendering tool call titles.
2025-09-15 12:41:46 -06:00
Kynan Ware
3829cff8da Rename relativePath to relativeFilePath in log rendering
Refactored the function name from relativePath to relativeFilePath for clarity and updated all usages accordingly in log rendering functions. Also improved comments in stripDiffFormat for better context.
2025-09-15 12:41:17 -06:00
Kynan Ware
718c462454 Refactor markdown rendering helper function names
Renamed renderMarkdownWithPadding to renderMarkdownWithFormat and related variables for clarity. Updated comments and TODOs for better context on GUI support and code behavior.
2025-09-15 12:34:44 -06:00
Kynan Ware
ec3fce0dfb Improve log rendering and tool call handling
Enhances log rendering by stripping diff formatting from viewed file content and improving JSON rendering with optional labels. Expands the list of recognized tool calls with descriptive titles, especially for Playwright and GitHub MCP server tools. Refactors related helper functions for clarity and robustness.
2025-09-15 10:13:55 -06:00
Kynan Ware
9e16a82e5e Refactor JSON content rendering in log entries
Extracted JSON content rendering into a new helper function renderContentAsJSONMarkdown for reuse. Updated 'report_progress' and 'create' tool call handling to use this helper, improving code clarity and reducing duplication. Also added support for rendering PR descriptions in 'report_progress' tool calls.
2025-09-15 10:13:55 -06:00
Kynan Ware
0fb10fca7d Various log rendering improvements
Updated the LogRenderer interface and implementations to accept *iostreams.IOStreams instead of *iostreams.ColorScheme, enabling access to terminal theme and width for improved markdown rendering. Refactored related code, tests, and mocks to support this change, and enhanced log rendering to better handle markdown and code output for various tool calls.
2025-09-15 10:13:55 -06:00
Babak K. Shandiz
1155e83070 feat(agent-task view): add --log and --follow flags
Signed-off-by: Babak K. Shandiz <babakks@github.com>
2025-09-15 10:13:55 -06:00