Skip to content

@codesoul-co/hypha-core / contracts/session-queue

模块用法

用于声明并运行时校验契约。Session queue 模块公开 5 常量、20 接口、2 类型。

从包入口导入

ts
import {
  DEFAULT_SESSION_COMMAND_MAX_ATTEMPTS,
  SESSION_COMMAND_MAX_ATTEMPTS_LIMIT,
  SESSION_COMMAND_RUN_CANCELLED_CODE,
  SESSION_COMMAND_STATUSES,
  SESSION_COMMAND_TYPES,
} from '@codesoul-co/hypha-core';

import type {
  CancelSessionCommandsRequest,
  CancelSessionCommandsResult,
  ClaimSessionCommandRequest,
  CloseDeadLetterSessionCommandRequest,
  CompleteSessionCommandRequest,
  EnqueueSessionCommandRequest,
  FailSessionCommandRequest,
  ListSessionCommandsRequest,
} from '@codesoul-co/hypha-core';

// 完整导出列表见下方。

使用要点

  • 22 个类型/接口用于应用代码、Adapter 或测试中的静态契约;请使用 import type,运行时不应依赖它们。
  • 5 个常量/枚举提供稳定值、Schema、Definition 或默认配置;应复用这些导出,避免在应用中复制内部值。

公共导出

Symbol种类签名说明
DEFAULT_SESSION_COMMAND_MAX_ATTEMPTS常量const DEFAULT_SESSION_COMMAND_MAX_ATTEMPTS: 5contracts/session-queue 模块导出的 DEFAULT SESSION COMMAND MAX ATTEMPTS 常量。
SESSION_COMMAND_MAX_ATTEMPTS_LIMIT常量const SESSION_COMMAND_MAX_ATTEMPTS_LIMIT: 100contracts/session-queue 模块导出的 SESSION COMMAND MAX ATTEMPTS LIMIT 常量。
SESSION_COMMAND_RUN_CANCELLED_CODE常量const SESSION_COMMAND_RUN_CANCELLED_CODE: "RUNTIME_RUN_CANCELLED"contracts/session-queue 模块导出的 SESSION COMMAND RUN CANCELLED CODE 常量。
SESSION_COMMAND_STATUSES常量const SESSION_COMMAND_STATUSES: readonly ["queued", "claimed", "applied", "reused", "rejected", "expired", "failed", "dead_letter", "dead_letter_resolved"]contracts/session-queue 模块导出的 SESSION COMMAND STATUSES 常量。
SESSION_COMMAND_TYPES常量const SESSION_COMMAND_TYPES: readonly ["start_run", "user_input", "resume", "signal", "cancel", "transition", "continue_react", "close_session"]contracts/session-queue 模块导出的 SESSION COMMAND TYPES 常量。
CancelSessionCommandsRequest接口interface CancelSessionCommandsRequestCancel Session Commands Request 接口,共包含 6 个公开字段或方法。
CancelSessionCommandsResult接口interface CancelSessionCommandsResultCancel Session Commands Result 接口,共包含 4 个公开字段或方法。
ClaimSessionCommandRequest接口interface ClaimSessionCommandRequestClaim Session Command Request 接口,共包含 4 个公开字段或方法。
CloseDeadLetterSessionCommandRequest接口interface CloseDeadLetterSessionCommandRequestClose Dead Letter Session Command Request 接口,共包含 6 个公开字段或方法。
CompleteSessionCommandRequest接口interface CompleteSessionCommandRequestComplete Session Command Request 接口,共包含 7 个公开字段或方法。
EnqueueSessionCommandRequest接口interface EnqueueSessionCommandRequestEnqueue Session Command Request 接口,共包含 15 个公开字段或方法。
FailSessionCommandRequest接口interface FailSessionCommandRequestFail Session Command Request 接口,共包含 7 个公开字段或方法。
ListSessionCommandsRequest接口interface ListSessionCommandsRequestList Session Commands Request 接口,共包含 4 个公开字段或方法。
ListStuckSessionCommandsRequest接口interface ListStuckSessionCommandsRequestList Stuck Session Commands Request 接口,共包含 4 个公开字段或方法。
RedriveDeadLetterSessionCommandRequest接口interface RedriveDeadLetterSessionCommandRequestRedrive Dead Letter Session Command Request 接口,共包含 12 个公开字段或方法。
ReleaseSessionCommandRequest接口interface ReleaseSessionCommandRequestRelease Session Command Request 接口,共包含 6 个公开字段或方法。
RenewSessionCommandRequest接口interface RenewSessionCommandRequestRenew Session Command Request 接口,共包含 6 个公开字段或方法。
SessionCommandClaim接口interface SessionCommandClaimSession Command Claim 接口,共包含 5 个公开字段或方法。
SessionCommandDeadLetterResolution接口interface SessionCommandDeadLetterResolutionSession Command Dead Letter Resolution 接口,共包含 6 个公开字段或方法。
SessionCommandLeaseRecovery接口interface SessionCommandLeaseRecoverySession Command Lease Recovery 接口,共包含 6 个公开字段或方法。
SessionCommandRecord接口interface SessionCommandRecordSession Command Record 接口,共包含 29 个公开字段或方法。
SessionCommandRedrive接口interface SessionCommandRedriveSession Command Redrive 接口,共包含 5 个公开字段或方法。
SessionQueueHealthSnapshot接口interface SessionQueueHealthSnapshot extends Record<string, unknown>Session Queue Health Snapshot 接口,共包含 12 个公开字段或方法。
SessionQueueScope接口interface SessionQueueScopeSession Queue Scope 接口,共包含 3 个公开字段或方法。
StuckSessionCommand接口interface StuckSessionCommandStuck Session Command 接口,共包含 3 个公开字段或方法。
SessionCommandStatus类型type SessionCommandStatus = (typeof SESSION_COMMAND_STATUSES)[number]Session Command Status 公共类型别名;完整类型表达式见声明。
SessionCommandType类型type SessionCommandType = (typeof SESSION_COMMAND_TYPES)[number]Session Command Type 公共类型别名;完整类型表达式见声明。

DEFAULT_SESSION_COMMAND_MAX_ATTEMPTS

contracts/session-queue 模块导出的 DEFAULT SESSION COMMAND MAX ATTEMPTS 常量。

  • 种类: 常量
  • 导入: import { DEFAULT_SESSION_COMMAND_MAX_ATTEMPTS } from '@codesoul-co/hypha-core';
  • 源码模块: contracts/session-queue

声明

text
export declare const DEFAULT_SESSION_COMMAND_MAX_ATTEMPTS: 5;

SESSION_COMMAND_MAX_ATTEMPTS_LIMIT

contracts/session-queue 模块导出的 SESSION COMMAND MAX ATTEMPTS LIMIT 常量。

  • 种类: 常量
  • 导入: import { SESSION_COMMAND_MAX_ATTEMPTS_LIMIT } from '@codesoul-co/hypha-core';
  • 源码模块: contracts/session-queue

声明

text
export declare const SESSION_COMMAND_MAX_ATTEMPTS_LIMIT: 100;

SESSION_COMMAND_RUN_CANCELLED_CODE

contracts/session-queue 模块导出的 SESSION COMMAND RUN CANCELLED CODE 常量。

  • 种类: 常量
  • 导入: import { SESSION_COMMAND_RUN_CANCELLED_CODE } from '@codesoul-co/hypha-core';
  • 源码模块: contracts/session-queue

声明

text
export declare const SESSION_COMMAND_RUN_CANCELLED_CODE: "RUNTIME_RUN_CANCELLED";

SESSION_COMMAND_STATUSES

contracts/session-queue 模块导出的 SESSION COMMAND STATUSES 常量。

  • 种类: 常量
  • 导入: import { SESSION_COMMAND_STATUSES } from '@codesoul-co/hypha-core';
  • 源码模块: contracts/session-queue

声明

text
export declare const SESSION_COMMAND_STATUSES: readonly ["queued", "claimed", "applied", "reused", "rejected", "expired", "failed", "dead_letter", "dead_letter_resolved"];

SESSION_COMMAND_TYPES

contracts/session-queue 模块导出的 SESSION COMMAND TYPES 常量。

  • 种类: 常量
  • 导入: import { SESSION_COMMAND_TYPES } from '@codesoul-co/hypha-core';
  • 源码模块: contracts/session-queue

声明

text
export declare const SESSION_COMMAND_TYPES: readonly ["start_run", "user_input", "resume", "signal", "cancel", "transition", "continue_react", "close_session"];

CancelSessionCommandsRequest

Cancel Session Commands Request 接口,共包含 6 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { CancelSessionCommandsRequest } from '@codesoul-co/hypha-core';
  • 源码模块: contracts/session-queue

声明

text
export interface CancelSessionCommandsRequest {
    version: '1.0.0';
    scope: SessionQueueScope;
    targetRunId: string;
    cancellationCommandId: string;
    reason: string;
    cancelledAt: string;
}

契约成员

成员种类签名说明
cancellationCommandId属性cancellationCommandId: string公开属性;类型、只读和可选状态以签名列为准。
cancelledAt属性cancelledAt: string公开属性;类型、只读和可选状态以签名列为准。
reason属性reason: string公开属性;类型、只读和可选状态以签名列为准。
scope属性scope: SessionQueueScope公开属性;类型、只读和可选状态以签名列为准。
targetRunId属性targetRunId: string公开属性;类型、只读和可选状态以签名列为准。
version属性version: "1.0.0"公开属性;类型、只读和可选状态以签名列为准。

CancelSessionCommandsResult

Cancel Session Commands Result 接口,共包含 4 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { CancelSessionCommandsResult } from '@codesoul-co/hypha-core';
  • 源码模块: contracts/session-queue

声明

text
export interface CancelSessionCommandsResult {
    targetRunId: string;
    cancelledCommandIds: string[];
    alreadyCancelledCommandIds: string[];
    alreadyTerminalCommandIds: string[];
}

契约成员

成员种类签名说明
alreadyCancelledCommandIds属性alreadyCancelledCommandIds: string[]公开属性;类型、只读和可选状态以签名列为准。
alreadyTerminalCommandIds属性alreadyTerminalCommandIds: string[]公开属性;类型、只读和可选状态以签名列为准。
cancelledCommandIds属性cancelledCommandIds: string[]公开属性;类型、只读和可选状态以签名列为准。
targetRunId属性targetRunId: string公开属性;类型、只读和可选状态以签名列为准。

ClaimSessionCommandRequest

Claim Session Command Request 接口,共包含 4 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { ClaimSessionCommandRequest } from '@codesoul-co/hypha-core';
  • 源码模块: contracts/session-queue

声明

text
export interface ClaimSessionCommandRequest {
    workerId: string;
    now: string;
    leaseMs: number;
    scope?: SessionQueueScope;
}

契约成员

成员种类签名说明
leaseMs属性leaseMs: number公开属性;类型、只读和可选状态以签名列为准。
now属性now: string公开属性;类型、只读和可选状态以签名列为准。
scope属性scope?: SessionQueueScope公开属性;类型、只读和可选状态以签名列为准。
workerId属性workerId: string公开属性;类型、只读和可选状态以签名列为准。

CloseDeadLetterSessionCommandRequest

Close Dead Letter Session Command Request 接口,共包含 6 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { CloseDeadLetterSessionCommandRequest } from '@codesoul-co/hypha-core';
  • 源码模块: contracts/session-queue

声明

text
export interface CloseDeadLetterSessionCommandRequest {
    version: '1.0.0';
    scope: SessionQueueScope;
    commandId: string;
    operatorId: string;
    reason: string;
    closedAt: string;
}

契约成员

成员种类签名说明
closedAt属性closedAt: string公开属性;类型、只读和可选状态以签名列为准。
commandId属性commandId: string公开属性;类型、只读和可选状态以签名列为准。
operatorId属性operatorId: string公开属性;类型、只读和可选状态以签名列为准。
reason属性reason: string公开属性;类型、只读和可选状态以签名列为准。
scope属性scope: SessionQueueScope公开属性;类型、只读和可选状态以签名列为准。
version属性version: "1.0.0"公开属性;类型、只读和可选状态以签名列为准。

CompleteSessionCommandRequest

Complete Session Command Request 接口,共包含 7 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { CompleteSessionCommandRequest } from '@codesoul-co/hypha-core';
  • 源码模块: contracts/session-queue

声明

text
export interface CompleteSessionCommandRequest {
    commandId: string;
    workerId: string;
    claimToken: string;
    leaseEpoch: number;
    completedAt: string;
    resultRunId?: string;
    resultEventIds?: string[];
}

契约成员

成员种类签名说明
claimToken属性claimToken: string公开属性;类型、只读和可选状态以签名列为准。
commandId属性commandId: string公开属性;类型、只读和可选状态以签名列为准。
completedAt属性completedAt: string公开属性;类型、只读和可选状态以签名列为准。
leaseEpoch属性leaseEpoch: number公开属性;类型、只读和可选状态以签名列为准。
resultEventIds属性resultEventIds?: string[]公开属性;类型、只读和可选状态以签名列为准。
resultRunId属性resultRunId?: string公开属性;类型、只读和可选状态以签名列为准。
workerId属性workerId: string公开属性;类型、只读和可选状态以签名列为准。

EnqueueSessionCommandRequest

Enqueue Session Command Request 接口,共包含 15 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { EnqueueSessionCommandRequest } from '@codesoul-co/hypha-core';
  • 源码模块: contracts/session-queue

声明

text
export interface EnqueueSessionCommandRequest {
    id: string;
    commandType: SessionCommandType;
    idempotencyKey: string;
    tenantId?: string;
    userId: string;
    workspaceId?: string;
    sessionId: string;
    targetRunId?: string;
    priority?: number;
    maxAttempts?: number;
    payloadRef?: string;
    payloadHash: string;
    createdAt?: string;
    availableAt?: string;
    expiresAt?: string;
}

契约成员

成员种类签名说明
availableAt属性availableAt?: string公开属性;类型、只读和可选状态以签名列为准。
commandType属性commandType: "user_input" | "cancel" | "signal" | "start_run" | "resume" | "transition" | "continue_react" | "close_session"公开属性;类型、只读和可选状态以签名列为准。
createdAt属性createdAt?: string公开属性;类型、只读和可选状态以签名列为准。
expiresAt属性expiresAt?: string公开属性;类型、只读和可选状态以签名列为准。
id属性id: string公开属性;类型、只读和可选状态以签名列为准。
idempotencyKey属性idempotencyKey: string公开属性;类型、只读和可选状态以签名列为准。
maxAttempts属性maxAttempts?: number公开属性;类型、只读和可选状态以签名列为准。
payloadHash属性payloadHash: string公开属性;类型、只读和可选状态以签名列为准。
payloadRef属性payloadRef?: string公开属性;类型、只读和可选状态以签名列为准。
priority属性priority?: number公开属性;类型、只读和可选状态以签名列为准。
sessionId属性sessionId: string公开属性;类型、只读和可选状态以签名列为准。
targetRunId属性targetRunId?: string公开属性;类型、只读和可选状态以签名列为准。
tenantId属性tenantId?: string公开属性;类型、只读和可选状态以签名列为准。
userId属性userId: string公开属性;类型、只读和可选状态以签名列为准。
workspaceId属性workspaceId?: string公开属性;类型、只读和可选状态以签名列为准。

FailSessionCommandRequest

Fail Session Command Request 接口,共包含 7 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { FailSessionCommandRequest } from '@codesoul-co/hypha-core';
  • 源码模块: contracts/session-queue

声明

text
export interface FailSessionCommandRequest {
    commandId: string;
    workerId: string;
    claimToken: string;
    leaseEpoch: number;
    failedAt: string;
    rejectionCode: string;
    deadLetter?: boolean;
}

契约成员

成员种类签名说明
claimToken属性claimToken: string公开属性;类型、只读和可选状态以签名列为准。
commandId属性commandId: string公开属性;类型、只读和可选状态以签名列为准。
deadLetter属性deadLetter?: boolean公开属性;类型、只读和可选状态以签名列为准。
failedAt属性failedAt: string公开属性;类型、只读和可选状态以签名列为准。
leaseEpoch属性leaseEpoch: number公开属性;类型、只读和可选状态以签名列为准。
rejectionCode属性rejectionCode: string公开属性;类型、只读和可选状态以签名列为准。
workerId属性workerId: string公开属性;类型、只读和可选状态以签名列为准。

ListSessionCommandsRequest

List Session Commands Request 接口,共包含 4 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { ListSessionCommandsRequest } from '@codesoul-co/hypha-core';
  • 源码模块: contracts/session-queue

声明

text
export interface ListSessionCommandsRequest {
    scope: SessionQueueScope;
    statuses?: SessionCommandStatus[];
    fromSequence?: number;
    limit?: number;
}

契约成员

成员种类签名说明
fromSequence属性fromSequence?: number公开属性;类型、只读和可选状态以签名列为准。
limit属性limit?: number公开属性;类型、只读和可选状态以签名列为准。
scope属性scope: SessionQueueScope公开属性;类型、只读和可选状态以签名列为准。
statuses属性statuses?: ("rejected" | "queued" | "failed" | "expired" | "applied" | "dead_letter" | "claimed" | "reused" | "dead_letter_resolved")[]公开属性;类型、只读和可选状态以签名列为准。

ListStuckSessionCommandsRequest

List Stuck Session Commands Request 接口,共包含 4 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { ListStuckSessionCommandsRequest } from '@codesoul-co/hypha-core';
  • 源码模块: contracts/session-queue

声明

text
export interface ListStuckSessionCommandsRequest {
    scope: SessionQueueScope;
    checkedAt: string;
    graceMs?: number;
    limit?: number;
}

契约成员

成员种类签名说明
checkedAt属性checkedAt: string公开属性;类型、只读和可选状态以签名列为准。
graceMs属性graceMs?: number公开属性;类型、只读和可选状态以签名列为准。
limit属性limit?: number公开属性;类型、只读和可选状态以签名列为准。
scope属性scope: SessionQueueScope公开属性;类型、只读和可选状态以签名列为准。

RedriveDeadLetterSessionCommandRequest

Redrive Dead Letter Session Command Request 接口,共包含 12 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { RedriveDeadLetterSessionCommandRequest } from '@codesoul-co/hypha-core';
  • 源码模块: contracts/session-queue

声明

text
export interface RedriveDeadLetterSessionCommandRequest {
    version: '1.0.0';
    scope: SessionQueueScope;
    sourceCommandId: string;
    id: string;
    idempotencyKey: string;
    operatorId: string;
    reason: string;
    requestedAt?: string;
    availableAt?: string;
    expiresAt?: string;
    priority?: number;
    maxAttempts?: number;
}

契约成员

成员种类签名说明
availableAt属性availableAt?: string公开属性;类型、只读和可选状态以签名列为准。
expiresAt属性expiresAt?: string公开属性;类型、只读和可选状态以签名列为准。
id属性id: string公开属性;类型、只读和可选状态以签名列为准。
idempotencyKey属性idempotencyKey: string公开属性;类型、只读和可选状态以签名列为准。
maxAttempts属性maxAttempts?: number公开属性;类型、只读和可选状态以签名列为准。
operatorId属性operatorId: string公开属性;类型、只读和可选状态以签名列为准。
priority属性priority?: number公开属性;类型、只读和可选状态以签名列为准。
reason属性reason: string公开属性;类型、只读和可选状态以签名列为准。
requestedAt属性requestedAt?: string公开属性;类型、只读和可选状态以签名列为准。
scope属性scope: SessionQueueScope公开属性;类型、只读和可选状态以签名列为准。
sourceCommandId属性sourceCommandId: string公开属性;类型、只读和可选状态以签名列为准。
version属性version: "1.0.0"公开属性;类型、只读和可选状态以签名列为准。

ReleaseSessionCommandRequest

Release Session Command Request 接口,共包含 6 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { ReleaseSessionCommandRequest } from '@codesoul-co/hypha-core';
  • 源码模块: contracts/session-queue

声明

text
export interface ReleaseSessionCommandRequest {
    commandId: string;
    workerId: string;
    claimToken: string;
    leaseEpoch: number;
    releasedAt: string;
    availableAt?: string;
}

契约成员

成员种类签名说明
availableAt属性availableAt?: string公开属性;类型、只读和可选状态以签名列为准。
claimToken属性claimToken: string公开属性;类型、只读和可选状态以签名列为准。
commandId属性commandId: string公开属性;类型、只读和可选状态以签名列为准。
leaseEpoch属性leaseEpoch: number公开属性;类型、只读和可选状态以签名列为准。
releasedAt属性releasedAt: string公开属性;类型、只读和可选状态以签名列为准。
workerId属性workerId: string公开属性;类型、只读和可选状态以签名列为准。

RenewSessionCommandRequest

Renew Session Command Request 接口,共包含 6 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { RenewSessionCommandRequest } from '@codesoul-co/hypha-core';
  • 源码模块: contracts/session-queue

声明

text
export interface RenewSessionCommandRequest {
    commandId: string;
    workerId: string;
    claimToken: string;
    leaseEpoch: number;
    renewedAt: string;
    leaseMs: number;
}

契约成员

成员种类签名说明
claimToken属性claimToken: string公开属性;类型、只读和可选状态以签名列为准。
commandId属性commandId: string公开属性;类型、只读和可选状态以签名列为准。
leaseEpoch属性leaseEpoch: number公开属性;类型、只读和可选状态以签名列为准。
leaseMs属性leaseMs: number公开属性;类型、只读和可选状态以签名列为准。
renewedAt属性renewedAt: string公开属性;类型、只读和可选状态以签名列为准。
workerId属性workerId: string公开属性;类型、只读和可选状态以签名列为准。

SessionCommandClaim

Session Command Claim 接口,共包含 5 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { SessionCommandClaim } from '@codesoul-co/hypha-core';
  • 源码模块: contracts/session-queue

声明

text
export interface SessionCommandClaim {
    commandId: string;
    workerId: string;
    claimToken: string;
    leaseEpoch: number;
    leaseExpiresAt: string;
}

契约成员

成员种类签名说明
claimToken属性claimToken: string公开属性;类型、只读和可选状态以签名列为准。
commandId属性commandId: string公开属性;类型、只读和可选状态以签名列为准。
leaseEpoch属性leaseEpoch: number公开属性;类型、只读和可选状态以签名列为准。
leaseExpiresAt属性leaseExpiresAt: string公开属性;类型、只读和可选状态以签名列为准。
workerId属性workerId: string公开属性;类型、只读和可选状态以签名列为准。

SessionCommandDeadLetterResolution

Session Command Dead Letter Resolution 接口,共包含 6 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { SessionCommandDeadLetterResolution } from '@codesoul-co/hypha-core';
  • 源码模块: contracts/session-queue

声明

text
export interface SessionCommandDeadLetterResolution {
    version: '1.0.0';
    disposition: 'redriven' | 'closed';
    operatorId: string;
    reason: string;
    resolvedAt: string;
    redriveCommandId?: string;
}

契约成员

成员种类签名说明
disposition属性disposition: "closed" | "redriven"公开属性;类型、只读和可选状态以签名列为准。
operatorId属性operatorId: string公开属性;类型、只读和可选状态以签名列为准。
reason属性reason: string公开属性;类型、只读和可选状态以签名列为准。
redriveCommandId属性redriveCommandId?: string公开属性;类型、只读和可选状态以签名列为准。
resolvedAt属性resolvedAt: string公开属性;类型、只读和可选状态以签名列为准。
version属性version: "1.0.0"公开属性;类型、只读和可选状态以签名列为准。

SessionCommandLeaseRecovery

Session Command Lease Recovery 接口,共包含 6 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { SessionCommandLeaseRecovery } from '@codesoul-co/hypha-core';
  • 源码模块: contracts/session-queue

声明

text
export interface SessionCommandLeaseRecovery {
    version: '1.0.0';
    previousWorkerId: string;
    previousLeaseEpoch: number;
    leaseExpiredAt: string;
    recoveredAt: string;
    disposition: 'requeued' | 'dead_lettered';
}

契约成员

成员种类签名说明
disposition属性disposition: "requeued" | "dead_lettered"公开属性;类型、只读和可选状态以签名列为准。
leaseExpiredAt属性leaseExpiredAt: string公开属性;类型、只读和可选状态以签名列为准。
previousLeaseEpoch属性previousLeaseEpoch: number公开属性;类型、只读和可选状态以签名列为准。
previousWorkerId属性previousWorkerId: string公开属性;类型、只读和可选状态以签名列为准。
recoveredAt属性recoveredAt: string公开属性;类型、只读和可选状态以签名列为准。
version属性version: "1.0.0"公开属性;类型、只读和可选状态以签名列为准。

SessionCommandRecord

Session Command Record 接口,共包含 29 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { SessionCommandRecord } from '@codesoul-co/hypha-core';
  • 源码模块: contracts/session-queue

声明

text
export interface SessionCommandRecord {
    id: string;
    commandType: SessionCommandType;
    idempotencyKey: string;
    tenantId?: string;
    userId: string;
    workspaceId?: string;
    sessionId: string;
    targetRunId?: string;
    enqueueSequence: number;
    priority: number;
    attempts: number;
    maxAttempts: number;
    leaseEpoch: number;
    payloadRef?: string;
    payloadHash: string;
    status: SessionCommandStatus;
    claimedBy?: string;
    claimToken?: string;
    leaseExpiresAt?: string;
    resultRunId?: string;
    resultEventIds?: string[];
    rejectionCode?: string;
    createdAt: string;
    availableAt: string;
    expiresAt?: string;
    completedAt?: string;
    redrive?: SessionCommandRedrive;
    deadLetterResolution?: SessionCommandDeadLetterResolution;
    leaseRecoveries?: SessionCommandLeaseRecovery[];
}

契约成员

成员种类签名说明
attempts属性attempts: number公开属性;类型、只读和可选状态以签名列为准。
availableAt属性availableAt: string公开属性;类型、只读和可选状态以签名列为准。
claimedBy属性claimedBy?: string公开属性;类型、只读和可选状态以签名列为准。
claimToken属性claimToken?: string公开属性;类型、只读和可选状态以签名列为准。
commandType属性commandType: "user_input" | "cancel" | "signal" | "start_run" | "resume" | "transition" | "continue_react" | "close_session"公开属性;类型、只读和可选状态以签名列为准。
completedAt属性completedAt?: string公开属性;类型、只读和可选状态以签名列为准。
createdAt属性createdAt: string公开属性;类型、只读和可选状态以签名列为准。
deadLetterResolution属性deadLetterResolution?: SessionCommandDeadLetterResolution公开属性;类型、只读和可选状态以签名列为准。
enqueueSequence属性enqueueSequence: number公开属性;类型、只读和可选状态以签名列为准。
expiresAt属性expiresAt?: string公开属性;类型、只读和可选状态以签名列为准。
id属性id: string公开属性;类型、只读和可选状态以签名列为准。
idempotencyKey属性idempotencyKey: string公开属性;类型、只读和可选状态以签名列为准。
leaseEpoch属性leaseEpoch: number公开属性;类型、只读和可选状态以签名列为准。
leaseExpiresAt属性leaseExpiresAt?: string公开属性;类型、只读和可选状态以签名列为准。
leaseRecoveries属性leaseRecoveries?: SessionCommandLeaseRecovery[]公开属性;类型、只读和可选状态以签名列为准。
maxAttempts属性maxAttempts: number公开属性;类型、只读和可选状态以签名列为准。
payloadHash属性payloadHash: string公开属性;类型、只读和可选状态以签名列为准。
payloadRef属性payloadRef?: string公开属性;类型、只读和可选状态以签名列为准。
priority属性priority: number公开属性;类型、只读和可选状态以签名列为准。
redrive属性redrive?: SessionCommandRedrive公开属性;类型、只读和可选状态以签名列为准。
rejectionCode属性rejectionCode?: string公开属性;类型、只读和可选状态以签名列为准。
resultEventIds属性resultEventIds?: string[]公开属性;类型、只读和可选状态以签名列为准。
resultRunId属性resultRunId?: string公开属性;类型、只读和可选状态以签名列为准。
sessionId属性sessionId: string公开属性;类型、只读和可选状态以签名列为准。
status属性status: "rejected" | "queued" | "failed" | "expired" | "applied" | "dead_letter" | "claimed" | "reused" | "dead_letter_resolved"公开属性;类型、只读和可选状态以签名列为准。
targetRunId属性targetRunId?: string公开属性;类型、只读和可选状态以签名列为准。
tenantId属性tenantId?: string公开属性;类型、只读和可选状态以签名列为准。
userId属性userId: string公开属性;类型、只读和可选状态以签名列为准。
workspaceId属性workspaceId?: string公开属性;类型、只读和可选状态以签名列为准。

SessionCommandRedrive

Session Command Redrive 接口,共包含 5 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { SessionCommandRedrive } from '@codesoul-co/hypha-core';
  • 源码模块: contracts/session-queue

声明

text
export interface SessionCommandRedrive {
    version: '1.0.0';
    sourceCommandId: string;
    operatorId: string;
    reason: string;
    requestedAt: string;
}

契约成员

成员种类签名说明
operatorId属性operatorId: string公开属性;类型、只读和可选状态以签名列为准。
reason属性reason: string公开属性;类型、只读和可选状态以签名列为准。
requestedAt属性requestedAt: string公开属性;类型、只读和可选状态以签名列为准。
sourceCommandId属性sourceCommandId: string公开属性;类型、只读和可选状态以签名列为准。
version属性version: "1.0.0"公开属性;类型、只读和可选状态以签名列为准。

SessionQueueHealthSnapshot

Session Queue Health Snapshot 接口,共包含 12 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { SessionQueueHealthSnapshot } from '@codesoul-co/hypha-core';
  • 源码模块: contracts/session-queue

声明

text
export interface SessionQueueHealthSnapshot extends Record<string, unknown> {
    version: '1.0.0';
    totalCommands: number;
    pendingCommands: number;
    queuedCommands: number;
    claimedCommands: number;
    deadLetterCommands: number;
    resolvedDeadLetterCommands: number;
    retryingCommands: number;
    redeliveredCommands: number;
    recoveredExpiredLeases: number;
    leaseRecoveryCount: number;
    oldestPendingAgeMs?: number;
}

契约成员

成员种类签名说明
claimedCommands属性claimedCommands: number公开属性;类型、只读和可选状态以签名列为准。
deadLetterCommands属性deadLetterCommands: number公开属性;类型、只读和可选状态以签名列为准。
leaseRecoveryCount属性leaseRecoveryCount: number公开属性;类型、只读和可选状态以签名列为准。
oldestPendingAgeMs属性oldestPendingAgeMs?: number公开属性;类型、只读和可选状态以签名列为准。
pendingCommands属性pendingCommands: number公开属性;类型、只读和可选状态以签名列为准。
queuedCommands属性queuedCommands: number公开属性;类型、只读和可选状态以签名列为准。
recoveredExpiredLeases属性recoveredExpiredLeases: number公开属性;类型、只读和可选状态以签名列为准。
redeliveredCommands属性redeliveredCommands: number公开属性;类型、只读和可选状态以签名列为准。
resolvedDeadLetterCommands属性resolvedDeadLetterCommands: number公开属性;类型、只读和可选状态以签名列为准。
retryingCommands属性retryingCommands: number公开属性;类型、只读和可选状态以签名列为准。
totalCommands属性totalCommands: number公开属性;类型、只读和可选状态以签名列为准。
version属性version: "1.0.0"公开属性;类型、只读和可选状态以签名列为准。

SessionQueueScope

Session Queue Scope 接口,共包含 3 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { SessionQueueScope } from '@codesoul-co/hypha-core';
  • 源码模块: contracts/session-queue

声明

text
export interface SessionQueueScope {
    tenantId?: string;
    userId: string;
    sessionId: string;
}

契约成员

成员种类签名说明
sessionId属性sessionId: string公开属性;类型、只读和可选状态以签名列为准。
tenantId属性tenantId?: string公开属性;类型、只读和可选状态以签名列为准。
userId属性userId: string公开属性;类型、只读和可选状态以签名列为准。

StuckSessionCommand

Stuck Session Command 接口,共包含 3 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { StuckSessionCommand } from '@codesoul-co/hypha-core';
  • 源码模块: contracts/session-queue

声明

text
export interface StuckSessionCommand {
    command: SessionCommandRecord;
    detectedAt: string;
    overdueMs: number;
}

契约成员

成员种类签名说明
command属性command: SessionCommandRecord公开属性;类型、只读和可选状态以签名列为准。
detectedAt属性detectedAt: string公开属性;类型、只读和可选状态以签名列为准。
overdueMs属性overdueMs: number公开属性;类型、只读和可选状态以签名列为准。

SessionCommandStatus

Session Command Status 公共类型别名;完整类型表达式见声明。

  • 种类: 类型
  • 导入: import type { SessionCommandStatus } from '@codesoul-co/hypha-core';
  • 源码模块: contracts/session-queue

声明

text
export type SessionCommandStatus = (typeof SESSION_COMMAND_STATUSES)[number];

SessionCommandType

Session Command Type 公共类型别名;完整类型表达式见声明。

  • 种类: 类型
  • 导入: import type { SessionCommandType } from '@codesoul-co/hypha-core';
  • 源码模块: contracts/session-queue

声明

text
export type SessionCommandType = (typeof SESSION_COMMAND_TYPES)[number];