Use Effect fn for workbench random ids

This commit is contained in:
elpresidank 2026-06-04 07:39:08 -05:00
parent 157dd38df5
commit 069d901737
2 changed files with 30 additions and 11 deletions

View file

@ -488,13 +488,11 @@ export function resultError<A, E>(result: AsyncResult.AsyncResult<A, E>): string
return resultErrorMessage(result);
}
function randomId(prefix: string): Effect.Effect<string> {
return Effect.gen(function*() {
const left = yield* Random.nextIntBetween(0, 36 ** 6, { halfOpen: true });
const right = yield* Random.nextIntBetween(0, 36 ** 6, { halfOpen: true });
return `${prefix}-${left.toString(36).padStart(6, "0")}${right.toString(36).padStart(6, "0")}`;
});
}
const randomId = Effect.fn("trustgraph.workbench.randomId")(function*(prefix: string) {
const left = yield* Random.nextIntBetween(0, 36 ** 6, { halfOpen: true });
const right = yield* Random.nextIntBetween(0, 36 ** 6, { halfOpen: true });
return `${prefix}-${left.toString(36).padStart(6, "0")}${right.toString(36).padStart(6, "0")}`;
});
function metadataFrom(metadata: StreamingMetadata | undefined): ChatMessage["metadata"] | undefined {
if (metadata === undefined) return undefined;