@codesoul-co/hypha-core / contracts/sandbox
- 包索引:
@codesoul-co/hypha-core - 源码:
packages/core/src/contracts/sandbox.ts - 导出数: 20
模块用法
用于声明并运行时校验契约。Sandbox 模块公开 19 接口、1 类型。
从包入口导入
import type {
ExecutionEnvironmentSpec,
ExecutionImageSpec,
ExecutionLoggingPolicySpec,
NetworkPolicySpec,
ProcessPolicySpec,
ResourceLimitSpec,
SandboxCleanupRequest,
SandboxCreateRequest,
} from '@codesoul-co/hypha-core';
// 完整导出列表见下方。使用要点
- 20 个类型/接口用于应用代码、Adapter 或测试中的静态契约;请使用
import type,运行时不应依赖它们。
公共导出
| Symbol | 种类 | 签名 | 说明 |
|---|---|---|---|
ExecutionEnvironmentSpec | 接口 | interface ExecutionEnvironmentSpec extends VersionedSpec, SpecMetadata | Execution Environment Spec 接口,共包含 23 个公开字段或方法。 |
ExecutionImageSpec | 接口 | interface ExecutionImageSpec | Execution Image Spec 接口,共包含 8 个公开字段或方法。 |
ExecutionLoggingPolicySpec | 接口 | interface ExecutionLoggingPolicySpec | Execution Logging Policy Spec 接口,共包含 7 个公开字段或方法。 |
NetworkPolicySpec | 接口 | interface NetworkPolicySpec | Network Policy Spec 接口,共包含 16 个公开字段或方法。 |
ProcessPolicySpec | 接口 | interface ProcessPolicySpec | Process Policy Spec 接口,共包含 17 个公开字段或方法。 |
ResourceLimitSpec | 接口 | interface ResourceLimitSpec | Resource Limit Spec 接口,共包含 19 个公开字段或方法。 |
SandboxCleanupRequest | 接口 | interface SandboxCleanupRequest | Sandbox Cleanup Request 接口,共包含 6 个公开字段或方法。 |
SandboxCreateRequest | 接口 | interface SandboxCreateRequest | Sandbox Create Request 接口,共包含 12 个公开字段或方法。 |
SandboxFilesystemPolicySpec | 接口 | interface SandboxFilesystemPolicySpec | Sandbox Filesystem Policy Spec 接口,共包含 10 个公开字段或方法。 |
SandboxLifecyclePolicySpec | 接口 | interface SandboxLifecyclePolicySpec | Sandbox Lifecycle Policy Spec 接口,共包含 12 个公开字段或方法。 |
SandboxMountSpec | 接口 | interface SandboxMountSpec | Sandbox Mount Spec 接口,共包含 8 个公开字段或方法。 |
SandboxProviderCapabilities | 接口 | interface SandboxProviderCapabilities | Sandbox Provider Capabilities 接口,共包含 12 个公开字段或方法。 |
SandboxRecord | 接口 | interface SandboxRecord | Sandbox Record 接口,共包含 26 个公开字段或方法。 |
SandboxSecurityPolicySpec | 接口 | interface SandboxSecurityPolicySpec | Sandbox Security Policy Spec 接口,共包含 20 个公开字段或方法。 |
SandboxStartRequest | 接口 | interface SandboxStartRequest | Sandbox Start Request 接口,共包含 5 个公开字段或方法。 |
SandboxStatusRequest | 接口 | interface SandboxStatusRequest | Sandbox Status Request 接口,共包含 2 个公开字段或方法。 |
SandboxTerminateRequest | 接口 | interface SandboxTerminateRequest | Sandbox Terminate Request 接口,共包含 6 个公开字段或方法。 |
SandboxTmpfsSpec | 接口 | interface SandboxTmpfsSpec | Sandbox Tmpfs Spec 接口,共包含 6 个公开字段或方法。 |
SecretInjectionPolicySpec | 接口 | interface SecretInjectionPolicySpec | Secret Injection Policy Spec 接口,共包含 8 个公开字段或方法。 |
SandboxStatus | 类型 | type SandboxStatus = 'creating' | 'created' | 'starting' | 'ready' | 'busy' | 'stopping' | 'stopped' | 'terminating' | 'terminated' | 'cleaning' | 'cleaned' | 'failed' | Sandbox Status 公共类型别名;完整类型表达式见声明。 |
ExecutionEnvironmentSpec
Execution Environment Spec 接口,共包含 23 个公开字段或方法。
- 种类: 接口
- 导入:
import type { ExecutionEnvironmentSpec } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/sandbox
声明
export interface ExecutionEnvironmentSpec extends VersionedSpec, SpecMetadata {
revision?: string;
provider: 'mock' | 'local_process' | 'docker' | 'remote_sandbox' | 'custom';
providerRef?: string;
image?: ExecutionImageSpec;
process: ProcessPolicySpec;
resources: ResourceLimitSpec;
filesystem: SandboxFilesystemPolicySpec;
network: NetworkPolicySpec;
security: SandboxSecurityPolicySpec;
secrets: SecretInjectionPolicySpec;
logging: ExecutionLoggingPolicySpec;
lifecycle: SandboxLifecyclePolicySpec;
workingDirectoryPolicy: 'workspace_only' | 'configured_paths';
defaultTimeoutMs: number;
metadata?: Record<string, unknown>;
}契约成员
| 成员 | 种类 | 签名 | 说明 |
|---|---|---|---|
createdAt | 属性 | createdAt?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
defaultTimeoutMs | 属性 | defaultTimeoutMs: number | 公开属性;类型、只读和可选状态以签名列为准。 |
description | 属性 | description?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
filesystem | 属性 | filesystem: SandboxFilesystemPolicySpec | 公开属性;类型、只读和可选状态以签名列为准。 |
id | 属性 | id: string | 公开属性;类型、只读和可选状态以签名列为准。 |
image | 属性 | image?: ExecutionImageSpec | 公开属性;类型、只读和可选状态以签名列为准。 |
lifecycle | 属性 | lifecycle: SandboxLifecyclePolicySpec | 公开属性;类型、只读和可选状态以签名列为准。 |
logging | 属性 | logging: ExecutionLoggingPolicySpec | 公开属性;类型、只读和可选状态以签名列为准。 |
metadata | 属性 | metadata?: Record<string, unknown> | 公开属性;类型、只读和可选状态以签名列为准。 |
name | 属性 | name?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
network | 属性 | network: NetworkPolicySpec | 公开属性;类型、只读和可选状态以签名列为准。 |
owner | 属性 | owner?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
process | 属性 | process: ProcessPolicySpec | 公开属性;类型、只读和可选状态以签名列为准。 |
provider | 属性 | provider: "mock" | "local_process" | "docker" | "remote_sandbox" | "custom" | 公开属性;类型、只读和可选状态以签名列为准。 |
providerRef | 属性 | providerRef?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
resources | 属性 | resources: ResourceLimitSpec | 公开属性;类型、只读和可选状态以签名列为准。 |
revision | 属性 | revision?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
secrets | 属性 | secrets: SecretInjectionPolicySpec | 公开属性;类型、只读和可选状态以签名列为准。 |
security | 属性 | security: SandboxSecurityPolicySpec | 公开属性;类型、只读和可选状态以签名列为准。 |
tags | 属性 | tags?: string[] | 公开属性;类型、只读和可选状态以签名列为准。 |
updatedAt | 属性 | updatedAt?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
version | 属性 | version: string | 公开属性;类型、只读和可选状态以签名列为准。 |
workingDirectoryPolicy | 属性 | workingDirectoryPolicy: "workspace_only" | "configured_paths" | 公开属性;类型、只读和可选状态以签名列为准。 |
ExecutionImageSpec
Execution Image Spec 接口,共包含 8 个公开字段或方法。
- 种类: 接口
- 导入:
import type { ExecutionImageSpec } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/sandbox
声明
export interface ExecutionImageSpec {
reference: string;
digest?: string;
platform?: string;
pullPolicy?: 'never' | 'if_not_present' | 'always';
trustedRegistryRefs?: string[];
requireDigestPin?: boolean;
sbomRef?: string;
signaturePolicyRef?: string;
}契约成员
| 成员 | 种类 | 签名 | 说明 |
|---|---|---|---|
digest | 属性 | digest?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
platform | 属性 | platform?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
pullPolicy | 属性 | pullPolicy?: "never" | "if_not_present" | "always" | 公开属性;类型、只读和可选状态以签名列为准。 |
reference | 属性 | reference: string | 公开属性;类型、只读和可选状态以签名列为准。 |
requireDigestPin | 属性 | requireDigestPin?: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
sbomRef | 属性 | sbomRef?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
signaturePolicyRef | 属性 | signaturePolicyRef?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
trustedRegistryRefs | 属性 | trustedRegistryRefs?: string[] | 公开属性;类型、只读和可选状态以签名列为准。 |
ExecutionLoggingPolicySpec
Execution Logging Policy Spec 接口,共包含 7 个公开字段或方法。
- 种类: 接口
- 导入:
import type { ExecutionLoggingPolicySpec } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/sandbox
声明
export interface ExecutionLoggingPolicySpec {
captureStdout: boolean;
captureStderr: boolean;
streamOutput?: boolean;
includeTimestamps?: boolean;
maxLineBytes?: number;
redactPatterns?: string[];
persistOutputAsArtifact?: boolean;
}契约成员
| 成员 | 种类 | 签名 | 说明 |
|---|---|---|---|
captureStderr | 属性 | captureStderr: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
captureStdout | 属性 | captureStdout: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
includeTimestamps | 属性 | includeTimestamps?: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
maxLineBytes | 属性 | maxLineBytes?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
persistOutputAsArtifact | 属性 | persistOutputAsArtifact?: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
redactPatterns | 属性 | redactPatterns?: string[] | 公开属性;类型、只读和可选状态以签名列为准。 |
streamOutput | 属性 | streamOutput?: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
NetworkPolicySpec
Network Policy Spec 接口,共包含 16 个公开字段或方法。
- 种类: 接口
- 导入:
import type { NetworkPolicySpec } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/sandbox
声明
export interface NetworkPolicySpec {
mode: 'disabled' | 'restricted' | 'enabled' | 'task_authorized';
allowedDomains?: string[];
deniedDomains?: string[];
allowedCidrs?: string[];
deniedCidrs?: string[];
allowedPorts?: number[];
allowedProtocols?: Array<'tcp' | 'udp' | 'http' | 'https' | 'dns'>;
dnsPolicy?: 'disabled' | 'system' | 'managed';
proxyRef?: string;
blockPrivateNetworks?: boolean;
blockMetadataEndpoints?: boolean;
resolveAndPinDns?: boolean;
taskAuthorizationTtlSeconds?: number;
maxConnections?: number;
maxBytesSent?: number;
maxBytesReceived?: number;
}契约成员
| 成员 | 种类 | 签名 | 说明 |
|---|---|---|---|
allowedCidrs | 属性 | allowedCidrs?: string[] | 公开属性;类型、只读和可选状态以签名列为准。 |
allowedDomains | 属性 | allowedDomains?: string[] | 公开属性;类型、只读和可选状态以签名列为准。 |
allowedPorts | 属性 | allowedPorts?: number[] | 公开属性;类型、只读和可选状态以签名列为准。 |
allowedProtocols | 属性 | allowedProtocols?: ("tcp" | "udp" | "http" | "https" | "dns")[] | 公开属性;类型、只读和可选状态以签名列为准。 |
blockMetadataEndpoints | 属性 | blockMetadataEndpoints?: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
blockPrivateNetworks | 属性 | blockPrivateNetworks?: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
deniedCidrs | 属性 | deniedCidrs?: string[] | 公开属性;类型、只读和可选状态以签名列为准。 |
deniedDomains | 属性 | deniedDomains?: string[] | 公开属性;类型、只读和可选状态以签名列为准。 |
dnsPolicy | 属性 | dnsPolicy?: "system" | "managed" | "disabled" | 公开属性;类型、只读和可选状态以签名列为准。 |
maxBytesReceived | 属性 | maxBytesReceived?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
maxBytesSent | 属性 | maxBytesSent?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
maxConnections | 属性 | maxConnections?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
mode | 属性 | mode: "disabled" | "restricted" | "enabled" | "task_authorized" | 公开属性;类型、只读和可选状态以签名列为准。 |
proxyRef | 属性 | proxyRef?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
resolveAndPinDns | 属性 | resolveAndPinDns?: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
taskAuthorizationTtlSeconds | 属性 | taskAuthorizationTtlSeconds?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
ProcessPolicySpec
Process Policy Spec 接口,共包含 17 个公开字段或方法。
- 种类: 接口
- 导入:
import type { ProcessPolicySpec } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/sandbox
声明
export interface ProcessPolicySpec {
shellEnabled: boolean;
allowedShells?: string[];
allowedExecutables?: string[];
deniedExecutables?: string[];
executableResolution: 'absolute_allowlist' | 'path_allowlist' | 'container_path';
maxProcesses?: number;
maxThreads?: number;
maxOpenFiles?: number;
allowBackgroundProcesses?: boolean;
allowDaemonization?: boolean;
killProcessTreeOnExit: boolean;
environmentAllowList?: string[];
environmentDenyList?: string[];
inheritHostEnvironment?: boolean;
defaultUmask?: string;
locale?: string;
timezone?: string;
}契约成员
| 成员 | 种类 | 签名 | 说明 |
|---|---|---|---|
allowBackgroundProcesses | 属性 | allowBackgroundProcesses?: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
allowDaemonization | 属性 | allowDaemonization?: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
allowedExecutables | 属性 | allowedExecutables?: string[] | 公开属性;类型、只读和可选状态以签名列为准。 |
allowedShells | 属性 | allowedShells?: string[] | 公开属性;类型、只读和可选状态以签名列为准。 |
defaultUmask | 属性 | defaultUmask?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
deniedExecutables | 属性 | deniedExecutables?: string[] | 公开属性;类型、只读和可选状态以签名列为准。 |
environmentAllowList | 属性 | environmentAllowList?: string[] | 公开属性;类型、只读和可选状态以签名列为准。 |
environmentDenyList | 属性 | environmentDenyList?: string[] | 公开属性;类型、只读和可选状态以签名列为准。 |
executableResolution | 属性 | executableResolution: "absolute_allowlist" | "path_allowlist" | "container_path" | 公开属性;类型、只读和可选状态以签名列为准。 |
inheritHostEnvironment | 属性 | inheritHostEnvironment?: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
killProcessTreeOnExit | 属性 | killProcessTreeOnExit: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
locale | 属性 | locale?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
maxOpenFiles | 属性 | maxOpenFiles?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
maxProcesses | 属性 | maxProcesses?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
maxThreads | 属性 | maxThreads?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
shellEnabled | 属性 | shellEnabled: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
timezone | 属性 | timezone?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
ResourceLimitSpec
Resource Limit Spec 接口,共包含 19 个公开字段或方法。
- 种类: 接口
- 导入:
import type { ResourceLimitSpec } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/sandbox
声明
export interface ResourceLimitSpec {
cpuCores?: number;
cpuQuotaMicros?: number;
cpuPeriodMicros?: number;
cpuShares?: number;
maxCpuSeconds?: number;
memoryMb?: number;
memorySwapMb?: number;
oomKillDisable?: boolean;
diskBytes?: number;
tempBytes?: number;
maxWriteBytes?: number;
blockIoWeight?: number;
pidsLimit?: number;
maxOpenFiles?: number;
maxStdoutBytes?: number;
maxStderrBytes?: number;
maxCombinedOutputBytes?: number;
maxExecutionSeconds?: number;
maxIdleSeconds?: number;
}契约成员
| 成员 | 种类 | 签名 | 说明 |
|---|---|---|---|
blockIoWeight | 属性 | blockIoWeight?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
cpuCores | 属性 | cpuCores?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
cpuPeriodMicros | 属性 | cpuPeriodMicros?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
cpuQuotaMicros | 属性 | cpuQuotaMicros?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
cpuShares | 属性 | cpuShares?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
diskBytes | 属性 | diskBytes?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
maxCombinedOutputBytes | 属性 | maxCombinedOutputBytes?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
maxCpuSeconds | 属性 | maxCpuSeconds?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
maxExecutionSeconds | 属性 | maxExecutionSeconds?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
maxIdleSeconds | 属性 | maxIdleSeconds?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
maxOpenFiles | 属性 | maxOpenFiles?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
maxStderrBytes | 属性 | maxStderrBytes?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
maxStdoutBytes | 属性 | maxStdoutBytes?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
maxWriteBytes | 属性 | maxWriteBytes?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
memoryMb | 属性 | memoryMb?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
memorySwapMb | 属性 | memorySwapMb?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
oomKillDisable | 属性 | oomKillDisable?: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
pidsLimit | 属性 | pidsLimit?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
tempBytes | 属性 | tempBytes?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
SandboxCleanupRequest
Sandbox Cleanup Request 接口,共包含 6 个公开字段或方法。
- 种类: 接口
- 导入:
import type { SandboxCleanupRequest } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/sandbox
声明
export interface SandboxCleanupRequest {
operationId: string;
sandboxId: string;
principal: ExecutionPrincipal;
expectedRevision: number;
reason?: string;
idempotencyKey?: string;
}契约成员
| 成员 | 种类 | 签名 | 说明 |
|---|---|---|---|
expectedRevision | 属性 | expectedRevision: number | 公开属性;类型、只读和可选状态以签名列为准。 |
idempotencyKey | 属性 | idempotencyKey?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
operationId | 属性 | operationId: string | 公开属性;类型、只读和可选状态以签名列为准。 |
principal | 属性 | principal: ExecutionPrincipal | 公开属性;类型、只读和可选状态以签名列为准。 |
reason | 属性 | reason?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
sandboxId | 属性 | sandboxId: string | 公开属性;类型、只读和可选状态以签名列为准。 |
SandboxCreateRequest
Sandbox Create Request 接口,共包含 12 个公开字段或方法。
- 种类: 接口
- 导入:
import type { SandboxCreateRequest } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/sandbox
声明
export interface SandboxCreateRequest {
operationId: string;
principal: ExecutionPrincipal;
environment: ExecutionEnvironmentSpec;
environmentRevision: string;
userId: string;
tenantId?: string;
workspaceId: string;
sessionId?: string;
runId: string;
agentId?: string;
idempotencyKey?: string;
metadata?: Record<string, unknown>;
}契约成员
| 成员 | 种类 | 签名 | 说明 |
|---|---|---|---|
agentId | 属性 | agentId?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
environment | 属性 | environment: ExecutionEnvironmentSpec | 公开属性;类型、只读和可选状态以签名列为准。 |
environmentRevision | 属性 | environmentRevision: string | 公开属性;类型、只读和可选状态以签名列为准。 |
idempotencyKey | 属性 | idempotencyKey?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
metadata | 属性 | metadata?: Record<string, unknown> | 公开属性;类型、只读和可选状态以签名列为准。 |
operationId | 属性 | operationId: string | 公开属性;类型、只读和可选状态以签名列为准。 |
principal | 属性 | principal: ExecutionPrincipal | 公开属性;类型、只读和可选状态以签名列为准。 |
runId | 属性 | runId: string | 公开属性;类型、只读和可选状态以签名列为准。 |
sessionId | 属性 | sessionId?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
tenantId | 属性 | tenantId?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
userId | 属性 | userId: string | 公开属性;类型、只读和可选状态以签名列为准。 |
workspaceId | 属性 | workspaceId: string | 公开属性;类型、只读和可选状态以签名列为准。 |
SandboxFilesystemPolicySpec
Sandbox Filesystem Policy Spec 接口,共包含 10 个公开字段或方法。
- 种类: 接口
- 导入:
import type { SandboxFilesystemPolicySpec } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/sandbox
声明
export interface SandboxFilesystemPolicySpec {
rootFilesystem: 'read_only' | 'writable';
mounts: SandboxMountSpec[];
tmpfs?: SandboxTmpfsSpec[];
maskPaths?: string[];
readonlyPaths?: string[];
writablePaths?: string[];
allowDeviceAccess?: boolean;
allowedDevices?: string[];
allowHostPathMounts?: boolean;
maxMounts?: number;
}契约成员
| 成员 | 种类 | 签名 | 说明 |
|---|---|---|---|
allowDeviceAccess | 属性 | allowDeviceAccess?: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
allowedDevices | 属性 | allowedDevices?: string[] | 公开属性;类型、只读和可选状态以签名列为准。 |
allowHostPathMounts | 属性 | allowHostPathMounts?: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
maskPaths | 属性 | maskPaths?: string[] | 公开属性;类型、只读和可选状态以签名列为准。 |
maxMounts | 属性 | maxMounts?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
mounts | 属性 | mounts: SandboxMountSpec[] | 公开属性;类型、只读和可选状态以签名列为准。 |
readonlyPaths | 属性 | readonlyPaths?: string[] | 公开属性;类型、只读和可选状态以签名列为准。 |
rootFilesystem | 属性 | rootFilesystem: "read_only" | "writable" | 公开属性;类型、只读和可选状态以签名列为准。 |
tmpfs | 属性 | tmpfs?: SandboxTmpfsSpec[] | 公开属性;类型、只读和可选状态以签名列为准。 |
writablePaths | 属性 | writablePaths?: string[] | 公开属性;类型、只读和可选状态以签名列为准。 |
SandboxLifecyclePolicySpec
Sandbox Lifecycle Policy Spec 接口,共包含 12 个公开字段或方法。
- 种类: 接口
- 导入:
import type { SandboxLifecyclePolicySpec } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/sandbox
声明
export interface SandboxLifecyclePolicySpec {
reuse: 'never' | 'run' | 'session' | 'pool';
idleTtlSeconds?: number;
maxLifetimeSeconds?: number;
maxExecutions?: number;
createTimeoutMs?: number;
startTimeoutMs?: number;
stopTimeoutMs?: number;
cleanupTimeoutMs?: number;
snapshotOnFailure?: boolean;
cleanupOnSuccess?: boolean;
cleanupOnFailure?: boolean;
retainForDebugSeconds?: number;
}契约成员
| 成员 | 种类 | 签名 | 说明 |
|---|---|---|---|
cleanupOnFailure | 属性 | cleanupOnFailure?: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
cleanupOnSuccess | 属性 | cleanupOnSuccess?: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
cleanupTimeoutMs | 属性 | cleanupTimeoutMs?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
createTimeoutMs | 属性 | createTimeoutMs?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
idleTtlSeconds | 属性 | idleTtlSeconds?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
maxExecutions | 属性 | maxExecutions?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
maxLifetimeSeconds | 属性 | maxLifetimeSeconds?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
retainForDebugSeconds | 属性 | retainForDebugSeconds?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
reuse | 属性 | reuse: "session" | "run" | "never" | "pool" | 公开属性;类型、只读和可选状态以签名列为准。 |
snapshotOnFailure | 属性 | snapshotOnFailure?: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
startTimeoutMs | 属性 | startTimeoutMs?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
stopTimeoutMs | 属性 | stopTimeoutMs?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
SandboxMountSpec
Sandbox Mount Spec 接口,共包含 8 个公开字段或方法。
- 种类: 接口
- 导入:
import type { SandboxMountSpec } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/sandbox
声明
export interface SandboxMountSpec {
sourceRef: string;
targetPath: string;
mode: 'ro' | 'rw';
type: 'bind' | 'volume' | 'artifact' | 'workspace' | 'tmpfs';
propagation?: 'private' | 'rprivate';
noExec?: boolean;
noSuid?: boolean;
noDev?: boolean;
}契约成员
| 成员 | 种类 | 签名 | 说明 |
|---|---|---|---|
mode | 属性 | mode: "ro" | "rw" | 公开属性;类型、只读和可选状态以签名列为准。 |
noDev | 属性 | noDev?: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
noExec | 属性 | noExec?: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
noSuid | 属性 | noSuid?: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
propagation | 属性 | propagation?: "private" | "rprivate" | 公开属性;类型、只读和可选状态以签名列为准。 |
sourceRef | 属性 | sourceRef: string | 公开属性;类型、只读和可选状态以签名列为准。 |
targetPath | 属性 | targetPath: string | 公开属性;类型、只读和可选状态以签名列为准。 |
type | 属性 | type: "artifact" | "workspace" | "bind" | "volume" | "tmpfs" | 公开属性;类型、只读和可选状态以签名列为准。 |
SandboxProviderCapabilities
Sandbox Provider Capabilities 接口,共包含 12 个公开字段或方法。
- 种类: 接口
- 导入:
import type { SandboxProviderCapabilities } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/sandbox
声明
export interface SandboxProviderCapabilities {
processIsolation: boolean;
filesystemIsolation: boolean;
networkIsolation: boolean;
cpuLimits: boolean;
memoryLimits: boolean;
diskLimits: boolean;
pidsLimit: boolean;
cancellation: boolean;
processTreeKill: boolean;
snapshots: boolean;
imageDigestPinning: boolean;
remoteExecution: boolean;
}契约成员
| 成员 | 种类 | 签名 | 说明 |
|---|---|---|---|
cancellation | 属性 | cancellation: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
cpuLimits | 属性 | cpuLimits: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
diskLimits | 属性 | diskLimits: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
filesystemIsolation | 属性 | filesystemIsolation: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
imageDigestPinning | 属性 | imageDigestPinning: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
memoryLimits | 属性 | memoryLimits: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
networkIsolation | 属性 | networkIsolation: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
pidsLimit | 属性 | pidsLimit: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
processIsolation | 属性 | processIsolation: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
processTreeKill | 属性 | processTreeKill: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
remoteExecution | 属性 | remoteExecution: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
snapshots | 属性 | snapshots: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
SandboxRecord
Sandbox Record 接口,共包含 26 个公开字段或方法。
- 种类: 接口
- 导入:
import type { SandboxRecord } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/sandbox
声明
export interface SandboxRecord {
id: string;
revision: number;
providerId: string;
environmentRef: SpecRef;
environmentRevision: string;
tenantId?: string;
userId: string;
workspaceId: string;
sessionId?: string;
runId: string;
agentId?: string;
status: SandboxStatus;
providerSandboxRef?: string;
imageDigest?: string;
activeExecutionIds: string[];
resourceLimits: ResourceLimitSpec;
networkPolicyHash: string;
mountPolicyHash: string;
createdAt: string;
readyAt?: string;
lastUsedAt?: string;
expiresAt?: string;
terminatedAt?: string;
cleanedAt?: string;
error?: NormalizedExecutionError;
metadata?: Record<string, unknown>;
}契约成员
| 成员 | 种类 | 签名 | 说明 |
|---|---|---|---|
activeExecutionIds | 属性 | activeExecutionIds: string[] | 公开属性;类型、只读和可选状态以签名列为准。 |
agentId | 属性 | agentId?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
cleanedAt | 属性 | cleanedAt?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
createdAt | 属性 | createdAt: string | 公开属性;类型、只读和可选状态以签名列为准。 |
environmentRef | 属性 | environmentRef: SpecRef | 公开属性;类型、只读和可选状态以签名列为准。 |
environmentRevision | 属性 | environmentRevision: string | 公开属性;类型、只读和可选状态以签名列为准。 |
error | 属性 | error?: NormalizedExecutionError | 公开属性;类型、只读和可选状态以签名列为准。 |
expiresAt | 属性 | expiresAt?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
id | 属性 | id: string | 公开属性;类型、只读和可选状态以签名列为准。 |
imageDigest | 属性 | imageDigest?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
lastUsedAt | 属性 | lastUsedAt?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
metadata | 属性 | metadata?: Record<string, unknown> | 公开属性;类型、只读和可选状态以签名列为准。 |
mountPolicyHash | 属性 | mountPolicyHash: string | 公开属性;类型、只读和可选状态以签名列为准。 |
networkPolicyHash | 属性 | networkPolicyHash: string | 公开属性;类型、只读和可选状态以签名列为准。 |
providerId | 属性 | providerId: string | 公开属性;类型、只读和可选状态以签名列为准。 |
providerSandboxRef | 属性 | providerSandboxRef?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
readyAt | 属性 | readyAt?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
resourceLimits | 属性 | resourceLimits: ResourceLimitSpec | 公开属性;类型、只读和可选状态以签名列为准。 |
revision | 属性 | revision: number | 公开属性;类型、只读和可选状态以签名列为准。 |
runId | 属性 | runId: string | 公开属性;类型、只读和可选状态以签名列为准。 |
sessionId | 属性 | sessionId?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
status | 属性 | status: SandboxStatus | 公开属性;类型、只读和可选状态以签名列为准。 |
tenantId | 属性 | tenantId?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
terminatedAt | 属性 | terminatedAt?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
userId | 属性 | userId: string | 公开属性;类型、只读和可选状态以签名列为准。 |
workspaceId | 属性 | workspaceId: string | 公开属性;类型、只读和可选状态以签名列为准。 |
SandboxSecurityPolicySpec
Sandbox Security Policy Spec 接口,共包含 20 个公开字段或方法。
- 种类: 接口
- 导入:
import type { SandboxSecurityPolicySpec } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/sandbox
声明
export interface SandboxSecurityPolicySpec {
runAsUser?: string;
runAsGroup?: string;
nonRootRequired: boolean;
noNewPrivileges: boolean;
privileged: boolean;
dropCapabilities?: string[];
addCapabilities?: string[];
seccompProfileRef?: string;
appArmorProfileRef?: string;
selinuxLabelRef?: string;
userNamespace?: boolean;
pidNamespace?: boolean;
networkNamespace?: boolean;
ipcNamespace?: boolean;
utsNamespace?: boolean;
readOnlyProc?: boolean;
maskHostProc?: boolean;
preventPtrace?: boolean;
allowNestedContainers?: boolean;
metadata?: Record<string, unknown>;
}契约成员
| 成员 | 种类 | 签名 | 说明 |
|---|---|---|---|
addCapabilities | 属性 | addCapabilities?: string[] | 公开属性;类型、只读和可选状态以签名列为准。 |
allowNestedContainers | 属性 | allowNestedContainers?: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
appArmorProfileRef | 属性 | appArmorProfileRef?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
dropCapabilities | 属性 | dropCapabilities?: string[] | 公开属性;类型、只读和可选状态以签名列为准。 |
ipcNamespace | 属性 | ipcNamespace?: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
maskHostProc | 属性 | maskHostProc?: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
metadata | 属性 | metadata?: Record<string, unknown> | 公开属性;类型、只读和可选状态以签名列为准。 |
networkNamespace | 属性 | networkNamespace?: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
noNewPrivileges | 属性 | noNewPrivileges: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
nonRootRequired | 属性 | nonRootRequired: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
pidNamespace | 属性 | pidNamespace?: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
preventPtrace | 属性 | preventPtrace?: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
privileged | 属性 | privileged: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
readOnlyProc | 属性 | readOnlyProc?: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
runAsGroup | 属性 | runAsGroup?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
runAsUser | 属性 | runAsUser?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
seccompProfileRef | 属性 | seccompProfileRef?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
selinuxLabelRef | 属性 | selinuxLabelRef?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
userNamespace | 属性 | userNamespace?: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
utsNamespace | 属性 | utsNamespace?: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
SandboxStartRequest
Sandbox Start Request 接口,共包含 5 个公开字段或方法。
- 种类: 接口
- 导入:
import type { SandboxStartRequest } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/sandbox
声明
export interface SandboxStartRequest {
operationId: string;
sandboxId: string;
principal: ExecutionPrincipal;
expectedRevision: number;
idempotencyKey?: string;
}契约成员
| 成员 | 种类 | 签名 | 说明 |
|---|---|---|---|
expectedRevision | 属性 | expectedRevision: number | 公开属性;类型、只读和可选状态以签名列为准。 |
idempotencyKey | 属性 | idempotencyKey?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
operationId | 属性 | operationId: string | 公开属性;类型、只读和可选状态以签名列为准。 |
principal | 属性 | principal: ExecutionPrincipal | 公开属性;类型、只读和可选状态以签名列为准。 |
sandboxId | 属性 | sandboxId: string | 公开属性;类型、只读和可选状态以签名列为准。 |
SandboxStatusRequest
Sandbox Status Request 接口,共包含 2 个公开字段或方法。
- 种类: 接口
- 导入:
import type { SandboxStatusRequest } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/sandbox
声明
export interface SandboxStatusRequest {
sandboxId: string;
principal: ExecutionPrincipal;
}契约成员
| 成员 | 种类 | 签名 | 说明 |
|---|---|---|---|
principal | 属性 | principal: ExecutionPrincipal | 公开属性;类型、只读和可选状态以签名列为准。 |
sandboxId | 属性 | sandboxId: string | 公开属性;类型、只读和可选状态以签名列为准。 |
SandboxTerminateRequest
Sandbox Terminate Request 接口,共包含 6 个公开字段或方法。
- 种类: 接口
- 导入:
import type { SandboxTerminateRequest } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/sandbox
声明
export interface SandboxTerminateRequest {
operationId: string;
sandboxId: string;
principal: ExecutionPrincipal;
expectedRevision: number;
reason?: string;
idempotencyKey?: string;
}契约成员
| 成员 | 种类 | 签名 | 说明 |
|---|---|---|---|
expectedRevision | 属性 | expectedRevision: number | 公开属性;类型、只读和可选状态以签名列为准。 |
idempotencyKey | 属性 | idempotencyKey?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
operationId | 属性 | operationId: string | 公开属性;类型、只读和可选状态以签名列为准。 |
principal | 属性 | principal: ExecutionPrincipal | 公开属性;类型、只读和可选状态以签名列为准。 |
reason | 属性 | reason?: string | 公开属性;类型、只读和可选状态以签名列为准。 |
sandboxId | 属性 | sandboxId: string | 公开属性;类型、只读和可选状态以签名列为准。 |
SandboxTmpfsSpec
Sandbox Tmpfs Spec 接口,共包含 6 个公开字段或方法。
- 种类: 接口
- 导入:
import type { SandboxTmpfsSpec } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/sandbox
声明
export interface SandboxTmpfsSpec {
targetPath: string;
sizeBytes?: number;
mode?: number;
noExec?: boolean;
noSuid?: boolean;
noDev?: boolean;
}契约成员
| 成员 | 种类 | 签名 | 说明 |
|---|---|---|---|
mode | 属性 | mode?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
noDev | 属性 | noDev?: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
noExec | 属性 | noExec?: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
noSuid | 属性 | noSuid?: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
sizeBytes | 属性 | sizeBytes?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
targetPath | 属性 | targetPath: string | 公开属性;类型、只读和可选状态以签名列为准。 |
SecretInjectionPolicySpec
Secret Injection Policy Spec 接口,共包含 8 个公开字段或方法。
- 种类: 接口
- 导入:
import type { SecretInjectionPolicySpec } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/sandbox
声明
export interface SecretInjectionPolicySpec {
allowedSecretRefs?: string[];
injectionMode: 'none' | 'environment' | 'file' | 'brokered';
exposeNamesOnly?: boolean;
redactFromOutput: boolean;
redactFromEvents: boolean;
ttlSeconds?: number;
revokeOnExecutionEnd?: boolean;
allowChildProcessInheritance?: boolean;
}契约成员
| 成员 | 种类 | 签名 | 说明 |
|---|---|---|---|
allowChildProcessInheritance | 属性 | allowChildProcessInheritance?: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
allowedSecretRefs | 属性 | allowedSecretRefs?: string[] | 公开属性;类型、只读和可选状态以签名列为准。 |
exposeNamesOnly | 属性 | exposeNamesOnly?: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
injectionMode | 属性 | injectionMode: "none" | "environment" | "file" | "brokered" | 公开属性;类型、只读和可选状态以签名列为准。 |
redactFromEvents | 属性 | redactFromEvents: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
redactFromOutput | 属性 | redactFromOutput: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
revokeOnExecutionEnd | 属性 | revokeOnExecutionEnd?: boolean | 公开属性;类型、只读和可选状态以签名列为准。 |
ttlSeconds | 属性 | ttlSeconds?: number | 公开属性;类型、只读和可选状态以签名列为准。 |
SandboxStatus
Sandbox Status 公共类型别名;完整类型表达式见声明。
- 种类: 类型
- 导入:
import type { SandboxStatus } from '@codesoul-co/hypha-core'; - 源码模块:
contracts/sandbox
声明
export type SandboxStatus = 'creating' | 'created' | 'starting' | 'ready' | 'busy' | 'stopping' | 'stopped' | 'terminating' | 'terminated' | 'cleaning' | 'cleaned' | 'failed';