Files
FastGPT/sdk/otel/src/env-utils.ts
Archer 05bb197990 V4.14.9 features (#6599)
* fix: image read and json error (Agent) (#6502)

* fix:
1.image read
2.JSON parsing error

* dataset cite and pause

* perf: plancall second parse

* add test

---------

Co-authored-by: archer <545436317@qq.com>

* master message

* remove invalid code

* feat(sre): integrate traces, logs, metrics into one sdk (#6580)

* fix: image read and json error (Agent) (#6502)

* fix:
1.image read
2.JSON parsing error

* dataset cite and pause

* perf: plancall second parse

* add test

---------

Co-authored-by: archer <545436317@qq.com>

* master message

* wip: otel sdk

* feat(sre): integrate traces, logs, metrics into one sdk

* fix(sre): use SpanStatusCode constants

* fix(sre): clarify step memory measurement

* update package

* fix: ts

---------

Co-authored-by: YeYuheng <57035043+YYH211@users.noreply.github.com>
Co-authored-by: archer <545436317@qq.com>

* doc

* sandbox in agent (#6579)

* doc

* update template

* fix: pr

* fix: sdk package

* update lock

* update next

* update dockerfile

* dockerfile

* dockerfile

* update sdk version

* update dockerefile

* version

---------

Co-authored-by: YeYuheng <57035043+YYH211@users.noreply.github.com>
Co-authored-by: Ryo <whoeverimf5@gmail.com>
2026-03-21 12:19:44 +08:00

33 lines
1.2 KiB
TypeScript

export type EnvValue = string | boolean | number | undefined;
export function parseBooleanEnv(value: EnvValue, defaultValue: boolean) {
if (typeof value === 'boolean') return value;
if (typeof value === 'number') return value !== 0;
if (typeof value !== 'string' || !value) return defaultValue;
const normalized = value.trim().toLowerCase();
if (['1', 'true', 'yes', 'on'].includes(normalized)) return true;
if (['0', 'false', 'no', 'off'].includes(normalized)) return false;
return defaultValue;
}
export function parseNumberEnv(value: EnvValue, defaultValue: number) {
if (typeof value === 'number' && Number.isFinite(value)) return value;
if (typeof value !== 'string') return defaultValue;
const parsed = Number(value);
return Number.isFinite(parsed) ? parsed : defaultValue;
}
export function parsePositiveNumberEnv(value: EnvValue, defaultValue: number) {
const parsed = parseNumberEnv(value, defaultValue);
return parsed > 0 ? parsed : defaultValue;
}
export function parseStringEnv(value: EnvValue): string | undefined {
if (typeof value !== 'string') return undefined;
const trimmed = value.trim();
return trimmed.length > 0 ? trimmed : undefined;
}