Skip to content

feat: preserve Alibaba E2B CLI behavior - #40

Merged
anycodes merged 19 commits into
mainfrom
feat/e2b-behavior-20261016
Oct 19, 2026
Merged

anycodes merged 19 commits into
mainfrom
feat/e2b-behavior-20261016

Conversation

@anycodes

@anycodes anycodes commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Description

Preserve the pinned Alibaba-supported standard CLI2.20/protocol2.50 npm and standalone command behavior while retaining native provider/config/server/MCP ownership. Standard root/command behavior and native extensions have explicit boundaries; no Node SDK or package release claim.

Refs #33. Companion: Alibaba-Agent-Sandbox/python-sdk#47.

Type of Change

  • Feature
  • Tests
  • Documentation

Changes

Retain the accepted session/authentication/data-plane contracts, provider-owned metadata and canonical native ABX configuration. Only the standard entry maps E2B settings. Native async examples use explicit api.sandbox.Sandbox; standard Sandbox remains sync and AsyncSandbox async.

Complete the prior conditional acceptance gap: design an isolated generation2 fixture, provision it through the actual project CLI and official API, test state continuity, reconcile known asynchronous transitions/indexes and clean only owned resources. Bilingual guide documents exact local commands and expected boundaries. No cloud/model Actions workflow or secret upload added.

The bundled maintained source, Python scaffold assets, full prebundle provenance/replay and219073-byte notices remain verified. Native list --all-providers stays explicit; standard parser/PTY/exec semantics are preserved. The new e2e:conditional script drives the actual standalone CLI and is not wired to Actions.

Testing

Current head: 330999e278a5fc3da43fddcbcbb3a8204cb1f74b. Latest exact-head hosted matrix PASS: 7 actual jobs succeeded. All required reviews/merge state rechecked without bypass.

Actual local SDK acceptance5 PASS/zero SKIP: baseline sync/async/files/process/interpreter/network plus pause→paused→connect, process-only in-memory nonce, files, snapshot create/list/restore, clone isolation and deletion. Six tracked sandboxes cleaned; independent paginated run-tag queries found zero residuals. Actual new fixture reached generation2 ready (CPU2/memory2048MB/disk15360MB). Existing templates/account settings unchanged.

Actual standalone CLI conditional acceptance2 PASS: pause/resume memory/files and snapshot/list/restore/clone isolation/delete. Final SEA SHA256b721cb5399ac93f3e59188fc07a30d18b13ecabf9b93c4dcfbd9a9183a593aa7. All owned sandboxes/snapshots cleaned, fixture deleted and independently returned404; snapshot list empty. Runtime credentials stayed local throughout.

Locked npm ci/build/typecheck/lint PASS (zero lint errors); hygiene and health105/11historyWARN/0FAIL PASS. Full local3915 PASS/10 previously identified managed raw-TCP/TLS/WebSocket proxy FAIL/56 SKIP; assertions remain strict. Full current-head hosted Node20/22 matrix is required.

Initial new-test input mistakes and platform timing/deletion behavior are retained in the2026-10-19 evidence; no failure was silently promoted. Earlier lifecycle/PTY/source replay/license/source-install receipts remain point-in-time history.

Consumer documentation delivered

All four owner PRs are verified MERGED, compatible with current main and the standard candidate:

Registry aggregates those sources; no shared UI or catalog schema change was needed.

Checklist

  • Scoped owner engineering design and sanitized evidence
  • English/Chinese docs and CHANGELOG
  • Actual local conditional acceptance and independent owned cleanup
  • Consumer documentation merged
  • Exact current-head hosted CI and final merge review

Definition of Done

Owner design: .agents/notes/proposed/feature/2026-10-19-conditional-acceptance.md. Verification: .agents/evidence/verify/2026-10-19-conditional-acceptance.md. The earlier missing conditional fixture and consumer documentation prerequisites are now delivered; no allowlist bypass or capability downgrade. Native third-party E2B image acceptance remains independently tracked in CLI42 and is not required to claim this Express-specific result.

Land SDK47 before this CLI consumer; keep the existing verified SDK implementation source pins until an intentional publication update.

@anycodes
anycodes changed the base branch from cursor/client-pypi-name-6c1e to main October 18, 2026 16:05
@anycodes
anycodes marked this pull request as ready for review October 19, 2026 07:19
@anycodes
anycodes merged commit 3818515 into main Oct 19, 2026
7 checks passed
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