cbrowser 16.0.0 → 16.2.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.
package/dist/index.d.ts CHANGED
@@ -28,6 +28,7 @@ export { getDefaultConfig, getPaths, ensureDirectories, mergeConfig } from "./co
28
28
  export type { CBrowserConfig, CBrowserPaths, BrowserType } from "./config.js";
29
29
  export * from "./types.js";
30
30
  export { BUILTIN_PERSONAS } from "./personas.js";
31
+ export * from "./trait-reference.js";
31
32
  export { startMcpServer } from "./mcp-server.js";
32
33
  export { startDaemon, stopDaemon, getDaemonStatus, isDaemonRunning, sendToDaemon, runDaemonServer } from "./daemon.js";
33
34
  export * from "./visual/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACzF,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC9E,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAIvH,cAAc,mBAAmB,CAAC;AAGlC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,wBAAwB,CAAC;AAGvC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG1E,cAAc,oBAAoB,CAAC;AAInC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACzF,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC9E,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGjD,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAIvH,cAAc,mBAAmB,CAAC;AAGlC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,wBAAwB,CAAC;AAGvC,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG1E,cAAc,oBAAoB,CAAC;AAInC,cAAc,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -27,6 +27,8 @@ export { CBrowser } from "./browser.js";
27
27
  export { getDefaultConfig, getPaths, ensureDirectories, mergeConfig } from "./config.js";
28
28
  export * from "./types.js";
29
29
  export { BUILTIN_PERSONAS } from "./personas.js";
30
+ // Trait Reference (v15.0.0) - Cognitive trait definitions and guidelines
31
+ export * from "./trait-reference.js";
30
32
  export { startMcpServer } from "./mcp-server.js";
31
33
  export { startDaemon, stopDaemon, getDaemonStatus, isDaemonRunning, sendToDaemon, runDaemonServer } from "./daemon.js";
32
34
  // Modular exports (v7.3.0)
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEzF,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEvH,2BAA2B;AAC3B,wBAAwB;AACxB,cAAc,mBAAmB,CAAC;AAElC,iBAAiB;AACjB,cAAc,oBAAoB,CAAC;AAEnC,kBAAkB;AAClB,cAAc,qBAAqB,CAAC;AAEpC,qBAAqB;AACrB,cAAc,wBAAwB,CAAC;AAEvC,6BAA6B;AAC7B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE1E,2BAA2B;AAC3B,cAAc,oBAAoB,CAAC;AAEnC,6CAA6C;AAC7C,uDAAuD;AACvD,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEzF,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,yEAAyE;AACzE,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEvH,2BAA2B;AAC3B,wBAAwB;AACxB,cAAc,mBAAmB,CAAC;AAElC,iBAAiB;AACjB,cAAc,oBAAoB,CAAC;AAEnC,kBAAkB;AAClB,cAAc,qBAAqB,CAAC;AAEpC,qBAAqB;AACrB,cAAc,wBAAwB,CAAC;AAEvC,6BAA6B;AAC7B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE1E,2BAA2B;AAC3B,cAAc,oBAAoB,CAAC;AAEnC,6CAA6C;AAC7C,uDAAuD;AACvD,cAAc,oBAAoB,CAAC"}
@@ -18,4 +18,5 @@
18
18
  */
19
19
  export { DEFAULT_STEALTH_CONFIG, MINIMUM_RATE_LIMITS, STEALTH_TERMS_OF_SERVICE, matchesDomainPattern, isProhibitedDomain, validateAcknowledgment, mergeStealthConfig, BaseConstitutionalEnforcer, NoOpConstitutionalEnforcer, } from "./framework.js";
20
20
  export type { StealthConfig, StealthAuthorization, StealthAcknowledgment, StealthRateLimits, StealthAuditEntry, StealthCheckResult, IConstitutionalEnforcer, } from "./framework.js";
21
+ export { getEnforcer, getEnforcerSync, isEnterpriseAvailable, getEnterpriseVersion, printEnterpriseStatus, } from "./loader.js";
21
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/stealth/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;;;GAKG;AAEH,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/stealth/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;;;GAKG;AAEH,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,aAAa,CAAC"}
@@ -17,4 +17,6 @@
17
17
  * Full implementation available in cbrowser-enterprise.
18
18
  */
19
19
  export { DEFAULT_STEALTH_CONFIG, MINIMUM_RATE_LIMITS, STEALTH_TERMS_OF_SERVICE, matchesDomainPattern, isProhibitedDomain, validateAcknowledgment, mergeStealthConfig, BaseConstitutionalEnforcer, NoOpConstitutionalEnforcer, } from "./framework.js";
20
+ // Enterprise loader (v15.0.0)
21
+ export { getEnforcer, getEnforcerSync, isEnterpriseAvailable, getEnterpriseVersion, printEnterpriseStatus, } from "./loader.js";
20
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/stealth/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;;;GAKG;AAEH,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/stealth/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;;;GAKG;AAEH,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,wBAAwB,EACxB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,gBAAgB,CAAC;AAYxB,8BAA8B;AAC9B,OAAO,EACL,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,aAAa,CAAC"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * CBrowser - Cognitive Browser Automation
3
+ *
4
+ * Copyright (c) 2026 WF Media (Alexandria Eden)
5
+ * Email: alexandria.shai.eden@gmail.com
6
+ *
7
+ * This source code is licensed under the Business Source License 1.1
8
+ * found in the LICENSE file in the root directory of this source tree.
9
+ */
10
+ /**
11
+ * Enterprise Loader (v15.0.0)
12
+ *
13
+ * Dynamically loads cbrowser-enterprise if installed.
14
+ * Falls back to NoOpConstitutionalEnforcer for public-only users.
15
+ */
16
+ import type { IConstitutionalEnforcer, StealthConfig } from "../types.js";
17
+ /**
18
+ * Check if enterprise module is available
19
+ */
20
+ export declare function isEnterpriseAvailable(): Promise<boolean>;
21
+ /**
22
+ * Get enterprise version if available
23
+ */
24
+ export declare function getEnterpriseVersion(): string | null;
25
+ /**
26
+ * Get the appropriate constitutional enforcer
27
+ *
28
+ * Returns EnterpriseConstitutionalEnforcer if cbrowser-enterprise is installed,
29
+ * otherwise returns NoOpConstitutionalEnforcer.
30
+ *
31
+ * @param config - Optional stealth configuration
32
+ * @returns Constitutional enforcer instance
33
+ *
34
+ * @example
35
+ * ```typescript
36
+ * // Auto-detect enterprise
37
+ * const enforcer = await getEnforcer();
38
+ *
39
+ * // With custom config
40
+ * const enforcer = await getEnforcer({
41
+ * enabled: true,
42
+ * authorization: {
43
+ * authorizedDomains: ["*.mycompany.com"],
44
+ * },
45
+ * });
46
+ * ```
47
+ */
48
+ export declare function getEnforcer(config?: Partial<StealthConfig>): Promise<IConstitutionalEnforcer>;
49
+ /**
50
+ * Create enforcer synchronously (uses cached module)
51
+ *
52
+ * Must call isEnterpriseAvailable() first to load module.
53
+ * If called before loading, returns NoOp enforcer.
54
+ */
55
+ export declare function getEnforcerSync(config?: Partial<StealthConfig>): IConstitutionalEnforcer;
56
+ /**
57
+ * Print enterprise status for diagnostics
58
+ */
59
+ export declare function printEnterpriseStatus(): Promise<void>;
60
+ //# sourceMappingURL=loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/stealth/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAa1E;;GAEG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAW9D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAEpD;AA4CD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,WAAW,CAC/B,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAC9B,OAAO,CAAC,uBAAuB,CAAC,CASlC;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAC9B,uBAAuB,CAMzB;AAED;;GAEG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAoB3D"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * CBrowser - Cognitive Browser Automation
3
+ *
4
+ * Copyright (c) 2026 WF Media (Alexandria Eden)
5
+ * Email: alexandria.shai.eden@gmail.com
6
+ *
7
+ * This source code is licensed under the Business Source License 1.1
8
+ * found in the LICENSE file in the root directory of this source tree.
9
+ */
10
+ import { NoOpConstitutionalEnforcer } from "./framework.js";
11
+ /** Cache the loaded module */
12
+ let enterpriseModule = null;
13
+ let loadAttempted = false;
14
+ /**
15
+ * Check if enterprise module is available
16
+ */
17
+ export async function isEnterpriseAvailable() {
18
+ if (loadAttempted) {
19
+ return enterpriseModule !== null;
20
+ }
21
+ try {
22
+ await loadEnterpriseModule();
23
+ return enterpriseModule !== null;
24
+ }
25
+ catch {
26
+ return false;
27
+ }
28
+ }
29
+ /**
30
+ * Get enterprise version if available
31
+ */
32
+ export function getEnterpriseVersion() {
33
+ return enterpriseModule?.version ?? null;
34
+ }
35
+ /**
36
+ * Attempt to load enterprise module
37
+ */
38
+ async function loadEnterpriseModule() {
39
+ if (loadAttempted) {
40
+ return enterpriseModule;
41
+ }
42
+ loadAttempted = true;
43
+ try {
44
+ // Dynamic import of enterprise package
45
+ // This will fail gracefully if not installed
46
+ // Use string variable to prevent TypeScript from resolving at compile time
47
+ const enterprisePackage = "cbrowser-enterprise";
48
+ const module = await import(/* webpackIgnore: true */ enterprisePackage);
49
+ // Validate module shape
50
+ if (module.EnterpriseConstitutionalEnforcer &&
51
+ typeof module.EnterpriseConstitutionalEnforcer === "function") {
52
+ enterpriseModule = module;
53
+ console.log(`[CBrowser] Enterprise module loaded (v${module.version || "unknown"})`);
54
+ return enterpriseModule;
55
+ }
56
+ else {
57
+ console.warn("[CBrowser] Enterprise module found but invalid shape");
58
+ return null;
59
+ }
60
+ }
61
+ catch (error) {
62
+ // Not installed - this is expected for public-only users
63
+ if (error.code === "ERR_MODULE_NOT_FOUND") {
64
+ // Silent - enterprise not installed
65
+ return null;
66
+ }
67
+ // Unexpected error
68
+ console.warn("[CBrowser] Failed to load enterprise module:", error);
69
+ return null;
70
+ }
71
+ }
72
+ /**
73
+ * Get the appropriate constitutional enforcer
74
+ *
75
+ * Returns EnterpriseConstitutionalEnforcer if cbrowser-enterprise is installed,
76
+ * otherwise returns NoOpConstitutionalEnforcer.
77
+ *
78
+ * @param config - Optional stealth configuration
79
+ * @returns Constitutional enforcer instance
80
+ *
81
+ * @example
82
+ * ```typescript
83
+ * // Auto-detect enterprise
84
+ * const enforcer = await getEnforcer();
85
+ *
86
+ * // With custom config
87
+ * const enforcer = await getEnforcer({
88
+ * enabled: true,
89
+ * authorization: {
90
+ * authorizedDomains: ["*.mycompany.com"],
91
+ * },
92
+ * });
93
+ * ```
94
+ */
95
+ export async function getEnforcer(config) {
96
+ const enterprise = await loadEnterpriseModule();
97
+ if (enterprise) {
98
+ return new enterprise.EnterpriseConstitutionalEnforcer(config);
99
+ }
100
+ // Fall back to NoOp
101
+ return new NoOpConstitutionalEnforcer(config);
102
+ }
103
+ /**
104
+ * Create enforcer synchronously (uses cached module)
105
+ *
106
+ * Must call isEnterpriseAvailable() first to load module.
107
+ * If called before loading, returns NoOp enforcer.
108
+ */
109
+ export function getEnforcerSync(config) {
110
+ if (enterpriseModule) {
111
+ return new enterpriseModule.EnterpriseConstitutionalEnforcer(config);
112
+ }
113
+ return new NoOpConstitutionalEnforcer(config);
114
+ }
115
+ /**
116
+ * Print enterprise status for diagnostics
117
+ */
118
+ export async function printEnterpriseStatus() {
119
+ const available = await isEnterpriseAvailable();
120
+ if (available) {
121
+ console.log("╔══════════════════════════════════════════════════════════╗");
122
+ console.log("║ CBrowser Enterprise: ACTIVE ║");
123
+ console.log(`║ Version: ${(getEnterpriseVersion() || "unknown").padEnd(47)}║`);
124
+ console.log("║ Stealth capabilities: ENABLED ║");
125
+ console.log("╚══════════════════════════════════════════════════════════╝");
126
+ }
127
+ else {
128
+ console.log("╔══════════════════════════════════════════════════════════╗");
129
+ console.log("║ CBrowser Enterprise: NOT INSTALLED ║");
130
+ console.log("║ Stealth capabilities: DISABLED (NoOp mode) ║");
131
+ console.log("║ ║");
132
+ console.log("║ To enable enterprise features: ║");
133
+ console.log("║ npm install cbrowser-enterprise --registry <private> ║");
134
+ console.log("║ ║");
135
+ console.log("║ Contact: alexandria.shai.eden@gmail.com ║");
136
+ console.log("╚══════════════════════════════════════════════════════════╝");
137
+ }
138
+ }
139
+ //# sourceMappingURL=loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/stealth/loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * CBrowser - Cognitive Browser Automation
3
+ *
4
+ * Copyright (c) 2026 WF Media (Alexandria Eden)
5
+ * Email: alexandria.shai.eden@gmail.com
6
+ *
7
+ * This source code is licensed under the Business Source License 1.1
8
+ * found in the LICENSE file in the root directory of this source tree.
9
+ */
10
+ /**
11
+ * Cognitive Trait Reference Matrix (v15.0.0)
12
+ *
13
+ * This module provides authoritative definitions for all 25 cognitive traits.
14
+ * Use this as a reference when creating custom personas.
15
+ *
16
+ * Scale Convention: All traits use 0.0 to 1.0
17
+ * - 0.0-0.2 = Very Low
18
+ * - 0.2-0.4 = Low
19
+ * - 0.4-0.6 = Medium
20
+ * - 0.6-0.8 = High
21
+ * - 0.8-1.0 = Very High
22
+ */
23
+ export interface TraitDefinition {
24
+ /** Trait identifier (matches CognitiveTraits interface) */
25
+ name: string;
26
+ /** Human-readable description */
27
+ description: string;
28
+ /** What 0.0 represents */
29
+ lowEnd: string;
30
+ /** What 1.0 represents */
31
+ highEnd: string;
32
+ /** Primary research citation */
33
+ research: string;
34
+ /** Research DOI or URL */
35
+ researchUrl?: string;
36
+ /** Behavioral examples at different levels */
37
+ examples: {
38
+ veryLow: string;
39
+ low: string;
40
+ medium: string;
41
+ high: string;
42
+ veryHigh: string;
43
+ };
44
+ /** Which personas typically score high/low */
45
+ typicalScores: {
46
+ high: string[];
47
+ low: string[];
48
+ };
49
+ /** Related traits that often correlate */
50
+ correlates: string[];
51
+ /** Default value for new personas */
52
+ defaultValue: number;
53
+ }
54
+ /**
55
+ * Complete trait definitions for all 25 cognitive traits
56
+ */
57
+ export declare const TRAIT_DEFINITIONS: Record<string, TraitDefinition>;
58
+ /**
59
+ * Quick reference for recommended trait values by persona archetype.
60
+ * Use as starting point when creating custom personas.
61
+ */
62
+ export declare const PERSONA_TRAIT_GUIDELINES: Record<string, Record<string, number>>;
63
+ /**
64
+ * Get trait definition by name
65
+ */
66
+ export declare function getTraitDefinition(traitName: string): TraitDefinition | undefined;
67
+ /**
68
+ * Get all trait names
69
+ */
70
+ export declare function getTraitNames(): string[];
71
+ /**
72
+ * Validate trait value is in valid range
73
+ */
74
+ export declare function isValidTraitValue(value: number): boolean;
75
+ /**
76
+ * Get human-readable level description for a trait value
77
+ */
78
+ export declare function getTraitLevel(value: number): "veryLow" | "low" | "medium" | "high" | "veryHigh";
79
+ /**
80
+ * Get example behavior for trait at given value
81
+ */
82
+ export declare function getTraitExample(traitName: string, value: number): string | undefined;
83
+ /**
84
+ * Suggest trait value based on persona characteristics
85
+ */
86
+ export declare function suggestTraitValue(traitName: string, techLevel: "beginner" | "intermediate" | "expert", ageGroup?: "young" | "middle" | "elderly"): number;
87
+ //# sourceMappingURL=trait-reference.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trait-reference.d.ts","sourceRoot":"","sources":["../src/trait-reference.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;;;;;;;GAYG;AAMH,MAAM,WAAW,eAAe;IAC9B,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,8CAA8C;IAC9C,aAAa,EAAE;QACb,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,GAAG,EAAE,MAAM,EAAE,CAAC;KACf,CAAC;IACF,0CAA0C;IAC1C,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,qCAAqC;IACrC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAmiB7D,CAAC;AAMF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAyF3E,CAAC;AAMF;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAEjF;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,EAAE,CAExC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAExD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAM/F;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKpF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,UAAU,GAAG,cAAc,GAAG,QAAQ,EACjD,QAAQ,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,GACxC,MAAM,CAmBR"}