Skip to content

@codesoul-co/hypha-memory / provider-observability

模块用法

用于把外部或本地 Provider 绑定到 Hypha Port。Provider observability 模块公开 2 类、6 接口、3 类型。

从包入口导入

ts
import {
  MemoryProviderTelemetry,
  ObservedMemoryManagementProvider,
} from '@codesoul-co/hypha-memory';

import type {
  MemoryProviderMetricSample,
  MemoryProviderOperationalReport,
  MemoryProviderOperationEstimate,
  MemoryProviderTelemetryOptions,
  MemoryProviderTelemetryPolicy,
  ObservedMemoryManagementProviderOptions,
  MemoryProviderCostEstimator,
  MemoryProviderOperation,
} from '@codesoul-co/hypha-memory';

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

使用要点

  • 9 个类型/接口用于应用代码、Adapter 或测试中的静态契约;请使用 import type,运行时不应依赖它们。
  • 2 个类提供可实例化的运行时实现;构造参数与公开方法在各自条目中完整列出。

公共导出

Symbol种类签名说明
MemoryProviderTelemetrynew MemoryProviderTelemetry(options: MemoryProviderTelemetryOptions): MemoryProviderTelemetryBounded, content-free Provider telemetry with quota admission and SLO evaluation. Samples retain only operation metadata; requests, responses, scopes and content are never stored.
ObservedMemoryManagementProvidernew ObservedMemoryManagementProvider(options: ObservedMemoryManagementProviderOptions): ObservedMemoryManagementProviderProvider decorator that instruments every canonical operation without changing Provider APIs.
MemoryProviderMetricSample接口interface MemoryProviderMetricSampleMemory Provider Metric Sample 接口,共包含 8 个公开字段或方法。
MemoryProviderOperationalReport接口interface MemoryProviderOperationalReportMemory Provider Operational Report 接口,共包含 9 个公开字段或方法。
MemoryProviderOperationEstimate接口interface MemoryProviderOperationEstimateMemory Provider Operation Estimate 接口,共包含 2 个公开字段或方法。
MemoryProviderTelemetryOptions接口interface MemoryProviderTelemetryOptionsMemory Provider Telemetry Options 接口,共包含 3 个公开字段或方法。
MemoryProviderTelemetryPolicy接口interface MemoryProviderTelemetryPolicyMemory Provider Telemetry Policy 接口,共包含 4 个公开字段或方法。
ObservedMemoryManagementProviderOptions接口interface ObservedMemoryManagementProviderOptionsObserved Memory Management Provider Options 接口,共包含 3 个公开字段或方法。
MemoryProviderCostEstimator类型type MemoryProviderCostEstimator = (operation: MemoryProviderOperation, request: unknown) => MemoryProviderOperationEstimateMemory Provider Cost Estimator 公共类型别名;完整类型表达式见声明。
MemoryProviderOperation类型type MemoryProviderOperation = 'add' | 'search' | 'get' | 'list' | 'update' | 'delete' | 'history' | 'health'Memory Provider Operation 公共类型别名;完整类型表达式见声明。
MemoryProviderOperationOutcome类型type MemoryProviderOperationOutcome = 'succeeded' | 'failed' | 'quota_rejected'Memory Provider Operation Outcome 公共类型别名;完整类型表达式见声明。

MemoryProviderTelemetry

Bounded, content-free Provider telemetry with quota admission and SLO evaluation. Samples retain only operation metadata; requests, responses, scopes and content are never stored.

  • 种类: 类
  • 导入: import { MemoryProviderTelemetry } from '@codesoul-co/hypha-memory';
  • 源码模块: provider-observability

声明

text
export declare class MemoryProviderTelemetry {
    constructor(options: MemoryProviderTelemetryOptions);
    begin(providerId: string, operation: MemoryProviderOperation, estimate?: MemoryProviderOperationEstimate): Reservation;
    snapshot(providerId: string): MemoryProviderOperationalReport;
}

公开成员

成员种类签名说明
begin方法begin(providerId: string, operation: MemoryProviderOperation, estimate?: MemoryProviderOperationEstimate): Reservation公开方法;参数与返回类型以签名列为准。
constructor构造函数(options: MemoryProviderTelemetryOptions): MemoryProviderTelemetry创建该类的实例。
snapshot方法snapshot(providerId: string): MemoryProviderOperationalReport公开方法;参数与返回类型以签名列为准。

ObservedMemoryManagementProvider

Provider decorator that instruments every canonical operation without changing Provider APIs.

  • 种类: 类
  • 导入: import { ObservedMemoryManagementProvider } from '@codesoul-co/hypha-memory';
  • 源码模块: provider-observability

声明

text
export declare class ObservedMemoryManagementProvider implements MemoryManagementProvider {
    readonly id: string;
    constructor(options: ObservedMemoryManagementProviderOptions);
    capabilities(): Promise<import("./contracts").MemoryManagementCapabilities>;
    add(request: MemoryAddRequest, signal?: AbortSignal): Promise<ManagedMemoryWriteResult>;
    search(request: ManagedMemorySearchRequest, signal?: AbortSignal): Promise<ManagedMemorySearchResult[]>;
    get(request: MemoryGetRequest, signal?: AbortSignal): Promise<import("./contracts").ManagedMemoryRecord<unknown> | null>;
    list(request: MemoryListRequest, signal?: AbortSignal): Promise<MemoryListResult>;
    update(request: ManagedMemoryUpdateRequest, signal?: AbortSignal): Promise<ManagedMemoryWriteResult>;
    delete(request: ManagedMemoryDeleteRequest, signal?: AbortSignal): Promise<ManagedMemoryDeleteResult>;
    history(request: MemoryHistoryRequest, signal?: AbortSignal): Promise<MemoryVersion[]>;
    health(): Promise<ProviderHealth>;
    close(): Promise<void>;
}

公开成员

成员种类签名说明
add方法add(request: MemoryAddRequest, signal?: AbortSignal): Promise<ManagedMemoryWriteResult>公开方法;参数与返回类型以签名列为准。
capabilities方法capabilities(): Promise<import("./contracts").MemoryManagementCapabilities>公开方法;参数与返回类型以签名列为准。
close方法close(): Promise<void>公开方法;参数与返回类型以签名列为准。
constructor构造函数(options: ObservedMemoryManagementProviderOptions): ObservedMemoryManagementProvider创建该类的实例。
delete方法delete(request: ManagedMemoryDeleteRequest, signal?: AbortSignal): Promise<ManagedMemoryDeleteResult>公开方法;参数与返回类型以签名列为准。
get方法get(request: MemoryGetRequest, signal?: AbortSignal): Promise<import("./contracts").ManagedMemoryRecord<unknown> | null>公开方法;参数与返回类型以签名列为准。
health方法health(): Promise<ProviderHealth>公开方法;参数与返回类型以签名列为准。
history方法history(request: MemoryHistoryRequest, signal?: AbortSignal): Promise<MemoryVersion[]>公开方法;参数与返回类型以签名列为准。
id属性readonly id: string公开属性;类型、只读和可选状态以签名列为准。
list方法list(request: MemoryListRequest, signal?: AbortSignal): Promise<MemoryListResult>公开方法;参数与返回类型以签名列为准。
search方法search(request: ManagedMemorySearchRequest, signal?: AbortSignal): Promise<ManagedMemorySearchResult[]>公开方法;参数与返回类型以签名列为准。
update方法update(request: ManagedMemoryUpdateRequest, signal?: AbortSignal): Promise<ManagedMemoryWriteResult>公开方法;参数与返回类型以签名列为准。

MemoryProviderMetricSample

Memory Provider Metric Sample 接口,共包含 8 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { MemoryProviderMetricSample } from '@codesoul-co/hypha-memory';
  • 源码模块: provider-observability

声明

text
export interface MemoryProviderMetricSample {
    providerId: string;
    operation: MemoryProviderOperation;
    outcome: MemoryProviderOperationOutcome;
    latencyMs: number;
    occurredAt: string;
    costUnits?: number;
    storedBytesDelta?: number;
    errorCode?: string;
}

契约成员

成员种类签名说明
costUnits属性costUnits?: number公开属性;类型、只读和可选状态以签名列为准。
errorCode属性errorCode?: string公开属性;类型、只读和可选状态以签名列为准。
latencyMs属性latencyMs: number公开属性;类型、只读和可选状态以签名列为准。
occurredAt属性occurredAt: string公开属性;类型、只读和可选状态以签名列为准。
operation属性operation: MemoryProviderOperation公开属性;类型、只读和可选状态以签名列为准。
outcome属性outcome: MemoryProviderOperationOutcome公开属性;类型、只读和可选状态以签名列为准。
providerId属性providerId: string公开属性;类型、只读和可选状态以签名列为准。
storedBytesDelta属性storedBytesDelta?: number公开属性;类型、只读和可选状态以签名列为准。

MemoryProviderOperationalReport

Memory Provider Operational Report 接口,共包含 9 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { MemoryProviderOperationalReport } from '@codesoul-co/hypha-memory';
  • 源码模块: provider-observability

声明

text
export interface MemoryProviderOperationalReport {
    providerId: string;
    window: {
        startedAt: string;
        endedAt: string;
        durationMs: number;
    };
    operations: {
        total: number;
        succeeded: number;
        failed: number;
        quotaRejected: number;
        inFlight: number;
        byOperation: Partial<Record<MemoryProviderOperation, number>>;
    };
    availability: number | null;
    latencyMs: {
        p50: number | null;
        p95: number | null;
        p99: number | null;
        max: number | null;
    };
    cost: {
        measuredUnits: number;
        unpricedOperations: number;
        complete: boolean;
    };
    storage: {
        measuredBytes: number;
    };
    quota: {
        maxOperations?: number;
        remainingOperations?: number;
        maxCostUnits?: number;
        remainingCostUnits?: number;
        maxStoredBytes?: number;
        remainingStoredBytes?: number;
    };
    slo: {
        status: 'met' | 'breached' | 'insufficient_data';
        reasons: string[];
        minimumOperations: number;
        availabilityTarget?: number;
        latencyP95Ms?: number;
    };
}

契约成员

成员种类签名说明
availability属性availability: number公开属性;类型、只读和可选状态以签名列为准。
cost属性cost: { measuredUnits: number; unpricedOperations: number; complete: boolean; }公开属性;类型、只读和可选状态以签名列为准。
latencyMs属性latencyMs: { p50: number | null; p95: number | null; p99: number | null; max: number | null; }公开属性;类型、只读和可选状态以签名列为准。
operations属性operations: { total: number; succeeded: number; failed: number; quotaRejected: number; inFlight: number; byOperation: Partial<Record<MemoryProviderOperation, number>>; }公开属性;类型、只读和可选状态以签名列为准。
providerId属性providerId: string公开属性;类型、只读和可选状态以签名列为准。
quota属性quota: { maxOperations?: number; remainingOperations?: number; maxCostUnits?: number; remainingCostUnits?: number; maxStoredBytes?: number; remainingStoredBytes?: number; }公开属性;类型、只读和可选状态以签名列为准。
slo属性slo: { status: "met" | "breached" | "insufficient_data"; reasons: string[]; minimumOperations: number; availabilityTarget?: number; latencyP95Ms?: number; }公开属性;类型、只读和可选状态以签名列为准。
storage属性storage: { measuredBytes: number; }公开属性;类型、只读和可选状态以签名列为准。
window属性window: { startedAt: string; endedAt: string; durationMs: number; }公开属性;类型、只读和可选状态以签名列为准。

MemoryProviderOperationEstimate

Memory Provider Operation Estimate 接口,共包含 2 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { MemoryProviderOperationEstimate } from '@codesoul-co/hypha-memory';
  • 源码模块: provider-observability

声明

text
export interface MemoryProviderOperationEstimate {
    costUnits?: number;
    storedBytesDelta?: number;
}

契约成员

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

MemoryProviderTelemetryOptions

Memory Provider Telemetry Options 接口,共包含 3 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { MemoryProviderTelemetryOptions } from '@codesoul-co/hypha-memory';
  • 源码模块: provider-observability

声明

text
export interface MemoryProviderTelemetryOptions {
    defaultPolicy: MemoryProviderTelemetryPolicy;
    providerPolicies?: Record<string, MemoryProviderTelemetryPolicy>;
    now?: () => Date;
}

契约成员

成员种类签名说明
defaultPolicy属性defaultPolicy: MemoryProviderTelemetryPolicy公开属性;类型、只读和可选状态以签名列为准。
now方法now?(): Date公开方法;参数与返回类型以签名列为准。
providerPolicies属性providerPolicies?: Record<string, MemoryProviderTelemetryPolicy>公开属性;类型、只读和可选状态以签名列为准。

MemoryProviderTelemetryPolicy

Memory Provider Telemetry Policy 接口,共包含 4 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { MemoryProviderTelemetryPolicy } from '@codesoul-co/hypha-memory';
  • 源码模块: provider-observability

声明

text
export interface MemoryProviderTelemetryPolicy {
    windowMs: number;
    maxSamples?: number;
    quota?: {
        maxOperations?: number;
        maxCostUnits?: number;
        maxStoredBytes?: number;
    };
    slo?: {
        minimumOperations?: number;
        availabilityTarget?: number;
        latencyP95Ms?: number;
    };
}

契约成员

成员种类签名说明
maxSamples属性maxSamples?: number公开属性;类型、只读和可选状态以签名列为准。
quota属性quota?: { maxOperations?: number; maxCostUnits?: number; maxStoredBytes?: number; }公开属性;类型、只读和可选状态以签名列为准。
slo属性slo?: { minimumOperations?: number; availabilityTarget?: number; latencyP95Ms?: number; }公开属性;类型、只读和可选状态以签名列为准。
windowMs属性windowMs: number公开属性;类型、只读和可选状态以签名列为准。

ObservedMemoryManagementProviderOptions

Observed Memory Management Provider Options 接口,共包含 3 个公开字段或方法。

  • 种类: 接口
  • 导入: import type { ObservedMemoryManagementProviderOptions } from '@codesoul-co/hypha-memory';
  • 源码模块: provider-observability

声明

text
export interface ObservedMemoryManagementProviderOptions {
    provider: MemoryManagementProvider;
    telemetry: MemoryProviderTelemetry;
    estimate?: MemoryProviderCostEstimator;
}

契约成员

成员种类签名说明
estimate方法estimate?(operation: MemoryProviderOperation, request: unknown): MemoryProviderOperationEstimate公开方法;参数与返回类型以签名列为准。
provider属性provider: MemoryManagementProvider公开属性;类型、只读和可选状态以签名列为准。
telemetry属性telemetry: MemoryProviderTelemetry公开属性;类型、只读和可选状态以签名列为准。

MemoryProviderCostEstimator

Memory Provider Cost Estimator 公共类型别名;完整类型表达式见声明。

  • 种类: 类型
  • 导入: import type { MemoryProviderCostEstimator } from '@codesoul-co/hypha-memory';
  • 源码模块: provider-observability

声明

text
export type MemoryProviderCostEstimator = (operation: MemoryProviderOperation, request: unknown) => MemoryProviderOperationEstimate;

MemoryProviderOperation

Memory Provider Operation 公共类型别名;完整类型表达式见声明。

  • 种类: 类型
  • 导入: import type { MemoryProviderOperation } from '@codesoul-co/hypha-memory';
  • 源码模块: provider-observability

声明

text
export type MemoryProviderOperation = 'add' | 'search' | 'get' | 'list' | 'update' | 'delete' | 'history' | 'health';

MemoryProviderOperationOutcome

Memory Provider Operation Outcome 公共类型别名;完整类型表达式见声明。

  • 种类: 类型
  • 导入: import type { MemoryProviderOperationOutcome } from '@codesoul-co/hypha-memory';
  • 源码模块: provider-observability

声明

text
export type MemoryProviderOperationOutcome = 'succeeded' | 'failed' | 'quota_rejected';