@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
@@ -1,49 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Village = void 0;
4
- // INFO: @F001 Domain class wrapping village API — see plan step 3
3
+ exports.World = void 0;
4
+ // INFO: @F001 Domain class wrapping World API — see plan step 3
5
5
  const client_1 = require("./client");
6
6
  const world_persona_1 = require("./world-persona");
7
+ const appraisal_1 = require("../shared/appraisal");
7
8
  // ---------------------------------------------------------------------------
8
- // Internal helpers (not exported)
9
- // ---------------------------------------------------------------------------
10
- function toApiAppraisal(v) {
11
- return {
12
- goal_relevance: v.goalRelevance,
13
- goal_congruence: v.goalCongruence,
14
- expectedness: v.expectedness,
15
- controllability: v.controllability,
16
- agency: v.agency,
17
- norm_compatibility: v.normCompatibility,
18
- internal_standards: v.internalStandards,
19
- adjustment_potential: v.adjustmentPotential,
20
- urgency: v.urgency,
21
- };
22
- }
23
- function fromApiAppraisal(raw) {
24
- return {
25
- goalRelevance: raw.goal_relevance,
26
- goalCongruence: raw.goal_congruence,
27
- expectedness: raw.expectedness,
28
- controllability: raw.controllability,
29
- agency: raw.agency,
30
- normCompatibility: raw.norm_compatibility,
31
- internalStandards: raw.internal_standards,
32
- adjustmentPotential: raw.adjustment_potential,
33
- urgency: raw.urgency,
34
- };
35
- }
36
- // ---------------------------------------------------------------------------
37
- // Village class
9
+ // World class (domain)
38
10
  // ---------------------------------------------------------------------------
39
11
  /**
40
- * Represents a village and exposes domain methods for personas, actions,
12
+ * Represents a world and exposes domain methods for personas, actions,
41
13
  * relationships, interactions, and events.
42
14
  *
43
- * Instances are obtained via {@link World.createVillage} or {@link World.getVillage}.
15
+ * Instances are obtained via {@link Molroo.createWorld} or {@link Molroo.getWorld}.
44
16
  */
45
- class Village {
46
- /** @internal — use World.createVillage / World.getVillage instead. */
17
+ class World {
18
+ /** @internal — use Molroo.createWorld / Molroo.getWorld instead. */
47
19
  constructor(client, data) {
48
20
  this._client = client;
49
21
  this._data = { ...data };
@@ -64,16 +36,16 @@ class Village {
64
36
  get responseRule() {
65
37
  return this._data.responseRule;
66
38
  }
67
- /** Returns a readonly snapshot of the village data. */
39
+ /** Returns a readonly snapshot of the world data. */
68
40
  get data() {
69
41
  return this._data;
70
42
  }
71
- // -- Village CRUD ---------------------------------------------------------
43
+ // -- World CRUD ---------------------------------------------------------
72
44
  /**
73
- * Update village properties. Applies an optimistic local update on success.
45
+ * Update world properties. Applies an optimistic local update on success.
74
46
  */
75
47
  async update(options) {
76
- await this._client.PATCH('/villages/{id}', {
48
+ await this._client.PATCH('/worlds/{id}', {
77
49
  params: { path: { id: this.id } },
78
50
  body: {
79
51
  name: options.name,
@@ -92,9 +64,9 @@ class Village {
92
64
  if (options.responseRule !== undefined)
93
65
  this._data.responseRule = options.responseRule;
94
66
  }
95
- /** Soft-delete this village. */
67
+ /** Soft-delete this world. */
96
68
  async delete() {
97
- await this._client.DELETE('/villages/{id}', {
69
+ await this._client.DELETE('/worlds/{id}', {
98
70
  params: { path: { id: this.id } },
99
71
  });
100
72
  }
@@ -124,7 +96,7 @@ class Village {
124
96
  };
125
97
  }
126
98
  }
127
- const { data } = await this._client.POST('/villages/{id}/personas', {
99
+ const { data } = await this._client.POST('/worlds/{id}/personas', {
128
100
  params: { path: { id: this.id } },
129
101
  body: body,
130
102
  });
@@ -135,9 +107,9 @@ class Village {
135
107
  createdAt: raw.created_at,
136
108
  };
137
109
  }
138
- /** List all personas in this village. */
110
+ /** List all personas in this world. */
139
111
  async listPersonas() {
140
- const { data } = await this._client.GET('/villages/{id}/personas', {
112
+ const { data } = await this._client.GET('/worlds/{id}/personas', {
141
113
  params: { path: { id: this.id } },
142
114
  });
143
115
  const raw = (0, client_1.unwrap)(data);
@@ -145,14 +117,14 @@ class Village {
145
117
  }
146
118
  /** Get a single persona by ID. */
147
119
  async getPersona(personaId) {
148
- const { data } = await this._client.GET('/villages/{id}/personas/{pid}', {
120
+ const { data } = await this._client.GET('/worlds/{id}/personas/{pid}', {
149
121
  params: { path: { id: this.id, pid: personaId } },
150
122
  });
151
123
  return (0, client_1.unwrap)(data);
152
124
  }
153
- /** Remove a persona from this village. */
125
+ /** Remove a persona from this world. */
154
126
  async removePersona(personaId) {
155
- await this._client.DELETE('/villages/{id}/personas/{pid}', {
127
+ await this._client.DELETE('/worlds/{id}/personas/{pid}', {
156
128
  params: { path: { id: this.id, pid: personaId } },
157
129
  });
158
130
  }
@@ -165,7 +137,7 @@ class Village {
165
137
  *
166
138
  * @example
167
139
  * ```typescript
168
- * const mina = village.persona('mina', { llm: adapter });
140
+ * const mina = world.persona('mina', { llm: adapter });
169
141
  * const r = await mina.react('flirt', {
170
142
  * actor: 'yongjun',
171
143
  * prompt: '거실에서 용준이 민아에게 윙크했다.',
@@ -176,42 +148,42 @@ class Village {
176
148
  return new world_persona_1.WorldPersona(this._client, this.id, personaId, options);
177
149
  }
178
150
  // -- Actions --------------------------------------------------------------
179
- /** Create a custom action in this village. */
151
+ /** Create a custom action in this world. */
180
152
  async createAction(options) {
181
- const { data } = await this._client.POST('/villages/{id}/actions', {
153
+ const { data } = await this._client.POST('/worlds/{id}/actions', {
182
154
  params: { path: { id: this.id } },
183
155
  body: {
184
156
  name: options.name,
185
157
  description: options.description,
186
- appraisal_vector: toApiAppraisal(options.appraisalVector),
158
+ appraisal_vector: (0, appraisal_1.toWireAppraisal)(options.appraisalVector),
187
159
  },
188
160
  });
189
161
  const raw = (0, client_1.unwrap)(data);
190
162
  return { id: raw.id, name: raw.name };
191
163
  }
192
- /** List all actions (defaults + custom) in this village. */
164
+ /** List all actions (defaults + custom) in this world. */
193
165
  async listActions() {
194
- const { data } = await this._client.GET('/villages/{id}/actions', {
166
+ const { data } = await this._client.GET('/worlds/{id}/actions', {
195
167
  params: { path: { id: this.id } },
196
168
  });
197
169
  const raw = (0, client_1.unwrap)(data);
198
170
  return (raw.actions ?? []).map((a) => ({
199
171
  name: a.name,
200
172
  description: a.description,
201
- appraisalVector: fromApiAppraisal(a.appraisal_vector),
173
+ appraisalVector: (0, appraisal_1.fromWireAppraisal)(a.appraisal_vector),
202
174
  isDefault: a.is_default,
203
175
  }));
204
176
  }
205
- /** Delete a custom action from this village. */
177
+ /** Delete a custom action from this world. */
206
178
  async deleteAction(actionId) {
207
- await this._client.DELETE('/villages/{id}/actions/{aid}', {
179
+ await this._client.DELETE('/worlds/{id}/actions/{aid}', {
208
180
  params: { path: { id: this.id, aid: actionId } },
209
181
  });
210
182
  }
211
183
  // -- Relationships --------------------------------------------------------
212
- /** Set (upsert) a relationship in this village. */
184
+ /** Set (upsert) a relationship in this world. */
213
185
  async setRelationship(options) {
214
- await this._client.PUT('/villages/{id}/relationships', {
186
+ await this._client.PUT('/worlds/{id}/relationships', {
215
187
  params: { path: { id: this.id } },
216
188
  body: {
217
189
  source_type: options.source.type,
@@ -225,9 +197,9 @@ class Village {
225
197
  },
226
198
  });
227
199
  }
228
- /** List all relationships in this village. */
200
+ /** List all relationships in this world. */
229
201
  async listRelationships() {
230
- const { data } = await this._client.GET('/villages/{id}/relationships', {
202
+ const { data } = await this._client.GET('/worlds/{id}/relationships', {
231
203
  params: { path: { id: this.id } },
232
204
  });
233
205
  const raw = (0, client_1.unwrap)(data);
@@ -235,21 +207,21 @@ class Village {
235
207
  }
236
208
  /** Delete a relationship by ID. */
237
209
  async deleteRelationship(relationshipId) {
238
- await this._client.DELETE('/villages/{id}/relationships/{rid}', {
210
+ await this._client.DELETE('/worlds/{id}/relationships/{rid}', {
239
211
  params: { path: { id: this.id, rid: relationshipId } },
240
212
  });
241
213
  }
242
214
  // -- Interaction ----------------------------------------------------------
243
- /** Execute an interaction in this village. */
215
+ /** Execute an interaction in this world. */
244
216
  async interact(options) {
245
- const { data } = await this._client.POST('/villages/{id}/interact', {
217
+ const { data } = await this._client.POST('/worlds/{id}/interact', {
246
218
  params: { path: { id: this.id } },
247
219
  body: {
248
220
  target_persona_id: options.target,
249
221
  action_name: options.action,
250
222
  action_label: options.actionLabel,
251
223
  stimulus_description: options.stimulusDescription,
252
- appraisal_vector: options.appraisal ? toApiAppraisal(options.appraisal) : undefined,
224
+ appraisal_vector: options.appraisal ? (0, appraisal_1.toWireAppraisal)(options.appraisal) : undefined,
253
225
  actor_id: options.actor,
254
226
  actor_type: options.actorType,
255
227
  },
@@ -257,9 +229,9 @@ class Village {
257
229
  return (0, client_1.unwrap)(data);
258
230
  }
259
231
  // -- Events ---------------------------------------------------------------
260
- /** Retrieve the event log for this village. */
232
+ /** Retrieve the event log for this world. */
261
233
  async getEvents(options) {
262
- const { data } = await this._client.GET('/villages/{id}/events', {
234
+ const { data } = await this._client.GET('/worlds/{id}/events', {
263
235
  params: {
264
236
  path: { id: this.id },
265
237
  query: {
@@ -275,4 +247,4 @@ class Village {
275
247
  };
276
248
  }
277
249
  }
278
- exports.Village = Village;
250
+ exports.World = World;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * WorldPersona — a persona handle within a village.
2
+ * WorldPersona — a persona handle within a world.
3
3
  *
4
4
  * "누가 말하는가? 페르소나가 말한다."
5
5
  *
@@ -8,7 +8,7 @@
8
8
  * 제공하되, 내부적으로 World API 엔드포인트를 사용한다.
9
9
  */
10
10
  import { type ApiClient } from './client';
11
- import type { AppraisalVector } from './types';
11
+ import type { Appraisal } from './types';
12
12
  import type { LLMAdapter } from '../llm/adapter';
13
13
  export type LLMMessage = {
14
14
  role: 'user' | 'assistant' | 'system';
@@ -35,7 +35,7 @@ export interface PersonaEmotion {
35
35
  D: number;
36
36
  };
37
37
  }
38
- export interface PersonaState {
38
+ export interface WorldPersonaState {
39
39
  emotion: PersonaEmotion;
40
40
  mood?: {
41
41
  vad: {
@@ -46,6 +46,8 @@ export interface PersonaState {
46
46
  };
47
47
  somatic?: string[];
48
48
  }
49
+ /** @deprecated Use {@link WorldPersonaState} instead. */
50
+ export type PersonaState = WorldPersonaState;
49
51
  export interface PromptContext {
50
52
  systemPrompt: string;
51
53
  promptContext: Record<string, string>;
@@ -67,7 +69,7 @@ export interface PersonaDetail {
67
69
  goals?: unknown[];
68
70
  [key: string]: unknown;
69
71
  };
70
- state: PersonaState | null;
72
+ state: WorldPersonaState | null;
71
73
  }
72
74
  export interface ReactOptions {
73
75
  /** Who is performing the action (e.g. 'yongjun'). */
@@ -100,18 +102,18 @@ export interface WorldPersonaOptions {
100
102
  }
101
103
  export declare class WorldPersona {
102
104
  private readonly _client;
103
- private readonly _villageId;
105
+ private readonly _worldId;
104
106
  private readonly _personaId;
105
107
  private readonly _llm?;
106
108
  /** Cached persona detail (config + state). Invalidated on interact(). */
107
109
  private _detailCache;
108
- /** @internal — use Village.persona() instead. */
109
- constructor(client: ApiClient, villageId: string, personaId: string, options?: WorldPersonaOptions);
110
+ /** @internal — use World.persona() instead. */
111
+ constructor(client: ApiClient, worldId: string, personaId: string, options?: WorldPersonaOptions);
110
112
  get id(): string;
111
113
  /** Fetch full persona detail (config + state). Cached per-instance. */
112
114
  getDetail(): Promise<PersonaDetail>;
113
115
  /** Get current emotion/mood/somatic state. */
114
- getState(): Promise<PersonaState>;
116
+ getState(): Promise<WorldPersonaState>;
115
117
  /** Get speaking style from persona config (identity.speakingStyle). */
116
118
  getSpeakingStyle(): Promise<string | undefined>;
117
119
  /** Get LLM system prompt assembled from all persona subsystems + world context. */
@@ -123,7 +125,7 @@ export declare class WorldPersona {
123
125
  interact(action: string, options?: {
124
126
  actor?: string;
125
127
  actorType?: 'user' | 'persona';
126
- appraisal?: AppraisalVector;
128
+ appraisal?: Appraisal;
127
129
  stimulusDescription?: string;
128
130
  }): Promise<{
129
131
  emotion: PersonaEmotion;
@@ -155,7 +157,7 @@ export declare class WorldPersona {
155
157
  *
156
158
  * @example
157
159
  * ```typescript
158
- * const mina = village.persona('mina', { llm: adapter });
160
+ * const mina = world.persona('mina', { llm: adapter });
159
161
  *
160
162
  * // Plain text reaction
161
163
  * const r1 = await mina.react('flirt', {
@@ -1 +1 @@
1
- {"version":3,"file":"world-persona.d.ts","sourceRoot":"","sources":["../../../src/world/world-persona.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"world-persona.d.ts","sourceRoot":"","sources":["../../../src/world/world-persona.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.WorldPersona = void 0;
4
4
  /**
5
- * WorldPersona — a persona handle within a village.
5
+ * WorldPersona — a persona handle within a world.
6
6
  *
7
7
  * "누가 말하는가? 페르소나가 말한다."
8
8
  *
@@ -11,29 +11,14 @@ exports.WorldPersona = void 0;
11
11
  * 제공하되, 내부적으로 World API 엔드포인트를 사용한다.
12
12
  */
13
13
  const client_1 = require("./client");
14
- // ---------------------------------------------------------------------------
15
- // Internal helpers
16
- // ---------------------------------------------------------------------------
17
- function toApiAppraisal(v) {
18
- return {
19
- goal_relevance: v.goalRelevance,
20
- goal_congruence: v.goalCongruence,
21
- expectedness: v.expectedness,
22
- controllability: v.controllability,
23
- agency: v.agency,
24
- norm_compatibility: v.normCompatibility,
25
- internal_standards: v.internalStandards,
26
- adjustment_potential: v.adjustmentPotential,
27
- urgency: v.urgency,
28
- };
29
- }
14
+ const appraisal_1 = require("../shared/appraisal");
30
15
  class WorldPersona {
31
- /** @internal — use Village.persona() instead. */
32
- constructor(client, villageId, personaId, options) {
16
+ /** @internal — use World.persona() instead. */
17
+ constructor(client, worldId, personaId, options) {
33
18
  /** Cached persona detail (config + state). Invalidated on interact(). */
34
19
  this._detailCache = null;
35
20
  this._client = client;
36
- this._villageId = villageId;
21
+ this._worldId = worldId;
37
22
  this._personaId = personaId;
38
23
  this._llm = options?.llm;
39
24
  }
@@ -45,8 +30,8 @@ class WorldPersona {
45
30
  async getDetail() {
46
31
  if (this._detailCache)
47
32
  return this._detailCache;
48
- const { data } = await this._client.GET('/villages/{id}/personas/{pid}', {
49
- params: { path: { id: this._villageId, pid: this._personaId } },
33
+ const { data } = await this._client.GET('/worlds/{id}/personas/{pid}', {
34
+ params: { path: { id: this._worldId, pid: this._personaId } },
50
35
  });
51
36
  const raw = (0, client_1.unwrap)(data);
52
37
  const config = typeof raw.config === 'string' ? JSON.parse(raw.config) : raw.config;
@@ -71,8 +56,8 @@ class WorldPersona {
71
56
  }
72
57
  /** Get LLM system prompt assembled from all persona subsystems + world context. */
73
58
  async getPromptContext(sourceEntity) {
74
- const { data } = await this._client.POST('/villages/{id}/personas/{pid}/prompt-context', {
75
- params: { path: { id: this._villageId, pid: this._personaId } },
59
+ const { data } = await this._client.POST('/worlds/{id}/personas/{pid}/prompt-context', {
60
+ params: { path: { id: this._worldId, pid: this._personaId } },
76
61
  body: sourceEntity ? { sourceEntity } : {},
77
62
  });
78
63
  return (0, client_1.unwrap)(data);
@@ -84,14 +69,14 @@ class WorldPersona {
84
69
  */
85
70
  async interact(action, options) {
86
71
  this._detailCache = null; // invalidate
87
- const { data } = await this._client.POST('/villages/{id}/interact', {
88
- params: { path: { id: this._villageId } },
72
+ const { data } = await this._client.POST('/worlds/{id}/interact', {
73
+ params: { path: { id: this._worldId } },
89
74
  body: {
90
75
  target_persona_id: this._personaId,
91
76
  action_name: action || undefined,
92
77
  action_label: action || undefined,
93
78
  stimulus_description: options?.stimulusDescription,
94
- appraisal_vector: options?.appraisal ? toApiAppraisal(options.appraisal) : undefined,
79
+ appraisal_vector: options?.appraisal ? (0, appraisal_1.toWireAppraisal)(options.appraisal) : undefined,
95
80
  actor_id: options?.actor,
96
81
  actor_type: options?.actorType,
97
82
  },
@@ -110,8 +95,8 @@ class WorldPersona {
110
95
  */
111
96
  async tick(seconds) {
112
97
  this._detailCache = null; // invalidate — state changes after tick
113
- const { data } = await this._client.POST('/villages/{id}/personas/{pid}/tick', {
114
- params: { path: { id: this._villageId, pid: this._personaId } },
98
+ const { data } = await this._client.POST('/worlds/{id}/personas/{pid}/tick', {
99
+ params: { path: { id: this._worldId, pid: this._personaId } },
115
100
  body: { seconds },
116
101
  });
117
102
  return (0, client_1.unwrap)(data);
@@ -125,7 +110,7 @@ class WorldPersona {
125
110
  *
126
111
  * @example
127
112
  * ```typescript
128
- * const mina = village.persona('mina', { llm: adapter });
113
+ * const mina = world.persona('mina', { llm: adapter });
129
114
  *
130
115
  * // Plain text reaction
131
116
  * const r1 = await mina.react('flirt', {
@@ -149,7 +134,7 @@ class WorldPersona {
149
134
  */
150
135
  async react(action, options) {
151
136
  if (!this._llm) {
152
- throw new Error('WorldPersona.react() requires an LLM adapter. Pass { llm } to village.persona().');
137
+ throw new Error('WorldPersona.react() requires an LLM adapter. Pass { llm } to world.persona().');
153
138
  }
154
139
  // 1. Interact — emotion engine processes the action
155
140
  const interactResult = await this.interact(action, {
@@ -1,40 +1,107 @@
1
1
  import { type ApiClient } from './client';
2
- import { Village } from './village';
3
- import type { VillageData, CreateVillageOptions, PaginationOptions } from './types';
4
- export interface WorldOptions {
2
+ import { World } from './world-domain';
3
+ import { MolrooPersona } from '../persona';
4
+ import type { PersonaSummary } from '../persona';
5
+ import type { PersonaConfigData } from '../types';
6
+ import type { LLMInput } from '../llm/resolve';
7
+ import type { MemoryAdapter, RecallLimits } from '../memory/types';
8
+ import type { EventAdapter } from '../events/types';
9
+ import type { WorldData, CreateWorldOptions, PaginationOptions } from './types';
10
+ export interface MolrooOptions {
5
11
  apiKey: string;
6
12
  baseUrl?: string;
7
13
  }
14
+ /** Per-persona options passed when creating/connecting personas via the Molroo client. */
15
+ export interface PersonaOptions {
16
+ llm?: LLMInput;
17
+ engineLlm?: LLMInput;
18
+ memory?: MemoryAdapter;
19
+ recall?: RecallLimits;
20
+ events?: EventAdapter;
21
+ }
8
22
  /**
9
- * Entry point for the World SDK.
23
+ * Unified entry point for the molroo SDK.
10
24
  *
11
25
  * @example
12
26
  * ```typescript
13
- * import { World } from '@molroo-io/sdk';
27
+ * import { Molroo } from '@molroo-io/sdk/world';
28
+ *
29
+ * const molroo = new Molroo({ apiKey: 'mk_live_...' });
14
30
  *
15
- * const world = new World({ apiKey: 'mk_live_...' });
16
- * const village = await world.createVillage({ name: 'My Village' });
17
- * const result = await village.interact({ target: 'sera', action: 'greet' });
31
+ * // Persona
32
+ * const sera = await molroo.createPersona({ identity: { name: 'Sera' }, ... }, { llm });
33
+ * await sera.chat('Hello!');
34
+ *
35
+ * // World
36
+ * const world = await molroo.createWorld({ name: 'Cafe' });
37
+ * await world.addPersona({ personaConfigId: sera.id, config: {...} });
18
38
  * ```
19
39
  */
20
- export declare class World {
40
+ export declare class Molroo {
21
41
  /** @internal — exposed for advanced use only. */
22
42
  readonly _client: ApiClient;
23
- constructor(options: WorldOptions);
43
+ private readonly _baseUrl;
44
+ private readonly _apiKey;
45
+ constructor(options: MolrooOptions);
46
+ /**
47
+ * Create a new persona from a natural language description.
48
+ * Uses LLM to generate HEXACO personality configuration.
49
+ *
50
+ * @example
51
+ * ```typescript
52
+ * const sera = await molroo.createPersona(
53
+ * 'A kind and curious barista who remembers customer names',
54
+ * { llm: openaiAdapter }
55
+ * );
56
+ * ```
57
+ */
58
+ createPersona(description: string, options: PersonaOptions & {
59
+ llm: LLMInput;
60
+ }): Promise<MolrooPersona>;
61
+ /**
62
+ * Create a new persona with explicit configuration.
63
+ *
64
+ * @example
65
+ * ```typescript
66
+ * const sera = await molroo.createPersona(
67
+ * { identity: { name: 'Sera' }, personality: { O: 0.8, C: 0.6, E: 0.7, A: 0.5, N: 0.3, H: 0.6 } },
68
+ * { llm: openaiAdapter }
69
+ * );
70
+ * ```
71
+ */
72
+ createPersona(personaConfig: PersonaConfigData, options?: PersonaOptions): Promise<MolrooPersona>;
73
+ /**
74
+ * Connect to an existing persona by ID.
75
+ */
76
+ connectPersona(personaId: string, options?: PersonaOptions): Promise<MolrooPersona>;
77
+ /**
78
+ * Generate a persona from a natural-language description.
79
+ * @deprecated Use `createPersona(description, options)` instead.
80
+ */
81
+ generatePersona(description: string, options: PersonaOptions & {
82
+ llm: LLMInput;
83
+ }): Promise<MolrooPersona>;
84
+ /**
85
+ * List all personas for the authenticated tenant.
86
+ */
87
+ listPersonas(): Promise<{
88
+ personas: PersonaSummary[];
89
+ nextCursor?: string;
90
+ }>;
24
91
  /**
25
- * Create a new village and return a {@link Village} instance.
92
+ * Create a new world and return a {@link World} instance.
26
93
  */
27
- createVillage(options: CreateVillageOptions): Promise<Village>;
94
+ createWorld(options: CreateWorldOptions): Promise<World>;
28
95
  /**
29
- * Fetch an existing village by ID and return a {@link Village} instance.
96
+ * Fetch an existing world by ID and return a {@link World} instance.
30
97
  */
31
- getVillage(id: string): Promise<Village>;
98
+ getWorld(id: string): Promise<World>;
32
99
  /**
33
- * List villages. Returns raw data objects (not Village instances) for
100
+ * List worlds. Returns raw data objects (not World instances) for
34
101
  * efficiency when only metadata is needed.
35
102
  */
36
- listVillages(options?: PaginationOptions): Promise<{
37
- villages: VillageData[];
103
+ listWorlds(options?: PaginationOptions): Promise<{
104
+ worlds: WorldData[];
38
105
  nextCursor: string | null;
39
106
  }>;
40
107
  }
@@ -1 +1 @@
1
- {"version":3,"file":"world.d.ts","sourceRoot":"","sources":["../../../src/world/world.ts"],"names":[],"mappings":"AACA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EACV,WAAW,EACX,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAiCjB,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAQD;;;;;;;;;;;GAWG;AACH,qBAAa,KAAK;IAChB,iDAAiD;IACjD,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;gBAEhB,OAAO,EAAE,YAAY;IAOjC;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAwBpE;;OAEG;IACG,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB9C;;;OAGG;IACG,YAAY,CAChB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC;QAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;CA6BnE"}
1
+ {"version":3,"file":"world.d.ts","sourceRoot":"","sources":["../../../src/world/world.ts"],"names":[],"mappings":"AACA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EACV,SAAS,EACT,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAiCjB,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,0FAA0F;AAC1F,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAQD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,MAAM;IACjB,iDAAiD;IACjD,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,EAAE,aAAa;IAalC;;;;;;;;;;;OAWG;IACG,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,cAAc,GAAG;QAAE,GAAG,EAAE,QAAQ,CAAA;KAAE,GAC1C,OAAO,CAAC,aAAa,CAAC;IAEzB;;;;;;;;;;OAUG;IACG,aAAa,CACjB,aAAa,EAAE,iBAAiB,EAChC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,aAAa,CAAC;IAuBzB;;OAEG;IACG,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,aAAa,CAAC;IAOzB;;;OAGG;IACG,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,cAAc,GAAG;QAAE,GAAG,EAAE,QAAQ,CAAA;KAAE,GAC1C,OAAO,CAAC,aAAa,CAAC;IAIzB;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC;QAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAWlF;;OAEG;IACG,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC;IAwB9D;;OAEG;IACG,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAmB1C;;;OAGG;IACG,UAAU,CACd,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC;QAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;CA6B/D"}