@bazariodev/docket 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +33 -2
  3. package/dist/browser/index.cjs +2 -2
  4. package/dist/browser/index.js +2 -2
  5. package/dist/{chunk-LRCHwVuE.js → chunk---OIebMz.js} +31 -3
  6. package/dist/chunk---OIebMz.js.map +1 -0
  7. package/dist/{chunk-CEhpwtwJ.cjs → chunk-BMmKUicm.cjs} +9 -3
  8. package/dist/chunk-BMmKUicm.cjs.map +1 -0
  9. package/dist/{chunk-DkvWLziD.js → chunk-CJmlBW-M.js} +67 -24
  10. package/dist/chunk-CJmlBW-M.js.map +1 -0
  11. package/dist/{chunk-DYcNnkOV.js → chunk-D1NggH6k.js} +2 -2
  12. package/dist/{chunk-DYcNnkOV.js.map → chunk-D1NggH6k.js.map} +1 -1
  13. package/dist/{chunk-ieB8yTEn.cjs → chunk-DEyTe0f4.cjs} +67 -24
  14. package/dist/chunk-DEyTe0f4.cjs.map +1 -0
  15. package/dist/{chunk-BLf-eCDO.cjs → chunk-DLnBMRjo.cjs} +3 -1
  16. package/dist/chunk-DLnBMRjo.cjs.map +1 -0
  17. package/dist/{chunk-CSS3f4_M.js → chunk-Da877R_E.js} +4 -2
  18. package/dist/chunk-Da877R_E.js.map +1 -0
  19. package/dist/{chunk-7ld72rnl.js → chunk-De6BoS1P.js} +9 -3
  20. package/dist/chunk-De6BoS1P.js.map +1 -0
  21. package/dist/{chunk-CXZYNALm.cjs → chunk-Dl2KJDqt.cjs} +31 -2
  22. package/dist/chunk-Dl2KJDqt.cjs.map +1 -0
  23. package/dist/{chunk-DqK_3eFr.cjs → chunk-DlZYLPaU.cjs} +2 -2
  24. package/dist/{chunk-DqK_3eFr.cjs.map → chunk-DlZYLPaU.cjs.map} +1 -1
  25. package/dist/client/index.cjs +4 -4
  26. package/dist/client/index.js +4 -4
  27. package/dist/core/constants.d.cts +2 -0
  28. package/dist/core/constants.d.ts +2 -0
  29. package/dist/export/index.cjs +4 -4
  30. package/dist/export/index.js +4 -4
  31. package/dist/history/index.cjs +2 -2
  32. package/dist/history/index.js +2 -2
  33. package/dist/index.cjs +5 -5
  34. package/dist/index.d.cts +7 -4
  35. package/dist/index.d.ts +7 -4
  36. package/dist/index.js +5 -5
  37. package/dist/redaction/index.cjs +4 -2
  38. package/dist/redaction/index.cjs.map +1 -1
  39. package/dist/redaction/index.js +4 -2
  40. package/dist/redaction/index.js.map +1 -1
  41. package/dist/sip/index.cjs +1 -1
  42. package/dist/sip/index.js +1 -1
  43. package/dist/upload/index.cjs +2 -2
  44. package/dist/upload/index.js +2 -2
  45. package/package.json +2 -2
  46. package/dist/chunk-7ld72rnl.js.map +0 -1
  47. package/dist/chunk-BLf-eCDO.cjs.map +0 -1
  48. package/dist/chunk-CEhpwtwJ.cjs.map +0 -1
  49. package/dist/chunk-CSS3f4_M.js.map +0 -1
  50. package/dist/chunk-CXZYNALm.cjs.map +0 -1
  51. package/dist/chunk-DkvWLziD.js.map +0 -1
  52. package/dist/chunk-LRCHwVuE.js.map +0 -1
  53. package/dist/chunk-ieB8yTEn.cjs.map +0 -1
package/dist/index.d.cts CHANGED
@@ -17,6 +17,8 @@ export type LogValue =
17
17
  | { readonly [key: string]: LogValue };
18
18
  export type LogFields = Readonly<Record<string, LogValue>>;
19
19
  export type LogContext = Readonly<Record<string, string | number>>;
20
+ export type LogMetadata = Readonly<Record<string, boolean>>;
21
+ export type LogOptions = Readonly<{ metadata?: LogMetadata | undefined }>;
20
22
  export type SerializedError = Readonly<{
21
23
  name: string;
22
24
  message: string;
@@ -38,6 +40,7 @@ export type LogRecord = Readonly<{
38
40
  context?: LogContext;
39
41
  error?: SerializedError;
40
42
  truncated?: true;
43
+ metadata?: LogMetadata;
41
44
  }>;
42
45
  export type LogDraft = Readonly<
43
46
  Omit<LogRecord, 'fields' | 'error' | 'redactionVersion' | 'truncated'> & {
@@ -45,10 +48,10 @@ export type LogDraft = Readonly<
45
48
  }
46
49
  >;
47
50
  export type Logger = Readonly<{
48
- debug: (message: string, data?: unknown) => void;
49
- info: (message: string, data?: unknown) => void;
50
- warn: (message: string, data?: unknown) => void;
51
- error: (message: string, data?: unknown) => void;
51
+ debug: (message: string, data?: unknown, options?: LogOptions) => void;
52
+ info: (message: string, data?: unknown, options?: LogOptions) => void;
53
+ warn: (message: string, data?: unknown, options?: LogOptions) => void;
54
+ error: (message: string, data?: unknown, options?: LogOptions) => void;
52
55
  child: (
53
56
  binding: Readonly<{ scope?: string; context?: LogContext }>,
54
57
  ) => Logger;
package/dist/index.d.ts CHANGED
@@ -17,6 +17,8 @@ export type LogValue =
17
17
  | { readonly [key: string]: LogValue };
18
18
  export type LogFields = Readonly<Record<string, LogValue>>;
19
19
  export type LogContext = Readonly<Record<string, string | number>>;
20
+ export type LogMetadata = Readonly<Record<string, boolean>>;
21
+ export type LogOptions = Readonly<{ metadata?: LogMetadata | undefined }>;
20
22
  export type SerializedError = Readonly<{
21
23
  name: string;
22
24
  message: string;
@@ -38,6 +40,7 @@ export type LogRecord = Readonly<{
38
40
  context?: LogContext;
39
41
  error?: SerializedError;
40
42
  truncated?: true;
43
+ metadata?: LogMetadata;
41
44
  }>;
42
45
  export type LogDraft = Readonly<
43
46
  Omit<LogRecord, 'fields' | 'error' | 'redactionVersion' | 'truncated'> & {
@@ -45,10 +48,10 @@ export type LogDraft = Readonly<
45
48
  }
46
49
  >;
47
50
  export type Logger = Readonly<{
48
- debug: (message: string, data?: unknown) => void;
49
- info: (message: string, data?: unknown) => void;
50
- warn: (message: string, data?: unknown) => void;
51
- error: (message: string, data?: unknown) => void;
51
+ debug: (message: string, data?: unknown, options?: LogOptions) => void;
52
+ info: (message: string, data?: unknown, options?: LogOptions) => void;
53
+ warn: (message: string, data?: unknown, options?: LogOptions) => void;
54
+ error: (message: string, data?: unknown, options?: LogOptions) => void;
52
55
  child: (
53
56
  binding: Readonly<{ scope?: string; context?: LogContext }>,
54
57
  ) => Logger;
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
- export { c as createConsoleSink, f as formatRecord } from './chunk-DYcNnkOV.js';
2
- export { c as createLogging } from './chunk-DkvWLziD.js';
3
- import './chunk-LRCHwVuE.js';
4
- import './chunk-CSS3f4_M.js';
5
- import './chunk-7ld72rnl.js';
1
+ export { c as createConsoleSink, f as formatRecord } from './chunk-D1NggH6k.js';
2
+ export { c as createLogging } from './chunk-CJmlBW-M.js';
3
+ import './chunk---OIebMz.js';
4
+ import './chunk-Da877R_E.js';
5
+ import './chunk-De6BoS1P.js';
6
6
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var common = require('../chunk-CXZYNALm.cjs');
4
- var constants = require('../chunk-BLf-eCDO.cjs');
3
+ var common = require('../chunk-Dl2KJDqt.cjs');
4
+ var constants = require('../chunk-DLnBMRjo.cjs');
5
5
 
6
6
  function createRedactor(
7
7
  policy = {},
@@ -83,6 +83,8 @@ function createRedactor(
83
83
  : draft[key],
84
84
  );
85
85
  record.redactionVersion = version;
86
+ const metadata = common.copyMetadata(draft.metadata);
87
+ if (metadata) record.metadata = metadata;
86
88
  if (draft.context) record.context = walk.redactValue(draft.context);
87
89
  const data = draft.data;
88
90
  if (common.isError(data)) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../src/redaction/index.js"],"sourcesContent":["import { define, isError, own, resolveLimits } from '../core/common.js';\nimport { MARKERS } from '../core/constants.js';\n\nexport function createRedactor(\n policy = {},\n { createRedactor: createValueRedactor, TEXT_RULES: providerTextRules } = {},\n) {\n if (typeof createValueRedactor !== 'function')\n throw new TypeError('A value redactor factory is required');\n if (!Array.isArray(policy.text) && !providerTextRules)\n throw new TypeError('Default text rules are required');\n const limits = resolveLimits(policy.limits);\n const version = policy.version ?? '1';\n if (\n typeof version !== 'string' ||\n !version ||\n version.length > limits.maxStringLength\n )\n throw new TypeError('Invalid redaction version');\n const { fields, unknownFields, hash, text } = policy;\n const textRules = text ?? Object.values(providerTextRules);\n const engine = createValueRedactor({\n fields,\n unknownFields,\n hash:\n typeof hash === 'function' ? (value) => hash.call(policy, value) : hash,\n limits: { ...limits, maxOutputSize: limits.maxRecordSize },\n text: text\n ? textRules.map(({ name, pattern, requiresHash, replace }) => ({\n name,\n pattern,\n requiresHash,\n replace:\n typeof replace === 'function'\n ? function (match) {\n return replace.call(this, match, api);\n }\n : replace,\n }))\n : textRules,\n });\n let active;\n const api = {\n version,\n limits,\n mask: engine.mask,\n redactText(value) {\n return (active?.walk ?? engine.createSession()).redactText(value);\n },\n\n redactValue(value) {\n const walk = engine.createSession();\n const result = walk.redactValue(value);\n if (active && walk.truncated) active.truncated = true;\n return JSON.stringify(result).length <= limits.maxRecordSize\n ? result\n : MARKERS.LIMIT;\n },\n\n redact(draft) {\n const previous = active;\n const walk = engine.createSession();\n active = { walk, truncated: false };\n try {\n let didTruncate = false;\n const record = {};\n for (const key of [\n 'runId',\n 'seq',\n 'at',\n 'level',\n 'area',\n 'scope',\n 'message',\n ])\n define(\n record,\n key,\n typeof draft[key] === 'string' && !['runId', 'level'].includes(key)\n ? walk.redactText(draft[key])\n : draft[key],\n );\n record.redactionVersion = version;\n if (draft.context) record.context = walk.redactValue(draft.context);\n const data = draft.data;\n if (isError(data)) {\n const converted = walk.redactValue(data);\n record.error =\n typeof converted === 'string'\n ? { name: 'Error', message: converted }\n : converted;\n } else if (data !== undefined) {\n if (\n data &&\n typeof data === 'object' &&\n !Array.isArray(data) &&\n [Object.prototype, null].includes(Object.getPrototypeOf(data))\n ) {\n const error =\n walk.fieldRule('error') === 'drop'\n ? undefined\n : own(data, 'error');\n const promoted = isError(error);\n if (promoted) {\n const converted = walk.redactError(error, 'error');\n if (converted !== undefined) record.error = converted;\n }\n const values = {};\n let count = 0;\n for (const key of Reflect.ownKeys(data)) {\n if (++count > limits.maxKeys) {\n define(values, '[truncated]', MARKERS.LIMIT);\n didTruncate = true;\n break;\n }\n if (key === 'error' && promoted) continue;\n const descriptor = Object.getOwnPropertyDescriptor(data, key);\n if (typeof key === 'string' && descriptor?.enumerable)\n Object.defineProperty(values, key, descriptor);\n }\n const converted = walk.redactValue(values);\n record.fields =\n converted &&\n typeof converted === 'object' &&\n !Array.isArray(converted)\n ? converted\n : { value: converted };\n } else record.fields = { value: walk.redactValue(data) };\n }\n if (walk.truncated || active.truncated || didTruncate)\n record.truncated = true;\n if (JSON.stringify(record).length > limits.maxRecordSize) {\n delete record.fields;\n delete record.context;\n delete record.error;\n record.fields = { value: MARKERS.LIMIT };\n record.truncated = true;\n if (JSON.stringify(record).length > limits.maxRecordSize)\n throw new TypeError('Record headers exceed size limit');\n }\n return record;\n } finally {\n active = previous;\n }\n },\n };\n if (engine.hash) api.hash = engine.hash;\n return Object.freeze(api);\n}\n"],"names":["resolveLimits","MARKERS","define","isError","own"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../../src/redaction/index.js"],"sourcesContent":["import {\n copyMetadata,\n define,\n isError,\n own,\n resolveLimits,\n} from '../core/common.js';\nimport { MARKERS } from '../core/constants.js';\n\nexport function createRedactor(\n policy = {},\n { createRedactor: createValueRedactor, TEXT_RULES: providerTextRules } = {},\n) {\n if (typeof createValueRedactor !== 'function')\n throw new TypeError('A value redactor factory is required');\n if (!Array.isArray(policy.text) && !providerTextRules)\n throw new TypeError('Default text rules are required');\n const limits = resolveLimits(policy.limits);\n const version = policy.version ?? '1';\n if (\n typeof version !== 'string' ||\n !version ||\n version.length > limits.maxStringLength\n )\n throw new TypeError('Invalid redaction version');\n const { fields, unknownFields, hash, text } = policy;\n const textRules = text ?? Object.values(providerTextRules);\n const engine = createValueRedactor({\n fields,\n unknownFields,\n hash:\n typeof hash === 'function' ? (value) => hash.call(policy, value) : hash,\n limits: { ...limits, maxOutputSize: limits.maxRecordSize },\n text: text\n ? textRules.map(({ name, pattern, requiresHash, replace }) => ({\n name,\n pattern,\n requiresHash,\n replace:\n typeof replace === 'function'\n ? function (match) {\n return replace.call(this, match, api);\n }\n : replace,\n }))\n : textRules,\n });\n let active;\n const api = {\n version,\n limits,\n mask: engine.mask,\n redactText(value) {\n return (active?.walk ?? engine.createSession()).redactText(value);\n },\n\n redactValue(value) {\n const walk = engine.createSession();\n const result = walk.redactValue(value);\n if (active && walk.truncated) active.truncated = true;\n return JSON.stringify(result).length <= limits.maxRecordSize\n ? result\n : MARKERS.LIMIT;\n },\n\n redact(draft) {\n const previous = active;\n const walk = engine.createSession();\n active = { walk, truncated: false };\n try {\n let didTruncate = false;\n const record = {};\n for (const key of [\n 'runId',\n 'seq',\n 'at',\n 'level',\n 'area',\n 'scope',\n 'message',\n ])\n define(\n record,\n key,\n typeof draft[key] === 'string' && !['runId', 'level'].includes(key)\n ? walk.redactText(draft[key])\n : draft[key],\n );\n record.redactionVersion = version;\n const metadata = copyMetadata(draft.metadata);\n if (metadata) record.metadata = metadata;\n if (draft.context) record.context = walk.redactValue(draft.context);\n const data = draft.data;\n if (isError(data)) {\n const converted = walk.redactValue(data);\n record.error =\n typeof converted === 'string'\n ? { name: 'Error', message: converted }\n : converted;\n } else if (data !== undefined) {\n if (\n data &&\n typeof data === 'object' &&\n !Array.isArray(data) &&\n [Object.prototype, null].includes(Object.getPrototypeOf(data))\n ) {\n const error =\n walk.fieldRule('error') === 'drop'\n ? undefined\n : own(data, 'error');\n const promoted = isError(error);\n if (promoted) {\n const converted = walk.redactError(error, 'error');\n if (converted !== undefined) record.error = converted;\n }\n const values = {};\n let count = 0;\n for (const key of Reflect.ownKeys(data)) {\n if (++count > limits.maxKeys) {\n define(values, '[truncated]', MARKERS.LIMIT);\n didTruncate = true;\n break;\n }\n if (key === 'error' && promoted) continue;\n const descriptor = Object.getOwnPropertyDescriptor(data, key);\n if (typeof key === 'string' && descriptor?.enumerable)\n Object.defineProperty(values, key, descriptor);\n }\n const converted = walk.redactValue(values);\n record.fields =\n converted &&\n typeof converted === 'object' &&\n !Array.isArray(converted)\n ? converted\n : { value: converted };\n } else record.fields = { value: walk.redactValue(data) };\n }\n if (walk.truncated || active.truncated || didTruncate)\n record.truncated = true;\n if (JSON.stringify(record).length > limits.maxRecordSize) {\n delete record.fields;\n delete record.context;\n delete record.error;\n record.fields = { value: MARKERS.LIMIT };\n record.truncated = true;\n if (JSON.stringify(record).length > limits.maxRecordSize)\n throw new TypeError('Record headers exceed size limit');\n }\n return record;\n } finally {\n active = previous;\n }\n },\n };\n if (engine.hash) api.hash = engine.hash;\n return Object.freeze(api);\n}\n"],"names":["resolveLimits","MARKERS","define","copyMetadata","isError","own"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { r as resolveLimits, d as define, i as isError, o as own } from '../chunk-LRCHwVuE.js';
2
- import { M as MARKERS } from '../chunk-CSS3f4_M.js';
1
+ import { r as resolveLimits, d as define, c as copyMetadata, i as isError, o as own } from '../chunk---OIebMz.js';
2
+ import { M as MARKERS } from '../chunk-Da877R_E.js';
3
3
 
4
4
  function createRedactor(
5
5
  policy = {},
@@ -81,6 +81,8 @@ function createRedactor(
81
81
  : draft[key],
82
82
  );
83
83
  record.redactionVersion = version;
84
+ const metadata = copyMetadata(draft.metadata);
85
+ if (metadata) record.metadata = metadata;
84
86
  if (draft.context) record.context = walk.redactValue(draft.context);
85
87
  const data = draft.data;
86
88
  if (isError(data)) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/redaction/index.js"],"sourcesContent":["import { define, isError, own, resolveLimits } from '../core/common.js';\nimport { MARKERS } from '../core/constants.js';\n\nexport function createRedactor(\n policy = {},\n { createRedactor: createValueRedactor, TEXT_RULES: providerTextRules } = {},\n) {\n if (typeof createValueRedactor !== 'function')\n throw new TypeError('A value redactor factory is required');\n if (!Array.isArray(policy.text) && !providerTextRules)\n throw new TypeError('Default text rules are required');\n const limits = resolveLimits(policy.limits);\n const version = policy.version ?? '1';\n if (\n typeof version !== 'string' ||\n !version ||\n version.length > limits.maxStringLength\n )\n throw new TypeError('Invalid redaction version');\n const { fields, unknownFields, hash, text } = policy;\n const textRules = text ?? Object.values(providerTextRules);\n const engine = createValueRedactor({\n fields,\n unknownFields,\n hash:\n typeof hash === 'function' ? (value) => hash.call(policy, value) : hash,\n limits: { ...limits, maxOutputSize: limits.maxRecordSize },\n text: text\n ? textRules.map(({ name, pattern, requiresHash, replace }) => ({\n name,\n pattern,\n requiresHash,\n replace:\n typeof replace === 'function'\n ? function (match) {\n return replace.call(this, match, api);\n }\n : replace,\n }))\n : textRules,\n });\n let active;\n const api = {\n version,\n limits,\n mask: engine.mask,\n redactText(value) {\n return (active?.walk ?? engine.createSession()).redactText(value);\n },\n\n redactValue(value) {\n const walk = engine.createSession();\n const result = walk.redactValue(value);\n if (active && walk.truncated) active.truncated = true;\n return JSON.stringify(result).length <= limits.maxRecordSize\n ? result\n : MARKERS.LIMIT;\n },\n\n redact(draft) {\n const previous = active;\n const walk = engine.createSession();\n active = { walk, truncated: false };\n try {\n let didTruncate = false;\n const record = {};\n for (const key of [\n 'runId',\n 'seq',\n 'at',\n 'level',\n 'area',\n 'scope',\n 'message',\n ])\n define(\n record,\n key,\n typeof draft[key] === 'string' && !['runId', 'level'].includes(key)\n ? walk.redactText(draft[key])\n : draft[key],\n );\n record.redactionVersion = version;\n if (draft.context) record.context = walk.redactValue(draft.context);\n const data = draft.data;\n if (isError(data)) {\n const converted = walk.redactValue(data);\n record.error =\n typeof converted === 'string'\n ? { name: 'Error', message: converted }\n : converted;\n } else if (data !== undefined) {\n if (\n data &&\n typeof data === 'object' &&\n !Array.isArray(data) &&\n [Object.prototype, null].includes(Object.getPrototypeOf(data))\n ) {\n const error =\n walk.fieldRule('error') === 'drop'\n ? undefined\n : own(data, 'error');\n const promoted = isError(error);\n if (promoted) {\n const converted = walk.redactError(error, 'error');\n if (converted !== undefined) record.error = converted;\n }\n const values = {};\n let count = 0;\n for (const key of Reflect.ownKeys(data)) {\n if (++count > limits.maxKeys) {\n define(values, '[truncated]', MARKERS.LIMIT);\n didTruncate = true;\n break;\n }\n if (key === 'error' && promoted) continue;\n const descriptor = Object.getOwnPropertyDescriptor(data, key);\n if (typeof key === 'string' && descriptor?.enumerable)\n Object.defineProperty(values, key, descriptor);\n }\n const converted = walk.redactValue(values);\n record.fields =\n converted &&\n typeof converted === 'object' &&\n !Array.isArray(converted)\n ? converted\n : { value: converted };\n } else record.fields = { value: walk.redactValue(data) };\n }\n if (walk.truncated || active.truncated || didTruncate)\n record.truncated = true;\n if (JSON.stringify(record).length > limits.maxRecordSize) {\n delete record.fields;\n delete record.context;\n delete record.error;\n record.fields = { value: MARKERS.LIMIT };\n record.truncated = true;\n if (JSON.stringify(record).length > limits.maxRecordSize)\n throw new TypeError('Record headers exceed size limit');\n }\n return record;\n } finally {\n active = previous;\n }\n },\n };\n if (engine.hash) api.hash = engine.hash;\n return Object.freeze(api);\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/redaction/index.js"],"sourcesContent":["import {\n copyMetadata,\n define,\n isError,\n own,\n resolveLimits,\n} from '../core/common.js';\nimport { MARKERS } from '../core/constants.js';\n\nexport function createRedactor(\n policy = {},\n { createRedactor: createValueRedactor, TEXT_RULES: providerTextRules } = {},\n) {\n if (typeof createValueRedactor !== 'function')\n throw new TypeError('A value redactor factory is required');\n if (!Array.isArray(policy.text) && !providerTextRules)\n throw new TypeError('Default text rules are required');\n const limits = resolveLimits(policy.limits);\n const version = policy.version ?? '1';\n if (\n typeof version !== 'string' ||\n !version ||\n version.length > limits.maxStringLength\n )\n throw new TypeError('Invalid redaction version');\n const { fields, unknownFields, hash, text } = policy;\n const textRules = text ?? Object.values(providerTextRules);\n const engine = createValueRedactor({\n fields,\n unknownFields,\n hash:\n typeof hash === 'function' ? (value) => hash.call(policy, value) : hash,\n limits: { ...limits, maxOutputSize: limits.maxRecordSize },\n text: text\n ? textRules.map(({ name, pattern, requiresHash, replace }) => ({\n name,\n pattern,\n requiresHash,\n replace:\n typeof replace === 'function'\n ? function (match) {\n return replace.call(this, match, api);\n }\n : replace,\n }))\n : textRules,\n });\n let active;\n const api = {\n version,\n limits,\n mask: engine.mask,\n redactText(value) {\n return (active?.walk ?? engine.createSession()).redactText(value);\n },\n\n redactValue(value) {\n const walk = engine.createSession();\n const result = walk.redactValue(value);\n if (active && walk.truncated) active.truncated = true;\n return JSON.stringify(result).length <= limits.maxRecordSize\n ? result\n : MARKERS.LIMIT;\n },\n\n redact(draft) {\n const previous = active;\n const walk = engine.createSession();\n active = { walk, truncated: false };\n try {\n let didTruncate = false;\n const record = {};\n for (const key of [\n 'runId',\n 'seq',\n 'at',\n 'level',\n 'area',\n 'scope',\n 'message',\n ])\n define(\n record,\n key,\n typeof draft[key] === 'string' && !['runId', 'level'].includes(key)\n ? walk.redactText(draft[key])\n : draft[key],\n );\n record.redactionVersion = version;\n const metadata = copyMetadata(draft.metadata);\n if (metadata) record.metadata = metadata;\n if (draft.context) record.context = walk.redactValue(draft.context);\n const data = draft.data;\n if (isError(data)) {\n const converted = walk.redactValue(data);\n record.error =\n typeof converted === 'string'\n ? { name: 'Error', message: converted }\n : converted;\n } else if (data !== undefined) {\n if (\n data &&\n typeof data === 'object' &&\n !Array.isArray(data) &&\n [Object.prototype, null].includes(Object.getPrototypeOf(data))\n ) {\n const error =\n walk.fieldRule('error') === 'drop'\n ? undefined\n : own(data, 'error');\n const promoted = isError(error);\n if (promoted) {\n const converted = walk.redactError(error, 'error');\n if (converted !== undefined) record.error = converted;\n }\n const values = {};\n let count = 0;\n for (const key of Reflect.ownKeys(data)) {\n if (++count > limits.maxKeys) {\n define(values, '[truncated]', MARKERS.LIMIT);\n didTruncate = true;\n break;\n }\n if (key === 'error' && promoted) continue;\n const descriptor = Object.getOwnPropertyDescriptor(data, key);\n if (typeof key === 'string' && descriptor?.enumerable)\n Object.defineProperty(values, key, descriptor);\n }\n const converted = walk.redactValue(values);\n record.fields =\n converted &&\n typeof converted === 'object' &&\n !Array.isArray(converted)\n ? converted\n : { value: converted };\n } else record.fields = { value: walk.redactValue(data) };\n }\n if (walk.truncated || active.truncated || didTruncate)\n record.truncated = true;\n if (JSON.stringify(record).length > limits.maxRecordSize) {\n delete record.fields;\n delete record.context;\n delete record.error;\n record.fields = { value: MARKERS.LIMIT };\n record.truncated = true;\n if (JSON.stringify(record).length > limits.maxRecordSize)\n throw new TypeError('Record headers exceed size limit');\n }\n return record;\n } finally {\n active = previous;\n }\n },\n };\n if (engine.hash) api.hash = engine.hash;\n return Object.freeze(api);\n}\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var constants = require('../chunk-BLf-eCDO.cjs');
3
+ var constants = require('../chunk-DLnBMRjo.cjs');
4
4
 
5
5
  const SIP_ERRORS = /* @__PURE__ */ Object.freeze({
6
6
  CALLBACK: 'SIP display-name callback must return a string without controls',
package/dist/sip/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { M as MARKERS } from '../chunk-CSS3f4_M.js';
1
+ import { M as MARKERS } from '../chunk-Da877R_E.js';
2
2
 
3
3
  const SIP_ERRORS = /* @__PURE__ */ Object.freeze({
4
4
  CALLBACK: 'SIP display-name callback must return a string without controls',
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
- var common = require('../chunk-CXZYNALm.cjs');
4
- require('../chunk-BLf-eCDO.cjs');
3
+ var common = require('../chunk-Dl2KJDqt.cjs');
4
+ require('../chunk-DLnBMRjo.cjs');
5
5
 
6
6
  const UPLOAD_LIMITS = Object.freeze({ MAX_INTERVAL_MS: 2_147_483_647 });
7
7
 
@@ -1,5 +1,5 @@
1
- import { p as positive, s as scheduler, b as report } from '../chunk-LRCHwVuE.js';
2
- import '../chunk-CSS3f4_M.js';
1
+ import { p as positive, s as scheduler, b as report } from '../chunk---OIebMz.js';
2
+ import '../chunk-Da877R_E.js';
3
3
 
4
4
  const UPLOAD_LIMITS = Object.freeze({ MAX_INTERVAL_MS: 2_147_483_647 });
5
5
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bazariodev/docket",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "Structured diagnostic logging with injected redaction, storage, history, and archive capabilities.",
5
5
  "keywords": [
6
6
  "logging",
@@ -140,8 +140,8 @@
140
140
  "devDependencies": {
141
141
  "fake-indexeddb": "^6.2.5",
142
142
  "fflate": "^0.8.2",
143
+ "@bazariodev/hopper": "^1.0.0",
143
144
  "@bazariodev/baler": "^0.1.0",
144
- "@bazariodev/hopper": "^0.2.0",
145
145
  "@bazariodev/winnow": "^0.1.0"
146
146
  },
147
147
  "scripts": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunk-7ld72rnl.js","sources":["../src/core/conversion.js"],"sourcesContent":["import { define, own } from './common.js';\nimport { LEVELS, MARKERS } from './constants.js';\n\nconst errorKeys = ['name', 'message', 'stack', 'cause', 'errors', 'fields'];\nconst recordKeys = [\n 'runId',\n 'seq',\n 'at',\n 'level',\n 'area',\n 'scope',\n 'message',\n 'redactionVersion',\n 'fields',\n 'context',\n 'error',\n 'truncated',\n];\n\nfunction errorShape(keys, descriptors) {\n return (\n keys.every((key) => errorKeys.includes(key)) &&\n typeof descriptors.get('name')?.value === 'string' &&\n typeof descriptors.get('message')?.value === 'string' &&\n (!descriptors.has('stack') ||\n typeof descriptors.get('stack').value === 'string')\n );\n}\n\nfunction errorMarker({ array, keys, descriptors }) {\n return (\n !array &&\n keys.length === 2 &&\n descriptors.get('name')?.value === 'Error' &&\n descriptors.get('message')?.value === MARKERS.LIMIT\n );\n}\n\nfunction arrayIndex(key, length) {\n const index = typeof key === 'string' ? Number(key) : -1;\n return (\n Number.isSafeInteger(index) &&\n index >= 0 &&\n index < length &&\n String(index) === key\n );\n}\n\nexport function ownJson(value, limits, { record = false } = {}) {\n let nodes = 0;\n let classifiedNodes = 0;\n const ancestors = new Set();\n const snapshots = new WeakMap();\n const classifications = new WeakMap();\n const classifying = new Set();\n\n function inspect(value, kind = '') {\n const cached = snapshots.get(value);\n if (cached) return cached;\n const array = Array.isArray(value);\n const length = array ? own(value, 'length') : 0;\n if (\n array &&\n (!Number.isSafeInteger(length) ||\n length < 0 ||\n length > limits.maxArrayLength + 1)\n )\n throw new TypeError('Invalid redactor bounds');\n const keys = Reflect.ownKeys(value).filter(\n (key) => !(array && key === 'length'),\n );\n const ceiling =\n kind === 'marker'\n ? 2\n : kind === 'record'\n ? recordKeys.length\n : Math.max(limits.maxKeys + 1, errorKeys.length);\n if (\n (array && keys.length > limits.maxArrayLength + 1) ||\n (!array && keys.length > ceiling)\n )\n throw new TypeError('Invalid redactor bounds');\n const descriptors = new Map();\n for (const key of keys) {\n const descriptor = Object.getOwnPropertyDescriptor(value, key);\n if (!descriptor || !Object.hasOwn(descriptor, 'value'))\n throw new TypeError('Invalid redactor property');\n descriptors.set(key, descriptor);\n }\n const snapshot = { array, length, keys, descriptors };\n snapshots.set(value, snapshot);\n return snapshot;\n }\n\n function errorRelationships({ descriptors }, depth) {\n const fields = descriptors.get('fields');\n if (\n fields &&\n (!fields.value ||\n typeof fields.value !== 'object' ||\n Array.isArray(fields.value))\n )\n return false;\n const cause = descriptors.get('cause');\n if (cause && !canonicalError(cause.value, depth + 1)) return false;\n const errors = descriptors.get('errors');\n if (!errors) return true;\n if (!Array.isArray(errors.value)) return false;\n const { length, keys, descriptors: children } = inspect(errors.value);\n if (length !== keys.length || !keys.every((key) => arrayIndex(key, length)))\n return false;\n for (const key of keys)\n if (!canonicalError(children.get(key).value, depth + 1)) return false;\n return (\n length <= limits.maxArrayLength ||\n errorMarker(inspect(children.get(String(length - 1)).value))\n );\n }\n\n function canonicalError(value, depth) {\n if (!value || typeof value !== 'object' || Array.isArray(value))\n return false;\n const cached = classifications.get(value);\n if (cached !== undefined) return cached;\n if (classifying.has(value)) return false;\n const snapshot = inspect(\n value,\n depth > limits.maxDepth || classifiedNodes >= limits.maxNodes\n ? 'marker'\n : '',\n );\n if (!errorShape(snapshot.keys, snapshot.descriptors)) {\n classifications.set(value, false);\n return false;\n }\n if (errorMarker(snapshot)) {\n classifications.set(value, true);\n return true;\n }\n if (depth > limits.maxDepth) return false;\n if (++classifiedNodes > limits.maxNodes)\n throw new TypeError('Invalid redactor bounds');\n classifying.add(value);\n const valid = errorRelationships(snapshot, depth);\n classifying.delete(value);\n classifications.set(value, valid);\n return valid;\n }\n\n function charge(kind, marker) {\n if (\n !marker &&\n ![\n 'record',\n 'header',\n 'fixed',\n 'error-name',\n 'error-text',\n 'errors',\n 'error-fields',\n 'boxed-fields',\n ].includes(kind) &&\n ++nodes > limits.maxNodes\n )\n throw new TypeError('Invalid redactor bounds');\n }\n\n function copy(value, depth, kind = '', overflow = false) {\n const compound = value && typeof value === 'object';\n const marker = overflow && value === MARKERS.LIMIT;\n if (!compound) {\n if (\n [\n 'error',\n 'errors',\n 'error-fields',\n 'record',\n 'fields',\n 'context',\n ].includes(kind)\n )\n throw new TypeError('Invalid redactor JSON');\n charge(kind, marker);\n if (depth > limits.maxDepth && value !== MARKERS.LIMIT)\n throw new TypeError('Invalid redactor bounds');\n if (\n value === null ||\n typeof value === 'boolean' ||\n (typeof value === 'number' && Number.isFinite(value))\n )\n return value;\n if (\n typeof value === 'string' &&\n (value.length <= limits.maxStringLength ||\n Object.values(MARKERS).includes(value) ||\n (kind === 'fixed' && value.length <= 64) ||\n (kind === 'error-name' && value === 'Error'))\n )\n return value;\n throw new TypeError('Invalid redactor JSON');\n }\n if (ancestors.has(value)) throw new TypeError('Invalid redactor JSON');\n if (\n depth > limits.maxDepth &&\n kind !== 'errors' &&\n !(overflow && kind === 'error')\n )\n throw new TypeError('Invalid redactor bounds');\n const { array, length, keys, descriptors } = inspect(\n value,\n depth > limits.maxDepth && kind === 'error' ? 'marker' : kind,\n );\n if (\n (kind === 'errors' && !array) ||\n (['record', 'error', 'error-fields', 'fields', 'context'].includes(\n kind,\n ) &&\n array)\n )\n throw new TypeError('Invalid redactor JSON');\n const shapedError = !array && errorShape(keys, descriptors);\n if (kind === 'error' && !shapedError)\n throw new TypeError('Invalid serialized error');\n if (!kind && shapedError && canonicalError(value, depth)) kind = 'error';\n if (kind === 'fields' && keys.length === 1 && keys[0] === 'value')\n kind = 'boxed-fields';\n const overflowMarker =\n overflow && kind === 'error' && errorMarker({ array, keys, descriptors });\n if (overflowMarker)\n return Object.freeze({ name: 'Error', message: MARKERS.LIMIT });\n if (depth > limits.maxDepth && kind !== 'errors')\n throw new TypeError('Invalid redactor bounds');\n charge(kind, false);\n const schema = kind === 'record' || kind === 'error';\n const keyLimit = schema\n ? kind === 'record'\n ? recordKeys.length\n : errorKeys.length\n : array\n ? limits.maxArrayLength\n : limits.maxKeys;\n const lastKey = array && length ? String(length - 1) : '';\n const last = descriptors.get(lastKey)?.value;\n const markerCount = array\n ? Number(\n last === MARKERS.LIMIT ||\n (kind === 'errors' && last && typeof last === 'object'),\n )\n : Number(descriptors.get(MARKERS.LIMIT)?.value === MARKERS.LIMIT);\n if (\n keys.length > keyLimit + markerCount ||\n (array &&\n (length !== keys.length ||\n length > limits.maxArrayLength + markerCount))\n )\n throw new TypeError('Invalid redactor bounds');\n if (kind === 'record' && keys.some((key) => !recordKeys.includes(key)))\n throw new TypeError('Invalid record property');\n const result = array ? [] : {};\n ancestors.add(value);\n for (const key of keys) {\n if (array && !arrayIndex(key, length))\n throw new TypeError('Invalid redactor index');\n const descriptor = descriptors.get(key);\n if (\n typeof key !== 'string' ||\n (!schema &&\n !array &&\n kind !== 'boxed-fields' &&\n key.length > limits.maxStringLength &&\n !Object.values(MARKERS).includes(key)) ||\n !Object.hasOwn(descriptor, 'value')\n )\n throw new TypeError('Invalid redactor property');\n let childKind = '';\n let childDepth = depth + 1;\n let childOverflow =\n (array &&\n key === lastKey &&\n (last === MARKERS.LIMIT || (kind === 'errors' && markerCount))) ||\n (key === MARKERS.LIMIT && descriptor.value === MARKERS.LIMIT);\n if (kind === 'record') {\n childDepth = 0;\n childKind = 'header';\n if (key === 'context') childKind = 'context';\n if (key === 'fields') childKind = 'fields';\n if (key === 'error') {\n childKind = 'error';\n childOverflow = true;\n }\n if (['runId', 'level', 'redactionVersion'].includes(key))\n childKind = 'fixed';\n } else if (kind === 'error') {\n switch (key) {\n case 'cause':\n childKind = 'error';\n childOverflow = true;\n break;\n case 'errors':\n childKind = 'errors';\n break;\n case 'fields':\n childKind = 'error-fields';\n childDepth = depth;\n break;\n default:\n childKind = key === 'name' ? 'error-name' : 'error-text';\n childDepth = depth;\n }\n } else if (kind === 'errors') {\n childKind = 'error';\n childDepth = depth;\n if (depth > limits.maxDepth) childOverflow = true;\n } else if (kind === 'boxed-fields') {\n childDepth = depth;\n childOverflow = descriptor.value === MARKERS.LIMIT;\n }\n define(\n result,\n key,\n copy(descriptor.value, childDepth, childKind, childOverflow),\n );\n }\n\n if (array && length > limits.maxArrayLength) {\n const end = result[length - 1];\n if (\n end !== MARKERS.LIMIT &&\n !(\n kind === 'errors' &&\n end &&\n typeof end === 'object' &&\n Object.keys(end).length === 2 &&\n end.name === 'Error' &&\n end.message === MARKERS.LIMIT\n )\n )\n throw new TypeError('Invalid redactor bounds');\n }\n\n ancestors.delete(value);\n return Object.freeze(result);\n }\n const result = copy(value, 0, record ? 'record' : '');\n if (JSON.stringify(result).length > limits.maxRecordSize)\n throw new TypeError('Invalid record size');\n return result;\n}\n\nexport function ownRecord(record, limits) {\n const result = ownJson(record, limits, { record: true });\n for (const key of ['runId', 'area', 'scope', 'message', 'redactionVersion'])\n if (typeof result[key] !== 'string')\n throw new TypeError('Invalid record header');\n if (\n !Number.isSafeInteger(result.seq) ||\n result.seq < 1 ||\n !Number.isFinite(result.at) ||\n !Object.values(LEVELS).includes(result.level)\n )\n throw new TypeError('Invalid record header');\n if (\n result.context !== undefined &&\n Object.values(result.context).some(\n (value) => typeof value !== 'string' && typeof value !== 'number',\n )\n )\n throw new TypeError('Invalid record context');\n\n if (result.truncated !== undefined && result.truncated !== true)\n throw new TypeError('Invalid truncation flag');\n return result;\n}\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunk-BLf-eCDO.cjs","sources":["../src/core/constants.js"],"sourcesContent":["export const LEVELS = /* @__PURE__ */ Object.freeze({\n DEBUG: 'debug',\n INFO: 'info',\n WARN: 'warn',\n ERROR: 'error',\n});\nexport const LOGGING_LIMITS = /* @__PURE__ */ Object.freeze({\n ROOT_LOGGER_CACHE_PAIRS: 1000,\n STORM_SCOPE_PAIRS: 1000,\n STORM_WINDOW_MS: 1000,\n STORM_SUMMARY_DELAY_MS: 1000,\n DEFAULT_LEVEL_OVERRIDE_MS: 86_400_000,\n MAX_TIMER_DELAY_MS: 2_147_483_647,\n DEFAULT_STORM_LIMIT: 100,\n});\nexport const LOGGING_ERROR_CODES = /* @__PURE__ */ Object.freeze({\n RECURSIVE_LOGGING: 'recursive-logging',\n ROOT_LOGGER_CACHE_LIMIT: 'root-logger-cache-limit',\n STOPPED: 'stopped',\n});\nexport const LOGGING_ERROR_SOURCES = /* @__PURE__ */ Object.freeze({\n DATA: 'data',\n REDACTOR: 'redactor',\n SINK: 'sink',\n STORAGE: 'storage',\n SCOPE: 'scope',\n REENTRY: 'reentry',\n});\nexport const LIMITS = /* @__PURE__ */ Object.freeze({\n maxDepth: 6,\n maxStringLength: 16_384,\n maxArrayLength: 100,\n maxKeys: 100,\n maxNodes: 1000,\n maxRecordSize: 65_536,\n});\nexport const MARKERS = /* @__PURE__ */ Object.freeze({\n LIMIT: '[truncated]',\n CYCLE: '[circular]',\n ACCESSOR: '[accessor]',\n UNSUPPORTED: '[unsupported]',\n MASK: '[redacted]',\n});\n"],"names":[],"mappings":";;AAAY,MAAC,MAAM,mBAAmB,MAAM,CAAC,MAAM,CAAC;AACpD,EAAE,KAAK,EAAE,OAAO;AAChB,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,KAAK,EAAE,OAAO;AAChB,CAAC;AACW,MAAC,cAAc,mBAAmB,MAAM,CAAC,MAAM,CAAC;AAC5D,EAAE,uBAAuB,EAAE,IAAI;AAC/B,EAAE,iBAAiB,EAAE,IAAI;AACzB,EAAE,eAAe,EAAE,IAAI;AACvB,EAAE,sBAAsB,EAAE,IAAI;AAC9B,EAAE,yBAAyB,EAAE,UAAU;AACvC,EAAE,kBAAkB,EAAE,aAAa;AACnC,EAAE,mBAAmB,EAAE,GAAG;AAC1B,CAAC;AACW,MAAC,mBAAmB,mBAAmB,MAAM,CAAC,MAAM,CAAC;AACjE,EAAE,iBAAiB,EAAE,mBAAmB;AACxC,EAAE,uBAAuB,EAAE,yBAAyB;AACpD,EAAE,OAAO,EAAE,SAAS;AACpB,CAAC;AACW,MAAC,qBAAqB,mBAAmB,MAAM,CAAC,MAAM,CAAC;AACnE,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,QAAQ,EAAE,UAAU;AACtB,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,OAAO,EAAE,SAAS;AACpB,EAAE,KAAK,EAAE,OAAO;AAChB,EAAE,OAAO,EAAE,SAAS;AACpB,CAAC;AACW,MAAC,MAAM,mBAAmB,MAAM,CAAC,MAAM,CAAC;AACpD,EAAE,QAAQ,EAAE,CAAC;AACb,EAAE,eAAe,EAAE,MAAM;AACzB,EAAE,cAAc,EAAE,GAAG;AACrB,EAAE,OAAO,EAAE,GAAG;AACd,EAAE,QAAQ,EAAE,IAAI;AAChB,EAAE,aAAa,EAAE,MAAM;AACvB,CAAC;AACW,MAAC,OAAO,mBAAmB,MAAM,CAAC,MAAM,CAAC;AACrD,EAAE,KAAK,EAAE,aAAa;AACtB,EAAE,KAAK,EAAE,YAAY;AACrB,EAAE,QAAQ,EAAE,YAAY;AACxB,EAAE,WAAW,EAAE,eAAe;AAC9B,EAAE,IAAI,EAAE,YAAY;AACpB,CAAC;;;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunk-CEhpwtwJ.cjs","sources":["../src/core/conversion.js"],"sourcesContent":["import { define, own } from './common.js';\nimport { LEVELS, MARKERS } from './constants.js';\n\nconst errorKeys = ['name', 'message', 'stack', 'cause', 'errors', 'fields'];\nconst recordKeys = [\n 'runId',\n 'seq',\n 'at',\n 'level',\n 'area',\n 'scope',\n 'message',\n 'redactionVersion',\n 'fields',\n 'context',\n 'error',\n 'truncated',\n];\n\nfunction errorShape(keys, descriptors) {\n return (\n keys.every((key) => errorKeys.includes(key)) &&\n typeof descriptors.get('name')?.value === 'string' &&\n typeof descriptors.get('message')?.value === 'string' &&\n (!descriptors.has('stack') ||\n typeof descriptors.get('stack').value === 'string')\n );\n}\n\nfunction errorMarker({ array, keys, descriptors }) {\n return (\n !array &&\n keys.length === 2 &&\n descriptors.get('name')?.value === 'Error' &&\n descriptors.get('message')?.value === MARKERS.LIMIT\n );\n}\n\nfunction arrayIndex(key, length) {\n const index = typeof key === 'string' ? Number(key) : -1;\n return (\n Number.isSafeInteger(index) &&\n index >= 0 &&\n index < length &&\n String(index) === key\n );\n}\n\nexport function ownJson(value, limits, { record = false } = {}) {\n let nodes = 0;\n let classifiedNodes = 0;\n const ancestors = new Set();\n const snapshots = new WeakMap();\n const classifications = new WeakMap();\n const classifying = new Set();\n\n function inspect(value, kind = '') {\n const cached = snapshots.get(value);\n if (cached) return cached;\n const array = Array.isArray(value);\n const length = array ? own(value, 'length') : 0;\n if (\n array &&\n (!Number.isSafeInteger(length) ||\n length < 0 ||\n length > limits.maxArrayLength + 1)\n )\n throw new TypeError('Invalid redactor bounds');\n const keys = Reflect.ownKeys(value).filter(\n (key) => !(array && key === 'length'),\n );\n const ceiling =\n kind === 'marker'\n ? 2\n : kind === 'record'\n ? recordKeys.length\n : Math.max(limits.maxKeys + 1, errorKeys.length);\n if (\n (array && keys.length > limits.maxArrayLength + 1) ||\n (!array && keys.length > ceiling)\n )\n throw new TypeError('Invalid redactor bounds');\n const descriptors = new Map();\n for (const key of keys) {\n const descriptor = Object.getOwnPropertyDescriptor(value, key);\n if (!descriptor || !Object.hasOwn(descriptor, 'value'))\n throw new TypeError('Invalid redactor property');\n descriptors.set(key, descriptor);\n }\n const snapshot = { array, length, keys, descriptors };\n snapshots.set(value, snapshot);\n return snapshot;\n }\n\n function errorRelationships({ descriptors }, depth) {\n const fields = descriptors.get('fields');\n if (\n fields &&\n (!fields.value ||\n typeof fields.value !== 'object' ||\n Array.isArray(fields.value))\n )\n return false;\n const cause = descriptors.get('cause');\n if (cause && !canonicalError(cause.value, depth + 1)) return false;\n const errors = descriptors.get('errors');\n if (!errors) return true;\n if (!Array.isArray(errors.value)) return false;\n const { length, keys, descriptors: children } = inspect(errors.value);\n if (length !== keys.length || !keys.every((key) => arrayIndex(key, length)))\n return false;\n for (const key of keys)\n if (!canonicalError(children.get(key).value, depth + 1)) return false;\n return (\n length <= limits.maxArrayLength ||\n errorMarker(inspect(children.get(String(length - 1)).value))\n );\n }\n\n function canonicalError(value, depth) {\n if (!value || typeof value !== 'object' || Array.isArray(value))\n return false;\n const cached = classifications.get(value);\n if (cached !== undefined) return cached;\n if (classifying.has(value)) return false;\n const snapshot = inspect(\n value,\n depth > limits.maxDepth || classifiedNodes >= limits.maxNodes\n ? 'marker'\n : '',\n );\n if (!errorShape(snapshot.keys, snapshot.descriptors)) {\n classifications.set(value, false);\n return false;\n }\n if (errorMarker(snapshot)) {\n classifications.set(value, true);\n return true;\n }\n if (depth > limits.maxDepth) return false;\n if (++classifiedNodes > limits.maxNodes)\n throw new TypeError('Invalid redactor bounds');\n classifying.add(value);\n const valid = errorRelationships(snapshot, depth);\n classifying.delete(value);\n classifications.set(value, valid);\n return valid;\n }\n\n function charge(kind, marker) {\n if (\n !marker &&\n ![\n 'record',\n 'header',\n 'fixed',\n 'error-name',\n 'error-text',\n 'errors',\n 'error-fields',\n 'boxed-fields',\n ].includes(kind) &&\n ++nodes > limits.maxNodes\n )\n throw new TypeError('Invalid redactor bounds');\n }\n\n function copy(value, depth, kind = '', overflow = false) {\n const compound = value && typeof value === 'object';\n const marker = overflow && value === MARKERS.LIMIT;\n if (!compound) {\n if (\n [\n 'error',\n 'errors',\n 'error-fields',\n 'record',\n 'fields',\n 'context',\n ].includes(kind)\n )\n throw new TypeError('Invalid redactor JSON');\n charge(kind, marker);\n if (depth > limits.maxDepth && value !== MARKERS.LIMIT)\n throw new TypeError('Invalid redactor bounds');\n if (\n value === null ||\n typeof value === 'boolean' ||\n (typeof value === 'number' && Number.isFinite(value))\n )\n return value;\n if (\n typeof value === 'string' &&\n (value.length <= limits.maxStringLength ||\n Object.values(MARKERS).includes(value) ||\n (kind === 'fixed' && value.length <= 64) ||\n (kind === 'error-name' && value === 'Error'))\n )\n return value;\n throw new TypeError('Invalid redactor JSON');\n }\n if (ancestors.has(value)) throw new TypeError('Invalid redactor JSON');\n if (\n depth > limits.maxDepth &&\n kind !== 'errors' &&\n !(overflow && kind === 'error')\n )\n throw new TypeError('Invalid redactor bounds');\n const { array, length, keys, descriptors } = inspect(\n value,\n depth > limits.maxDepth && kind === 'error' ? 'marker' : kind,\n );\n if (\n (kind === 'errors' && !array) ||\n (['record', 'error', 'error-fields', 'fields', 'context'].includes(\n kind,\n ) &&\n array)\n )\n throw new TypeError('Invalid redactor JSON');\n const shapedError = !array && errorShape(keys, descriptors);\n if (kind === 'error' && !shapedError)\n throw new TypeError('Invalid serialized error');\n if (!kind && shapedError && canonicalError(value, depth)) kind = 'error';\n if (kind === 'fields' && keys.length === 1 && keys[0] === 'value')\n kind = 'boxed-fields';\n const overflowMarker =\n overflow && kind === 'error' && errorMarker({ array, keys, descriptors });\n if (overflowMarker)\n return Object.freeze({ name: 'Error', message: MARKERS.LIMIT });\n if (depth > limits.maxDepth && kind !== 'errors')\n throw new TypeError('Invalid redactor bounds');\n charge(kind, false);\n const schema = kind === 'record' || kind === 'error';\n const keyLimit = schema\n ? kind === 'record'\n ? recordKeys.length\n : errorKeys.length\n : array\n ? limits.maxArrayLength\n : limits.maxKeys;\n const lastKey = array && length ? String(length - 1) : '';\n const last = descriptors.get(lastKey)?.value;\n const markerCount = array\n ? Number(\n last === MARKERS.LIMIT ||\n (kind === 'errors' && last && typeof last === 'object'),\n )\n : Number(descriptors.get(MARKERS.LIMIT)?.value === MARKERS.LIMIT);\n if (\n keys.length > keyLimit + markerCount ||\n (array &&\n (length !== keys.length ||\n length > limits.maxArrayLength + markerCount))\n )\n throw new TypeError('Invalid redactor bounds');\n if (kind === 'record' && keys.some((key) => !recordKeys.includes(key)))\n throw new TypeError('Invalid record property');\n const result = array ? [] : {};\n ancestors.add(value);\n for (const key of keys) {\n if (array && !arrayIndex(key, length))\n throw new TypeError('Invalid redactor index');\n const descriptor = descriptors.get(key);\n if (\n typeof key !== 'string' ||\n (!schema &&\n !array &&\n kind !== 'boxed-fields' &&\n key.length > limits.maxStringLength &&\n !Object.values(MARKERS).includes(key)) ||\n !Object.hasOwn(descriptor, 'value')\n )\n throw new TypeError('Invalid redactor property');\n let childKind = '';\n let childDepth = depth + 1;\n let childOverflow =\n (array &&\n key === lastKey &&\n (last === MARKERS.LIMIT || (kind === 'errors' && markerCount))) ||\n (key === MARKERS.LIMIT && descriptor.value === MARKERS.LIMIT);\n if (kind === 'record') {\n childDepth = 0;\n childKind = 'header';\n if (key === 'context') childKind = 'context';\n if (key === 'fields') childKind = 'fields';\n if (key === 'error') {\n childKind = 'error';\n childOverflow = true;\n }\n if (['runId', 'level', 'redactionVersion'].includes(key))\n childKind = 'fixed';\n } else if (kind === 'error') {\n switch (key) {\n case 'cause':\n childKind = 'error';\n childOverflow = true;\n break;\n case 'errors':\n childKind = 'errors';\n break;\n case 'fields':\n childKind = 'error-fields';\n childDepth = depth;\n break;\n default:\n childKind = key === 'name' ? 'error-name' : 'error-text';\n childDepth = depth;\n }\n } else if (kind === 'errors') {\n childKind = 'error';\n childDepth = depth;\n if (depth > limits.maxDepth) childOverflow = true;\n } else if (kind === 'boxed-fields') {\n childDepth = depth;\n childOverflow = descriptor.value === MARKERS.LIMIT;\n }\n define(\n result,\n key,\n copy(descriptor.value, childDepth, childKind, childOverflow),\n );\n }\n\n if (array && length > limits.maxArrayLength) {\n const end = result[length - 1];\n if (\n end !== MARKERS.LIMIT &&\n !(\n kind === 'errors' &&\n end &&\n typeof end === 'object' &&\n Object.keys(end).length === 2 &&\n end.name === 'Error' &&\n end.message === MARKERS.LIMIT\n )\n )\n throw new TypeError('Invalid redactor bounds');\n }\n\n ancestors.delete(value);\n return Object.freeze(result);\n }\n const result = copy(value, 0, record ? 'record' : '');\n if (JSON.stringify(result).length > limits.maxRecordSize)\n throw new TypeError('Invalid record size');\n return result;\n}\n\nexport function ownRecord(record, limits) {\n const result = ownJson(record, limits, { record: true });\n for (const key of ['runId', 'area', 'scope', 'message', 'redactionVersion'])\n if (typeof result[key] !== 'string')\n throw new TypeError('Invalid record header');\n if (\n !Number.isSafeInteger(result.seq) ||\n result.seq < 1 ||\n !Number.isFinite(result.at) ||\n !Object.values(LEVELS).includes(result.level)\n )\n throw new TypeError('Invalid record header');\n if (\n result.context !== undefined &&\n Object.values(result.context).some(\n (value) => typeof value !== 'string' && typeof value !== 'number',\n )\n )\n throw new TypeError('Invalid record context');\n\n if (result.truncated !== undefined && result.truncated !== true)\n throw new TypeError('Invalid truncation flag');\n return result;\n}\n"],"names":["MARKERS","own","define","LEVELS"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunk-CSS3f4_M.js","sources":["../src/core/constants.js"],"sourcesContent":["export const LEVELS = /* @__PURE__ */ Object.freeze({\n DEBUG: 'debug',\n INFO: 'info',\n WARN: 'warn',\n ERROR: 'error',\n});\nexport const LOGGING_LIMITS = /* @__PURE__ */ Object.freeze({\n ROOT_LOGGER_CACHE_PAIRS: 1000,\n STORM_SCOPE_PAIRS: 1000,\n STORM_WINDOW_MS: 1000,\n STORM_SUMMARY_DELAY_MS: 1000,\n DEFAULT_LEVEL_OVERRIDE_MS: 86_400_000,\n MAX_TIMER_DELAY_MS: 2_147_483_647,\n DEFAULT_STORM_LIMIT: 100,\n});\nexport const LOGGING_ERROR_CODES = /* @__PURE__ */ Object.freeze({\n RECURSIVE_LOGGING: 'recursive-logging',\n ROOT_LOGGER_CACHE_LIMIT: 'root-logger-cache-limit',\n STOPPED: 'stopped',\n});\nexport const LOGGING_ERROR_SOURCES = /* @__PURE__ */ Object.freeze({\n DATA: 'data',\n REDACTOR: 'redactor',\n SINK: 'sink',\n STORAGE: 'storage',\n SCOPE: 'scope',\n REENTRY: 'reentry',\n});\nexport const LIMITS = /* @__PURE__ */ Object.freeze({\n maxDepth: 6,\n maxStringLength: 16_384,\n maxArrayLength: 100,\n maxKeys: 100,\n maxNodes: 1000,\n maxRecordSize: 65_536,\n});\nexport const MARKERS = /* @__PURE__ */ Object.freeze({\n LIMIT: '[truncated]',\n CYCLE: '[circular]',\n ACCESSOR: '[accessor]',\n UNSUPPORTED: '[unsupported]',\n MASK: '[redacted]',\n});\n"],"names":[],"mappings":"AAAY,MAAC,MAAM,mBAAmB,MAAM,CAAC,MAAM,CAAC;AACpD,EAAE,KAAK,EAAE,OAAO;AAChB,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,KAAK,EAAE,OAAO;AAChB,CAAC;AACW,MAAC,cAAc,mBAAmB,MAAM,CAAC,MAAM,CAAC;AAC5D,EAAE,uBAAuB,EAAE,IAAI;AAC/B,EAAE,iBAAiB,EAAE,IAAI;AACzB,EAAE,eAAe,EAAE,IAAI;AACvB,EAAE,sBAAsB,EAAE,IAAI;AAC9B,EAAE,yBAAyB,EAAE,UAAU;AACvC,EAAE,kBAAkB,EAAE,aAAa;AACnC,EAAE,mBAAmB,EAAE,GAAG;AAC1B,CAAC;AACW,MAAC,mBAAmB,mBAAmB,MAAM,CAAC,MAAM,CAAC;AACjE,EAAE,iBAAiB,EAAE,mBAAmB;AACxC,EAAE,uBAAuB,EAAE,yBAAyB;AACpD,EAAE,OAAO,EAAE,SAAS;AACpB,CAAC;AACW,MAAC,qBAAqB,mBAAmB,MAAM,CAAC,MAAM,CAAC;AACnE,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,QAAQ,EAAE,UAAU;AACtB,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,OAAO,EAAE,SAAS;AACpB,EAAE,KAAK,EAAE,OAAO;AAChB,EAAE,OAAO,EAAE,SAAS;AACpB,CAAC;AACW,MAAC,MAAM,mBAAmB,MAAM,CAAC,MAAM,CAAC;AACpD,EAAE,QAAQ,EAAE,CAAC;AACb,EAAE,eAAe,EAAE,MAAM;AACzB,EAAE,cAAc,EAAE,GAAG;AACrB,EAAE,OAAO,EAAE,GAAG;AACd,EAAE,QAAQ,EAAE,IAAI;AAChB,EAAE,aAAa,EAAE,MAAM;AACvB,CAAC;AACW,MAAC,OAAO,mBAAmB,MAAM,CAAC,MAAM,CAAC;AACrD,EAAE,KAAK,EAAE,aAAa;AACtB,EAAE,KAAK,EAAE,YAAY;AACrB,EAAE,QAAQ,EAAE,YAAY;AACxB,EAAE,WAAW,EAAE,eAAe;AAC9B,EAAE,IAAI,EAAE,YAAY;AACpB,CAAC;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunk-CXZYNALm.cjs","sources":["../src/core/common.js"],"sourcesContent":["import { LEVELS, LIMITS } from './constants.js';\n\nconst levelOrder = Object.values(LEVELS);\n\nexport const scheduler = Object.freeze({\n setTimeout: (callback, delay) => globalThis.setTimeout(callback, delay),\n clearTimeout: (handle) => globalThis.clearTimeout(handle),\n});\nexport const levelRank = (level) => levelOrder.indexOf(level);\n\nexport function assertLevel(level) {\n if (levelRank(level) < 0) throw new TypeError('Invalid log level');\n}\n\nexport function assertStormLimit(value) {\n if (\n value !== undefined &&\n value !== false &&\n (!Number.isSafeInteger(value) || value < 1)\n )\n throw new TypeError('Invalid storm limit');\n}\n\nexport function positive(value, name) {\n if (!Number.isSafeInteger(value) || value < 1)\n throw new TypeError(`${name} must be a positive safe integer`);\n return value;\n}\n\nexport function resolveLimits(limits = {}) {\n const result = {};\n for (const [key, fallback] of Object.entries(LIMITS))\n result[key] = positive(limits[key] ?? fallback, key);\n return Object.freeze(result);\n}\n\nexport function report(callback, ...args) {\n try {\n const result = callback?.(...args);\n if (result) Promise.resolve(result).catch(() => {});\n } catch {\n /* The reporter cannot interrupt cleanup. */\n }\n}\n\nexport function define(target, key, value) {\n Object.defineProperty(target, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true,\n });\n}\n\nexport function own(value, key) {\n return Object.getOwnPropertyDescriptor(value, key)?.value;\n}\n\nexport function isError(value) {\n try {\n return Error.isError?.(value) || value instanceof Error;\n } catch {\n return false;\n }\n}\n\nexport function randomHex(length) {\n if (!globalThis.crypto?.getRandomValues)\n throw new Error('Cryptographic randomness is unavailable');\n return Array.from(\n globalThis.crypto.getRandomValues(new Uint8Array(length)),\n (byte) => byte.toString(16).padStart(2, '0'),\n ).join('');\n}\n\nexport function copyBindings(value = {}) {\n const result = {};\n for (const key of Reflect.ownKeys(value)) {\n const descriptor = Object.getOwnPropertyDescriptor(value, key);\n if (\n typeof key === 'string' &&\n descriptor?.enumerable &&\n Object.hasOwn(descriptor, 'value')\n )\n Object.defineProperty(result, key, descriptor);\n }\n return result;\n}\n\nexport function validateQuery(query = {}) {\n const { from, to, areas } = query;\n if (\n (from !== undefined && !Number.isFinite(from)) ||\n (to !== undefined && !Number.isFinite(to)) ||\n (from ?? -Infinity) > (to ?? Infinity)\n )\n throw new TypeError('Invalid record time range');\n if (\n areas !== undefined &&\n (!Array.isArray(areas) || areas.some((area) => typeof area !== 'string'))\n )\n throw new TypeError('Invalid record areas');\n return (record) =>\n (!areas || areas.includes(record.area)) &&\n record.at >= (from ?? -Infinity) &&\n record.at <= (to ?? Infinity);\n}\n"],"names":["LEVELS","LIMITS"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunk-DkvWLziD.js","sources":["../src/core/errors.js","../src/core/levels.js","../src/core/hub.js"],"sourcesContent":["import { LOGGING_ERROR_CODES } from './constants.js';\n\nexport const LOGGING_ERRORS = /* @__PURE__ */ Object.freeze({\n [LOGGING_ERROR_CODES.RECURSIVE_LOGGING]: 'Recursive logging is rejected',\n [LOGGING_ERROR_CODES.ROOT_LOGGER_CACHE_LIMIT]:\n 'Root logger cache exceeds 1000 pairs',\n [LOGGING_ERROR_CODES.STOPPED]: 'Logging is stopped',\n});\n\nexport function loggingError(code) {\n return Object.assign(new Error(LOGGING_ERRORS[code]), { code });\n}\n","import { assertLevel, define, levelRank, positive } from './common.js';\nimport { LOGGING_ERROR_SOURCES, LOGGING_LIMITS } from './constants.js';\n\nexport function createLevels(options, reportError) {\n const { now, scheduler, levelStorage, areas } = options;\n const maxDuration = positive(\n options.maxOverrideMs ?? LOGGING_LIMITS.DEFAULT_LEVEL_OVERRIDE_MS,\n 'maxOverrideMs',\n );\n const states = new Map();\n let stopped = false;\n for (const { id, level = 'info' } of areas) {\n assertLevel(level);\n if (typeof id !== 'string' || !id || states.has(id))\n throw new TypeError('Areas must have unique non-empty IDs');\n states.set(id, {\n level,\n defaultLevel: level,\n rank: levelRank(level),\n until: undefined,\n timer: undefined,\n });\n }\n const requireArea = (area) => {\n const state = states.get(area);\n if (!state) throw new TypeError('Unknown log area');\n return state;\n };\n\n function save() {\n if (!levelStorage || stopped) return;\n const overrides = {};\n for (const [id, state] of states)\n if (state.until)\n define(overrides, id, { level: state.level, until: state.until });\n try {\n levelStorage.storage.setItem(levelStorage.key, JSON.stringify(overrides));\n } catch (error) {\n reportError(error, LOGGING_ERROR_SOURCES.STORAGE);\n }\n }\n\n function reset(state) {\n scheduler.clearTimeout(state.timer);\n state.timer = undefined;\n state.until = undefined;\n state.level = state.defaultLevel;\n state.rank = levelRank(state.level);\n }\n\n function apply(state, level, until) {\n reset(state);\n state.level = level;\n state.rank = levelRank(level);\n state.until = until;\n state.timer = scheduler.setTimeout(\n () => {\n if (stopped) return;\n if (until > now()) {\n apply(state, level, until);\n return;\n }\n reset(state);\n save();\n },\n Math.min(LOGGING_LIMITS.MAX_TIMER_DELAY_MS, Math.max(0, until - now())),\n );\n }\n\n function reloadLevels() {\n if (stopped) return;\n for (const state of states.values()) reset(state);\n if (!levelStorage) return;\n try {\n const saved = JSON.parse(\n levelStorage.storage.getItem(levelStorage.key) ?? '{}',\n );\n if (!saved || typeof saved !== 'object') return;\n const time = now();\n for (const [id, state] of states) {\n const override = Object.hasOwn(saved, id) && saved[id];\n if (\n override &&\n levelRank(override.level) >= 0 &&\n Number.isFinite(override.until) &&\n override.until > time\n )\n apply(\n state,\n override.level,\n Math.min(override.until, time + maxDuration),\n );\n }\n } catch (error) {\n reportError(error, LOGGING_ERROR_SOURCES.STORAGE);\n }\n }\n reloadLevels();\n return {\n requireArea,\n enabled(area, level) {\n const state = requireArea(area);\n if (state.until && state.until <= now()) {\n reset(state);\n save();\n }\n return levelRank(level) >= state.rank;\n },\n\n setLevel(area, level, { durationMs = maxDuration } = {}) {\n assertLevel(level);\n positive(durationMs, 'durationMs');\n const state = requireArea(area);\n if (stopped) return;\n apply(state, level, now() + Math.min(durationMs, maxDuration));\n save();\n },\n\n resetLevel(area) {\n if (stopped) return;\n if (area !== undefined) reset(requireArea(area));\n else for (const state of states.values()) reset(state);\n save();\n },\n reloadLevels,\n getLevels() {\n const result = {};\n for (const [id, state] of states) {\n if (state.until && state.until <= now()) {\n reset(state);\n save();\n }\n define(\n result,\n id,\n Object.freeze({\n level: state.level,\n defaultLevel: state.defaultLevel,\n ...(state.until ? { until: state.until } : {}),\n }),\n );\n }\n return Object.freeze(result);\n },\n\n stop() {\n stopped = true;\n for (const state of states.values()) scheduler.clearTimeout(state.timer);\n },\n };\n}\n","import {\n assertStormLimit,\n copyBindings,\n scheduler as hostScheduler,\n randomHex,\n report,\n resolveLimits,\n} from './common.js';\nimport {\n LEVELS,\n LOGGING_ERROR_CODES,\n LOGGING_ERROR_SOURCES,\n LOGGING_LIMITS,\n} from './constants.js';\nimport { ownRecord } from './conversion.js';\nimport { loggingError } from './errors.js';\nimport { createLevels } from './levels.js';\n\nexport function createLogging(options) {\n if (\n !Array.isArray(options?.areas) ||\n !options.redactor ||\n typeof options.redactor.redact !== 'function'\n )\n throw new TypeError('Areas and an explicit redactor are required');\n const {\n redactor,\n now = Date.now,\n monotonicNow = () => globalThis.performance?.now() ?? Date.now(),\n scheduler = hostScheduler,\n stormLimit = LOGGING_LIMITS.DEFAULT_STORM_LIMIT,\n } = options;\n const limits = resolveLimits(redactor.limits);\n if (\n !redactor.limits ||\n Object.keys(limits).some((key) => !Object.hasOwn(redactor.limits, key))\n )\n throw new TypeError('Redactor limits are required');\n assertStormLimit(stormLimit);\n const runId = options.createRunId?.() ?? randomHex(16);\n if (typeof runId !== 'string' || !runId)\n throw new TypeError('Invalid run ID');\n const sinks = new Set();\n const roots = new Map();\n const storms = new Map();\n let context = copyBindings(options.context);\n let seq = 0;\n let closed = false;\n let busy = false;\n let scopeReported = false;\n let reporting = false;\n let stormTimer;\n let stopPromise;\n\n function onError(error, source) {\n if (reporting) return;\n reporting = true;\n const wasBusy = busy;\n busy = true;\n report(options.onError, error, source);\n busy = wasBusy;\n reporting = false;\n }\n for (const sink of options.sinks ?? []) addSink(sink);\n const levels = createLevels({ ...options, now, scheduler }, onError);\n\n function emit(area, scope, binding, level, message, data, bypass = false) {\n try {\n if (busy) {\n onError(\n loggingError(LOGGING_ERROR_CODES.RECURSIVE_LOGGING),\n LOGGING_ERROR_SOURCES.REENTRY,\n );\n return;\n }\n if (\n closed ||\n options.isActive?.() === false ||\n sinks.size === 0 ||\n (!bypass && !levels.enabled(area, level))\n )\n return;\n if (!bypass && stormLimit !== false) {\n const key = JSON.stringify([area, scope]);\n let counter = storms.get(key);\n if (!counter) {\n const cacheKey =\n storms.size < LOGGING_LIMITS.STORM_SCOPE_PAIRS ? key : 'overflow';\n counter = storms.get(cacheKey);\n if (!counter) {\n counter = {\n area,\n scope,\n start: monotonicNow(),\n count: 0,\n dropped: 0,\n };\n storms.set(cacheKey, counter);\n }\n }\n const time = monotonicNow();\n if (\n time - counter.start >= LOGGING_LIMITS.STORM_WINDOW_MS ||\n time < counter.start\n ) {\n counter.start = time;\n counter.count = 0;\n }\n if (counter.count++ >= stormLimit) {\n counter.dropped++;\n if (stormTimer === undefined)\n stormTimer = scheduler.setTimeout(\n summarize,\n LOGGING_LIMITS.STORM_SUMMARY_DELAY_MS,\n );\n return;\n }\n }\n const registrations = Array.from(sinks);\n busy = true;\n try {\n let value;\n try {\n value = typeof data === 'function' ? data() : data;\n } catch (error) {\n onError(error, LOGGING_ERROR_SOURCES.DATA);\n return;\n }\n if (options.isActive?.() === false || sinks.size === 0) return;\n let record;\n try {\n record = ownRecord(\n redactor.redact({\n runId,\n seq: ++seq,\n at: now(),\n area,\n scope,\n level,\n message,\n context: { ...context, ...binding },\n data: value,\n }),\n limits,\n );\n } catch (error) {\n onError(error, LOGGING_ERROR_SOURCES.REDACTOR);\n return;\n }\n if (options.isActive?.() === false) return;\n for (const registration of registrations) {\n if (options.isActive?.() === false || !sinks.has(registration))\n continue;\n try {\n registration.sink.write(record);\n } catch (error) {\n onError(error, LOGGING_ERROR_SOURCES.SINK);\n }\n }\n } finally {\n busy = false;\n }\n } catch (error) {\n busy = false;\n onError(error, LOGGING_ERROR_SOURCES.DATA);\n }\n }\n\n function summarize() {\n stormTimer = undefined;\n for (const counter of storms.values()) {\n if (!counter.dropped) continue;\n const dropped = counter.dropped;\n counter.dropped = 0;\n emit(\n counter.area,\n counter.scope,\n {},\n 'warn',\n 'logging.suppressed',\n { scope: counter.scope, dropped },\n true,\n );\n }\n }\n\n function logger(area, scope, binding = {}) {\n const result = {};\n for (const level of Object.values(LEVELS))\n result[level] = (message, data) =>\n emit(area, scope, binding, level, message, data);\n result.child = ({\n scope: childScope = scope,\n context: childContext = {},\n } = {}) =>\n logger(area, childScope, { ...binding, ...copyBindings(childContext) });\n return Object.freeze(result);\n }\n\n function addSink(sink) {\n if (!sink || typeof sink.write !== 'function')\n throw new TypeError('A sink must have write');\n if (closed) throw loggingError(LOGGING_ERROR_CODES.STOPPED);\n const registration = { sink };\n sinks.add(registration);\n return () => {\n sinks.delete(registration);\n };\n }\n\n async function lifecycle(registrations, methods) {\n const failures = [];\n for (const method of methods) {\n await Promise.all(\n registrations.map(async ({ sink }) => {\n try {\n const previous = busy;\n busy = true;\n let result;\n try {\n result = sink[method]?.();\n } finally {\n busy = previous;\n }\n await result;\n } catch (error) {\n failures.push(error);\n onError(error, LOGGING_ERROR_SOURCES.SINK);\n }\n }),\n );\n }\n if (failures.length)\n throw new AggregateError(failures, 'Logging lifecycle failed');\n }\n return Object.freeze({\n runId,\n getLogger(area, scope) {\n levels.requireArea(area);\n if (typeof scope !== 'string')\n throw new TypeError('Scope must be a string');\n const key = JSON.stringify([area, scope]);\n const cached = roots.get(key);\n if (cached) return cached;\n const created = logger(area, scope);\n if (roots.size < LOGGING_LIMITS.ROOT_LOGGER_CACHE_PAIRS) {\n roots.set(key, created);\n return created;\n }\n if (!scopeReported) {\n scopeReported = true;\n onError(\n loggingError(LOGGING_ERROR_CODES.ROOT_LOGGER_CACHE_LIMIT),\n LOGGING_ERROR_SOURCES.SCOPE,\n );\n }\n return created;\n },\n\n setContext(values) {\n context = { ...context, ...copyBindings(values) };\n for (const key of Object.keys(context))\n if (context[key] === undefined) delete context[key];\n },\n setLevel: levels.setLevel,\n resetLevel: levels.resetLevel,\n reloadLevels: levels.reloadLevels,\n getLevels: levels.getLevels,\n addSink,\n flush() {\n const registrations = Array.from(sinks);\n return Promise.resolve().then(() => lifecycle(registrations, ['flush']));\n },\n\n stop() {\n if (!stopPromise) {\n closed = true;\n levels.stop();\n scheduler.clearTimeout(stormTimer);\n const registrations = Array.from(sinks);\n stopPromise = Promise.resolve().then(() =>\n lifecycle(registrations, ['flush', 'stop']),\n );\n }\n return stopPromise;\n },\n });\n}\n"],"names":["scheduler","hostScheduler"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunk-LRCHwVuE.js","sources":["../src/core/common.js"],"sourcesContent":["import { LEVELS, LIMITS } from './constants.js';\n\nconst levelOrder = Object.values(LEVELS);\n\nexport const scheduler = Object.freeze({\n setTimeout: (callback, delay) => globalThis.setTimeout(callback, delay),\n clearTimeout: (handle) => globalThis.clearTimeout(handle),\n});\nexport const levelRank = (level) => levelOrder.indexOf(level);\n\nexport function assertLevel(level) {\n if (levelRank(level) < 0) throw new TypeError('Invalid log level');\n}\n\nexport function assertStormLimit(value) {\n if (\n value !== undefined &&\n value !== false &&\n (!Number.isSafeInteger(value) || value < 1)\n )\n throw new TypeError('Invalid storm limit');\n}\n\nexport function positive(value, name) {\n if (!Number.isSafeInteger(value) || value < 1)\n throw new TypeError(`${name} must be a positive safe integer`);\n return value;\n}\n\nexport function resolveLimits(limits = {}) {\n const result = {};\n for (const [key, fallback] of Object.entries(LIMITS))\n result[key] = positive(limits[key] ?? fallback, key);\n return Object.freeze(result);\n}\n\nexport function report(callback, ...args) {\n try {\n const result = callback?.(...args);\n if (result) Promise.resolve(result).catch(() => {});\n } catch {\n /* The reporter cannot interrupt cleanup. */\n }\n}\n\nexport function define(target, key, value) {\n Object.defineProperty(target, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true,\n });\n}\n\nexport function own(value, key) {\n return Object.getOwnPropertyDescriptor(value, key)?.value;\n}\n\nexport function isError(value) {\n try {\n return Error.isError?.(value) || value instanceof Error;\n } catch {\n return false;\n }\n}\n\nexport function randomHex(length) {\n if (!globalThis.crypto?.getRandomValues)\n throw new Error('Cryptographic randomness is unavailable');\n return Array.from(\n globalThis.crypto.getRandomValues(new Uint8Array(length)),\n (byte) => byte.toString(16).padStart(2, '0'),\n ).join('');\n}\n\nexport function copyBindings(value = {}) {\n const result = {};\n for (const key of Reflect.ownKeys(value)) {\n const descriptor = Object.getOwnPropertyDescriptor(value, key);\n if (\n typeof key === 'string' &&\n descriptor?.enumerable &&\n Object.hasOwn(descriptor, 'value')\n )\n Object.defineProperty(result, key, descriptor);\n }\n return result;\n}\n\nexport function validateQuery(query = {}) {\n const { from, to, areas } = query;\n if (\n (from !== undefined && !Number.isFinite(from)) ||\n (to !== undefined && !Number.isFinite(to)) ||\n (from ?? -Infinity) > (to ?? Infinity)\n )\n throw new TypeError('Invalid record time range');\n if (\n areas !== undefined &&\n (!Array.isArray(areas) || areas.some((area) => typeof area !== 'string'))\n )\n throw new TypeError('Invalid record areas');\n return (record) =>\n (!areas || areas.includes(record.area)) &&\n record.at >= (from ?? -Infinity) &&\n record.at <= (to ?? Infinity);\n}\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunk-ieB8yTEn.cjs","sources":["../src/core/errors.js","../src/core/levels.js","../src/core/hub.js"],"sourcesContent":["import { LOGGING_ERROR_CODES } from './constants.js';\n\nexport const LOGGING_ERRORS = /* @__PURE__ */ Object.freeze({\n [LOGGING_ERROR_CODES.RECURSIVE_LOGGING]: 'Recursive logging is rejected',\n [LOGGING_ERROR_CODES.ROOT_LOGGER_CACHE_LIMIT]:\n 'Root logger cache exceeds 1000 pairs',\n [LOGGING_ERROR_CODES.STOPPED]: 'Logging is stopped',\n});\n\nexport function loggingError(code) {\n return Object.assign(new Error(LOGGING_ERRORS[code]), { code });\n}\n","import { assertLevel, define, levelRank, positive } from './common.js';\nimport { LOGGING_ERROR_SOURCES, LOGGING_LIMITS } from './constants.js';\n\nexport function createLevels(options, reportError) {\n const { now, scheduler, levelStorage, areas } = options;\n const maxDuration = positive(\n options.maxOverrideMs ?? LOGGING_LIMITS.DEFAULT_LEVEL_OVERRIDE_MS,\n 'maxOverrideMs',\n );\n const states = new Map();\n let stopped = false;\n for (const { id, level = 'info' } of areas) {\n assertLevel(level);\n if (typeof id !== 'string' || !id || states.has(id))\n throw new TypeError('Areas must have unique non-empty IDs');\n states.set(id, {\n level,\n defaultLevel: level,\n rank: levelRank(level),\n until: undefined,\n timer: undefined,\n });\n }\n const requireArea = (area) => {\n const state = states.get(area);\n if (!state) throw new TypeError('Unknown log area');\n return state;\n };\n\n function save() {\n if (!levelStorage || stopped) return;\n const overrides = {};\n for (const [id, state] of states)\n if (state.until)\n define(overrides, id, { level: state.level, until: state.until });\n try {\n levelStorage.storage.setItem(levelStorage.key, JSON.stringify(overrides));\n } catch (error) {\n reportError(error, LOGGING_ERROR_SOURCES.STORAGE);\n }\n }\n\n function reset(state) {\n scheduler.clearTimeout(state.timer);\n state.timer = undefined;\n state.until = undefined;\n state.level = state.defaultLevel;\n state.rank = levelRank(state.level);\n }\n\n function apply(state, level, until) {\n reset(state);\n state.level = level;\n state.rank = levelRank(level);\n state.until = until;\n state.timer = scheduler.setTimeout(\n () => {\n if (stopped) return;\n if (until > now()) {\n apply(state, level, until);\n return;\n }\n reset(state);\n save();\n },\n Math.min(LOGGING_LIMITS.MAX_TIMER_DELAY_MS, Math.max(0, until - now())),\n );\n }\n\n function reloadLevels() {\n if (stopped) return;\n for (const state of states.values()) reset(state);\n if (!levelStorage) return;\n try {\n const saved = JSON.parse(\n levelStorage.storage.getItem(levelStorage.key) ?? '{}',\n );\n if (!saved || typeof saved !== 'object') return;\n const time = now();\n for (const [id, state] of states) {\n const override = Object.hasOwn(saved, id) && saved[id];\n if (\n override &&\n levelRank(override.level) >= 0 &&\n Number.isFinite(override.until) &&\n override.until > time\n )\n apply(\n state,\n override.level,\n Math.min(override.until, time + maxDuration),\n );\n }\n } catch (error) {\n reportError(error, LOGGING_ERROR_SOURCES.STORAGE);\n }\n }\n reloadLevels();\n return {\n requireArea,\n enabled(area, level) {\n const state = requireArea(area);\n if (state.until && state.until <= now()) {\n reset(state);\n save();\n }\n return levelRank(level) >= state.rank;\n },\n\n setLevel(area, level, { durationMs = maxDuration } = {}) {\n assertLevel(level);\n positive(durationMs, 'durationMs');\n const state = requireArea(area);\n if (stopped) return;\n apply(state, level, now() + Math.min(durationMs, maxDuration));\n save();\n },\n\n resetLevel(area) {\n if (stopped) return;\n if (area !== undefined) reset(requireArea(area));\n else for (const state of states.values()) reset(state);\n save();\n },\n reloadLevels,\n getLevels() {\n const result = {};\n for (const [id, state] of states) {\n if (state.until && state.until <= now()) {\n reset(state);\n save();\n }\n define(\n result,\n id,\n Object.freeze({\n level: state.level,\n defaultLevel: state.defaultLevel,\n ...(state.until ? { until: state.until } : {}),\n }),\n );\n }\n return Object.freeze(result);\n },\n\n stop() {\n stopped = true;\n for (const state of states.values()) scheduler.clearTimeout(state.timer);\n },\n };\n}\n","import {\n assertStormLimit,\n copyBindings,\n scheduler as hostScheduler,\n randomHex,\n report,\n resolveLimits,\n} from './common.js';\nimport {\n LEVELS,\n LOGGING_ERROR_CODES,\n LOGGING_ERROR_SOURCES,\n LOGGING_LIMITS,\n} from './constants.js';\nimport { ownRecord } from './conversion.js';\nimport { loggingError } from './errors.js';\nimport { createLevels } from './levels.js';\n\nexport function createLogging(options) {\n if (\n !Array.isArray(options?.areas) ||\n !options.redactor ||\n typeof options.redactor.redact !== 'function'\n )\n throw new TypeError('Areas and an explicit redactor are required');\n const {\n redactor,\n now = Date.now,\n monotonicNow = () => globalThis.performance?.now() ?? Date.now(),\n scheduler = hostScheduler,\n stormLimit = LOGGING_LIMITS.DEFAULT_STORM_LIMIT,\n } = options;\n const limits = resolveLimits(redactor.limits);\n if (\n !redactor.limits ||\n Object.keys(limits).some((key) => !Object.hasOwn(redactor.limits, key))\n )\n throw new TypeError('Redactor limits are required');\n assertStormLimit(stormLimit);\n const runId = options.createRunId?.() ?? randomHex(16);\n if (typeof runId !== 'string' || !runId)\n throw new TypeError('Invalid run ID');\n const sinks = new Set();\n const roots = new Map();\n const storms = new Map();\n let context = copyBindings(options.context);\n let seq = 0;\n let closed = false;\n let busy = false;\n let scopeReported = false;\n let reporting = false;\n let stormTimer;\n let stopPromise;\n\n function onError(error, source) {\n if (reporting) return;\n reporting = true;\n const wasBusy = busy;\n busy = true;\n report(options.onError, error, source);\n busy = wasBusy;\n reporting = false;\n }\n for (const sink of options.sinks ?? []) addSink(sink);\n const levels = createLevels({ ...options, now, scheduler }, onError);\n\n function emit(area, scope, binding, level, message, data, bypass = false) {\n try {\n if (busy) {\n onError(\n loggingError(LOGGING_ERROR_CODES.RECURSIVE_LOGGING),\n LOGGING_ERROR_SOURCES.REENTRY,\n );\n return;\n }\n if (\n closed ||\n options.isActive?.() === false ||\n sinks.size === 0 ||\n (!bypass && !levels.enabled(area, level))\n )\n return;\n if (!bypass && stormLimit !== false) {\n const key = JSON.stringify([area, scope]);\n let counter = storms.get(key);\n if (!counter) {\n const cacheKey =\n storms.size < LOGGING_LIMITS.STORM_SCOPE_PAIRS ? key : 'overflow';\n counter = storms.get(cacheKey);\n if (!counter) {\n counter = {\n area,\n scope,\n start: monotonicNow(),\n count: 0,\n dropped: 0,\n };\n storms.set(cacheKey, counter);\n }\n }\n const time = monotonicNow();\n if (\n time - counter.start >= LOGGING_LIMITS.STORM_WINDOW_MS ||\n time < counter.start\n ) {\n counter.start = time;\n counter.count = 0;\n }\n if (counter.count++ >= stormLimit) {\n counter.dropped++;\n if (stormTimer === undefined)\n stormTimer = scheduler.setTimeout(\n summarize,\n LOGGING_LIMITS.STORM_SUMMARY_DELAY_MS,\n );\n return;\n }\n }\n const registrations = Array.from(sinks);\n busy = true;\n try {\n let value;\n try {\n value = typeof data === 'function' ? data() : data;\n } catch (error) {\n onError(error, LOGGING_ERROR_SOURCES.DATA);\n return;\n }\n if (options.isActive?.() === false || sinks.size === 0) return;\n let record;\n try {\n record = ownRecord(\n redactor.redact({\n runId,\n seq: ++seq,\n at: now(),\n area,\n scope,\n level,\n message,\n context: { ...context, ...binding },\n data: value,\n }),\n limits,\n );\n } catch (error) {\n onError(error, LOGGING_ERROR_SOURCES.REDACTOR);\n return;\n }\n if (options.isActive?.() === false) return;\n for (const registration of registrations) {\n if (options.isActive?.() === false || !sinks.has(registration))\n continue;\n try {\n registration.sink.write(record);\n } catch (error) {\n onError(error, LOGGING_ERROR_SOURCES.SINK);\n }\n }\n } finally {\n busy = false;\n }\n } catch (error) {\n busy = false;\n onError(error, LOGGING_ERROR_SOURCES.DATA);\n }\n }\n\n function summarize() {\n stormTimer = undefined;\n for (const counter of storms.values()) {\n if (!counter.dropped) continue;\n const dropped = counter.dropped;\n counter.dropped = 0;\n emit(\n counter.area,\n counter.scope,\n {},\n 'warn',\n 'logging.suppressed',\n { scope: counter.scope, dropped },\n true,\n );\n }\n }\n\n function logger(area, scope, binding = {}) {\n const result = {};\n for (const level of Object.values(LEVELS))\n result[level] = (message, data) =>\n emit(area, scope, binding, level, message, data);\n result.child = ({\n scope: childScope = scope,\n context: childContext = {},\n } = {}) =>\n logger(area, childScope, { ...binding, ...copyBindings(childContext) });\n return Object.freeze(result);\n }\n\n function addSink(sink) {\n if (!sink || typeof sink.write !== 'function')\n throw new TypeError('A sink must have write');\n if (closed) throw loggingError(LOGGING_ERROR_CODES.STOPPED);\n const registration = { sink };\n sinks.add(registration);\n return () => {\n sinks.delete(registration);\n };\n }\n\n async function lifecycle(registrations, methods) {\n const failures = [];\n for (const method of methods) {\n await Promise.all(\n registrations.map(async ({ sink }) => {\n try {\n const previous = busy;\n busy = true;\n let result;\n try {\n result = sink[method]?.();\n } finally {\n busy = previous;\n }\n await result;\n } catch (error) {\n failures.push(error);\n onError(error, LOGGING_ERROR_SOURCES.SINK);\n }\n }),\n );\n }\n if (failures.length)\n throw new AggregateError(failures, 'Logging lifecycle failed');\n }\n return Object.freeze({\n runId,\n getLogger(area, scope) {\n levels.requireArea(area);\n if (typeof scope !== 'string')\n throw new TypeError('Scope must be a string');\n const key = JSON.stringify([area, scope]);\n const cached = roots.get(key);\n if (cached) return cached;\n const created = logger(area, scope);\n if (roots.size < LOGGING_LIMITS.ROOT_LOGGER_CACHE_PAIRS) {\n roots.set(key, created);\n return created;\n }\n if (!scopeReported) {\n scopeReported = true;\n onError(\n loggingError(LOGGING_ERROR_CODES.ROOT_LOGGER_CACHE_LIMIT),\n LOGGING_ERROR_SOURCES.SCOPE,\n );\n }\n return created;\n },\n\n setContext(values) {\n context = { ...context, ...copyBindings(values) };\n for (const key of Object.keys(context))\n if (context[key] === undefined) delete context[key];\n },\n setLevel: levels.setLevel,\n resetLevel: levels.resetLevel,\n reloadLevels: levels.reloadLevels,\n getLevels: levels.getLevels,\n addSink,\n flush() {\n const registrations = Array.from(sinks);\n return Promise.resolve().then(() => lifecycle(registrations, ['flush']));\n },\n\n stop() {\n if (!stopPromise) {\n closed = true;\n levels.stop();\n scheduler.clearTimeout(stormTimer);\n const registrations = Array.from(sinks);\n stopPromise = Promise.resolve().then(() =>\n lifecycle(registrations, ['flush', 'stop']),\n );\n }\n return stopPromise;\n },\n });\n}\n"],"names":["LOGGING_ERROR_CODES","positive","LOGGING_LIMITS","assertLevel","levelRank","define","LOGGING_ERROR_SOURCES","hostScheduler","resolveLimits","assertStormLimit","randomHex","copyBindings","report","ownRecord","LEVELS"],"mappings":"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"}