cbrowser 20.2.2 → 21.0.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 (302) hide show
  1. package/README.md +2 -2
  2. package/dist/analysis/accessibility-empathy.d.ts +29 -1
  3. package/dist/analysis/accessibility-empathy.d.ts.map +1 -1
  4. package/dist/analysis/accessibility-empathy.js +69 -35
  5. package/dist/analysis/accessibility-empathy.js.map +1 -1
  6. package/dist/browser.d.ts.map +1 -1
  7. package/dist/browser.js +11 -7
  8. package/dist/browser.js.map +1 -1
  9. package/dist/cif-score.d.ts +56 -5
  10. package/dist/cif-score.d.ts.map +1 -1
  11. package/dist/cif-score.js +595 -346
  12. package/dist/cif-score.js.map +1 -1
  13. package/dist/cli.js +10 -8
  14. package/dist/cli.js.map +1 -1
  15. package/dist/cognitive/default-traits.d.ts +14 -0
  16. package/dist/cognitive/default-traits.d.ts.map +1 -0
  17. package/dist/cognitive/default-traits.js +36 -0
  18. package/dist/cognitive/default-traits.js.map +1 -0
  19. package/dist/cognitive/emotions.d.ts.map +1 -1
  20. package/dist/cognitive/emotions.js +104 -174
  21. package/dist/cognitive/emotions.js.map +1 -1
  22. package/dist/cognitive/index.d.ts +28 -0
  23. package/dist/cognitive/index.d.ts.map +1 -1
  24. package/dist/cognitive/index.js +353 -287
  25. package/dist/cognitive/index.js.map +1 -1
  26. package/dist/cognitive/temporal.d.ts +0 -24
  27. package/dist/cognitive/temporal.d.ts.map +1 -1
  28. package/dist/cognitive/temporal.js +45 -35
  29. package/dist/cognitive/temporal.js.map +1 -1
  30. package/dist/data/ctc-reference-v2-2026-10-24.d.ts +16 -0
  31. package/dist/data/ctc-reference-v2-2026-10-24.d.ts.map +1 -0
  32. package/dist/data/ctc-reference-v2-2026-10-24.js +1004 -0
  33. package/dist/data/ctc-reference-v2-2026-10-24.js.map +1 -0
  34. package/dist/ideal-profiles-gap.d.ts +1 -0
  35. package/dist/ideal-profiles-gap.d.ts.map +1 -1
  36. package/dist/ideal-profiles-gap.js +9 -1
  37. package/dist/ideal-profiles-gap.js.map +1 -1
  38. package/dist/ideal-profiles.d.ts +8 -0
  39. package/dist/ideal-profiles.d.ts.map +1 -1
  40. package/dist/ideal-profiles.js +28 -24
  41. package/dist/ideal-profiles.js.map +1 -1
  42. package/dist/mcp-server-remote.d.ts.map +1 -1
  43. package/dist/mcp-server-remote.js +7 -8
  44. package/dist/mcp-server-remote.js.map +1 -1
  45. package/dist/mcp-tools/account-personas.d.ts.map +1 -1
  46. package/dist/mcp-tools/account-personas.js +3 -1
  47. package/dist/mcp-tools/account-personas.js.map +1 -1
  48. package/dist/mcp-tools/base/answer-provenance.d.ts +28 -0
  49. package/dist/mcp-tools/base/answer-provenance.d.ts.map +1 -0
  50. package/dist/mcp-tools/base/answer-provenance.js +32 -0
  51. package/dist/mcp-tools/base/answer-provenance.js.map +1 -0
  52. package/dist/mcp-tools/base/audit-tools.d.ts +0 -3
  53. package/dist/mcp-tools/base/audit-tools.d.ts.map +1 -1
  54. package/dist/mcp-tools/base/audit-tools.js +152 -84
  55. package/dist/mcp-tools/base/audit-tools.js.map +1 -1
  56. package/dist/mcp-tools/base/capture-tools.js +1 -1
  57. package/dist/mcp-tools/base/capture-tools.js.map +1 -1
  58. package/dist/mcp-tools/base/chain-values.d.ts +38 -0
  59. package/dist/mcp-tools/base/chain-values.d.ts.map +1 -0
  60. package/dist/mcp-tools/base/chain-values.js +85 -0
  61. package/dist/mcp-tools/base/chain-values.js.map +1 -0
  62. package/dist/mcp-tools/base/cognitive-tools.d.ts.map +1 -1
  63. package/dist/mcp-tools/base/cognitive-tools.js +126 -120
  64. package/dist/mcp-tools/base/cognitive-tools.js.map +1 -1
  65. package/dist/mcp-tools/base/gif-tools.d.ts.map +1 -1
  66. package/dist/mcp-tools/base/gif-tools.js +23 -5
  67. package/dist/mcp-tools/base/gif-tools.js.map +1 -1
  68. package/dist/mcp-tools/base/persona-comparison-tools.d.ts.map +1 -1
  69. package/dist/mcp-tools/base/persona-comparison-tools.js +229 -172
  70. package/dist/mcp-tools/base/persona-comparison-tools.js.map +1 -1
  71. package/dist/mcp-tools/base/site-familiarity.d.ts +31 -0
  72. package/dist/mcp-tools/base/site-familiarity.d.ts.map +1 -0
  73. package/dist/mcp-tools/base/site-familiarity.js +30 -0
  74. package/dist/mcp-tools/base/site-familiarity.js.map +1 -0
  75. package/dist/mcp-tools/base/site-knowledge-tools.js +1 -1
  76. package/dist/mcp-tools/base/site-knowledge-tools.js.map +1 -1
  77. package/dist/mcp-tools/base/story-narrative.d.ts +50 -0
  78. package/dist/mcp-tools/base/story-narrative.d.ts.map +1 -0
  79. package/dist/mcp-tools/base/story-narrative.js +88 -0
  80. package/dist/mcp-tools/base/story-narrative.js.map +1 -0
  81. package/dist/mcp-tools/base/values-tools.d.ts.map +1 -1
  82. package/dist/mcp-tools/base/values-tools.js +19 -5
  83. package/dist/mcp-tools/base/values-tools.js.map +1 -1
  84. package/dist/mcp-tools/base/visual-testing-tools.d.ts +5 -5
  85. package/dist/mcp-tools/base/visual-testing-tools.d.ts.map +1 -1
  86. package/dist/mcp-tools/base/visual-testing-tools.js +38 -11
  87. package/dist/mcp-tools/base/visual-testing-tools.js.map +1 -1
  88. package/dist/mcp-tools/persona-creation-tools.js +6 -6
  89. package/dist/mcp-tools/persona-creation-tools.js.map +1 -1
  90. package/dist/mcp-tools/persona-lifecycle-tools.d.ts.map +1 -1
  91. package/dist/mcp-tools/persona-lifecycle-tools.js +5 -1
  92. package/dist/mcp-tools/persona-lifecycle-tools.js.map +1 -1
  93. package/dist/mcp-tools/tier-gate.js +1 -1
  94. package/dist/mcp-tools/tool-result-saver.d.ts +7 -0
  95. package/dist/mcp-tools/tool-result-saver.d.ts.map +1 -1
  96. package/dist/mcp-tools/tool-result-saver.js +11 -0
  97. package/dist/mcp-tools/tool-result-saver.js.map +1 -1
  98. package/dist/mcp-tools/trait-provenance.d.ts +109 -0
  99. package/dist/mcp-tools/trait-provenance.d.ts.map +1 -0
  100. package/dist/mcp-tools/trait-provenance.js +187 -0
  101. package/dist/mcp-tools/trait-provenance.js.map +1 -0
  102. package/dist/mcp-tools/ui-resources.d.ts +6 -7
  103. package/dist/mcp-tools/ui-resources.d.ts.map +1 -1
  104. package/dist/mcp-tools/ui-resources.js +162 -12
  105. package/dist/mcp-tools/ui-resources.js.map +1 -1
  106. package/dist/mcp-tools/widget-kit.d.ts +129 -3
  107. package/dist/mcp-tools/widget-kit.d.ts.map +1 -1
  108. package/dist/mcp-tools/widget-kit.js +507 -28
  109. package/dist/mcp-tools/widget-kit.js.map +1 -1
  110. package/dist/performance/metrics.d.ts.map +1 -1
  111. package/dist/performance/metrics.js +4 -1
  112. package/dist/performance/metrics.js.map +1 -1
  113. package/dist/persona-questionnaire.js +1 -1
  114. package/dist/persona-questionnaire.js.map +1 -1
  115. package/dist/personas.d.ts.map +1 -1
  116. package/dist/personas.js +133 -82
  117. package/dist/personas.js.map +1 -1
  118. package/dist/recording/engine.d.ts.map +1 -1
  119. package/dist/recording/engine.js +5 -2
  120. package/dist/recording/engine.js.map +1 -1
  121. package/dist/recording/saliency-overlay.d.ts +8 -3
  122. package/dist/recording/saliency-overlay.d.ts.map +1 -1
  123. package/dist/recording/saliency-overlay.js +14 -5
  124. package/dist/recording/saliency-overlay.js.map +1 -1
  125. package/dist/recording/types.js +1 -1
  126. package/dist/testing/nl-test-suite.d.ts.map +1 -1
  127. package/dist/testing/nl-test-suite.js +2 -1
  128. package/dist/testing/nl-test-suite.js.map +1 -1
  129. package/dist/trait-reference.d.ts +19 -2
  130. package/dist/trait-reference.d.ts.map +1 -1
  131. package/dist/trait-reference.js +19 -2
  132. package/dist/trait-reference.js.map +1 -1
  133. package/dist/types.d.ts +32 -21
  134. package/dist/types.d.ts.map +1 -1
  135. package/dist/types.js +62 -52
  136. package/dist/types.js.map +1 -1
  137. package/dist/values/persona-completeness.js +1 -1
  138. package/dist/values/persona-completeness.js.map +1 -1
  139. package/dist/visual/ab-comparison.d.ts.map +1 -1
  140. package/dist/visual/ab-comparison.js +4 -1
  141. package/dist/visual/ab-comparison.js.map +1 -1
  142. package/dist/visual/attention-quality.d.ts +1 -1
  143. package/dist/visual/attention-quality.js +1 -1
  144. package/dist/visual/attention-transport.d.ts +74 -10
  145. package/dist/visual/attention-transport.d.ts.map +1 -1
  146. package/dist/visual/attention-transport.js +353 -193
  147. package/dist/visual/attention-transport.js.map +1 -1
  148. package/dist/visual/cognitive-models.d.ts +77 -55
  149. package/dist/visual/cognitive-models.d.ts.map +1 -1
  150. package/dist/visual/cognitive-models.js +231 -104
  151. package/dist/visual/cognitive-models.js.map +1 -1
  152. package/dist/visual/cognitive-transport-chain.d.ts +328 -30
  153. package/dist/visual/cognitive-transport-chain.d.ts.map +1 -1
  154. package/dist/visual/cognitive-transport-chain.js +576 -353
  155. package/dist/visual/cognitive-transport-chain.js.map +1 -1
  156. package/dist/visual/cognitive-transport.d.ts +446 -13
  157. package/dist/visual/cognitive-transport.d.ts.map +1 -1
  158. package/dist/visual/cognitive-transport.js +1085 -245
  159. package/dist/visual/cognitive-transport.js.map +1 -1
  160. package/dist/visual/cross-browser.d.ts.map +1 -1
  161. package/dist/visual/cross-browser.js +8 -6
  162. package/dist/visual/cross-browser.js.map +1 -1
  163. package/dist/visual/ctc-bands.d.ts +91 -0
  164. package/dist/visual/ctc-bands.d.ts.map +1 -0
  165. package/dist/visual/ctc-bands.js +117 -0
  166. package/dist/visual/ctc-bands.js.map +1 -0
  167. package/dist/visual/ctc-reference.d.ts +287 -0
  168. package/dist/visual/ctc-reference.d.ts.map +1 -0
  169. package/dist/visual/ctc-reference.js +376 -0
  170. package/dist/visual/ctc-reference.js.map +1 -0
  171. package/dist/visual/demand-laws.d.ts +145 -0
  172. package/dist/visual/demand-laws.d.ts.map +1 -0
  173. package/dist/visual/demand-laws.js +220 -0
  174. package/dist/visual/demand-laws.js.map +1 -0
  175. package/dist/visual/distance-metrics.d.ts +23 -1
  176. package/dist/visual/distance-metrics.d.ts.map +1 -1
  177. package/dist/visual/distance-metrics.js +49 -18
  178. package/dist/visual/distance-metrics.js.map +1 -1
  179. package/dist/visual/dro-bound.d.ts +220 -0
  180. package/dist/visual/dro-bound.d.ts.map +1 -0
  181. package/dist/visual/dro-bound.js +341 -0
  182. package/dist/visual/dro-bound.js.map +1 -0
  183. package/dist/visual/exact-w1.d.ts +60 -0
  184. package/dist/visual/exact-w1.d.ts.map +1 -0
  185. package/dist/visual/exact-w1.js +247 -0
  186. package/dist/visual/exact-w1.js.map +1 -0
  187. package/dist/visual/human-input.d.ts.map +1 -1
  188. package/dist/visual/human-input.js +45 -41
  189. package/dist/visual/human-input.js.map +1 -1
  190. package/dist/visual/index.d.ts +2 -0
  191. package/dist/visual/index.d.ts.map +1 -1
  192. package/dist/visual/index.js +2 -0
  193. package/dist/visual/index.js.map +1 -1
  194. package/dist/visual/law-times-report.d.ts +49 -0
  195. package/dist/visual/law-times-report.d.ts.map +1 -0
  196. package/dist/visual/law-times-report.js +38 -0
  197. package/dist/visual/law-times-report.js.map +1 -0
  198. package/dist/visual/model-provenance.d.ts +151 -0
  199. package/dist/visual/model-provenance.d.ts.map +1 -0
  200. package/dist/visual/model-provenance.js +334 -0
  201. package/dist/visual/model-provenance.js.map +1 -0
  202. package/dist/visual/normal-cdf.d.ts +14 -0
  203. package/dist/visual/normal-cdf.d.ts.map +1 -0
  204. package/dist/visual/normal-cdf.js +26 -0
  205. package/dist/visual/normal-cdf.js.map +1 -0
  206. package/dist/visual/perceptual-transport.d.ts +28 -4
  207. package/dist/visual/perceptual-transport.d.ts.map +1 -1
  208. package/dist/visual/perceptual-transport.js +66 -32
  209. package/dist/visual/perceptual-transport.js.map +1 -1
  210. package/dist/visual/provenance/attention.d.ts +55 -0
  211. package/dist/visual/provenance/attention.d.ts.map +1 -0
  212. package/dist/visual/provenance/attention.js +188 -0
  213. package/dist/visual/provenance/attention.js.map +1 -0
  214. package/dist/visual/provenance/chain.d.ts +41 -0
  215. package/dist/visual/provenance/chain.d.ts.map +1 -0
  216. package/dist/visual/provenance/chain.js +66 -0
  217. package/dist/visual/provenance/chain.js.map +1 -0
  218. package/dist/visual/provenance/cif.d.ts +42 -0
  219. package/dist/visual/provenance/cif.d.ts.map +1 -0
  220. package/dist/visual/provenance/cif.js +116 -0
  221. package/dist/visual/provenance/cif.js.map +1 -0
  222. package/dist/visual/provenance/ctc-reference.d.ts +36 -0
  223. package/dist/visual/provenance/ctc-reference.d.ts.map +1 -0
  224. package/dist/visual/provenance/ctc-reference.js +96 -0
  225. package/dist/visual/provenance/ctc-reference.js.map +1 -0
  226. package/dist/visual/provenance/distance.d.ts +10 -0
  227. package/dist/visual/provenance/distance.d.ts.map +1 -0
  228. package/dist/visual/provenance/distance.js +72 -0
  229. package/dist/visual/provenance/distance.js.map +1 -0
  230. package/dist/visual/provenance/dro.d.ts +10 -0
  231. package/dist/visual/provenance/dro.d.ts.map +1 -0
  232. package/dist/visual/provenance/dro.js +2 -0
  233. package/dist/visual/provenance/dro.js.map +1 -0
  234. package/dist/visual/provenance/emotion.d.ts +26 -0
  235. package/dist/visual/provenance/emotion.d.ts.map +1 -0
  236. package/dist/visual/provenance/emotion.js +99 -0
  237. package/dist/visual/provenance/emotion.js.map +1 -0
  238. package/dist/visual/provenance/human-input.d.ts +19 -0
  239. package/dist/visual/provenance/human-input.d.ts.map +1 -0
  240. package/dist/visual/provenance/human-input.js +84 -0
  241. package/dist/visual/provenance/human-input.js.map +1 -0
  242. package/dist/visual/provenance/journey-group.d.ts +15 -0
  243. package/dist/visual/provenance/journey-group.d.ts.map +1 -0
  244. package/dist/visual/provenance/journey-group.js +15 -0
  245. package/dist/visual/provenance/journey-group.js.map +1 -0
  246. package/dist/visual/provenance/journey-mcp.d.ts +24 -0
  247. package/dist/visual/provenance/journey-mcp.d.ts.map +1 -0
  248. package/dist/visual/provenance/journey-mcp.js +54 -0
  249. package/dist/visual/provenance/journey-mcp.js.map +1 -0
  250. package/dist/visual/provenance/journey.d.ts +34 -0
  251. package/dist/visual/provenance/journey.d.ts.map +1 -0
  252. package/dist/visual/provenance/journey.js +184 -0
  253. package/dist/visual/provenance/journey.js.map +1 -0
  254. package/dist/visual/provenance/laws.d.ts +38 -0
  255. package/dist/visual/provenance/laws.d.ts.map +1 -0
  256. package/dist/visual/provenance/laws.js +40 -0
  257. package/dist/visual/provenance/laws.js.map +1 -0
  258. package/dist/visual/provenance/page-metrics.d.ts +42 -0
  259. package/dist/visual/provenance/page-metrics.d.ts.map +1 -0
  260. package/dist/visual/provenance/page-metrics.js +79 -0
  261. package/dist/visual/provenance/page-metrics.js.map +1 -0
  262. package/dist/visual/provenance/perceptual.d.ts +63 -0
  263. package/dist/visual/provenance/perceptual.d.ts.map +1 -0
  264. package/dist/visual/provenance/perceptual.js +115 -0
  265. package/dist/visual/provenance/perceptual.js.map +1 -0
  266. package/dist/visual/provenance/persona-rates.d.ts +84 -0
  267. package/dist/visual/provenance/persona-rates.d.ts.map +1 -0
  268. package/dist/visual/provenance/persona-rates.js +112 -0
  269. package/dist/visual/provenance/persona-rates.js.map +1 -0
  270. package/dist/visual/provenance/personas.d.ts +122 -0
  271. package/dist/visual/provenance/personas.d.ts.map +1 -0
  272. package/dist/visual/provenance/personas.js +298 -0
  273. package/dist/visual/provenance/personas.js.map +1 -0
  274. package/dist/visual/provenance/profiles.d.ts +39 -0
  275. package/dist/visual/provenance/profiles.d.ts.map +1 -0
  276. package/dist/visual/provenance/profiles.js +37 -0
  277. package/dist/visual/provenance/profiles.js.map +1 -0
  278. package/dist/visual/provenance/temporal.d.ts +21 -0
  279. package/dist/visual/provenance/temporal.d.ts.map +1 -0
  280. package/dist/visual/provenance/temporal.js +56 -0
  281. package/dist/visual/provenance/temporal.js.map +1 -0
  282. package/dist/visual/provenance/visual-distance.d.ts +22 -0
  283. package/dist/visual/provenance/visual-distance.d.ts.map +1 -0
  284. package/dist/visual/provenance/visual-distance.js +30 -0
  285. package/dist/visual/provenance/visual-distance.js.map +1 -0
  286. package/dist/visual/regression.d.ts.map +1 -1
  287. package/dist/visual/regression.js +14 -9
  288. package/dist/visual/regression.js.map +1 -1
  289. package/dist/visual/responsive.d.ts.map +1 -1
  290. package/dist/visual/responsive.js +4 -1
  291. package/dist/visual/responsive.js.map +1 -1
  292. package/dist/visual/scope-prose.js +2 -2
  293. package/dist/visual/scope-prose.js.map +1 -1
  294. package/dist/visual/seeded-random.d.ts +16 -0
  295. package/dist/visual/seeded-random.d.ts.map +1 -0
  296. package/dist/visual/seeded-random.js +25 -0
  297. package/dist/visual/seeded-random.js.map +1 -0
  298. package/dist/visual/stored-accessibility-traits.d.ts +27 -0
  299. package/dist/visual/stored-accessibility-traits.d.ts.map +1 -0
  300. package/dist/visual/stored-accessibility-traits.js +35 -0
  301. package/dist/visual/stored-accessibility-traits.js.map +1 -0
  302. package/package.json +1 -1
@@ -0,0 +1,14 @@
1
+ /**
2
+ * The full trait set a journey starts from when a caller overrides some of a
3
+ * persona's traits: every trait at the registered default
4
+ * (journey.defaultTrait), changeBlindness at its own
5
+ * (journey.defaultTrait.changeBlindness). runCognitiveJourney and
6
+ * cognitive_journey_init both merge persona and caller traits over it; until
7
+ * 21.0 each carried its own copy of the table.
8
+ *
9
+ * @copyright 2026 Alexandria Eden alexandria.shai.eden@gmail.com https://cbrowser.ai
10
+ * @license MIT
11
+ */
12
+ import type { CognitiveTraits } from "../types.js";
13
+ export declare function defaultJourneyTraits(): CognitiveTraits;
14
+ //# sourceMappingURL=default-traits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-traits.d.ts","sourceRoot":"","sources":["../../src/cognitive/default-traits.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD,wBAAgB,oBAAoB,IAAI,eAAe,CAiCtD"}
@@ -0,0 +1,36 @@
1
+ import { param } from "../visual/model-provenance.js";
2
+ export function defaultJourneyTraits() {
3
+ const v = param("journey.defaultTrait");
4
+ return {
5
+ // Required traits (7)
6
+ patience: v,
7
+ riskTolerance: v,
8
+ comprehension: v,
9
+ persistence: v,
10
+ curiosity: v,
11
+ workingMemory: v,
12
+ readingTendency: v,
13
+ // Optional traits - Tier 1: Core
14
+ resilience: v,
15
+ selfEfficacy: v,
16
+ satisficing: v,
17
+ trustCalibration: v,
18
+ interruptRecovery: v,
19
+ // Optional traits - Tier 2+
20
+ informationForaging: v,
21
+ changeBlindness: param("journey.defaultTrait.changeBlindness"),
22
+ anchoringBias: v,
23
+ timeHorizon: v,
24
+ attributionStyle: v,
25
+ metacognitivePlanning: v,
26
+ proceduralFluency: v,
27
+ transferLearning: v,
28
+ authoritySensitivity: v,
29
+ emotionalContagion: v,
30
+ fearOfMissingOut: v,
31
+ socialProofSensitivity: v,
32
+ mentalModelFlexibility: v,
33
+ siteFamiliarity: v,
34
+ };
35
+ }
36
+ //# sourceMappingURL=default-traits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-traits.js","sourceRoot":"","sources":["../../src/cognitive/default-traits.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAEtD,MAAM,UAAU,oBAAoB;IAClC,MAAM,CAAC,GAAG,KAAK,CAAC,sBAAsB,CAAC,CAAC;IACxC,OAAO;QACL,sBAAsB;QACtB,QAAQ,EAAE,CAAC;QACX,aAAa,EAAE,CAAC;QAChB,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,CAAC;QACd,SAAS,EAAE,CAAC;QACZ,aAAa,EAAE,CAAC;QAChB,eAAe,EAAE,CAAC;QAClB,iCAAiC;QACjC,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,CAAC;QACf,WAAW,EAAE,CAAC;QACd,gBAAgB,EAAE,CAAC;QACnB,iBAAiB,EAAE,CAAC;QACpB,4BAA4B;QAC5B,mBAAmB,EAAE,CAAC;QACtB,eAAe,EAAE,KAAK,CAAC,sCAAsC,CAAC;QAC9D,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,CAAC;QACd,gBAAgB,EAAE,CAAC;QACnB,qBAAqB,EAAE,CAAC;QACxB,iBAAiB,EAAE,CAAC;QACpB,gBAAgB,EAAE,CAAC;QACnB,oBAAoB,EAAE,CAAC;QACvB,kBAAkB,EAAE,CAAC;QACrB,gBAAgB,EAAE,CAAC;QACnB,sBAAsB,EAAE,CAAC;QACzB,sBAAsB,EAAE,CAAC;QACzB,eAAe,EAAE,CAAC;KACnB,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"emotions.d.ts","sourceRoot":"","sources":["../../src/cognitive/emotions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,eAAe,EAEf,eAAe,EAChB,MAAM,aAAa,CAAC;AA2CrB;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAChC,cAAc,CA4BhB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAChC,eAAe,CAYjB;AAMD;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,eAAe,EACvB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,KAAK,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,cAAc,CAAA;CAAE,CAgClD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,eAAe,GACtB,cAAc,CA8BhB;AA4MD;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAoB1E;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAa1E;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAa5E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CA8CpE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,cAAc,GAAG;IAChE,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CA2BA;AAuBD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,cAAc,EACzB,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAChC;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,CA+BjF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,eAAe,EACvB,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAChC,cAAc,CAoEhB"}
1
+ {"version":3,"file":"emotions.d.ts","sourceRoot":"","sources":["../../src/cognitive/emotions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,eAAe,EAEf,eAAe,EAChB,MAAM,aAAa,CAAC;AA+BrB;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAChC,cAAc,CA2BhB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAChC,eAAe,CAYjB;AAMD;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,eAAe,EACvB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,KAAK,EAAE,cAAc,CAAC;IAAC,KAAK,EAAE,cAAc,CAAA;CAAE,CAgClD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,eAAe,GACtB,cAAc,CA8BhB;AAkID;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAoB1E;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAa1E;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAc5E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CA8CpE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,cAAc,GAAG;IAChE,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CA2BA;AAuBD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,cAAc,EACzB,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAChC;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,CA+BjF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,eAAe,EACvB,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAChC,cAAc,CAsEhB"}
@@ -3,37 +3,26 @@
3
3
  * Copyright 2026 Alexandria Eden alexandria.shai.eden@gmail.com
4
4
  * Learn more at https://cbrowser.ai - MIT License
5
5
  */
6
+ import { param } from "../visual/model-provenance.js";
6
7
  // ============================================================================
7
8
  // Constants
8
9
  // ============================================================================
9
- /** Default decay rate per step (emotions decay toward baseline) */
10
- const DEFAULT_DECAY_RATE = 0.15;
11
- /** Default sensitivity to emotional events */
10
+ //
11
+ // Every number this engine computes with is registered, with where it comes
12
+ // from, in src/visual/provenance/emotion.ts and read here through param().
13
+ // None is fitted or published: each entry says what data would set it.
14
+ /** Default sensitivity to emotional events (the trigger table is written at sensitivity 1) */
12
15
  const DEFAULT_SENSITIVITY = 1.0;
13
- /** Minimum change to register as an event */
14
- const DEFAULT_CHANGE_THRESHOLD = 0.05;
15
- /** Emotion valence values (-1 to +1) */
16
- const EMOTION_VALENCE = {
17
- anxiety: -0.7,
18
- frustration: -0.8,
19
- boredom: -0.4,
20
- confusion: -0.5,
21
- satisfaction: 0.7,
22
- excitement: 0.8,
23
- relief: 0.5,
24
- neutral: 0,
25
- };
26
- /** Emotion arousal values (0 to 1) */
27
- const EMOTION_AROUSAL = {
28
- anxiety: 0.8,
29
- frustration: 0.7,
30
- boredom: 0.2,
31
- confusion: 0.5,
32
- satisfaction: 0.5,
33
- excitement: 0.9,
34
- relief: 0.3,
35
- neutral: 0.3,
36
- };
16
+ /** A trait a persona does not set (src/visual/provenance/journey.ts). */
17
+ const traitDefault = () => param("journey.defaultTrait");
18
+ /** Emotion valence (-1 to +1); neutral is 0 by definition. */
19
+ function emotionValence(emotion) {
20
+ return emotion === "neutral" ? 0 : param(`emotion.valence.${emotion}`);
21
+ }
22
+ /** Emotion arousal (0 to 1). */
23
+ function emotionArousal(emotion) {
24
+ return param(`emotion.arousal.${emotion}`);
25
+ }
37
26
  // ============================================================================
38
27
  // Factory Functions
39
28
  // ============================================================================
@@ -45,25 +34,24 @@ const EMOTION_AROUSAL = {
45
34
  * - Low resilience → higher sensitivity to frustration
46
35
  */
47
36
  export function createInitialEmotionalState(traits) {
48
- const patience = traits?.patience ?? 0.5;
49
- const curiosity = traits?.curiosity ?? 0.5;
50
- const resilience = traits?.resilience ?? 0.5;
51
- const selfEfficacy = traits?.selfEfficacy ?? 0.5;
37
+ const patience = traits?.patience ?? traitDefault();
38
+ const curiosity = traits?.curiosity ?? traitDefault();
39
+ const selfEfficacy = traits?.selfEfficacy ?? traitDefault();
52
40
  // Baseline emotions influenced by traits
53
- const baseAnxiety = Math.max(0, 0.1 + (1 - patience) * 0.2 + (1 - selfEfficacy) * 0.15);
54
- const baseExcitement = Math.max(0, curiosity * 0.2);
55
- const baseBoredom = Math.max(0, (1 - curiosity) * 0.1);
41
+ const baseAnxiety = Math.max(0, param("emotion.baseline.anxiety") + (1 - patience) * param("emotion.baseline.anxietyPerImpatience") + (1 - selfEfficacy) * param("emotion.baseline.anxietyPerLowEfficacy"));
42
+ const baseExcitement = Math.max(0, curiosity * param("emotion.baseline.excitementPerCuriosity"));
43
+ const baseBoredom = Math.max(0, (1 - curiosity) * param("emotion.baseline.boredomPerIncuriosity"));
56
44
  const state = {
57
45
  anxiety: Math.min(1, baseAnxiety),
58
46
  frustration: 0,
59
47
  boredom: Math.min(1, baseBoredom),
60
48
  confusion: 0,
61
- satisfaction: 0.1, // Slight initial optimism
49
+ satisfaction: param("emotion.baseline.satisfaction"), // Slight initial optimism
62
50
  excitement: Math.min(1, baseExcitement),
63
51
  relief: 0,
64
52
  dominant: "neutral",
65
53
  valence: 0,
66
- arousal: 0.3,
54
+ arousal: param("emotion.arousal.neutral"),
67
55
  };
68
56
  // Calculate derived values
69
57
  updateDerivedValues(state);
@@ -73,15 +61,15 @@ export function createInitialEmotionalState(traits) {
73
61
  * Create emotional configuration based on persona traits.
74
62
  */
75
63
  export function createEmotionalConfig(traits) {
76
- const resilience = traits?.resilience ?? 0.5;
77
- const patience = traits?.patience ?? 0.5;
64
+ const resilience = traits?.resilience ?? traitDefault();
65
+ const patience = traits?.patience ?? traitDefault();
78
66
  return {
79
67
  baseline: createInitialEmotionalState(traits),
80
68
  // High resilience = faster emotional recovery
81
- decayRate: DEFAULT_DECAY_RATE * (0.5 + resilience * 0.5),
69
+ decayRate: param("emotion.decayRate") * (param("emotion.config.decayBase") + resilience * param("emotion.config.decayPerResilience")),
82
70
  // Low patience = higher emotional sensitivity
83
- sensitivity: DEFAULT_SENSITIVITY * (1.5 - patience * 0.5),
84
- changeThreshold: DEFAULT_CHANGE_THRESHOLD,
71
+ sensitivity: DEFAULT_SENSITIVITY * (param("emotion.config.sensitivityBase") - patience * param("emotion.config.sensitivityPerPatience")),
72
+ changeThreshold: param("emotion.changeThreshold"),
85
73
  };
86
74
  }
87
75
  // ============================================================================
@@ -148,98 +136,35 @@ export function decayEmotions(state, config) {
148
136
  // ============================================================================
149
137
  // Trigger Effect Calculations
150
138
  // ============================================================================
139
+ /**
140
+ * The emotions each trigger moves, in the order they are applied. The size of
141
+ * each move is the registered effect `emotion.effect.<trigger>.<emotion>`,
142
+ * per unit of sensitivity.
143
+ */
144
+ const TRIGGER_EMOTIONS = {
145
+ success: ["satisfaction", "excitement", "frustration", "anxiety", "confusion"],
146
+ failure: ["frustration", "anxiety", "satisfaction", "excitement"],
147
+ error: ["anxiety", "frustration", "confusion", "satisfaction"],
148
+ progress: ["satisfaction", "excitement", "boredom", "frustration"],
149
+ setback: ["frustration", "anxiety", "satisfaction", "excitement"],
150
+ waiting: ["boredom", "frustration", "excitement"],
151
+ discovery: ["excitement", "satisfaction", "boredom"],
152
+ completion: ["satisfaction", "relief", "excitement", "frustration", "anxiety"],
153
+ confusion_onset: ["confusion", "anxiety", "frustration", "satisfaction"],
154
+ clarity: ["confusion", "relief", "satisfaction", "anxiety"],
155
+ time_pressure: ["anxiety", "frustration", "boredom"],
156
+ recovery: ["relief", "satisfaction", "frustration", "anxiety"],
157
+ };
151
158
  /**
152
159
  * Calculate emotion changes for a given trigger.
153
160
  */
154
161
  function calculateTriggerEffects(trigger, sensitivity) {
155
162
  const s = sensitivity;
156
- switch (trigger) {
157
- case "success":
158
- return {
159
- satisfaction: 0.2 * s,
160
- excitement: 0.1 * s,
161
- frustration: -0.15 * s,
162
- anxiety: -0.1 * s,
163
- confusion: -0.1 * s,
164
- };
165
- case "failure":
166
- return {
167
- frustration: 0.25 * s,
168
- anxiety: 0.15 * s,
169
- satisfaction: -0.1 * s,
170
- excitement: -0.05 * s,
171
- };
172
- case "error":
173
- return {
174
- anxiety: 0.3 * s,
175
- frustration: 0.2 * s,
176
- confusion: 0.15 * s,
177
- satisfaction: -0.15 * s,
178
- };
179
- case "progress":
180
- return {
181
- satisfaction: 0.15 * s,
182
- excitement: 0.1 * s,
183
- boredom: -0.1 * s,
184
- frustration: -0.05 * s,
185
- };
186
- case "setback":
187
- return {
188
- frustration: 0.2 * s,
189
- anxiety: 0.1 * s,
190
- satisfaction: -0.15 * s,
191
- excitement: -0.1 * s,
192
- };
193
- case "waiting":
194
- return {
195
- boredom: 0.15 * s,
196
- frustration: 0.05 * s,
197
- excitement: -0.05 * s,
198
- };
199
- case "discovery":
200
- return {
201
- excitement: 0.25 * s,
202
- satisfaction: 0.1 * s,
203
- boredom: -0.2 * s,
204
- };
205
- case "completion":
206
- return {
207
- satisfaction: 0.3 * s,
208
- relief: 0.2 * s,
209
- excitement: 0.05 * s,
210
- frustration: -0.2 * s,
211
- anxiety: -0.15 * s,
212
- };
213
- case "confusion_onset":
214
- return {
215
- confusion: 0.25 * s,
216
- anxiety: 0.1 * s,
217
- frustration: 0.1 * s,
218
- satisfaction: -0.1 * s,
219
- };
220
- case "clarity":
221
- return {
222
- confusion: -0.2 * s,
223
- relief: 0.15 * s,
224
- satisfaction: 0.1 * s,
225
- anxiety: -0.1 * s,
226
- };
227
- case "time_pressure":
228
- return {
229
- anxiety: 0.25 * s,
230
- frustration: 0.1 * s,
231
- boredom: -0.1 * s,
232
- };
233
- case "recovery":
234
- return {
235
- relief: 0.25 * s,
236
- satisfaction: 0.1 * s,
237
- frustration: -0.15 * s,
238
- anxiety: -0.2 * s,
239
- };
240
- default:
241
- return {};
163
+ const changes = {};
164
+ for (const emotion of TRIGGER_EMOTIONS[trigger] ?? []) {
165
+ changes[emotion] = param(`emotion.effect.${trigger}.${emotion}`) * s;
242
166
  }
167
+ return changes;
243
168
  }
244
169
  /**
245
170
  * Get default description for a trigger.
@@ -285,7 +210,7 @@ function updateDerivedValues(state) {
285
210
  }
286
211
  }
287
212
  // If no emotion is significant, default to neutral
288
- if (maxIntensity < 0.15) {
213
+ if (maxIntensity < param("emotion.dominantFloor")) {
289
214
  dominant = "neutral";
290
215
  }
291
216
  state.dominant = dominant;
@@ -293,12 +218,13 @@ function updateDerivedValues(state) {
293
218
  let totalWeight = 0;
294
219
  let weightedValence = 0;
295
220
  let weightedArousal = 0;
221
+ const blendFloor = param("emotion.blendFloor");
296
222
  for (const emotion of emotions) {
297
223
  const intensity = state[emotion];
298
- if (intensity > 0.05) {
224
+ if (intensity > blendFloor) {
299
225
  totalWeight += intensity;
300
- weightedValence += intensity * EMOTION_VALENCE[emotion];
301
- weightedArousal += intensity * EMOTION_AROUSAL[emotion];
226
+ weightedValence += intensity * emotionValence(emotion);
227
+ weightedArousal += intensity * emotionArousal(emotion);
302
228
  }
303
229
  }
304
230
  if (totalWeight > 0) {
@@ -307,7 +233,7 @@ function updateDerivedValues(state) {
307
233
  }
308
234
  else {
309
235
  state.valence = 0;
310
- state.arousal = 0.3;
236
+ state.arousal = param("emotion.arousal.neutral");
311
237
  }
312
238
  }
313
239
  // ============================================================================
@@ -322,19 +248,19 @@ function updateDerivedValues(state) {
322
248
  */
323
249
  export function calculateAbandonmentModifier(state) {
324
250
  // Negative emotions increase abandonment risk
325
- const negativeLoad = state.anxiety * 0.3 +
326
- state.frustration * 0.35 +
327
- state.boredom * 0.25 +
328
- state.confusion * 0.2;
251
+ const negativeLoad = state.anxiety * param("emotion.abandonModifier.anxiety") +
252
+ state.frustration * param("emotion.abandonModifier.frustration") +
253
+ state.boredom * param("emotion.abandonModifier.boredom") +
254
+ state.confusion * param("emotion.abandonModifier.confusion");
329
255
  // Positive emotions decrease abandonment risk
330
- const positiveLoad = state.satisfaction * 0.3 +
331
- state.excitement * 0.25 +
332
- state.relief * 0.15;
256
+ const positiveLoad = state.satisfaction * param("emotion.abandonModifier.satisfaction") +
257
+ state.excitement * param("emotion.abandonModifier.excitement") +
258
+ state.relief * param("emotion.abandonModifier.relief");
333
259
  // Base modifier is 1.0 (no change)
334
260
  // Negative emotions increase it, positive emotions decrease it
335
- const modifier = 1.0 + negativeLoad - positiveLoad * 0.7;
261
+ const modifier = 1.0 + negativeLoad - positiveLoad * param("emotion.abandonModifier.positiveShare");
336
262
  // Clamp to reasonable range
337
- return Math.max(0.5, Math.min(2.0, modifier));
263
+ return Math.max(param("emotion.abandonModifier.min"), Math.min(param("emotion.abandonModifier.max"), modifier));
338
264
  }
339
265
  /**
340
266
  * Calculate exploration tendency based on emotional state.
@@ -345,12 +271,12 @@ export function calculateAbandonmentModifier(state) {
345
271
  */
346
272
  export function calculateExplorationTendency(state) {
347
273
  // Excitement and satisfaction encourage exploration
348
- const positive = state.excitement * 0.4 + state.satisfaction * 0.3 + state.relief * 0.1;
274
+ const positive = state.excitement * param("emotion.exploration.excitement") + state.satisfaction * param("emotion.exploration.satisfaction") + state.relief * param("emotion.exploration.relief");
349
275
  // Anxiety and frustration discourage exploration
350
- const negative = state.anxiety * 0.4 + state.frustration * 0.3 + state.confusion * 0.2;
276
+ const negative = state.anxiety * param("emotion.exploration.anxiety") + state.frustration * param("emotion.exploration.frustration") + state.confusion * param("emotion.exploration.confusion");
351
277
  // Boredom can go either way - might explore out of boredom or give up
352
- const boredomEffect = state.boredom > 0.5 ? state.boredom * 0.2 : 0;
353
- const tendency = 0.5 + positive - negative + boredomEffect;
278
+ const boredomEffect = state.boredom > param("emotion.exploration.boredomOnset") ? state.boredom * param("emotion.exploration.boredom") : 0;
279
+ const tendency = param("emotion.exploration.base") + positive - negative + boredomEffect;
354
280
  return Math.max(0, Math.min(1, tendency));
355
281
  }
356
282
  /**
@@ -362,13 +288,15 @@ export function calculateExplorationTendency(state) {
362
288
  */
363
289
  export function calculateDecisionSpeedModifier(state) {
364
290
  // Anxiety and confusion slow decisions
365
- const slowingFactors = state.anxiety * 0.3 + state.confusion * 0.4;
291
+ const slowingFactors = state.anxiety * param("emotion.decisionSpeed.anxiety") + state.confusion * param("emotion.decisionSpeed.confusion");
366
292
  // High frustration can lead to impulsive fast decisions
367
- const impulsiveFactor = state.frustration > 0.6 ? (state.frustration - 0.6) * 0.5 : 0;
293
+ const impulsiveOnset = param("emotion.decisionSpeed.impulsiveOnset");
294
+ const impulsiveFactor = state.frustration > impulsiveOnset ? (state.frustration - impulsiveOnset) * param("emotion.decisionSpeed.impulsiveGain") : 0;
368
295
  // Excitement slightly speeds up decisions
369
- const speedingFactor = state.excitement * 0.2 + impulsiveFactor;
370
- const modifier = 1.0 + slowingFactors - speedingFactor;
371
- return Math.max(0.5, Math.min(2.0, modifier));
296
+ const speedingFactor = state.excitement * param("emotion.decisionSpeed.excitement") + impulsiveFactor;
297
+ // No clamp: with every intensity in 0-1 this lies in [0.6, 1.7] (the
298
+ // [0.5, 2] clamp it had until 21.0 could never bind).
299
+ return 1.0 + slowingFactors - speedingFactor;
372
300
  }
373
301
  /**
374
302
  * Get a human-readable description of the current emotional state.
@@ -376,10 +304,10 @@ export function calculateDecisionSpeedModifier(state) {
376
304
  export function describeEmotionalState(state) {
377
305
  const dominant = state.dominant;
378
306
  const intensity = state[dominant];
379
- if (dominant === "neutral" || intensity < 0.15) {
307
+ if (dominant === "neutral" || intensity < param("emotion.dominantFloor")) {
380
308
  return "Feeling neutral and calm";
381
309
  }
382
- const intensityWord = intensity > 0.7 ? "very" : intensity > 0.4 ? "somewhat" : "slightly";
310
+ const intensityWord = intensity > param("emotion.describe.very") ? "very" : intensity > param("emotion.describe.somewhat") ? "somewhat" : "slightly";
383
311
  const emotionDescriptions = {
384
312
  anxiety: "anxious about completing this task",
385
313
  frustration: "frustrated with the experience",
@@ -404,7 +332,7 @@ export function describeEmotionalState(state) {
404
332
  for (const emotion of emotions) {
405
333
  if (emotion !== dominant) {
406
334
  const secondaryIntensity = state[emotion];
407
- if (secondaryIntensity > 0.3) {
335
+ if (secondaryIntensity > param("emotion.describe.secondary")) {
408
336
  description += `, with some ${emotion}`;
409
337
  break;
410
338
  }
@@ -417,23 +345,23 @@ export function describeEmotionalState(state) {
417
345
  */
418
346
  export function shouldConsiderAbandonment(state) {
419
347
  // High frustration is a strong abandonment signal
420
- if (state.frustration > 0.8) {
348
+ if (state.frustration > param("emotion.considerAbandon.frustration")) {
421
349
  return { shouldConsider: true, reason: "Extreme frustration" };
422
350
  }
423
351
  // High anxiety + low satisfaction
424
- if (state.anxiety > 0.7 && state.satisfaction < 0.2) {
352
+ if (state.anxiety > param("emotion.considerAbandon.anxiety") && state.satisfaction < param("emotion.considerAbandon.satisfaction")) {
425
353
  return { shouldConsider: true, reason: "High anxiety with no satisfaction" };
426
354
  }
427
355
  // Boredom + frustration combo
428
- if (state.boredom > 0.6 && state.frustration > 0.5) {
356
+ if (state.boredom > param("emotion.considerAbandon.boredom") && state.frustration > param("emotion.considerAbandon.boredFrustration")) {
429
357
  return { shouldConsider: true, reason: "Bored and frustrated" };
430
358
  }
431
359
  // Confusion without relief
432
- if (state.confusion > 0.7 && state.relief < 0.2) {
360
+ if (state.confusion > param("emotion.considerAbandon.confusion") && state.relief < param("emotion.considerAbandon.relief")) {
433
361
  return { shouldConsider: true, reason: "Persistently confused" };
434
362
  }
435
363
  // Very negative valence
436
- if (state.valence < -0.6 && state.arousal > 0.6) {
364
+ if (state.valence < param("emotion.considerAbandon.valence") && state.arousal > param("emotion.considerAbandon.arousal")) {
437
365
  return { shouldConsider: true, reason: "Strong negative emotional state" };
438
366
  }
439
367
  return { shouldConsider: false };
@@ -475,17 +403,17 @@ export function deriveSimplifiedState(emotional, traits) {
475
403
  // Negative-emotion drain: take the dominant negative emotion (frustration
476
404
  // weighs full, boredom weighs less because it's lower-arousal, anxiety lies
477
405
  // between).
478
- const negativeFactor = Math.max(emotional.frustration, emotional.boredom * 0.6, emotional.anxiety * 0.5);
406
+ const negativeFactor = Math.max(emotional.frustration, emotional.boredom * param("emotion.patience.boredomWeight"), emotional.anxiety * param("emotion.patience.anxietyWeight"));
479
407
  // Persona patience trait scales the burn rate.
480
408
  // patience=1.0 → drainMultiplier ≈ 0.77 (slow burn)
481
409
  // patience=0.5 → drainMultiplier ≈ 1.54 (1x baseline)
482
410
  // patience=0.2 → drainMultiplier ≈ 3.85 (impatient burns through fast)
483
411
  // Floor at 0.2 prevents division-by-zero for malformed traits.
484
- const patienceTrait = Math.max(0.2, traits?.patience ?? 0.5);
485
- const drainMultiplier = 1 / (patienceTrait * 1.3);
412
+ const patienceTrait = Math.max(param("emotion.patience.traitFloor"), traits?.patience ?? traitDefault());
413
+ const drainMultiplier = 1 / (patienceTrait * param("emotion.patience.drainScale"));
486
414
  // Positive emotions buffer the drain — a satisfied / excited persona is
487
415
  // more willing to keep trying through friction.
488
- const positiveBuffer = (emotional.satisfaction + emotional.excitement * 0.7) * 0.3;
416
+ const positiveBuffer = (emotional.satisfaction + emotional.excitement * param("emotion.patience.excitementWeight")) * param("emotion.patience.bufferGain");
489
417
  const patienceRemaining = Math.max(0, Math.min(1, 1 - negativeFactor * drainMultiplier + positiveBuffer));
490
418
  return { patienceRemaining, confusionLevel, frustrationLevel };
491
419
  }
@@ -507,17 +435,19 @@ export function decayEmotionsWithTraits(state, config, traits) {
507
435
  const newState = { ...state };
508
436
  const baseDecay = config.decayRate;
509
437
  // Trait values default to 0.5 (moderate) when absent
510
- const comprehension = traits?.comprehension ?? 0.5;
511
- const resilience = traits?.resilience ?? 0.5;
512
- const curiosity = traits?.curiosity ?? 0.5;
438
+ const comprehension = traits?.comprehension ?? traitDefault();
439
+ const resilience = traits?.resilience ?? traitDefault();
440
+ const curiosity = traits?.curiosity ?? traitDefault();
513
441
  // Decay rate multipliers — 0.5x at trait=0, 2.0x at trait=1
442
+ const traitBase = param("emotion.decay.traitBase");
443
+ const traitGain = param("emotion.decay.traitGain");
514
444
  const decayMultipliers = {
515
- confusion: 0.5 + comprehension * 1.5,
516
- frustration: 0.5 + resilience * 1.5,
517
- boredom: 0.5 + curiosity * 1.5,
445
+ confusion: traitBase + comprehension * traitGain,
446
+ frustration: traitBase + resilience * traitGain,
447
+ boredom: traitBase + curiosity * traitGain,
518
448
  anxiety: 1.0,
519
- satisfaction: 0.5,
520
- excitement: 0.7,
449
+ satisfaction: param("emotion.decay.satisfaction"),
450
+ excitement: param("emotion.decay.excitement"),
521
451
  relief: 1.0,
522
452
  neutral: 0,
523
453
  };
@@ -545,7 +475,7 @@ export function decayEmotionsWithTraits(state, config, traits) {
545
475
  value: newState[e],
546
476
  }));
547
477
  intensities.sort((a, b) => b.value - a.value);
548
- newState.dominant = intensities[0].value > 0.1 ? intensities[0].type : "neutral";
478
+ newState.dominant = intensities[0].value > param("emotion.decay.dominantFloor") ? intensities[0].type : "neutral";
549
479
  // Weighted valence/arousal from the same constants the trigger system uses.
550
480
  let totalIntensity = 0;
551
481
  let weightedValence = 0;
@@ -554,8 +484,8 @@ export function decayEmotionsWithTraits(state, config, traits) {
554
484
  if (value <= 0)
555
485
  continue;
556
486
  totalIntensity += value;
557
- weightedValence += value * EMOTION_VALENCE[type];
558
- weightedArousal += value * EMOTION_AROUSAL[type];
487
+ weightedValence += value * emotionValence(type);
488
+ weightedArousal += value * emotionArousal(type);
559
489
  }
560
490
  if (totalIntensity > 0) {
561
491
  newState.valence = weightedValence / totalIntensity;
@@ -563,7 +493,7 @@ export function decayEmotionsWithTraits(state, config, traits) {
563
493
  }
564
494
  else {
565
495
  newState.valence = 0;
566
- newState.arousal = 0.3;
496
+ newState.arousal = param("emotion.arousal.neutral");
567
497
  }
568
498
  return newState;
569
499
  }
@@ -1 +1 @@
1
- {"version":3,"file":"emotions.js","sourceRoot":"","sources":["../../src/cognitive/emotions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emotions.js","sourceRoot":"","sources":["../../src/cognitive/emotions.ts"],"names":[],"mappings":"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"}