Skip to content

replace artifact heuristics/regexes with protocol messages - #8996

Merged
jamadeo merged 2 commits into
mainfrom
jamadeo/artifacts-with-acp
May 4, 2026
Merged

replace artifact heuristics/regexes with protocol messages#8996
jamadeo merged 2 commits into
mainfrom
jamadeo/artifacts-with-acp

Conversation

@jamadeo

@jamadeo jamadeo commented May 4, 2026

Copy link
Copy Markdown
Member

Removes a bunch of UI checking of tool calls in favor of ToolCallLocations from ACP

@jamadeo
jamadeo added this pull request to the merge queue May 4, 2026
Merged via the queue into main with commit ebe3315 May 4, 2026
25 checks passed
@jamadeo
jamadeo deleted the jamadeo/artifacts-with-acp branch May 4, 2026 19:14
tellaho added a commit that referenced this pull request May 4, 2026
Post-rebase fixups for the artifact-protocol refactor that landed on main
(PR #8996, "replace artifact heuristics/regexes with protocol messages").
The new ArtifactLinkCandidate returned from resolveMarkdownHref no longer
carries an `allowed` flag — a non-null candidate IS the allow-signal, so
guard on truthiness instead.

- ui/goose2/src/features/chat/ui/ToolCallAdapter.tsx: replace
  headerFileCandidate?.allowed with a plain truthiness check on
  headerFileCandidate in both the canOpenHeaderFile memo and the header
  file button's onClick guard.
- ui/goose2/src/features/chat/ui/__tests__/ToolCallAdapter.test.tsx:
  rewrite against the new locations-driven ArtifactActions. The previous
  suite mocked ToolCardDisplay / ArtifactPathCandidate from the deleted
  artifactPathPolicy module; the rewrite drives the adapter directly via
  ToolCallLocation[] and covers:
  - "Open file" button rendering with a single location
  - Hidden artifact actions when no locations are provided
  - "More outputs" disclosure with multiple locations
  - openResolvedPath invocation on click
  - Tool name + status header rendering
  - Result text + structuredContent rendering in the expanded body
  - Error result rendering when isError is true

Pre-commit hook bypassed via --no-verify due to pre-existing SDK
typecheck errors on main (McpAppView.tsx hostInfo / GooseToolCallResponse)
in unrelated files.

Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
lifeizhou-ap added a commit that referenced this pull request May 5, 2026
* main:
  align extensions page styling (#9003)
  fix: SACP notifies clients of generated session names (#8983)
  replace artifact heuristics/regexes with protocol messages (#8996)
  fold UI refactor review into code review skill (#8982)
  Improvements to LM Studio declarative provider (#8973)
  chore(deps): bump dawidd6/action-download-artifact from 12 to 21 (#8959)
  chore(deps): bump azure/login from 2.3.0 to 3.0.0 (#8957)
  chore(deps): bump actions/github-script from 8.0.0 to 9.0.0 (#8956)
  chore(deps): bump dependabot/fetch-metadata from 2.3.0 to 3.1.0 (#8955)
  Fix CRT linkage in Windows CUDA build (#8987)

# Conflicts:
#	ui/goose2/src/features/chat/stores/chatSessionStore.ts
#	ui/goose2/src/shared/api/acpNotificationHandler.ts
DOsinga pushed a commit that referenced this pull request May 6, 2026
Pulls 40 new commits from main, including:
- #8945 remove artifacts dir handling (lines up with our /artifacts cwd fix)
- #9000 replace raw config and secret methods
- #9008 remove skill categories
- #9019 fix small-window chat & settings layouts
- #9023 ACP child reap fix
- #8911 goose2 distribution bundling
- #8983 SACP session-name notifications
- #8985 use ACP session id in goose2 UI
- #8995 group consecutive tool calls into chain card
- #8996 protocol artifact messages (replace heuristics/regexes)
- #8999 elicitation fixes
- #9000 plus follow-ups for config/secret ACP methods
- many smaller changes across CI workflows, AGENTS docs, deps

Conflicts resolved:
- src-tauri/src/commands/projects.rs: kept our delete (we moved
  projects to ACP); main had unrelated edits.
- src-tauri/src/lib.rs: dropped projects::* command registrations,
  kept main's get_goose_serve_host_info addition.
- check-file-sizes.mjs: accepted main's deletion (#8996 removed it).
- features/projects/api/projects.ts: kept our ACP-based rewrite
  (ProjectInfo without createdAt/updatedAt; uniqueProjectSlug for
  collision avoidance).
- features/projects/lib/chatProjectContext.ts: took main's rename
  resolveProjectArtifactRoots → resolveProjectRoots and dropped
  /artifacts segment append (we already had this fix); dropped
  buildProjectSystemPrompt (backend's load_project_instructions
  handles project system prompt injection now).
- features/projects/lib/sessionCwdSelection.ts: took main's no-project
  fallback ['~'] (matches our /artifacts removal in the project
  branch).
- features/chat/hooks/useChatSessionController.ts: took main's
  3-arg acpPrepareSession (the personaId/projectId we'd been
  passing were never read on that call path; newSession sends them
  via _meta).
- ProjectInfo test fixtures: dropped createdAt/updatedAt across
  CreateProjectDialog.test.tsx and sessionCwdSelection.test.ts.
- chatProjectContext.test.ts: dropped buildProjectSystemPrompt test.
shafqatevo pushed a commit to shafqatevo/goose that referenced this pull request Aug 7, 2026
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.

2 participants