feat(shared-ts): 同步 3 个 BFF GraphQL schema + downstream-client/logger/outbox 增强

This commit is contained in:
SpecialX
2026-07-14 15:51:36 +08:00
parent 774af93d76
commit e9d3030f2f
6 changed files with 3474 additions and 244 deletions

View File

@@ -348,7 +348,7 @@ export class DownstreamClient {
resolveWait = resolve;
});
if (result.done) break;
yield result.value;
yield (result as { done: false; value: TResponse }).value;
}
if (streamError) {

View File

@@ -9,7 +9,14 @@
*
* 该 logger 也作为 DownstreamClient 默认 logger, 避免循环依赖.
*/
import pino, { type Logger as PinoLogger, type LoggerOptions } from "pino";
import * as pinoNs from "pino";
import { type Logger as PinoLogger, type LoggerOptions } from "pino";
// pino 在 NodeNext + ESM 模式下 default import 丢失 callable 签名 (declaration merging 失效)
// 通过 namespace import + 显式类型断言恢复可调用性
type PinoFn = (options?: LoggerOptions | unknown) => PinoLogger;
const pino = ((pinoNs as unknown as { default: PinoFn }).default ??
(pinoNs as unknown as PinoFn)) as PinoFn;
/**
* 默认日志级别 (可通过环境变量 LOG_LEVEL 覆盖).

View File

@@ -1,5 +1,12 @@
import { Module, type DynamicModule } from "@nestjs/common";
import pino from "pino";
import * as pinoNs from "pino";
import type { Logger as PinoLogger, LoggerOptions } from "pino";
// pino 在 NodeNext + ESM 模式下 default import 丢失 callable 签名 (declaration merging 失效)
// 通过 namespace import + 显式类型断言恢复可调用性
type PinoFn = (options?: LoggerOptions | unknown) => PinoLogger;
const pino = ((pinoNs as unknown as { default: PinoFn }).default ??
(pinoNs as unknown as PinoFn)) as PinoFn;
import { OutboxService } from "./outbox.service.js";
import { OutboxPublisher } from "./publisher.js";
import { createOutboxTable } from "./schema.js";