@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,608 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
+ 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;
22
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
23
+ };
24
+ var __importStar = (this && this.__importStar) || (function () {
25
+ var ownKeys = function(o) {
26
+ ownKeys = Object.getOwnPropertyNames || function (o) {
27
+ var ar = [];
28
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
+ return ar;
30
+ };
31
+ return ownKeys(o);
32
+ };
33
+ return function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ })();
41
+ var __metadata = (this && this.__metadata) || function (k, v) {
42
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
43
+ };
44
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
45
+ return function (target, key) { decorator(target, key, paramIndex); }
46
+ };
47
+ var ScenarioService_1;
48
+ Object.defineProperty(exports, "__esModule", { value: true });
49
+ exports.ScenarioService = void 0;
50
+ const common_1 = require("@nestjs/common");
51
+ const mongoose_1 = require("@nestjs/mongoose");
52
+ const mongoose_2 = require("mongoose");
53
+ const yaml = __importStar(require("js-yaml"));
54
+ const scenario_schema_1 = require("../schemas/scenario.schema");
55
+ const scenario_execution_schema_1 = require("../schemas/scenario-execution.schema");
56
+ /**
57
+ * Safely convert a Mongoose ScenarioDocument to a plain Scenario object.
58
+ * The virtualIdPlugin ensures toJSON() returns `id` (string) instead of `_id`.
59
+ */
60
+ function toScenario(doc) {
61
+ return doc.toJSON();
62
+ }
63
+ let ScenarioService = ScenarioService_1 = class ScenarioService {
64
+ constructor(scenarioModel, scenarioExecutionModel) {
65
+ this.scenarioModel = scenarioModel;
66
+ this.scenarioExecutionModel = scenarioExecutionModel;
67
+ this.logger = new common_1.Logger(ScenarioService_1.name);
68
+ }
69
+ /**
70
+ * Create a new scenario.
71
+ */
72
+ async create(createScenarioDto, createdBy) {
73
+ try {
74
+ const isDraft = createScenarioDto.status === 'draft';
75
+ // Validate for non-draft scenarios
76
+ if (!isDraft) {
77
+ if (!createScenarioDto.personaIds ||
78
+ createScenarioDto.personaIds.length === 0) {
79
+ throw new common_1.BadRequestException('personaIds array is required and must contain at least one persona ID');
80
+ }
81
+ }
82
+ // Convert IDs to ObjectIds
83
+ const personaIds = createScenarioDto.personaIds
84
+ ? createScenarioDto.personaIds.map((id) => new mongoose_2.Types.ObjectId(id))
85
+ : [];
86
+ const scenarioData = {
87
+ ...createScenarioDto,
88
+ status: createScenarioDto.status || 'active',
89
+ personaIds,
90
+ createdBy: createdBy || 'local',
91
+ };
92
+ if (createScenarioDto.scorecardId &&
93
+ createScenarioDto.scorecardId !== 'placeholder') {
94
+ scenarioData.scorecardId = new mongoose_2.Types.ObjectId(createScenarioDto.scorecardId);
95
+ }
96
+ else {
97
+ delete scenarioData.scorecardId;
98
+ }
99
+ const scenario = new this.scenarioModel(scenarioData);
100
+ const savedScenario = await scenario.save();
101
+ return toScenario(savedScenario);
102
+ }
103
+ catch (error) {
104
+ const err = error;
105
+ this.logger.error(`Failed to create scenario: ${err.message}`, err.stack);
106
+ throw error;
107
+ }
108
+ }
109
+ /**
110
+ * Find all scenarios with optional filters and pagination.
111
+ */
112
+ async findAll(filters, pagination) {
113
+ try {
114
+ const query = {};
115
+ if (filters) {
116
+ if (filters.status)
117
+ query.status = filters.status;
118
+ if (filters.category)
119
+ query.category = filters.category;
120
+ if (filters.difficulty)
121
+ query.difficulty = filters.difficulty;
122
+ if (filters.tags && filters.tags.length > 0)
123
+ query.tags = { $in: filters.tags };
124
+ if (filters.createdBy)
125
+ query.createdBy = filters.createdBy;
126
+ }
127
+ let queryBuilder = this.scenarioModel.find(query);
128
+ const sortBy = pagination?.sortBy || 'updatedAt';
129
+ const sortOrder = pagination?.sortOrder === 'asc' ? 1 : -1;
130
+ queryBuilder = queryBuilder.sort({ [sortBy]: sortOrder });
131
+ if (pagination?.offset)
132
+ queryBuilder = queryBuilder.skip(pagination.offset);
133
+ if (pagination?.limit)
134
+ queryBuilder = queryBuilder.limit(pagination.limit);
135
+ const scenarios = await queryBuilder.exec();
136
+ const total = await this.scenarioModel.countDocuments(query);
137
+ const serializedScenarios = scenarios.map((doc) => toScenario(doc));
138
+ return { scenarios: serializedScenarios, total };
139
+ }
140
+ catch (error) {
141
+ const err = error;
142
+ this.logger.error(`Failed to find scenarios: ${err.message}`, err.stack);
143
+ throw error;
144
+ }
145
+ }
146
+ /**
147
+ * Find scenario by ID
148
+ */
149
+ async findOne(id) {
150
+ try {
151
+ const scenario = await this.scenarioModel.findById(id);
152
+ if (!scenario) {
153
+ throw new common_1.NotFoundException(`Scenario with ID ${id} not found`);
154
+ }
155
+ return toScenario(scenario);
156
+ }
157
+ catch (error) {
158
+ if (error instanceof common_1.NotFoundException) {
159
+ throw error;
160
+ }
161
+ const err = error;
162
+ this.logger.error(`Failed to find scenario: ${err.message}`, err.stack);
163
+ throw error;
164
+ }
165
+ }
166
+ /**
167
+ * Update a scenario using findByIdAndUpdate
168
+ */
169
+ async update(id, updateScenarioDto) {
170
+ try {
171
+ const updateQuery = {
172
+ ...updateScenarioDto,
173
+ updatedAt: new Date(),
174
+ };
175
+ // Convert arrays to ObjectIds
176
+ if (updateScenarioDto.personaIds &&
177
+ updateScenarioDto.personaIds.length > 0) {
178
+ updateQuery.personaIds = updateScenarioDto.personaIds.map((pid) => new mongoose_2.Types.ObjectId(pid));
179
+ }
180
+ else {
181
+ delete updateQuery.personaIds;
182
+ }
183
+ if (updateScenarioDto.scorecardId) {
184
+ updateQuery.scorecardId = new mongoose_2.Types.ObjectId(updateScenarioDto.scorecardId);
185
+ }
186
+ else {
187
+ delete updateQuery.scorecardId;
188
+ }
189
+ const scenario = await this.scenarioModel.findByIdAndUpdate(id, updateQuery, { new: true });
190
+ if (!scenario) {
191
+ throw new common_1.NotFoundException(`Scenario with ID ${id} not found`);
192
+ }
193
+ return toScenario(scenario);
194
+ }
195
+ catch (error) {
196
+ if (error instanceof common_1.NotFoundException) {
197
+ throw error;
198
+ }
199
+ const err = error;
200
+ this.logger.error(`Failed to update scenario: ${err.message}`, err.stack);
201
+ throw error;
202
+ }
203
+ }
204
+ /**
205
+ * Delete a scenario (archive -- soft delete)
206
+ */
207
+ async remove(id) {
208
+ try {
209
+ const scenario = await this.scenarioModel.findById(id).exec();
210
+ if (!scenario) {
211
+ throw new common_1.NotFoundException(`Scenario with ID ${id} not found`);
212
+ }
213
+ // Archive instead of hard delete
214
+ await this.scenarioModel.findByIdAndUpdate(id, { status: 'archived' });
215
+ this.logger.log(`Archived scenario ${id}`);
216
+ }
217
+ catch (error) {
218
+ if (error instanceof common_1.NotFoundException) {
219
+ throw error;
220
+ }
221
+ const err = error;
222
+ this.logger.error(`Failed to delete scenario: ${err.message}`, err.stack);
223
+ throw error;
224
+ }
225
+ }
226
+ /**
227
+ * Clone/duplicate a scenario
228
+ */
229
+ async clone(id, createdBy, name) {
230
+ try {
231
+ const originalScenario = await this.findOne(id);
232
+ const scenarioJson = originalScenario;
233
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
234
+ const { id: originalId, _id: originalObjectId, ...rest } = scenarioJson;
235
+ const parentId = originalObjectId || originalId;
236
+ const clonedScenario = new this.scenarioModel({
237
+ ...rest,
238
+ name: name || `${originalScenario.name} (Clone)`,
239
+ status: 'draft',
240
+ version: 1,
241
+ parentScenarioId: parentId,
242
+ createdBy: createdBy || 'local',
243
+ lastModifiedBy: undefined,
244
+ metrics: {
245
+ totalExecutions: 0,
246
+ successfulExecutions: 0,
247
+ averageScore: 0,
248
+ lastExecuted: null,
249
+ },
250
+ createdAt: new Date(),
251
+ updatedAt: new Date(),
252
+ });
253
+ const savedClone = await clonedScenario.save();
254
+ return toScenario(savedClone);
255
+ }
256
+ catch (error) {
257
+ const err = error;
258
+ this.logger.error(`Failed to clone scenario: ${err.message}`, err.stack);
259
+ throw error;
260
+ }
261
+ }
262
+ /**
263
+ * Validate scenario for publishing.
264
+ * Checks required fields and optionally validates persona references
265
+ * via an injected lookup function.
266
+ */
267
+ async validate(id, personaLookup) {
268
+ try {
269
+ const scenario = await this.findOne(id);
270
+ const errors = [];
271
+ const warnings = [];
272
+ // Check required fields
273
+ if (!scenario.prompt || scenario.prompt.length === 0) {
274
+ errors.push('Prompt is required');
275
+ }
276
+ if (!scenario.personaIds || scenario.personaIds.length === 0) {
277
+ errors.push('At least one persona is required');
278
+ }
279
+ // Validate personas exist if a lookup function is provided
280
+ if (personaLookup) {
281
+ for (const personaId of scenario.personaIds || []) {
282
+ try {
283
+ await personaLookup(personaId.toString());
284
+ }
285
+ catch {
286
+ errors.push(`Persona ${personaId} not found`);
287
+ }
288
+ }
289
+ }
290
+ // Add warnings for optional fields
291
+ if (!scenario.description) {
292
+ warnings.push('No description provided');
293
+ }
294
+ if (!scenario.tags || scenario.tags.length === 0) {
295
+ warnings.push('No tags provided');
296
+ }
297
+ return {
298
+ valid: errors.length === 0,
299
+ errors,
300
+ warnings,
301
+ };
302
+ }
303
+ catch (error) {
304
+ const err = error;
305
+ this.logger.error(`Failed to validate scenario: ${err.message}`, err.stack);
306
+ throw error;
307
+ }
308
+ }
309
+ /**
310
+ * Publish a scenario (draft/paused -> active)
311
+ */
312
+ async publish(id, personaLookup) {
313
+ try {
314
+ const scenario = await this.findOne(id);
315
+ const previousStatus = scenario.status;
316
+ // Validate before publishing
317
+ const validation = await this.validate(id, personaLookup);
318
+ if (!validation.valid) {
319
+ throw new common_1.BadRequestException(`Cannot publish scenario: ${validation.errors.join(', ')}`);
320
+ }
321
+ const updatedScenario = await this.scenarioModel.findByIdAndUpdate(id, {
322
+ status: 'active',
323
+ updatedAt: new Date(),
324
+ }, { new: true });
325
+ if (!updatedScenario) {
326
+ throw new common_1.NotFoundException(`Scenario with ID ${id} not found`);
327
+ }
328
+ this.logger.log(`Published scenario ${id}: ${previousStatus} -> active`);
329
+ return {
330
+ scenario: toScenario(updatedScenario),
331
+ previousStatus,
332
+ };
333
+ }
334
+ catch (error) {
335
+ if (error instanceof common_1.NotFoundException || error instanceof common_1.BadRequestException) {
336
+ throw error;
337
+ }
338
+ const err = error;
339
+ this.logger.error(`Failed to publish scenario: ${err.message}`, err.stack);
340
+ throw error;
341
+ }
342
+ }
343
+ /**
344
+ * Unpublish a scenario (active -> paused)
345
+ */
346
+ async unpublish(id) {
347
+ try {
348
+ const scenario = await this.findOne(id);
349
+ const previousStatus = scenario.status;
350
+ const updatedScenario = await this.scenarioModel.findByIdAndUpdate(id, {
351
+ status: 'paused',
352
+ updatedAt: new Date(),
353
+ }, { new: true });
354
+ if (!updatedScenario) {
355
+ throw new common_1.NotFoundException(`Scenario with ID ${id} not found`);
356
+ }
357
+ this.logger.log(`Unpublished scenario ${id}: ${previousStatus} -> paused`);
358
+ return {
359
+ scenario: toScenario(updatedScenario),
360
+ previousStatus,
361
+ };
362
+ }
363
+ catch (error) {
364
+ if (error instanceof common_1.NotFoundException) {
365
+ throw error;
366
+ }
367
+ const err = error;
368
+ this.logger.error(`Failed to unpublish scenario: ${err.message}`, err.stack);
369
+ throw error;
370
+ }
371
+ }
372
+ /**
373
+ * Get scenario statistics, optionally filtered by workspace.
374
+ */
375
+ async getScenarioStats() {
376
+ try {
377
+ const [scenarioStats, totalRuns, activeRuns, executionMetrics] = await Promise.all([
378
+ this.scenarioModel.aggregate([
379
+ { $match: {} },
380
+ {
381
+ $facet: {
382
+ total: [{ $count: 'count' }],
383
+ byType: [
384
+ { $group: { _id: '$type', count: { $sum: 1 } } },
385
+ { $project: { _id: 0, type: '$_id', count: 1 } },
386
+ ],
387
+ byStatus: [
388
+ { $group: { _id: '$status', count: { $sum: 1 } } },
389
+ { $project: { _id: 0, status: '$_id', count: 1 } },
390
+ ],
391
+ byCategory: [
392
+ { $group: { _id: '$category', count: { $sum: 1 } } },
393
+ { $project: { _id: 0, category: '$_id', count: 1 } },
394
+ ],
395
+ },
396
+ },
397
+ ]),
398
+ this.scenarioExecutionModel.countDocuments({}),
399
+ this.scenarioExecutionModel.countDocuments({
400
+ status: { $in: ['running', 'queued'] },
401
+ }),
402
+ this.scenarioExecutionModel.aggregate([
403
+ { $match: {} },
404
+ {
405
+ $group: {
406
+ _id: null,
407
+ avgScore: { $avg: '$overallScore' },
408
+ avgDuration: { $avg: '$duration' },
409
+ },
410
+ },
411
+ ]),
412
+ ]);
413
+ const facetResult = scenarioStats[0] || {
414
+ total: [],
415
+ byType: [],
416
+ byStatus: [],
417
+ byCategory: [],
418
+ };
419
+ const baseStats = {
420
+ total: facetResult.total?.[0]?.count || 0,
421
+ byType: facetResult.byType || [],
422
+ byStatus: facetResult.byStatus || [],
423
+ byCategory: facetResult.byCategory || [],
424
+ };
425
+ const rawAvgScore = executionMetrics.length > 0 ? executionMetrics[0].avgScore : null;
426
+ const rawAvgDuration = executionMetrics.length > 0 ? executionMetrics[0].avgDuration : null;
427
+ const avgDurationSeconds = rawAvgDuration !== null ? rawAvgDuration / 1000 : null;
428
+ return {
429
+ total: baseStats.total,
430
+ byType: baseStats.byType,
431
+ byStatus: baseStats.byStatus,
432
+ byCategory: baseStats.byCategory,
433
+ totalRuns,
434
+ avgScore: rawAvgScore !== null ? Math.round(rawAvgScore * 10) / 10 : null,
435
+ avgRuntimeSeconds: avgDurationSeconds !== null
436
+ ? Math.round(avgDurationSeconds * 10) / 10
437
+ : null,
438
+ activeRuns,
439
+ };
440
+ }
441
+ catch (error) {
442
+ const err = error;
443
+ this.logger.error(`Failed to get scenario stats: ${err.message}`, err.stack);
444
+ throw error;
445
+ }
446
+ }
447
+ /**
448
+ * Import a scenario from a YAML string.
449
+ * Parses YAML and creates a scenario document.
450
+ */
451
+ async fromYaml(yamlString, createdBy) {
452
+ try {
453
+ const parsed = yaml.load(yamlString);
454
+ if (!parsed || typeof parsed !== 'object') {
455
+ throw new common_1.BadRequestException('Invalid YAML: must be an object');
456
+ }
457
+ const dto = {
458
+ name: parsed.name,
459
+ description: parsed.description,
460
+ context: parsed.context,
461
+ prompt: parsed.prompt,
462
+ status: parsed.status,
463
+ promptVariables: parsed.promptVariables,
464
+ category: parsed.category || 'support',
465
+ difficulty: parsed.difficulty || 'medium',
466
+ tags: parsed.tags,
467
+ personaIds: parsed.personaIds || [],
468
+ scorecardId: parsed.scorecardId,
469
+ phoneNumber: parsed.phoneNumber,
470
+ simulationMode: parsed.simulationMode,
471
+ createdBy: parsed.createdBy,
472
+ };
473
+ return this.create(dto, createdBy);
474
+ }
475
+ catch (error) {
476
+ const err = error;
477
+ this.logger.error(`Failed to import scenario from YAML: ${err.message}`, err.stack);
478
+ throw error;
479
+ }
480
+ }
481
+ /**
482
+ * Create default starter scenarios. Idempotent — skips if defaults already exist.
483
+ * Creates scenarios as drafts (no agents configured yet).
484
+ */
485
+ async createDefaultScenarios(personaMap, scorecardId) {
486
+ try {
487
+ // Check if defaults already exist
488
+ const existing = await this.scenarioModel
489
+ .find({ tags: '_default' })
490
+ .exec();
491
+ if (existing.length > 0) {
492
+ // Ensure defaults are active (fix for early versions that created them as draft)
493
+ await this.scenarioModel.updateMany({ tags: '_default', status: 'draft' }, { $set: { status: 'active' } });
494
+ const updated = await this.scenarioModel
495
+ .find({ tags: '_default' })
496
+ .exec();
497
+ this.logger.log(`Default scenarios already exist (${updated.length} found)`);
498
+ return updated.map((doc) => toScenario(doc));
499
+ }
500
+ const defaults = [
501
+ {
502
+ name: 'Angry Customer Refund',
503
+ description: 'A frustrated customer demands a full refund for a broken laptop purchased 2 weeks ago. Tests empathy, de-escalation, and resolution skills.',
504
+ prompt: "I bought a laptop 2 weeks ago and it's already broken. I want a full refund NOW.",
505
+ category: 'support',
506
+ difficulty: 'medium',
507
+ personaKey: 'Angry - Karen',
508
+ tags: ['_default', 'refund', 'complaint', 'empathy'],
509
+ },
510
+ {
511
+ name: 'Confused Billing Inquiry',
512
+ description: 'A worried customer calls about unfamiliar charges on their bill. Tests clarity, patience, and ability to explain complex information.',
513
+ prompt: "I don't understand my bill. There are charges I've never seen before and I'm worried.",
514
+ category: 'support',
515
+ difficulty: 'easy',
516
+ personaKey: 'Stressed - Mei',
517
+ tags: ['_default', 'billing', 'clarity', 'patience'],
518
+ },
519
+ {
520
+ name: 'Product Interest Call',
521
+ description: 'A curious prospect asks about the premium plan. Tests discovery, engagement, and sales skills.',
522
+ prompt: "Hi, I've been looking at your premium plan. Can you tell me more about it?",
523
+ category: 'sales',
524
+ difficulty: 'easy',
525
+ personaKey: 'Curious - Maria',
526
+ tags: ['_default', 'sales', 'discovery', 'engagement'],
527
+ },
528
+ ];
529
+ const scenarios = [];
530
+ for (const def of defaults) {
531
+ const personaId = personaMap[def.personaKey];
532
+ const personaIds = personaId
533
+ ? [new mongoose_2.Types.ObjectId(personaId)]
534
+ : [];
535
+ const scenarioData = {
536
+ name: def.name,
537
+ description: def.description,
538
+ prompt: def.prompt,
539
+ category: def.category,
540
+ difficulty: def.difficulty,
541
+ tags: def.tags,
542
+ status: 'active',
543
+ personaIds,
544
+ createdBy: 'system',
545
+ createdAt: new Date(),
546
+ updatedAt: new Date(),
547
+ };
548
+ if (scorecardId) {
549
+ scenarioData.scorecardId = new mongoose_2.Types.ObjectId(scorecardId);
550
+ }
551
+ const scenario = new this.scenarioModel(scenarioData);
552
+ const saved = await scenario.save();
553
+ scenarios.push(toScenario(saved));
554
+ }
555
+ this.logger.log(`Created ${scenarios.length} default scenarios`);
556
+ return scenarios;
557
+ }
558
+ catch (error) {
559
+ const err = error;
560
+ this.logger.error(`Failed to create default scenarios: ${err.message}`, err.stack);
561
+ throw error;
562
+ }
563
+ }
564
+ /**
565
+ * Export a scenario to a YAML string.
566
+ */
567
+ toYaml(scenario) {
568
+ const exportData = {
569
+ name: scenario.name,
570
+ description: scenario.description,
571
+ prompt: scenario.prompt,
572
+ status: scenario.status,
573
+ category: scenario.category,
574
+ difficulty: scenario.difficulty,
575
+ tags: scenario.tags,
576
+ personaIds: (scenario.personaIds || []).map((id) => id.toString()),
577
+ };
578
+ if (scenario.context) {
579
+ exportData.context = scenario.context;
580
+ }
581
+ if (scenario.promptVariables && scenario.promptVariables.length > 0) {
582
+ exportData.promptVariables = scenario.promptVariables;
583
+ }
584
+ if (scenario.scorecardId) {
585
+ exportData.scorecardId = scenario.scorecardId.toString();
586
+ }
587
+ if (scenario.simulationMode) {
588
+ exportData.simulationMode = scenario.simulationMode;
589
+ }
590
+ if (scenario.phoneNumber) {
591
+ exportData.phoneNumber = scenario.phoneNumber;
592
+ }
593
+ return yaml.dump(exportData, {
594
+ indent: 2,
595
+ lineWidth: 120,
596
+ noRefs: true,
597
+ });
598
+ }
599
+ };
600
+ exports.ScenarioService = ScenarioService;
601
+ exports.ScenarioService = ScenarioService = ScenarioService_1 = __decorate([
602
+ (0, common_1.Injectable)(),
603
+ __param(0, (0, mongoose_1.InjectModel)(scenario_schema_1.Scenario.name)),
604
+ __param(1, (0, mongoose_1.InjectModel)(scenario_execution_schema_1.ScenarioExecution.name)),
605
+ __metadata("design:paramtypes", [mongoose_2.Model,
606
+ mongoose_2.Model])
607
+ ], ScenarioService);
608
+ //# sourceMappingURL=scenario.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scenario.service.js","sourceRoot":"","sources":["../../../src/scenarios/services/scenario.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './persona-simulator.service';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/simulator/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC"}
@@ -0,0 +1,18 @@
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("./persona-simulator.service"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/simulator/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8DAA4C"}