Skip to content

feat: support remote runtime hints and artifact retrieval#199

Merged
thymikee merged 3 commits intomainfrom
codex/issue-197-runtime-hints
Mar 9, 2026
Merged

feat: support remote runtime hints and artifact retrieval#199
thymikee merged 3 commits intomainfrom
codex/issue-197-runtime-hints

Conversation

@thymikee
Copy link
Contributor

@thymikee thymikee commented Mar 9, 2026

Summary

Apply session-scoped runtime transport hints during open so remote React Native dev-build flows work without proxy-specific execution.
Materialize remote screenshots and recordings back to caller-local paths, and secure artifact downloads with daemon-token checks plus timeout handling.
Update docs and tests for the remote daemon runtime/artifact behavior.

Validation

pnpm typecheck
pnpm test:unit
pnpm test:smoke

@github-actions
Copy link

github-actions bot commented Mar 9, 2026

PR Preview Action v1.8.1

QR code for preview link

🚀 View preview at
https://callstackincubator.github.io/agent-device/pr-preview/pr-199/

Built to branch gh-pages at 2026-03-09 18:39 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 0bf0ea20f5

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +450 to +454
const authResult = await runHttpAuthHook(authHook, {
headers: req.headers,
rpcRequest: syntheticRpc,
daemonRequest: syntheticDaemon,
});

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Require daemon token before serving artifact downloads

This endpoint authorizes downloads only via runHttpAuthHook, so when AGENT_DEVICE_HTTP_AUTH_HOOK is not configured (the default), it never verifies the bearer/header token against the daemon token the way /rpc requests are verified in handleRequest. In that configuration, any caller who learns an artifact ID can fetch screenshots/recordings from /artifacts/:id without daemon authentication.

Useful? React with 👍 / 👎.

Comment on lines +975 to +979
const request = transport.request(
{
protocol: artifactUrl.protocol,
host: artifactUrl.hostname,
port: artifactUrl.port,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Add timeout handling for remote artifact downloads

Remote artifact materialization uses a separate HTTP GET with no timeout or abort logic, so once the RPC response is parsed, commands like screenshot/record stop can hang indefinitely if /artifacts/{id} stalls or never completes. This bypasses the existing daemon request timeout behavior and can leave CLI calls blocked on flaky networks.

Useful? React with 👍 / 👎.

@thymikee thymikee changed the title feat: add remote runtime hints and artifact retrieval feat: support remote runtime hints and artifact retrieval Mar 9, 2026
@thymikee thymikee merged commit 8b36c2a into main Mar 9, 2026
7 checks passed
@thymikee thymikee deleted the codex/issue-197-runtime-hints branch March 9, 2026 18:50
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.

1 participant