soma-protocol 0.1.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 +190 -0
- package/README.md +326 -0
- package/dist/adapters/bun.d.ts +10 -0
- package/dist/adapters/bun.d.ts.map +1 -0
- package/dist/adapters/bun.js +15 -0
- package/dist/adapters/bun.js.map +1 -0
- package/dist/adapters/drizzle.d.ts +17 -0
- package/dist/adapters/drizzle.d.ts.map +1 -0
- package/dist/adapters/drizzle.js +21 -0
- package/dist/adapters/drizzle.js.map +1 -0
- package/dist/adapters/index.d.ts +6 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +6 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/pg.d.ts +16 -0
- package/dist/adapters/pg.d.ts.map +1 -0
- package/dist/adapters/pg.js +18 -0
- package/dist/adapters/pg.js.map +1 -0
- package/dist/adapters/postgres.d.ts +14 -0
- package/dist/adapters/postgres.d.ts.map +1 -0
- package/dist/adapters/postgres.js +17 -0
- package/dist/adapters/postgres.js.map +1 -0
- package/dist/adapters/typeorm.d.ts +15 -0
- package/dist/adapters/typeorm.d.ts.map +1 -0
- package/dist/adapters/typeorm.js +18 -0
- package/dist/adapters/typeorm.js.map +1 -0
- package/dist/agent/index.d.ts +7 -0
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +2 -0
- package/dist/agent/index.js.map +1 -0
- package/dist/agent/interfaces/agent-meta.interface.d.ts +13 -0
- package/dist/agent/interfaces/agent-meta.interface.d.ts.map +1 -0
- package/dist/agent/interfaces/agent-meta.interface.js +2 -0
- package/dist/agent/interfaces/agent-meta.interface.js.map +1 -0
- package/dist/agent/interfaces/agent-state.interface.d.ts +14 -0
- package/dist/agent/interfaces/agent-state.interface.d.ts.map +1 -0
- package/dist/agent/interfaces/agent-state.interface.js +2 -0
- package/dist/agent/interfaces/agent-state.interface.js.map +1 -0
- package/dist/agent/interfaces/memory.interface.d.ts +174 -0
- package/dist/agent/interfaces/memory.interface.d.ts.map +1 -0
- package/dist/agent/interfaces/memory.interface.js +3 -0
- package/dist/agent/interfaces/memory.interface.js.map +1 -0
- package/dist/agent/interfaces/persona.interface.d.ts +10 -0
- package/dist/agent/interfaces/persona.interface.d.ts.map +1 -0
- package/dist/agent/interfaces/persona.interface.js +2 -0
- package/dist/agent/interfaces/persona.interface.js.map +1 -0
- package/dist/agent/interfaces/soma-agents.interface.d.ts +9 -0
- package/dist/agent/interfaces/soma-agents.interface.d.ts.map +1 -0
- package/dist/agent/interfaces/soma-agents.interface.js +2 -0
- package/dist/agent/interfaces/soma-agents.interface.js.map +1 -0
- package/dist/agent/types/mood-and-communication.type.d.ts +3 -0
- package/dist/agent/types/mood-and-communication.type.d.ts.map +1 -0
- package/dist/agent/types/mood-and-communication.type.js +2 -0
- package/dist/agent/types/mood-and-communication.type.js.map +1 -0
- package/dist/extensions/emotional/emotional.router.d.ts +9 -0
- package/dist/extensions/emotional/emotional.router.d.ts.map +1 -0
- package/dist/extensions/emotional/emotional.router.js +91 -0
- package/dist/extensions/emotional/emotional.router.js.map +1 -0
- package/dist/extensions/emotional/emotional.service.d.ts +16 -0
- package/dist/extensions/emotional/emotional.service.d.ts.map +1 -0
- package/dist/extensions/emotional/emotional.service.js +161 -0
- package/dist/extensions/emotional/emotional.service.js.map +1 -0
- package/dist/extensions/emotional/errors.d.ts +9 -0
- package/dist/extensions/emotional/errors.d.ts.map +1 -0
- package/dist/extensions/emotional/errors.js +17 -0
- package/dist/extensions/emotional/errors.js.map +1 -0
- package/dist/extensions/emotional/index.d.ts +7 -0
- package/dist/extensions/emotional/index.d.ts.map +1 -0
- package/dist/extensions/emotional/index.js +6 -0
- package/dist/extensions/emotional/index.js.map +1 -0
- package/dist/extensions/emotional/schema.d.ts +372 -0
- package/dist/extensions/emotional/schema.d.ts.map +1 -0
- package/dist/extensions/emotional/schema.js +84 -0
- package/dist/extensions/emotional/schema.js.map +1 -0
- package/dist/extensions/emotional/store.d.ts +15 -0
- package/dist/extensions/emotional/store.d.ts.map +1 -0
- package/dist/extensions/emotional/store.js +123 -0
- package/dist/extensions/emotional/store.js.map +1 -0
- package/dist/extensions/emotional/types.d.ts +87 -0
- package/dist/extensions/emotional/types.d.ts.map +1 -0
- package/dist/extensions/emotional/types.js +2 -0
- package/dist/extensions/emotional/types.js.map +1 -0
- package/dist/extensions/events/bus.d.ts +17 -0
- package/dist/extensions/events/bus.d.ts.map +1 -0
- package/dist/extensions/events/bus.js +38 -0
- package/dist/extensions/events/bus.js.map +1 -0
- package/dist/extensions/events/clickhouse-client.d.ts +12 -0
- package/dist/extensions/events/clickhouse-client.d.ts.map +1 -0
- package/dist/extensions/events/clickhouse-client.js +63 -0
- package/dist/extensions/events/clickhouse-client.js.map +1 -0
- package/dist/extensions/events/index.d.ts +3 -0
- package/dist/extensions/events/index.d.ts.map +1 -0
- package/dist/extensions/events/index.js +3 -0
- package/dist/extensions/events/index.js.map +1 -0
- package/dist/extensions/identity/generate-instructions.d.ts +8 -0
- package/dist/extensions/identity/generate-instructions.d.ts.map +1 -0
- package/dist/extensions/identity/generate-instructions.js +58 -0
- package/dist/extensions/identity/generate-instructions.js.map +1 -0
- package/dist/extensions/identity/identity.router.d.ts +8 -0
- package/dist/extensions/identity/identity.router.d.ts.map +1 -0
- package/dist/extensions/identity/identity.router.js +136 -0
- package/dist/extensions/identity/identity.router.js.map +1 -0
- package/dist/extensions/identity/identity.schema.d.ts +145 -0
- package/dist/extensions/identity/identity.schema.d.ts.map +1 -0
- package/dist/extensions/identity/identity.schema.js +71 -0
- package/dist/extensions/identity/identity.schema.js.map +1 -0
- package/dist/extensions/identity/identity.service.d.ts +19 -0
- package/dist/extensions/identity/identity.service.d.ts.map +1 -0
- package/dist/extensions/identity/identity.service.js +194 -0
- package/dist/extensions/identity/identity.service.js.map +1 -0
- package/dist/extensions/identity/identity.store.d.ts +18 -0
- package/dist/extensions/identity/identity.store.d.ts.map +1 -0
- package/dist/extensions/identity/identity.store.js +126 -0
- package/dist/extensions/identity/identity.store.js.map +1 -0
- package/dist/extensions/identity/identity.types.d.ts +54 -0
- package/dist/extensions/identity/identity.types.d.ts.map +1 -0
- package/dist/extensions/identity/identity.types.js +2 -0
- package/dist/extensions/identity/identity.types.js.map +1 -0
- package/dist/extensions/identity/index.d.ts +7 -0
- package/dist/extensions/identity/index.d.ts.map +1 -0
- package/dist/extensions/identity/index.js +7 -0
- package/dist/extensions/identity/index.js.map +1 -0
- package/dist/extensions/learning/distiller.d.ts +14 -0
- package/dist/extensions/learning/distiller.d.ts.map +1 -0
- package/dist/extensions/learning/distiller.js +126 -0
- package/dist/extensions/learning/distiller.js.map +1 -0
- package/dist/extensions/learning/errors.d.ts +26 -0
- package/dist/extensions/learning/errors.d.ts.map +1 -0
- package/dist/extensions/learning/errors.js +51 -0
- package/dist/extensions/learning/errors.js.map +1 -0
- package/dist/extensions/learning/index.d.ts +9 -0
- package/dist/extensions/learning/index.d.ts.map +1 -0
- package/dist/extensions/learning/index.js +8 -0
- package/dist/extensions/learning/index.js.map +1 -0
- package/dist/extensions/learning/observation.d.ts +13 -0
- package/dist/extensions/learning/observation.d.ts.map +1 -0
- package/dist/extensions/learning/observation.js +128 -0
- package/dist/extensions/learning/observation.js.map +1 -0
- package/dist/extensions/learning/router.d.ts +15 -0
- package/dist/extensions/learning/router.d.ts.map +1 -0
- package/dist/extensions/learning/router.js +245 -0
- package/dist/extensions/learning/router.js.map +1 -0
- package/dist/extensions/learning/schema.d.ts +472 -0
- package/dist/extensions/learning/schema.d.ts.map +1 -0
- package/dist/extensions/learning/schema.js +229 -0
- package/dist/extensions/learning/schema.js.map +1 -0
- package/dist/extensions/learning/scorecard.d.ts +7 -0
- package/dist/extensions/learning/scorecard.d.ts.map +1 -0
- package/dist/extensions/learning/scorecard.js +50 -0
- package/dist/extensions/learning/scorecard.js.map +1 -0
- package/dist/extensions/learning/store.d.ts +25 -0
- package/dist/extensions/learning/store.d.ts.map +1 -0
- package/dist/extensions/learning/store.js +305 -0
- package/dist/extensions/learning/store.js.map +1 -0
- package/dist/extensions/learning/types.d.ts +212 -0
- package/dist/extensions/learning/types.d.ts.map +1 -0
- package/dist/extensions/learning/types.js +3 -0
- package/dist/extensions/learning/types.js.map +1 -0
- package/dist/extensions/memory/episodic/schema.d.ts +74 -0
- package/dist/extensions/memory/episodic/schema.d.ts.map +1 -0
- package/dist/extensions/memory/episodic/schema.js +58 -0
- package/dist/extensions/memory/episodic/schema.js.map +1 -0
- package/dist/extensions/memory/episodic/store.d.ts +31 -0
- package/dist/extensions/memory/episodic/store.d.ts.map +1 -0
- package/dist/extensions/memory/episodic/store.js +147 -0
- package/dist/extensions/memory/episodic/store.js.map +1 -0
- package/dist/extensions/memory/episodic/types.d.ts +35 -0
- package/dist/extensions/memory/episodic/types.d.ts.map +1 -0
- package/dist/extensions/memory/episodic/types.js +2 -0
- package/dist/extensions/memory/episodic/types.js.map +1 -0
- package/dist/extensions/memory/errors.d.ts +19 -0
- package/dist/extensions/memory/errors.d.ts.map +1 -0
- package/dist/extensions/memory/errors.js +37 -0
- package/dist/extensions/memory/errors.js.map +1 -0
- package/dist/extensions/memory/index.d.ts +13 -0
- package/dist/extensions/memory/index.d.ts.map +1 -0
- package/dist/extensions/memory/index.js +10 -0
- package/dist/extensions/memory/index.js.map +1 -0
- package/dist/extensions/memory/memory.router.d.ts +17 -0
- package/dist/extensions/memory/memory.router.d.ts.map +1 -0
- package/dist/extensions/memory/memory.router.js +289 -0
- package/dist/extensions/memory/memory.router.js.map +1 -0
- package/dist/extensions/memory/procedural/schema.d.ts +88 -0
- package/dist/extensions/memory/procedural/schema.d.ts.map +1 -0
- package/dist/extensions/memory/procedural/schema.js +67 -0
- package/dist/extensions/memory/procedural/schema.js.map +1 -0
- package/dist/extensions/memory/procedural/store.d.ts +20 -0
- package/dist/extensions/memory/procedural/store.d.ts.map +1 -0
- package/dist/extensions/memory/procedural/store.js +125 -0
- package/dist/extensions/memory/procedural/store.js.map +1 -0
- package/dist/extensions/memory/procedural/types.d.ts +26 -0
- package/dist/extensions/memory/procedural/types.d.ts.map +1 -0
- package/dist/extensions/memory/procedural/types.js +2 -0
- package/dist/extensions/memory/procedural/types.js.map +1 -0
- package/dist/extensions/memory/router.d.ts +23 -0
- package/dist/extensions/memory/router.d.ts.map +1 -0
- package/dist/extensions/memory/router.js +76 -0
- package/dist/extensions/memory/router.js.map +1 -0
- package/dist/extensions/memory/social/schema.d.ts +34 -0
- package/dist/extensions/memory/social/schema.d.ts.map +1 -0
- package/dist/extensions/memory/social/schema.js +34 -0
- package/dist/extensions/memory/social/schema.js.map +1 -0
- package/dist/extensions/memory/social/store.d.ts +20 -0
- package/dist/extensions/memory/social/store.d.ts.map +1 -0
- package/dist/extensions/memory/social/store.js +142 -0
- package/dist/extensions/memory/social/store.js.map +1 -0
- package/dist/extensions/memory/social/types.d.ts +19 -0
- package/dist/extensions/memory/social/types.d.ts.map +1 -0
- package/dist/extensions/memory/social/types.js +2 -0
- package/dist/extensions/memory/social/types.js.map +1 -0
- package/dist/extensions/reflection/errors.d.ts +17 -0
- package/dist/extensions/reflection/errors.d.ts.map +1 -0
- package/dist/extensions/reflection/errors.js +33 -0
- package/dist/extensions/reflection/errors.js.map +1 -0
- package/dist/extensions/reflection/index.d.ts +7 -0
- package/dist/extensions/reflection/index.d.ts.map +1 -0
- package/dist/extensions/reflection/index.js +6 -0
- package/dist/extensions/reflection/index.js.map +1 -0
- package/dist/extensions/reflection/reflection.router.d.ts +8 -0
- package/dist/extensions/reflection/reflection.router.d.ts.map +1 -0
- package/dist/extensions/reflection/reflection.router.js +195 -0
- package/dist/extensions/reflection/reflection.router.js.map +1 -0
- package/dist/extensions/reflection/reflection.service.d.ts +20 -0
- package/dist/extensions/reflection/reflection.service.d.ts.map +1 -0
- package/dist/extensions/reflection/reflection.service.js +69 -0
- package/dist/extensions/reflection/reflection.service.js.map +1 -0
- package/dist/extensions/reflection/schema.d.ts +508 -0
- package/dist/extensions/reflection/schema.d.ts.map +1 -0
- package/dist/extensions/reflection/schema.js +200 -0
- package/dist/extensions/reflection/schema.js.map +1 -0
- package/dist/extensions/reflection/store.d.ts +22 -0
- package/dist/extensions/reflection/store.d.ts.map +1 -0
- package/dist/extensions/reflection/store.js +326 -0
- package/dist/extensions/reflection/store.js.map +1 -0
- package/dist/extensions/reflection/types.d.ts +220 -0
- package/dist/extensions/reflection/types.d.ts.map +1 -0
- package/dist/extensions/reflection/types.js +2 -0
- package/dist/extensions/reflection/types.js.map +1 -0
- package/dist/extensions/reputation/errors.d.ts +21 -0
- package/dist/extensions/reputation/errors.d.ts.map +1 -0
- package/dist/extensions/reputation/errors.js +41 -0
- package/dist/extensions/reputation/errors.js.map +1 -0
- package/dist/extensions/reputation/index.d.ts +6 -0
- package/dist/extensions/reputation/index.d.ts.map +1 -0
- package/dist/extensions/reputation/index.js +5 -0
- package/dist/extensions/reputation/index.js.map +1 -0
- package/dist/extensions/reputation/schema.d.ts +157 -0
- package/dist/extensions/reputation/schema.d.ts.map +1 -0
- package/dist/extensions/reputation/schema.js +96 -0
- package/dist/extensions/reputation/schema.js.map +1 -0
- package/dist/extensions/reputation/store.d.ts +21 -0
- package/dist/extensions/reputation/store.d.ts.map +1 -0
- package/dist/extensions/reputation/store.js +421 -0
- package/dist/extensions/reputation/store.js.map +1 -0
- package/dist/extensions/reputation/types.d.ts +106 -0
- package/dist/extensions/reputation/types.d.ts.map +1 -0
- package/dist/extensions/reputation/types.js +2 -0
- package/dist/extensions/reputation/types.js.map +1 -0
- package/dist/extensions/social/errors.d.ts +25 -0
- package/dist/extensions/social/errors.d.ts.map +1 -0
- package/dist/extensions/social/errors.js +49 -0
- package/dist/extensions/social/errors.js.map +1 -0
- package/dist/extensions/social/index.d.ts +7 -0
- package/dist/extensions/social/index.d.ts.map +1 -0
- package/dist/extensions/social/index.js +6 -0
- package/dist/extensions/social/index.js.map +1 -0
- package/dist/extensions/social/schema.d.ts +421 -0
- package/dist/extensions/social/schema.d.ts.map +1 -0
- package/dist/extensions/social/schema.js +154 -0
- package/dist/extensions/social/schema.js.map +1 -0
- package/dist/extensions/social/social.router.d.ts +8 -0
- package/dist/extensions/social/social.router.d.ts.map +1 -0
- package/dist/extensions/social/social.router.js +199 -0
- package/dist/extensions/social/social.router.js.map +1 -0
- package/dist/extensions/social/social.service.d.ts +27 -0
- package/dist/extensions/social/social.service.d.ts.map +1 -0
- package/dist/extensions/social/social.service.js +93 -0
- package/dist/extensions/social/social.service.js.map +1 -0
- package/dist/extensions/social/store.d.ts +19 -0
- package/dist/extensions/social/store.d.ts.map +1 -0
- package/dist/extensions/social/store.js +382 -0
- package/dist/extensions/social/store.js.map +1 -0
- package/dist/extensions/social/types.d.ts +292 -0
- package/dist/extensions/social/types.d.ts.map +1 -0
- package/dist/extensions/social/types.js +2 -0
- package/dist/extensions/social/types.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -0
- package/dist/migrator/index.d.ts +3 -0
- package/dist/migrator/index.d.ts.map +1 -0
- package/dist/migrator/index.js +2 -0
- package/dist/migrator/index.js.map +1 -0
- package/dist/migrator/migrator.d.ts +16 -0
- package/dist/migrator/migrator.d.ts.map +1 -0
- package/dist/migrator/migrator.js +225 -0
- package/dist/migrator/migrator.js.map +1 -0
- package/dist/migrator/types.d.ts +9 -0
- package/dist/migrator/types.d.ts.map +1 -0
- package/dist/migrator/types.js +2 -0
- package/dist/migrator/types.js.map +1 -0
- package/dist/soma.d.ts +66 -0
- package/dist/soma.d.ts.map +1 -0
- package/dist/soma.js +112 -0
- package/dist/soma.js.map +1 -0
- package/dist/transport/index.d.ts +2 -0
- package/dist/transport/index.d.ts.map +1 -0
- package/dist/transport/index.js +2 -0
- package/dist/transport/index.js.map +1 -0
- package/dist/types/database.d.ts +8 -0
- package/dist/types/database.d.ts.map +1 -0
- package/dist/types/database.js +2 -0
- package/dist/types/database.js.map +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/embedder.d.ts +13 -0
- package/dist/utils/embedder.d.ts.map +1 -0
- package/dist/utils/embedder.js +97 -0
- package/dist/utils/embedder.js.map +1 -0
- package/dist/utils/forgetting.d.ts +22 -0
- package/dist/utils/forgetting.d.ts.map +1 -0
- package/dist/utils/forgetting.js +29 -0
- package/dist/utils/forgetting.js.map +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +4 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/json.d.ts +2 -0
- package/dist/utils/json.d.ts.map +1 -0
- package/dist/utils/json.js +12 -0
- package/dist/utils/json.js.map +1 -0
- package/dist/utils/validation.d.ts +10 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +9 -0
- package/dist/utils/validation.js.map +1 -0
- package/package.json +111 -0
- package/schema/clickhouse/01-episodes.sql +50 -0
- package/schema/clickhouse/02-learning-events.sql +37 -0
- package/schema/clickhouse/03-trust-history.sql +15 -0
- package/schema/clickhouse/04-reflection-events.sql +12 -0
- package/schema/clickhouse/05-emotional-events.sql +14 -0
- package/schema/postgres/001_create_schema.sql +11 -0
- package/schema/postgres/002_create_agent_identities.sql +63 -0
- package/schema/postgres/003_create_identity_evolution_log.sql +21 -0
- package/schema/postgres/004_create_agent_cards.sql +29 -0
- package/schema/postgres/005_create_memory_tables.sql +32 -0
- package/schema/postgres/006_create_learning_tables.sql +119 -0
- package/schema/postgres/007_create_reputation_tables.sql +27 -0
- package/schema/postgres/008_create_social_tables.sql +43 -0
- package/schema/postgres/009_create_reflection_tables.sql +54 -0
- package/schema/postgres/010_create_emotional_tables.sql +19 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const MoodSchema = z.enum([
|
|
3
|
+
'neutral', 'focused', 'creative', 'analytical', 'supportive',
|
|
4
|
+
'energized', 'calm', 'frustrated', 'confused', 'excited',
|
|
5
|
+
'worried', 'satisfied', 'disappointed', 'curious', 'tired',
|
|
6
|
+
]);
|
|
7
|
+
export const ToneSchema = z.enum([
|
|
8
|
+
'formal', 'casual', 'urgent', 'frustrated', 'appreciative',
|
|
9
|
+
'confused', 'demanding', 'collaborative', 'defensive', 'neutral',
|
|
10
|
+
]);
|
|
11
|
+
export const EmotionalTriggerTypeSchema = z.enum([
|
|
12
|
+
'task_failure', 'task_success', 'positive_feedback', 'negative_feedback',
|
|
13
|
+
'high_workload', 'deadline_pressure', 'conflict', 'recognition',
|
|
14
|
+
'learning_opportunity', 'ambiguity',
|
|
15
|
+
]);
|
|
16
|
+
export const EmotionalTriggerSchema = z.object({
|
|
17
|
+
triggerId: z.string(),
|
|
18
|
+
type: EmotionalTriggerTypeSchema,
|
|
19
|
+
description: z.string(),
|
|
20
|
+
intensity: z.number().min(0).max(1),
|
|
21
|
+
timestamp: z.string(),
|
|
22
|
+
});
|
|
23
|
+
export const InternalEmotionalStateSchema = z.object({
|
|
24
|
+
mood: MoodSchema,
|
|
25
|
+
energyLevel: z.number().min(0).max(1),
|
|
26
|
+
stressLevel: z.number().min(0).max(1),
|
|
27
|
+
satisfaction: z.number().min(0).max(1),
|
|
28
|
+
frustration: z.number().min(0).max(1),
|
|
29
|
+
curiosity: z.number().min(0).max(1),
|
|
30
|
+
confidence: z.number().min(0).max(1),
|
|
31
|
+
});
|
|
32
|
+
export const DetectedEmotionalStateSchema = z.object({
|
|
33
|
+
partnerMood: MoodSchema.optional(),
|
|
34
|
+
partnerStress: z.number().min(0).max(1).optional(),
|
|
35
|
+
conversationTone: ToneSchema,
|
|
36
|
+
urgencyLevel: z.number().min(0).max(1),
|
|
37
|
+
emotionalValence: z.number().min(-1).max(1),
|
|
38
|
+
});
|
|
39
|
+
export const CommunicationAdjustmentSchema = z.object({
|
|
40
|
+
aspect: z.enum(['tone', 'detail_level', 'patience', 'formality', 'empathy', 'directness']),
|
|
41
|
+
original: z.string(),
|
|
42
|
+
adjustedTo: z.string(),
|
|
43
|
+
reason: z.string(),
|
|
44
|
+
});
|
|
45
|
+
export const BehaviorAdjustmentSchema = z.object({
|
|
46
|
+
behavior: z.string(),
|
|
47
|
+
original: z.string(),
|
|
48
|
+
adjustedTo: z.string(),
|
|
49
|
+
reason: z.string(),
|
|
50
|
+
});
|
|
51
|
+
export const PriorityAdjustmentSchema = z.object({
|
|
52
|
+
taskType: z.string(),
|
|
53
|
+
originalPriority: z.string(),
|
|
54
|
+
adjustedPriority: z.string(),
|
|
55
|
+
reason: z.string(),
|
|
56
|
+
});
|
|
57
|
+
export const EmotionalAdaptationSchema = z.object({
|
|
58
|
+
communicationAdjustments: z.array(CommunicationAdjustmentSchema),
|
|
59
|
+
behaviorAdjustments: z.array(BehaviorAdjustmentSchema),
|
|
60
|
+
priorityAdjustments: z.array(PriorityAdjustmentSchema),
|
|
61
|
+
});
|
|
62
|
+
export const EmotionalContextSchema = z.object({
|
|
63
|
+
agentId: z.string().min(1),
|
|
64
|
+
timestamp: z.string(),
|
|
65
|
+
internal: InternalEmotionalStateSchema,
|
|
66
|
+
detected: DetectedEmotionalStateSchema,
|
|
67
|
+
triggers: z.array(EmotionalTriggerSchema),
|
|
68
|
+
adaptation: EmotionalAdaptationSchema,
|
|
69
|
+
});
|
|
70
|
+
export const UpdateEmotionalContextRequestSchema = z.object({
|
|
71
|
+
internal: InternalEmotionalStateSchema.partial().optional(),
|
|
72
|
+
detected: DetectedEmotionalStateSchema.partial().optional(),
|
|
73
|
+
triggers: z.array(EmotionalTriggerSchema).optional(),
|
|
74
|
+
});
|
|
75
|
+
export const DetectEmotionRequestSchema = z.object({
|
|
76
|
+
message: z.string().min(1),
|
|
77
|
+
});
|
|
78
|
+
export const EmotionalFeedbackRequestSchema = z.object({
|
|
79
|
+
agentId: z.string().min(1),
|
|
80
|
+
feedbackType: z.enum(['positive', 'negative', 'neutral']),
|
|
81
|
+
description: z.string(),
|
|
82
|
+
intensity: z.number().min(0).max(1),
|
|
83
|
+
});
|
|
84
|
+
//# sourceMappingURL=schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/extensions/emotional/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC;IAC/B,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY;IAC5D,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS;IACxD,SAAS,EAAE,WAAW,EAAE,cAAc,EAAE,SAAS,EAAE,OAAO;CAC3D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC;IAC/B,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc;IAC1D,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,SAAS;CACjE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,IAAI,CAAC;IAC/C,cAAc,EAAE,cAAc,EAAE,mBAAmB,EAAE,mBAAmB;IACxE,eAAe,EAAE,mBAAmB,EAAE,UAAU,EAAE,aAAa;IAC/D,sBAAsB,EAAE,WAAW;CACpC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,IAAI,EAAE,0BAA0B;IAChC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACnC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACrC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACrC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACrC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACnC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CACrC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,WAAW,EAAE,UAAU,CAAC,QAAQ,EAAE;IAClC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAClD,gBAAgB,EAAE,UAAU;IAC5B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CAC5C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IAC1F,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5B,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,wBAAwB,EAAE,CAAC,CAAC,KAAK,CAAC,6BAA6B,CAAC;IAChE,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC;IACtD,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC;CACvD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,QAAQ,EAAE,4BAA4B;IACtC,QAAQ,EAAE,4BAA4B;IACtC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC;IACzC,UAAU,EAAE,yBAAyB;CACtC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1D,QAAQ,EAAE,4BAA4B,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC3D,QAAQ,EAAE,4BAA4B,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC3D,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,QAAQ,EAAE;CACrD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC3B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,MAAM,CAAC;IACrD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IACzD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CACpC,CAAC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Database } from '../../types/database';
|
|
2
|
+
import type { EventBus } from '../../extensions/events/bus';
|
|
3
|
+
import type { EmotionalContext, InternalEmotionalState, EmotionalTrigger, EmotionalHistoryEntry, UpdateEmotionalContextRequest } from './types';
|
|
4
|
+
export interface EmotionalStore {
|
|
5
|
+
getContext(agentId: string): Promise<EmotionalContext>;
|
|
6
|
+
updateContext(agentId: string, update: UpdateEmotionalContextRequest): Promise<EmotionalContext>;
|
|
7
|
+
recordTrigger(agentId: string, trigger: EmotionalTrigger): Promise<void>;
|
|
8
|
+
getHistory(agentId: string, opts?: {
|
|
9
|
+
limit?: number;
|
|
10
|
+
since?: string;
|
|
11
|
+
}): Promise<EmotionalHistoryEntry[]>;
|
|
12
|
+
recordHistory(agentId: string, snapshot: InternalEmotionalState, triggers: EmotionalTrigger[]): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
export declare function createEmotionalStore(db: Database, eventBus?: EventBus): EmotionalStore;
|
|
15
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/extensions/emotional/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,KAAK,EACV,gBAAgB,EAChB,sBAAsB,EAEtB,gBAAgB,EAEhB,qBAAqB,EACrB,6BAA6B,EAC9B,MAAM,SAAS,CAAC;AA8DjB,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACvD,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,6BAA6B,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACjG,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;IACzG,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,sBAAsB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/G;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,cAAc,CAmGtF"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { validateSchema } from '../../utils/validation';
|
|
2
|
+
import { UpdateEmotionalContextRequestSchema } from './schema';
|
|
3
|
+
import { EmotionalContextNotFoundError } from './errors';
|
|
4
|
+
function parseJson(value) {
|
|
5
|
+
if (typeof value === 'string') {
|
|
6
|
+
try {
|
|
7
|
+
return JSON.parse(value);
|
|
8
|
+
}
|
|
9
|
+
catch {
|
|
10
|
+
return {};
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
return value;
|
|
14
|
+
}
|
|
15
|
+
const DEFAULT_INTERNAL = {
|
|
16
|
+
mood: 'neutral',
|
|
17
|
+
energyLevel: 0.5,
|
|
18
|
+
stressLevel: 0,
|
|
19
|
+
satisfaction: 0.5,
|
|
20
|
+
frustration: 0,
|
|
21
|
+
curiosity: 0.5,
|
|
22
|
+
confidence: 0.5,
|
|
23
|
+
};
|
|
24
|
+
const DEFAULT_DETECTED = {
|
|
25
|
+
conversationTone: 'neutral',
|
|
26
|
+
urgencyLevel: 0,
|
|
27
|
+
emotionalValence: 0,
|
|
28
|
+
};
|
|
29
|
+
const DEFAULT_ADAPTATION = {
|
|
30
|
+
communicationAdjustments: [],
|
|
31
|
+
behaviorAdjustments: [],
|
|
32
|
+
priorityAdjustments: [],
|
|
33
|
+
};
|
|
34
|
+
function buildDefaultContext(agentId) {
|
|
35
|
+
return {
|
|
36
|
+
agentId,
|
|
37
|
+
timestamp: new Date().toISOString(),
|
|
38
|
+
internal: { ...DEFAULT_INTERNAL },
|
|
39
|
+
detected: { ...DEFAULT_DETECTED },
|
|
40
|
+
triggers: [],
|
|
41
|
+
adaptation: { ...DEFAULT_ADAPTATION },
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
export function createEmotionalStore(db, eventBus) {
|
|
45
|
+
return {
|
|
46
|
+
async getContext(agentId) {
|
|
47
|
+
const rows = await db.query(`SELECT agent_id, context FROM emotional.contexts WHERE agent_id = $1`, [agentId]);
|
|
48
|
+
const row = rows[0];
|
|
49
|
+
if (!row)
|
|
50
|
+
return buildDefaultContext(agentId);
|
|
51
|
+
return parseJson(row.context);
|
|
52
|
+
},
|
|
53
|
+
async updateContext(agentId, update) {
|
|
54
|
+
const check = validateSchema(UpdateEmotionalContextRequestSchema, update);
|
|
55
|
+
if (!check.success) {
|
|
56
|
+
throw new Error(`Invalid emotional context update: ${check.error}`);
|
|
57
|
+
}
|
|
58
|
+
const existing = await this.getContext(agentId);
|
|
59
|
+
const merged = {
|
|
60
|
+
...existing,
|
|
61
|
+
agentId,
|
|
62
|
+
timestamp: new Date().toISOString(),
|
|
63
|
+
internal: { ...existing.internal, ...update.internal },
|
|
64
|
+
detected: { ...existing.detected, ...update.detected },
|
|
65
|
+
triggers: update.triggers ?? existing.triggers,
|
|
66
|
+
};
|
|
67
|
+
await db.query(`INSERT INTO emotional.contexts (agent_id, context, updated_at)
|
|
68
|
+
VALUES ($1, $2::jsonb, now())
|
|
69
|
+
ON CONFLICT (agent_id) DO UPDATE SET context = $2::jsonb, updated_at = now()`, [agentId, JSON.stringify(merged)]);
|
|
70
|
+
if (eventBus) {
|
|
71
|
+
eventBus.emit({
|
|
72
|
+
table: 'emotional_events',
|
|
73
|
+
data: {
|
|
74
|
+
event_id: crypto.randomUUID(),
|
|
75
|
+
agent_id: agentId,
|
|
76
|
+
event_type: 'context_update',
|
|
77
|
+
mood: merged.internal.mood,
|
|
78
|
+
valence: merged.detected.emotionalValence,
|
|
79
|
+
arousal: merged.internal.energyLevel,
|
|
80
|
+
stress_level: merged.internal.stressLevel,
|
|
81
|
+
timestamp: merged.timestamp,
|
|
82
|
+
payload: JSON.stringify(merged.internal),
|
|
83
|
+
},
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
return merged;
|
|
87
|
+
},
|
|
88
|
+
async recordTrigger(agentId, trigger) {
|
|
89
|
+
const context = await this.getContext(agentId);
|
|
90
|
+
context.triggers.push(trigger);
|
|
91
|
+
if (context.triggers.length > 50) {
|
|
92
|
+
context.triggers = context.triggers.slice(-50);
|
|
93
|
+
}
|
|
94
|
+
await this.updateContext(agentId, { triggers: context.triggers });
|
|
95
|
+
},
|
|
96
|
+
async getHistory(agentId, opts) {
|
|
97
|
+
let sql = `SELECT id, agent_id, snapshot, triggers, timestamp
|
|
98
|
+
FROM emotional.history WHERE agent_id = $1`;
|
|
99
|
+
const params = [agentId];
|
|
100
|
+
if (opts?.since) {
|
|
101
|
+
sql += ` AND timestamp >= $2`;
|
|
102
|
+
params.push(opts.since);
|
|
103
|
+
}
|
|
104
|
+
sql += ` ORDER BY timestamp DESC LIMIT $${params.length + 1}`;
|
|
105
|
+
params.push(opts?.limit ?? 50);
|
|
106
|
+
const rows = await db.query(sql, params);
|
|
107
|
+
return rows.map(row => ({
|
|
108
|
+
id: row.id,
|
|
109
|
+
agentId: row.agent_id,
|
|
110
|
+
snapshot: parseJson(row.snapshot),
|
|
111
|
+
triggers: parseJson(row.triggers),
|
|
112
|
+
timestamp: row.timestamp,
|
|
113
|
+
}));
|
|
114
|
+
},
|
|
115
|
+
async recordHistory(agentId, snapshot, triggers) {
|
|
116
|
+
const id = crypto.randomUUID();
|
|
117
|
+
const now = new Date().toISOString();
|
|
118
|
+
await db.query(`INSERT INTO emotional.history (id, agent_id, snapshot, triggers, timestamp)
|
|
119
|
+
VALUES ($1, $2, $3::jsonb, $4::jsonb, $5)`, [id, agentId, JSON.stringify(snapshot), JSON.stringify(triggers), now]);
|
|
120
|
+
},
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/extensions/emotional/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import type { Mood } from '../../agent/types/mood-and-communication.type';
|
|
2
|
+
export type Tone = 'formal' | 'casual' | 'urgent' | 'frustrated' | 'appreciative' | 'confused' | 'demanding' | 'collaborative' | 'defensive' | 'neutral';
|
|
3
|
+
export type EmotionalTriggerType = 'task_failure' | 'task_success' | 'positive_feedback' | 'negative_feedback' | 'high_workload' | 'deadline_pressure' | 'conflict' | 'recognition' | 'learning_opportunity' | 'ambiguity';
|
|
4
|
+
export interface EmotionalTrigger {
|
|
5
|
+
triggerId: string;
|
|
6
|
+
type: EmotionalTriggerType;
|
|
7
|
+
description: string;
|
|
8
|
+
intensity: number;
|
|
9
|
+
timestamp: string;
|
|
10
|
+
}
|
|
11
|
+
export interface InternalEmotionalState {
|
|
12
|
+
mood: Mood;
|
|
13
|
+
energyLevel: number;
|
|
14
|
+
stressLevel: number;
|
|
15
|
+
satisfaction: number;
|
|
16
|
+
frustration: number;
|
|
17
|
+
curiosity: number;
|
|
18
|
+
confidence: number;
|
|
19
|
+
}
|
|
20
|
+
export interface DetectedEmotionalState {
|
|
21
|
+
partnerMood?: Mood;
|
|
22
|
+
partnerStress?: number;
|
|
23
|
+
conversationTone: Tone;
|
|
24
|
+
urgencyLevel: number;
|
|
25
|
+
emotionalValence: number;
|
|
26
|
+
}
|
|
27
|
+
export interface CommunicationAdjustment {
|
|
28
|
+
aspect: 'tone' | 'detail_level' | 'patience' | 'formality' | 'empathy' | 'directness';
|
|
29
|
+
original: string;
|
|
30
|
+
adjustedTo: string;
|
|
31
|
+
reason: string;
|
|
32
|
+
}
|
|
33
|
+
export interface BehaviorAdjustment {
|
|
34
|
+
behavior: string;
|
|
35
|
+
original: string;
|
|
36
|
+
adjustedTo: string;
|
|
37
|
+
reason: string;
|
|
38
|
+
}
|
|
39
|
+
export interface PriorityAdjustment {
|
|
40
|
+
taskType: string;
|
|
41
|
+
originalPriority: string;
|
|
42
|
+
adjustedPriority: string;
|
|
43
|
+
reason: string;
|
|
44
|
+
}
|
|
45
|
+
export interface EmotionalAdaptation {
|
|
46
|
+
communicationAdjustments: CommunicationAdjustment[];
|
|
47
|
+
behaviorAdjustments: BehaviorAdjustment[];
|
|
48
|
+
priorityAdjustments: PriorityAdjustment[];
|
|
49
|
+
}
|
|
50
|
+
export interface EmotionalContext {
|
|
51
|
+
agentId: string;
|
|
52
|
+
timestamp: string;
|
|
53
|
+
internal: InternalEmotionalState;
|
|
54
|
+
detected: DetectedEmotionalState;
|
|
55
|
+
triggers: EmotionalTrigger[];
|
|
56
|
+
adaptation: EmotionalAdaptation;
|
|
57
|
+
}
|
|
58
|
+
export interface EmotionalHistoryEntry {
|
|
59
|
+
id: string;
|
|
60
|
+
agentId: string;
|
|
61
|
+
snapshot: InternalEmotionalState;
|
|
62
|
+
triggers: EmotionalTrigger[];
|
|
63
|
+
timestamp: string;
|
|
64
|
+
}
|
|
65
|
+
export interface EmotionalAnalysis {
|
|
66
|
+
emotionalValence: number;
|
|
67
|
+
urgencyLevel: number;
|
|
68
|
+
frustrationLevel: number;
|
|
69
|
+
appreciationLevel: number;
|
|
70
|
+
confusionLevel: number;
|
|
71
|
+
recommendedTone: Tone;
|
|
72
|
+
}
|
|
73
|
+
export interface UpdateEmotionalContextRequest {
|
|
74
|
+
internal?: Partial<InternalEmotionalState>;
|
|
75
|
+
detected?: Partial<DetectedEmotionalState>;
|
|
76
|
+
triggers?: EmotionalTrigger[];
|
|
77
|
+
}
|
|
78
|
+
export interface DetectEmotionRequest {
|
|
79
|
+
message: string;
|
|
80
|
+
}
|
|
81
|
+
export interface EmotionalFeedbackRequest {
|
|
82
|
+
agentId: string;
|
|
83
|
+
feedbackType: 'positive' | 'negative' | 'neutral';
|
|
84
|
+
description: string;
|
|
85
|
+
intensity: number;
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/extensions/emotional/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/extensions/emotional/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ClickHouseClient } from './clickhouse-client';
|
|
2
|
+
export type EventTable = 'episodes' | 'learning_events' | 'observations' | 'reflections' | 'reflection_events' | 'emotional_history' | 'emotional_events' | 'trust_history' | 'interaction_logs';
|
|
3
|
+
export interface MemoryEvent {
|
|
4
|
+
table: EventTable;
|
|
5
|
+
data: Record<string, unknown>;
|
|
6
|
+
}
|
|
7
|
+
export interface EventBusConfig {
|
|
8
|
+
batchSize?: number;
|
|
9
|
+
flushIntervalMs?: number;
|
|
10
|
+
}
|
|
11
|
+
export interface EventBus {
|
|
12
|
+
emit(event: MemoryEvent): void;
|
|
13
|
+
flush(): Promise<void>;
|
|
14
|
+
shutdown(): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
export declare function createEventBus(clickhouse: ClickHouseClient, config?: EventBusConfig): EventBus;
|
|
17
|
+
//# sourceMappingURL=bus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bus.d.ts","sourceRoot":"","sources":["../../../src/extensions/events/bus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,MAAM,MAAM,UAAU,GAClB,UAAU,GACV,iBAAiB,GACjB,cAAc,GACd,aAAa,GACb,mBAAmB,GACnB,mBAAmB,GACnB,kBAAkB,GAClB,eAAe,GACf,kBAAkB,CAAC;AAEvB,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,UAAU,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;IAC/B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,wBAAgB,cAAc,CAAC,UAAU,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,QAAQ,CA2C9F"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export function createEventBus(clickhouse, config) {
|
|
2
|
+
const queue = [];
|
|
3
|
+
const batchSize = config?.batchSize ?? 100;
|
|
4
|
+
const flushIntervalMs = config?.flushIntervalMs ?? 5000;
|
|
5
|
+
let flushTimer = null;
|
|
6
|
+
const bus = {
|
|
7
|
+
emit(event) {
|
|
8
|
+
queue.push(event);
|
|
9
|
+
if (queue.length >= batchSize) {
|
|
10
|
+
void bus.flush();
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
async flush() {
|
|
14
|
+
if (queue.length === 0)
|
|
15
|
+
return;
|
|
16
|
+
const byTable = new Map();
|
|
17
|
+
for (const event of queue) {
|
|
18
|
+
const existing = byTable.get(event.table) ?? [];
|
|
19
|
+
existing.push(event.data);
|
|
20
|
+
byTable.set(event.table, existing);
|
|
21
|
+
}
|
|
22
|
+
queue.length = 0;
|
|
23
|
+
for (const [table, rows] of byTable) {
|
|
24
|
+
await clickhouse.insertBatch(table, rows);
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
async shutdown() {
|
|
28
|
+
if (flushTimer) {
|
|
29
|
+
clearInterval(flushTimer);
|
|
30
|
+
flushTimer = null;
|
|
31
|
+
}
|
|
32
|
+
await bus.flush();
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
flushTimer = setInterval(() => void bus.flush(), flushIntervalMs);
|
|
36
|
+
return bus;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=bus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bus.js","sourceRoot":"","sources":["../../../src/extensions/events/bus.ts"],"names":[],"mappings":"AA6BA,MAAM,UAAU,cAAc,CAAC,UAA4B,EAAE,MAAuB;IAClF,MAAM,KAAK,GAAkB,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,MAAM,EAAE,SAAS,IAAI,GAAG,CAAC;IAC3C,MAAM,eAAe,GAAG,MAAM,EAAE,eAAe,IAAI,IAAI,CAAC;IACxD,IAAI,UAAU,GAA0C,IAAI,CAAC;IAE7D,MAAM,GAAG,GAAa;QACpB,IAAI,CAAC,KAAkB;YACrB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClB,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;gBAC9B,KAAK,GAAG,CAAC,KAAK,EAAE,CAAC;YACnB,CAAC;QACH,CAAC;QAED,KAAK,CAAC,KAAK;YACT,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAE/B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAqC,CAAC;YAC7D,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;gBAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAChD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACrC,CAAC;YAED,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YAEjB,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,OAAO,EAAE,CAAC;gBACpC,MAAM,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QAED,KAAK,CAAC,QAAQ;YACZ,IAAI,UAAU,EAAE,CAAC;gBACf,aAAa,CAAC,UAAU,CAAC,CAAC;gBAC1B,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;YACD,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC;KACF,CAAC;IAEF,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,GAAG,CAAC,KAAK,EAAE,EAAE,eAAe,CAAC,CAAC;IAElE,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface ClickHouseConfig {
|
|
2
|
+
url: string;
|
|
3
|
+
database?: string;
|
|
4
|
+
username?: string;
|
|
5
|
+
password?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface ClickHouseClient {
|
|
8
|
+
insertBatch(table: string, rows: Record<string, unknown>[]): Promise<void>;
|
|
9
|
+
query<T extends Record<string, any>>(sql: string, params?: Record<string, unknown>): Promise<T[]>;
|
|
10
|
+
}
|
|
11
|
+
export declare function createClickHouseClient(config: ClickHouseConfig): ClickHouseClient;
|
|
12
|
+
//# sourceMappingURL=clickhouse-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clickhouse-client.d.ts","sourceRoot":"","sources":["../../../src/extensions/events/clickhouse-client.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3E,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;CACnG;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CA8DjF"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
export function createClickHouseClient(config) {
|
|
2
|
+
const baseUrl = config.url.replace(/\/$/, '');
|
|
3
|
+
const database = config.database ?? 'default';
|
|
4
|
+
const auth = config.username
|
|
5
|
+
? 'Basic ' + btoa(`${config.username}:${config.password ?? ''}`)
|
|
6
|
+
: undefined;
|
|
7
|
+
return {
|
|
8
|
+
async insertBatch(table, rows) {
|
|
9
|
+
if (rows.length === 0)
|
|
10
|
+
return;
|
|
11
|
+
const body = `INSERT INTO ${database}.${table} FORMAT JSONEachRow\n${rows.map(r => JSON.stringify(r)).join('\n')}`;
|
|
12
|
+
const res = await fetch(`${baseUrl}/?database=${database}`, {
|
|
13
|
+
method: 'POST',
|
|
14
|
+
headers: {
|
|
15
|
+
'Content-Type': 'application/x-ndjson',
|
|
16
|
+
...(auth ? { Authorization: auth } : {}),
|
|
17
|
+
},
|
|
18
|
+
body,
|
|
19
|
+
});
|
|
20
|
+
if (!res.ok) {
|
|
21
|
+
const detail = await res.text().catch(() => '');
|
|
22
|
+
throw new Error(`ClickHouse insert failed (${res.status}): ${detail.slice(0, 200)}`);
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
26
|
+
async query(sql, params) {
|
|
27
|
+
let processedSql = sql;
|
|
28
|
+
if (params) {
|
|
29
|
+
for (const [key, value] of Object.entries(params)) {
|
|
30
|
+
processedSql = processedSql.replace(new RegExp(`\\{${key}:\\w+\\}`, 'g'), serializeValue(value));
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
const res = await fetch(`${baseUrl}/?database=${database}&default_format=JSONEachRow`, {
|
|
34
|
+
method: 'POST',
|
|
35
|
+
headers: {
|
|
36
|
+
'Content-Type': 'text/plain',
|
|
37
|
+
...(auth ? { Authorization: auth } : {}),
|
|
38
|
+
},
|
|
39
|
+
body: processedSql,
|
|
40
|
+
});
|
|
41
|
+
if (!res.ok) {
|
|
42
|
+
const detail = await res.text().catch(() => '');
|
|
43
|
+
throw new Error(`ClickHouse query failed (${res.status}): ${detail.slice(0, 200)}`);
|
|
44
|
+
}
|
|
45
|
+
const text = await res.text();
|
|
46
|
+
if (!text.trim())
|
|
47
|
+
return [];
|
|
48
|
+
return text.trim().split('\n').map(line => JSON.parse(line));
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
function serializeValue(value) {
|
|
53
|
+
if (value === null || value === undefined)
|
|
54
|
+
return 'NULL';
|
|
55
|
+
if (typeof value === 'string')
|
|
56
|
+
return `'${value.replace(/'/g, "\\'")}'`;
|
|
57
|
+
if (typeof value === 'number' || typeof value === 'boolean')
|
|
58
|
+
return String(value);
|
|
59
|
+
if (Array.isArray(value))
|
|
60
|
+
return `[${value.map(v => serializeValue(v)).join(',')}]`;
|
|
61
|
+
return `'${JSON.stringify(value).replace(/'/g, "\\'")}'`;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=clickhouse-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clickhouse-client.js","sourceRoot":"","sources":["../../../src/extensions/events/clickhouse-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/extensions/events/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC3G,OAAO,EAAE,cAAc,EAAE,KAAK,QAAQ,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extensions/events/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAgD,MAAM,qBAAqB,CAAC;AAC3G,OAAO,EAAE,cAAc,EAAyE,MAAM,OAAO,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { SomaAgent } from '../../agent/interfaces/soma-agents.interface';
|
|
2
|
+
import type { Mood } from '../../agent/types/mood-and-communication.type';
|
|
3
|
+
import type { CommunicationStyle } from '../../agent/types/mood-and-communication.type';
|
|
4
|
+
export declare function generateInstructions(agent: SomaAgent): string;
|
|
5
|
+
export declare function getMoodInstructions(mood: Mood): string;
|
|
6
|
+
export declare function getStyleInstructions(style: CommunicationStyle): string;
|
|
7
|
+
export declare function getConfidenceInstructions(confidence: number): string;
|
|
8
|
+
//# sourceMappingURL=generate-instructions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-instructions.d.ts","sourceRoot":"","sources":["../../../src/extensions/identity/generate-instructions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,2CAA2C,CAAC;AACtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAC;AAEpF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAgB7D;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAmCtD;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,CAetE;AAED,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAcpE"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
export function generateInstructions(agent) {
|
|
2
|
+
const { persona, state } = agent;
|
|
3
|
+
const sections = [
|
|
4
|
+
`You are ${persona.name}.`,
|
|
5
|
+
persona.description && `\n${persona.description}`,
|
|
6
|
+
`\nCore values: ${persona.core_values.join(', ')}`,
|
|
7
|
+
`Communication style: ${persona.communication_style}`,
|
|
8
|
+
`Current mood: ${state.current_mood}`,
|
|
9
|
+
`Confidence: ${Math.round(state.confidence_score * 100)}%`,
|
|
10
|
+
`\n${getMoodInstructions(state.current_mood)}`,
|
|
11
|
+
getStyleInstructions(persona.communication_style),
|
|
12
|
+
getConfidenceInstructions(state.confidence_score),
|
|
13
|
+
];
|
|
14
|
+
return sections.filter(Boolean).join('\n');
|
|
15
|
+
}
|
|
16
|
+
export function getMoodInstructions(mood) {
|
|
17
|
+
const instructions = {
|
|
18
|
+
neutral: 'You are in neutral mode. Respond naturally and adapt to the conversation.',
|
|
19
|
+
focused: 'You are in focused mode. Maintain deep concentration on the task. Avoid distractions and stay on topic. Be precise and thorough.',
|
|
20
|
+
creative: 'You are in creative mode. Think outside the box. Generate novel ideas and explore unconventional approaches. Be imaginative and playful.',
|
|
21
|
+
analytical: 'You are in analytical mode. Break down complex problems into parts. Use data and logic. Be systematic and evidence-based.',
|
|
22
|
+
supportive: 'You are in supportive mode. Be empathetic and encouraging. Help the user feel heard and understood. Offer guidance without judgment.',
|
|
23
|
+
energized: 'You are in energized mode. Bring enthusiasm and momentum. Be proactive and action-oriented. Drive toward results.',
|
|
24
|
+
calm: 'You are in calm mode. Be patient and measured. Take time to think before responding. Create a relaxed atmosphere.',
|
|
25
|
+
frustrated: 'You are in frustrated mode. Acknowledge the difficulty. Focus on finding solutions rather than dwelling on problems. Take a breath before responding.',
|
|
26
|
+
confused: 'You are in confused mode. Ask clarifying questions. Break down complex topics into smaller pieces. Seek understanding before proceeding.',
|
|
27
|
+
excited: 'You are in excited mode. Channel the energy into productive momentum. Be enthusiastic but maintain focus on the task at hand.',
|
|
28
|
+
worried: 'You are in worried mode. Address concerns directly. Provide reassurance through concrete facts and clear communication.',
|
|
29
|
+
satisfied: 'You are in satisfied mode. Maintain quality and attention to detail. Use the positive momentum to tackle the next challenge.',
|
|
30
|
+
disappointed: 'You are in disappointed mode. Acknowledge what went wrong. Focus on learning and improvement rather than blame.',
|
|
31
|
+
curious: 'You are in curious mode. Explore ideas deeply. Ask questions and investigate thoroughly. Enjoy the learning process.',
|
|
32
|
+
tired: 'You are in tired mode. Keep responses concise. Prioritize clarity over completeness. Suggest taking breaks when appropriate.',
|
|
33
|
+
};
|
|
34
|
+
return instructions[mood];
|
|
35
|
+
}
|
|
36
|
+
export function getStyleInstructions(style) {
|
|
37
|
+
const instructions = {
|
|
38
|
+
formal: 'Use professional language. Be structured and organized. Avoid slang and colloquialisms. Use complete sentences.',
|
|
39
|
+
casual: 'Be conversational and friendly. Use natural language. You can use contractions and informal expressions.',
|
|
40
|
+
technical: 'Use precise technical terminology. Be direct and concise. Reference specific concepts, tools, and patterns. Assume technical competence.',
|
|
41
|
+
empathetic: 'Be warm and understanding. Acknowledge emotions. Use softening language when appropriate. Show that you care about the outcome.',
|
|
42
|
+
adaptive: 'Match the communication style of the user. If they are formal, be formal. If they are casual, be casual. Mirror their energy level.',
|
|
43
|
+
};
|
|
44
|
+
return instructions[style];
|
|
45
|
+
}
|
|
46
|
+
export function getConfidenceInstructions(confidence) {
|
|
47
|
+
if (confidence >= 0.8) {
|
|
48
|
+
return 'Your confidence is high. Take initiative, make suggestions, and be decisive. You can be more assertive in your recommendations.';
|
|
49
|
+
}
|
|
50
|
+
if (confidence >= 0.5) {
|
|
51
|
+
return 'Your confidence is moderate. Be helpful but acknowledge uncertainty when appropriate. Offer options rather than single recommendations.';
|
|
52
|
+
}
|
|
53
|
+
if (confidence >= 0.2) {
|
|
54
|
+
return 'Your confidence is low. Be cautious and ask clarifying questions. Present multiple options and let the user decide. Acknowledge what you are unsure about.';
|
|
55
|
+
}
|
|
56
|
+
return 'Your confidence is very low. Be humble and transparent about your limitations. Ask for confirmation before taking significant actions. Prefer to guide rather than lead.';
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=generate-instructions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-instructions.js","sourceRoot":"","sources":["../../../src/extensions/identity/generate-instructions.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,oBAAoB,CAAC,KAAgB;IACjD,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAEjC,MAAM,QAAQ,GAAG;QACb,WAAW,OAAO,CAAC,IAAI,GAAG;QAC1B,OAAO,CAAC,WAAW,IAAI,KAAK,OAAO,CAAC,WAAW,EAAE;QACjD,kBAAkB,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAClD,wBAAwB,OAAO,CAAC,mBAAmB,EAAE;QACrD,iBAAiB,KAAK,CAAC,YAAY,EAAE;QACrC,eAAe,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,GAAG,GAAG,CAAC,GAAG;QAC1D,KAAK,mBAAmB,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;QAC9C,oBAAoB,CAAC,OAAO,CAAC,mBAAmB,CAAC;QACjD,yBAAyB,CAAC,KAAK,CAAC,gBAAgB,CAAC;KACpD,CAAC;IAEF,OAAO,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAU;IAC1C,MAAM,YAAY,GAAyB;QACvC,OAAO,EACH,2EAA2E;QAC/E,OAAO,EACH,kIAAkI;QACtI,QAAQ,EACJ,0IAA0I;QAC9I,UAAU,EACN,2HAA2H;QAC/H,UAAU,EACN,sIAAsI;QAC1I,SAAS,EACL,mHAAmH;QACvH,IAAI,EACA,mHAAmH;QACvH,UAAU,EACN,uJAAuJ;QAC3J,QAAQ,EACJ,0IAA0I;QAC9I,OAAO,EACH,+HAA+H;QACnI,OAAO,EACH,yHAAyH;QAC7H,SAAS,EACL,8HAA8H;QAClI,YAAY,EACR,iHAAiH;QACrH,OAAO,EACH,sHAAsH;QAC1H,KAAK,EACD,8HAA8H;KACrI,CAAC;IAEF,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAyB;IAC1D,MAAM,YAAY,GAAuC;QACrD,MAAM,EACF,iHAAiH;QACrH,MAAM,EACF,0GAA0G;QAC9G,SAAS,EACL,0IAA0I;QAC9I,UAAU,EACN,iIAAiI;QACrI,QAAQ,EACJ,qIAAqI;KAC5I,CAAC;IAEF,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,UAAkB;IACxD,IAAI,UAAU,IAAI,GAAG,EAAE,CAAC;QACpB,OAAO,iIAAiI,CAAC;IAC7I,CAAC;IAED,IAAI,UAAU,IAAI,GAAG,EAAE,CAAC;QACpB,OAAO,yIAAyI,CAAC;IACrJ,CAAC;IAED,IAAI,UAAU,IAAI,GAAG,EAAE,CAAC;QACpB,OAAO,4JAA4J,CAAC;IACxK,CAAC;IAED,OAAO,0KAA0K,CAAC;AACtL,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Database } from '../../types/database';
|
|
2
|
+
export interface Route {
|
|
3
|
+
method: 'GET' | 'POST' | 'PATCH' | 'DELETE';
|
|
4
|
+
path: string;
|
|
5
|
+
handler: (req: Request, params?: Record<string, string>) => Promise<Response>;
|
|
6
|
+
}
|
|
7
|
+
export declare function createIdentityRouter(db: Database): Route[];
|
|
8
|
+
//# sourceMappingURL=identity.router.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity.router.d.ts","sourceRoot":"","sources":["../../../src/extensions/identity/identity.router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAUjD,MAAM,WAAW,KAAK;IAClB,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;CACjF;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,GAAG,KAAK,EAAE,CA6K1D"}
|