cbrowser 20.2.2 → 21.0.1
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/README.md +2 -2
- package/dist/analysis/accessibility-empathy.d.ts +29 -1
- package/dist/analysis/accessibility-empathy.d.ts.map +1 -1
- package/dist/analysis/accessibility-empathy.js +69 -35
- package/dist/analysis/accessibility-empathy.js.map +1 -1
- package/dist/browser.d.ts.map +1 -1
- package/dist/browser.js +11 -7
- package/dist/browser.js.map +1 -1
- package/dist/cif-score.d.ts +56 -5
- package/dist/cif-score.d.ts.map +1 -1
- package/dist/cif-score.js +595 -346
- package/dist/cif-score.js.map +1 -1
- package/dist/cli.js +10 -8
- package/dist/cli.js.map +1 -1
- package/dist/cognitive/default-traits.d.ts +14 -0
- package/dist/cognitive/default-traits.d.ts.map +1 -0
- package/dist/cognitive/default-traits.js +36 -0
- package/dist/cognitive/default-traits.js.map +1 -0
- package/dist/cognitive/emotions.d.ts.map +1 -1
- package/dist/cognitive/emotions.js +104 -174
- package/dist/cognitive/emotions.js.map +1 -1
- package/dist/cognitive/index.d.ts +28 -0
- package/dist/cognitive/index.d.ts.map +1 -1
- package/dist/cognitive/index.js +353 -287
- package/dist/cognitive/index.js.map +1 -1
- package/dist/cognitive/temporal.d.ts +0 -24
- package/dist/cognitive/temporal.d.ts.map +1 -1
- package/dist/cognitive/temporal.js +45 -35
- package/dist/cognitive/temporal.js.map +1 -1
- package/dist/data/ctc-reference-v2-2026-10-24.d.ts +16 -0
- package/dist/data/ctc-reference-v2-2026-10-24.d.ts.map +1 -0
- package/dist/data/ctc-reference-v2-2026-10-24.js +1004 -0
- package/dist/data/ctc-reference-v2-2026-10-24.js.map +1 -0
- package/dist/ideal-profiles-gap.d.ts +1 -0
- package/dist/ideal-profiles-gap.d.ts.map +1 -1
- package/dist/ideal-profiles-gap.js +9 -1
- package/dist/ideal-profiles-gap.js.map +1 -1
- package/dist/ideal-profiles.d.ts +8 -0
- package/dist/ideal-profiles.d.ts.map +1 -1
- package/dist/ideal-profiles.js +28 -24
- package/dist/ideal-profiles.js.map +1 -1
- package/dist/mcp-server-remote.d.ts.map +1 -1
- package/dist/mcp-server-remote.js +7 -8
- package/dist/mcp-server-remote.js.map +1 -1
- package/dist/mcp-tools/account-personas.d.ts.map +1 -1
- package/dist/mcp-tools/account-personas.js +3 -1
- package/dist/mcp-tools/account-personas.js.map +1 -1
- package/dist/mcp-tools/base/answer-provenance.d.ts +28 -0
- package/dist/mcp-tools/base/answer-provenance.d.ts.map +1 -0
- package/dist/mcp-tools/base/answer-provenance.js +32 -0
- package/dist/mcp-tools/base/answer-provenance.js.map +1 -0
- package/dist/mcp-tools/base/audit-tools.d.ts +0 -3
- package/dist/mcp-tools/base/audit-tools.d.ts.map +1 -1
- package/dist/mcp-tools/base/audit-tools.js +152 -84
- package/dist/mcp-tools/base/audit-tools.js.map +1 -1
- package/dist/mcp-tools/base/capture-tools.js +1 -1
- package/dist/mcp-tools/base/capture-tools.js.map +1 -1
- package/dist/mcp-tools/base/chain-values.d.ts +38 -0
- package/dist/mcp-tools/base/chain-values.d.ts.map +1 -0
- package/dist/mcp-tools/base/chain-values.js +85 -0
- package/dist/mcp-tools/base/chain-values.js.map +1 -0
- package/dist/mcp-tools/base/cognitive-tools.d.ts.map +1 -1
- package/dist/mcp-tools/base/cognitive-tools.js +126 -120
- package/dist/mcp-tools/base/cognitive-tools.js.map +1 -1
- package/dist/mcp-tools/base/gif-tools.d.ts.map +1 -1
- package/dist/mcp-tools/base/gif-tools.js +23 -5
- package/dist/mcp-tools/base/gif-tools.js.map +1 -1
- package/dist/mcp-tools/base/persona-comparison-tools.d.ts.map +1 -1
- package/dist/mcp-tools/base/persona-comparison-tools.js +229 -172
- package/dist/mcp-tools/base/persona-comparison-tools.js.map +1 -1
- package/dist/mcp-tools/base/site-familiarity.d.ts +31 -0
- package/dist/mcp-tools/base/site-familiarity.d.ts.map +1 -0
- package/dist/mcp-tools/base/site-familiarity.js +30 -0
- package/dist/mcp-tools/base/site-familiarity.js.map +1 -0
- package/dist/mcp-tools/base/site-knowledge-tools.js +1 -1
- package/dist/mcp-tools/base/site-knowledge-tools.js.map +1 -1
- package/dist/mcp-tools/base/story-narrative.d.ts +50 -0
- package/dist/mcp-tools/base/story-narrative.d.ts.map +1 -0
- package/dist/mcp-tools/base/story-narrative.js +88 -0
- package/dist/mcp-tools/base/story-narrative.js.map +1 -0
- package/dist/mcp-tools/base/values-tools.d.ts.map +1 -1
- package/dist/mcp-tools/base/values-tools.js +19 -5
- package/dist/mcp-tools/base/values-tools.js.map +1 -1
- package/dist/mcp-tools/base/visual-testing-tools.d.ts +5 -5
- package/dist/mcp-tools/base/visual-testing-tools.d.ts.map +1 -1
- package/dist/mcp-tools/base/visual-testing-tools.js +38 -11
- package/dist/mcp-tools/base/visual-testing-tools.js.map +1 -1
- package/dist/mcp-tools/persona-creation-tools.js +6 -6
- package/dist/mcp-tools/persona-creation-tools.js.map +1 -1
- package/dist/mcp-tools/persona-lifecycle-tools.d.ts.map +1 -1
- package/dist/mcp-tools/persona-lifecycle-tools.js +5 -1
- package/dist/mcp-tools/persona-lifecycle-tools.js.map +1 -1
- package/dist/mcp-tools/tier-gate.js +1 -1
- package/dist/mcp-tools/tool-result-saver.d.ts +7 -0
- package/dist/mcp-tools/tool-result-saver.d.ts.map +1 -1
- package/dist/mcp-tools/tool-result-saver.js +11 -0
- package/dist/mcp-tools/tool-result-saver.js.map +1 -1
- package/dist/mcp-tools/trait-provenance.d.ts +109 -0
- package/dist/mcp-tools/trait-provenance.d.ts.map +1 -0
- package/dist/mcp-tools/trait-provenance.js +187 -0
- package/dist/mcp-tools/trait-provenance.js.map +1 -0
- package/dist/mcp-tools/ui-resources.d.ts +6 -7
- package/dist/mcp-tools/ui-resources.d.ts.map +1 -1
- package/dist/mcp-tools/ui-resources.js +162 -12
- package/dist/mcp-tools/ui-resources.js.map +1 -1
- package/dist/mcp-tools/widget-kit.d.ts +129 -3
- package/dist/mcp-tools/widget-kit.d.ts.map +1 -1
- package/dist/mcp-tools/widget-kit.js +507 -28
- package/dist/mcp-tools/widget-kit.js.map +1 -1
- package/dist/performance/metrics.d.ts.map +1 -1
- package/dist/performance/metrics.js +4 -1
- package/dist/performance/metrics.js.map +1 -1
- package/dist/persona-age.d.ts +59 -0
- package/dist/persona-age.d.ts.map +1 -0
- package/dist/persona-age.js +84 -0
- package/dist/persona-age.js.map +1 -0
- package/dist/persona-questionnaire.js +1 -1
- package/dist/persona-questionnaire.js.map +1 -1
- package/dist/personas.d.ts +3 -1
- package/dist/personas.d.ts.map +1 -1
- package/dist/personas.js +154 -119
- package/dist/personas.js.map +1 -1
- package/dist/recording/engine.d.ts.map +1 -1
- package/dist/recording/engine.js +5 -2
- package/dist/recording/engine.js.map +1 -1
- package/dist/recording/saliency-overlay.d.ts +8 -3
- package/dist/recording/saliency-overlay.d.ts.map +1 -1
- package/dist/recording/saliency-overlay.js +14 -5
- package/dist/recording/saliency-overlay.js.map +1 -1
- package/dist/recording/types.js +1 -1
- package/dist/testing/nl-test-suite.d.ts.map +1 -1
- package/dist/testing/nl-test-suite.js +2 -1
- package/dist/testing/nl-test-suite.js.map +1 -1
- package/dist/trait-reference.d.ts +19 -2
- package/dist/trait-reference.d.ts.map +1 -1
- package/dist/trait-reference.js +19 -2
- package/dist/trait-reference.js.map +1 -1
- package/dist/types.d.ts +32 -21
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +62 -52
- package/dist/types.js.map +1 -1
- package/dist/values/persona-completeness.js +1 -1
- package/dist/values/persona-completeness.js.map +1 -1
- package/dist/visual/ab-comparison.d.ts.map +1 -1
- package/dist/visual/ab-comparison.js +4 -1
- package/dist/visual/ab-comparison.js.map +1 -1
- package/dist/visual/attention-quality.d.ts +1 -1
- package/dist/visual/attention-quality.js +1 -1
- package/dist/visual/attention-transport.d.ts +74 -10
- package/dist/visual/attention-transport.d.ts.map +1 -1
- package/dist/visual/attention-transport.js +353 -193
- package/dist/visual/attention-transport.js.map +1 -1
- package/dist/visual/cognitive-models.d.ts +77 -55
- package/dist/visual/cognitive-models.d.ts.map +1 -1
- package/dist/visual/cognitive-models.js +231 -104
- package/dist/visual/cognitive-models.js.map +1 -1
- package/dist/visual/cognitive-transport-chain.d.ts +328 -30
- package/dist/visual/cognitive-transport-chain.d.ts.map +1 -1
- package/dist/visual/cognitive-transport-chain.js +576 -353
- package/dist/visual/cognitive-transport-chain.js.map +1 -1
- package/dist/visual/cognitive-transport.d.ts +446 -13
- package/dist/visual/cognitive-transport.d.ts.map +1 -1
- package/dist/visual/cognitive-transport.js +1085 -245
- package/dist/visual/cognitive-transport.js.map +1 -1
- package/dist/visual/cross-browser.d.ts.map +1 -1
- package/dist/visual/cross-browser.js +8 -6
- package/dist/visual/cross-browser.js.map +1 -1
- package/dist/visual/ctc-bands.d.ts +91 -0
- package/dist/visual/ctc-bands.d.ts.map +1 -0
- package/dist/visual/ctc-bands.js +117 -0
- package/dist/visual/ctc-bands.js.map +1 -0
- package/dist/visual/ctc-reference.d.ts +287 -0
- package/dist/visual/ctc-reference.d.ts.map +1 -0
- package/dist/visual/ctc-reference.js +376 -0
- package/dist/visual/ctc-reference.js.map +1 -0
- package/dist/visual/demand-laws.d.ts +145 -0
- package/dist/visual/demand-laws.d.ts.map +1 -0
- package/dist/visual/demand-laws.js +220 -0
- package/dist/visual/demand-laws.js.map +1 -0
- package/dist/visual/distance-metrics.d.ts +23 -1
- package/dist/visual/distance-metrics.d.ts.map +1 -1
- package/dist/visual/distance-metrics.js +49 -18
- package/dist/visual/distance-metrics.js.map +1 -1
- package/dist/visual/dro-bound.d.ts +220 -0
- package/dist/visual/dro-bound.d.ts.map +1 -0
- package/dist/visual/dro-bound.js +341 -0
- package/dist/visual/dro-bound.js.map +1 -0
- package/dist/visual/exact-w1.d.ts +60 -0
- package/dist/visual/exact-w1.d.ts.map +1 -0
- package/dist/visual/exact-w1.js +247 -0
- package/dist/visual/exact-w1.js.map +1 -0
- package/dist/visual/human-input.d.ts.map +1 -1
- package/dist/visual/human-input.js +45 -41
- package/dist/visual/human-input.js.map +1 -1
- package/dist/visual/index.d.ts +2 -0
- package/dist/visual/index.d.ts.map +1 -1
- package/dist/visual/index.js +2 -0
- package/dist/visual/index.js.map +1 -1
- package/dist/visual/law-times-report.d.ts +49 -0
- package/dist/visual/law-times-report.d.ts.map +1 -0
- package/dist/visual/law-times-report.js +38 -0
- package/dist/visual/law-times-report.js.map +1 -0
- package/dist/visual/model-provenance.d.ts +151 -0
- package/dist/visual/model-provenance.d.ts.map +1 -0
- package/dist/visual/model-provenance.js +335 -0
- package/dist/visual/model-provenance.js.map +1 -0
- package/dist/visual/normal-cdf.d.ts +14 -0
- package/dist/visual/normal-cdf.d.ts.map +1 -0
- package/dist/visual/normal-cdf.js +26 -0
- package/dist/visual/normal-cdf.js.map +1 -0
- package/dist/visual/perceptual-transport.d.ts +28 -4
- package/dist/visual/perceptual-transport.d.ts.map +1 -1
- package/dist/visual/perceptual-transport.js +66 -32
- package/dist/visual/perceptual-transport.js.map +1 -1
- package/dist/visual/provenance/age.d.ts +30 -0
- package/dist/visual/provenance/age.d.ts.map +1 -0
- package/dist/visual/provenance/age.js +28 -0
- package/dist/visual/provenance/age.js.map +1 -0
- package/dist/visual/provenance/attention.d.ts +55 -0
- package/dist/visual/provenance/attention.d.ts.map +1 -0
- package/dist/visual/provenance/attention.js +188 -0
- package/dist/visual/provenance/attention.js.map +1 -0
- package/dist/visual/provenance/chain.d.ts +41 -0
- package/dist/visual/provenance/chain.d.ts.map +1 -0
- package/dist/visual/provenance/chain.js +66 -0
- package/dist/visual/provenance/chain.js.map +1 -0
- package/dist/visual/provenance/cif.d.ts +42 -0
- package/dist/visual/provenance/cif.d.ts.map +1 -0
- package/dist/visual/provenance/cif.js +116 -0
- package/dist/visual/provenance/cif.js.map +1 -0
- package/dist/visual/provenance/ctc-reference.d.ts +36 -0
- package/dist/visual/provenance/ctc-reference.d.ts.map +1 -0
- package/dist/visual/provenance/ctc-reference.js +96 -0
- package/dist/visual/provenance/ctc-reference.js.map +1 -0
- package/dist/visual/provenance/distance.d.ts +10 -0
- package/dist/visual/provenance/distance.d.ts.map +1 -0
- package/dist/visual/provenance/distance.js +72 -0
- package/dist/visual/provenance/distance.js.map +1 -0
- package/dist/visual/provenance/dro.d.ts +10 -0
- package/dist/visual/provenance/dro.d.ts.map +1 -0
- package/dist/visual/provenance/dro.js +2 -0
- package/dist/visual/provenance/dro.js.map +1 -0
- package/dist/visual/provenance/emotion.d.ts +26 -0
- package/dist/visual/provenance/emotion.d.ts.map +1 -0
- package/dist/visual/provenance/emotion.js +99 -0
- package/dist/visual/provenance/emotion.js.map +1 -0
- package/dist/visual/provenance/human-input.d.ts +19 -0
- package/dist/visual/provenance/human-input.d.ts.map +1 -0
- package/dist/visual/provenance/human-input.js +84 -0
- package/dist/visual/provenance/human-input.js.map +1 -0
- package/dist/visual/provenance/journey-group.d.ts +15 -0
- package/dist/visual/provenance/journey-group.d.ts.map +1 -0
- package/dist/visual/provenance/journey-group.js +15 -0
- package/dist/visual/provenance/journey-group.js.map +1 -0
- package/dist/visual/provenance/journey-mcp.d.ts +24 -0
- package/dist/visual/provenance/journey-mcp.d.ts.map +1 -0
- package/dist/visual/provenance/journey-mcp.js +54 -0
- package/dist/visual/provenance/journey-mcp.js.map +1 -0
- package/dist/visual/provenance/journey.d.ts +34 -0
- package/dist/visual/provenance/journey.d.ts.map +1 -0
- package/dist/visual/provenance/journey.js +184 -0
- package/dist/visual/provenance/journey.js.map +1 -0
- package/dist/visual/provenance/laws.d.ts +38 -0
- package/dist/visual/provenance/laws.d.ts.map +1 -0
- package/dist/visual/provenance/laws.js +40 -0
- package/dist/visual/provenance/laws.js.map +1 -0
- package/dist/visual/provenance/page-metrics.d.ts +42 -0
- package/dist/visual/provenance/page-metrics.d.ts.map +1 -0
- package/dist/visual/provenance/page-metrics.js +79 -0
- package/dist/visual/provenance/page-metrics.js.map +1 -0
- package/dist/visual/provenance/perceptual.d.ts +63 -0
- package/dist/visual/provenance/perceptual.d.ts.map +1 -0
- package/dist/visual/provenance/perceptual.js +115 -0
- package/dist/visual/provenance/perceptual.js.map +1 -0
- package/dist/visual/provenance/persona-rates.d.ts +84 -0
- package/dist/visual/provenance/persona-rates.d.ts.map +1 -0
- package/dist/visual/provenance/persona-rates.js +108 -0
- package/dist/visual/provenance/persona-rates.js.map +1 -0
- package/dist/visual/provenance/personas.d.ts +122 -0
- package/dist/visual/provenance/personas.d.ts.map +1 -0
- package/dist/visual/provenance/personas.js +298 -0
- package/dist/visual/provenance/personas.js.map +1 -0
- package/dist/visual/provenance/profiles.d.ts +39 -0
- package/dist/visual/provenance/profiles.d.ts.map +1 -0
- package/dist/visual/provenance/profiles.js +37 -0
- package/dist/visual/provenance/profiles.js.map +1 -0
- package/dist/visual/provenance/temporal.d.ts +21 -0
- package/dist/visual/provenance/temporal.d.ts.map +1 -0
- package/dist/visual/provenance/temporal.js +56 -0
- package/dist/visual/provenance/temporal.js.map +1 -0
- package/dist/visual/provenance/visual-distance.d.ts +22 -0
- package/dist/visual/provenance/visual-distance.d.ts.map +1 -0
- package/dist/visual/provenance/visual-distance.js +30 -0
- package/dist/visual/provenance/visual-distance.js.map +1 -0
- package/dist/visual/regression.d.ts.map +1 -1
- package/dist/visual/regression.js +14 -9
- package/dist/visual/regression.js.map +1 -1
- package/dist/visual/responsive.d.ts.map +1 -1
- package/dist/visual/responsive.js +4 -1
- package/dist/visual/responsive.js.map +1 -1
- package/dist/visual/scope-prose.js +2 -2
- package/dist/visual/scope-prose.js.map +1 -1
- package/dist/visual/seeded-random.d.ts +16 -0
- package/dist/visual/seeded-random.d.ts.map +1 -0
- package/dist/visual/seeded-random.js +25 -0
- package/dist/visual/seeded-random.js.map +1 -0
- package/dist/visual/stored-accessibility-traits.d.ts +27 -0
- package/dist/visual/stored-accessibility-traits.d.ts.map +1 -0
- package/dist/visual/stored-accessibility-traits.js +35 -0
- package/dist/visual/stored-accessibility-traits.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provenance entries for the Wasserstein-DRO bound's constants
|
|
3
|
+
* (dro-bound.ts). See ../model-provenance.ts for the statuses.
|
|
4
|
+
*
|
|
5
|
+
* @copyright 2026 Alexandria Eden alexandria.shai.eden@gmail.com https://cbrowser.ai
|
|
6
|
+
* @license MIT
|
|
7
|
+
*/
|
|
8
|
+
import type { ProvenanceEntry } from "../model-provenance.js";
|
|
9
|
+
export declare const DRO_PROVENANCE: ProvenanceEntry[];
|
|
10
|
+
//# sourceMappingURL=dro.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dro.d.ts","sourceRoot":"","sources":["../../../src/visual/provenance/dro.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,eAAO,MAAM,cAAc,EAAE,eAAe,EAAO,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dro.js","sourceRoot":"","sources":["../../../src/visual/provenance/dro.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,MAAM,cAAc,GAAsB,EAAE,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provenance entries for the emotional engine's constants
|
|
3
|
+
* (src/cognitive/emotions.ts). See ../model-provenance.ts for the statuses.
|
|
4
|
+
*
|
|
5
|
+
* The engine keeps seven emotion intensities on 0-1, moves them by a fixed
|
|
6
|
+
* table of trigger effects, decays them toward a trait-set baseline, and
|
|
7
|
+
* reduces them to a valence, an arousal, a dominant emotion, a patience
|
|
8
|
+
* reading and a few behavioural modifiers. The file cites Scherer's component
|
|
9
|
+
* process model, Russell's circumplex and the OCC model for its structure;
|
|
10
|
+
* none of those sources states any number used here, and no number here was
|
|
11
|
+
* fitted, so every entry is a `hypothesis` whose source says what would set
|
|
12
|
+
* it. The one kind of data that could set most of them at once: per-step
|
|
13
|
+
* self-reports (or physiological arousal) from people working through tasks
|
|
14
|
+
* with scripted successes, failures and errors, regressed on the trigger
|
|
15
|
+
* sequence.
|
|
16
|
+
*
|
|
17
|
+
* Read through param() at the point of use; tests/journey-provenance.test.ts
|
|
18
|
+
* fails on an id that is registered and never read, and
|
|
19
|
+
* tests/journey-no-literals.test.ts on a numeric literal in emotions.ts.
|
|
20
|
+
*
|
|
21
|
+
* @copyright 2026 Alexandria Eden alexandria.shai.eden@gmail.com https://cbrowser.ai
|
|
22
|
+
* @license MIT
|
|
23
|
+
*/
|
|
24
|
+
import type { ProvenanceEntry } from "../model-provenance.js";
|
|
25
|
+
export declare const EMOTION_PROVENANCE: ProvenanceEntry[];
|
|
26
|
+
//# sourceMappingURL=emotion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emotion.d.ts","sourceRoot":"","sources":["../../../src/visual/provenance/emotion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAgB9D,eAAO,MAAM,kBAAkB,EAAE,eAAe,EAwG/C,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
const h = (id, value, source) => ({ id: `emotion.${id}`, value, status: "hypothesis", source });
|
|
2
|
+
const SELF_REPORT = "Per-step emotion self-reports (or skin-conductance arousal) from people working through tasks with scripted successes, failures and errors, regressed on the trigger sequence, would set it.";
|
|
3
|
+
const effect = (trigger, emotion, value) => h(`effect.${trigger}.${emotion}`, value, `Hand-set change in ${emotion} (0-1 intensity) per unit of sensitivity when a "${trigger}" trigger fires. ${SELF_REPORT}`);
|
|
4
|
+
const valence = (emotion, value) => h(`valence.${emotion}`, value, `Hand-set valence of ${emotion} on -1..+1, after the placement of affect words in Russell's (1980) circumplex, which gives positions on a figure, not these numbers. Valence ratings of the emotion word from a published norm (e.g. Warriner, Kuperman & Brysbaert 2013), mapped onto -1..+1, would set it.`);
|
|
5
|
+
const arousal = (emotion, value) => h(`arousal.${emotion}`, value, `Hand-set arousal of ${emotion} on 0..1, after Russell's (1980) circumplex, which gives positions on a figure, not these numbers. Arousal ratings of the emotion word from a published norm (e.g. Warriner, Kuperman & Brysbaert 2013), mapped onto 0..1, would set it.`);
|
|
6
|
+
export const EMOTION_PROVENANCE = [
|
|
7
|
+
// ── Rates ──
|
|
8
|
+
h("decayRate", 0.15, `Hand-set share of the gap to baseline each emotion closes per step (before trait scaling). The half-life of self-reported frustration and anxiety after a task event, in steps, would set it. ${SELF_REPORT}`),
|
|
9
|
+
h("changeThreshold", 0.05, "Hand-set minimum change carried on EmotionalConfig as the size that registers as an event. Nothing in cbrowser applies it. The smallest self-reported change people notice would set it."),
|
|
10
|
+
// ── The circumplex placement of each emotion ──
|
|
11
|
+
valence("anxiety", -0.7), valence("frustration", -0.8), valence("boredom", -0.4), valence("confusion", -0.5),
|
|
12
|
+
valence("satisfaction", 0.7), valence("excitement", 0.8), valence("relief", 0.5),
|
|
13
|
+
arousal("anxiety", 0.8), arousal("frustration", 0.7), arousal("boredom", 0.2), arousal("confusion", 0.5),
|
|
14
|
+
arousal("satisfaction", 0.5), arousal("excitement", 0.9), arousal("relief", 0.3),
|
|
15
|
+
h("arousal.neutral", 0.3, "Hand-set arousal of the neutral state, used as the arousal of a state with no emotion above the blend floor and as the starting arousal. Resting arousal ratings (or skin conductance) at task start would set it."),
|
|
16
|
+
// ── Baseline from traits ──
|
|
17
|
+
h("baseline.anxiety", 0.1, `Hand-set anxiety of a patient, self-assured persona at the start of a task. Pre-task state anxiety (e.g. STAI-S) across people of known patience and self-efficacy would set it, with the two slopes below.`),
|
|
18
|
+
h("baseline.anxietyPerImpatience", 0.2, "Hand-set extra starting anxiety per unit of impatience (1 - patience). The same pre-task anxiety regression would set it."),
|
|
19
|
+
h("baseline.anxietyPerLowEfficacy", 0.15, "Hand-set extra starting anxiety per unit of low self-efficacy (1 - selfEfficacy). Pre-task anxiety regressed on a computer self-efficacy scale would set it."),
|
|
20
|
+
h("baseline.excitementPerCuriosity", 0.2, "Hand-set starting excitement per unit of curiosity. Pre-task interest ratings regressed on a curiosity scale would set it."),
|
|
21
|
+
h("baseline.boredomPerIncuriosity", 0.1, "Hand-set starting boredom per unit of incuriosity (1 - curiosity). Pre-task boredom ratings regressed on a curiosity scale would set it."),
|
|
22
|
+
h("baseline.satisfaction", 0.1, "Hand-set starting satisfaction (slight initial optimism). Pre-task satisfaction or expectation ratings would set it."),
|
|
23
|
+
// ── Configuration from traits ──
|
|
24
|
+
h("config.decayBase", 0.5, "Hand-set share of the decay rate a persona with no resilience keeps (0.5x at resilience 0, 1x at 1). Recovery times after a setback across people of measured resilience (Brief Resilience Scale) would set it."),
|
|
25
|
+
h("config.decayPerResilience", 0.5, "Hand-set extra share of the decay rate per unit of resilience. The same recovery-time regression would set it."),
|
|
26
|
+
h("config.sensitivityBase", 1.5, "Hand-set sensitivity to triggers of a persona with no patience (1.5x at patience 0, 1x at 1). The size of self-reported reactions to the same failure across people of measured patience would set it."),
|
|
27
|
+
h("config.sensitivityPerPatience", 0.5, "Hand-set drop in sensitivity per unit of patience. The same reaction-size regression would set it."),
|
|
28
|
+
// ── Trigger effects ──
|
|
29
|
+
effect("success", "satisfaction", 0.2), effect("success", "excitement", 0.1), effect("success", "frustration", -0.15), effect("success", "anxiety", -0.1), effect("success", "confusion", -0.1),
|
|
30
|
+
effect("failure", "frustration", 0.25), effect("failure", "anxiety", 0.15), effect("failure", "satisfaction", -0.1), effect("failure", "excitement", -0.05),
|
|
31
|
+
effect("error", "anxiety", 0.3), effect("error", "frustration", 0.2), effect("error", "confusion", 0.15), effect("error", "satisfaction", -0.15),
|
|
32
|
+
effect("progress", "satisfaction", 0.15), effect("progress", "excitement", 0.1), effect("progress", "boredom", -0.1), effect("progress", "frustration", -0.05),
|
|
33
|
+
effect("setback", "frustration", 0.2), effect("setback", "anxiety", 0.1), effect("setback", "satisfaction", -0.15), effect("setback", "excitement", -0.1),
|
|
34
|
+
effect("waiting", "boredom", 0.15), effect("waiting", "frustration", 0.05), effect("waiting", "excitement", -0.05),
|
|
35
|
+
effect("discovery", "excitement", 0.25), effect("discovery", "satisfaction", 0.1), effect("discovery", "boredom", -0.2),
|
|
36
|
+
effect("completion", "satisfaction", 0.3), effect("completion", "relief", 0.2), effect("completion", "excitement", 0.05), effect("completion", "frustration", -0.2), effect("completion", "anxiety", -0.15),
|
|
37
|
+
effect("confusion_onset", "confusion", 0.25), effect("confusion_onset", "anxiety", 0.1), effect("confusion_onset", "frustration", 0.1), effect("confusion_onset", "satisfaction", -0.1),
|
|
38
|
+
effect("clarity", "confusion", -0.2), effect("clarity", "relief", 0.15), effect("clarity", "satisfaction", 0.1), effect("clarity", "anxiety", -0.1),
|
|
39
|
+
effect("time_pressure", "anxiety", 0.25), effect("time_pressure", "frustration", 0.1), effect("time_pressure", "boredom", -0.1),
|
|
40
|
+
effect("recovery", "relief", 0.25), effect("recovery", "satisfaction", 0.1), effect("recovery", "frustration", -0.15), effect("recovery", "anxiety", -0.2),
|
|
41
|
+
// ── Derived values ──
|
|
42
|
+
h("dominantFloor", 0.15, "Hand-set intensity below which no emotion is dominant (the state reads neutral), also the floor for describing a state. The intensity at which people report an emotion as present at all would set it."),
|
|
43
|
+
h("blendFloor", 0.05, "Hand-set intensity an emotion must exceed to count toward valence and arousal. The same presence threshold would set it."),
|
|
44
|
+
// ── Abandonment modifier (multiplier on the patience floor) ──
|
|
45
|
+
h("abandonModifier.anxiety", 0.3, "Hand-set weight of anxiety in the abandonment modifier. A survival model of time to abandonment on per-step emotion reports would fit the five negative and three positive weights together."),
|
|
46
|
+
h("abandonModifier.frustration", 0.35, "Hand-set weight of frustration in the abandonment modifier. The same survival model would fit it."),
|
|
47
|
+
h("abandonModifier.boredom", 0.25, "Hand-set weight of boredom in the abandonment modifier. The same survival model would fit it."),
|
|
48
|
+
h("abandonModifier.confusion", 0.2, "Hand-set weight of confusion in the abandonment modifier. The same survival model would fit it."),
|
|
49
|
+
h("abandonModifier.satisfaction", 0.3, "Hand-set weight of satisfaction in the abandonment modifier's positive load. The same survival model would fit it."),
|
|
50
|
+
h("abandonModifier.excitement", 0.25, "Hand-set weight of excitement in the positive load. The same survival model would fit it."),
|
|
51
|
+
h("abandonModifier.relief", 0.15, "Hand-set weight of relief in the positive load. The same survival model would fit it."),
|
|
52
|
+
h("abandonModifier.positiveShare", 0.7, "Hand-set share of the positive load that offsets the negative load. The same survival model would fit it."),
|
|
53
|
+
h("abandonModifier.min", 0.5, "Hand-set lower clamp of the abandonment modifier. The fitted hazard ratios' range would set it."),
|
|
54
|
+
h("abandonModifier.max", 2, "Hand-set upper clamp of the abandonment modifier. The fitted hazard ratios' range would set it."),
|
|
55
|
+
// ── Exploration tendency ──
|
|
56
|
+
h("exploration.base", 0.5, "Hand-set exploration tendency of a persona with no emotion. The share of off-path clicks in a task, regressed on per-step emotion reports, would fit the base and the weights below."),
|
|
57
|
+
h("exploration.excitement", 0.4, "Hand-set weight of excitement in exploration. The same off-path regression would fit it."),
|
|
58
|
+
h("exploration.satisfaction", 0.3, "Hand-set weight of satisfaction in exploration. The same off-path regression would fit it."),
|
|
59
|
+
h("exploration.relief", 0.1, "Hand-set weight of relief in exploration. The same off-path regression would fit it."),
|
|
60
|
+
h("exploration.anxiety", 0.4, "Hand-set weight of anxiety against exploration. The same off-path regression would fit it."),
|
|
61
|
+
h("exploration.frustration", 0.3, "Hand-set weight of frustration against exploration. The same off-path regression would fit it."),
|
|
62
|
+
h("exploration.confusion", 0.2, "Hand-set weight of confusion against exploration. The same off-path regression would fit it."),
|
|
63
|
+
h("exploration.boredomOnset", 0.5, "Hand-set boredom above which boredom adds to exploration. The same off-path regression, with a boredom breakpoint, would set it."),
|
|
64
|
+
h("exploration.boredom", 0.2, "Hand-set weight of boredom above its onset. The same off-path regression would fit it."),
|
|
65
|
+
// ── Decision speed ──
|
|
66
|
+
h("decisionSpeed.anxiety", 0.3, "Hand-set slowing of decisions per unit of anxiety. Decision times in a task regressed on per-step emotion reports would fit the weights below."),
|
|
67
|
+
h("decisionSpeed.confusion", 0.4, "Hand-set slowing per unit of confusion. The same decision-time regression would fit it."),
|
|
68
|
+
h("decisionSpeed.impulsiveOnset", 0.6, "Hand-set frustration above which decisions speed up (impulsive). The same regression, with a frustration breakpoint, would set it."),
|
|
69
|
+
h("decisionSpeed.impulsiveGain", 0.5, "Hand-set speed-up per unit of frustration above its onset. The same regression would fit it."),
|
|
70
|
+
h("decisionSpeed.excitement", 0.2, "Hand-set speed-up per unit of excitement. The same regression would fit it."),
|
|
71
|
+
// ── Describing a state ──
|
|
72
|
+
h("describe.very", 0.7, "Hand-set intensity above which an emotion is described as \"very\". Ratings of how people label an intensity would set the three word bands."),
|
|
73
|
+
h("describe.somewhat", 0.4, "Hand-set intensity above which an emotion is described as \"somewhat\". The same labelling ratings would set it."),
|
|
74
|
+
h("describe.secondary", 0.3, "Hand-set intensity above which a second emotion is mentioned. The same labelling ratings would set it."),
|
|
75
|
+
// ── When to consider abandoning ──
|
|
76
|
+
h("considerAbandon.frustration", 0.8, "Hand-set frustration above which abandonment is considered. Emotion reports in the step before people abandon a task would set the cut points of all five rules."),
|
|
77
|
+
h("considerAbandon.anxiety", 0.7, "Hand-set anxiety above which, with low satisfaction, abandonment is considered. The same pre-abandonment reports would set it."),
|
|
78
|
+
h("considerAbandon.satisfaction", 0.2, "Hand-set satisfaction below which high anxiety, or high confusion with low relief, leads to considering abandonment. The same pre-abandonment reports would set it."),
|
|
79
|
+
h("considerAbandon.boredom", 0.6, "Hand-set boredom above which, with frustration, abandonment is considered. The same pre-abandonment reports would set it."),
|
|
80
|
+
h("considerAbandon.boredFrustration", 0.5, "Hand-set frustration that, with boredom above its cut, leads to considering abandonment. The same pre-abandonment reports would set it."),
|
|
81
|
+
h("considerAbandon.confusion", 0.7, "Hand-set confusion above which, with little relief, abandonment is considered. The same pre-abandonment reports would set it."),
|
|
82
|
+
h("considerAbandon.relief", 0.2, "Hand-set relief below which high confusion leads to considering abandonment. The same pre-abandonment reports would set it."),
|
|
83
|
+
h("considerAbandon.valence", -0.6, "Hand-set valence below which, with high arousal, abandonment is considered. The same pre-abandonment reports would set it."),
|
|
84
|
+
h("considerAbandon.arousal", 0.6, "Hand-set arousal above which, with negative valence, abandonment is considered. The same pre-abandonment reports would set it."),
|
|
85
|
+
// ── Patience as a view of the emotional state ──
|
|
86
|
+
h("patience.boredomWeight", 0.6, "Hand-set weight of boredom in the patience drain (frustration weighs 1). Self-rated willingness to keep trying, regressed on per-step emotion reports, would fit the weights and gains below."),
|
|
87
|
+
h("patience.anxietyWeight", 0.5, "Hand-set weight of anxiety in the patience drain. The same willingness regression would fit it."),
|
|
88
|
+
h("patience.traitFloor", 0.2, "Hand-set lowest patience trait the drain divides by, so a trait near 0 cannot drain patience without bound. A numerical guard whose value changes every persona below it; the willingness regression would set the drain's dependence on the trait instead."),
|
|
89
|
+
h("patience.drainScale", 1.3, "Hand-set scale of the patience drain: the drain multiplier is 1 / (patience trait x 1.3), about 1.54 at patience 0.5. The same willingness regression, across people of measured patience, would set it."),
|
|
90
|
+
h("patience.excitementWeight", 0.7, "Hand-set weight of excitement, beside satisfaction, in the positive buffer on patience. The same willingness regression would fit it."),
|
|
91
|
+
h("patience.bufferGain", 0.3, "Hand-set share of the positive emotions that buffers the patience drain. The same willingness regression would fit it."),
|
|
92
|
+
// ── Trait-modulated decay ──
|
|
93
|
+
h("decay.traitBase", 0.5, "Hand-set decay multiplier of confusion, frustration and boredom at trait 0 (0.5x), rising to 2x at trait 1 (comprehension for confusion, resilience for frustration, curiosity for boredom). Recovery times of each emotion across people of measured trait level would set it."),
|
|
94
|
+
h("decay.traitGain", 1.5, "Hand-set rise in that decay multiplier per unit of the trait. The same recovery-time regression would set it."),
|
|
95
|
+
h("decay.satisfaction", 0.5, "Hand-set decay multiplier of satisfaction (positive states are sticky). The half-life of self-reported satisfaction after a success would set it."),
|
|
96
|
+
h("decay.excitement", 0.7, "Hand-set decay multiplier of excitement. The half-life of self-reported excitement after a discovery would set it."),
|
|
97
|
+
h("decay.dominantFloor", 0.1, "Hand-set intensity below which no emotion is dominant after a trait-modulated decay. emotion.dominantFloor (0.15) does the same job after a trigger; the two disagree. The intensity at which people report an emotion as present would set both."),
|
|
98
|
+
];
|
|
99
|
+
//# sourceMappingURL=emotion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emotion.js","sourceRoot":"","sources":["../../../src/visual/provenance/emotion.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provenance entries for the human-input timing (src/visual/human-input.ts):
|
|
3
|
+
* the keystroke intervals, typos, click aim, mis-clicks, hover dwell, wheel
|
|
4
|
+
* deltas, glance-backs and settle pauses a journey adds with humanInput on.
|
|
5
|
+
* See ../model-provenance.ts for the statuses.
|
|
6
|
+
*
|
|
7
|
+
* Every number was set by hand to look plausible in a session replay, and
|
|
8
|
+
* each is a `hypothesis` unless an entry quotes a source. The data that would
|
|
9
|
+
* set most of them is a large log of real keystrokes and pointer events
|
|
10
|
+
* (inter-key intervals and error corrections by typing speed; click offsets
|
|
11
|
+
* from target centres and dwell before press; wheel deltas and reversals),
|
|
12
|
+
* split by the persona's traits.
|
|
13
|
+
*
|
|
14
|
+
* @copyright 2026 Alexandria Eden alexandria.shai.eden@gmail.com https://cbrowser.ai
|
|
15
|
+
* @license MIT
|
|
16
|
+
*/
|
|
17
|
+
import type { ProvenanceEntry } from "../model-provenance.js";
|
|
18
|
+
export declare const HUMAN_INPUT_PROVENANCE: ProvenanceEntry[];
|
|
19
|
+
//# sourceMappingURL=human-input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"human-input.d.ts","sourceRoot":"","sources":["../../../src/visual/provenance/human-input.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAiB9D,eAAO,MAAM,sBAAsB,EAAE,eAAe,EA4EnD,CAAC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
const h = (id, value, source) => ({ id: `humanInput.${id}`, value, status: "hypothesis", source });
|
|
2
|
+
const p = (id, value, source) => ({ id: `humanInput.${id}`, value, status: "published", source });
|
|
3
|
+
// Read for this registry: Table 3, the Typist Groups definition and the
|
|
4
|
+
// Results section. Online transcription of sentences on physical keyboards,
|
|
5
|
+
// 136,857,600 keystrokes from 168,960 participants.
|
|
6
|
+
const DHAKAL = "Dhakal, V., Feit, A. M., Kristensson, P. O. & Oulasvirta, A. (2018). Observations on typing from 136 million keystrokes. CHI '18, Paper 646";
|
|
7
|
+
const GROUPS = "\"Fast Typists are the typists with speeds higher than that of 90% of participants (above approx. 78 WPM in our data), Slow Typists are those whose performance is among the slowest 10% (less than approx. 26 WPM in our data)\"";
|
|
8
|
+
const KEYS = (what) => `Hand-set ${what}. Inter-key intervals and corrections from a large keystroke log, by typing speed, would set it.`;
|
|
9
|
+
const POINTER = (what) => `Hand-set ${what}. Pointer logs of real clicks (offset from the target centre, path samples, dwell before the press), by user motor ability, would set it.`;
|
|
10
|
+
const WHEEL = (what) => `Hand-set ${what}. Wheel-event logs of real reading sessions (deltas, reversals, pauses) would set it.`;
|
|
11
|
+
export const HUMAN_INPUT_PROVENANCE = [
|
|
12
|
+
h("defaultMotorPrecision", 0.7, POINTER("motor precision of a persona that gives none (0 jittery, 1 bullseye)")),
|
|
13
|
+
h("clampSd", 2, "Hand-set number of standard deviations at which a random offset is clamped: the aim offset of a click, and a scroll's distance (whose standard deviation is its clamp / 2). The tails of real click offsets and wheel deltas would set it."),
|
|
14
|
+
// ── Typing ──
|
|
15
|
+
p("type.slowIntervalMs", 481.03, `Mean inter-key interval, ms, at proceduralFluency 0: the slowest decile of typists. ${DHAKAL}, Table 3, row "IKI (ms)", column Slow: 481.03 (SD 123.36 between typists); ${GROUPS}. Placing fluency 0 at the slowest decile is the timing's choice.`),
|
|
16
|
+
p("type.fastIntervalMs", 121.7, `Mean inter-key interval, ms, at proceduralFluency 1: the fastest decile of typists. ${DHAKAL}, Table 3, row "IKI (ms)", column Fast: 121.70 (SD 11.96 between typists); ${GROUPS}. Placing fluency 1 at the fastest decile is the timing's choice; between the two the mean is linear in fluency, which is a hypothesis.`),
|
|
17
|
+
h("type.intervalSdMs", 50, KEYS("standard deviation of one typist's inter-key intervals, ms, at proceduralFluency 1. The SDs in Dhakal et al. (2018) Table 3 are between typists, not within one, so they do not set it")),
|
|
18
|
+
h("type.intervalSdPerSlowness", 60, KEYS("extra standard deviation, ms, per unit of (1 - proceduralFluency)")),
|
|
19
|
+
p("type.minIntervalMs", 60, `Shortest inter-key interval, ms, after a keystroke or a correction. ${DHAKAL}, Results, Inter-key intervals: "Average inter-key interval is 238.656 ms (SD = 111.6). A lower bound of about 60 ms can be observed."`),
|
|
20
|
+
h("type.maxIntervalMs", 800, KEYS("longest inter-key interval, ms")),
|
|
21
|
+
h("type.focusMinMs", 300, KEYS("shortest pause, ms, before the first key (finding the field)")),
|
|
22
|
+
h("type.focusMaxMs", 800, KEYS("longest pause, ms, before the first key")),
|
|
23
|
+
h("type.focusReadingGain", 0.6, KEYS("lengthening of that pause per unit of readingTendency")),
|
|
24
|
+
h("type.pauseRate", 0.04, KEYS("chance per character of a thinking pause")),
|
|
25
|
+
h("type.pauseMinMs", 600, KEYS("shortest thinking pause, ms")),
|
|
26
|
+
h("type.pauseMaxMs", 1500, KEYS("longest thinking pause, ms")),
|
|
27
|
+
h("type.pauseSlownessGain", 0.5, KEYS("lengthening of a thinking pause per unit of (1 - proceduralFluency)")),
|
|
28
|
+
h("type.typoRate", 0.05, KEYS("chance per letter of a typo that is noticed and corrected (one wrong key and one backspace). Dhakal et al. (2018) report backspace or delete in 6.31% of keypresses (3.40% fast, 9.05% slow typists, Table 3, \"Error Correct. (%)\"); turning that into a rate per letter is a model step this entry has not taken")),
|
|
29
|
+
h("type.noticeMeanMs", 220, KEYS("mean pause, ms, before a typo is noticed")),
|
|
30
|
+
h("type.noticeSdMs", 90, KEYS("standard deviation of that pause, ms")),
|
|
31
|
+
h("type.noticeMinMs", 80, KEYS("shortest pause, ms, before a typo is noticed")),
|
|
32
|
+
h("type.noticeMaxMs", 600, KEYS("longest pause, ms, before a typo is noticed")),
|
|
33
|
+
h("type.correctionShare", 0.7, KEYS("share of the ordinary interval (mean and spread) the keystroke after a backspace takes")),
|
|
34
|
+
h("type.correctionMaxMs", 400, KEYS("longest interval, ms, after a backspace")),
|
|
35
|
+
// ── Clicking ──
|
|
36
|
+
h("click.maxSpreadPx", 8, POINTER("aim spread, px (one standard deviation), at motorPrecision 0")),
|
|
37
|
+
h("click.precisionNarrowingPx", 6, POINTER("narrowing of the aim spread, px, from motorPrecision 0 to 1")),
|
|
38
|
+
h("click.defaultHalfWidthPx", 30, POINTER("half-width, px, assumed for a target of unknown size")),
|
|
39
|
+
h("click.defaultHalfHeightPx", 12, POINTER("half-height, px, assumed for a target of unknown size")),
|
|
40
|
+
h("click.spreadShareOfHalf", 0.4, POINTER("largest aim spread as a share of the target's half-size, so the click lands inside")),
|
|
41
|
+
h("click.misclickRate", 0.02, POINTER("chance of a click just outside a target of known size before the corrected click")),
|
|
42
|
+
h("click.missMinPx", 6, POINTER("smallest distance, px, beyond the target's half-width of a mis-click")),
|
|
43
|
+
h("click.missMaxPx", 12, POINTER("largest distance, px, beyond the target's half-width of a mis-click")),
|
|
44
|
+
h("click.missMoveSteps", 8, POINTER("number of path samples of the move to a mis-click")),
|
|
45
|
+
h("click.missPauseMeanMs", 120, POINTER("mean pause, ms, before the mis-click")),
|
|
46
|
+
h("click.missPauseSdMs", 40, POINTER("standard deviation of that pause, ms")),
|
|
47
|
+
h("click.missPauseMinMs", 60, POINTER("shortest pause, ms, before the mis-click")),
|
|
48
|
+
h("click.missPauseMaxMs", 250, POINTER("longest pause, ms, before the mis-click")),
|
|
49
|
+
h("click.recoverMeanMs", 450, POINTER("mean pause, ms, to notice and recover from a mis-click")),
|
|
50
|
+
h("click.recoverSdMs", 120, POINTER("standard deviation of that pause, ms")),
|
|
51
|
+
h("click.recoverMinMs", 250, POINTER("shortest recovery pause, ms")),
|
|
52
|
+
h("click.recoverMaxMs", 900, POINTER("longest recovery pause, ms")),
|
|
53
|
+
h("click.moveStepsMean", 12, POINTER("mean number of path samples of a move to the target")),
|
|
54
|
+
h("click.moveStepsSd", 3, POINTER("standard deviation of the number of path samples")),
|
|
55
|
+
h("click.moveStepsMin", 6, POINTER("fewest path samples of a move")),
|
|
56
|
+
h("click.moveStepsMax", 24, POINTER("most path samples of a move")),
|
|
57
|
+
h("click.dwellMeanMs", 180, POINTER("mean dwell, ms, on the target before pressing")),
|
|
58
|
+
h("click.dwellSdMs", 80, POINTER("standard deviation of the dwell, ms")),
|
|
59
|
+
h("click.dwellMinMs", 60, POINTER("shortest dwell, ms")),
|
|
60
|
+
h("click.dwellMaxMs", 500, POINTER("longest dwell, ms")),
|
|
61
|
+
h("click.dwellReadingGain", 0.4, POINTER("lengthening of the dwell per unit of readingTendency")),
|
|
62
|
+
// ── Scrolling ──
|
|
63
|
+
h("scroll.deltaVariance", 0.2, WHEEL("spread of a scroll's distance as a share of the intended distance (the offset is clamped at this share)")),
|
|
64
|
+
h("scroll.glancePatience", 0.4, WHEEL("patience above which a persona may glance back while scrolling")),
|
|
65
|
+
h("scroll.glanceRate", 0.05, WHEEL("chance of a glance-back on a scroll")),
|
|
66
|
+
h("scroll.glanceMinPx", 60, WHEEL("shortest glance-back, px")),
|
|
67
|
+
h("scroll.glanceMaxPx", 100, WHEEL("longest glance-back, px")),
|
|
68
|
+
h("scroll.glancePauseMeanMs", 400, WHEEL("mean pause, ms, after a glance-back")),
|
|
69
|
+
h("scroll.glancePauseSdMs", 120, WHEEL("standard deviation of that pause, ms")),
|
|
70
|
+
h("scroll.glancePauseMinMs", 200, WHEEL("shortest pause, ms, after a glance-back")),
|
|
71
|
+
h("scroll.glancePauseMaxMs", 900, WHEEL("longest pause, ms, after a glance-back")),
|
|
72
|
+
h("scroll.settleMeanMs", 380, WHEEL("mean wait, ms, for a smooth scroll to settle")),
|
|
73
|
+
h("scroll.settleSdMs", 80, WHEEL("standard deviation of that wait, ms")),
|
|
74
|
+
h("scroll.settleMinMs", 200, WHEEL("shortest settle wait, ms")),
|
|
75
|
+
h("scroll.settleMaxMs", 700, WHEEL("longest settle wait, ms")),
|
|
76
|
+
// ── Between actions ──
|
|
77
|
+
h("settle.baseMs", 400, POINTER("mean pause, ms, between actions of an impatient skimmer (patience 0, readingTendency 0)")),
|
|
78
|
+
h("settle.patienceMs", 600, POINTER("lengthening of the mean pause, ms, per unit of patience")),
|
|
79
|
+
h("settle.readingMs", 200, POINTER("lengthening of the mean pause, ms, per unit of readingTendency")),
|
|
80
|
+
h("settle.sdMs", 180, POINTER("standard deviation of the pause between actions, ms")),
|
|
81
|
+
h("settle.minMs", 150, POINTER("shortest pause between actions, ms")),
|
|
82
|
+
h("settle.maxMs", 1500, POINTER("longest pause between actions, ms")),
|
|
83
|
+
];
|
|
84
|
+
//# sourceMappingURL=human-input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"human-input.js","sourceRoot":"","sources":["../../../src/visual/provenance/human-input.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The cognitive journey's provenance groups, merged into one list for
|
|
3
|
+
* ../model-provenance.ts: the autonomous journey and its helpers
|
|
4
|
+
* (journey.ts), the emotional engine (emotion.ts), the time-of-day model
|
|
5
|
+
* (temporal.ts), human-input timing (human-input.ts) and the MCP journey
|
|
6
|
+
* tools (journey-mcp.ts).
|
|
7
|
+
*
|
|
8
|
+
* @copyright 2026 Alexandria Eden alexandria.shai.eden@gmail.com https://cbrowser.ai
|
|
9
|
+
* @license MIT
|
|
10
|
+
*/
|
|
11
|
+
import type { ProvenanceEntry } from "../model-provenance.js";
|
|
12
|
+
/** Every journey group, in the order the prefixes are documented. */
|
|
13
|
+
export declare const JOURNEY_GROUPS: Record<string, ProvenanceEntry[]>;
|
|
14
|
+
export declare const JOURNEY_GROUP_PROVENANCE: ProvenanceEntry[];
|
|
15
|
+
//# sourceMappingURL=journey-group.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"journey-group.d.ts","sourceRoot":"","sources":["../../../src/visual/provenance/journey-group.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAO9D,qEAAqE;AACrE,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,CAM5D,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,eAAe,EAAyC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { JOURNEY_PROVENANCE } from "./journey.js";
|
|
2
|
+
import { EMOTION_PROVENANCE } from "./emotion.js";
|
|
3
|
+
import { TEMPORAL_PROVENANCE } from "./temporal.js";
|
|
4
|
+
import { HUMAN_INPUT_PROVENANCE } from "./human-input.js";
|
|
5
|
+
import { JOURNEY_MCP_PROVENANCE } from "./journey-mcp.js";
|
|
6
|
+
/** Every journey group, in the order the prefixes are documented. */
|
|
7
|
+
export const JOURNEY_GROUPS = {
|
|
8
|
+
journey: JOURNEY_PROVENANCE,
|
|
9
|
+
emotion: EMOTION_PROVENANCE,
|
|
10
|
+
temporal: TEMPORAL_PROVENANCE,
|
|
11
|
+
humanInput: HUMAN_INPUT_PROVENANCE,
|
|
12
|
+
journeyMcp: JOURNEY_MCP_PROVENANCE,
|
|
13
|
+
};
|
|
14
|
+
export const JOURNEY_GROUP_PROVENANCE = Object.values(JOURNEY_GROUPS).flat();
|
|
15
|
+
//# sourceMappingURL=journey-group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"journey-group.js","sourceRoot":"","sources":["../../../src/visual/provenance/journey-group.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,qEAAqE;AACrE,MAAM,CAAC,MAAM,cAAc,GAAsC;IAC/D,OAAO,EAAE,kBAAkB;IAC3B,OAAO,EAAE,kBAAkB;IAC3B,QAAQ,EAAE,mBAAmB;IAC7B,UAAU,EAAE,sBAAsB;IAClC,UAAU,EAAE,sBAAsB;CACnC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAsB,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provenance entries for the MCP-driven journey (src/mcp-tools/base/
|
|
3
|
+
* cognitive-tools.ts): cognitive_journey_init, which hands the client model
|
|
4
|
+
* a persona, abandonment thresholds and instructions, and
|
|
5
|
+
* cognitive_journey_update_state, which applies the update rules and
|
|
6
|
+
* decides abandonment. See ../model-provenance.ts for the statuses.
|
|
7
|
+
*
|
|
8
|
+
* In this flow the client model drives the browser and reports what
|
|
9
|
+
* happened; these rules turn its report into state. They were set by hand,
|
|
10
|
+
* so every rule entry is a `hypothesis`, and the instructions the init tool
|
|
11
|
+
* serves say so and interpolate these values. Shared quantities (the trait
|
|
12
|
+
* bands, the patience floor, the time limits, the default trait) are the
|
|
13
|
+
* journey.* entries the autonomous engine reads.
|
|
14
|
+
*
|
|
15
|
+
* The MCP flow's confusion and frustration limits differ from the
|
|
16
|
+
* autonomous engine's (journey.abandon.*): both are registered, neither has
|
|
17
|
+
* a source, and the disagreement is reported rather than resolved here.
|
|
18
|
+
*
|
|
19
|
+
* @copyright 2026 Alexandria Eden alexandria.shai.eden@gmail.com https://cbrowser.ai
|
|
20
|
+
* @license MIT
|
|
21
|
+
*/
|
|
22
|
+
import type { ProvenanceEntry } from "../model-provenance.js";
|
|
23
|
+
export declare const JOURNEY_MCP_PROVENANCE: ProvenanceEntry[];
|
|
24
|
+
//# sourceMappingURL=journey-mcp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"journey-mcp.d.ts","sourceRoot":"","sources":["../../../src/visual/provenance/journey-mcp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAc9D,eAAO,MAAM,sBAAsB,EAAE,eAAe,EAoDnD,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
const h = (id, value, source) => ({ id: `journeyMcp.${id}`, value, status: "hypothesis", source });
|
|
2
|
+
const d = (id, value, source) => ({ id: `journeyMcp.${id}`, value, status: "definition", source });
|
|
3
|
+
const UPDATE = (what) => `Hand-set ${what}. Per-step self-reports of patience, confusion, frustration and confidence from people working through tasks with scripted successes, failures, confusing steps and back-navigations would set it.`;
|
|
4
|
+
const ABANDON = (what) => `Hand-set ${what}. The level reached in the step before people abandon a task, for people of measured trait level, would set it.`;
|
|
5
|
+
const VALUES = "Task behaviour (failure reactions, abandonment, confusion without social proof) across people of measured Schwartz values (PVQ), regressed on the value, would set it.";
|
|
6
|
+
const FAMILIARITY = "A ceiling on what may be simulated, not a measurement: it is set by how many pages this install has crawled. Agreement between simulated familiar-user paths and real returning users' paths, by crawl coverage, would set it.";
|
|
7
|
+
export const JOURNEY_MCP_PROVENANCE = [
|
|
8
|
+
// ── Thresholds the init tool announces ──
|
|
9
|
+
h("abandon.confusionLimit", 0.8, ABANDON("confusion above which the MCP-driven persona gives up (cognitive_journey_update_state scales it by conformity)")),
|
|
10
|
+
h("abandon.confusionLimit.lowComprehension", 0.6, ABANDON("confusion limit cognitive_journey_init announces for a low-comprehension persona (cognitive_journey_update_state does not apply it)")),
|
|
11
|
+
h("abandon.frustrationLimit", 0.85, ABANDON("frustration above which the MCP-driven persona gives up (cognitive_journey_update_state scales it by security)")),
|
|
12
|
+
h("abandon.frustrationLimit.lowPatience", 0.7, ABANDON("frustration limit cognitive_journey_init announces for an impatient persona (cognitive_journey_update_state does not apply it)")),
|
|
13
|
+
h("abandon.noProgressSteps", 10, ABANDON("number of steps without progress the init tool announces for a persona of ordinary persistence")),
|
|
14
|
+
h("abandon.noProgressSteps.highPersistence", 15, ABANDON("number of steps without progress the init tool announces for a persistent persona")),
|
|
15
|
+
h("abandon.loopVisits", 3, ABANDON("number of visits to the same page the init tool announces as a loop")),
|
|
16
|
+
// ── Site familiarity ceiling ──
|
|
17
|
+
h("familiarity.claimFloor", 0.1, `Hand-set siteFamiliarity above which a persona with no crawled pages for the site is downgraded to a first visit. ${FAMILIARITY}`),
|
|
18
|
+
h("familiarity.scaleFloor", 0.05, `Hand-set siteFamiliarity above which a crawled site's coverage caps it. ${FAMILIARITY}`),
|
|
19
|
+
h("familiarity.fullCoveragePages", 20, `Hand-set number of crawled pages at which coverage is full (the cap is pages / 20). ${FAMILIARITY}`),
|
|
20
|
+
h("familiarity.warnMargin", 0.1, `Hand-set drop from the requested familiarity above which the init tool warns that it was capped. ${FAMILIARITY}`),
|
|
21
|
+
h("familiarity.expert", 0.8, `Hand-set effective familiarity at or above which the persona is treated as knowing the site (an expert). ${FAMILIARITY}`),
|
|
22
|
+
h("familiarity.familiar", 0.5, `Hand-set effective familiarity at or above which the persona is familiar. ${FAMILIARITY}`),
|
|
23
|
+
h("familiarity.vague", 0.1, `Hand-set effective familiarity at or above which the persona vaguely recalls the site. ${FAMILIARITY}`),
|
|
24
|
+
// ── Labels in the served instructions ──
|
|
25
|
+
h("label.lowComprehension", 0.3, "Hand-set comprehension below which the init instructions call the persona one who struggles with UI (the thresholds use journey.band.low.comprehension, 0.4; the two disagree). The percentile of the comprehension measure where people start needing help would set it."),
|
|
26
|
+
h("valueLabel.high", 0.7, `Hand-set Schwartz value above which the init instructions describe the value as driving behaviour, and above which update_state picks the value's abandonment message. ${VALUES}`),
|
|
27
|
+
h("valueLabel.low", 0.3, `Hand-set Schwartz value below which the init instructions describe its opposite. ${VALUES}`),
|
|
28
|
+
// ── Persona values ──
|
|
29
|
+
h("cmsValueDefault", 0.5, "Hand-set Schwartz or self-determination value given to a CMS custom persona that does not set it (the scale's midpoint). The population median on the value's instrument (PVQ for Schwartz values) would place it."),
|
|
30
|
+
h("value.neutral", 0.5, `Hand-set Schwartz value at which a value modulates nothing (modulation = 1 + (value - 0.5) x gain), also the value assumed when the caller passes none. ${VALUES}`),
|
|
31
|
+
h("value.modulationGain", 0.4, `Hand-set gain of a value's modulation (0.8x to 1.2x across the scale), the same for security, stimulation, achievement and conformity. ${VALUES}`),
|
|
32
|
+
// ── The update rules ──
|
|
33
|
+
h("update.patiencePerStep", 0.02, UPDATE("patience lost per step")),
|
|
34
|
+
h("update.patiencePerFrustration", 0.05, UPDATE("extra patience lost per step per unit of frustration (scaled by achievement)")),
|
|
35
|
+
h("update.confusionRecovery", 0.1, UPDATE("confusion recovered after a successful action (scaled by stimulation)")),
|
|
36
|
+
h("update.frustrationRecovery", 0.05, UPDATE("frustration recovered after a successful action")),
|
|
37
|
+
h("update.confidenceGain", 0.1, UPDATE("confidence gained when an action makes progress (scaled by achievement)")),
|
|
38
|
+
h("update.frustrationPerFailure", 0.2, UPDATE("frustration added by a failed action (scaled by security)")),
|
|
39
|
+
h("update.confusionPerConfusing", 0.15, UPDATE("confusion added by a confusing step per unit of low comprehension (scaled by conformity)")),
|
|
40
|
+
h("update.confidenceLossOnBack", 0.15, UPDATE("confidence lost by going back (scaled by security)")),
|
|
41
|
+
h("update.progressPerStep", 0.1, UPDATE("goal progress added by a step that makes progress")),
|
|
42
|
+
h("update.secondsPerStep", 2, UPDATE("seconds added to timeElapsed per step (the tool does not see the clock)")),
|
|
43
|
+
h("mood.defeatedFrustration", 0.8, UPDATE("frustration above which a persona of low persistence is defeated")),
|
|
44
|
+
h("mood.defeatedPersistence", 0.5, UPDATE("persistence below which high frustration means defeat")),
|
|
45
|
+
h("mood.frustrated", 0.7, UPDATE("frustration above which the mood is frustrated or confused, whichever is higher")),
|
|
46
|
+
h("mood.confused", 0.5, UPDATE("confusion above which the mood is frustrated or confused, whichever is higher")),
|
|
47
|
+
d("update.marginEpsilon", 1e-6, "Smallest divisor when a breach's margin is expressed relative to its threshold; a numerical guard against dividing by zero."),
|
|
48
|
+
// ── The init tool's page check ──
|
|
49
|
+
h("init.blankPageRetries", 2, "Hand-set number of times the init tool reloads a start page that renders blank (no title, no text) before handing it over. The share of blank first loads that recover on each reload, across real sites, would set it."),
|
|
50
|
+
// ── Display ──
|
|
51
|
+
d("init.influencePatterns", 5, "Number of influence patterns, ranked by susceptibility, the init tool lists for the persona; a display length."),
|
|
52
|
+
d("display.rounding", 1000, "Rounding of the higher-order Schwartz values in the roster and init answers to 3 decimal places; a display choice."),
|
|
53
|
+
];
|
|
54
|
+
//# sourceMappingURL=journey-mcp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"journey-mcp.js","sourceRoot":"","sources":["../../../src/visual/provenance/journey-mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provenance entries for the autonomous cognitive journey's constants
|
|
3
|
+
* (runCognitiveJourney and its helpers in src/cognitive/index.ts, and the
|
|
4
|
+
* motor, typing, scan, gaze, peripheral-vision, habituation and fatigue
|
|
5
|
+
* helpers in src/types.ts). See ../model-provenance.ts for the statuses.
|
|
6
|
+
*
|
|
7
|
+
* Three kinds of number live here:
|
|
8
|
+
* - the persona model: abandonment thresholds, the progress gate, trigger
|
|
9
|
+
* severities, decision fatigue, the dual-process switch, tunnel vision,
|
|
10
|
+
* banner blindness, gaze lag, Fitts and keystroke timing. Hand-set unless
|
|
11
|
+
* a source read for this registry states the value (each such entry
|
|
12
|
+
* quotes it).
|
|
13
|
+
* - the harness: how long the journey waits for a page, how much of a page
|
|
14
|
+
* it shows the model, how it retries. These carry an assumption about
|
|
15
|
+
* pages, not people, and are hypotheses whose source names the
|
|
16
|
+
* measurement that would set them.
|
|
17
|
+
* - definitions: units, the live viewer's screen, display rounding.
|
|
18
|
+
*
|
|
19
|
+
* Where Stage B (src/visual/provenance/laws.ts) registers a published value
|
|
20
|
+
* for the same quantity, the journey reads the law's id and registers no
|
|
21
|
+
* copy: Fitts' law (law.fitts.*) times the pointer moves the journey
|
|
22
|
+
* charges, on the measured geometry of the element the action names, and
|
|
23
|
+
* the keystroke-level model's mental operator is law.klm.mentalPreparation.
|
|
24
|
+
*
|
|
25
|
+
* Read through param() at the point of use; tests/journey-provenance.test.ts
|
|
26
|
+
* fails on an id that is registered and never read, and
|
|
27
|
+
* tests/journey-no-literals.test.ts on a numeric literal in the journey code.
|
|
28
|
+
*
|
|
29
|
+
* @copyright 2026 Alexandria Eden alexandria.shai.eden@gmail.com https://cbrowser.ai
|
|
30
|
+
* @license MIT
|
|
31
|
+
*/
|
|
32
|
+
import type { ProvenanceEntry } from "../model-provenance.js";
|
|
33
|
+
export declare const JOURNEY_PROVENANCE: ProvenanceEntry[];
|
|
34
|
+
//# sourceMappingURL=journey.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"journey.d.ts","sourceRoot":"","sources":["../../../src/visual/provenance/journey.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AA4B9D,eAAO,MAAM,kBAAkB,EAAE,eAAe,EA4L/C,CAAC"}
|