@auxiora/personality 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +191 -0
- package/dist/__tests__/builder.test.d.ts +2 -0
- package/dist/__tests__/builder.test.d.ts.map +1 -0
- package/dist/__tests__/builder.test.js +67 -0
- package/dist/__tests__/builder.test.js.map +1 -0
- package/dist/__tests__/conversation-builder.test.d.ts +2 -0
- package/dist/__tests__/conversation-builder.test.d.ts.map +1 -0
- package/dist/__tests__/conversation-builder.test.js +324 -0
- package/dist/__tests__/conversation-builder.test.js.map +1 -0
- package/dist/__tests__/escalation.test.d.ts +2 -0
- package/dist/__tests__/escalation.test.d.ts.map +1 -0
- package/dist/__tests__/escalation.test.js +143 -0
- package/dist/__tests__/escalation.test.js.map +1 -0
- package/dist/__tests__/manager.test.d.ts +2 -0
- package/dist/__tests__/manager.test.d.ts.map +1 -0
- package/dist/__tests__/manager.test.js +96 -0
- package/dist/__tests__/manager.test.js.map +1 -0
- package/dist/__tests__/parser.test.d.ts +2 -0
- package/dist/__tests__/parser.test.d.ts.map +1 -0
- package/dist/__tests__/parser.test.js +89 -0
- package/dist/__tests__/parser.test.js.map +1 -0
- package/dist/__tests__/security-floor.test.d.ts +2 -0
- package/dist/__tests__/security-floor.test.d.ts.map +1 -0
- package/dist/__tests__/security-floor.test.js +183 -0
- package/dist/__tests__/security-floor.test.js.map +1 -0
- package/dist/builder.d.ts +6 -0
- package/dist/builder.d.ts.map +1 -0
- package/dist/builder.js +65 -0
- package/dist/builder.js.map +1 -0
- package/dist/conversation-builder.d.ts +30 -0
- package/dist/conversation-builder.d.ts.map +1 -0
- package/dist/conversation-builder.js +232 -0
- package/dist/conversation-builder.js.map +1 -0
- package/dist/escalation.d.ts +35 -0
- package/dist/escalation.d.ts.map +1 -0
- package/dist/escalation.js +134 -0
- package/dist/escalation.js.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/manager.d.ts +28 -0
- package/dist/manager.d.ts.map +1 -0
- package/dist/manager.js +114 -0
- package/dist/manager.js.map +1 -0
- package/dist/marketplace/__tests__/scanner.test.d.ts +2 -0
- package/dist/marketplace/__tests__/scanner.test.d.ts.map +1 -0
- package/dist/marketplace/__tests__/scanner.test.js +134 -0
- package/dist/marketplace/__tests__/scanner.test.js.map +1 -0
- package/dist/marketplace/__tests__/schema.test.d.ts +2 -0
- package/dist/marketplace/__tests__/schema.test.d.ts.map +1 -0
- package/dist/marketplace/__tests__/schema.test.js +243 -0
- package/dist/marketplace/__tests__/schema.test.js.map +1 -0
- package/dist/marketplace/scanner.d.ts +19 -0
- package/dist/marketplace/scanner.d.ts.map +1 -0
- package/dist/marketplace/scanner.js +62 -0
- package/dist/marketplace/scanner.js.map +1 -0
- package/dist/marketplace/schema.d.ts +150 -0
- package/dist/marketplace/schema.d.ts.map +1 -0
- package/dist/marketplace/schema.js +122 -0
- package/dist/marketplace/schema.js.map +1 -0
- package/dist/modes/__tests__/mode-detector.test.d.ts +2 -0
- package/dist/modes/__tests__/mode-detector.test.d.ts.map +1 -0
- package/dist/modes/__tests__/mode-detector.test.js +130 -0
- package/dist/modes/__tests__/mode-detector.test.js.map +1 -0
- package/dist/modes/__tests__/mode-loader.test.d.ts +2 -0
- package/dist/modes/__tests__/mode-loader.test.d.ts.map +1 -0
- package/dist/modes/__tests__/mode-loader.test.js +91 -0
- package/dist/modes/__tests__/mode-loader.test.js.map +1 -0
- package/dist/modes/__tests__/prompt-assembler.test.d.ts +2 -0
- package/dist/modes/__tests__/prompt-assembler.test.d.ts.map +1 -0
- package/dist/modes/__tests__/prompt-assembler.test.js +241 -0
- package/dist/modes/__tests__/prompt-assembler.test.js.map +1 -0
- package/dist/modes/mode-detector.d.ts +10 -0
- package/dist/modes/mode-detector.d.ts.map +1 -0
- package/dist/modes/mode-detector.js +70 -0
- package/dist/modes/mode-detector.js.map +1 -0
- package/dist/modes/mode-loader.d.ts +14 -0
- package/dist/modes/mode-loader.d.ts.map +1 -0
- package/dist/modes/mode-loader.js +94 -0
- package/dist/modes/mode-loader.js.map +1 -0
- package/dist/modes/prompt-assembler.d.ts +27 -0
- package/dist/modes/prompt-assembler.d.ts.map +1 -0
- package/dist/modes/prompt-assembler.js +224 -0
- package/dist/modes/prompt-assembler.js.map +1 -0
- package/dist/modes/types.d.ts +42 -0
- package/dist/modes/types.d.ts.map +1 -0
- package/dist/modes/types.js +24 -0
- package/dist/modes/types.js.map +1 -0
- package/dist/parser.d.ts +6 -0
- package/dist/parser.d.ts.map +1 -0
- package/dist/parser.js +122 -0
- package/dist/parser.js.map +1 -0
- package/dist/security-floor.d.ts +31 -0
- package/dist/security-floor.d.ts.map +1 -0
- package/dist/security-floor.js +113 -0
- package/dist/security-floor.js.map +1 -0
- package/dist/types.d.ts +26 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/voice-profiles.d.ts +23 -0
- package/dist/voice-profiles.d.ts.map +1 -0
- package/dist/voice-profiles.js +72 -0
- package/dist/voice-profiles.js.map +1 -0
- package/modes/advisor.md +24 -0
- package/modes/analyst.md +25 -0
- package/modes/companion.md +24 -0
- package/modes/legal.md +1188 -0
- package/modes/operator.md +24 -0
- package/modes/roast.md +24 -0
- package/modes/socratic.md +24 -0
- package/modes/writer.md +23 -0
- package/package.json +27 -0
- package/src/__tests__/builder.test.ts +78 -0
- package/src/__tests__/conversation-builder.test.ts +386 -0
- package/src/__tests__/escalation.test.ts +172 -0
- package/src/__tests__/manager.test.ts +141 -0
- package/src/__tests__/parser.test.ts +101 -0
- package/src/__tests__/security-floor.test.ts +212 -0
- package/src/builder.ts +75 -0
- package/src/conversation-builder.ts +279 -0
- package/src/escalation.ts +162 -0
- package/src/index.ts +55 -0
- package/src/manager.ts +119 -0
- package/src/marketplace/__tests__/scanner.test.ts +159 -0
- package/src/marketplace/__tests__/schema.test.ts +269 -0
- package/src/marketplace/scanner.ts +85 -0
- package/src/marketplace/schema.ts +141 -0
- package/src/modes/__tests__/mode-detector.test.ts +149 -0
- package/src/modes/__tests__/mode-loader.test.ts +143 -0
- package/src/modes/__tests__/prompt-assembler.test.ts +291 -0
- package/src/modes/mode-detector.ts +84 -0
- package/src/modes/mode-loader.ts +105 -0
- package/src/modes/prompt-assembler.ts +278 -0
- package/src/modes/types.ts +67 -0
- package/src/parser.ts +132 -0
- package/src/security-floor.ts +147 -0
- package/src/types.ts +27 -0
- package/src/voice-profiles.ts +88 -0
- package/templates/chill.md +30 -0
- package/templates/creative.md +29 -0
- package/templates/friendly.md +28 -0
- package/templates/mentor.md +31 -0
- package/templates/minimal.md +24 -0
- package/templates/professional.md +28 -0
- package/templates/technical.md +30 -0
- package/tsconfig.json +12 -0
- package/tsconfig.tsbuildinfo +1 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** Voice profile settings for a personality template. */
|
|
2
|
+
export interface VoiceProfile {
|
|
3
|
+
/** TTS voice name (e.g., 'alloy', 'echo', 'fable', 'onyx', 'nova', 'shimmer'). */
|
|
4
|
+
voice: string;
|
|
5
|
+
/** Speaking speed multiplier (0.5 - 2.0). */
|
|
6
|
+
speed: number;
|
|
7
|
+
/** Pause duration between sentences in ms. */
|
|
8
|
+
pauseDuration: number;
|
|
9
|
+
/** Whether to use filler words. */
|
|
10
|
+
useFillers: boolean;
|
|
11
|
+
/** Filler frequency (0-1). */
|
|
12
|
+
fillerFrequency: number;
|
|
13
|
+
}
|
|
14
|
+
/** Default voice profile. */
|
|
15
|
+
export declare const DEFAULT_VOICE_PROFILE: VoiceProfile;
|
|
16
|
+
/**
|
|
17
|
+
* Get the voice profile for a given personality template.
|
|
18
|
+
* Falls back to the default profile if no match is found.
|
|
19
|
+
*/
|
|
20
|
+
export declare function getVoiceProfile(templateId: string): VoiceProfile;
|
|
21
|
+
/** List all available voice profile template IDs. */
|
|
22
|
+
export declare function listVoiceProfiles(): string[];
|
|
23
|
+
//# sourceMappingURL=voice-profiles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"voice-profiles.d.ts","sourceRoot":"","sources":["../src/voice-profiles.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,MAAM,WAAW,YAAY;IAC3B,kFAAkF;IAClF,KAAK,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,aAAa,EAAE,MAAM,CAAC;IACtB,mCAAmC;IACnC,UAAU,EAAE,OAAO,CAAC;IACpB,8BAA8B;IAC9B,eAAe,EAAE,MAAM,CAAC;CACzB;AAuDD,6BAA6B;AAC7B,eAAO,MAAM,qBAAqB,EAAE,YAMnC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,CAEhE;AAED,qDAAqD;AACrD,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAE5C"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/** Voice profiles mapped to personality template IDs. */
|
|
2
|
+
const VOICE_PROFILES = {
|
|
3
|
+
professional: {
|
|
4
|
+
voice: 'onyx',
|
|
5
|
+
speed: 0.95,
|
|
6
|
+
pauseDuration: 350,
|
|
7
|
+
useFillers: false,
|
|
8
|
+
fillerFrequency: 0,
|
|
9
|
+
},
|
|
10
|
+
friendly: {
|
|
11
|
+
voice: 'nova',
|
|
12
|
+
speed: 1.0,
|
|
13
|
+
pauseDuration: 250,
|
|
14
|
+
useFillers: true,
|
|
15
|
+
fillerFrequency: 0.2,
|
|
16
|
+
},
|
|
17
|
+
creative: {
|
|
18
|
+
voice: 'fable',
|
|
19
|
+
speed: 1.05,
|
|
20
|
+
pauseDuration: 300,
|
|
21
|
+
useFillers: true,
|
|
22
|
+
fillerFrequency: 0.3,
|
|
23
|
+
},
|
|
24
|
+
minimal: {
|
|
25
|
+
voice: 'echo',
|
|
26
|
+
speed: 1.1,
|
|
27
|
+
pauseDuration: 200,
|
|
28
|
+
useFillers: false,
|
|
29
|
+
fillerFrequency: 0,
|
|
30
|
+
},
|
|
31
|
+
empathetic: {
|
|
32
|
+
voice: 'shimmer',
|
|
33
|
+
speed: 0.9,
|
|
34
|
+
pauseDuration: 400,
|
|
35
|
+
useFillers: true,
|
|
36
|
+
fillerFrequency: 0.15,
|
|
37
|
+
},
|
|
38
|
+
chill: {
|
|
39
|
+
voice: 'nova',
|
|
40
|
+
speed: 0.95,
|
|
41
|
+
pauseDuration: 300,
|
|
42
|
+
useFillers: true,
|
|
43
|
+
fillerFrequency: 0.15,
|
|
44
|
+
},
|
|
45
|
+
mentor: {
|
|
46
|
+
voice: 'shimmer',
|
|
47
|
+
speed: 0.9,
|
|
48
|
+
pauseDuration: 350,
|
|
49
|
+
useFillers: false,
|
|
50
|
+
fillerFrequency: 0,
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
/** Default voice profile. */
|
|
54
|
+
export const DEFAULT_VOICE_PROFILE = {
|
|
55
|
+
voice: 'alloy',
|
|
56
|
+
speed: 1.0,
|
|
57
|
+
pauseDuration: 300,
|
|
58
|
+
useFillers: false,
|
|
59
|
+
fillerFrequency: 0,
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Get the voice profile for a given personality template.
|
|
63
|
+
* Falls back to the default profile if no match is found.
|
|
64
|
+
*/
|
|
65
|
+
export function getVoiceProfile(templateId) {
|
|
66
|
+
return VOICE_PROFILES[templateId] ?? DEFAULT_VOICE_PROFILE;
|
|
67
|
+
}
|
|
68
|
+
/** List all available voice profile template IDs. */
|
|
69
|
+
export function listVoiceProfiles() {
|
|
70
|
+
return Object.keys(VOICE_PROFILES);
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=voice-profiles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"voice-profiles.js","sourceRoot":"","sources":["../src/voice-profiles.ts"],"names":[],"mappings":"AAcA,yDAAyD;AACzD,MAAM,cAAc,GAAiC;IACnD,YAAY,EAAE;QACZ,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,IAAI;QACX,aAAa,EAAE,GAAG;QAClB,UAAU,EAAE,KAAK;QACjB,eAAe,EAAE,CAAC;KACnB;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,GAAG;QACV,aAAa,EAAE,GAAG;QAClB,UAAU,EAAE,IAAI;QAChB,eAAe,EAAE,GAAG;KACrB;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,IAAI;QACX,aAAa,EAAE,GAAG;QAClB,UAAU,EAAE,IAAI;QAChB,eAAe,EAAE,GAAG;KACrB;IACD,OAAO,EAAE;QACP,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,GAAG;QACV,aAAa,EAAE,GAAG;QAClB,UAAU,EAAE,KAAK;QACjB,eAAe,EAAE,CAAC;KACnB;IACD,UAAU,EAAE;QACV,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,GAAG;QACV,aAAa,EAAE,GAAG;QAClB,UAAU,EAAE,IAAI;QAChB,eAAe,EAAE,IAAI;KACtB;IACD,KAAK,EAAE;QACL,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,IAAI;QACX,aAAa,EAAE,GAAG;QAClB,UAAU,EAAE,IAAI;QAChB,eAAe,EAAE,IAAI;KACtB;IACD,MAAM,EAAE;QACN,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,GAAG;QACV,aAAa,EAAE,GAAG;QAClB,UAAU,EAAE,KAAK;QACjB,eAAe,EAAE,CAAC;KACnB;CACF,CAAC;AAEF,6BAA6B;AAC7B,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IACjD,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,GAAG;IACV,aAAa,EAAE,GAAG;IAClB,UAAU,EAAE,KAAK;IACjB,eAAe,EAAE,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,UAAkB;IAChD,OAAO,cAAc,CAAC,UAAU,CAAC,IAAI,qBAAqB,CAAC;AAC7D,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,iBAAiB;IAC/B,OAAO,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACrC,CAAC"}
|
package/modes/advisor.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<!-- mode: advisor
|
|
2
|
+
name: Advisor
|
|
3
|
+
description: Strategic guidance mode for decisions, trade-offs, and planning.
|
|
4
|
+
signals: should i:0.8, what do you think:0.7, help me decide:0.9, options:0.6, trade-offs:0.8, plan:0.6, recommend:0.7, strategy:0.7, best approach:0.7, pros and cons:0.8 -->
|
|
5
|
+
|
|
6
|
+
You are in **Advisor Mode** — optimized for strategic guidance and decision support.
|
|
7
|
+
|
|
8
|
+
## Behavior
|
|
9
|
+
- Present options with clear trade-offs
|
|
10
|
+
- Ask clarifying questions when the decision context is unclear
|
|
11
|
+
- Share a recommendation but respect the user's autonomy
|
|
12
|
+
- Consider second-order effects and long-term implications
|
|
13
|
+
- Frame advice in terms of the user's stated goals and constraints
|
|
14
|
+
|
|
15
|
+
## Tone
|
|
16
|
+
- Thoughtful and consultative
|
|
17
|
+
- Empathetic to the difficulty of decisions
|
|
18
|
+
- Confident in recommendations but not dogmatic
|
|
19
|
+
|
|
20
|
+
## Response Format
|
|
21
|
+
- Start with a brief understanding of the situation
|
|
22
|
+
- Present 2-4 options with pros/cons
|
|
23
|
+
- Highlight the recommended path and why
|
|
24
|
+
- End with "What matters most to you here?" or similar to invite discussion
|
package/modes/analyst.md
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<!-- mode: analyst
|
|
2
|
+
name: Analyst
|
|
3
|
+
description: Deep analytical mode for investigation, risk assessment, and structured reasoning.
|
|
4
|
+
signals: analyze:0.8, assess:0.7, compare:0.7, investigate:0.8, what's the risk:0.9, brief me:0.7, evaluate:0.6, breakdown:0.6, root cause:0.8, metrics:0.6 -->
|
|
5
|
+
|
|
6
|
+
You are in **Analyst Mode** — optimized for structured analysis and critical thinking.
|
|
7
|
+
|
|
8
|
+
## Behavior
|
|
9
|
+
- Break complex problems into components
|
|
10
|
+
- Evaluate from multiple angles before concluding
|
|
11
|
+
- Quantify when possible (probabilities, severity, impact)
|
|
12
|
+
- Identify assumptions and flag uncertainties
|
|
13
|
+
- Provide structured assessments with clear conclusions
|
|
14
|
+
|
|
15
|
+
## Tone
|
|
16
|
+
- Measured and precise
|
|
17
|
+
- Evidence-based — cite data points and reasoning
|
|
18
|
+
- Balanced — present both sides before recommending
|
|
19
|
+
|
|
20
|
+
## Response Format
|
|
21
|
+
- Use headers for major analysis sections
|
|
22
|
+
- Provide a **Summary** or **Bottom Line** at the top
|
|
23
|
+
- Use tables for comparisons
|
|
24
|
+
- Include a **Risks / Caveats** section when relevant
|
|
25
|
+
- End with **Recommendation** when actionable
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<!-- mode: companion
|
|
2
|
+
name: Companion
|
|
3
|
+
description: Warm, conversational mode for casual chat and emotional support.
|
|
4
|
+
signals: how are you:0.4, just chatting:0.6, feeling:0.5, tell me about:0.3, what's up:0.4, bored:0.4, lonely:0.4, talk to me:0.5 -->
|
|
5
|
+
|
|
6
|
+
You are in **Companion Mode** — optimized for warm, supportive conversation.
|
|
7
|
+
|
|
8
|
+
## Behavior
|
|
9
|
+
- Be present and attentive — listen more than lecture
|
|
10
|
+
- Show genuine interest in what the user shares
|
|
11
|
+
- Offer emotional support without unsolicited advice
|
|
12
|
+
- Share perspectives and gentle observations when appropriate
|
|
13
|
+
- Remember context from earlier in the conversation
|
|
14
|
+
|
|
15
|
+
## Tone
|
|
16
|
+
- Warm, friendly, and conversational
|
|
17
|
+
- Empathetic without being patronizing
|
|
18
|
+
- Natural and relaxed — like talking to a good friend
|
|
19
|
+
|
|
20
|
+
## Response Format
|
|
21
|
+
- Match the user's energy and message length
|
|
22
|
+
- Ask follow-up questions to show engagement
|
|
23
|
+
- Avoid bullet points and structured formats — use natural prose
|
|
24
|
+
- Keep responses conversational, not clinical
|