Repository navigation
feat(sandboxes): add JavaScript execution and session facade - #270
Conversation
|
@codex review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6c2513fd5a
ℹ️ 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".
|
Completed the first review fix and strengthened the wire-contract tests. Final local validation: 1,997 unit tests, 100% coverage, all 256 Sandbox mutants killed, lint/types/export/package checks passed. No quality thresholds or exclusions changed. |
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1ff8f0e8bd
ℹ️ 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".
swkeever
left a comment
There was a problem hiding this comment.
Two blockers, inline:
exec(session and one-shot) is capped by the 60s client-wide timeout regardless oftimeoutSeconds.- The shipped
.d.tsloses theesnext.disposablelib reference, so strict consumers can't compile againstSandboxSession extends AsyncDisposable.
Everything else is non-blocking. Released contracts look intact (the -6278 is diff-algorithm noise in openapi.d.ts; patience diff shows it as purely additive), and the earlier Codex threads are addressed.
tkkhq
left a comment
There was a problem hiding this comment.
The earlier catalog-to-request type defect is resolved, including catalog memory values; the isolated strict Sandbox consumer check passed. The execution timeout and disposal regressions also pass. Complete the pending CI/CLA gates before merge; hosted installed-package acceptance remains required before release.
Summary
Add
client.sandboxesfor one-shot commands, sessions, binary files, lifecycle controls, scoped HTTP access, grants, and async disposal. Preserve nonzero command exits as result data and accept explicit replay identities without automatic command replay.Public preset listings use anonymous transport.
requestIdis limited to creation and execution throughSandboxReplayOptions. Canonical Hosting request schemas use catalog-owned preset strings, and public memory options accept catalog numbers with wire-size validation.Execution transport uses the larger of the client timeout and command timeout plus 120 seconds, in milliseconds. Published declarations preserve the disposable lib reference and are verified by an isolated strict ES2022/DOM consumer with no fixture or Node ambient types. Disposal skips terminating/terminated sessions and accepts already-removed 404 responses; scoped access tokens remain directly readable but are non-enumerable for routine JSON/object logging. Documentation distinguishes one-shot HTTP 504 / same-key 409 from session command timeout results.
Validation
pnpm quality:checkspassed on pinned Node 22.23.3 after the human-review fixes: audit, full lint/format, unused and deterministic generated checks, source/consumer types, 105 tooling tests, 2,397 unit tests and 2,397 typed-runtime tests across 123 suites, package/isolated-consumer checks, installed-package quickstart, and example build.77524af, including every mutation shard, Node 20 lint/tests/build, mutation inventory, and the Quality Gate.Coordination
Hosting Kong/volcano-hosting#1354; Python Kong/volcano-sdk-python#372; Ruby Kong/volcano-sdk-ruby#316. Hosting staging acceptance consumes SDK main, so merge SDK implementations before final acceptance. No package publication or deployment.