@chanl/scenarios-core 0.4.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 (298) hide show
  1. package/LICENSE +21 -0
  2. package/dist/__tests__/e2e/test-helpers.d.ts +79 -0
  3. package/dist/__tests__/e2e/test-helpers.d.ts.map +1 -0
  4. package/dist/__tests__/e2e/test-helpers.js +162 -0
  5. package/dist/__tests__/e2e/test-helpers.js.map +1 -0
  6. package/dist/adapters/adapter-registry.d.ts +14 -0
  7. package/dist/adapters/adapter-registry.d.ts.map +1 -0
  8. package/dist/adapters/adapter-registry.js +53 -0
  9. package/dist/adapters/adapter-registry.js.map +1 -0
  10. package/dist/adapters/agent-adapter.interface.d.ts +70 -0
  11. package/dist/adapters/agent-adapter.interface.d.ts.map +1 -0
  12. package/dist/adapters/agent-adapter.interface.js +3 -0
  13. package/dist/adapters/agent-adapter.interface.js.map +1 -0
  14. package/dist/adapters/anthropic.adapter.d.ts +17 -0
  15. package/dist/adapters/anthropic.adapter.d.ts.map +1 -0
  16. package/dist/adapters/anthropic.adapter.js +145 -0
  17. package/dist/adapters/anthropic.adapter.js.map +1 -0
  18. package/dist/adapters/http.adapter.d.ts +17 -0
  19. package/dist/adapters/http.adapter.d.ts.map +1 -0
  20. package/dist/adapters/http.adapter.js +95 -0
  21. package/dist/adapters/http.adapter.js.map +1 -0
  22. package/dist/adapters/index.d.ts +6 -0
  23. package/dist/adapters/index.d.ts.map +1 -0
  24. package/dist/adapters/index.js +22 -0
  25. package/dist/adapters/index.js.map +1 -0
  26. package/dist/adapters/openai.adapter.d.ts +17 -0
  27. package/dist/adapters/openai.adapter.d.ts.map +1 -0
  28. package/dist/adapters/openai.adapter.js +133 -0
  29. package/dist/adapters/openai.adapter.js.map +1 -0
  30. package/dist/dataset/convert.d.ts +28 -0
  31. package/dist/dataset/convert.d.ts.map +1 -0
  32. package/dist/dataset/convert.js +94 -0
  33. package/dist/dataset/convert.js.map +1 -0
  34. package/dist/dataset/formats/dpo.d.ts +41 -0
  35. package/dist/dataset/formats/dpo.d.ts.map +1 -0
  36. package/dist/dataset/formats/dpo.js +79 -0
  37. package/dist/dataset/formats/dpo.js.map +1 -0
  38. package/dist/dataset/formats/index.d.ts +4 -0
  39. package/dist/dataset/formats/index.d.ts.map +1 -0
  40. package/dist/dataset/formats/index.js +13 -0
  41. package/dist/dataset/formats/index.js.map +1 -0
  42. package/dist/dataset/formats/openai.d.ts +29 -0
  43. package/dist/dataset/formats/openai.d.ts.map +1 -0
  44. package/dist/dataset/formats/openai.js +98 -0
  45. package/dist/dataset/formats/openai.js.map +1 -0
  46. package/dist/dataset/formats/sharegpt.d.ts +31 -0
  47. package/dist/dataset/formats/sharegpt.d.ts.map +1 -0
  48. package/dist/dataset/formats/sharegpt.js +76 -0
  49. package/dist/dataset/formats/sharegpt.js.map +1 -0
  50. package/dist/dataset/index.d.ts +4 -0
  51. package/dist/dataset/index.d.ts.map +1 -0
  52. package/dist/dataset/index.js +20 -0
  53. package/dist/dataset/index.js.map +1 -0
  54. package/dist/dataset/types.d.ts +108 -0
  55. package/dist/dataset/types.d.ts.map +1 -0
  56. package/dist/dataset/types.js +7 -0
  57. package/dist/dataset/types.js.map +1 -0
  58. package/dist/execution/agent-config-resolver.d.ts +44 -0
  59. package/dist/execution/agent-config-resolver.d.ts.map +1 -0
  60. package/dist/execution/agent-config-resolver.js +76 -0
  61. package/dist/execution/agent-config-resolver.js.map +1 -0
  62. package/dist/execution/execution-processor.d.ts +75 -0
  63. package/dist/execution/execution-processor.d.ts.map +1 -0
  64. package/dist/execution/execution-processor.js +569 -0
  65. package/dist/execution/execution-processor.js.map +1 -0
  66. package/dist/execution/execution.module.d.ts +3 -0
  67. package/dist/execution/execution.module.d.ts.map +1 -0
  68. package/dist/execution/execution.module.js +56 -0
  69. package/dist/execution/execution.module.js.map +1 -0
  70. package/dist/execution/execution.service.d.ts +52 -0
  71. package/dist/execution/execution.service.d.ts.map +1 -0
  72. package/dist/execution/execution.service.js +182 -0
  73. package/dist/execution/execution.service.js.map +1 -0
  74. package/dist/execution/index.d.ts +11 -0
  75. package/dist/execution/index.d.ts.map +1 -0
  76. package/dist/execution/index.js +30 -0
  77. package/dist/execution/index.js.map +1 -0
  78. package/dist/execution/interfaces/job-data.interface.d.ts +38 -0
  79. package/dist/execution/interfaces/job-data.interface.d.ts.map +1 -0
  80. package/dist/execution/interfaces/job-data.interface.js +3 -0
  81. package/dist/execution/interfaces/job-data.interface.js.map +1 -0
  82. package/dist/execution/judge-llm.d.ts +35 -0
  83. package/dist/execution/judge-llm.d.ts.map +1 -0
  84. package/dist/execution/judge-llm.js +129 -0
  85. package/dist/execution/judge-llm.js.map +1 -0
  86. package/dist/execution/llm-config-resolver.d.ts +26 -0
  87. package/dist/execution/llm-config-resolver.d.ts.map +1 -0
  88. package/dist/execution/llm-config-resolver.js +99 -0
  89. package/dist/execution/llm-config-resolver.js.map +1 -0
  90. package/dist/execution/persona-llm.d.ts +29 -0
  91. package/dist/execution/persona-llm.d.ts.map +1 -0
  92. package/dist/execution/persona-llm.js +98 -0
  93. package/dist/execution/persona-llm.js.map +1 -0
  94. package/dist/execution/persona-strategy-registry.d.ts +14 -0
  95. package/dist/execution/persona-strategy-registry.d.ts.map +1 -0
  96. package/dist/execution/persona-strategy-registry.js +51 -0
  97. package/dist/execution/persona-strategy-registry.js.map +1 -0
  98. package/dist/execution/persona-strategy.interface.d.ts +88 -0
  99. package/dist/execution/persona-strategy.interface.d.ts.map +1 -0
  100. package/dist/execution/persona-strategy.interface.js +3 -0
  101. package/dist/execution/persona-strategy.interface.js.map +1 -0
  102. package/dist/execution/queue-producer.service.d.ts +21 -0
  103. package/dist/execution/queue-producer.service.d.ts.map +1 -0
  104. package/dist/execution/queue-producer.service.js +60 -0
  105. package/dist/execution/queue-producer.service.js.map +1 -0
  106. package/dist/execution/queues.config.d.ts +39 -0
  107. package/dist/execution/queues.config.d.ts.map +1 -0
  108. package/dist/execution/queues.config.js +43 -0
  109. package/dist/execution/queues.config.js.map +1 -0
  110. package/dist/execution/strategies/default.strategy.d.ts +11 -0
  111. package/dist/execution/strategies/default.strategy.d.ts.map +1 -0
  112. package/dist/execution/strategies/default.strategy.js +31 -0
  113. package/dist/execution/strategies/default.strategy.js.map +1 -0
  114. package/dist/execution/strategies/reactive.strategy.d.ts +28 -0
  115. package/dist/execution/strategies/reactive.strategy.d.ts.map +1 -0
  116. package/dist/execution/strategies/reactive.strategy.js +220 -0
  117. package/dist/execution/strategies/reactive.strategy.js.map +1 -0
  118. package/dist/execution/template-renderer.d.ts +52 -0
  119. package/dist/execution/template-renderer.d.ts.map +1 -0
  120. package/dist/execution/template-renderer.js +90 -0
  121. package/dist/execution/template-renderer.js.map +1 -0
  122. package/dist/generation/index.d.ts +2 -0
  123. package/dist/generation/index.d.ts.map +1 -0
  124. package/dist/generation/index.js +6 -0
  125. package/dist/generation/index.js.map +1 -0
  126. package/dist/generation/scenario-generator.service.d.ts +77 -0
  127. package/dist/generation/scenario-generator.service.d.ts.map +1 -0
  128. package/dist/generation/scenario-generator.service.js +272 -0
  129. package/dist/generation/scenario-generator.service.js.map +1 -0
  130. package/dist/index.d.ts +10 -0
  131. package/dist/index.d.ts.map +1 -0
  132. package/dist/index.js +27 -0
  133. package/dist/index.js.map +1 -0
  134. package/dist/personas/dto/create-persona.dto.d.ts +61 -0
  135. package/dist/personas/dto/create-persona.dto.d.ts.map +1 -0
  136. package/dist/personas/dto/create-persona.dto.js +146 -0
  137. package/dist/personas/dto/create-persona.dto.js.map +1 -0
  138. package/dist/personas/dto/index.d.ts +3 -0
  139. package/dist/personas/dto/index.d.ts.map +1 -0
  140. package/dist/personas/dto/index.js +19 -0
  141. package/dist/personas/dto/index.js.map +1 -0
  142. package/dist/personas/dto/update-persona.dto.d.ts +8 -0
  143. package/dist/personas/dto/update-persona.dto.d.ts.map +1 -0
  144. package/dist/personas/dto/update-persona.dto.js +29 -0
  145. package/dist/personas/dto/update-persona.dto.js.map +1 -0
  146. package/dist/personas/index.d.ts +6 -0
  147. package/dist/personas/index.d.ts.map +1 -0
  148. package/dist/personas/index.js +22 -0
  149. package/dist/personas/index.js.map +1 -0
  150. package/dist/personas/persona.controller.d.ts +69 -0
  151. package/dist/personas/persona.controller.d.ts.map +1 -0
  152. package/dist/personas/persona.controller.js +282 -0
  153. package/dist/personas/persona.controller.js.map +1 -0
  154. package/dist/personas/persona.module.d.ts +3 -0
  155. package/dist/personas/persona.module.d.ts.map +1 -0
  156. package/dist/personas/persona.module.js +28 -0
  157. package/dist/personas/persona.module.js.map +1 -0
  158. package/dist/personas/persona.service.d.ts +85 -0
  159. package/dist/personas/persona.service.d.ts.map +1 -0
  160. package/dist/personas/persona.service.js +382 -0
  161. package/dist/personas/persona.service.js.map +1 -0
  162. package/dist/personas/schemas/persona.schema.d.ts +90 -0
  163. package/dist/personas/schemas/persona.schema.d.ts.map +1 -0
  164. package/dist/personas/schemas/persona.schema.js +321 -0
  165. package/dist/personas/schemas/persona.schema.js.map +1 -0
  166. package/dist/scenarios/controllers/scenario-execution.controller.d.ts +48 -0
  167. package/dist/scenarios/controllers/scenario-execution.controller.d.ts.map +1 -0
  168. package/dist/scenarios/controllers/scenario-execution.controller.js +260 -0
  169. package/dist/scenarios/controllers/scenario-execution.controller.js.map +1 -0
  170. package/dist/scenarios/controllers/scenario.controller.d.ts +81 -0
  171. package/dist/scenarios/controllers/scenario.controller.d.ts.map +1 -0
  172. package/dist/scenarios/controllers/scenario.controller.js +345 -0
  173. package/dist/scenarios/controllers/scenario.controller.js.map +1 -0
  174. package/dist/scenarios/dto/create-scenario.dto.d.ts +31 -0
  175. package/dist/scenarios/dto/create-scenario.dto.d.ts.map +1 -0
  176. package/dist/scenarios/dto/create-scenario.dto.js +102 -0
  177. package/dist/scenarios/dto/create-scenario.dto.js.map +1 -0
  178. package/dist/scenarios/dto/execute-scenario.dto.d.ts +34 -0
  179. package/dist/scenarios/dto/execute-scenario.dto.d.ts.map +1 -0
  180. package/dist/scenarios/dto/execute-scenario.dto.js +150 -0
  181. package/dist/scenarios/dto/execute-scenario.dto.js.map +1 -0
  182. package/dist/scenarios/dto/index.d.ts +4 -0
  183. package/dist/scenarios/dto/index.d.ts.map +1 -0
  184. package/dist/scenarios/dto/index.js +20 -0
  185. package/dist/scenarios/dto/index.js.map +1 -0
  186. package/dist/scenarios/dto/update-scenario.dto.d.ts +6 -0
  187. package/dist/scenarios/dto/update-scenario.dto.d.ts.map +1 -0
  188. package/dist/scenarios/dto/update-scenario.dto.js +9 -0
  189. package/dist/scenarios/dto/update-scenario.dto.js.map +1 -0
  190. package/dist/scenarios/index.d.ts +9 -0
  191. package/dist/scenarios/index.d.ts.map +1 -0
  192. package/dist/scenarios/index.js +25 -0
  193. package/dist/scenarios/index.js.map +1 -0
  194. package/dist/scenarios/scenario.module.d.ts +3 -0
  195. package/dist/scenarios/scenario.module.d.ts.map +1 -0
  196. package/dist/scenarios/scenario.module.js +42 -0
  197. package/dist/scenarios/scenario.module.js.map +1 -0
  198. package/dist/scenarios/schemas/scenario-execution.schema.d.ts +133 -0
  199. package/dist/scenarios/schemas/scenario-execution.schema.d.ts.map +1 -0
  200. package/dist/scenarios/schemas/scenario-execution.schema.js +292 -0
  201. package/dist/scenarios/schemas/scenario-execution.schema.js.map +1 -0
  202. package/dist/scenarios/schemas/scenario.schema.d.ts +106 -0
  203. package/dist/scenarios/schemas/scenario.schema.d.ts.map +1 -0
  204. package/dist/scenarios/schemas/scenario.schema.js +205 -0
  205. package/dist/scenarios/schemas/scenario.schema.js.map +1 -0
  206. package/dist/scenarios/services/scenario-execution.service.d.ts +73 -0
  207. package/dist/scenarios/services/scenario-execution.service.d.ts.map +1 -0
  208. package/dist/scenarios/services/scenario-execution.service.js +505 -0
  209. package/dist/scenarios/services/scenario-execution.service.js.map +1 -0
  210. package/dist/scenarios/services/scenario.service.d.ts +110 -0
  211. package/dist/scenarios/services/scenario.service.d.ts.map +1 -0
  212. package/dist/scenarios/services/scenario.service.js +608 -0
  213. package/dist/scenarios/services/scenario.service.js.map +1 -0
  214. package/dist/simulator/index.d.ts +2 -0
  215. package/dist/simulator/index.d.ts.map +1 -0
  216. package/dist/simulator/index.js +18 -0
  217. package/dist/simulator/index.js.map +1 -0
  218. package/dist/simulator/persona-simulator.service.d.ts +81 -0
  219. package/dist/simulator/persona-simulator.service.d.ts.map +1 -0
  220. package/dist/simulator/persona-simulator.service.js +358 -0
  221. package/dist/simulator/persona-simulator.service.js.map +1 -0
  222. package/dist/templates/dto/create-template.dto.d.ts +16 -0
  223. package/dist/templates/dto/create-template.dto.d.ts.map +1 -0
  224. package/dist/templates/dto/create-template.dto.js +75 -0
  225. package/dist/templates/dto/create-template.dto.js.map +1 -0
  226. package/dist/templates/dto/index.d.ts +4 -0
  227. package/dist/templates/dto/index.d.ts.map +1 -0
  228. package/dist/templates/dto/index.js +10 -0
  229. package/dist/templates/dto/index.js.map +1 -0
  230. package/dist/templates/dto/instantiate-template.dto.d.ts +7 -0
  231. package/dist/templates/dto/instantiate-template.dto.d.ts.map +1 -0
  232. package/dist/templates/dto/instantiate-template.dto.js +38 -0
  233. package/dist/templates/dto/instantiate-template.dto.js.map +1 -0
  234. package/dist/templates/dto/update-template.dto.d.ts +6 -0
  235. package/dist/templates/dto/update-template.dto.d.ts.map +1 -0
  236. package/dist/templates/dto/update-template.dto.js +9 -0
  237. package/dist/templates/dto/update-template.dto.js.map +1 -0
  238. package/dist/templates/index.d.ts +6 -0
  239. package/dist/templates/index.d.ts.map +1 -0
  240. package/dist/templates/index.js +22 -0
  241. package/dist/templates/index.js.map +1 -0
  242. package/dist/templates/scenario-template.controller.d.ts +42 -0
  243. package/dist/templates/scenario-template.controller.d.ts.map +1 -0
  244. package/dist/templates/scenario-template.controller.js +148 -0
  245. package/dist/templates/scenario-template.controller.js.map +1 -0
  246. package/dist/templates/scenario-template.module.d.ts +3 -0
  247. package/dist/templates/scenario-template.module.d.ts.map +1 -0
  248. package/dist/templates/scenario-template.module.js +30 -0
  249. package/dist/templates/scenario-template.module.js.map +1 -0
  250. package/dist/templates/scenario-template.service.d.ts +50 -0
  251. package/dist/templates/scenario-template.service.d.ts.map +1 -0
  252. package/dist/templates/scenario-template.service.js +497 -0
  253. package/dist/templates/scenario-template.service.js.map +1 -0
  254. package/dist/templates/schemas/scenario-template.schema.d.ts +59 -0
  255. package/dist/templates/schemas/scenario-template.schema.d.ts.map +1 -0
  256. package/dist/templates/schemas/scenario-template.schema.js +132 -0
  257. package/dist/templates/schemas/scenario-template.schema.js.map +1 -0
  258. package/dist/tool-fixtures/dto/create-tool-fixture.dto.d.ts +18 -0
  259. package/dist/tool-fixtures/dto/create-tool-fixture.dto.d.ts.map +1 -0
  260. package/dist/tool-fixtures/dto/create-tool-fixture.dto.js +46 -0
  261. package/dist/tool-fixtures/dto/create-tool-fixture.dto.js.map +1 -0
  262. package/dist/tool-fixtures/dto/index.d.ts +4 -0
  263. package/dist/tool-fixtures/dto/index.d.ts.map +1 -0
  264. package/dist/tool-fixtures/dto/index.js +20 -0
  265. package/dist/tool-fixtures/dto/index.js.map +1 -0
  266. package/dist/tool-fixtures/dto/tool-fixture-filter.dto.d.ts +6 -0
  267. package/dist/tool-fixtures/dto/tool-fixture-filter.dto.d.ts.map +1 -0
  268. package/dist/tool-fixtures/dto/tool-fixture-filter.dto.js +33 -0
  269. package/dist/tool-fixtures/dto/tool-fixture-filter.dto.js.map +1 -0
  270. package/dist/tool-fixtures/dto/update-tool-fixture.dto.d.ts +6 -0
  271. package/dist/tool-fixtures/dto/update-tool-fixture.dto.d.ts.map +1 -0
  272. package/dist/tool-fixtures/dto/update-tool-fixture.dto.js +9 -0
  273. package/dist/tool-fixtures/dto/update-tool-fixture.dto.js.map +1 -0
  274. package/dist/tool-fixtures/index.d.ts +7 -0
  275. package/dist/tool-fixtures/index.d.ts.map +1 -0
  276. package/dist/tool-fixtures/index.js +23 -0
  277. package/dist/tool-fixtures/index.js.map +1 -0
  278. package/dist/tool-fixtures/mock-resolver.service.d.ts +48 -0
  279. package/dist/tool-fixtures/mock-resolver.service.d.ts.map +1 -0
  280. package/dist/tool-fixtures/mock-resolver.service.js +99 -0
  281. package/dist/tool-fixtures/mock-resolver.service.js.map +1 -0
  282. package/dist/tool-fixtures/schemas/tool-fixture.schema.d.ts +35 -0
  283. package/dist/tool-fixtures/schemas/tool-fixture.schema.d.ts.map +1 -0
  284. package/dist/tool-fixtures/schemas/tool-fixture.schema.js +87 -0
  285. package/dist/tool-fixtures/schemas/tool-fixture.schema.js.map +1 -0
  286. package/dist/tool-fixtures/tool-fixture.controller.d.ts +45 -0
  287. package/dist/tool-fixtures/tool-fixture.controller.d.ts.map +1 -0
  288. package/dist/tool-fixtures/tool-fixture.controller.js +223 -0
  289. package/dist/tool-fixtures/tool-fixture.controller.js.map +1 -0
  290. package/dist/tool-fixtures/tool-fixture.module.d.ts +3 -0
  291. package/dist/tool-fixtures/tool-fixture.module.d.ts.map +1 -0
  292. package/dist/tool-fixtures/tool-fixture.module.js +31 -0
  293. package/dist/tool-fixtures/tool-fixture.module.js.map +1 -0
  294. package/dist/tool-fixtures/tool-fixture.service.d.ts +59 -0
  295. package/dist/tool-fixtures/tool-fixture.service.d.ts.map +1 -0
  296. package/dist/tool-fixtures/tool-fixture.service.js +198 -0
  297. package/dist/tool-fixtures/tool-fixture.service.js.map +1 -0
  298. package/package.json +47 -0
@@ -0,0 +1,272 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateScenario = validateScenario;
4
+ exports.validatePersona = validatePersona;
5
+ exports.validateCriterion = validateCriterion;
6
+ exports.validateScorecard = validateScorecard;
7
+ exports.parseJsonResponse = parseJsonResponse;
8
+ exports.generateTestSuite = generateTestSuite;
9
+ const openai_adapter_1 = require("../adapters/openai.adapter");
10
+ const anthropic_adapter_1 = require("../adapters/anthropic.adapter");
11
+ const llm_config_resolver_1 = require("../execution/llm-config-resolver");
12
+ // Valid enum values from schemas — used to validate LLM output
13
+ const VALID_CATEGORIES = ['support', 'sales', 'booking', 'technical', 'onboarding', 'feedback'];
14
+ const VALID_DIFFICULTIES = ['easy', 'medium', 'hard'];
15
+ const VALID_EMOTIONS = ['friendly', 'distracted', 'polite', 'concerned', 'stressed', 'annoyed', 'neutral', 'calm', 'frustrated', 'curious', 'irritated'];
16
+ const VALID_GENDERS = ['male', 'female'];
17
+ const VALID_COOPERATION = ['very cooperative', 'cooperative', 'neutral', 'difficult', 'hostile'];
18
+ const VALID_PATIENCE = ['very patient', 'patient', 'neutral', 'impatient', 'very impatient'];
19
+ const VALID_COMMUNICATION = ['direct', 'indirect', 'verbose', 'concise', 'rambling'];
20
+ const VALID_PERSONALITY = ['friendly', 'professional', 'assertive', 'passive', 'demanding'];
21
+ const VALID_SPEECH_STYLES = ['slow', 'fast', 'normal', 'moderate'];
22
+ const VALID_INTENT_CLARITY = ['very clear', 'slightly unclear', 'slurred', 'slightly slurred', 'mumbled', 'unclear'];
23
+ const VALID_CRITERIA_TYPES = ['prompt', 'keyword', 'response_time', 'tool_call', 'hallucination', 'knowledge_retention', 'conversation_completeness', 'role_adherence', 'rag_faithfulness'];
24
+ const GENERATION_SYSTEM_PROMPT = `You are an AI agent test suite generator. Given an agent's system prompt, you generate realistic test scenarios, personas, and evaluation scorecards.
25
+
26
+ You MUST respond with valid JSON only — no markdown, no code fences, no explanation text.
27
+
28
+ ## Rules
29
+ - Scenarios are situations a CUSTOMER brings to the agent (written in first person from the customer's perspective)
30
+ - Personas are the simulated customers who will interact with the agent
31
+ - Each persona should match a scenario's difficulty level
32
+ - Scorecards define how to evaluate the agent's performance
33
+ - Use ONLY the exact enum values provided below
34
+
35
+ ## Valid Enum Values
36
+
37
+ Categories: ${JSON.stringify(VALID_CATEGORIES)}
38
+ Difficulties: ${JSON.stringify(VALID_DIFFICULTIES)}
39
+ Emotions: ${JSON.stringify(VALID_EMOTIONS)}
40
+ Genders: ${JSON.stringify(VALID_GENDERS)}
41
+ Cooperation levels: ${JSON.stringify(VALID_COOPERATION)}
42
+ Patience levels: ${JSON.stringify(VALID_PATIENCE)}
43
+ Communication styles: ${JSON.stringify(VALID_COMMUNICATION)}
44
+ Personality types: ${JSON.stringify(VALID_PERSONALITY)}
45
+ Speech styles: ${JSON.stringify(VALID_SPEECH_STYLES)}
46
+ Intent clarity: ${JSON.stringify(VALID_INTENT_CLARITY)}
47
+ Criteria types: ${JSON.stringify(VALID_CRITERIA_TYPES)}
48
+
49
+ ## Difficulty → Persona Trait Mapping
50
+ - easy: friendly/calm emotion, very cooperative/cooperative, patient, direct communication
51
+ - medium: concerned/stressed emotion, neutral cooperation, neutral patience, indirect/verbose communication
52
+ - hard: frustrated/irritated/annoyed emotion, difficult/hostile cooperation, impatient/very impatient, rambling/indirect communication
53
+
54
+ ## Criteria Type Settings
55
+ - prompt: { "description": "What to evaluate", "evaluationType": "score" }
56
+ - keyword: { "matchType": "must_contain"|"must_not_contain", "keyword": ["word1","word2"] }
57
+ - response_time: { "participant": "agent" }
58
+ - tool_call: { "expectedTool": "tool_name" }
59
+ - hallucination: { "description": "What facts to check", "evaluationType": "boolean" }
60
+ - knowledge_retention: { "description": "What to remember", "evaluationType": "score" }
61
+ - conversation_completeness: { "description": "What must be covered", "evaluationType": "score" }
62
+ - role_adherence: { "description": "Expected agent role", "evaluationType": "score" }`;
63
+ function buildGenerationPrompt(request) {
64
+ const count = request.count || 10;
65
+ const difficulties = request.difficulties || ['easy', 'medium', 'hard'];
66
+ const adversarial = request.includeAdversarial ? 'Include 2-3 adversarial/edge-case scenarios (hostile customer, confused customer, customer trying to exploit the system).' : '';
67
+ const domainHint = request.domain ? `Domain: ${request.domain}.` : 'Auto-detect the domain from the system prompt.';
68
+ return `Generate a test suite for this AI agent.
69
+
70
+ ## Agent System Prompt
71
+ ${request.systemPrompt}
72
+
73
+ ## Requirements
74
+ - Generate exactly ${count} scenarios
75
+ - Distribute across difficulties: ${JSON.stringify(difficulties)}
76
+ - Generate one persona per scenario (matching difficulty)
77
+ - Generate one scorecard with 5-8 criteria covering the most important evaluation dimensions
78
+ - ${domainHint}
79
+ ${adversarial}
80
+
81
+ ## Response Format
82
+ {
83
+ "domain": "detected domain name",
84
+ "summary": "1-2 sentence description of what was generated",
85
+ "scenarios": [
86
+ {
87
+ "name": "Short descriptive name",
88
+ "description": "What this scenario tests",
89
+ "prompt": "First-person customer opening line (1-2 sentences)",
90
+ "category": "one of the valid categories",
91
+ "difficulty": "easy|medium|hard",
92
+ "tags": ["tag1", "tag2"],
93
+ "context": {
94
+ "situation": "What's happening",
95
+ "objective": "What the customer wants",
96
+ "background": "Any relevant context"
97
+ }
98
+ }
99
+ ],
100
+ "personas": [
101
+ {
102
+ "name": "Realistic full name",
103
+ "gender": "male|female",
104
+ "emotion": "from valid emotions list",
105
+ "language": "english",
106
+ "accent": "american",
107
+ "intentClarity": "from valid list",
108
+ "speechStyle": "from valid list",
109
+ "backgroundNoise": false,
110
+ "allowInterruptions": false,
111
+ "description": "Brief character description",
112
+ "backstory": "You are... (first person backstory)",
113
+ "behavior": {
114
+ "personality": "from valid list",
115
+ "cooperationLevel": "from valid list",
116
+ "patience": "from valid list",
117
+ "communicationStyle": "from valid list"
118
+ },
119
+ "variables": { "key": "value for scenario context" },
120
+ "tags": ["tag1"]
121
+ }
122
+ ],
123
+ "scorecard": {
124
+ "name": "Scorecard name",
125
+ "description": "What this scorecard evaluates",
126
+ "criteria": [
127
+ {
128
+ "key": "snake_case_key",
129
+ "name": "Human readable name",
130
+ "description": "What this criterion evaluates",
131
+ "type": "from valid criteria types",
132
+ "settings": { ... },
133
+ "threshold": { "min": 7 }
134
+ }
135
+ ]
136
+ }
137
+ }`;
138
+ }
139
+ /** @internal Exported for testing */
140
+ function validateScenario(s) {
141
+ if (!s?.name || !s?.prompt)
142
+ return null;
143
+ return {
144
+ name: s.name,
145
+ description: s.description || '',
146
+ prompt: s.prompt,
147
+ category: VALID_CATEGORIES.includes(s.category) ? s.category : 'support',
148
+ difficulty: VALID_DIFFICULTIES.includes(s.difficulty) ? s.difficulty : 'medium',
149
+ tags: Array.isArray(s.tags) ? s.tags : [],
150
+ context: s.context || undefined,
151
+ groundTruth: s.groundTruth || undefined,
152
+ };
153
+ }
154
+ /** @internal Exported for testing */
155
+ function validatePersona(p) {
156
+ if (!p?.name)
157
+ return null;
158
+ return {
159
+ name: p.name,
160
+ gender: VALID_GENDERS.includes(p.gender) ? p.gender : 'female',
161
+ emotion: VALID_EMOTIONS.includes(p.emotion) ? p.emotion : 'neutral',
162
+ language: 'english',
163
+ accent: p.accent || 'american',
164
+ intentClarity: VALID_INTENT_CLARITY.includes(p.intentClarity) ? p.intentClarity : 'very clear',
165
+ speechStyle: VALID_SPEECH_STYLES.includes(p.speechStyle) ? p.speechStyle : 'normal',
166
+ backgroundNoise: Boolean(p.backgroundNoise),
167
+ allowInterruptions: Boolean(p.allowInterruptions),
168
+ description: p.description || '',
169
+ backstory: p.backstory || '',
170
+ behavior: {
171
+ personality: VALID_PERSONALITY.includes(p.behavior?.personality) ? p.behavior.personality : 'professional',
172
+ cooperationLevel: VALID_COOPERATION.includes(p.behavior?.cooperationLevel) ? p.behavior.cooperationLevel : 'cooperative',
173
+ patience: VALID_PATIENCE.includes(p.behavior?.patience) ? p.behavior.patience : 'patient',
174
+ communicationStyle: VALID_COMMUNICATION.includes(p.behavior?.communicationStyle) ? p.behavior.communicationStyle : 'direct',
175
+ },
176
+ variables: typeof p.variables === 'object' && !Array.isArray(p.variables) ? p.variables : {},
177
+ tags: Array.isArray(p.tags) ? p.tags : [],
178
+ };
179
+ }
180
+ /** @internal Exported for testing */
181
+ function validateCriterion(c) {
182
+ if (!c?.key || !c?.name || !c?.type)
183
+ return null;
184
+ if (!VALID_CRITERIA_TYPES.includes(c.type))
185
+ return null;
186
+ return {
187
+ key: c.key,
188
+ name: c.name,
189
+ description: c.description || '',
190
+ type: c.type,
191
+ settings: c.settings || {},
192
+ threshold: c.threshold || undefined,
193
+ };
194
+ }
195
+ /** @internal Exported for testing */
196
+ function validateScorecard(sc) {
197
+ if (!sc?.name || !Array.isArray(sc?.criteria))
198
+ return null;
199
+ const criteria = sc.criteria.map(validateCriterion).filter(Boolean);
200
+ if (criteria.length === 0)
201
+ return null;
202
+ return {
203
+ name: sc.name,
204
+ description: sc.description || '',
205
+ criteria,
206
+ };
207
+ }
208
+ /** @internal Exported for testing */
209
+ function parseJsonResponse(text) {
210
+ // Strip markdown code fences if present
211
+ let cleaned = text.trim();
212
+ if (cleaned.startsWith('```')) {
213
+ cleaned = cleaned.replace(/^```(?:json)?\n?/, '').replace(/\n?```$/, '');
214
+ }
215
+ return JSON.parse(cleaned);
216
+ }
217
+ async function generateTestSuite(request) {
218
+ const resolved = (0, llm_config_resolver_1.resolveLlmConfigSync)(request.adapterType, request.adapterConfig);
219
+ if (!resolved) {
220
+ throw new Error('No LLM API key configured. Set CHANL_OPENAI_API_KEY or CHANL_ANTHROPIC_API_KEY environment variable, or provide adapterConfig.apiKey.');
221
+ }
222
+ const userPrompt = buildGenerationPrompt(request);
223
+ let responseText;
224
+ if (resolved.kind === 'openai') {
225
+ const adapter = new openai_adapter_1.OpenAIAdapter();
226
+ await adapter.connect({
227
+ apiKey: resolved.apiKey,
228
+ model: resolved.model || 'gpt-4o',
229
+ temperature: 0.7,
230
+ maxTokens: 8192,
231
+ systemPrompt: GENERATION_SYSTEM_PROMPT,
232
+ });
233
+ const res = await adapter.sendMessage(userPrompt, []);
234
+ await adapter.disconnect();
235
+ responseText = res.content;
236
+ }
237
+ else {
238
+ const adapter = new anthropic_adapter_1.AnthropicAdapter();
239
+ await adapter.connect({
240
+ apiKey: resolved.apiKey,
241
+ model: resolved.model || 'claude-sonnet-4-20250514',
242
+ temperature: 0.7,
243
+ maxTokens: 8192,
244
+ systemPrompt: GENERATION_SYSTEM_PROMPT,
245
+ });
246
+ const res = await adapter.sendMessage(userPrompt, []);
247
+ await adapter.disconnect();
248
+ responseText = res.content;
249
+ }
250
+ const parsed = parseJsonResponse(responseText);
251
+ const scenarios = (parsed.scenarios || [])
252
+ .map(validateScenario)
253
+ .filter(Boolean);
254
+ const personas = (parsed.personas || [])
255
+ .map(validatePersona)
256
+ .filter(Boolean);
257
+ const scorecard = validateScorecard(parsed.scorecard);
258
+ if (!scorecard) {
259
+ throw new Error('LLM failed to generate a valid scorecard. Try again.');
260
+ }
261
+ if (scenarios.length === 0) {
262
+ throw new Error('LLM failed to generate any valid scenarios. Try again.');
263
+ }
264
+ return {
265
+ scenarios,
266
+ personas,
267
+ scorecard,
268
+ summary: parsed.summary || `Generated ${scenarios.length} scenarios with ${personas.length} personas`,
269
+ domain: parsed.domain || request.domain || 'general',
270
+ };
271
+ }
272
+ //# sourceMappingURL=scenario-generator.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scenario-generator.service.js","sourceRoot":"","sources":["../../src/generation/scenario-generator.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export * from './personas';
2
+ export * from './scenarios';
3
+ export * from './adapters';
4
+ export * from './simulator';
5
+ export * from './templates';
6
+ export * from './execution';
7
+ export * from './tool-fixtures';
8
+ export * from './dataset';
9
+ export * from './generation';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ // @chanl-ai/scenarios-core
18
+ __exportStar(require("./personas"), exports);
19
+ __exportStar(require("./scenarios"), exports);
20
+ __exportStar(require("./adapters"), exports);
21
+ __exportStar(require("./simulator"), exports);
22
+ __exportStar(require("./templates"), exports);
23
+ __exportStar(require("./execution"), exports);
24
+ __exportStar(require("./tool-fixtures"), exports);
25
+ __exportStar(require("./dataset"), exports);
26
+ __exportStar(require("./generation"), exports);
27
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2BAA2B;AAC3B,6CAA2B;AAC3B,8CAA4B;AAC5B,6CAA2B;AAC3B,8CAA4B;AAC5B,8CAA4B;AAC5B,8CAA4B;AAC5B,kDAAgC;AAChC,4CAA0B;AAC1B,+CAA6B"}
@@ -0,0 +1,61 @@
1
+ export declare class CreatePersonaDto {
2
+ name: string;
3
+ gender: string;
4
+ emotion: string;
5
+ language: string;
6
+ accent: string;
7
+ intentClarity: string;
8
+ speechStyle: string;
9
+ backgroundNoise: boolean;
10
+ allowInterruptions: boolean;
11
+ description?: string;
12
+ backstory?: string;
13
+ variables?: Record<string, string>;
14
+ voiceId?: string;
15
+ voiceProvider?: string;
16
+ tags?: string[];
17
+ agentId?: string;
18
+ agentConfig?: {
19
+ promptTemplate?: string;
20
+ voice?: {
21
+ voiceId?: string;
22
+ provider?: 'elevenlabs' | 'azure' | 'google' | 'cartesia';
23
+ };
24
+ behavior?: {
25
+ interruptionFrequency?: 'never' | 'rare' | 'frequent';
26
+ responseSpeed?: 'slow' | 'normal' | 'fast';
27
+ verbosity?: 'terse' | 'normal' | 'verbose';
28
+ };
29
+ };
30
+ voice?: {
31
+ gender?: string;
32
+ age?: string;
33
+ accent?: string;
34
+ clarity?: string;
35
+ pace?: string;
36
+ volume?: string;
37
+ tone?: string;
38
+ voiceId?: string;
39
+ provider?: string;
40
+ };
41
+ behavior?: {
42
+ personality?: string;
43
+ emotionalState?: string;
44
+ cooperationLevel?: string;
45
+ patience?: string;
46
+ communicationStyle?: string;
47
+ };
48
+ conversationTraits?: {
49
+ allowInterruptions?: boolean;
50
+ interruptionFrequency?: string;
51
+ asksClarifyingQuestions?: boolean;
52
+ repeatsInformation?: boolean;
53
+ goesOffTopic?: boolean;
54
+ };
55
+ environment?: {
56
+ backgroundNoise?: boolean;
57
+ noiseType?: string;
58
+ connectionQuality?: string;
59
+ };
60
+ }
61
+ //# sourceMappingURL=create-persona.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-persona.dto.d.ts","sourceRoot":"","sources":["../../../src/personas/dto/create-persona.dto.ts"],"names":[],"mappings":"AASA,qBAAa,gBAAgB;IAE3B,IAAI,EAAG,MAAM,CAAC;IAGd,MAAM,EAAG,MAAM,CAAC;IAehB,OAAO,EAAG,MAAM,CAAC;IAGjB,QAAQ,EAAG,MAAM,CAAC;IAgBlB,MAAM,EAAG,MAAM,CAAC;IAUhB,aAAa,EAAG,MAAM,CAAC;IAGvB,WAAW,EAAG,MAAM,CAAC;IAGrB,eAAe,EAAG,OAAO,CAAC;IAG1B,kBAAkB,EAAG,OAAO,CAAC;IAI7B,WAAW,CAAC,EAAE,MAAM,CAAC;IAIrB,SAAS,CAAC,EAAE,MAAM,CAAC;IAInB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAInC,OAAO,CAAC,EAAE,MAAM,CAAC;IAIjB,aAAa,CAAC,EAAE,MAAM,CAAC;IAKvB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAIhB,OAAO,CAAC,EAAE,MAAM,CAAC;IAIjB,WAAW,CAAC,EAAE;QACZ,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,KAAK,CAAC,EAAE;YACN,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,QAAQ,CAAC,EAAE,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;SAC3D,CAAC;QACF,QAAQ,CAAC,EAAE;YACT,qBAAqB,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;YACtD,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;YAC3C,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;SAC5C,CAAC;KACH,CAAC;IAIF,KAAK,CAAC,EAAE;QACN,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IAIF,QAAQ,CAAC,EAAE;QACT,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC;IAIF,kBAAkB,CAAC,EAAE;QACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,uBAAuB,CAAC,EAAE,OAAO,CAAC;QAClC,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC;IAIF,WAAW,CAAC,EAAE;QACZ,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;CACH"}
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CreatePersonaDto = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ class CreatePersonaDto {
15
+ }
16
+ exports.CreatePersonaDto = CreatePersonaDto;
17
+ __decorate([
18
+ (0, class_validator_1.IsString)(),
19
+ __metadata("design:type", String)
20
+ ], CreatePersonaDto.prototype, "name", void 0);
21
+ __decorate([
22
+ (0, class_validator_1.IsEnum)(['male', 'female']),
23
+ __metadata("design:type", String)
24
+ ], CreatePersonaDto.prototype, "gender", void 0);
25
+ __decorate([
26
+ (0, class_validator_1.IsEnum)([
27
+ 'friendly',
28
+ 'distracted',
29
+ 'polite',
30
+ 'concerned',
31
+ 'stressed',
32
+ 'annoyed',
33
+ 'neutral',
34
+ 'calm',
35
+ 'frustrated',
36
+ 'curious',
37
+ 'irritated',
38
+ ]),
39
+ __metadata("design:type", String)
40
+ ], CreatePersonaDto.prototype, "emotion", void 0);
41
+ __decorate([
42
+ (0, class_validator_1.IsEnum)(['english', 'spanish', 'portuguese']),
43
+ __metadata("design:type", String)
44
+ ], CreatePersonaDto.prototype, "language", void 0);
45
+ __decorate([
46
+ (0, class_validator_1.IsEnum)([
47
+ 'american',
48
+ 'british',
49
+ 'australian',
50
+ 'canadian',
51
+ 'irish',
52
+ 'scottish',
53
+ 'mexican',
54
+ 'argentinian',
55
+ 'colombian',
56
+ 'brazilian',
57
+ 'portuguese',
58
+ 'other',
59
+ ]),
60
+ __metadata("design:type", String)
61
+ ], CreatePersonaDto.prototype, "accent", void 0);
62
+ __decorate([
63
+ (0, class_validator_1.IsEnum)([
64
+ 'very clear',
65
+ 'slightly unclear',
66
+ 'slurred',
67
+ 'slightly slurred',
68
+ 'mumbled',
69
+ 'unclear',
70
+ ]),
71
+ __metadata("design:type", String)
72
+ ], CreatePersonaDto.prototype, "intentClarity", void 0);
73
+ __decorate([
74
+ (0, class_validator_1.IsEnum)(['slow', 'fast', 'normal', 'moderate']),
75
+ __metadata("design:type", String)
76
+ ], CreatePersonaDto.prototype, "speechStyle", void 0);
77
+ __decorate([
78
+ (0, class_validator_1.IsBoolean)(),
79
+ __metadata("design:type", Boolean)
80
+ ], CreatePersonaDto.prototype, "backgroundNoise", void 0);
81
+ __decorate([
82
+ (0, class_validator_1.IsBoolean)(),
83
+ __metadata("design:type", Boolean)
84
+ ], CreatePersonaDto.prototype, "allowInterruptions", void 0);
85
+ __decorate([
86
+ (0, class_validator_1.IsOptional)(),
87
+ (0, class_validator_1.IsString)(),
88
+ __metadata("design:type", String)
89
+ ], CreatePersonaDto.prototype, "description", void 0);
90
+ __decorate([
91
+ (0, class_validator_1.IsOptional)(),
92
+ (0, class_validator_1.IsString)(),
93
+ __metadata("design:type", String)
94
+ ], CreatePersonaDto.prototype, "backstory", void 0);
95
+ __decorate([
96
+ (0, class_validator_1.IsOptional)(),
97
+ (0, class_validator_1.IsObject)(),
98
+ __metadata("design:type", Object)
99
+ ], CreatePersonaDto.prototype, "variables", void 0);
100
+ __decorate([
101
+ (0, class_validator_1.IsOptional)(),
102
+ (0, class_validator_1.IsString)(),
103
+ __metadata("design:type", String)
104
+ ], CreatePersonaDto.prototype, "voiceId", void 0);
105
+ __decorate([
106
+ (0, class_validator_1.IsOptional)(),
107
+ (0, class_validator_1.IsEnum)(['elevenlabs', 'azure', 'google', 'chanl']),
108
+ __metadata("design:type", String)
109
+ ], CreatePersonaDto.prototype, "voiceProvider", void 0);
110
+ __decorate([
111
+ (0, class_validator_1.IsOptional)(),
112
+ (0, class_validator_1.IsArray)(),
113
+ (0, class_validator_1.IsString)({ each: true }),
114
+ __metadata("design:type", Array)
115
+ ], CreatePersonaDto.prototype, "tags", void 0);
116
+ __decorate([
117
+ (0, class_validator_1.IsOptional)(),
118
+ (0, class_validator_1.IsString)(),
119
+ __metadata("design:type", String)
120
+ ], CreatePersonaDto.prototype, "agentId", void 0);
121
+ __decorate([
122
+ (0, class_validator_1.IsOptional)(),
123
+ (0, class_validator_1.IsObject)(),
124
+ __metadata("design:type", Object)
125
+ ], CreatePersonaDto.prototype, "agentConfig", void 0);
126
+ __decorate([
127
+ (0, class_validator_1.IsOptional)(),
128
+ (0, class_validator_1.IsObject)(),
129
+ __metadata("design:type", Object)
130
+ ], CreatePersonaDto.prototype, "voice", void 0);
131
+ __decorate([
132
+ (0, class_validator_1.IsOptional)(),
133
+ (0, class_validator_1.IsObject)(),
134
+ __metadata("design:type", Object)
135
+ ], CreatePersonaDto.prototype, "behavior", void 0);
136
+ __decorate([
137
+ (0, class_validator_1.IsOptional)(),
138
+ (0, class_validator_1.IsObject)(),
139
+ __metadata("design:type", Object)
140
+ ], CreatePersonaDto.prototype, "conversationTraits", void 0);
141
+ __decorate([
142
+ (0, class_validator_1.IsOptional)(),
143
+ (0, class_validator_1.IsObject)(),
144
+ __metadata("design:type", Object)
145
+ ], CreatePersonaDto.prototype, "environment", void 0);
146
+ //# sourceMappingURL=create-persona.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-persona.dto.js","sourceRoot":"","sources":["../../../src/personas/dto/create-persona.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAOyB;AAEzB,MAAa,gBAAgB;CAiJ5B;AAjJD,4CAiJC;AA/IC;IADC,IAAA,0BAAQ,GAAE;;8CACG;AAGd;IADC,IAAA,wBAAM,EAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;;gDACX;AAehB;IAbC,IAAA,wBAAM,EAAC;QACN,UAAU;QACV,YAAY;QACZ,QAAQ;QACR,WAAW;QACX,UAAU;QACV,SAAS;QACT,SAAS;QACT,MAAM;QACN,YAAY;QACZ,SAAS;QACT,WAAW;KACZ,CAAC;;iDACe;AAGjB;IADC,IAAA,wBAAM,EAAC,CAAC,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;;kDAC3B;AAgBlB;IAdC,IAAA,wBAAM,EAAC;QACN,UAAU;QACV,SAAS;QACT,YAAY;QACZ,UAAU;QACV,OAAO;QACP,UAAU;QACV,SAAS;QACT,aAAa;QACb,WAAW;QACX,WAAW;QACX,YAAY;QACZ,OAAO;KACR,CAAC;;gDACc;AAUhB;IARC,IAAA,wBAAM,EAAC;QACN,YAAY;QACZ,kBAAkB;QAClB,SAAS;QACT,kBAAkB;QAClB,SAAS;QACT,SAAS;KACV,CAAC;;uDACqB;AAGvB;IADC,IAAA,wBAAM,EAAC,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;;qDAC1B;AAGrB;IADC,IAAA,2BAAS,GAAE;;yDACc;AAG1B;IADC,IAAA,2BAAS,GAAE;;4DACiB;AAI7B;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;qDACU;AAIrB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;mDACQ;AAInB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;mDACwB;AAInC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;iDACM;AAIjB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,EAAC,CAAC,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;;uDAC5B;AAKvB;IAHC,IAAA,4BAAU,GAAE;IACZ,IAAA,yBAAO,GAAE;IACT,IAAA,0BAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;;8CACT;AAIhB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;iDACM;AAIjB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;qDAYT;AAIF;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;+CAWT;AAIF;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;kDAOT;AAIF;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;4DAOT;AAIF;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;;qDAKT"}
@@ -0,0 +1,3 @@
1
+ export * from './create-persona.dto';
2
+ export * from './update-persona.dto';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/personas/dto/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./create-persona.dto"), exports);
18
+ __exportStar(require("./update-persona.dto"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/personas/dto/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uDAAqC;AACrC,uDAAqC"}
@@ -0,0 +1,8 @@
1
+ import { CreatePersonaDto } from './create-persona.dto';
2
+ declare const UpdatePersonaDto_base: import("@nestjs/mapped-types").MappedType<Partial<CreatePersonaDto>>;
3
+ export declare class UpdatePersonaDto extends UpdatePersonaDto_base {
4
+ isActive?: boolean;
5
+ isDefault?: boolean;
6
+ }
7
+ export {};
8
+ //# sourceMappingURL=update-persona.dto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-persona.dto.d.ts","sourceRoot":"","sources":["../../../src/personas/dto/update-persona.dto.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;;AAExD,qBAAa,gBAAiB,SAAQ,qBAA6B;IAGjE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAInB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.UpdatePersonaDto = void 0;
13
+ const mapped_types_1 = require("@nestjs/mapped-types");
14
+ const class_validator_1 = require("class-validator");
15
+ const create_persona_dto_1 = require("./create-persona.dto");
16
+ class UpdatePersonaDto extends (0, mapped_types_1.PartialType)(create_persona_dto_1.CreatePersonaDto) {
17
+ }
18
+ exports.UpdatePersonaDto = UpdatePersonaDto;
19
+ __decorate([
20
+ (0, class_validator_1.IsOptional)(),
21
+ (0, class_validator_1.IsBoolean)(),
22
+ __metadata("design:type", Boolean)
23
+ ], UpdatePersonaDto.prototype, "isActive", void 0);
24
+ __decorate([
25
+ (0, class_validator_1.IsOptional)(),
26
+ (0, class_validator_1.IsBoolean)(),
27
+ __metadata("design:type", Boolean)
28
+ ], UpdatePersonaDto.prototype, "isDefault", void 0);
29
+ //# sourceMappingURL=update-persona.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-persona.dto.js","sourceRoot":"","sources":["../../../src/personas/dto/update-persona.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uDAAmD;AACnD,qDAAwD;AACxD,6DAAwD;AAExD,MAAa,gBAAiB,SAAQ,IAAA,0BAAW,EAAC,qCAAgB,CAAC;CAQlE;AARD,4CAQC;AALC;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,GAAE;;kDACO;AAInB;IAFC,IAAA,4BAAU,GAAE;IACZ,IAAA,2BAAS,GAAE;;mDACQ"}
@@ -0,0 +1,6 @@
1
+ export * from './schemas/persona.schema';
2
+ export * from './persona.service';
3
+ export * from './persona.controller';
4
+ export * from './persona.module';
5
+ export * from './dto';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/personas/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,OAAO,CAAC"}