Repository navigation
Conversation
Signed-off-by: Hongyi Shen <wilbeibi@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Devin web sessions can now seed another agent by pasting a session URL into the existing
fork --fromcommand. SetDEVIN_API_KEYto an organization-scoped service-user key with session read access:Enterprise session URLs work too. The importer discovers the organization through
/v3/self, reads events in pages of 50, and uses catchup's existing transcript renderer andsession.Failure. It retains user/Devin messages and failed shell commands, including command/result pairs split across pages. Ordinary URL imports, including Devin attachment URLs, keep their existing behavior.The API key goes only to
api.devin.ai; authenticated redirects are refused. Import failure prevents launching the receiving agent with a partial transcript. The complete fetch has a one-minute deadline. No dependencies, caches, background work, or provider registry changes are added.API stability and scope: event details come from the
v3beta1HTTP endpoint used by the official Devin MCP server, observed live on 2026-10-15. It is absent from the public v3 OpenAPI specification and may change. Shell output is already truncated upstream; API-reported field truncation produces additional warnings. Attachments, non-shell tool failures, compaction history, PAT/enterprise-key organization selection, remote discovery/search, and native Devin resume are outside this import path.Read
internal/devin/devin.gofor the importer and the smallreadArtifactchange for CLI wiring. The fixture contains selected, sanitized real event records in their original order.Validation:
go test ./...,go test -race ./...,go vet ./..., andgo build ./...passed on macOS arm64 with Go 1.27.2. CI runs Go 1.25 on Linux and Windows.TestRunForkFromDevinexercises real HTTP responses through CLI handoff, using observed wire keys as its oracle. Seven mutations were caught: lost authorization, premature pagination termination, lost command input, successful commands misclassified as failures, duplicate failures, hidden truncation, and followed redirects. The attachment regression failed before narrowing URL recognition.TestRunForkFromURLalso checks that a configured Devin key does not replace ordinary URL authorization.Diff budget: runtime +169 / -5, tests and fixtures +164 / -0, docs +22 / -0; 355 added lines total.