@molroo-io/sdk 0.5.3 → 0.7.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.
Files changed (258) hide show
  1. package/README.md +102 -210
  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 +28 -48
  12. package/dist/cjs/index.d.ts.map +1 -1
  13. package/dist/cjs/index.js +31 -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 +66 -171
  41. package/dist/cjs/persona.d.ts.map +1 -1
  42. package/dist/cjs/persona.js +64 -617
  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 +5 -12
  53. package/dist/cjs/world/client.d.ts.map +1 -1
  54. package/dist/cjs/world/client.js +10 -37
  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 +5 -5
  59. package/dist/cjs/world/index.d.ts.map +1 -1
  60. package/dist/cjs/world/index.js +4 -4
  61. package/dist/cjs/world/types.d.ts +10 -8
  62. package/dist/cjs/world/types.d.ts.map +1 -1
  63. package/dist/{esm/world/village.d.ts → cjs/world/world-domain.d.ts} +25 -25
  64. package/dist/cjs/world/world-domain.d.ts.map +1 -0
  65. package/dist/cjs/world/{village.js → world-domain.js} +40 -68
  66. package/dist/cjs/world/world-persona.d.ts +12 -10
  67. package/dist/cjs/world/world-persona.d.ts.map +1 -1
  68. package/dist/cjs/world/world-persona.js +16 -31
  69. package/dist/cjs/world/world.d.ts +84 -17
  70. package/dist/cjs/world/world.d.ts.map +1 -1
  71. package/dist/cjs/world/world.js +72 -27
  72. package/dist/esm/api-client.d.ts +2 -12
  73. package/dist/esm/api-client.d.ts.map +1 -1
  74. package/dist/esm/api-client.js +3 -38
  75. package/dist/esm/errors.d.ts +1 -16
  76. package/dist/esm/errors.d.ts.map +1 -1
  77. package/dist/esm/errors.js +1 -17
  78. package/dist/esm/events/types.d.ts +14 -21
  79. package/dist/esm/events/types.d.ts.map +1 -1
  80. package/dist/esm/events/types.js +0 -11
  81. package/dist/esm/index.d.ts +28 -48
  82. package/dist/esm/index.d.ts.map +1 -1
  83. package/dist/esm/index.js +26 -38
  84. package/dist/esm/llm/resolve.d.ts +4 -22
  85. package/dist/esm/llm/resolve.d.ts.map +1 -1
  86. package/dist/esm/llm/resolve.js +20 -8
  87. package/dist/esm/llm/vercel-ai/adapter.d.ts +4 -10
  88. package/dist/esm/llm/vercel-ai/adapter.d.ts.map +1 -1
  89. package/dist/esm/llm/vercel-ai/adapter.js +6 -119
  90. package/dist/esm/llm/vercel-ai/config.d.ts +8 -5
  91. package/dist/esm/llm/vercel-ai/config.d.ts.map +1 -1
  92. package/dist/esm/memory/in-memory.d.ts +14 -37
  93. package/dist/esm/memory/in-memory.d.ts.map +1 -1
  94. package/dist/esm/memory/in-memory.js +20 -83
  95. package/dist/esm/memory/recall.d.ts +10 -21
  96. package/dist/esm/memory/recall.d.ts.map +1 -1
  97. package/dist/esm/memory/recall.js +12 -91
  98. package/dist/esm/memory/types.d.ts +46 -186
  99. package/dist/esm/memory/types.d.ts.map +1 -1
  100. package/dist/esm/memory/types.js +1 -9
  101. package/dist/esm/persona/chat-orchestrator.d.ts +46 -0
  102. package/dist/esm/persona/chat-orchestrator.d.ts.map +1 -0
  103. package/dist/esm/persona/chat-orchestrator.js +204 -0
  104. package/dist/esm/persona/event-emitter.d.ts +7 -0
  105. package/dist/esm/persona/event-emitter.d.ts.map +1 -0
  106. package/dist/esm/persona/event-emitter.js +50 -0
  107. package/dist/esm/persona/memory-pipeline.d.ts +26 -0
  108. package/dist/esm/persona/memory-pipeline.d.ts.map +1 -0
  109. package/dist/esm/persona/memory-pipeline.js +65 -0
  110. package/dist/esm/persona.d.ts +66 -171
  111. package/dist/esm/persona.d.ts.map +1 -1
  112. package/dist/esm/persona.js +64 -617
  113. package/dist/esm/shared/appraisal.d.ts +26 -0
  114. package/dist/esm/shared/appraisal.d.ts.map +1 -0
  115. package/dist/esm/shared/appraisal.js +40 -0
  116. package/dist/esm/shared/client-factory.d.ts +23 -0
  117. package/dist/esm/shared/client-factory.d.ts.map +1 -0
  118. package/dist/esm/shared/client-factory.js +41 -0
  119. package/dist/esm/shared/errors.d.ts +21 -0
  120. package/dist/esm/shared/errors.d.ts.map +1 -0
  121. package/dist/esm/shared/errors.js +24 -0
  122. package/dist/esm/world/client.d.ts +5 -12
  123. package/dist/esm/world/client.d.ts.map +1 -1
  124. package/dist/esm/world/client.js +9 -33
  125. package/dist/esm/world/errors.d.ts +1 -8
  126. package/dist/esm/world/errors.d.ts.map +1 -1
  127. package/dist/esm/world/errors.js +1 -11
  128. package/dist/esm/world/index.d.ts +5 -5
  129. package/dist/esm/world/index.d.ts.map +1 -1
  130. package/dist/esm/world/index.js +2 -2
  131. package/dist/esm/world/types.d.ts +10 -8
  132. package/dist/esm/world/types.d.ts.map +1 -1
  133. package/dist/{cjs/world/village.d.ts → esm/world/world-domain.d.ts} +25 -25
  134. package/dist/esm/world/world-domain.d.ts.map +1 -0
  135. package/dist/esm/world/{village.js → world-domain.js} +38 -66
  136. package/dist/esm/world/world-persona.d.ts +12 -10
  137. package/dist/esm/world/world-persona.d.ts.map +1 -1
  138. package/dist/esm/world/world-persona.js +16 -31
  139. package/dist/esm/world/world.d.ts +84 -17
  140. package/dist/esm/world/world.d.ts.map +1 -1
  141. package/dist/esm/world/world.js +70 -25
  142. package/package.json +4 -101
  143. package/dist/cjs/embedding/cloudflare.d.ts +0 -15
  144. package/dist/cjs/embedding/cloudflare.d.ts.map +0 -1
  145. package/dist/cjs/embedding/cloudflare.js +0 -16
  146. package/dist/cjs/embedding/cohere.d.ts +0 -8
  147. package/dist/cjs/embedding/cohere.d.ts.map +0 -1
  148. package/dist/cjs/embedding/cohere.js +0 -31
  149. package/dist/cjs/embedding/index.d.ts +0 -9
  150. package/dist/cjs/embedding/index.d.ts.map +0 -1
  151. package/dist/cjs/embedding/index.js +0 -11
  152. package/dist/cjs/embedding/local.d.ts +0 -6
  153. package/dist/cjs/embedding/local.d.ts.map +0 -1
  154. package/dist/cjs/embedding/local.js +0 -28
  155. package/dist/cjs/embedding/openai.d.ts +0 -9
  156. package/dist/cjs/embedding/openai.d.ts.map +0 -1
  157. package/dist/cjs/embedding/openai.js +0 -26
  158. package/dist/cjs/events/console.d.ts +0 -25
  159. package/dist/cjs/events/console.d.ts.map +0 -1
  160. package/dist/cjs/events/console.js +0 -41
  161. package/dist/cjs/events/webhook.d.ts +0 -30
  162. package/dist/cjs/events/webhook.d.ts.map +0 -1
  163. package/dist/cjs/events/webhook.js +0 -79
  164. package/dist/cjs/memory/cloudflare/index.d.ts +0 -3
  165. package/dist/cjs/memory/cloudflare/index.d.ts.map +0 -1
  166. package/dist/cjs/memory/cloudflare/index.js +0 -5
  167. package/dist/cjs/memory/cloudflare/vectorize.d.ts +0 -62
  168. package/dist/cjs/memory/cloudflare/vectorize.d.ts.map +0 -1
  169. package/dist/cjs/memory/cloudflare/vectorize.js +0 -55
  170. package/dist/cjs/memory/in-memory-semantic.d.ts +0 -16
  171. package/dist/cjs/memory/in-memory-semantic.d.ts.map +0 -1
  172. package/dist/cjs/memory/in-memory-semantic.js +0 -57
  173. package/dist/cjs/memory/pinecone/index.d.ts +0 -7
  174. package/dist/cjs/memory/pinecone/index.d.ts.map +0 -1
  175. package/dist/cjs/memory/pinecone/index.js +0 -8
  176. package/dist/cjs/memory/pinecone/memory-adapter.d.ts +0 -62
  177. package/dist/cjs/memory/pinecone/memory-adapter.d.ts.map +0 -1
  178. package/dist/cjs/memory/pinecone/memory-adapter.js +0 -220
  179. package/dist/cjs/memory/pinecone/semantic.d.ts +0 -44
  180. package/dist/cjs/memory/pinecone/semantic.d.ts.map +0 -1
  181. package/dist/cjs/memory/pinecone/semantic.js +0 -90
  182. package/dist/cjs/memory/sqlite/index.d.ts +0 -3
  183. package/dist/cjs/memory/sqlite/index.d.ts.map +0 -1
  184. package/dist/cjs/memory/sqlite/index.js +0 -5
  185. package/dist/cjs/memory/sqlite/memory-adapter.d.ts +0 -58
  186. package/dist/cjs/memory/sqlite/memory-adapter.d.ts.map +0 -1
  187. package/dist/cjs/memory/sqlite/memory-adapter.js +0 -336
  188. package/dist/cjs/memory/sqlite/schema.d.ts +0 -4
  189. package/dist/cjs/memory/sqlite/schema.d.ts.map +0 -1
  190. package/dist/cjs/memory/sqlite/schema.js +0 -91
  191. package/dist/cjs/memory/supabase/index.d.ts +0 -7
  192. package/dist/cjs/memory/supabase/index.d.ts.map +0 -1
  193. package/dist/cjs/memory/supabase/index.js +0 -8
  194. package/dist/cjs/memory/supabase/memory-adapter.d.ts +0 -67
  195. package/dist/cjs/memory/supabase/memory-adapter.d.ts.map +0 -1
  196. package/dist/cjs/memory/supabase/memory-adapter.js +0 -335
  197. package/dist/cjs/memory/supabase/semantic.d.ts +0 -44
  198. package/dist/cjs/memory/supabase/semantic.d.ts.map +0 -1
  199. package/dist/cjs/memory/supabase/semantic.js +0 -72
  200. package/dist/cjs/world/village.d.ts.map +0 -1
  201. package/dist/esm/embedding/cloudflare.d.ts +0 -15
  202. package/dist/esm/embedding/cloudflare.d.ts.map +0 -1
  203. package/dist/esm/embedding/cloudflare.js +0 -13
  204. package/dist/esm/embedding/cohere.d.ts +0 -8
  205. package/dist/esm/embedding/cohere.d.ts.map +0 -1
  206. package/dist/esm/embedding/cohere.js +0 -28
  207. package/dist/esm/embedding/index.d.ts +0 -9
  208. package/dist/esm/embedding/index.d.ts.map +0 -1
  209. package/dist/esm/embedding/index.js +0 -4
  210. package/dist/esm/embedding/local.d.ts +0 -6
  211. package/dist/esm/embedding/local.d.ts.map +0 -1
  212. package/dist/esm/embedding/local.js +0 -25
  213. package/dist/esm/embedding/openai.d.ts +0 -9
  214. package/dist/esm/embedding/openai.d.ts.map +0 -1
  215. package/dist/esm/embedding/openai.js +0 -23
  216. package/dist/esm/events/console.d.ts +0 -25
  217. package/dist/esm/events/console.d.ts.map +0 -1
  218. package/dist/esm/events/console.js +0 -37
  219. package/dist/esm/events/webhook.d.ts +0 -30
  220. package/dist/esm/events/webhook.d.ts.map +0 -1
  221. package/dist/esm/events/webhook.js +0 -75
  222. package/dist/esm/memory/cloudflare/index.d.ts +0 -3
  223. package/dist/esm/memory/cloudflare/index.d.ts.map +0 -1
  224. package/dist/esm/memory/cloudflare/index.js +0 -1
  225. package/dist/esm/memory/cloudflare/vectorize.d.ts +0 -62
  226. package/dist/esm/memory/cloudflare/vectorize.d.ts.map +0 -1
  227. package/dist/esm/memory/cloudflare/vectorize.js +0 -51
  228. package/dist/esm/memory/in-memory-semantic.d.ts +0 -16
  229. package/dist/esm/memory/in-memory-semantic.d.ts.map +0 -1
  230. package/dist/esm/memory/in-memory-semantic.js +0 -53
  231. package/dist/esm/memory/pinecone/index.d.ts +0 -7
  232. package/dist/esm/memory/pinecone/index.d.ts.map +0 -1
  233. package/dist/esm/memory/pinecone/index.js +0 -3
  234. package/dist/esm/memory/pinecone/memory-adapter.d.ts +0 -62
  235. package/dist/esm/memory/pinecone/memory-adapter.d.ts.map +0 -1
  236. package/dist/esm/memory/pinecone/memory-adapter.js +0 -216
  237. package/dist/esm/memory/pinecone/semantic.d.ts +0 -44
  238. package/dist/esm/memory/pinecone/semantic.d.ts.map +0 -1
  239. package/dist/esm/memory/pinecone/semantic.js +0 -86
  240. package/dist/esm/memory/sqlite/index.d.ts +0 -3
  241. package/dist/esm/memory/sqlite/index.d.ts.map +0 -1
  242. package/dist/esm/memory/sqlite/index.js +0 -1
  243. package/dist/esm/memory/sqlite/memory-adapter.d.ts +0 -58
  244. package/dist/esm/memory/sqlite/memory-adapter.d.ts.map +0 -1
  245. package/dist/esm/memory/sqlite/memory-adapter.js +0 -296
  246. package/dist/esm/memory/sqlite/schema.d.ts +0 -4
  247. package/dist/esm/memory/sqlite/schema.d.ts.map +0 -1
  248. package/dist/esm/memory/sqlite/schema.js +0 -86
  249. package/dist/esm/memory/supabase/index.d.ts +0 -7
  250. package/dist/esm/memory/supabase/index.d.ts.map +0 -1
  251. package/dist/esm/memory/supabase/index.js +0 -3
  252. package/dist/esm/memory/supabase/memory-adapter.d.ts +0 -67
  253. package/dist/esm/memory/supabase/memory-adapter.d.ts.map +0 -1
  254. package/dist/esm/memory/supabase/memory-adapter.js +0 -331
  255. package/dist/esm/memory/supabase/semantic.d.ts +0 -44
  256. package/dist/esm/memory/supabase/semantic.d.ts.map +0 -1
  257. package/dist/esm/memory/supabase/semantic.js +0 -68
  258. package/dist/esm/world/village.d.ts.map +0 -1
package/README.md CHANGED
@@ -1,242 +1,134 @@
1
1
  # @molroo-io/sdk
2
2
 
3
- [![version](https://img.shields.io/badge/version-0.5.2-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
- Thin client SDK for the [molroo](https://molroo.io) emotion engine API. Handles prompt assembly, LLM orchestration, and memory recall — so your app just calls `chat()`.
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 { MolrooPersona } from '@molroo-io/sdk';
20
- import { createVercelAIAdapter } from '@molroo-io/sdk';
21
-
22
- const llm = createVercelAIAdapter({
23
- provider: 'openai',
24
- apiKey: process.env.OPENAI_API_KEY!,
25
- });
26
-
27
- const persona = await MolrooPersona.create({
28
- baseUrl: 'https://api.molroo.io',
29
- apiKey: 'mol_sk_your_api_key',
30
- llm,
31
- }, {
32
- identity: { name: 'Sera', coreValues: ['honesty', 'warmth'] },
33
- personality: { O: 0.7, C: 0.6, E: 0.8, A: 0.5, N: 0.3, H: 0.6 },
34
- });
35
-
36
- const result = await persona.chat('Hello!');
37
- console.log(result.text); // "Hey! It's great to meet you..."
38
- console.log(result.response.emotion); // { V: 0.4, A: 0.5, D: 0.2 }
39
- ```
40
-
41
- ## How It Works
42
-
43
- ```
44
- Your App SDK API (PersonaDO)
45
- | | |
46
- | persona.chat(msg) | |
47
- |------------------------>| |
48
- | | POST /personas/:id/prompt-context
49
- | |------------------------------>|
50
- | | { systemPrompt, tools } |
51
- | |<------------------------------|
52
- | | |
53
- | | LLM call (your API key) |
54
- | | system: systemPrompt |
55
- | | -> { response, appraisal } |
56
- | | |
57
- | | POST /personas/:id/perceive |
58
- | | { appraisal } |
59
- | |------------------------------>|
60
- | | { emotion, state } |
61
- | |<------------------------------|
62
- | | |
63
- | { text, response } | |
64
- |<------------------------| |
65
- ```
66
-
67
- 1. **Get prompt context** — API builds system prompt from live emotional state (identity + personality + mood + somatic + narrative + memory)
68
- 2. **LLM call** — SDK calls your LLM with assembled prompt. Returns response text + appraisal vector.
69
- 3. **Perceive** — SDK sends appraisal to API. Engine processes emotion pipeline -> new VAD state.
70
- 4. **Post-chat** — Episode saved, reflection triggered if needed, events emitted.
71
-
72
- The API does all emotion computation. The SDK just connects it to your LLM.
73
-
74
- ## Two LLM Modes
75
-
76
- ### Combined Mode (default)
77
-
78
- Single LLM call returns both response text and appraisal in one `generateObject()` call:
79
-
80
- ```ts
81
- const persona = await MolrooPersona.create({
82
- baseUrl, apiKey,
83
- llm, // one LLM handles everything
84
- }, personaConfig);
85
- ```
86
-
87
- ### Split Mode
9
+ ```typescript
10
+ import { Molroo } from '@molroo-io/sdk';
11
+ import { createOpenAI } from '@ai-sdk/openai';
88
12
 
89
- Separate LLM for appraisal (cheap/fast model) and response (quality model). Appraisal runs first -> engine updates emotion -> response generated with updated emotional state:
13
+ const molroo = new Molroo({ apiKey: 'mk_live_...' });
90
14
 
91
- ```ts
92
- const persona = await MolrooPersona.create({
93
- baseUrl, apiKey,
94
- llm: responseModel, // quality model for response text
95
- engineLlm: appraisalModel, // cheap model for appraisal vector
96
- }, personaConfig);
97
- ```
98
-
99
- ## MolrooPersona API
100
-
101
- ### Static Methods
102
-
103
- | Method | Description |
104
- |--------|-------------|
105
- | `MolrooPersona.create(config, personaConfig)` | Create a new persona |
106
- | `MolrooPersona.connect(config, personaId)` | Connect to an existing persona |
107
- | `MolrooPersona.listPersonas(config)` | List all personas |
108
-
109
- ### Instance Methods
110
-
111
- | Method | Description |
112
- |--------|-------------|
113
- | `chat(message, options?)` | Full LLM orchestration: prompt -> LLM -> perceive -> result |
114
- | `perceive(message, options?)` | Send event to emotion engine (no LLM call) |
115
- | `tick(seconds)` | Advance time (mood decay, body recovery) |
116
- | `getState()` | Get current emotional state |
117
- | `setEmotion(vad)` | Direct VAD override |
118
- | `getPromptContext(suffix?, source?)` | Get server-assembled system prompt |
119
- | `searchMemory(query, options?)` | Search episodic memory |
120
- | `getSnapshot()` | Get full persona snapshot |
121
- | `putSnapshot(snapshot)` | Load persona snapshot |
122
- | `patch(config)` | Update persona config |
123
- | `destroy()` | Soft-delete the persona |
124
- | `restore()` | Restore a soft-deleted persona |
125
-
126
- ### Config
127
-
128
- ```ts
129
- interface MolrooPersonaConfig {
130
- baseUrl: string; // API URL (e.g. 'https://api.molroo.io')
131
- apiKey: string; // API key
132
- llm?: LLMAdapter; // LLM for chat (optional - emotion-only without)
133
- engineLlm?: LLMAdapter; // Separate LLM for appraisal (split mode)
134
- memory?: MemoryAdapter | MemoryConfig; // Single adapter or split config (optional)
135
- recall?: RecallLimits; // Recall limits for single adapter mode
136
- events?: EventAdapter; // Event emission (optional)
137
- }
138
- ```
139
-
140
- ## Adapters
141
-
142
- ### LLM Adapter
15
+ const openai = createOpenAI({ apiKey: process.env.OPENAI_API_KEY! });
143
16
 
144
- Required for `chat()`. Built into `@molroo-io/sdk`:
17
+ // Create persona from description
18
+ const sera = await molroo.createPersona(
19
+ 'A kind and curious barista named Sera who remembers customer names',
20
+ { llm: openai }
21
+ );
145
22
 
146
- ```ts
147
- import { createVercelAIAdapter } from '@molroo-io/sdk';
148
-
149
- const llm = createVercelAIAdapter({
150
- provider: 'openai', // or 'anthropic', 'google'
151
- apiKey: process.env.OPENAI_API_KEY!,
152
- model: 'gpt-4o-mini', // optional
153
- });
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
154
28
  ```
155
29
 
156
- ### Memory
157
-
158
- Client-side memory for episodic recall and semantic search. Optional — when not provided, memory recall is skipped.
30
+ ## Installation
159
31
 
160
- **Single adapter (recommended)** — pass one `MemoryAdapter` that handles everything:
161
-
162
- ```ts
163
- import { SqliteMemoryAdapter } from '@molroo-io/sdk/memory/sqlite';
164
-
165
- const persona = await MolrooPersona.create({
166
- baseUrl, apiKey, llm,
167
- memory: new SqliteMemoryAdapter({ dbPath: './memory.db' }),
168
- recall: { episodicLimit: 5, semanticLimit: 3 }, // optional limits
169
- }, personaConfig);
170
- ```
171
-
172
- Built-in `InMemoryEpisodeAdapter` also works as a single adapter (for demos/testing):
173
-
174
- ```ts
175
- import { InMemoryEpisodeAdapter } from '@molroo-io/sdk';
176
-
177
- const persona = await MolrooPersona.create({
178
- baseUrl, apiKey, llm,
179
- memory: new InMemoryEpisodeAdapter(),
180
- }, personaConfig);
32
+ ```bash
33
+ npm install @molroo-io/sdk
34
+ npm install ai @ai-sdk/openai # or @ai-sdk/anthropic, @ai-sdk/google-vertex
181
35
  ```
182
36
 
183
- **Split adapters (advanced)** — assemble episode store + vector search separately:
184
-
185
- ```ts
186
- const persona = await MolrooPersona.create({
187
- baseUrl, apiKey, llm,
188
- memory: {
189
- episodes: episodeStore,
190
- semantic: vectorStore,
191
- embedding: embeddingProvider,
192
- recall: { episodicLimit: 5, semanticLimit: 3 },
193
- },
194
- }, personaConfig);
195
- ```
37
+ ## Features
196
38
 
197
- ### Events
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
198
44
 
199
- Optional event emission for logging, webhooks, or custom integrations:
45
+ ## Usage Modes
200
46
 
201
- ```ts
202
- import { ConsoleEventAdapter, WebhookEventAdapter } from '@molroo-io/sdk';
47
+ ### 1. Simple Mode (External History)
203
48
 
204
- // Console logging
205
- const events = new ConsoleEventAdapter();
49
+ ```typescript
50
+ const molroo = new Molroo({ apiKey: 'mk_...' });
51
+ const sera = await molroo.createPersona('...', { llm: openai });
206
52
 
207
- // Webhook
208
- const events = new WebhookEventAdapter({ url: 'https://...', secret: '...' });
53
+ let history = [];
54
+ const result = await sera.chat('Hello', { history });
55
+ history = result.updatedHistory;
209
56
  ```
210
57
 
211
- ## Persona Generation
212
-
213
- Generate a complete persona config from a description using LLM:
214
-
215
- ```ts
216
- import { generatePersona } from '@molroo-io/sdk';
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
+ }
217
74
 
218
- const result = await generatePersona(llm, {
219
- name: 'Sera',
220
- description: 'A cheerful companion who loves music',
75
+ const sera = await molroo.createPersona('...', {
76
+ llm: openai,
77
+ memory: new MyPostgresAdapter()
221
78
  });
222
- // result.config -> full PersonaConfigData
223
79
  ```
224
80
 
225
- ## Build & Test
81
+ ## World Simulation
226
82
 
227
- ```bash
228
- npm run build # tsc -> dist/cjs + dist/esm
229
- npm run test # Vitest (148 tests)
230
- npm run lint # ESLint
231
- npm run gen:types # openapi-typescript -> src/generated/api.d.ts
232
- 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: {...} });
233
87
  ```
234
88
 
235
- ## Links
236
-
237
- - [Documentation](https://docs.molroo.io)
238
- - [Dashboard](https://molroo.io/dashboard)
239
- - [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.
240
132
 
241
133
  ## License
242
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,66 +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
- export { MolrooPersona } from './persona';
34
- export { MolrooApiError } from './types';
31
+ export { Molroo } from './world/world';
32
+ export type { MolrooOptions, PersonaOptions } from './world/world';
33
+ export { MolrooApiError, WorldApiError } from './shared/errors';
34
+ export { NEUTRAL_APPRAISAL, toWireAppraisal, fromWireAppraisal } from './shared/appraisal';
35
+ export type { Appraisal } from './shared/appraisal';
35
36
  export type { LLMAdapter, Message, GenerateTextOptions, GenerateObjectOptions, } from './llm/adapter';
36
- export type { LLMShorthand, LLMInput } from './llm/resolve';
37
- export { VercelAIAdapter, createVercelAIAdapter } from './llm/vercel-ai';
38
- export type { VercelAIConfig } from './llm/vercel-ai';
39
- export type { MemoryAdapter, RecallQuery, SemanticRecallOptions, RecallLimits, } from './memory/types';
40
- export { isMemoryConfig } from './memory/types';
41
- export type { EpisodeAdapter, EpisodeQuery, SemanticAdapter, SemanticEntry, SemanticQuery, SemanticResult, EmbeddingAdapter, MemoryConfig, Reflection, } from './memory/types';
42
- export { InMemoryEpisodeAdapter } from './memory/in-memory';
43
- export type { RecallConfig } from './memory/recall';
44
- export type { SemanticMemory, SearchOptions, SearchResult } from './memory/semantic';
45
- export { InMemorySemanticMemory } from './memory/in-memory-semantic';
46
- export type { EpisodeStore, SemanticStore, EmbeddingProvider } from './memory/types';
47
- export { InMemoryEpisodeStore } from './memory/in-memory';
48
- export type { EventAdapter, SDKEvent, SDKEventType, PersonaEventType } from './events/types';
49
- export { ConsoleEventAdapter } from './events/console';
50
- export type { ConsoleEventAdapterOptions } from './events/console';
51
- export { WebhookEventAdapter } from './events/webhook';
52
- export type { WebhookEventAdapterOptions } from './events/webhook';
53
- export { generatePersona } from './generate/persona';
54
- export { GeneratePersonaSchema } from './generate/schema';
55
- export type { GeneratePersonaSchemaOutput } from './generate/schema';
56
- 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';
57
40
  export type { InterlocutorContext, PerceiveOptions, PerceiveEvent, PerceiveContext, } from './types';
58
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';
59
42
  export type { PersonaSnapshot, PersonaConfigData, PersonalityTraits, Identity, Goal, MotivationContext, } from './types';
60
43
  export type { ApiResponse, ApiErrorResponse, PersonaDynamicState, } from './types';
61
- export { AppraisalVectorSchema, LLMResponseSchema, LLMResponseWithToolsSchema, } from './llm/schema';
62
- export type { LLMResponseOutput, LLMResponseWithToolsOutput } from './llm/schema';
63
44
  export type { LLMPrompt, LLMResponse, } from './llm/types';
64
- export type { ChatMessage } from './llm/types';
65
45
  export { DEFAULT_PERSONA, withDefaults } from './defaults';
66
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"}