summaryrefslogtreecommitdiff
path: root/internal/askcli
AgeCommit message (Collapse)Author
2026-03-27release: v0.27.2v0.27.2mainPaul Buetow
2026-03-27release: v0.27.1v0.27.1Paul Buetow
2026-03-27Rename ask table headersPaul Buetow
2026-03-27Implement command registry for askcli commandsPaul Buetow
2026-03-27docs: document askcli exportsPaul Buetow
2026-03-27Explicitly ignore askcli write errorsPaul Buetow
2026-03-27Switch task alias cache save to pointerPaul Buetow
2026-03-27Move selector helpers into task selectorPaul Buetow
2026-03-27Extract parseGlobalFlags helperPaul Buetow
2026-03-27refactor: share alias cache lookupPaul Buetow
2026-03-27Split askcli info and add commandsPaul Buetow
2026-03-27Use Go 1.21 max builtin in formatterPaul Buetow
2026-03-27664b9fe4: extract renderTaskList helperPaul Buetow
2026-03-27Remove dead UUID completion items (61568dc2-6915-4444-8027-2ad4eacf2408)Paul Buetow
2026-03-27Fix dispatcher routing test for 38d5bd83-29e7-4a3c-ad44-21dddfbdfe22Paul Buetow
2026-03-27refactor: extract runSingleTaskCommand helper ↵Paul Buetow
(715cc01f-1630-4d11-b6fd-18d64a8c2035)
2026-03-27task 3a4c0f14-16ad-487f-af7c-bd99ee6464e6: use pointer Dispatcher receiversPaul Buetow
2026-03-27askcli: support add depends selectorsPaul Buetow
2026-03-27fix ask description width 84f1af4e-be84-4265-9df2-8f6932059913Paul Buetow
2026-03-27fix ask alias output wording 7f53c2ff-4eb0-4c7e-bf90-f44587364f4aPaul Buetow
2026-03-27fix askcli header width for 0685342b-606c-4c8f-aab5-cd363d926e77Paul Buetow
2026-03-27fix ask add alias output for 1a1731dc-1f11-42bd-be12-4c1af7f7e673Paul Buetow
2026-03-27test: cover ask info dependencies 052ad39a-6967-4628-a65c-db2a163de09bPaul Buetow
2026-03-27Verify fish selector completion coverage for ↵Paul Buetow
6c1f2f60-d55c-4a0c-ba5d-e897c738ecb4
2026-03-27Add alias coverage for task b777fcc2-8f64-4250-b0ac-6038a8aa26b4Paul Buetow
2026-03-27task 73fabcf6-d4a1-4bf3-aae1-a390a734e517: extend ask selector completionPaul Buetow
2026-03-27askcli: show task aliases in output (cd322ed1-882d-40e9-ab98-689acd5f161e)Paul Buetow
2026-03-26askcli: resolve aliases for selector task 0b9480fe-ec1b-4c0e-a8b0-88f1f08b56d3Paul Buetow
2026-03-26Implement ask alias cache foundation for d5a99b1b-13f3-4b73-8222-71f012c60bc9Paul Buetow
2026-03-26Implement ask started-task info 4c3640dc-3730-40c9-bfa6-db90564e3171Paul Buetow
2026-03-26release: v0.26.1v0.26.1Paul Buetow
2026-03-26ask: speed up fish UUID completionPaul Buetow
2026-03-26ask: filter fish UUID completionPaul Buetow
2026-03-26ask: add fish UUID completionsPaul Buetow
2026-03-26ask: align list header columns for task da6d3d36Paul Buetow
2026-03-26ask: silence rc.confirmation override bannerPaul Buetow
2026-03-26ask: add fish completions for task CLIPaul Buetow
2026-03-24ask: add --json flag for machine-readable outputv0.25.12Paul Buetow
List, ready, all, info, and urgency commands now output JSON arrays when --json is passed. This fixes pi agent-plan-mode extension which expects JSON from ask but was getting human-readable tables. Amp-Thread-ID: https://ampcode.com/threads/T-019d207c-b8e2-748d-af52-dd8f84fb2b32 Co-authored-by: Amp <amp@ampcode.com>
2026-03-23fix: prevent ask add from swallowing tags into descriptions, add ↵v0.25.11Paul Buetow
rc.confirmation=off parseAddArgs now rejects args that start with '+'/'-' but contain spaces as modifiers — those are description text, not tags (tags cannot have spaces). This prevents agents from quoting tag+description together and having the tag silently land in the task description with no tag applied. Also removed the fallthrough that duplicated all-modifier args as description. Added rc.confirmation=off to every taskwarrior invocation so that write operations (done, delete, start, etc.) succeed non-interactively when stdin is unavailable (as is always the case when called from an agent). Bump version to v0.25.11. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-23fix: accept uuid: prefix on all ask subcommands via NormalizeUUIDPaul Buetow
All ask commands now strip a leading "uuid:" prefix from user-supplied UUID arguments before building the taskwarrior filter, so both bare UUIDs and the "uuid:<value>" format work uniformly across annotate, start, stop, done, modify, denotate, priority, tag, info, delete, and dep. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-23fix: code quality improvements across lsp, askcli, appconfig, integrationtestsPaul Buetow
- lsp/handlers_completion.go: track collectFirstCompletion goroutine in inflight WaitGroup (goroutine leak fix) - lsp/transport.go: use %w instead of %v for error wrapping - askcli/command_list.go: extract handleListWithFilters shared helper; handleList/handleAll/handleReady are now single-liners - askcli/command_list.go, urgency.go, dep.go: log ParseTaskExport errors to stderr instead of returning 1 silently - appconfig/config_load.go: rename 'any' variable to 'found' to avoid shadowing the built-in identifier - llm/provider.go: add explanatory comment for package-level registry - integrationtests/ask_test.go: add //go:build integration tag; move repoRoot init from init() to TestMain with diagnostic error message Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-23fix: correct taskwarrior filter ordering in dep and info commandsPaul Buetow
- command_dep.go handleDepAddRm: was passing uuid as a modification argument (task modify <uuid> depends:...) which could modify ALL agent tasks; now uses uuid:<uuid> as filter - command_dep.go handleDepList: updated deprecated 'uuid <value>' space syntax to canonical 'uuid:<uuid>' colon syntax - command_info_add.go handleInfo: same space→colon fix for consistency All mutation commands now uniformly use uuid:<uuid> as the filter before the action verb. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-23fix: address all HIGH-severity code quality audit findingsPaul Buetow
- lsp/server.go: track request goroutines in inflight WaitGroup to prevent use-after-close writes on shutdown - lsp/llm_client_registry.go: acquire write lock before calling build() to eliminate TOCTOU race on cache population - lsp/handlers_codeaction.go: resolveSimplifyCodeAction now uses PromptCodeActionSimplify{System,User} (was wrongly using rewrite prompts) - askcli/taskexport.go: remove exported MustParseTaskExport to prevent panic on malformed external input; move to unexported test helper - cmd/ask/main.go: print error to stderr before os.Exit - llm/{openai,ollama,openrouter}.go: add interface satisfaction assertions - integrationtests/ask_test.go: replace type assertions with errors.As for robust exec.ExitError unwrapping Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-23fix: use uuid:<uuid> filter for start/stop/done/annotate/modify commandsPaul Buetow
Taskwarrior expects the filter before the action verb. Commands like 'task start <uuid>' are invalid — the UUID must be part of the filter: 'task uuid:<uuid> start'. All mutation commands now use this pattern consistently, matching how priority/tag/denotate already worked. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-23ask add: always emit UUID, never the numeric task IDPaul Buetow
Use rc.verbose=new-uuid so taskwarrior prints "Created task <uuid>." directly on stdout. Parse the UUID from that line instead of doing a two-step numeric-ID lookup or falling back to an export call. Removes ExtractUUIDFromOutput (which could leak numeric IDs) and fetchUUIDByNumericID (the export fallback). Integration tests now get the UUID straight from ask add output without any extra calls. Also fixes TestMain_WiresDispatcher which expected "export" first in args, but list now prepends status:pending filter. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-22ask: fix filter argument ordering for list/all/ready commandsv0.25.4Paul Buetow
Filters like +tag must come before the 'export' action in task commands. Previously filters were appended after 'export' causing 'ask list +integrationtest' to fail.
2026-03-22ask list: only show pending tasks by defaultv0.25.3Paul Buetow
Add status:pending filter to list command so it only shows pending tasks, not completed or deleted ones. Use 'ask all' to see all tasks.
2026-03-22ask: fix CLI commands to use correct Taskwarrior argument formatsv0.25.2Paul Buetow
- handlePriority: use 'uuid:<uuid> modify priority:<level>' instead of 'priority <uuid> <level>' - handleTag: use 'uuid:<uuid> modify +/-tag' instead of 'tag <uuid> +/-tag' - handleDelete: use 'uuid:<uuid> delete' and pass stdin for confirmation - handleDenotate: use 'uuid:<uuid> denotate <pattern>' instead of 'denotate <uuid> <pattern>' - Add integration tests for all ask CLI subcommands - Update unit tests to match new command argument formats - createTask now uses task info to get UUID instead of export parsing - parseTaskInfoText fixed to split tags by ', ' instead of whitespace
2026-03-22ask: add ready command to list READY tasks (not blocked)Paul Buetow
handleReady passes +READY filter to show actionable tasks only. help text updated. tests updated.
2026-03-22ask: default to list, add ask all for complete task visibilityPaul Buetow
- ask (no args) now behaves like ask list (active tasks sorted by priority/urgency) - ask help: explicit help subcommand - ask all: shows ALL tasks including completed/deleted (uses status:any) - handleAll added in command_list.go, mirrors handleList with status:any - Updated tests: help tests use explicit 'ask help', all subcommand added to reachability test - Updated help text to document ask all