@molroo-io/sdk 0.6.2 → 0.7.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 (252) hide show
  1. package/README.md +100 -194
  2. package/dist/cjs/api-client.d.ts +2 -12
  3. package/dist/cjs/api-client.d.ts.map +1 -1
  4. package/dist/cjs/api-client.js +4 -42
  5. package/dist/cjs/errors.d.ts +1 -16
  6. package/dist/cjs/errors.d.ts.map +1 -1
  7. package/dist/cjs/errors.js +2 -18
  8. package/dist/cjs/events/types.d.ts +14 -21
  9. package/dist/cjs/events/types.d.ts.map +1 -1
  10. package/dist/cjs/events/types.js +0 -11
  11. package/dist/cjs/index.d.ts +26 -48
  12. package/dist/cjs/index.d.ts.map +1 -1
  13. package/dist/cjs/index.js +29 -52
  14. package/dist/cjs/llm/resolve.d.ts +4 -22
  15. package/dist/cjs/llm/resolve.d.ts.map +1 -1
  16. package/dist/cjs/llm/resolve.js +19 -7
  17. package/dist/cjs/llm/vercel-ai/adapter.d.ts +4 -10
  18. package/dist/cjs/llm/vercel-ai/adapter.d.ts.map +1 -1
  19. package/dist/cjs/llm/vercel-ai/adapter.js +6 -152
  20. package/dist/cjs/llm/vercel-ai/config.d.ts +8 -5
  21. package/dist/cjs/llm/vercel-ai/config.d.ts.map +1 -1
  22. package/dist/cjs/memory/in-memory.d.ts +14 -37
  23. package/dist/cjs/memory/in-memory.d.ts.map +1 -1
  24. package/dist/cjs/memory/in-memory.js +22 -85
  25. package/dist/cjs/memory/recall.d.ts +10 -21
  26. package/dist/cjs/memory/recall.d.ts.map +1 -1
  27. package/dist/cjs/memory/recall.js +12 -91
  28. package/dist/cjs/memory/types.d.ts +46 -186
  29. package/dist/cjs/memory/types.d.ts.map +1 -1
  30. package/dist/cjs/memory/types.js +0 -10
  31. package/dist/cjs/persona/chat-orchestrator.d.ts +46 -0
  32. package/dist/cjs/persona/chat-orchestrator.d.ts.map +1 -0
  33. package/dist/cjs/persona/chat-orchestrator.js +240 -0
  34. package/dist/cjs/persona/event-emitter.d.ts +7 -0
  35. package/dist/cjs/persona/event-emitter.d.ts.map +1 -0
  36. package/dist/cjs/persona/event-emitter.js +53 -0
  37. package/dist/cjs/persona/memory-pipeline.d.ts +26 -0
  38. package/dist/cjs/persona/memory-pipeline.d.ts.map +1 -0
  39. package/dist/cjs/persona/memory-pipeline.js +69 -0
  40. package/dist/cjs/persona.d.ts +56 -187
  41. package/dist/cjs/persona.d.ts.map +1 -1
  42. package/dist/cjs/persona.js +62 -638
  43. package/dist/cjs/shared/appraisal.d.ts +26 -0
  44. package/dist/cjs/shared/appraisal.d.ts.map +1 -0
  45. package/dist/cjs/shared/appraisal.js +45 -0
  46. package/dist/cjs/shared/client-factory.d.ts +23 -0
  47. package/dist/cjs/shared/client-factory.d.ts.map +1 -0
  48. package/dist/cjs/shared/client-factory.js +48 -0
  49. package/dist/cjs/shared/errors.d.ts +21 -0
  50. package/dist/cjs/shared/errors.d.ts.map +1 -0
  51. package/dist/cjs/shared/errors.js +29 -0
  52. package/dist/cjs/world/client.d.ts +2 -9
  53. package/dist/cjs/world/client.d.ts.map +1 -1
  54. package/dist/cjs/world/client.js +7 -34
  55. package/dist/cjs/world/errors.d.ts +1 -8
  56. package/dist/cjs/world/errors.d.ts.map +1 -1
  57. package/dist/cjs/world/errors.js +2 -12
  58. package/dist/cjs/world/index.d.ts +2 -2
  59. package/dist/cjs/world/index.d.ts.map +1 -1
  60. package/dist/cjs/world/types.d.ts +32 -5
  61. package/dist/cjs/world/types.d.ts.map +1 -1
  62. package/dist/cjs/world/world-domain.d.ts.map +1 -1
  63. package/dist/cjs/world/world-domain.js +4 -32
  64. package/dist/cjs/world/world-persona.d.ts +17 -12
  65. package/dist/cjs/world/world-persona.d.ts.map +1 -1
  66. package/dist/cjs/world/world-persona.js +6 -18
  67. package/dist/cjs/world/world.d.ts +28 -5
  68. package/dist/cjs/world/world.d.ts.map +1 -1
  69. package/dist/cjs/world/world.js +13 -11
  70. package/dist/esm/api-client.d.ts +2 -12
  71. package/dist/esm/api-client.d.ts.map +1 -1
  72. package/dist/esm/api-client.js +3 -38
  73. package/dist/esm/errors.d.ts +1 -16
  74. package/dist/esm/errors.d.ts.map +1 -1
  75. package/dist/esm/errors.js +1 -17
  76. package/dist/esm/events/types.d.ts +14 -21
  77. package/dist/esm/events/types.d.ts.map +1 -1
  78. package/dist/esm/events/types.js +0 -11
  79. package/dist/esm/index.d.ts +26 -48
  80. package/dist/esm/index.d.ts.map +1 -1
  81. package/dist/esm/index.js +25 -38
  82. package/dist/esm/llm/resolve.d.ts +4 -22
  83. package/dist/esm/llm/resolve.d.ts.map +1 -1
  84. package/dist/esm/llm/resolve.js +20 -8
  85. package/dist/esm/llm/vercel-ai/adapter.d.ts +4 -10
  86. package/dist/esm/llm/vercel-ai/adapter.d.ts.map +1 -1
  87. package/dist/esm/llm/vercel-ai/adapter.js +6 -119
  88. package/dist/esm/llm/vercel-ai/config.d.ts +8 -5
  89. package/dist/esm/llm/vercel-ai/config.d.ts.map +1 -1
  90. package/dist/esm/memory/in-memory.d.ts +14 -37
  91. package/dist/esm/memory/in-memory.d.ts.map +1 -1
  92. package/dist/esm/memory/in-memory.js +20 -83
  93. package/dist/esm/memory/recall.d.ts +10 -21
  94. package/dist/esm/memory/recall.d.ts.map +1 -1
  95. package/dist/esm/memory/recall.js +12 -91
  96. package/dist/esm/memory/types.d.ts +46 -186
  97. package/dist/esm/memory/types.d.ts.map +1 -1
  98. package/dist/esm/memory/types.js +1 -9
  99. package/dist/esm/persona/chat-orchestrator.d.ts +46 -0
  100. package/dist/esm/persona/chat-orchestrator.d.ts.map +1 -0
  101. package/dist/esm/persona/chat-orchestrator.js +204 -0
  102. package/dist/esm/persona/event-emitter.d.ts +7 -0
  103. package/dist/esm/persona/event-emitter.d.ts.map +1 -0
  104. package/dist/esm/persona/event-emitter.js +50 -0
  105. package/dist/esm/persona/memory-pipeline.d.ts +26 -0
  106. package/dist/esm/persona/memory-pipeline.d.ts.map +1 -0
  107. package/dist/esm/persona/memory-pipeline.js +65 -0
  108. package/dist/esm/persona.d.ts +56 -187
  109. package/dist/esm/persona.d.ts.map +1 -1
  110. package/dist/esm/persona.js +62 -638
  111. package/dist/esm/shared/appraisal.d.ts +26 -0
  112. package/dist/esm/shared/appraisal.d.ts.map +1 -0
  113. package/dist/esm/shared/appraisal.js +40 -0
  114. package/dist/esm/shared/client-factory.d.ts +23 -0
  115. package/dist/esm/shared/client-factory.d.ts.map +1 -0
  116. package/dist/esm/shared/client-factory.js +41 -0
  117. package/dist/esm/shared/errors.d.ts +21 -0
  118. package/dist/esm/shared/errors.d.ts.map +1 -0
  119. package/dist/esm/shared/errors.js +24 -0
  120. package/dist/esm/world/client.d.ts +2 -9
  121. package/dist/esm/world/client.d.ts.map +1 -1
  122. package/dist/esm/world/client.js +6 -30
  123. package/dist/esm/world/errors.d.ts +1 -8
  124. package/dist/esm/world/errors.d.ts.map +1 -1
  125. package/dist/esm/world/errors.js +1 -11
  126. package/dist/esm/world/index.d.ts +2 -2
  127. package/dist/esm/world/index.d.ts.map +1 -1
  128. package/dist/esm/world/types.d.ts +32 -5
  129. package/dist/esm/world/types.d.ts.map +1 -1
  130. package/dist/esm/world/world-domain.d.ts.map +1 -1
  131. package/dist/esm/world/world-domain.js +4 -32
  132. package/dist/esm/world/world-persona.d.ts +17 -12
  133. package/dist/esm/world/world-persona.d.ts.map +1 -1
  134. package/dist/esm/world/world-persona.js +6 -18
  135. package/dist/esm/world/world.d.ts +28 -5
  136. package/dist/esm/world/world.d.ts.map +1 -1
  137. package/dist/esm/world/world.js +13 -11
  138. package/package.json +4 -101
  139. package/dist/cjs/embedding/cloudflare.d.ts +0 -15
  140. package/dist/cjs/embedding/cloudflare.d.ts.map +0 -1
  141. package/dist/cjs/embedding/cloudflare.js +0 -16
  142. package/dist/cjs/embedding/cohere.d.ts +0 -8
  143. package/dist/cjs/embedding/cohere.d.ts.map +0 -1
  144. package/dist/cjs/embedding/cohere.js +0 -31
  145. package/dist/cjs/embedding/index.d.ts +0 -9
  146. package/dist/cjs/embedding/index.d.ts.map +0 -1
  147. package/dist/cjs/embedding/index.js +0 -11
  148. package/dist/cjs/embedding/local.d.ts +0 -6
  149. package/dist/cjs/embedding/local.d.ts.map +0 -1
  150. package/dist/cjs/embedding/local.js +0 -28
  151. package/dist/cjs/embedding/openai.d.ts +0 -9
  152. package/dist/cjs/embedding/openai.d.ts.map +0 -1
  153. package/dist/cjs/embedding/openai.js +0 -26
  154. package/dist/cjs/events/console.d.ts +0 -25
  155. package/dist/cjs/events/console.d.ts.map +0 -1
  156. package/dist/cjs/events/console.js +0 -41
  157. package/dist/cjs/events/webhook.d.ts +0 -30
  158. package/dist/cjs/events/webhook.d.ts.map +0 -1
  159. package/dist/cjs/events/webhook.js +0 -79
  160. package/dist/cjs/memory/cloudflare/index.d.ts +0 -3
  161. package/dist/cjs/memory/cloudflare/index.d.ts.map +0 -1
  162. package/dist/cjs/memory/cloudflare/index.js +0 -5
  163. package/dist/cjs/memory/cloudflare/vectorize.d.ts +0 -62
  164. package/dist/cjs/memory/cloudflare/vectorize.d.ts.map +0 -1
  165. package/dist/cjs/memory/cloudflare/vectorize.js +0 -55
  166. package/dist/cjs/memory/in-memory-semantic.d.ts +0 -16
  167. package/dist/cjs/memory/in-memory-semantic.d.ts.map +0 -1
  168. package/dist/cjs/memory/in-memory-semantic.js +0 -57
  169. package/dist/cjs/memory/pinecone/index.d.ts +0 -7
  170. package/dist/cjs/memory/pinecone/index.d.ts.map +0 -1
  171. package/dist/cjs/memory/pinecone/index.js +0 -8
  172. package/dist/cjs/memory/pinecone/memory-adapter.d.ts +0 -62
  173. package/dist/cjs/memory/pinecone/memory-adapter.d.ts.map +0 -1
  174. package/dist/cjs/memory/pinecone/memory-adapter.js +0 -220
  175. package/dist/cjs/memory/pinecone/semantic.d.ts +0 -44
  176. package/dist/cjs/memory/pinecone/semantic.d.ts.map +0 -1
  177. package/dist/cjs/memory/pinecone/semantic.js +0 -90
  178. package/dist/cjs/memory/sqlite/index.d.ts +0 -3
  179. package/dist/cjs/memory/sqlite/index.d.ts.map +0 -1
  180. package/dist/cjs/memory/sqlite/index.js +0 -5
  181. package/dist/cjs/memory/sqlite/memory-adapter.d.ts +0 -58
  182. package/dist/cjs/memory/sqlite/memory-adapter.d.ts.map +0 -1
  183. package/dist/cjs/memory/sqlite/memory-adapter.js +0 -336
  184. package/dist/cjs/memory/sqlite/schema.d.ts +0 -4
  185. package/dist/cjs/memory/sqlite/schema.d.ts.map +0 -1
  186. package/dist/cjs/memory/sqlite/schema.js +0 -91
  187. package/dist/cjs/memory/supabase/index.d.ts +0 -7
  188. package/dist/cjs/memory/supabase/index.d.ts.map +0 -1
  189. package/dist/cjs/memory/supabase/index.js +0 -8
  190. package/dist/cjs/memory/supabase/memory-adapter.d.ts +0 -67
  191. package/dist/cjs/memory/supabase/memory-adapter.d.ts.map +0 -1
  192. package/dist/cjs/memory/supabase/memory-adapter.js +0 -335
  193. package/dist/cjs/memory/supabase/semantic.d.ts +0 -44
  194. package/dist/cjs/memory/supabase/semantic.d.ts.map +0 -1
  195. package/dist/cjs/memory/supabase/semantic.js +0 -72
  196. package/dist/esm/embedding/cloudflare.d.ts +0 -15
  197. package/dist/esm/embedding/cloudflare.d.ts.map +0 -1
  198. package/dist/esm/embedding/cloudflare.js +0 -13
  199. package/dist/esm/embedding/cohere.d.ts +0 -8
  200. package/dist/esm/embedding/cohere.d.ts.map +0 -1
  201. package/dist/esm/embedding/cohere.js +0 -28
  202. package/dist/esm/embedding/index.d.ts +0 -9
  203. package/dist/esm/embedding/index.d.ts.map +0 -1
  204. package/dist/esm/embedding/index.js +0 -4
  205. package/dist/esm/embedding/local.d.ts +0 -6
  206. package/dist/esm/embedding/local.d.ts.map +0 -1
  207. package/dist/esm/embedding/local.js +0 -25
  208. package/dist/esm/embedding/openai.d.ts +0 -9
  209. package/dist/esm/embedding/openai.d.ts.map +0 -1
  210. package/dist/esm/embedding/openai.js +0 -23
  211. package/dist/esm/events/console.d.ts +0 -25
  212. package/dist/esm/events/console.d.ts.map +0 -1
  213. package/dist/esm/events/console.js +0 -37
  214. package/dist/esm/events/webhook.d.ts +0 -30
  215. package/dist/esm/events/webhook.d.ts.map +0 -1
  216. package/dist/esm/events/webhook.js +0 -75
  217. package/dist/esm/memory/cloudflare/index.d.ts +0 -3
  218. package/dist/esm/memory/cloudflare/index.d.ts.map +0 -1
  219. package/dist/esm/memory/cloudflare/index.js +0 -1
  220. package/dist/esm/memory/cloudflare/vectorize.d.ts +0 -62
  221. package/dist/esm/memory/cloudflare/vectorize.d.ts.map +0 -1
  222. package/dist/esm/memory/cloudflare/vectorize.js +0 -51
  223. package/dist/esm/memory/in-memory-semantic.d.ts +0 -16
  224. package/dist/esm/memory/in-memory-semantic.d.ts.map +0 -1
  225. package/dist/esm/memory/in-memory-semantic.js +0 -53
  226. package/dist/esm/memory/pinecone/index.d.ts +0 -7
  227. package/dist/esm/memory/pinecone/index.d.ts.map +0 -1
  228. package/dist/esm/memory/pinecone/index.js +0 -3
  229. package/dist/esm/memory/pinecone/memory-adapter.d.ts +0 -62
  230. package/dist/esm/memory/pinecone/memory-adapter.d.ts.map +0 -1
  231. package/dist/esm/memory/pinecone/memory-adapter.js +0 -216
  232. package/dist/esm/memory/pinecone/semantic.d.ts +0 -44
  233. package/dist/esm/memory/pinecone/semantic.d.ts.map +0 -1
  234. package/dist/esm/memory/pinecone/semantic.js +0 -86
  235. package/dist/esm/memory/sqlite/index.d.ts +0 -3
  236. package/dist/esm/memory/sqlite/index.d.ts.map +0 -1
  237. package/dist/esm/memory/sqlite/index.js +0 -1
  238. package/dist/esm/memory/sqlite/memory-adapter.d.ts +0 -58
  239. package/dist/esm/memory/sqlite/memory-adapter.d.ts.map +0 -1
  240. package/dist/esm/memory/sqlite/memory-adapter.js +0 -296
  241. package/dist/esm/memory/sqlite/schema.d.ts +0 -4
  242. package/dist/esm/memory/sqlite/schema.d.ts.map +0 -1
  243. package/dist/esm/memory/sqlite/schema.js +0 -86
  244. package/dist/esm/memory/supabase/index.d.ts +0 -7
  245. package/dist/esm/memory/supabase/index.d.ts.map +0 -1
  246. package/dist/esm/memory/supabase/index.js +0 -3
  247. package/dist/esm/memory/supabase/memory-adapter.d.ts +0 -67
  248. package/dist/esm/memory/supabase/memory-adapter.d.ts.map +0 -1
  249. package/dist/esm/memory/supabase/memory-adapter.js +0 -331
  250. package/dist/esm/memory/supabase/semantic.d.ts +0 -44
  251. package/dist/esm/memory/supabase/semantic.d.ts.map +0 -1
  252. package/dist/esm/memory/supabase/semantic.js +0 -68
package/README.md CHANGED
@@ -1,228 +1,134 @@
1
1
  # @molroo-io/sdk
2
2
 
3
- [![version](https://img.shields.io/badge/version-0.6.0-e94560)](package.json)
4
- [![license](https://img.shields.io/badge/license-MIT-blue)](LICENSE)
5
- [![TypeScript](https://img.shields.io/badge/TypeScript-5.9-3178C6)](tsconfig.json)
6
- [![tests](https://img.shields.io/badge/tests-148-brightgreen)](src/__tests__)
3
+ **Thin Client SDK for molroo emotion engine**
7
4
 
8
- Client SDK for the [molroo](https://molroo.io) emotion engine API. One client for personas and worlds handles prompt assembly, LLM orchestration, and memory recall.
9
-
10
- ## Install
11
-
12
- ```bash
13
- npm install @molroo-io/sdk
14
- ```
5
+ Simplified API client with LLM integration for the molroo emotion engine.
15
6
 
16
7
  ## Quick Start
17
8
 
18
- ```ts
19
- import { Molroo, createVercelAIAdapter } from '@molroo-io/sdk';
9
+ ```typescript
10
+ import { Molroo } from '@molroo-io/sdk';
11
+ import { createOpenAI } from '@ai-sdk/openai';
20
12
 
21
13
  const molroo = new Molroo({ apiKey: 'mk_live_...' });
22
14
 
23
- const llm = createVercelAIAdapter({
24
- provider: 'openai',
25
- apiKey: process.env.OPENAI_API_KEY!,
26
- });
15
+ const openai = createOpenAI({ apiKey: process.env.OPENAI_API_KEY! });
27
16
 
28
- // Create a persona
17
+ // Create persona from description
29
18
  const sera = await molroo.createPersona(
30
- { identity: { name: 'Sera', coreValues: ['honesty', 'warmth'] },
31
- personality: { O: 0.7, C: 0.6, E: 0.8, A: 0.5, N: 0.3, H: 0.6 } },
32
- { llm },
19
+ 'A kind and curious barista named Sera who remembers customer names',
20
+ { llm: openai }
33
21
  );
34
22
 
35
- const result = await sera.chat('Hello!');
36
- console.log(result.text); // "Hey! It's great to meet you..."
37
- console.log(result.response.emotion); // { V: 0.4, A: 0.5, D: 0.2 }
38
-
39
- // Create a world with multiple personas
40
- const world = await molroo.createWorld({ name: 'Cafe' });
41
- await world.addPersona({ personaConfigId: sera.id, config: {...} });
42
- ```
43
-
44
- ## How It Works
45
-
46
- ```
47
- Your App SDK API (PersonaDO)
48
- | | |
49
- | persona.chat(msg) | |
50
- |------------------------>| |
51
- | | POST /personas/:id/prompt-context
52
- | |------------------------------>|
53
- | | { systemPrompt, tools } |
54
- | |<------------------------------|
55
- | | |
56
- | | LLM call (your API key) |
57
- | | system: systemPrompt |
58
- | | -> { response, appraisal } |
59
- | | |
60
- | | POST /personas/:id/perceive |
61
- | | { appraisal } |
62
- | |------------------------------>|
63
- | | { emotion, state } |
64
- | |<------------------------------|
65
- | | |
66
- | { text, response } | |
67
- |<------------------------| |
68
- ```
69
-
70
- 1. **Get prompt context** — API builds system prompt from live emotional state (identity + personality + mood + somatic + narrative + memory)
71
- 2. **LLM call** — SDK calls your LLM with assembled prompt. Returns response text + appraisal vector.
72
- 3. **Perceive** — SDK sends appraisal to API. Engine processes emotion pipeline -> new VAD state.
73
- 4. **Post-chat** — Episode saved, reflection triggered if needed, events emitted.
74
-
75
- The API does all emotion computation. The SDK just connects it to your LLM.
76
-
77
- ## Molroo Client
78
-
79
- The unified entry point. One client, one API key.
80
-
81
- ```ts
82
- const molroo = new Molroo({ apiKey: 'mk_live_...' });
23
+ // Chat
24
+ let history: Message[] = [];
25
+ const result = await sera.chat('Hello!', { history });
26
+ console.log(result.text); // "Hello! Welcome to our cafe."
27
+ history = result.updatedHistory; // Manage externally
83
28
  ```
84
29
 
85
- ### Persona Methods
86
-
87
- | Method | Description |
88
- |--------|-------------|
89
- | `createPersona(config, options?)` | Create a new persona |
90
- | `connectPersona(id, options?)` | Connect to an existing persona |
91
- | `generatePersona(description, options)` | Generate persona from description via LLM |
92
- | `listPersonas()` | List all personas |
93
-
94
- ### World Methods
95
-
96
- | Method | Description |
97
- |--------|-------------|
98
- | `createWorld(options)` | Create a new world |
99
- | `getWorld(id)` | Get an existing world |
100
- | `listWorlds(options?)` | List all worlds |
101
-
102
- ## Two LLM Modes
103
-
104
- ### Combined Mode (default)
105
-
106
- Single LLM call returns both response text and appraisal in one `generateObject()` call:
107
-
108
- ```ts
109
- const sera = await molroo.createPersona(personaConfig, { llm });
110
- ```
111
-
112
- ### Split Mode
113
-
114
- Separate LLM for appraisal (cheap/fast model) and response (quality model). Appraisal runs first -> engine updates emotion -> response generated with updated emotional state:
30
+ ## Installation
115
31
 
116
- ```ts
117
- const sera = await molroo.createPersona(personaConfig, {
118
- llm: responseModel, // quality model for response text
119
- engineLlm: appraisalModel, // cheap model for appraisal vector
120
- });
32
+ ```bash
33
+ npm install @molroo-io/sdk
34
+ npm install ai @ai-sdk/openai # or @ai-sdk/anthropic, @ai-sdk/google-vertex
121
35
  ```
122
36
 
123
- ## MolrooPersona API
124
-
125
- Returned by `molroo.createPersona()`, `molroo.connectPersona()`, or `molroo.generatePersona()`.
37
+ ## Features
126
38
 
127
- | Method | Description |
128
- |--------|-------------|
129
- | `chat(message, options?)` | Full LLM orchestration: prompt -> LLM -> perceive -> result |
130
- | `perceive(message, options?)` | Send event to emotion engine (no LLM call) |
131
- | `tick(seconds)` | Advance time (mood decay, body recovery) |
132
- | `getState()` | Get current emotional state |
133
- | `setEmotion(vad)` | Direct VAD override |
134
- | `getPromptContext(suffix?, source?)` | Get server-assembled system prompt |
135
- | `searchMemory(query, options?)` | Search episodic memory |
136
- | `getSnapshot()` | Get full persona snapshot |
137
- | `putSnapshot(snapshot)` | Load persona snapshot |
138
- | `patch(config)` | Update persona config |
139
- | `destroy()` | Soft-delete the persona |
140
- | `restore()` | Restore a soft-deleted persona |
39
+ - **Unified API** `Molroo` class for persona and world management
40
+ - **Vercel AI SDK Integration** — Use any LLM provider (OpenAI, Anthropic, Google, etc.)
41
+ - **External History Management** Simple mode: manage conversation history yourself
42
+ - **Advanced Memory (Optional)** Implement `MemoryAdapter` for semantic search, reflections
43
+ - **World Simulation** Multi-agent environments with channels and interactions
141
44
 
142
- ## Adapters
45
+ ## Usage Modes
143
46
 
144
- ### LLM Adapter
47
+ ### 1. Simple Mode (External History)
145
48
 
146
- Required for `chat()`. Built into `@molroo-io/sdk`:
49
+ ```typescript
50
+ const molroo = new Molroo({ apiKey: 'mk_...' });
51
+ const sera = await molroo.createPersona('...', { llm: openai });
147
52
 
148
- ```ts
149
- import { createVercelAIAdapter } from '@molroo-io/sdk';
150
-
151
- const llm = createVercelAIAdapter({
152
- provider: 'openai', // or 'anthropic', 'google'
153
- apiKey: process.env.OPENAI_API_KEY!,
154
- model: 'gpt-4o-mini', // optional
155
- });
53
+ let history = [];
54
+ const result = await sera.chat('Hello', { history });
55
+ history = result.updatedHistory;
156
56
  ```
157
57
 
158
- ### Memory
159
-
160
- Client-side memory for episodic recall and semantic search. Optional — when not provided, memory recall is skipped.
161
-
162
- **Single adapter (recommended)** pass one `MemoryAdapter` that handles everything:
163
-
164
- ```ts
165
- import { SqliteMemoryAdapter } from '@molroo-io/sdk/memory/sqlite';
166
-
167
- const sera = await molroo.createPersona(personaConfig, {
168
- llm,
169
- memory: new SqliteMemoryAdapter({ dbPath: './memory.db' }),
170
- recall: { episodicLimit: 5, semanticLimit: 3 },
171
- });
172
- ```
173
-
174
- Built-in `InMemoryEpisodeAdapter` also works as a single adapter (for demos/testing):
175
-
176
- ```ts
177
- import { InMemoryEpisodeAdapter } from '@molroo-io/sdk';
178
-
179
- const sera = await molroo.createPersona(personaConfig, {
180
- llm,
181
- memory: new InMemoryEpisodeAdapter(),
58
+ ### 2. Advanced Mode (MemoryAdapter)
59
+
60
+ ```typescript
61
+ class MyPostgresAdapter implements MemoryAdapter {
62
+ async saveEpisode(episode: Episode): Promise<void> {
63
+ // Save to PostgreSQL
64
+ }
65
+
66
+ async recall(query: RecallQuery): Promise<Episode[]> {
67
+ // Query by filters
68
+ }
69
+
70
+ async semanticRecall(query: string): Promise<Episode[]> {
71
+ // Vector similarity search
72
+ }
73
+ }
74
+
75
+ const sera = await molroo.createPersona('...', {
76
+ llm: openai,
77
+ memory: new MyPostgresAdapter()
182
78
  });
183
79
  ```
184
80
 
185
- ### Events
81
+ ## World Simulation
186
82
 
187
- Optional event emission for logging, webhooks, or custom integrations:
188
-
189
- ```ts
190
- import { ConsoleEventAdapter, WebhookEventAdapter } from '@molroo-io/sdk';
191
-
192
- // Console logging
193
- const events = new ConsoleEventAdapter();
194
-
195
- // Webhook
196
- const events = new WebhookEventAdapter({ url: 'https://...', secret: '...' });
197
- ```
198
-
199
- ## Persona Generation
200
-
201
- Generate a persona from a description — no manual config needed:
202
-
203
- ```ts
204
- const sera = await molroo.generatePersona(
205
- 'A cheerful companion who loves music',
206
- { llm },
207
- );
208
- await sera.chat('Play me something!');
209
- ```
210
-
211
- ## Build & Test
212
-
213
- ```bash
214
- npm run build # tsc -> dist/cjs + dist/esm
215
- npm run test # Vitest (148 tests)
216
- npm run lint # ESLint
217
- npm run gen:types # openapi-typescript -> src/generated/api.d.ts
218
- npm run docs # TypeDoc -> SDK API reference
83
+ ```typescript
84
+ const world = await molroo.createWorld({ name: 'Cafe' });
85
+ const sera = await molroo.createPersona('Barista Sera', { llm: openai });
86
+ await world.addPersona({ personaConfigId: sera.id, config: {...} });
219
87
  ```
220
88
 
221
- ## Links
222
-
223
- - [Documentation](https://docs.molroo.io)
224
- - [Dashboard](https://molroo.io/dashboard)
225
- - [API Reference](https://api.molroo.io/docs)
89
+ ## Migration from v0.5.x
90
+
91
+ ### Breaking Changes
92
+
93
+ 1. **Unified `create()` method**
94
+ ```typescript
95
+ // Before
96
+ await MolrooPersona.create({...}, {personality: {...}});
97
+ await MolrooPersona.generate({...}, "description");
98
+
99
+ // After
100
+ await molroo.createPersona({personality: {...}}, {llm});
101
+ await molroo.createPersona("description", {llm});
102
+ ```
103
+
104
+ 2. **External history management**
105
+ ```typescript
106
+ // Before
107
+ await persona.chat("Hello"); // MemoryAdapter required
108
+
109
+ // After
110
+ let history = [];
111
+ const result = await persona.chat("Hello", {history});
112
+ history = result.updatedHistory;
113
+ ```
114
+
115
+ 3. **Vercel AI SDK directly**
116
+ ```typescript
117
+ // Before
118
+ createVercelAIAdapter({provider: 'openai', ...})
119
+
120
+ // After
121
+ createOpenAI({...}) // Pass directly
122
+ ```
123
+
124
+ 4. **Removed adapter implementations**
125
+ - SQLite, Supabase, Pinecone adapters removed
126
+ - Implement `MemoryAdapter` interface yourself
127
+ - Or wait for API-hosted memory (coming soon)
128
+
129
+ ## API Reference
130
+
131
+ See [API documentation](https://docs.molroo.io/sdk) for full reference.
226
132
 
227
133
  ## License
228
134
 
@@ -1,4 +1,5 @@
1
1
  import type { paths } from './generated/api';
2
+ import { unwrap } from './shared/client-factory';
2
3
  /**
3
4
  * Create a typed openapi-fetch client for the molroo API.
4
5
  *
@@ -8,16 +9,5 @@ import type { paths } from './generated/api';
8
9
  */
9
10
  export declare function createApiClient(baseUrl: string, apiKey: string): import("openapi-fetch").Client<paths, `${string}/${string}`>;
10
11
  export type ApiClient = ReturnType<typeof createApiClient>;
11
- /**
12
- * Unwrap the `{ result: T }` envelope from API responses.
13
- *
14
- * Many API endpoints return `ResultWrapper` (typed as `{ result?: unknown }`)
15
- * in the OpenAPI spec. This helper extracts the `result` field and casts it
16
- * to the expected type.
17
- *
18
- * For endpoints with properly-typed response schemas, use `data.result` directly.
19
- */
20
- export declare function unwrap<T>(data: {
21
- result?: unknown;
22
- } | undefined): T;
12
+ export { unwrap };
23
13
  //# sourceMappingURL=api-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/api-client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAwB7C;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,gEAU9D;AAED,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AAE3D;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,GAAG,CAAC,CAEnE"}
1
+ {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../../src/api-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAqB,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEpE;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,gEAE9D;AAED,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AAE3D,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -1,28 +1,10 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.unwrap = void 0;
6
4
  exports.createApiClient = createApiClient;
7
- exports.unwrap = unwrap;
8
- const openapi_fetch_1 = __importDefault(require("openapi-fetch"));
9
5
  const errors_1 = require("./errors");
10
- /**
11
- * Middleware: throw MolrooApiError on non-OK responses.
12
- *
13
- * Reads the error body `{ error: { code, message } }` and converts it
14
- * into a typed MolrooApiError before openapi-fetch processes the response.
15
- */
16
- const errorMiddleware = {
17
- async onResponse({ response }) {
18
- if (!response.ok) {
19
- const body = await response.clone().json().catch(() => ({}));
20
- const err = body;
21
- throw new errors_1.MolrooApiError(err.error?.message ?? `API error ${response.status}`, err.error?.code ?? 'UNKNOWN', response.status);
22
- }
23
- // Return undefined to let openapi-fetch handle the response unchanged
24
- },
25
- };
6
+ const client_factory_1 = require("./shared/client-factory");
7
+ Object.defineProperty(exports, "unwrap", { enumerable: true, get: function () { return client_factory_1.unwrap; } });
26
8
  /**
27
9
  * Create a typed openapi-fetch client for the molroo API.
28
10
  *
@@ -31,25 +13,5 @@ const errorMiddleware = {
31
13
  * @returns A fully-typed openapi-fetch client instance.
32
14
  */
33
15
  function createApiClient(baseUrl, apiKey) {
34
- const client = (0, openapi_fetch_1.default)({
35
- baseUrl: baseUrl.replace(/\/$/, ''),
36
- headers: {
37
- 'Content-Type': 'application/json',
38
- 'X-API-Key': apiKey,
39
- },
40
- });
41
- client.use(errorMiddleware);
42
- return client;
43
- }
44
- /**
45
- * Unwrap the `{ result: T }` envelope from API responses.
46
- *
47
- * Many API endpoints return `ResultWrapper` (typed as `{ result?: unknown }`)
48
- * in the OpenAPI spec. This helper extracts the `result` field and casts it
49
- * to the expected type.
50
- *
51
- * For endpoints with properly-typed response schemas, use `data.result` directly.
52
- */
53
- function unwrap(data) {
54
- return (data?.result ?? {});
16
+ return (0, client_factory_1.createTypedClient)({ baseUrl, apiKey, ErrorClass: errors_1.MolrooApiError });
55
17
  }
@@ -1,17 +1,2 @@
1
- /**
2
- * Error thrown when the molroo API returns a non-OK response.
3
- *
4
- * Contains the API error code and HTTP status for programmatic handling.
5
- */
6
- export declare class MolrooApiError extends Error {
7
- /** Machine-readable error code (e.g., 'ENTITY_NOT_FOUND', 'UNAUTHORIZED'). */
8
- code: string;
9
- /** HTTP status code. */
10
- status: number;
11
- constructor(message: string,
12
- /** Machine-readable error code (e.g., 'ENTITY_NOT_FOUND', 'UNAUTHORIZED'). */
13
- code: string,
14
- /** HTTP status code. */
15
- status: number);
16
- }
1
+ export { MolrooApiError } from './shared/errors';
17
2
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,KAAK;IAGrC,8EAA8E;IACvE,IAAI,EAAE,MAAM;IACnB,wBAAwB;IACjB,MAAM,EAAE,MAAM;gBAJrB,OAAO,EAAE,MAAM;IACf,8EAA8E;IACvE,IAAI,EAAE,MAAM;IACnB,wBAAwB;IACjB,MAAM,EAAE,MAAM;CAKxB"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,21 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MolrooApiError = void 0;
4
- /**
5
- * Error thrown when the molroo API returns a non-OK response.
6
- *
7
- * Contains the API error code and HTTP status for programmatic handling.
8
- */
9
- class MolrooApiError extends Error {
10
- constructor(message,
11
- /** Machine-readable error code (e.g., 'ENTITY_NOT_FOUND', 'UNAUTHORIZED'). */
12
- code,
13
- /** HTTP status code. */
14
- status) {
15
- super(message);
16
- this.code = code;
17
- this.status = status;
18
- this.name = 'MolrooApiError';
19
- }
20
- }
21
- exports.MolrooApiError = MolrooApiError;
4
+ var errors_1 = require("./shared/errors");
5
+ Object.defineProperty(exports, "MolrooApiError", { enumerable: true, get: function () { return errors_1.MolrooApiError; } });
@@ -1,28 +1,21 @@
1
1
  /**
2
- * Event Adapter interface for molroo SDK.
3
- *
4
- * Abstracts event emission so consumers can:
5
- * - Log emotion changes, relationship updates, stage transitions
6
- * - Send webhooks, push notifications, analytics events
7
- * - Build reactive UIs that respond to persona state changes
8
- *
9
- * Events are derived from API response data (AgentResponse fields).
10
- * Implementations are provided by the consumer — SDK only defines the interface.
2
+ * Event adapter interface for emitting persona-scoped events.
3
+ * Consumers can implement this to react to emotion changes, memory events, etc.
11
4
  */
12
- /** Persona-scoped event types — emitted from persona state changes. */
13
- export type PersonaEventType = 'emotion_changed' | 'relationship_changed' | 'memory_consolidated' | 'reflection_generated' | 'stage_transition' | 'mask_exposure' | 'goal_changed';
14
- export type SDKEventType = PersonaEventType;
15
- export interface SDKEvent {
16
- type: SDKEventType;
17
- /** Present for persona-scoped events. Absent for world-scoped events. */
18
- personaId?: string;
19
- timestamp: number;
20
- payload: Record<string, unknown>;
21
- }
22
5
  export interface EventAdapter {
23
- /** Emit a single event. */
24
6
  emit(event: SDKEvent): Promise<void>;
25
- /** Emit multiple events in batch. Optional — falls back to sequential emit(). */
7
+ /** Optional batch emit for efficiency. Falls back to individual emit() if not provided. */
26
8
  emitBatch?(events: SDKEvent[]): Promise<void>;
27
9
  }
10
+ /** Base event shape. */
11
+ export interface SDKEvent {
12
+ type: string;
13
+ personaId?: string;
14
+ timestamp: number;
15
+ payload?: Record<string, unknown>;
16
+ }
17
+ /** Event type categories. */
18
+ export type SDKEventType = 'emotion_changed' | 'memory_consolidated' | 'reflection_generated' | PersonaEventType;
19
+ /** Persona-specific event types. */
20
+ export type PersonaEventType = 'chat' | 'perceive' | 'emotion_update' | 'state_change' | 'memory_created' | 'reflection_created';
28
21
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/events/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,uEAAuE;AACvE,MAAM,MAAM,gBAAgB,GACxB,iBAAiB,GACjB,sBAAsB,GACtB,qBAAqB,GACrB,sBAAsB,GACtB,kBAAkB,GAClB,eAAe,GACf,cAAc,CAAC;AAEnB,MAAM,MAAM,YAAY,GAAG,gBAAgB,CAAC;AAE5C,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,YAAY,CAAC;IACnB,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,2BAA2B;IAC3B,IAAI,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErC,iFAAiF;IACjF,SAAS,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/events/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,2FAA2F;IAC3F,SAAS,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C;AAED,wBAAwB;AACxB,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,6BAA6B;AAC7B,MAAM,MAAM,YAAY,GAAG,iBAAiB,GAAG,qBAAqB,GAAG,sBAAsB,GAAG,gBAAgB,CAAC;AAEjH,oCAAoC;AACpC,MAAM,MAAM,gBAAgB,GACxB,MAAM,GACN,UAAU,GACV,gBAAgB,GAChB,cAAc,GACd,gBAAgB,GAChB,oBAAoB,CAAC"}
@@ -1,13 +1,2 @@
1
1
  "use strict";
2
- /**
3
- * Event Adapter interface for molroo SDK.
4
- *
5
- * Abstracts event emission so consumers can:
6
- * - Log emotion changes, relationship updates, stage transitions
7
- * - Send webhooks, push notifications, analytics events
8
- * - Build reactive UIs that respond to persona state changes
9
- *
10
- * Events are derived from API response data (AgentResponse fields).
11
- * Implementations are provided by the consumer — SDK only defines the interface.
12
- */
13
2
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,68 +1,46 @@
1
1
  /**
2
2
  * @molroo-io/sdk - Thin Client SDK for molroo emotion engine
3
3
  *
4
- * ## Boundary — this is where LLM orchestration lives:
5
- * - **LLM calls happen HERE** — consumer's API key, consumer's model.
6
- * - **Appraisal generation happens HERE** — LLM produces appraisal, SDK sends to API.
7
- * - **Memory recall happens HERE** — episodic/semantic/reflections from client stores.
8
- * - **Prompt composition**: API returns persona fragment → SDK adds memory context.
4
+ * ## Quick Start
9
5
  *
10
- * The API/engine never call LLM. This SDK is the bridge.
11
- *
12
- * @example
13
6
  * ```typescript
14
- * import { MolrooPersona } from '@molroo-io/sdk';
15
- * import { createVercelAIAdapter } from '@molroo-io/sdk';
7
+ * import { Molroo } from '@molroo-io/sdk';
8
+ * import { createOpenAI } from '@ai-sdk/openai';
9
+ *
10
+ * const molroo = new Molroo({ apiKey: 'mk_live_...' });
11
+ *
12
+ * const openai = createOpenAI({ apiKey: process.env.OPENAI_API_KEY! });
16
13
  *
17
- * const llm = createVercelAIAdapter({
18
- * provider: 'openai',
19
- * apiKey: process.env.OPENAI_API_KEY!,
20
- * });
14
+ * // Create persona from description
15
+ * const sera = await molroo.createPersona(
16
+ * 'A kind and curious barista named Sera',
17
+ * { llm: openai }
18
+ * );
21
19
  *
22
- * const persona = await MolrooPersona.create({
23
- * baseUrl: 'https://api.molroo.io',
24
- * apiKey: 'your_api_key',
25
- * llm,
26
- * }, {
27
- * config: { identity: { name: 'Sera' }, personality: { O: 0.7, C: 0.6, E: 0.8, A: 0.5, N: 0.3, H: 0.6 } },
28
- * });
20
+ * const result = await sera.chat('Hello!');
21
+ * ```
22
+ *
23
+ * ## Advanced: World Simulation
29
24
  *
30
- * const result = await persona.chat('Hello!');
25
+ * ```typescript
26
+ * const world = await molroo.createWorld({ name: 'Cafe' });
27
+ * const sera = await molroo.createPersona('Barista Sera', { llm: openai });
28
+ * await world.addPersona({ personaConfigId: sera.id, config: {...} });
31
29
  * ```
32
30
  */
33
31
  export { Molroo } from './world/world';
34
32
  export type { MolrooOptions, PersonaOptions } from './world/world';
35
- export { MolrooPersona } from './persona';
36
- export { MolrooApiError } from './types';
33
+ export { MolrooApiError, WorldApiError } from './shared/errors';
34
+ export { NEUTRAL_APPRAISAL, toWireAppraisal, fromWireAppraisal } from './shared/appraisal';
35
+ export type { Appraisal } from './shared/appraisal';
37
36
  export type { LLMAdapter, Message, GenerateTextOptions, GenerateObjectOptions, } from './llm/adapter';
38
- export type { LLMShorthand, LLMInput } from './llm/resolve';
39
- export { VercelAIAdapter, createVercelAIAdapter } from './llm/vercel-ai';
40
- export type { VercelAIConfig } from './llm/vercel-ai';
41
- export type { MemoryAdapter, RecallQuery, SemanticRecallOptions, RecallLimits, } from './memory/types';
42
- export { isMemoryConfig } from './memory/types';
43
- export type { EpisodeAdapter, EpisodeQuery, SemanticAdapter, SemanticEntry, SemanticQuery, SemanticResult, EmbeddingAdapter, MemoryConfig, Reflection, } from './memory/types';
44
- export { InMemoryEpisodeAdapter } from './memory/in-memory';
45
- export type { RecallConfig } from './memory/recall';
46
- export type { SemanticMemory, SearchOptions, SearchResult } from './memory/semantic';
47
- export { InMemorySemanticMemory } from './memory/in-memory-semantic';
48
- export type { EpisodeStore, SemanticStore, EmbeddingProvider } from './memory/types';
49
- export { InMemoryEpisodeStore } from './memory/in-memory';
50
- export type { EventAdapter, SDKEvent, SDKEventType, PersonaEventType } from './events/types';
51
- export { ConsoleEventAdapter } from './events/console';
52
- export type { ConsoleEventAdapterOptions } from './events/console';
53
- export { WebhookEventAdapter } from './events/webhook';
54
- export type { WebhookEventAdapterOptions } from './events/webhook';
55
- export { generatePersona } from './generate/persona';
56
- export { GeneratePersonaSchema } from './generate/schema';
57
- export type { GeneratePersonaSchemaOutput } from './generate/schema';
58
- export type { MolrooPersonaConfig, PersonaSummary, PersonaState, PersonaChatResult, } from './persona';
37
+ export type { LLMInput } from './llm/resolve';
38
+ export type { MemoryAdapter, RecallQuery, SemanticRecallOptions, RecallLimits, Reflection, } from './memory/types';
39
+ export type { PersonaSummary, PersonaState, PersonaChatResult, } from './persona';
59
40
  export type { InterlocutorContext, PerceiveOptions, PerceiveEvent, PerceiveContext, } from './types';
60
41
  export type { AgentResponse, VAD, Velocity, AppraisalVector, State, SoulStage, CatastropheState, MetacogState, AffectDynamicsState, InterpersonalState, RegulationState, RegulationStrategy, RegulationPhase, ActiveRegulation, RegulationRecord, EffectivenessRecord, NeedState, Episode, SocialUpdate, ReflectionPrompt, } from './types';
61
42
  export type { PersonaSnapshot, PersonaConfigData, PersonalityTraits, Identity, Goal, MotivationContext, } from './types';
62
43
  export type { ApiResponse, ApiErrorResponse, PersonaDynamicState, } from './types';
63
- export { AppraisalVectorSchema, LLMResponseSchema, LLMResponseWithToolsSchema, } from './llm/schema';
64
- export type { LLMResponseOutput, LLMResponseWithToolsOutput } from './llm/schema';
65
44
  export type { LLMPrompt, LLMResponse, } from './llm/types';
66
- export type { ChatMessage } from './llm/types';
67
45
  export { DEFAULT_PERSONA, withDefaults } from './defaults';
68
46
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC3F,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGpD,YAAY,EACV,UAAU,EACV,OAAO,EACP,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG9C,YAAY,EACV,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,YAAY,EACZ,UAAU,GACX,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EACV,cAAc,EACd,YAAY,EACZ,iBAAiB,GAClB,MAAM,WAAW,CAAC;AAGnB,YAAY,EACV,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,eAAe,GAChB,MAAM,SAAS,CAAC;AAGjB,YAAY,EACV,aAAa,EACb,GAAG,EACH,QAAQ,EACR,eAAe,EACf,KAAK,EACL,SAAS,EACT,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,EACT,OAAO,EACP,YAAY,EACZ,gBAAgB,GACjB,MAAM,SAAS,CAAC;AAGjB,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,QAAQ,EACR,IAAI,EACJ,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAGjB,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,SAAS,CAAC;AAGjB,YAAY,EACV,SAAS,EACT,WAAW,GACZ,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}