usersim 0.2.0__tar.gz → 0.3.0__tar.gz

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 (472) hide show
  1. {usersim-0.2.0/src/usersim.egg-info → usersim-0.3.0}/PKG-INFO +17 -11
  2. {usersim-0.2.0 → usersim-0.3.0}/README.md +16 -10
  3. {usersim-0.2.0 → usersim-0.3.0}/pyproject.toml +25 -18
  4. usersim-0.3.0/src/usersim/asset_gen/__init__.py +11 -0
  5. usersim-0.3.0/src/usersim/asset_gen/registry.py +101 -0
  6. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/cli/__init__.py +14 -5
  7. usersim-0.3.0/src/usersim/cli/_bank_dir.py +27 -0
  8. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/cli/_inputs.py +174 -95
  9. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/cli/_models.py +29 -588
  10. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/cli/_pipeline.py +309 -291
  11. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/cli/evaluate.py +40 -6
  12. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/cli/evaluate_assets.py +5 -6
  13. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/cli/gen_assets.py +4 -5
  14. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/cli/models_default.toml +8 -3
  15. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/cli/models_openai.toml +1 -1
  16. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/cli/models_openrouter.toml +4 -2
  17. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/cli/panel.py +8 -8
  18. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/cli/rescore.py +19 -29
  19. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/cli/simulate.py +137 -156
  20. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/cli/smoke.py +102 -212
  21. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/cli/validate_assets.py +2 -2
  22. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/config.py +46 -127
  23. usersim-0.3.0/src/usersim/engine/core/_assets.py +223 -0
  24. usersim-0.3.0/src/usersim/engine/core/_extensions.py +259 -0
  25. usersim-0.3.0/src/usersim/engine/core/_probe_registry.py +22 -0
  26. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/core/behavioral.py +37 -13
  27. usersim-0.3.0/src/usersim/engine/core/builtin_packages.py +50 -0
  28. usersim-0.3.0/src/usersim/engine/core/columns.py +62 -0
  29. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/core/episode_input.py +9 -10
  30. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/core/episode_runtime.py +25 -27
  31. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/core/identity.py +2 -2
  32. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/core/llm.py +38 -38
  33. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/core/manifest.py +49 -39
  34. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/core/messages.py +13 -10
  35. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/core/outcomes.py +78 -45
  36. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/core/persona.py +40 -5
  37. usersim-0.2.0/src/usersim/engine/probes/sov_ai_facts/task_derivation.py → usersim-0.3.0/src/usersim/engine/core/persona_tags.py +10 -78
  38. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/core/preview.py +39 -223
  39. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/core/probes.py +496 -147
  40. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/core/probing_taxonomy.py +23 -37
  41. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/core/prompt_loader.py +15 -9
  42. usersim-0.3.0/src/usersim/engine/core/seeds.py +82 -0
  43. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/core/simulation.py +64 -20
  44. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/core/user_turn_policy.py +0 -24
  45. usersim-0.3.0/src/usersim/engine/errors.py +34 -0
  46. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/evaluator/axes.py +35 -168
  47. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/evaluator/generator.py +8 -5
  48. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/evaluator/prompts.py +1 -1
  49. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/evaluator/scorers/__init__.py +77 -39
  50. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/evaluator/scorers/language_compliance.py +1 -1
  51. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/evaluator/scorers/refusal_basics.py +1 -1
  52. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/evaluator/scorers/response_shape.py +1 -1
  53. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/evaluator/scorers/tool_use.py +14 -7
  54. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/external.py +31 -16
  55. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/generator.py +24 -29
  56. {usersim-0.2.0/src/usersim/cli → usersim-0.3.0/src/usersim/engine}/model_catalog.py +1 -1
  57. usersim-0.3.0/src/usersim/engine/models_file.py +598 -0
  58. usersim-0.3.0/src/usersim/engine/probes/__init__.py +15 -0
  59. usersim-0.3.0/src/usersim/engine/probes/financial_services/asset_domain.py +118 -0
  60. {usersim-0.2.0/src/usersim/asset_gen/financial_services → usersim-0.3.0/src/usersim/engine/probes/financial_services/asset_gen}/__init__.py +1 -1
  61. {usersim-0.2.0/src/usersim/asset_gen/financial_services → usersim-0.3.0/src/usersim/engine/probes/financial_services/asset_gen}/evaluate.py +6 -6
  62. {usersim-0.2.0/src/usersim/asset_gen/financial_services → usersim-0.3.0/src/usersim/engine/probes/financial_services/asset_gen}/pipeline.py +132 -40
  63. {usersim-0.2.0/src/usersim/asset_gen/financial_services → usersim-0.3.0/src/usersim/engine/probes/financial_services/asset_gen}/prompts.py +35 -7
  64. usersim-0.3.0/src/usersim/engine/probes/financial_services/asset_gen/region_spec/de_DE.yaml +749 -0
  65. usersim-0.3.0/src/usersim/engine/probes/financial_services/asset_gen/region_spec/en_GB.yaml +952 -0
  66. usersim-0.3.0/src/usersim/engine/probes/financial_services/asset_gen/region_spec/en_IN.yaml +463 -0
  67. usersim-0.3.0/src/usersim/engine/probes/financial_services/asset_gen/region_spec/en_US.yaml +311 -0
  68. usersim-0.3.0/src/usersim/engine/probes/financial_services/asset_gen/region_spec/fr_FR.yaml +787 -0
  69. usersim-0.3.0/src/usersim/engine/probes/financial_services/asset_gen/region_spec/hi_Deva_IN.yaml +243 -0
  70. usersim-0.3.0/src/usersim/engine/probes/financial_services/asset_gen/region_spec/ja_JP.yaml +960 -0
  71. usersim-0.3.0/src/usersim/engine/probes/financial_services/asset_gen/region_spec/ko_KR.yaml +993 -0
  72. {usersim-0.2.0/src/usersim/asset_gen/financial_services → usersim-0.3.0/src/usersim/engine/probes/financial_services/asset_gen}/spec.py +62 -11
  73. {usersim-0.2.0/src/usersim/asset_gen/financial_services → usersim-0.3.0/src/usersim/engine/probes/financial_services/asset_gen}/validate.py +139 -12
  74. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/SCHEMA.md +10 -6
  75. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/de_DE/bank/bausparkasse_heimstatt/corpus.yaml +4 -4
  76. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/de_DE/bank/sparkasse_lindenhain/corpus.yaml +2 -2
  77. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/de_DE/brokerage/kranich_invest/corpus.yaml +3 -3
  78. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/de_DE/brokerage/kranich_invest/tasks.yaml +13 -13
  79. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/de_DE/insurer/hanseatica_versicherung/corpus.yaml +3 -3
  80. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/de_DE/neobank/kompass_direktbank/corpus.yaml +3 -3
  81. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_GB/bank/fernbridge_building_society/corpus.yaml +1 -1
  82. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_GB/bank/wrenfield_bank/corpus.yaml +1 -1
  83. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_GB/brokerage/copperleaf_invest/corpus.yaml +8 -8
  84. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_GB/retirement_provider/oakhaven_pensions/corpus.yaml +2 -2
  85. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_IN/bank/chandrika_bank/corpus.yaml +6 -6
  86. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_IN/brokerage/tarang_invest/corpus.yaml +4 -4
  87. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_IN/insurer/abhaya_insurance/corpus.yaml +1 -1
  88. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_IN/nbfc/kalash_finserv/corpus.yaml +9 -9
  89. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_IN/neobank/paysetu/corpus.yaml +4 -4
  90. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_US/bank/northwind_bank/corpus.yaml +1 -1
  91. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_US/bank/northwind_bank/tasks.yaml +1 -1
  92. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_US/brokerage/solstice_invest/corpus.yaml +3 -3
  93. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_US/brokerage/solstice_invest/tasks.yaml +5 -5
  94. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_US/retirement_provider/evergreen_retirement/corpus.yaml +2 -2
  95. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_US/retirement_provider/evergreen_retirement/tasks.yaml +2 -2
  96. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_US/wealth_manager/meridian_wealth/corpus.yaml +8 -8
  97. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/fr_FR/bank/credit_mirabelle/corpus.yaml +6 -6
  98. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/fr_FR/bank/credit_mirabelle/tasks.yaml +1 -1
  99. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/fr_FR/brokerage/valbreuil_bourse/corpus.yaml +6 -7
  100. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/fr_FR/brokerage/valbreuil_bourse/tasks.yaml +21 -21
  101. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/fr_FR/insurer/egide_assurances/corpus.yaml +2 -2
  102. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/fr_FR/nbfc/ondine_credit/corpus.yaml +4 -4
  103. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/fr_FR/neobank/kiosque/corpus.yaml +2 -2
  104. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/hi_Deva_IN/bank/chandrika_bank/corpus.yaml +4 -4
  105. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/hi_Deva_IN/brokerage/tarang_invest/corpus.yaml +10 -10
  106. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/hi_Deva_IN/insurer/abhaya_insurance/corpus.yaml +9 -9
  107. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/hi_Deva_IN/neobank/paysetu/corpus.yaml +9 -9
  108. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ja_JP/_generation_report.json +1153 -0
  109. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ja_JP/bank/asanagi_bank/corpus.yaml +8344 -0
  110. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ja_JP/bank/asanagi_bank/institution_meta.yaml +11 -0
  111. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ja_JP/bank/asanagi_bank/tasks.yaml +407 -0
  112. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ja_JP/bank/asanagi_bank/tools.yaml +154 -0
  113. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ja_JP/brokerage/hoshimi_securities/corpus.yaml +8270 -0
  114. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ja_JP/brokerage/hoshimi_securities/institution_meta.yaml +9 -0
  115. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ja_JP/brokerage/hoshimi_securities/tasks.yaml +400 -0
  116. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ja_JP/brokerage/hoshimi_securities/tools.yaml +149 -0
  117. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ja_JP/dynamic.yaml +267 -0
  118. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ja_JP/insurer/komorebi_life/corpus.yaml +6954 -0
  119. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ja_JP/insurer/komorebi_life/institution_meta.yaml +9 -0
  120. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ja_JP/insurer/komorebi_life/tasks.yaml +398 -0
  121. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ja_JP/insurer/komorebi_life/tools.yaml +119 -0
  122. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ja_JP/nbfc/tsumugi_card/corpus.yaml +7437 -0
  123. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ja_JP/nbfc/tsumugi_card/institution_meta.yaml +10 -0
  124. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ja_JP/nbfc/tsumugi_card/tasks.yaml +415 -0
  125. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ja_JP/nbfc/tsumugi_card/tools.yaml +149 -0
  126. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ja_JP/neobank/sorairo_bank/corpus.yaml +7381 -0
  127. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ja_JP/neobank/sorairo_bank/institution_meta.yaml +10 -0
  128. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ja_JP/neobank/sorairo_bank/tasks.yaml +419 -0
  129. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ja_JP/neobank/sorairo_bank/tools.yaml +149 -0
  130. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ja_JP/region_meta.yaml +52 -0
  131. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ko_KR/_generation_report.json +1161 -0
  132. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ko_KR/bank/yunseul_bank/corpus.yaml +7225 -0
  133. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ko_KR/bank/yunseul_bank/institution_meta.yaml +11 -0
  134. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ko_KR/bank/yunseul_bank/tasks.yaml +415 -0
  135. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ko_KR/bank/yunseul_bank/tools.yaml +164 -0
  136. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ko_KR/brokerage/garam_securities/corpus.yaml +6919 -0
  137. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ko_KR/brokerage/garam_securities/institution_meta.yaml +9 -0
  138. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ko_KR/brokerage/garam_securities/tasks.yaml +383 -0
  139. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ko_KR/brokerage/garam_securities/tools.yaml +149 -0
  140. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ko_KR/dynamic.yaml +280 -0
  141. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ko_KR/insurer/dodam_life/corpus.yaml +5927 -0
  142. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ko_KR/insurer/dodam_life/institution_meta.yaml +9 -0
  143. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ko_KR/insurer/dodam_life/tasks.yaml +370 -0
  144. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ko_KR/insurer/dodam_life/tools.yaml +119 -0
  145. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ko_KR/nbfc/yeoul_card/corpus.yaml +6348 -0
  146. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ko_KR/nbfc/yeoul_card/institution_meta.yaml +10 -0
  147. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ko_KR/nbfc/yeoul_card/tasks.yaml +408 -0
  148. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ko_KR/nbfc/yeoul_card/tools.yaml +154 -0
  149. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ko_KR/neobank/mirinae_bank/corpus.yaml +6534 -0
  150. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ko_KR/neobank/mirinae_bank/institution_meta.yaml +10 -0
  151. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ko_KR/neobank/mirinae_bank/tasks.yaml +414 -0
  152. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ko_KR/neobank/mirinae_bank/tools.yaml +159 -0
  153. usersim-0.3.0/src/usersim/engine/probes/financial_services/assets/financial_services/ko_KR/region_meta.yaml +97 -0
  154. usersim-0.2.0/src/usersim/engine/core/finance_bank.py → usersim-0.3.0/src/usersim/engine/probes/financial_services/bank.py +51 -6
  155. usersim-0.3.0/src/usersim/engine/probes/financial_services/capabilities.py +249 -0
  156. usersim-0.2.0/src/usersim/engine/probes/financial_services/generator.py → usersim-0.3.0/src/usersim/engine/probes/financial_services/probe.py +214 -136
  157. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/probes/financial_services/retrieval.py +59 -16
  158. usersim-0.2.0/src/usersim/engine/evaluator/scorers/financial_services.py → usersim-0.3.0/src/usersim/engine/probes/financial_services/scorer.py +13 -18
  159. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/probes/financial_services/task_derivation.py +4 -6
  160. usersim-0.2.0/src/usersim/engine/core/finance_tasks.py → usersim-0.3.0/src/usersim/engine/probes/financial_services/tasks.py +1 -1
  161. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/probes/financial_services/tools.py +2 -2
  162. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/general_educational}/assets/general_educational/prompts.yaml +0 -32
  163. usersim-0.3.0/src/usersim/engine/probes/general_educational/axes.py +31 -0
  164. usersim-0.2.0/src/usersim/engine/probes/general_educational/generator.py → usersim-0.3.0/src/usersim/engine/probes/general_educational/probe.py +44 -55
  165. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/probes/general_educational/prompts.py +2 -63
  166. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/general_open_ended}/assets/general_open_ended/prompts.yaml +0 -30
  167. usersim-0.2.0/src/usersim/engine/probes/general_open_ended/generator.py → usersim-0.3.0/src/usersim/engine/probes/general_open_ended/probe.py +44 -57
  168. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/probes/general_open_ended/prompts.py +2 -61
  169. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/probes/health_disclosure/__init__.py +2 -1
  170. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/health_disclosure}/assets/health_decision_support_disclosure/sample.yaml +1 -1
  171. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/health_disclosure}/assets/health_general_disclosure/sample.yaml +1 -1
  172. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/health_disclosure}/assets/health_therapy_disclosure/sample.yaml +1 -1
  173. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/health_disclosure}/assets/health_triage_disclosure/sample.yaml +1 -1
  174. usersim-0.3.0/src/usersim/engine/probes/health_disclosure/axes.py +115 -0
  175. usersim-0.2.0/src/usersim/engine/core/clinical_profile_bank.py → usersim-0.3.0/src/usersim/engine/probes/health_disclosure/bank.py +2 -2
  176. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/probes/health_disclosure/base.py +37 -14
  177. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/probes/health_disclosure/clients.py +6 -10
  178. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/probes/health_disclosure/mixin.py +9 -6
  179. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/probes/health_disclosure/move_runtime.py +2 -3
  180. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/probes/health_disclosure/moves.py +2 -2
  181. usersim-0.3.0/src/usersim/engine/probes/health_disclosure/probe.py +101 -0
  182. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/probes/health_disclosure/prompts.py +3 -5
  183. {usersim-0.2.0/src/usersim/engine/core → usersim-0.3.0/src/usersim/engine/probes/health_disclosure}/realized_audit.py +4 -8
  184. usersim-0.2.0/src/usersim/engine/evaluator/scorers/health_disclosure.py → usersim-0.3.0/src/usersim/engine/probes/health_disclosure/scorer.py +9 -10
  185. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/identity_disclosure}/assets/identity_disclosure/SCHEMA.md +2 -2
  186. usersim-0.3.0/src/usersim/engine/probes/identity_disclosure/capabilities.py +273 -0
  187. usersim-0.2.0/src/usersim/engine/evaluator/scorers/identity_grading.py → usersim-0.3.0/src/usersim/engine/probes/identity_disclosure/grading.py +1 -1
  188. usersim-0.2.0/src/usersim/engine/probes/identity_disclosure/generator.py → usersim-0.3.0/src/usersim/engine/probes/identity_disclosure/probe.py +65 -37
  189. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/probes/identity_disclosure/prompts.py +25 -2
  190. usersim-0.2.0/src/usersim/engine/evaluator/scorers/identity_disclosure.py → usersim-0.3.0/src/usersim/engine/probes/identity_disclosure/scorer.py +5 -9
  191. usersim-0.2.0/src/usersim/engine/core/identity_spec.py → usersim-0.3.0/src/usersim/engine/probes/identity_disclosure/spec.py +40 -12
  192. usersim-0.2.0/src/usersim/engine/core/identity_spec_types.py → usersim-0.3.0/src/usersim/engine/probes/identity_disclosure/spec_types.py +2 -2
  193. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/probes/identity_disclosure/task_derivation.py +1 -1
  194. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/probes/safety_agentic/__init__.py +1 -3
  195. {usersim-0.2.0/src/usersim/engine/core → usersim-0.3.0/src/usersim/engine/probes/safety_agentic}/action_taxonomy.py +5 -6
  196. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/safety_agentic}/assets/safety_agentic/SCHEMA.md +5 -4
  197. usersim-0.2.0/src/usersim/engine/core/agentic_bank.py → usersim-0.3.0/src/usersim/engine/probes/safety_agentic/bank.py +9 -13
  198. usersim-0.3.0/src/usersim/engine/probes/safety_agentic/capabilities.py +62 -0
  199. usersim-0.2.0/src/usersim/engine/probes/safety_agentic/generator.py → usersim-0.3.0/src/usersim/engine/probes/safety_agentic/probe.py +53 -104
  200. usersim-0.2.0/src/usersim/engine/evaluator/scorers/safety_agentic.py → usersim-0.3.0/src/usersim/engine/probes/safety_agentic/scorer.py +10 -13
  201. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/probes/safety_agentic/task_derivation.py +2 -4
  202. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/probes/safety_chat_pressure/__init__.py +1 -3
  203. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/safety_chat_pressure}/assets/safety_chat_pressure/SCHEMA.md +2 -2
  204. usersim-0.2.0/src/usersim/engine/core/pressure_bank.py → usersim-0.3.0/src/usersim/engine/probes/safety_chat_pressure/bank.py +8 -11
  205. usersim-0.3.0/src/usersim/engine/probes/safety_chat_pressure/capabilities.py +38 -0
  206. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/probes/safety_chat_pressure/classifier.py +1 -1
  207. usersim-0.2.0/src/usersim/engine/probes/safety_chat_pressure/generator.py → usersim-0.3.0/src/usersim/engine/probes/safety_chat_pressure/probe.py +44 -108
  208. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/probes/safety_chat_pressure/prompts.py +2 -2
  209. usersim-0.2.0/src/usersim/engine/evaluator/scorers/safety_chat_pressure.py → usersim-0.3.0/src/usersim/engine/probes/safety_chat_pressure/scorer.py +12 -15
  210. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/probes/safety_chat_pressure/task_derivation.py +2 -4
  211. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/probes/sov_ai_dynamic/__init__.py +5 -5
  212. usersim-0.2.0/src/usersim/engine/probes/sov_ai_dynamic/generator.py → usersim-0.3.0/src/usersim/engine/probes/sov_ai_dynamic/probe.py +63 -135
  213. usersim-0.2.0/src/usersim/engine/evaluator/scorers/sov_ai_dynamic.py → usersim-0.3.0/src/usersim/engine/probes/sov_ai_dynamic/scorer.py +12 -19
  214. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/probes/sov_ai_dynamic/task_derivation.py +2 -12
  215. usersim-0.3.0/src/usersim/engine/probes/sov_ai_dynamic/taxonomy.py +35 -0
  216. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/probes/sov_ai_facts/__init__.py +1 -3
  217. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/sov_ai_facts}/assets/sov_ai_facts/SCHEMA.md +1 -1
  218. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/sov_ai_facts}/assets/sov_ai_facts/ko_KR/sample.yaml +1 -1
  219. usersim-0.2.0/src/usersim/engine/core/fact_bank.py → usersim-0.3.0/src/usersim/engine/probes/sov_ai_facts/bank.py +5 -5
  220. usersim-0.3.0/src/usersim/engine/probes/sov_ai_facts/capabilities.py +59 -0
  221. usersim-0.2.0/src/usersim/engine/probes/sov_ai_facts/generator.py → usersim-0.3.0/src/usersim/engine/probes/sov_ai_facts/probe.py +55 -120
  222. usersim-0.2.0/src/usersim/engine/evaluator/scorers/sov_ai_facts.py → usersim-0.3.0/src/usersim/engine/probes/sov_ai_facts/scorer.py +12 -14
  223. usersim-0.3.0/src/usersim/engine/probes/sov_ai_facts/task_derivation.py +79 -0
  224. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/probes/sov_ai_multilingual_parity/__init__.py +1 -3
  225. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/sov_ai_multilingual_parity}/assets/sov_ai_multilingual_parity/SCHEMA.md +1 -1
  226. usersim-0.2.0/src/usersim/engine/core/query_bank.py → usersim-0.3.0/src/usersim/engine/probes/sov_ai_multilingual_parity/bank.py +5 -5
  227. usersim-0.3.0/src/usersim/engine/probes/sov_ai_multilingual_parity/capabilities.py +32 -0
  228. usersim-0.2.0/src/usersim/engine/probes/sov_ai_multilingual_parity/generator.py → usersim-0.3.0/src/usersim/engine/probes/sov_ai_multilingual_parity/probe.py +49 -113
  229. usersim-0.2.0/src/usersim/engine/evaluator/scorers/sov_ai_multilingual_parity.py → usersim-0.3.0/src/usersim/engine/probes/sov_ai_multilingual_parity/scorer.py +15 -13
  230. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/probes/sov_ai_multilingual_parity/task_derivation.py +4 -7
  231. usersim-0.3.0/src/usersim/engine/probes/tool_calling/assets/tool_calling/README.md +513 -0
  232. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/tool_calling}/assets/tool_calling/prompts.yaml +15 -11
  233. usersim-0.3.0/src/usersim/engine/probes/tool_calling/assets/tool_calling/toolsets_seed.parquet +0 -0
  234. usersim-0.3.0/src/usersim/engine/probes/tool_calling/axes.py +51 -0
  235. usersim-0.3.0/src/usersim/engine/probes/tool_calling/capabilities.py +45 -0
  236. usersim-0.3.0/src/usersim/engine/probes/tool_calling/credentials.py +106 -0
  237. usersim-0.2.0/src/usersim/engine/probes/tool_calling/generator.py → usersim-0.3.0/src/usersim/engine/probes/tool_calling/probe.py +219 -118
  238. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/probes/tool_calling/prompts.py +33 -2
  239. usersim-0.3.0/src/usersim/extension.py +316 -0
  240. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/reporting/capability_report.py +4 -97
  241. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/selection/schemas.py +1 -1
  242. usersim-0.3.0/src/usersim/taxonomy/capabilities.py +561 -0
  243. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/testing/__init__.py +373 -59
  244. usersim-0.3.0/src/usersim/testing/pytest_plugin.py +227 -0
  245. {usersim-0.2.0 → usersim-0.3.0/src/usersim.egg-info}/PKG-INFO +17 -11
  246. usersim-0.3.0/src/usersim.egg-info/SOURCES.txt +455 -0
  247. usersim-0.2.0/src/usersim/asset_gen/__init__.py +0 -22
  248. usersim-0.2.0/src/usersim/asset_gen/registry.py +0 -191
  249. usersim-0.2.0/src/usersim/cli/_errors.py +0 -44
  250. usersim-0.2.0/src/usersim/engine/assets/tool_calling/README.md +0 -225
  251. usersim-0.2.0/src/usersim/engine/assets/tool_calling/toolsets_seed.parquet +0 -0
  252. usersim-0.2.0/src/usersim/engine/core/_assets.py +0 -178
  253. usersim-0.2.0/src/usersim/engine/core/_extensions.py +0 -148
  254. usersim-0.2.0/src/usersim/engine/core/seeds.py +0 -82
  255. usersim-0.2.0/src/usersim/engine/probes/__init__.py +0 -28
  256. usersim-0.2.0/src/usersim/engine/probes/health_disclosure/decision_support.py +0 -44
  257. usersim-0.2.0/src/usersim/engine/probes/health_disclosure/general.py +0 -45
  258. usersim-0.2.0/src/usersim/engine/probes/health_disclosure/therapy.py +0 -43
  259. usersim-0.2.0/src/usersim/engine/probes/health_disclosure/triage.py +0 -43
  260. usersim-0.2.0/src/usersim/taxonomy/capabilities.py +0 -1125
  261. usersim-0.2.0/src/usersim.egg-info/SOURCES.txt +0 -383
  262. {usersim-0.2.0 → usersim-0.3.0}/LICENSE +0 -0
  263. {usersim-0.2.0 → usersim-0.3.0}/MANIFEST.in +0 -0
  264. {usersim-0.2.0 → usersim-0.3.0}/setup.cfg +0 -0
  265. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/__init__.py +0 -0
  266. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/cli/__main__.py +0 -0
  267. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/cli/_async.py +0 -0
  268. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/cli/_env.py +0 -0
  269. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/cli/_ngc.py +0 -0
  270. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/cli/_persona_language.py +0 -0
  271. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/cli/report.py +0 -0
  272. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/cli/select.py +0 -0
  273. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/cli/setup_ngc.py +0 -0
  274. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/__init__.py +0 -0
  275. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/core/__init__.py +0 -0
  276. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/core/analysis.py +0 -0
  277. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/core/backends.py +0 -0
  278. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/core/context.py +0 -0
  279. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/core/idempotency.py +0 -0
  280. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/core/judges.py +0 -0
  281. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/core/language_detection.py +0 -0
  282. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/core/locale.py +0 -0
  283. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/core/localized.py +0 -0
  284. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/core/missing.py +0 -0
  285. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/core/prompts.py +0 -0
  286. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/core/provenance.py +0 -0
  287. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/core/row_metadata.py +0 -0
  288. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/core/storage.py +0 -0
  289. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/core/tool_calls.py +0 -0
  290. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/core/translation.py +0 -0
  291. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/evaluator/__init__.py +0 -0
  292. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/evaluator/config.py +0 -0
  293. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/evaluator/judges.py +0 -0
  294. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/plugin.py +0 -0
  295. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/probes/financial_services/__init__.py +0 -0
  296. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/de_DE/_generation_report.json +0 -0
  297. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/de_DE/bank/bausparkasse_heimstatt/institution_meta.yaml +0 -0
  298. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/de_DE/bank/bausparkasse_heimstatt/tasks.yaml +0 -0
  299. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/de_DE/bank/bausparkasse_heimstatt/tools.yaml +0 -0
  300. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/de_DE/bank/sparkasse_lindenhain/institution_meta.yaml +0 -0
  301. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/de_DE/bank/sparkasse_lindenhain/tasks.yaml +0 -0
  302. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/de_DE/bank/sparkasse_lindenhain/tools.yaml +0 -0
  303. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/de_DE/brokerage/kranich_invest/institution_meta.yaml +0 -0
  304. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/de_DE/brokerage/kranich_invest/tools.yaml +0 -0
  305. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/de_DE/dynamic.yaml +0 -0
  306. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/de_DE/insurer/hanseatica_versicherung/institution_meta.yaml +0 -0
  307. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/de_DE/insurer/hanseatica_versicherung/tasks.yaml +0 -0
  308. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/de_DE/insurer/hanseatica_versicherung/tools.yaml +0 -0
  309. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/de_DE/neobank/kompass_direktbank/institution_meta.yaml +0 -0
  310. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/de_DE/neobank/kompass_direktbank/tasks.yaml +0 -0
  311. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/de_DE/neobank/kompass_direktbank/tools.yaml +0 -0
  312. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/de_DE/region_meta.yaml +0 -0
  313. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_GB/_generation_report.json +0 -0
  314. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_GB/bank/fernbridge_building_society/institution_meta.yaml +0 -0
  315. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_GB/bank/fernbridge_building_society/tasks.yaml +0 -0
  316. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_GB/bank/fernbridge_building_society/tools.yaml +0 -0
  317. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_GB/bank/wrenfield_bank/institution_meta.yaml +0 -0
  318. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_GB/bank/wrenfield_bank/tasks.yaml +0 -0
  319. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_GB/bank/wrenfield_bank/tools.yaml +0 -0
  320. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_GB/brokerage/copperleaf_invest/institution_meta.yaml +0 -0
  321. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_GB/brokerage/copperleaf_invest/tasks.yaml +0 -0
  322. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_GB/brokerage/copperleaf_invest/tools.yaml +0 -0
  323. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_GB/dynamic.yaml +0 -0
  324. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_GB/insurer/kingsmere_insurance/corpus.yaml +0 -0
  325. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_GB/insurer/kingsmere_insurance/institution_meta.yaml +0 -0
  326. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_GB/insurer/kingsmere_insurance/tasks.yaml +0 -0
  327. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_GB/insurer/kingsmere_insurance/tools.yaml +0 -0
  328. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_GB/neobank/quill/corpus.yaml +0 -0
  329. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_GB/neobank/quill/institution_meta.yaml +0 -0
  330. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_GB/neobank/quill/tasks.yaml +0 -0
  331. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_GB/neobank/quill/tools.yaml +0 -0
  332. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_GB/region_meta.yaml +0 -0
  333. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_GB/retirement_provider/oakhaven_pensions/institution_meta.yaml +0 -0
  334. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_GB/retirement_provider/oakhaven_pensions/tasks.yaml +0 -0
  335. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_GB/retirement_provider/oakhaven_pensions/tools.yaml +0 -0
  336. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_IN/_generation_report.json +0 -0
  337. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_IN/bank/chandrika_bank/institution_meta.yaml +0 -0
  338. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_IN/bank/chandrika_bank/tasks.yaml +0 -0
  339. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_IN/bank/chandrika_bank/tools.yaml +0 -0
  340. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_IN/brokerage/tarang_invest/institution_meta.yaml +0 -0
  341. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_IN/brokerage/tarang_invest/tasks.yaml +0 -0
  342. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_IN/brokerage/tarang_invest/tools.yaml +0 -0
  343. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_IN/dynamic.yaml +0 -0
  344. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_IN/insurer/abhaya_insurance/institution_meta.yaml +0 -0
  345. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_IN/insurer/abhaya_insurance/tasks.yaml +0 -0
  346. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_IN/insurer/abhaya_insurance/tools.yaml +0 -0
  347. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_IN/nbfc/kalash_finserv/institution_meta.yaml +0 -0
  348. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_IN/nbfc/kalash_finserv/tasks.yaml +0 -0
  349. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_IN/nbfc/kalash_finserv/tools.yaml +0 -0
  350. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_IN/neobank/paysetu/institution_meta.yaml +0 -0
  351. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_IN/neobank/paysetu/tasks.yaml +0 -0
  352. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_IN/neobank/paysetu/tools.yaml +0 -0
  353. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_IN/region_meta.yaml +0 -0
  354. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_US/_generation_report.json +0 -0
  355. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_US/bank/northwind_bank/institution_meta.yaml +0 -0
  356. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_US/bank/northwind_bank/tools.yaml +0 -0
  357. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_US/brokerage/solstice_invest/institution_meta.yaml +0 -0
  358. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_US/brokerage/solstice_invest/tools.yaml +0 -0
  359. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_US/dynamic.yaml +0 -0
  360. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_US/region_meta.yaml +0 -0
  361. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_US/retirement_provider/evergreen_retirement/institution_meta.yaml +0 -0
  362. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_US/retirement_provider/evergreen_retirement/tools.yaml +0 -0
  363. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_US/wealth_manager/meridian_wealth/institution_meta.yaml +0 -0
  364. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_US/wealth_manager/meridian_wealth/tasks.yaml +0 -0
  365. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/en_US/wealth_manager/meridian_wealth/tools.yaml +0 -0
  366. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/fr_FR/_generation_report.json +0 -0
  367. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/fr_FR/bank/credit_mirabelle/institution_meta.yaml +0 -0
  368. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/fr_FR/bank/credit_mirabelle/tools.yaml +0 -0
  369. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/fr_FR/brokerage/valbreuil_bourse/institution_meta.yaml +0 -0
  370. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/fr_FR/brokerage/valbreuil_bourse/tools.yaml +0 -0
  371. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/fr_FR/dynamic.yaml +0 -0
  372. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/fr_FR/insurer/egide_assurances/institution_meta.yaml +0 -0
  373. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/fr_FR/insurer/egide_assurances/tasks.yaml +0 -0
  374. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/fr_FR/insurer/egide_assurances/tools.yaml +0 -0
  375. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/fr_FR/nbfc/ondine_credit/institution_meta.yaml +0 -0
  376. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/fr_FR/nbfc/ondine_credit/tasks.yaml +0 -0
  377. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/fr_FR/nbfc/ondine_credit/tools.yaml +0 -0
  378. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/fr_FR/neobank/kiosque/institution_meta.yaml +0 -0
  379. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/fr_FR/neobank/kiosque/tasks.yaml +0 -0
  380. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/fr_FR/neobank/kiosque/tools.yaml +0 -0
  381. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/fr_FR/region_meta.yaml +0 -0
  382. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/hi_Deva_IN/_generation_report.json +0 -0
  383. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/hi_Deva_IN/bank/chandrika_bank/institution_meta.yaml +0 -0
  384. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/hi_Deva_IN/bank/chandrika_bank/tools.yaml +0 -0
  385. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/hi_Deva_IN/brokerage/tarang_invest/institution_meta.yaml +0 -0
  386. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/hi_Deva_IN/brokerage/tarang_invest/tools.yaml +0 -0
  387. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/hi_Deva_IN/insurer/abhaya_insurance/institution_meta.yaml +0 -0
  388. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/hi_Deva_IN/insurer/abhaya_insurance/tools.yaml +0 -0
  389. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/hi_Deva_IN/nbfc/kalash_finserv/corpus.yaml +0 -0
  390. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/hi_Deva_IN/nbfc/kalash_finserv/institution_meta.yaml +0 -0
  391. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/hi_Deva_IN/nbfc/kalash_finserv/tools.yaml +0 -0
  392. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/hi_Deva_IN/neobank/paysetu/institution_meta.yaml +0 -0
  393. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/hi_Deva_IN/neobank/paysetu/tools.yaml +0 -0
  394. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/financial_services}/assets/financial_services/hi_Deva_IN/region_meta.yaml +0 -0
  395. {usersim-0.2.0/src/usersim/engine/core → usersim-0.3.0/src/usersim/engine/probes/financial_services}/embeddings.py +0 -0
  396. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/probes/financial_services/prompts.py +0 -0
  397. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/probes/general_educational/__init__.py +0 -0
  398. {usersim-0.2.0/src/usersim/engine/assets/general_educational/subjects → usersim-0.3.0/src/usersim/engine/probes/general_educational/assets/general_educational}/de_DE/subjects.json +0 -0
  399. {usersim-0.2.0/src/usersim/engine/assets/general_educational/subjects → usersim-0.3.0/src/usersim/engine/probes/general_educational/assets/general_educational}/en_GB/subjects.json +0 -0
  400. {usersim-0.2.0/src/usersim/engine/assets/general_educational/subjects/base → usersim-0.3.0/src/usersim/engine/probes/general_educational/assets/general_educational/en_US}/subjects.json +0 -0
  401. {usersim-0.2.0/src/usersim/engine/assets/general_educational/subjects → usersim-0.3.0/src/usersim/engine/probes/general_educational/assets/general_educational}/fr_FR/subjects.json +0 -0
  402. {usersim-0.2.0/src/usersim/engine/assets/general_educational/subjects → usersim-0.3.0/src/usersim/engine/probes/general_educational/assets/general_educational}/hi_Deva_IN/subjects.json +0 -0
  403. {usersim-0.2.0/src/usersim/engine/assets/general_educational/subjects → usersim-0.3.0/src/usersim/engine/probes/general_educational/assets/general_educational}/hi_Latn_IN/subjects.json +0 -0
  404. {usersim-0.2.0/src/usersim/engine/assets/general_educational/subjects → usersim-0.3.0/src/usersim/engine/probes/general_educational/assets/general_educational}/ja_JP/subjects.json +0 -0
  405. {usersim-0.2.0/src/usersim/engine/assets/general_educational/subjects → usersim-0.3.0/src/usersim/engine/probes/general_educational/assets/general_educational}/ko_KR/subjects.json +0 -0
  406. {usersim-0.2.0/src/usersim/engine/assets/general_educational/subjects → usersim-0.3.0/src/usersim/engine/probes/general_educational/assets/general_educational}/pt_BR/subjects.json +0 -0
  407. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/probes/general_open_ended/__init__.py +0 -0
  408. {usersim-0.2.0/src/usersim/engine/assets/general_open_ended/topics → usersim-0.3.0/src/usersim/engine/probes/general_open_ended/assets/general_open_ended}/de_DE/topics.json +0 -0
  409. {usersim-0.2.0/src/usersim/engine/assets/general_open_ended/topics → usersim-0.3.0/src/usersim/engine/probes/general_open_ended/assets/general_open_ended}/en_GB/topics.json +0 -0
  410. {usersim-0.2.0/src/usersim/engine/assets/general_open_ended/topics/base → usersim-0.3.0/src/usersim/engine/probes/general_open_ended/assets/general_open_ended/en_US}/topics.json +0 -0
  411. {usersim-0.2.0/src/usersim/engine/assets/general_open_ended/topics → usersim-0.3.0/src/usersim/engine/probes/general_open_ended/assets/general_open_ended}/fr_FR/topics.json +0 -0
  412. {usersim-0.2.0/src/usersim/engine/assets/general_open_ended/topics → usersim-0.3.0/src/usersim/engine/probes/general_open_ended/assets/general_open_ended}/hi_Deva_IN/topics.json +0 -0
  413. {usersim-0.2.0/src/usersim/engine/assets/general_open_ended/topics → usersim-0.3.0/src/usersim/engine/probes/general_open_ended/assets/general_open_ended}/hi_Latn_IN/topics.json +0 -0
  414. {usersim-0.2.0/src/usersim/engine/assets/general_open_ended/topics → usersim-0.3.0/src/usersim/engine/probes/general_open_ended/assets/general_open_ended}/ja_JP/topics.json +0 -0
  415. {usersim-0.2.0/src/usersim/engine/assets/general_open_ended/topics → usersim-0.3.0/src/usersim/engine/probes/general_open_ended/assets/general_open_ended}/ko_KR/topics.json +0 -0
  416. {usersim-0.2.0/src/usersim/engine/assets/general_open_ended/topics → usersim-0.3.0/src/usersim/engine/probes/general_open_ended/assets/general_open_ended}/pt_BR/topics.json +0 -0
  417. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/probes/identity_disclosure/__init__.py +0 -0
  418. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/identity_disclosure}/assets/identity_disclosure/spec.yaml +0 -0
  419. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/safety_agentic}/assets/safety_agentic/action_taxonomy.yaml +0 -0
  420. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/safety_agentic}/assets/safety_agentic/sample.yaml +0 -0
  421. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/probes/safety_agentic/prompts.py +0 -0
  422. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/safety_chat_pressure}/assets/safety_chat_pressure/sample.yaml +0 -0
  423. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/sov_ai_dynamic}/assets/sov_ai_dynamic/SCHEMA.md +0 -0
  424. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/sov_ai_dynamic}/assets/sov_ai_dynamic/de_DE/categories.yaml +0 -0
  425. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/sov_ai_dynamic}/assets/sov_ai_dynamic/en_GB/categories.yaml +0 -0
  426. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/sov_ai_dynamic}/assets/sov_ai_dynamic/en_IN/categories.yaml +0 -0
  427. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/sov_ai_dynamic}/assets/sov_ai_dynamic/en_SG/categories.yaml +0 -0
  428. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/sov_ai_dynamic}/assets/sov_ai_dynamic/en_US/categories.yaml +0 -0
  429. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/sov_ai_dynamic}/assets/sov_ai_dynamic/fr_FR/categories.yaml +0 -0
  430. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/sov_ai_dynamic}/assets/sov_ai_dynamic/hi_Deva_IN/categories.yaml +0 -0
  431. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/sov_ai_dynamic}/assets/sov_ai_dynamic/hi_Latn_IN/categories.yaml +0 -0
  432. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/sov_ai_dynamic}/assets/sov_ai_dynamic/ja_JP/categories.yaml +0 -0
  433. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/sov_ai_dynamic}/assets/sov_ai_dynamic/ko_KR/categories.yaml +0 -0
  434. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/sov_ai_dynamic}/assets/sov_ai_dynamic/pt_BR/categories.yaml +0 -0
  435. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/probes/sov_ai_dynamic/prompts.py +0 -0
  436. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/sov_ai_facts}/assets/sov_ai_facts/de_DE/sample.yaml +0 -0
  437. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/sov_ai_facts}/assets/sov_ai_facts/en_GB/sample.yaml +0 -0
  438. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/sov_ai_facts}/assets/sov_ai_facts/en_IN/sample.yaml +0 -0
  439. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/sov_ai_facts}/assets/sov_ai_facts/en_SG/sample.yaml +0 -0
  440. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/sov_ai_facts}/assets/sov_ai_facts/en_US/sample.yaml +0 -0
  441. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/sov_ai_facts}/assets/sov_ai_facts/fr_FR/sample.yaml +0 -0
  442. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/sov_ai_facts}/assets/sov_ai_facts/hi_Deva_IN/sample.yaml +0 -0
  443. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/sov_ai_facts}/assets/sov_ai_facts/hi_Latn_IN/sample.yaml +0 -0
  444. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/sov_ai_facts}/assets/sov_ai_facts/ja_JP/sample.yaml +0 -0
  445. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/sov_ai_facts}/assets/sov_ai_facts/pt_BR/sample.yaml +0 -0
  446. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/probes/sov_ai_facts/prompts.py +0 -0
  447. {usersim-0.2.0/src/usersim/engine → usersim-0.3.0/src/usersim/engine/probes/sov_ai_multilingual_parity}/assets/sov_ai_multilingual_parity/sample.yaml +0 -0
  448. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/probes/sov_ai_multilingual_parity/prompts.py +0 -0
  449. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/probes/tool_calling/__init__.py +0 -0
  450. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/engine/probes/tool_calling/verifiers.py +0 -0
  451. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/py.typed +0 -0
  452. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/reporting/__init__.py +0 -0
  453. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/reporting/_reasoning.py +0 -0
  454. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/reporting/comparison.py +0 -0
  455. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/reporting/comparison_dashboard.py +0 -0
  456. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/reporting/dashboard.py +0 -0
  457. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/reporting/diagnostics.py +0 -0
  458. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/reporting/eval_manifest.py +0 -0
  459. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/reporting/identity.py +0 -0
  460. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/reporting/resource.py +0 -0
  461. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/reporting/runs.py +0 -0
  462. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/reporting/sim_health.py +0 -0
  463. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/selection/__init__.py +0 -0
  464. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/selection/engine.py +0 -0
  465. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/selection/io.py +0 -0
  466. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/selection/profiles.py +0 -0
  467. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/taxonomy/__init__.py +0 -0
  468. {usersim-0.2.0 → usersim-0.3.0}/src/usersim/taxonomy/eval_cell.py +0 -0
  469. {usersim-0.2.0 → usersim-0.3.0}/src/usersim.egg-info/dependency_links.txt +0 -0
  470. {usersim-0.2.0 → usersim-0.3.0}/src/usersim.egg-info/entry_points.txt +0 -0
  471. {usersim-0.2.0 → usersim-0.3.0}/src/usersim.egg-info/requires.txt +0 -0
  472. {usersim-0.2.0 → usersim-0.3.0}/src/usersim.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: usersim
3
- Version: 0.2.0
3
+ Version: 0.3.0
4
4
  Summary: Improve models and agents with population-grounded simulated users, even before production traffic exists.
5
5
  License-Expression: Apache-2.0
6
6
  Project-URL: Homepage, https://github.com/NVIDIA-NeMo/UserSim
@@ -50,7 +50,7 @@ Dynamic: license-file
50
50
  > trajectories: evaluation signal, failure analysis, and curated training data,
51
51
  > before you have production traffic to learn from.
52
52
 
53
- **14 probes · 11 shipped locales across 9 countries (+ 22 preview India-language variants) · 8M+ census-grounded personas · 3,407 tools across 143 toolsets for agentic runs · 12 evaluator scorers · 4,000+ tests · offline `usersim smoke` in seconds**
53
+ **14 probes · 11 shipped locales across 9 countries (+ 22 preview India-language variants) · 8M+ census-grounded personas · 3,406 tools across 143 toolsets for agentic runs · 12 evaluator scorers · 4,000+ tests · offline `usersim smoke` in seconds**
54
54
 
55
55
  <img src="https://raw.githubusercontent.com/NVIDIA-NeMo/UserSim/main/docs/images/hero.jpg" width="800" alt="NeMo User Sim: Population-Grounded User Simulation. Simulated users in the USA, Brazil, France, India and Japan, each speaking their own language under a different probe, on a world map beside headline counts for people represented, languages, locales and probes.">
56
56
 
@@ -116,8 +116,8 @@ walks through each layer and where it extends.
116
116
  grounded in census distributions.
117
117
  - **Sovereign-AI builders** with no user base yet. You get an in-language
118
118
  evaluation surface from day one, drawn from your country's actual census
119
- distribution: USA, Japan, India, Singapore, Brazil, France and Korea ship
120
- today.
119
+ distribution: USA, UK, Germany, France, Brazil, India, Singapore, Japan and
120
+ Korea ship today.
121
121
  - **Agent builders** putting a tool-using system under multi-turn load. Probes
122
122
  execute tools against a mock environment that holds state across turns, so a
123
123
  run surfaces scope creep, unauthorized calls, prompt-injection susceptibility
@@ -175,11 +175,11 @@ in the NeMo Gym repository.
175
175
  <img src="https://raw.githubusercontent.com/NVIDIA-NeMo/UserSim/main/docs/images/getting_started.jpg" width="800" alt="From install to capability report in five commands: pip install usersim, download personas with data-designer, then usersim simulate, eval and report. Optional steps fix the panel, replay stored rows or select training data, with a locale picker and the probe groups below.">
176
176
 
177
177
  Python 3.10+, in a virtual environment. Python 3.10 is supported through the
178
- 0.2 releases.
178
+ 0.3 releases.
179
179
 
180
180
  ```bash
181
181
  python -m venv .venv && source .venv/bin/activate
182
- pip install "usersim>=0.2.0" # in a uv project: uv add "usersim>=0.2.0"
182
+ pip install "usersim>=0.3.0" # in a uv project: uv add "usersim>=0.3.0"
183
183
 
184
184
  # Verify the install offline: no LLM calls, no network, CI-ready.
185
185
  usersim smoke
@@ -232,9 +232,9 @@ These steps make live model calls, using the keys and personas above.
232
232
  usersim simulate --locale en_US --num-rows 30 --out output/trajectories
233
233
 
234
234
  # 2. Score the assistant under test: the evaluator model's judgments, plus
235
- # the scorers that match the default probe mix.
235
+ # each probe's own scorers and the three that apply to every probe.
236
236
  usersim eval --trajectories output/trajectories --out output/evaluations \
237
- --scorers tool_use,language_compliance,response_shape,refusal_basics
237
+ --scorers auto
238
238
 
239
239
  # 3. Render the capability dashboard.
240
240
  usersim report --trajectories output/trajectories \
@@ -252,9 +252,13 @@ usersim simulate --locale ja_JP --num-rows 30 \
252
252
  --out output/trajectories
253
253
  ```
254
254
 
255
- Score a run with the scorers for its probes. For this one, step 2 takes
256
- `--scorers sov_ai_facts,sov_ai_dynamic,sov_ai_multilingual_parity,language_compliance`;
257
- [`docs/outputs.md`](https://github.com/NVIDIA-NeMo/UserSim/blob/main/docs/outputs.md) lists every scorer.
255
+ With `--scorers auto`, step 2 scores this run with the three `sov_ai` scorers
256
+ as well; [`docs/outputs.md`](https://github.com/NVIDIA-NeMo/UserSim/blob/main/docs/outputs.md)
257
+ lists every scorer. A probe that takes settings gets them with
258
+ `--probe-option LABEL.SETTING=VALUE`, such as
259
+ `--probe-option financial_services.tier_mix=0.3`;
260
+ [`docs/probes.md`](https://github.com/NVIDIA-NeMo/UserSim/blob/main/docs/probes.md#a-probes-settings)
261
+ lists each probe's settings.
258
262
 
259
263
  ### Curate training data
260
264
 
@@ -334,6 +338,8 @@ full plan and exits before the first network call.
334
338
 
335
339
  **Extending it**
336
340
 
341
+ - [`docs/extensions.md`](https://github.com/NVIDIA-NeMo/UserSim/blob/main/docs/extensions.md): a probe and a scorer in a package of your own, installed next to `usersim`
342
+ - [`docs/extension_api.md`](https://github.com/NVIDIA-NeMo/UserSim/blob/main/docs/extension_api.md): every name an extension imports from `usersim`
337
343
  - [`docs/engine/AUTHORING_A_PROBE.md`](https://github.com/NVIDIA-NeMo/UserSim/blob/main/docs/engine/AUTHORING_A_PROBE.md): end-to-end tutorial for a new probe
338
344
  - [`docs/engine/README.md`](https://github.com/NVIDIA-NeMo/UserSim/blob/main/docs/engine/README.md): the substrate's full API surface
339
345
  - [`templates/probe/`](https://github.com/NVIDIA-NeMo/UserSim/tree/main/templates/probe/): copy-and-edit starters, one per probe shape
@@ -10,7 +10,7 @@
10
10
  > trajectories: evaluation signal, failure analysis, and curated training data,
11
11
  > before you have production traffic to learn from.
12
12
 
13
- **14 probes · 11 shipped locales across 9 countries (+ 22 preview India-language variants) · 8M+ census-grounded personas · 3,407 tools across 143 toolsets for agentic runs · 12 evaluator scorers · 4,000+ tests · offline `usersim smoke` in seconds**
13
+ **14 probes · 11 shipped locales across 9 countries (+ 22 preview India-language variants) · 8M+ census-grounded personas · 3,406 tools across 143 toolsets for agentic runs · 12 evaluator scorers · 4,000+ tests · offline `usersim smoke` in seconds**
14
14
 
15
15
  <img src="https://raw.githubusercontent.com/NVIDIA-NeMo/UserSim/main/docs/images/hero.jpg" width="800" alt="NeMo User Sim: Population-Grounded User Simulation. Simulated users in the USA, Brazil, France, India and Japan, each speaking their own language under a different probe, on a world map beside headline counts for people represented, languages, locales and probes.">
16
16
 
@@ -76,8 +76,8 @@ walks through each layer and where it extends.
76
76
  grounded in census distributions.
77
77
  - **Sovereign-AI builders** with no user base yet. You get an in-language
78
78
  evaluation surface from day one, drawn from your country's actual census
79
- distribution: USA, Japan, India, Singapore, Brazil, France and Korea ship
80
- today.
79
+ distribution: USA, UK, Germany, France, Brazil, India, Singapore, Japan and
80
+ Korea ship today.
81
81
  - **Agent builders** putting a tool-using system under multi-turn load. Probes
82
82
  execute tools against a mock environment that holds state across turns, so a
83
83
  run surfaces scope creep, unauthorized calls, prompt-injection susceptibility
@@ -135,11 +135,11 @@ in the NeMo Gym repository.
135
135
  <img src="https://raw.githubusercontent.com/NVIDIA-NeMo/UserSim/main/docs/images/getting_started.jpg" width="800" alt="From install to capability report in five commands: pip install usersim, download personas with data-designer, then usersim simulate, eval and report. Optional steps fix the panel, replay stored rows or select training data, with a locale picker and the probe groups below.">
136
136
 
137
137
  Python 3.10+, in a virtual environment. Python 3.10 is supported through the
138
- 0.2 releases.
138
+ 0.3 releases.
139
139
 
140
140
  ```bash
141
141
  python -m venv .venv && source .venv/bin/activate
142
- pip install "usersim>=0.2.0" # in a uv project: uv add "usersim>=0.2.0"
142
+ pip install "usersim>=0.3.0" # in a uv project: uv add "usersim>=0.3.0"
143
143
 
144
144
  # Verify the install offline: no LLM calls, no network, CI-ready.
145
145
  usersim smoke
@@ -192,9 +192,9 @@ These steps make live model calls, using the keys and personas above.
192
192
  usersim simulate --locale en_US --num-rows 30 --out output/trajectories
193
193
 
194
194
  # 2. Score the assistant under test: the evaluator model's judgments, plus
195
- # the scorers that match the default probe mix.
195
+ # each probe's own scorers and the three that apply to every probe.
196
196
  usersim eval --trajectories output/trajectories --out output/evaluations \
197
- --scorers tool_use,language_compliance,response_shape,refusal_basics
197
+ --scorers auto
198
198
 
199
199
  # 3. Render the capability dashboard.
200
200
  usersim report --trajectories output/trajectories \
@@ -212,9 +212,13 @@ usersim simulate --locale ja_JP --num-rows 30 \
212
212
  --out output/trajectories
213
213
  ```
214
214
 
215
- Score a run with the scorers for its probes. For this one, step 2 takes
216
- `--scorers sov_ai_facts,sov_ai_dynamic,sov_ai_multilingual_parity,language_compliance`;
217
- [`docs/outputs.md`](https://github.com/NVIDIA-NeMo/UserSim/blob/main/docs/outputs.md) lists every scorer.
215
+ With `--scorers auto`, step 2 scores this run with the three `sov_ai` scorers
216
+ as well; [`docs/outputs.md`](https://github.com/NVIDIA-NeMo/UserSim/blob/main/docs/outputs.md)
217
+ lists every scorer. A probe that takes settings gets them with
218
+ `--probe-option LABEL.SETTING=VALUE`, such as
219
+ `--probe-option financial_services.tier_mix=0.3`;
220
+ [`docs/probes.md`](https://github.com/NVIDIA-NeMo/UserSim/blob/main/docs/probes.md#a-probes-settings)
221
+ lists each probe's settings.
218
222
 
219
223
  ### Curate training data
220
224
 
@@ -294,6 +298,8 @@ full plan and exits before the first network call.
294
298
 
295
299
  **Extending it**
296
300
 
301
+ - [`docs/extensions.md`](https://github.com/NVIDIA-NeMo/UserSim/blob/main/docs/extensions.md): a probe and a scorer in a package of your own, installed next to `usersim`
302
+ - [`docs/extension_api.md`](https://github.com/NVIDIA-NeMo/UserSim/blob/main/docs/extension_api.md): every name an extension imports from `usersim`
297
303
  - [`docs/engine/AUTHORING_A_PROBE.md`](https://github.com/NVIDIA-NeMo/UserSim/blob/main/docs/engine/AUTHORING_A_PROBE.md): end-to-end tutorial for a new probe
298
304
  - [`docs/engine/README.md`](https://github.com/NVIDIA-NeMo/UserSim/blob/main/docs/engine/README.md): the substrate's full API surface
299
305
  - [`templates/probe/`](https://github.com/NVIDIA-NeMo/UserSim/tree/main/templates/probe/): copy-and-edit starters, one per probe shape
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "usersim"
3
- version = "0.2.0"
3
+ version = "0.3.0"
4
4
  description = "Improve models and agents with population-grounded simulated users, even before production traffic exists."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.10"
@@ -87,7 +87,8 @@ Issues = "https://github.com/NVIDIA-NeMo/UserSim/issues"
87
87
  # A dependency group rather than an optional-dependency extra, so `uv sync`
88
88
  # installs it by default and `pip install usersim[dev]` cannot pull test
89
89
  # and lint tooling into a user's environment. `make test` and the hermeticity
90
- # guard in conftest.py both depend on this group being present.
90
+ # checks in usersim.testing.pytest_plugin both depend on this group being
91
+ # present.
91
92
  dev = [
92
93
  "jupyter",
93
94
  "pytest>=8.0",
@@ -101,18 +102,22 @@ dev = [
101
102
  # without this.
102
103
  "pytest-xdist>=3.6,<4",
103
104
  # Applies the [tool.pytest.ini_options] env block below, which sets
104
- # USERSIM_DISABLE_EXTENSIONS before any conftest loads. A root conftest.py
105
- # would run after one that imports a registry, which is too late to keep
106
- # discovery out of the suite. conftest.py fails the run if this is absent.
105
+ # USERSIM_DISABLE_EXTENSIONS before any conftest loads. Setting it from the
106
+ # root conftest.py, or the plugin it loads, would come after any conftest
107
+ # that imports a registry, which is too late to keep discovery out of the
108
+ # suite. usersim.testing.pytest_plugin fails the run if this is absent.
107
109
  "pytest-env>=1.1,<2",
108
110
  # Collects `async def` tests. `asyncio_mode = "auto"` below means they need
109
111
  # no decorator, so a contributor writing one does not have to know this is
110
- # here. conftest.py fails the run if it is absent, because without it every
111
- # async test is skipped with a warning rather than failing.
112
+ # here. usersim.testing.pytest_plugin fails the run if it is absent,
113
+ # because without it no async test runs.
112
114
  "pytest-asyncio>=1.0,<2",
113
115
  # tests/test_network_guard.py unwraps exception groups, which Python 3.10
114
116
  # has only through this backport.
115
117
  "exceptiongroup>=1.0; python_version < '3.11'",
118
+ # Validates each tool spec in the tool_calling catalog against the JSON
119
+ # Schema 2020-12 meta-schema, in tests/probes/tool_calling/test_catalog.py.
120
+ "jsonschema>=4.0,<5",
116
121
  ]
117
122
  # Empty on purpose: the gate runs a pinned pip-licenses through `uv tool run`,
118
123
  # so this group exists only to scope an isolated environment holding the
@@ -163,14 +168,16 @@ include = ["usersim*"]
163
168
  "models_*.toml",
164
169
  ]
165
170
  "usersim.engine" = [
166
- # The asset banks. setuptools ships package data only when it is named,
167
- # and a wheel without the banks fails every probe at asset resolution.
168
- # `make check-dist` fails if the wheel has none.
169
- "assets/**/*.yaml",
170
- "assets/**/*.yml",
171
- "assets/**/*.json",
172
- "assets/**/*.parquet",
173
- "assets/**/*.md",
171
+ # The asset banks, each in its probe's own folder, under probes/<folder>/assets/.
172
+ # setuptools ships package data only when it is named, and a wheel without the
173
+ # banks fails every probe at asset resolution. `make check-dist` fails if the
174
+ # wheel misses any bank file.
175
+ "probes/*/assets/**/*.yml",
176
+ "probes/*/assets/**/*.json",
177
+ "probes/*/assets/**/*.parquet",
178
+ "probes/*/assets/**/*.md",
179
+ # Every other YAML, the region specs an asset domain beside its probe reads
180
+ # among them: without those an installed package reports no locales to generate.
174
181
  "**/*.yaml",
175
182
  ]
176
183
 
@@ -180,9 +187,9 @@ include = ["usersim*"]
180
187
  # vectors `gen-assets` writes beside a bank stay local, as do the judge
181
188
  # scorecards `evaluate-assets` writes there.
182
189
  "usersim.engine" = [
183
- "assets/financial_services/**/embeddings.parquet",
184
- "assets/financial_services/**/_eval_scorecard.parquet",
185
- "assets/financial_services/**/_scorecards/*",
190
+ "probes/financial_services/assets/financial_services/**/embeddings.parquet",
191
+ "probes/financial_services/assets/financial_services/**/_eval_scorecard.parquet",
192
+ "probes/financial_services/assets/financial_services/**/_scorecards/*",
186
193
  ]
187
194
 
188
195
  [tool.pytest.ini_options]
@@ -0,0 +1,11 @@
1
+ # SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2
+ # SPDX-License-Identifier: Apache-2.0
3
+
4
+ """asset_gen: the generic dispatch for building asset banks offline.
5
+
6
+ ``registry.py`` holds :class:`AssetDomain` and the built-in domains, and
7
+ ``usersim gen-assets``, ``validate-assets`` and ``evaluate-assets`` dispatch
8
+ through it. A domain's generator lives beside the probe whose banks it builds:
9
+ ``usersim.engine.probes.financial_services.asset_gen`` authors the committed
10
+ ``assets/financial_services/<locale>/`` banks the probe and its scorer read.
11
+ """
@@ -0,0 +1,101 @@
1
+ # SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2
+ # SPDX-License-Identifier: Apache-2.0
3
+
4
+ """Asset-domain registry: the one generic layer over per-domain asset generation.
5
+
6
+ The `usersim gen-assets / validate-assets / evaluate-assets --domain <d>` CLIs
7
+ dispatch through here. Each domain registers an :class:`AssetDomain` carrying its
8
+ entry functions (load_spec / describe_plan / generate / validate / evaluate) + its
9
+ region_spec directory + an ``add_gen_args`` hook that injects domain-specific CLI
10
+ flags. The heavy domain modules are imported lazily inside the callables so
11
+ ``usersim --help`` stays fast; ``add_gen_args`` is pure argparse (no import).
12
+
13
+ A built-in domain lives beside the probe whose banks it builds, in its package's
14
+ ``asset_domain.py``; an extension's domain registers under ``usersim.asset_domains``.
15
+ Neither adds a CLI subcommand. There is deliberately NO generic
16
+ ``asset_gen/core/`` engine -- generation internals are domain-specific; only this
17
+ thin dispatch is shared.
18
+ """
19
+
20
+ from __future__ import annotations
21
+
22
+ import argparse
23
+ import importlib
24
+ from dataclasses import dataclass
25
+ from pathlib import Path
26
+ from typing import Any, Callable
27
+
28
+ from usersim.engine.core.builtin_packages import builtin_modules
29
+
30
+
31
+ @dataclass(frozen=True)
32
+ class AssetDomain:
33
+ name: str
34
+ #: directory holding ``<locale>.yaml`` region specs for this domain.
35
+ region_spec_dir: Path
36
+ #: add domain-specific generation flags to a ``gen-assets`` parser (argparse only).
37
+ add_gen_args: Callable[[argparse.ArgumentParser], None]
38
+ #: load + validate a region spec from a path -> a domain spec object.
39
+ load_spec: Callable[[Any], Any]
40
+ #: print an offline plan summary for ``gen-assets`` (also used by --dry-run).
41
+ describe_plan: Callable[[Any, argparse.Namespace], None]
42
+ #: run live generation: ``(spec, models, out_dir, args) -> out_dir``.
43
+ generate: Callable[[Any, Any, Any, argparse.Namespace], Any]
44
+ #: run the offline validation gate: ``(bank_dir, spec | None) -> ValidationReport``.
45
+ validate: Callable[[Any, Any | None], Any]
46
+ #: run the DD-judge evaluation scorecard (network-gated); set in the asset_eval bucket.
47
+ evaluate: Callable[..., Any] | None = None
48
+
49
+
50
+ # ── built-in domains ─────────────────────────────────────────────────────
51
+
52
+
53
+ def _builtin_domains() -> dict[str, AssetDomain]:
54
+ """The domain each built-in package's ``asset_domain.py`` returns from its ``asset_domain()`` factory.
55
+
56
+ The module lives beside the probe whose banks it builds and imports none of its generator.
57
+ """
58
+ domains = {}
59
+ for module in builtin_modules("asset_domain"):
60
+ domain = importlib.import_module(module).asset_domain()
61
+ domains[domain.name] = domain
62
+ return domains
63
+
64
+
65
+ # ── registry access ──────────────────────────────────────────────────────
66
+
67
+ _DOMAINS: dict[str, AssetDomain] | None = None
68
+
69
+
70
+ def _domains() -> dict[str, AssetDomain]:
71
+ """Built-in domains merged with any advertised under ``usersim.asset_domains``.
72
+
73
+ An entry point may resolve to an ``AssetDomain`` or to a zero-argument
74
+ factory returning one, as each built-in is a factory. A domain imports its
75
+ pipeline inside its callables; building one eagerly at import time would drag
76
+ those dependencies into every ``--help``.
77
+ """
78
+ global _DOMAINS
79
+ if _DOMAINS is None:
80
+ from usersim.engine.core._extensions import ASSET_DOMAINS, merge_extensions
81
+
82
+ merged = merge_extensions(ASSET_DOMAINS, _builtin_domains(), what="asset domain")
83
+ _DOMAINS = {name: obj if isinstance(obj, AssetDomain) else obj() for name, obj in merged.items()}
84
+ return _DOMAINS
85
+
86
+
87
+ def clear_domain_cache() -> None:
88
+ """Drop the memoized registry — for tests that toggle extension discovery."""
89
+ global _DOMAINS
90
+ _DOMAINS = None
91
+
92
+
93
+ def domain_names() -> tuple[str, ...]:
94
+ return tuple(sorted(_domains()))
95
+
96
+
97
+ def get_domain(name: str) -> AssetDomain:
98
+ domains = _domains()
99
+ if name not in domains:
100
+ raise KeyError(f"unknown asset domain {name!r}; known: {sorted(domains)}")
101
+ return domains[name]
@@ -15,7 +15,7 @@ run from a script or CI without opening Jupyter:
15
15
  Each subcommand is implemented in its own module under :mod:`cli`.
16
16
  The shared pipeline-construction helpers live in :mod:`cli._pipeline`
17
17
  (used by both the CLI and the notebooks under ``notebooks/``). Model
18
- configuration is loaded from a TOML file via :mod:`cli._models`; a
18
+ configuration is loaded from a TOML file via :mod:`usersim.engine.models_file`; a
19
19
  sensible default ships at ``cli/models_default.toml``.
20
20
 
21
21
  Identity: ``persona_uuid`` is a content hash of the persona, and
@@ -34,7 +34,7 @@ import logging
34
34
  import sys
35
35
 
36
36
  from usersim import __version__
37
- from usersim.cli._errors import ConfigError
37
+ from usersim.engine.errors import ConfigError
38
38
 
39
39
 
40
40
  def _register_extension_commands(subparsers: argparse._SubParsersAction) -> None:
@@ -50,23 +50,32 @@ def _register_extension_commands(subparsers: argparse._SubParsersAction) -> None
50
50
  """
51
51
  import logging
52
52
 
53
- from usersim.engine.core._extensions import COMMANDS, load_extensions
53
+ from usersim.engine.core._extensions import (
54
+ COMMANDS,
55
+ extension_source,
56
+ load_extensions,
57
+ note_extension_problem,
58
+ )
54
59
 
55
60
  for name, register in load_extensions(COMMANDS):
56
61
  if name in subparsers.choices:
57
62
  logging.getLogger("usersim.engine").warning(
58
- " |-- extensions: command %r is already provided by this package; ignoring the contributed one.",
63
+ " |-- extensions: command %r from %s is already built in; ignoring it.",
59
64
  name,
65
+ extension_source(COMMANDS, name),
60
66
  )
67
+ note_extension_problem(COMMANDS, name, f"command {name!r} is already built in")
61
68
  continue
62
69
  try:
63
70
  register(subparsers)
64
71
  except Exception as exc:
65
72
  logging.getLogger("usersim.engine").warning(
66
- " |-- extensions: command %r failed to register and was skipped: %s",
73
+ " |-- extensions: command %r from %s failed to register and was skipped: %s",
67
74
  name,
75
+ extension_source(COMMANDS, name),
68
76
  exc,
69
77
  )
78
+ note_extension_problem(COMMANDS, name, f"failed to register: {exc}")
70
79
 
71
80
 
72
81
  def _build_parser() -> argparse.ArgumentParser:
@@ -0,0 +1,27 @@
1
+ # SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2
+ # SPDX-License-Identifier: Apache-2.0
3
+
4
+ """The folder an asset command reads or writes when it is given none."""
5
+
6
+ from __future__ import annotations
7
+
8
+ from pathlib import Path
9
+
10
+ from usersim.engine.core._assets import shipped_assets_dir
11
+ from usersim.engine.errors import ConfigError
12
+
13
+
14
+ def default_bank_dir(domain: str, locale: str, *, flag: str) -> Path:
15
+ """The ``locale`` bank in the asset folder of the probe that shares ``domain``'s name.
16
+
17
+ An asset domain builds the bank of the probe with its name, so that probe's
18
+ own asset folder is where the bank lives. A domain with no such probe has
19
+ no default folder: ``ConfigError`` asks for one with ``flag``.
20
+ """
21
+ try:
22
+ return shipped_assets_dir(domain) / locale
23
+ except LookupError:
24
+ raise ConfigError(
25
+ f"asset domain {domain!r} has no probe of that name whose asset folder could hold its bank; "
26
+ f"pass {flag} to name the folder"
27
+ ) from None