Skip to content

Add cancellation, tunnel recovery, and typed beacon tasks - #103

Open
moloch-- wants to merge 3 commits into
masterfrom
feat/sdk-lifecycle-tasks
Open

moloch-- wants to merge 3 commits into
masterfrom
feat/sdk-lifecycle-tasks

Conversation

@moloch--

@moloch-- moloch-- commented Oct 20, 2026 •

Copy link
Copy Markdown
Collaborator

Numeric timeout arguments now also accept caller cancellation and deadline options. Shell startup uses one deadline across tunnel creation, bind acknowledgement, and shell creation, with cleanup for resources returned after cancellation. Existing method defaults and return values remain compatible.

Failed tunnel streams reject their existing handles and recover lazily on the next tunnel, with generation isolation and observable transport state. Typed beacon task handles provide wait, status, and explicit remote cancel, support persisted task IDs and client reconnects, and validate task identity and decoded responses.

Native shell E2E coverage exercises ordered input/output, Unix PTY sizing and resize, Windows piped-shell behavior, natural exit, disconnect cleanup, and reconnect. Beacon E2E also exercises typed handles. A separate dependency commit removes newly vulnerable development dependency paths so the existing audit remains green.

Validation:

  • 313 unit tests and 23 release-script tests passed locally.
  • TypeScript package and E2E builds passed.
  • Packed CJS, ESM, and strict NodeNext consumers passed; complete and production dependency audits are clean.
  • Protobuf provenance verified against the pinned Sliver input and exact protoc version.
  • Native macOS shell and beacon E2E passed at the final commit.
  • Build Check passed on Linux, Windows, and macOS, including dependency audits and protobuf provenance.
  • Native E2E passed all 14 groups on Linux/amd64, Windows/amd64, and macOS/arm64, including the new shell coverage.

All eight Actions checks passed at ec0b5f946da9e3495b98ac2c824eb71376f74a7b.

This branch has not been deployed

No deployments
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