Files
OpenShell/python/openshell/__init__.py
T
Mrunal Patel c502be9fd7 feat(api): return typed deletion outcomes with explicit missing-target semantics (#3317)
* feat(api): return typed deletion outcomes with explicit missing-target semantics

Implement phase 2 of #3051 across the public gateway API and first-party SDKs. Preserve asynchronous sandbox deletion and observed resource identities, reserve legacy wire fields, and document the coordinated migration.

Signed-off-by: Mrunal Patel <mrunalp@gmail.com>

* fix(sdk): bind deletion waits to sandbox identity

Track accepted deletions by original sandbox identity in Rust and TypeScript. Preserve name-only waits and cover replacement races and lookup failures.

Merge the phase-one cleanup fix and adapt its interceptor regressions to typed deletion outcomes.

Refs #3051.

Signed-off-by: Mrunal Patel <mrunalp@gmail.com>

* test(e2e): accept asynchronous stopped sandbox deletion

Allow either completed or accepted deletion output, then continue polling for actual sandbox absence. This preserves the lifecycle assertion under the phase-two deletion contract.

Refs #3051.

Signed-off-by: Mrunal Patel <mrunalp@gmail.com>

---------

Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
2026-09-16 22:11:19 +00:00

61 lines
1.3 KiB
Python

# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
"""OpenShell - Agent execution and management SDK."""
from __future__ import annotations
from .errors import ErrorInfo, FieldViolation, GatewayError, from_grpc_error
from .mutations import DeletionOutcome, DeletionResult
from .sandbox import (
ClientCredentialsAuth,
ExecChunk,
ExecResult,
Page,
Pager,
Sandbox,
SandboxClient,
SandboxError,
SandboxRef,
SandboxSession,
SandboxStatusRef,
SandboxTemplateClient,
SandboxWorkloadTemplateProvenanceRef,
TlsConfig,
WorkspaceClient,
WorkspaceRef,
)
try:
from importlib.metadata import version
__version__ = version("openshell")
except Exception:
__version__ = "0.0.0"
__all__ = [
"ClientCredentialsAuth",
"DeletionOutcome",
"DeletionResult",
"ErrorInfo",
"ExecChunk",
"ExecResult",
"FieldViolation",
"GatewayError",
"Page",
"Pager",
"Sandbox",
"SandboxClient",
"SandboxError",
"SandboxRef",
"SandboxSession",
"SandboxStatusRef",
"SandboxTemplateClient",
"SandboxWorkloadTemplateProvenanceRef",
"TlsConfig",
"WorkspaceClient",
"WorkspaceRef",
"__version__",
"from_grpc_error",
]