cbrowser 19.2.0 → 19.2.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.
Files changed (66) hide show
  1. package/README.md +2 -2
  2. package/dist/analysis/accessibility-empathy.d.ts +5 -0
  3. package/dist/analysis/accessibility-empathy.d.ts.map +1 -1
  4. package/dist/analysis/accessibility-empathy.js +62 -76
  5. package/dist/analysis/accessibility-empathy.js.map +1 -1
  6. package/dist/analysis/competitive-benchmark.js +2 -2
  7. package/dist/analysis/competitive-benchmark.js.map +1 -1
  8. package/dist/analysis/persona-comparison.d.ts.map +1 -1
  9. package/dist/analysis/persona-comparison.js +5 -1
  10. package/dist/analysis/persona-comparison.js.map +1 -1
  11. package/dist/browser.js +2 -2
  12. package/dist/browser.js.map +1 -1
  13. package/dist/cli.js +44 -7
  14. package/dist/cli.js.map +1 -1
  15. package/dist/daemon.d.ts +2 -0
  16. package/dist/daemon.d.ts.map +1 -1
  17. package/dist/daemon.js +8 -1
  18. package/dist/daemon.js.map +1 -1
  19. package/dist/mcp-tools/account-personas.d.ts +3 -2
  20. package/dist/mcp-tools/account-personas.d.ts.map +1 -1
  21. package/dist/mcp-tools/account-personas.js +13 -4
  22. package/dist/mcp-tools/account-personas.js.map +1 -1
  23. package/dist/mcp-tools/base/advanced-interaction-tools.js +1 -1
  24. package/dist/mcp-tools/base/advanced-interaction-tools.js.map +1 -1
  25. package/dist/mcp-tools/base/audit-tools.d.ts.map +1 -1
  26. package/dist/mcp-tools/base/audit-tools.js +42 -15
  27. package/dist/mcp-tools/base/audit-tools.js.map +1 -1
  28. package/dist/mcp-tools/base/browser-state-tools.d.ts.map +1 -1
  29. package/dist/mcp-tools/base/browser-state-tools.js +25 -4
  30. package/dist/mcp-tools/base/browser-state-tools.js.map +1 -1
  31. package/dist/mcp-tools/base/cognitive-tools.d.ts.map +1 -1
  32. package/dist/mcp-tools/base/cognitive-tools.js +14 -2
  33. package/dist/mcp-tools/base/cognitive-tools.js.map +1 -1
  34. package/dist/mcp-tools/base/gif-tools.d.ts +19 -0
  35. package/dist/mcp-tools/base/gif-tools.d.ts.map +1 -1
  36. package/dist/mcp-tools/base/gif-tools.js +53 -24
  37. package/dist/mcp-tools/base/gif-tools.js.map +1 -1
  38. package/dist/mcp-tools/base/persona-comparison-tools.d.ts.map +1 -1
  39. package/dist/mcp-tools/base/persona-comparison-tools.js +38 -28
  40. package/dist/mcp-tools/base/persona-comparison-tools.js.map +1 -1
  41. package/dist/mcp-tools/base/values-tools.d.ts.map +1 -1
  42. package/dist/mcp-tools/base/values-tools.js +12 -0
  43. package/dist/mcp-tools/base/values-tools.js.map +1 -1
  44. package/dist/mcp-tools/base/visual-testing-tools.d.ts +17 -0
  45. package/dist/mcp-tools/base/visual-testing-tools.d.ts.map +1 -1
  46. package/dist/mcp-tools/base/visual-testing-tools.js +184 -148
  47. package/dist/mcp-tools/base/visual-testing-tools.js.map +1 -1
  48. package/dist/mcp-tools/inline-image.d.ts +82 -0
  49. package/dist/mcp-tools/inline-image.d.ts.map +1 -0
  50. package/dist/mcp-tools/inline-image.js +163 -0
  51. package/dist/mcp-tools/inline-image.js.map +1 -0
  52. package/dist/personas.d.ts +32 -0
  53. package/dist/personas.d.ts.map +1 -1
  54. package/dist/personas.js +90 -3
  55. package/dist/personas.js.map +1 -1
  56. package/dist/security/audit-wrapper.d.ts.map +1 -1
  57. package/dist/security/audit-wrapper.js +1 -0
  58. package/dist/security/audit-wrapper.js.map +1 -1
  59. package/dist/security/script-gate.d.ts +33 -0
  60. package/dist/security/script-gate.d.ts.map +1 -0
  61. package/dist/security/script-gate.js +37 -0
  62. package/dist/security/script-gate.js.map +1 -0
  63. package/dist/security/tool-permissions.d.ts.map +1 -1
  64. package/dist/security/tool-permissions.js +4 -0
  65. package/dist/security/tool-permissions.js.map +1 -1
  66. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"visual-testing-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/base/visual-testing-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"visual-testing-tools.js","sourceRoot":"","sources":["../../../src/mcp-tools/base/visual-testing-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * CBrowser MCP Tools - Inline image fitting
3
+ *
4
+ * Generated overlays (attention heatmaps, comparison maps, motor and story
5
+ * overlays) are full-resolution PNGs of 0.5-1 MB. A tool result has to stay
6
+ * under the host's ~150k-character cap (MAX_RESPONSE_SIZE), or the host swaps
7
+ * the whole result for a file pointer and the JSON beside the image arrives as
8
+ * unparseable text.
9
+ *
10
+ * Those two facts used to be resolved by dropping the picture: an overlay over
11
+ * a fixed budget was left out and named instead, so the tool whose finding IS
12
+ * the picture returned no picture. The PNG is not the only thing that can be
13
+ * shown. This fits a JPEG preview into whatever budget the JSON leaves, and the
14
+ * full-resolution PNG stays in the artifact store for artifact_fetch and the
15
+ * public URL.
16
+ *
17
+ * @copyright 2026 Alexandria Eden alexandria.shai.eden@gmail.com https://cbrowser.ai
18
+ * @license MIT
19
+ */
20
+ import { type ContentBlock } from "./screenshot-utils.js";
21
+ /** A JPEG preview that fits an inline budget. */
22
+ export interface InlineImage {
23
+ /** Base64 JPEG, no data-URL prefix. */
24
+ data: string;
25
+ mimeType: "image/jpeg";
26
+ width: number;
27
+ height: number;
28
+ sourceWidth: number;
29
+ sourceHeight: number;
30
+ quality: number;
31
+ }
32
+ /**
33
+ * Re-encode an image as the largest, best-quality JPEG whose base64 fits in
34
+ * `budgetChars`: the quality ladder at full size first, then each downscale
35
+ * step. Returns null when even the smallest useful preview does not fit, or
36
+ * when the input cannot be decoded.
37
+ */
38
+ export declare function fitImageForInline(png: Buffer, budgetChars: number): Promise<InlineImage | null>;
39
+ /** What a result says about one preview, so the reader knows what it is looking at. */
40
+ export interface InlinePreview {
41
+ inline: boolean;
42
+ mimeType?: "image/jpeg";
43
+ /** Preview size, "WxH". */
44
+ size?: string;
45
+ /** Size of the full-resolution original, "WxH". */
46
+ fullSize?: string;
47
+ quality?: number;
48
+ base64Chars?: number;
49
+ note: string;
50
+ }
51
+ /** An overlay to preview, and where its full-resolution original can be had. */
52
+ export interface PreviewSource {
53
+ name: string;
54
+ png: Buffer;
55
+ /** Human-readable pointer to the full-resolution PNG, e.g. "heatmapUrl, or artifact_fetch({ file: heatmapFile })". */
56
+ fullResolution: string;
57
+ }
58
+ /**
59
+ * Held back from the cap for the preview descriptions written into the JSON
60
+ * after the budget is set, and for the result envelope. Same margin the
61
+ * screenshot path keeps (screenshot-utils RESULT_MARGIN).
62
+ */
63
+ export declare const PREVIEW_RESULT_MARGIN = 6000;
64
+ /** Serialized size of a set of content blocks, in bytes (never fewer than characters). */
65
+ export declare function contentSize(blocks: unknown[]): number;
66
+ /**
67
+ * Build `[text, ...images]` for a result that carries generated overlays.
68
+ *
69
+ * The images share whatever the JSON leaves of the cap, split evenly with any
70
+ * share an earlier image did not use carried to the next. `annotate` receives
71
+ * the preview descriptions (by source name) and returns fields merged into the
72
+ * JSON, so the result states exactly what was attached.
73
+ *
74
+ * The cap is then MEASURED on the finished content, not trusted: if the
75
+ * descriptions pushed it over, the images are refitted into a smaller budget,
76
+ * and if nothing fits the result goes out with no images and says so.
77
+ */
78
+ export declare function buildContentWithPreviews(data: Record<string, unknown>, sources: PreviewSource[], annotate: (previews: Record<string, InlinePreview>) => Record<string, unknown>, opts?: {
79
+ cap?: number;
80
+ maxCharsPerImage?: number;
81
+ }): Promise<ContentBlock[]>;
82
+ //# sourceMappingURL=inline-image.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inline-image.d.ts","sourceRoot":"","sources":["../../src/mcp-tools/inline-image.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAqB,KAAK,YAAY,EAAqB,MAAM,uBAAuB,CAAC;AAEhG,iDAAiD;AACjD,MAAM,WAAW,WAAW;IAC1B,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAgBD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAiDrG;AAED,uFAAuF;AACvF,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,2BAA2B;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,gFAAgF;AAChF,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,sHAAsH;IACtH,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,OAAQ,CAAC;AAK3C,0FAA0F;AAC1F,wBAAgB,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAErD;AAqBD;;;;;;;;;;;GAWG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,aAAa,EAAE,EACxB,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9E,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAO,GACrD,OAAO,CAAC,YAAY,EAAE,CAAC,CAkCzB"}
@@ -0,0 +1,163 @@
1
+ /**
2
+ * CBrowser MCP Tools - Inline image fitting
3
+ *
4
+ * Generated overlays (attention heatmaps, comparison maps, motor and story
5
+ * overlays) are full-resolution PNGs of 0.5-1 MB. A tool result has to stay
6
+ * under the host's ~150k-character cap (MAX_RESPONSE_SIZE), or the host swaps
7
+ * the whole result for a file pointer and the JSON beside the image arrives as
8
+ * unparseable text.
9
+ *
10
+ * Those two facts used to be resolved by dropping the picture: an overlay over
11
+ * a fixed budget was left out and named instead, so the tool whose finding IS
12
+ * the picture returned no picture. The PNG is not the only thing that can be
13
+ * shown. This fits a JPEG preview into whatever budget the JSON leaves, and the
14
+ * full-resolution PNG stays in the artifact store for artifact_fetch and the
15
+ * public URL.
16
+ *
17
+ * @copyright 2026 Alexandria Eden alexandria.shai.eden@gmail.com https://cbrowser.ai
18
+ * @license MIT
19
+ */
20
+ import sharp from "sharp";
21
+ import { MAX_RESPONSE_SIZE } from "./screenshot-utils.js";
22
+ /** Tried at each size, best first. */
23
+ const QUALITY_LADDER = [80, 65, 50, 40, 30];
24
+ /** Tried in order once no quality fits at the current size. */
25
+ const SCALE_LADDER = [1, 0.75, 0.6, 0.5, 0.4, 0.3, 0.25, 0.2];
26
+ /** Narrower than this a page overlay shows nothing a reader can use. */
27
+ const MIN_PREVIEW_WIDTH = 160;
28
+ /** Base64 length of n bytes, exact. */
29
+ function base64Length(bytes) {
30
+ return 4 * Math.ceil(bytes / 3);
31
+ }
32
+ /**
33
+ * Re-encode an image as the largest, best-quality JPEG whose base64 fits in
34
+ * `budgetChars`: the quality ladder at full size first, then each downscale
35
+ * step. Returns null when even the smallest useful preview does not fit, or
36
+ * when the input cannot be decoded.
37
+ */
38
+ export async function fitImageForInline(png, budgetChars) {
39
+ if (!Number.isFinite(budgetChars) || budgetChars <= 0)
40
+ return null;
41
+ let sourceWidth;
42
+ let sourceHeight;
43
+ try {
44
+ const meta = await sharp(png).metadata();
45
+ if (!meta.width || !meta.height)
46
+ return null;
47
+ sourceWidth = meta.width;
48
+ sourceHeight = meta.height;
49
+ }
50
+ catch {
51
+ return null;
52
+ }
53
+ const lowest = QUALITY_LADDER[QUALITY_LADDER.length - 1];
54
+ for (const scale of SCALE_LADDER) {
55
+ const width = Math.max(1, Math.round(sourceWidth * scale));
56
+ const height = Math.max(1, Math.round(sourceHeight * scale));
57
+ if (scale < 1 && width < MIN_PREVIEW_WIDTH)
58
+ break;
59
+ // JPEG has no alpha channel. Flattened onto white explicitly, because the
60
+ // encoder's own default is black and a translucent overlay would darken.
61
+ const encode = (quality) => {
62
+ let pipeline = sharp(png).flatten({ background: "#ffffff" });
63
+ if (scale < 1)
64
+ pipeline = pipeline.resize(width, height);
65
+ return pipeline.jpeg({ quality }).toBuffer();
66
+ };
67
+ // The cheapest rung first: when even the lowest quality misses at this
68
+ // size, no higher quality can fit, so the size is skipped in one encode.
69
+ const floor = await encode(lowest);
70
+ if (base64Length(floor.length) > budgetChars)
71
+ continue;
72
+ for (const quality of QUALITY_LADDER) {
73
+ const buf = quality === lowest ? floor : await encode(quality);
74
+ if (base64Length(buf.length) <= budgetChars) {
75
+ return {
76
+ data: buf.toString("base64"),
77
+ mimeType: "image/jpeg",
78
+ width,
79
+ height,
80
+ sourceWidth,
81
+ sourceHeight,
82
+ quality,
83
+ };
84
+ }
85
+ }
86
+ }
87
+ return null;
88
+ }
89
+ /**
90
+ * Held back from the cap for the preview descriptions written into the JSON
91
+ * after the budget is set, and for the result envelope. Same margin the
92
+ * screenshot path keeps (screenshot-utils RESULT_MARGIN).
93
+ */
94
+ export const PREVIEW_RESULT_MARGIN = 6_000;
95
+ /** Characters an image block costs beyond its data: {"type":"image","data":"","mimeType":"image/jpeg"} and a separator. */
96
+ const IMAGE_BLOCK_OVERHEAD = 64;
97
+ /** Serialized size of a set of content blocks, in bytes (never fewer than characters). */
98
+ export function contentSize(blocks) {
99
+ return Buffer.byteLength(JSON.stringify(blocks));
100
+ }
101
+ function describe(fitted, source, budget) {
102
+ if (!fitted) {
103
+ return {
104
+ inline: false,
105
+ note: `No preview fits in this result (${Math.max(0, budget)} characters left for it after the JSON), so this image is NOT in this response. Full resolution: ${source.fullResolution}.`,
106
+ };
107
+ }
108
+ const scaled = fitted.width !== fitted.sourceWidth || fitted.height !== fitted.sourceHeight;
109
+ return {
110
+ inline: true,
111
+ mimeType: fitted.mimeType,
112
+ size: `${fitted.width}x${fitted.height}`,
113
+ fullSize: `${fitted.sourceWidth}x${fitted.sourceHeight}`,
114
+ quality: fitted.quality,
115
+ base64Chars: fitted.data.length,
116
+ note: `The inline image is a ${fitted.width}x${fitted.height} JPEG preview (quality ${fitted.quality}) of the ${fitted.sourceWidth}x${fitted.sourceHeight} PNG, ${scaled ? "downscaled and " : ""}compressed to keep this result under the host's size cap. Full resolution: ${source.fullResolution}.`,
117
+ };
118
+ }
119
+ /**
120
+ * Build `[text, ...images]` for a result that carries generated overlays.
121
+ *
122
+ * The images share whatever the JSON leaves of the cap, split evenly with any
123
+ * share an earlier image did not use carried to the next. `annotate` receives
124
+ * the preview descriptions (by source name) and returns fields merged into the
125
+ * JSON, so the result states exactly what was attached.
126
+ *
127
+ * The cap is then MEASURED on the finished content, not trusted: if the
128
+ * descriptions pushed it over, the images are refitted into a smaller budget,
129
+ * and if nothing fits the result goes out with no images and says so.
130
+ */
131
+ export async function buildContentWithPreviews(data, sources, annotate, opts = {}) {
132
+ const cap = opts.cap ?? MAX_RESPONSE_SIZE;
133
+ const textOf = (fields) => ({ type: "text", text: JSON.stringify({ ...data, ...fields }, null, 2) });
134
+ let reserve = PREVIEW_RESULT_MARGIN;
135
+ for (let attempt = 0; attempt < 3; attempt++) {
136
+ const base = contentSize([textOf({})]);
137
+ let remaining = cap - reserve - base - sources.length * IMAGE_BLOCK_OVERHEAD;
138
+ const blocks = [];
139
+ const previews = {};
140
+ for (let i = 0; i < sources.length; i++) {
141
+ const share = Math.floor(Math.max(0, remaining) / (sources.length - i));
142
+ const budget = opts.maxCharsPerImage !== undefined ? Math.min(share, opts.maxCharsPerImage) : share;
143
+ const fitted = await fitImageForInline(sources[i].png, budget);
144
+ previews[sources[i].name] = describe(fitted, sources[i], budget);
145
+ if (fitted) {
146
+ blocks.push({ type: "image", data: fitted.data, mimeType: fitted.mimeType });
147
+ remaining -= fitted.data.length;
148
+ }
149
+ }
150
+ const content = [textOf(annotate(previews)), ...blocks];
151
+ const size = contentSize(content);
152
+ if (size <= cap)
153
+ return content;
154
+ reserve += size - cap + 1_000;
155
+ }
156
+ // Unreachable in practice (the margin dwarfs the descriptions), but the cap
157
+ // is a hard limit, so the fallback is a result with no images that says so.
158
+ const none = {};
159
+ for (const source of sources)
160
+ none[source.name] = describe(null, source, 0);
161
+ return [textOf(annotate(none))];
162
+ }
163
+ //# sourceMappingURL=inline-image.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inline-image.js","sourceRoot":"","sources":["../../src/mcp-tools/inline-image.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,8 @@
5
5
  */
6
6
  import type { Persona, CognitiveTraits, CognitiveProfile, AttentionPatternType, DecisionStyleType, AgentPersona } from "./types.js";
7
7
  import { AGENT_PERSONAS, isAgentPersona, getAgentPersona, listAgentPersonas, isAgentPersonaObject } from "./agent-personas.js";
8
+ /** Replace an account's loaded personas. Never visible outside that account's scope. */
9
+ export declare function registerAccountPersonas(accountId: number, personas: Persona[]): void;
8
10
  export declare function loadCustomPersonas(): Record<string, Persona>;
9
11
  /**
10
12
  * Save a custom persona to disk.
@@ -202,6 +204,36 @@ export declare function suggestPersonaNames(requested: string, limit?: number):
202
204
  * known name is not defining a persona, it is a typo. (2026-08-02)
203
205
  */
204
206
  export declare function resolvePersonaOrThrow(name: string, syntheticTraits?: Record<string, number> | undefined): Persona | AccessibilityPersona | AgentPersona;
207
+ /**
208
+ * Resolve a persona name for a measuring tool, or refuse - the one resolver.
209
+ *
210
+ * Every tool that measures "as" a persona must call this BEFORE measuring.
211
+ * Three tools did their own resolution and each failed open differently:
212
+ * empathy_audit returned empathyScore 0 with errors: [] for a name that does not
213
+ * exist, attention_analysis handed the bare string to the relevance LLM, which
214
+ * role-played it (a one-letter typo of cognitive-adhd scored 81 against the real
215
+ * persona's 80), and attention_compare reported a nonexistent persona as more
216
+ * different from power-user than the deliberately extreme real pair. (2026-10-09)
217
+ *
218
+ * `aliases` maps shorthand to a roster name (empathy_audit's disability terms).
219
+ * When the name that measured differs from the one asked for, `resolvedFrom`
220
+ * says so; a silent substitution reads as the requested persona's result.
221
+ */
222
+ export declare function resolvePersonaForTool(requested: string, aliases?: Record<string, string>): {
223
+ name: string;
224
+ persona: Persona | AccessibilityPersona | AgentPersona;
225
+ resolvedFrom?: string;
226
+ };
227
+ /**
228
+ * A cognitive persona for a journey engine, refusing names nothing knows.
229
+ *
230
+ * Journey and benchmark engines used `getPersona(name) || first-timer`, so a
231
+ * typo ran as first-timer and the result was reported under the typo. A name no
232
+ * registry knows now throws UnknownPersonaError. A name that IS known but is not
233
+ * a cognitive persona (an accessibility or agent persona) keeps the old
234
+ * first-timer substitution -- a named limit, not fixed here. (2026-10-09)
235
+ */
236
+ export declare function getPersonaOrRefuse(name: string | undefined): Persona;
205
237
  export declare function listAllPersonas(): string[];
206
238
  /**
207
239
  * Register personas at runtime without disk writes.
@@ -1 +1 @@
1
- {"version":3,"file":"personas.d.ts","sourceRoot":"","sources":["../src/personas.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAaH,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEpI,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AA+D/H,wBAAgB,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA+D5D;AAED;;GAEG;AACH;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS;IAAE,eAAe,CAAC,EAAE,eAAe,CAAA;CAAE,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAMrG;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAM1D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAwBzD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD;AAwBD;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAoCxF;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAehF;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAY7E;AAMD;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,GAClB,OAAO,CA+OT;AAmND;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,EAChC,OAAO,GAAE;IACP,SAAS,CAAC,EAAE,UAAU,GAAG,cAAc,GAAG,QAAQ,CAAC;IACnD,MAAM,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;IACxC,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACxB,GACL,OAAO,CAkFT;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,oBAAoB,GAAG,gBAAgB,CAgT7F;AAMD,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAwmBpD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAS5D;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,EAAE,CAMvC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAMD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvD;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CA4mCvE,CAAC;AAEF;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CAEtF;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,EAAE,CAEpD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,CAAC,CAAC,EAAE,oBAAoB,GAAG;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAA;CAAE,CAwCxH;AAMD;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAwTtD,CAAC;AAEF;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAErE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAEhD;AA2CD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,oBAAoB,GAAG,YAAY,GAAG,SAAS,CAsCrG;AAED;;;;GAIG;AACH;;;;;;GAMG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAEhC,QAAQ,CAAC,SAAS,EAAE,MAAM;IAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE;IADtE,QAAQ,CAAC,IAAI,qBAAqB;gBACb,SAAS,EAAE,MAAM,EAAW,WAAW,EAAE,MAAM,EAAE;CAQvE;AAED,6DAA6D;AAC7D,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,MAAM,EAAE,CA8B1E;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GACnD,OAAO,GAAG,oBAAoB,GAAG,YAAY,CAO/C;AAED,wBAAgB,eAAe,IAAI,MAAM,EAAE,CAU1C;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI,CAI1D;AAOD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"personas.d.ts","sourceRoot":"","sources":["../src/personas.ts"],"names":[],"mappings":"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"}
package/dist/personas.js CHANGED
@@ -14,7 +14,7 @@ import { join } from "path";
14
14
  import { homedir } from "os";
15
15
  import { applyTraitCorrelations } from "./persona-questionnaire.js";
16
16
  import { AGENT_PERSONAS, isAgentPersona, getAgentPersona, listAgentPersonas, isAgentPersonaObject } from "./agent-personas.js";
17
- import { scopedDataDir } from "./persona-scope.js";
17
+ import { scopedDataDir, scopedAccountId } from "./persona-scope.js";
18
18
  import { TRAIT_DEFINITIONS, canonicalizeTraits } from "./trait-reference.js";
19
19
  // ============================================================================
20
20
  // Custom Personas Storage
@@ -45,6 +45,35 @@ function personasDirFor() {
45
45
  * @since 16.17.0
46
46
  */
47
47
  const RUNTIME_PERSONAS = {};
48
+ /**
49
+ * An account's custom personas, loaded from the CMS, keyed by account.
50
+ *
51
+ * These used to go into RUNTIME_PERSONAS, which is one map for the whole
52
+ * process and is checked FIRST by getAnyPersona. So once any account ran
53
+ * attention_analysis, its personas resolved by name for every other caller in
54
+ * that process - a cross-tenant read - and the trait vector a measurement read
55
+ * for a name depended on whether that had happened yet. list_cognitive_personas
56
+ * never consulted the map, so the roster and persona_lookup returned different
57
+ * records for alexa-eden (WM 0.25 vs 0.40, FOMO 0.25 vs 0.60). (2026-10-09)
58
+ *
59
+ * Stored process-wide because the load is expensive, but READ only through the
60
+ * request's persona scope, so request A can never see account B's personas. And
61
+ * consulted AFTER the on-disk store, which for a scoped request is that
62
+ * account's mirror of the same rows, so every reader agrees on one record.
63
+ */
64
+ const ACCOUNT_PERSONAS = new Map();
65
+ /** Replace an account's loaded personas. Never visible outside that account's scope. */
66
+ export function registerAccountPersonas(accountId, personas) {
67
+ const byName = {};
68
+ for (const p of personas)
69
+ byName[p.name] = p;
70
+ ACCOUNT_PERSONAS.set(accountId, byName);
71
+ }
72
+ /** The current request's account personas; empty when unscoped. */
73
+ function scopedAccountPersonas() {
74
+ const id = scopedAccountId();
75
+ return id === undefined ? {} : ACCOUNT_PERSONAS.get(id) ?? {};
76
+ }
48
77
  function ensurePersonasDir() {
49
78
  if (!existsSync(DATA_DIR)) {
50
79
  mkdirSync(DATA_DIR, { recursive: true });
@@ -1725,6 +1754,12 @@ export function getPersona(name) {
1725
1754
  if (customPersonas[name]) {
1726
1755
  return customPersonas[name];
1727
1756
  }
1757
+ // Then the calling account's CMS personas, in the same order getAnyPersona
1758
+ // uses, so list_cognitive_personas and persona_lookup cannot disagree.
1759
+ const accountPersonas = scopedAccountPersonas();
1760
+ if (accountPersonas[name]) {
1761
+ return accountPersonas[name];
1762
+ }
1728
1763
  // Fall back to built-ins
1729
1764
  return BUILTIN_PERSONAS[name];
1730
1765
  }
@@ -1734,8 +1769,9 @@ export function getPersona(name) {
1734
1769
  export function listPersonas() {
1735
1770
  const builtinNames = Object.keys(BUILTIN_PERSONAS);
1736
1771
  const customNames = Object.keys(loadCustomPersonas());
1772
+ const accountNames = Object.keys(scopedAccountPersonas());
1737
1773
  // Combine and dedupe (custom personas with same name as built-in take precedence in getPersona)
1738
- return [...new Set([...builtinNames, ...customNames])];
1774
+ return [...new Set([...builtinNames, ...customNames, ...accountNames])];
1739
1775
  }
1740
1776
  /**
1741
1777
  * List only custom persona names.
@@ -3330,6 +3366,13 @@ export function getAnyPersona(name) {
3330
3366
  if (customPersonas[name]) {
3331
3367
  return customPersonas[name];
3332
3368
  }
3369
+ // 2b. The calling account's CMS personas (scoped; empty when unscoped).
3370
+ // Same position as in getPersona, so the roster and every measurement
3371
+ // resolve a name to the same record.
3372
+ const accountPersonas = scopedAccountPersonas();
3373
+ if (accountPersonas[name]) {
3374
+ return accountPersonas[name];
3375
+ }
3333
3376
  // 3. Check built-in personas
3334
3377
  if (BUILTIN_PERSONAS[name]) {
3335
3378
  return BUILTIN_PERSONAS[name];
@@ -3442,6 +3485,49 @@ export function resolvePersonaOrThrow(name, syntheticTraits) {
3442
3485
  }
3443
3486
  throw new UnknownPersonaError(name, suggestPersonaNames(name));
3444
3487
  }
3488
+ /**
3489
+ * Resolve a persona name for a measuring tool, or refuse - the one resolver.
3490
+ *
3491
+ * Every tool that measures "as" a persona must call this BEFORE measuring.
3492
+ * Three tools did their own resolution and each failed open differently:
3493
+ * empathy_audit returned empathyScore 0 with errors: [] for a name that does not
3494
+ * exist, attention_analysis handed the bare string to the relevance LLM, which
3495
+ * role-played it (a one-letter typo of cognitive-adhd scored 81 against the real
3496
+ * persona's 80), and attention_compare reported a nonexistent persona as more
3497
+ * different from power-user than the deliberately extreme real pair. (2026-10-09)
3498
+ *
3499
+ * `aliases` maps shorthand to a roster name (empathy_audit's disability terms).
3500
+ * When the name that measured differs from the one asked for, `resolvedFrom`
3501
+ * says so; a silent substitution reads as the requested persona's result.
3502
+ */
3503
+ export function resolvePersonaForTool(requested, aliases) {
3504
+ const aliased = aliases?.[requested.toLowerCase()] ?? requested;
3505
+ const persona = getAnyPersona(aliased);
3506
+ if (!persona)
3507
+ throw new UnknownPersonaError(requested, suggestPersonaNames(requested));
3508
+ const name = persona.name ?? aliased;
3509
+ return name === requested ? { name, persona } : { name, persona, resolvedFrom: requested };
3510
+ }
3511
+ /**
3512
+ * A cognitive persona for a journey engine, refusing names nothing knows.
3513
+ *
3514
+ * Journey and benchmark engines used `getPersona(name) || first-timer`, so a
3515
+ * typo ran as first-timer and the result was reported under the typo. A name no
3516
+ * registry knows now throws UnknownPersonaError. A name that IS known but is not
3517
+ * a cognitive persona (an accessibility or agent persona) keeps the old
3518
+ * first-timer substitution -- a named limit, not fixed here. (2026-10-09)
3519
+ */
3520
+ export function getPersonaOrRefuse(name) {
3521
+ if (!name)
3522
+ return BUILTIN_PERSONAS["first-timer"];
3523
+ const direct = getPersona(name);
3524
+ if (direct)
3525
+ return direct;
3526
+ const any = getAnyPersona(name);
3527
+ if (!any)
3528
+ throw new UnknownPersonaError(name, suggestPersonaNames(name));
3529
+ return getPersona(any.name) ?? BUILTIN_PERSONAS["first-timer"];
3530
+ }
3445
3531
  export function listAllPersonas() {
3446
3532
  const runtimeNames = Object.keys(RUNTIME_PERSONAS);
3447
3533
  const builtinNames = Object.keys(BUILTIN_PERSONAS);
@@ -3449,8 +3535,9 @@ export function listAllPersonas() {
3449
3535
  const emotionalNames = Object.keys(EMOTIONAL_PERSONAS);
3450
3536
  const agentNames = Object.keys(AGENT_PERSONAS);
3451
3537
  const customNames = Object.keys(loadCustomPersonas());
3538
+ const accountNames = Object.keys(scopedAccountPersonas());
3452
3539
  // Combine and dedupe (runtime first for Enterprise priority)
3453
- return [...new Set([...runtimeNames, ...builtinNames, ...accessibilityNames, ...emotionalNames, ...agentNames, ...customNames])];
3540
+ return [...new Set([...runtimeNames, ...builtinNames, ...accessibilityNames, ...emotionalNames, ...agentNames, ...customNames, ...accountNames])];
3454
3541
  }
3455
3542
  /**
3456
3543
  * Register personas at runtime without disk writes.