@kedge-agentic/observer-storage
v0.2.1
Published
Storage-layer types + TypeORM entities for observations. Root entry is framework-free types (Observation / ObserverEvent / EventMetadata); TypeORM entities (ObservationRecord / ObserverEventRecord) live at the `./typeorm` subpath so type-only consumers do
Maintainers
Readme
@kedge-agentic/observer-storage
Observation 的存储层类型 + TypeORM entity。 workflow 栈跨包共享的 surface。
类型: 框架无关库 (依赖 TypeORM) · 状态: public · v0.1.0
用途
承载 observation 持久化用的类型别名 + TypeORM entity 类:
- 类型:
Observation,ObserverEvent,EventMetadata - TypeORM entity:
ObservationRecord,ObserverEventRecord
被使用于:
- @kedge-agentic/workflow-nest (TypeORM repository)
@kedge-agentic/platform(entity 注册)- Solution 侧 handler + spec
历史
M6.3 (2026-05) 之前包里有完整的 in-process observer engine。 M6.4 (2026-05-26) trim 成纯 storage 层 — engine handler 被框架无关的 workflow 引擎取代,下线。
2026-06-01 cleanup C4 把包名从 observer-engine 改成 observer-storage,跟内容对齐。 架构 test 在 src/__tests__/architecture.spec.ts,强制 src/*.ts 零 @nestjs/* 和零 class-validator/class-transformer import。
主要导出
import type {
Observation,
ObserverEvent,
EventMetadata,
} from '@kedge-agentic/observer-storage'
import {
ObservationRecord,
ObserverEventRecord,
} from '@kedge-agentic/observer-storage'用法
// 在 TypeORM 注册 entity
TypeOrmModule.forRoot({
entities: [ObservationRecord, ObserverEventRecord, /* 其它 entity */],
})
// 写一条 observation
const record = new ObservationRecord()
record.sessionId = sessionId
record.entityId = studentId
record.type = 'indicator_hit'
record.data = { anchors: ['K1'], gist: '...', quote: null }
record.createdAt = Date.now()
await repository.save(record)依赖
- 运行时: 无
- Peer:
typeorm^0.3.0,reflect-metadata^0.2.0
关联包
- @kedge-agentic/workflow-nest — 围绕这些 entity 的 TypeORM repository
- @kedge-agentic/workflow — 产生这些记录的框架无关引擎
构建 / 测试
npm run build -w @kedge-agentic/observer-storage
npm test -w @kedge-agentic/observer-storage