TanStack
OSS
ai
Sign in / Sign up
Open main menu
ai
GitHub
Overview
Runs
Analytics
Loading workspace stats
Loading workspace insights...
Statistics interval
7 days
30 days
Latest CI Pipeline Executions
Status
Fix filter
Filter
Fuzzy
Filter range
Sort by
Sort by
Start time
Sort ascending
Sort descending
Succeeded
feat/sandboxes
9b353e5b ci: apply automated fixes
by autofix-ci...
a
Succeeded
feat/sandboxes
9b353e5b Merge f82a981bd6cd8a496b7a72ef212444158b501eab into eadabbcb1001f1b5fe77328ec3cf4ad3231d2cf5
by Alem Tuzlak
A
Succeeded
feat/sandboxes
c22196ba feat(ai-sandbox): file-event hooks + issue-triage example Add provider-agnostic sandbox file-event hooks and a runnable demo that uses them. Hooks (@tanstack/ai-sandbox): - watchWorkspace(handle, { onEvent }) + watchWithHooks(handle, hooks) emit typed FileEvents (create/change/delete). A native fs.watch fast-path is used when the provider advertises it; otherwise a portable `find -printf` mtime snapshot-diff poll runs (no extra deps / image changes). .git and node_modules are ignored by default. - withSandboxFileEvents() middleware surfaces events into the chat() stream as CUSTOM `sandbox.file` events, interleaved with the agent's output. - local-process gains the native fs.watch seam (Node recursive watch on Windows/macOS; Linux falls back to the poll). Example (examples/sandbox-issue-triage): - Fetches the first open issue on TanStack/ai, clones the repo into a sandbox, runs Claude Code inside it to triage the issue and write ISSUE-REPORT.md, reads it back via sandbox.fs, and writes a local report with the observed file events appended. Two entrypoints: process + docker. Docs/skill updated; changeset added.
by Alem Tuzlak
A
Succeeded
feat/sandboxes
c22196ba Merge 4eb7a5bfe055da8396f52be3ce28ab595c1d5dd3 into eadabbcb1001f1b5fe77328ec3cf4ad3231d2cf5
by Alem Tuzlak
A
Succeeded
feat/sandboxes
c1b80efa ci: apply automated fixes
by autofix-ci...
a
Succeeded
feat/sandboxes
c1b80efa Merge ec2d77a98dc3e6b2ee9d009a5ab9c9d366146120 into eadabbcb1001f1b5fe77328ec3cf4ad3231d2cf5
by Alem Tuzlak
A
Succeeded
feat/sandboxes
28928359 feat(ai-sandbox): interactive approvals across all four harness adapters Wire client-in-the-loop approvals through every in-sandbox harness adapter, built on the shared approval primitives in @tanstack/ai-sandbox. - core bridge: optional permission-prompt tool on startHostToolBridge, and export PermissionToolResult so adapters can type their resolver. - claude-code: enforce the sandbox policy via --permission-prompt-tool; an `ask` action with no client decision yet emits an approval-requested event and denies, so the client approves and re-runs to continue. - gemini-cli / opencode: resolveInteractivePermission consults policy + client approvals, collects approval-requested events, and yields them after the stream (coercing nullable ACP tool titles). - codex: map defineSandboxPolicy onto codex exec`s coarse knobs (sandbox mode, approval_policy, network_access). codex exec is non-interactive with no per-action host callback, so the resume-based approval flow is not available for codex (documented); adds policy-map + tests. - changesets updated to describe the interactive-approval behavior.
by Alem Tuzlak
A
Succeeded
feat/sandboxes
28928359 Merge 0f6fcb417996b664af8ed57393835e37fdab224e into eadabbcb1001f1b5fe77328ec3cf4ad3231d2cf5
by Alem Tuzlak
A
Succeeded
feat/sandboxes
a8e7cf5a ci: apply automated fixes
by autofix-ci...
a
Succeeded
feat/sandboxes
a8e7cf5a Merge aa65d2a04d4441714fe9be243e08d60269f8e00a into eadabbcb1001f1b5fe77328ec3cf4ad3231d2cf5
by Alem Tuzlak
A
Succeeded
feat/sandboxes
16c877bb feat(ai-sandbox): hoist MCP tool-proxy to core + bridge tools in all 4 harness adapters - move startHostToolBridge + BRIDGED_MCP_SERVER_NAME + hostForSandbox into @tanstack/ai-sandbox core (shared); add @modelcontextprotocol/sdk dep there; tool-bridge test relocated to core - claude-code: import bridge from core; build --mcp-config from the bridge (drop local bridge + dep) - codex: bridge tools via --config mcp_servers.<name>.url + bearer_token - gemini-cli: bridge tools via ACP newSession mcpServers (http + Authorization header) - opencode: bridge tools via OPENCODE_CONFIG_CONTENT mcp.remote (url + bearer header) at server spawn - all adapters no longer reject tools; bridged tool names feed the permission handlers; changesets updated - types/eslint/lib/build/knip/sherif green across all 5 packages
by Alem Tuzlak
A
Succeeded
feat/sandboxes
16c877bb Merge a3c08bbfbbe863acd5a74009468b6f04c9a8ab3e into eadabbcb1001f1b5fe77328ec3cf4ad3231d2cf5
by Alem Tuzlak
A
Succeeded
feat/sandboxes
af1eb232 Merge 02dfe2f019de47e1d46d3f44bca0446338fc9629 into eadabbcb1001f1b5fe77328ec3cf4ad3231d2cf5
by Alem Tuzlak
A
Succeeded
feat/sandboxes
af1eb232 ci: apply automated fixes
by autofix-ci...
a
Succeeded
feat/sandboxes
ccc2822a Merge d49b8a5eb996dd368753f6d65c9a33f3939314a1 into eadabbcb1001f1b5fe77328ec3cf4ad3231d2cf5
by Alem Tuzlak
A
Succeeded
feat/sandboxes
ccc2822a feat(ai-opencode): run OpenCode inside a sandbox (harness adapter) - opencodeText declares requires:[SandboxCapability]; spawns 'opencode serve' inside the sandbox, waits for readiness, exposes the port, and connects @opencode-ai/sdk's HTTP client via baseUrl (reusing startOpencodeSession's connect path) - new startOpencodeServerInSandbox helper (readiness detection + port exposure); Docker needs publishPorts:[port] - drop @modelcontextprotocol/sdk + in-process tool bridge; chat()-tools bridging deferred (rejects tools); structuredOutput throws not-supported; permission governed by the dynamic handler - server-helper + requires-sandbox tests (36); types/lint/knip/sherif clean
by Alem Tuzlak
A
Succeeded
feat/sandboxes
a5e4e631 ci: apply automated fixes
by autofix-ci...
a
Succeeded
feat/sandboxes
a5e4e631 Merge f1155f68d7848a722f9ce453930ff5c0ecc6dec2 into 2cbf4f80d0fb2c2d5d065101a408ed7ed53db8f5
by Alem Tuzlak
A
Succeeded
feat/sandboxes
64a3aa19 feat(ai-gemini-cli): run Gemini CLI inside a sandbox (harness adapter) - geminiCliText declares requires:[SandboxCapability]; spawns 'gemini --acp' inside the sandbox and drives it over ACP via the sandbox's duplex process IO - new spawnHandleToAcpTransport adapts a SpawnHandle into the Uint8Array WebStreams ndJsonStream needs; all @agentclientprotocol/sdk protocol handling reused unchanged - drop local child_process spawn + @modelcontextprotocol/sdk + in-process tool bridge; chat()-tools bridging deferred (rejects tools); structuredOutput throws not-supported - transport-adapter + requires-sandbox tests (36); types/lint/knip/sherif clean
by Alem Tuzlak
A
Succeeded
feat/sandboxes
64a3aa19 Merge d828149cf8ac7a0018fc755869584fcc339b0d02 into 2cbf4f80d0fb2c2d5d065101a408ed7ed53db8f5
by Alem Tuzlak
A
Previous page
Previous
Next
Next page