type AttributeValue = string | number | boolean | readonly (string | number | boolean)[]; type AttributeKey = `namzu.${string}` | `gen_ai.${string}` | `service.${string}` | `exception.${string}`; /** * A namespaced, shape-safe attribute bag. Deliberately NOT * `Partial>`: `Partial` would type every property as * `AttributeValue | undefined`, and this repo's tsconfig does not set * `exactOptionalPropertyTypes` — so a `Partial` version would let * `{ 'namzu.x.y': undefined }` compile, an attribute that is present and * holds nothing. Plain `Record` over a template-literal key domain does not * require every possible key to appear — there is no finite set of keys to * require — so dropping `Partial` costs a caller nothing: it still supplies * only the keys it has, and gains that an explicit `undefined` is rejected * the same way `null` and a nested object already are. */ export type LogAttributes = Readonly>; export {}; //# sourceMappingURL=attributes.d.ts.map