@prefactor/core 0.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 (43) hide show
  1. package/dist/config.d.ts +259 -0
  2. package/dist/config.d.ts.map +1 -0
  3. package/dist/config.js +110 -0
  4. package/dist/config.js.map +1 -0
  5. package/dist/index.cjs +642 -0
  6. package/dist/index.cjs.map +17 -0
  7. package/dist/index.d.ts +10 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +610 -0
  10. package/dist/index.js.map +17 -0
  11. package/dist/tracing/context.d.ts +53 -0
  12. package/dist/tracing/context.d.ts.map +1 -0
  13. package/dist/tracing/context.js +66 -0
  14. package/dist/tracing/context.js.map +1 -0
  15. package/dist/tracing/span.d.ts +68 -0
  16. package/dist/tracing/span.d.ts.map +1 -0
  17. package/dist/tracing/span.js +21 -0
  18. package/dist/tracing/span.js.map +1 -0
  19. package/dist/tracing/tracer.d.ts +100 -0
  20. package/dist/tracing/tracer.d.ts.map +1 -0
  21. package/dist/tracing/tracer.js +151 -0
  22. package/dist/tracing/tracer.js.map +1 -0
  23. package/dist/transport/base.d.ts +38 -0
  24. package/dist/transport/base.d.ts.map +1 -0
  25. package/dist/transport/base.js +2 -0
  26. package/dist/transport/base.js.map +1 -0
  27. package/dist/transport/http.d.ts +90 -0
  28. package/dist/transport/http.d.ts.map +1 -0
  29. package/dist/transport/http.js +399 -0
  30. package/dist/transport/http.js.map +1 -0
  31. package/dist/transport/stdio.d.ts +48 -0
  32. package/dist/transport/stdio.d.ts.map +1 -0
  33. package/dist/transport/stdio.js +71 -0
  34. package/dist/transport/stdio.js.map +1 -0
  35. package/dist/utils/logging.d.ts +29 -0
  36. package/dist/utils/logging.d.ts.map +1 -0
  37. package/dist/utils/logging.js +71 -0
  38. package/dist/utils/logging.js.map +1 -0
  39. package/dist/utils/serialization.d.ts +24 -0
  40. package/dist/utils/serialization.d.ts.map +1 -0
  41. package/dist/utils/serialization.js +60 -0
  42. package/dist/utils/serialization.js.map +1 -0
  43. package/package.json +36 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../../src/utils/logging.ts"],"names":[],"mappings":"AAUA;;GAEG;AACH,cAAM,MAAM;IAGE,OAAO,CAAC,SAAS;IAF7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAA2B;gBAE3B,SAAS,EAAE,MAAM;IAErC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAMhD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAM/C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAM/C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAMhD;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI;CASlE;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAWvC"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Log levels for the SDK
3
+ */
4
+ var LogLevel;
5
+ (function (LogLevel) {
6
+ LogLevel[LogLevel["DEBUG"] = 0] = "DEBUG";
7
+ LogLevel[LogLevel["INFO"] = 1] = "INFO";
8
+ LogLevel[LogLevel["WARN"] = 2] = "WARN";
9
+ LogLevel[LogLevel["ERROR"] = 3] = "ERROR";
10
+ })(LogLevel || (LogLevel = {}));
11
+ /**
12
+ * Logger class for the Prefactor SDK
13
+ */
14
+ class Logger {
15
+ namespace;
16
+ static level = LogLevel.INFO;
17
+ constructor(namespace) {
18
+ this.namespace = namespace;
19
+ }
20
+ debug(message, ...args) {
21
+ if (Logger.level <= LogLevel.DEBUG) {
22
+ console.debug(`[prefactor:${this.namespace}] ${message}`, ...args);
23
+ }
24
+ }
25
+ info(message, ...args) {
26
+ if (Logger.level <= LogLevel.INFO) {
27
+ console.info(`[prefactor:${this.namespace}] ${message}`, ...args);
28
+ }
29
+ }
30
+ warn(message, ...args) {
31
+ if (Logger.level <= LogLevel.WARN) {
32
+ console.warn(`[prefactor:${this.namespace}] ${message}`, ...args);
33
+ }
34
+ }
35
+ error(message, ...args) {
36
+ if (Logger.level <= LogLevel.ERROR) {
37
+ console.error(`[prefactor:${this.namespace}] ${message}`, ...args);
38
+ }
39
+ }
40
+ /**
41
+ * Set the global log level
42
+ */
43
+ static setLevel(level) {
44
+ const levelMap = {
45
+ debug: LogLevel.DEBUG,
46
+ info: LogLevel.INFO,
47
+ warn: LogLevel.WARN,
48
+ error: LogLevel.ERROR,
49
+ };
50
+ Logger.level = levelMap[level];
51
+ }
52
+ }
53
+ /**
54
+ * Get a logger instance for a specific namespace
55
+ *
56
+ * @param namespace - The namespace for this logger
57
+ * @returns Logger instance
58
+ */
59
+ export function getLogger(namespace) {
60
+ return new Logger(namespace);
61
+ }
62
+ /**
63
+ * Configure logging based on environment variables
64
+ */
65
+ export function configureLogging() {
66
+ const level = process.env.PREFACTOR_LOG_LEVEL?.toLowerCase();
67
+ if (level) {
68
+ Logger.setLevel(level);
69
+ }
70
+ }
71
+ //# sourceMappingURL=logging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/utils/logging.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,IAAK,QAKJ;AALD,WAAK,QAAQ;IACX,yCAAS,CAAA;IACT,uCAAQ,CAAA;IACR,uCAAQ,CAAA;IACR,yCAAS,CAAA;AACX,CAAC,EALI,QAAQ,KAAR,QAAQ,QAKZ;AAED;;GAEG;AACH,MAAM,MAAM;IAGU;IAFZ,MAAM,CAAC,KAAK,GAAa,QAAQ,CAAC,IAAI,CAAC;IAE/C,YAAoB,SAAiB;QAAjB,cAAS,GAAT,SAAS,CAAQ;IAAG,CAAC;IAEzC,KAAK,CAAC,OAAe,EAAE,GAAG,IAAe;QACvC,IAAI,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnC,OAAO,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,GAAG,IAAe;QACtC,IAAI,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAe,EAAE,GAAG,IAAe;QACtC,IAAI,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,GAAG,IAAe;QACvC,IAAI,MAAM,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnC,OAAO,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,KAA0C;QACxD,MAAM,QAAQ,GAAG;YACf,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,KAAK,EAAE,QAAQ,CAAC,KAAK;SACtB,CAAC;QACF,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;;AAGH;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,SAAiB;IACzC,OAAO,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,WAAW,EAK7C,CAAC;IAEd,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;AACH,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Truncate a string to a maximum length, adding an ellipsis if truncated
3
+ *
4
+ * @param value - The string to truncate
5
+ * @param maxLength - Maximum length
6
+ * @returns Truncated string
7
+ */
8
+ export declare function truncateString(value: string, maxLength: number): string;
9
+ /**
10
+ * Serialize a value for JSON output, handling non-serializable types and
11
+ * truncating long strings
12
+ *
13
+ * @param value - Value to serialize
14
+ * @param maxLength - Maximum length for strings (null for no truncation)
15
+ * @returns Serialized value
16
+ *
17
+ * @example
18
+ * ```typescript
19
+ * const serialized = serializeValue({ message: 'Hello'.repeat(1000) }, 100);
20
+ * // Result: { message: 'HelloHelloHello... [truncated]' }
21
+ * ```
22
+ */
23
+ export declare function serializeValue(value: unknown, maxLength?: number | null): unknown;
24
+ //# sourceMappingURL=serialization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialization.d.ts","sourceRoot":"","sources":["../../src/utils/serialization.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAKvE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,GAAE,MAAM,GAAG,IAAY,GAAG,OAAO,CAmCxF"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Truncate a string to a maximum length, adding an ellipsis if truncated
3
+ *
4
+ * @param value - The string to truncate
5
+ * @param maxLength - Maximum length
6
+ * @returns Truncated string
7
+ */
8
+ export function truncateString(value, maxLength) {
9
+ if (value.length <= maxLength) {
10
+ return value;
11
+ }
12
+ return `${value.slice(0, maxLength)}... [truncated]`;
13
+ }
14
+ /**
15
+ * Serialize a value for JSON output, handling non-serializable types and
16
+ * truncating long strings
17
+ *
18
+ * @param value - Value to serialize
19
+ * @param maxLength - Maximum length for strings (null for no truncation)
20
+ * @returns Serialized value
21
+ *
22
+ * @example
23
+ * ```typescript
24
+ * const serialized = serializeValue({ message: 'Hello'.repeat(1000) }, 100);
25
+ * // Result: { message: 'HelloHelloHello... [truncated]' }
26
+ * ```
27
+ */
28
+ export function serializeValue(value, maxLength = 10000) {
29
+ // Handle primitives that don't need serialization
30
+ if (value === null || value === undefined) {
31
+ return value;
32
+ }
33
+ if (typeof value === 'boolean' || typeof value === 'number') {
34
+ return value;
35
+ }
36
+ // Handle strings with truncation
37
+ if (typeof value === 'string') {
38
+ return maxLength !== null ? truncateString(value, maxLength) : value;
39
+ }
40
+ // Handle arrays
41
+ if (Array.isArray(value)) {
42
+ return value.map((item) => serializeValue(item, maxLength));
43
+ }
44
+ // Handle objects
45
+ if (typeof value === 'object') {
46
+ const result = {};
47
+ for (const [key, val] of Object.entries(value)) {
48
+ result[key] = serializeValue(val, maxLength);
49
+ }
50
+ return result;
51
+ }
52
+ // Handle other types by converting to string
53
+ try {
54
+ return String(value);
55
+ }
56
+ catch {
57
+ return `<${typeof value} object>`;
58
+ }
59
+ }
60
+ //# sourceMappingURL=serialization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serialization.js","sourceRoot":"","sources":["../../src/utils/serialization.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,SAAiB;IAC7D,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,iBAAiB,CAAC;AACvD,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc,EAAE,YAA2B,KAAK;IAC7E,kDAAkD;IAClD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5D,OAAO,KAAK,CAAC;IACf,CAAC;IAED,iCAAiC;IACjC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACvE,CAAC;IAED,gBAAgB;IAChB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,iBAAiB;IACjB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,MAAM,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,6CAA6C;IAC7C,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,OAAO,KAAK,UAAU,CAAC;IACpC,CAAC;AACH,CAAC"}
package/package.json ADDED
@@ -0,0 +1,36 @@
1
+ {
2
+ "name": "@prefactor/core",
3
+ "version": "0.1.0",
4
+ "description": "Framework-agnostic observability primitives for Prefactor",
5
+ "type": "module",
6
+ "main": "dist/index.cjs",
7
+ "module": "dist/index.js",
8
+ "types": "dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.js",
13
+ "require": "./dist/index.cjs"
14
+ }
15
+ },
16
+ "files": [
17
+ "dist"
18
+ ],
19
+ "keywords": [
20
+ "prefactor",
21
+ "observability",
22
+ "tracing",
23
+ "llm",
24
+ "agent",
25
+ "monitoring"
26
+ ],
27
+ "author": "Prefactor",
28
+ "license": "MIT",
29
+ "dependencies": {
30
+ "@prefactor/pfid": "^0.1.0",
31
+ "zod": "^3.23.0"
32
+ },
33
+ "engines": {
34
+ "node": ">=24.0.0"
35
+ }
36
+ }