whileai 0.61__tar.gz → 0.62__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 (93) hide show
  1. {whileai-0.61/whileai.egg-info → whileai-0.62}/PKG-INFO +1 -1
  2. {whileai-0.61 → whileai-0.62}/pyproject.toml +1 -1
  3. {whileai-0.61 → whileai-0.62}/whileai/init_evals.py +31 -4
  4. {whileai-0.61 → whileai-0.62/whileai.egg-info}/PKG-INFO +1 -1
  5. {whileai-0.61 → whileai-0.62}/LICENSE +0 -0
  6. {whileai-0.61 → whileai-0.62}/MANIFEST.in +0 -0
  7. {whileai-0.61 → whileai-0.62}/README.md +0 -0
  8. {whileai-0.61 → whileai-0.62}/setup.cfg +0 -0
  9. {whileai-0.61 → whileai-0.62}/whileai/__init__.py +0 -0
  10. {whileai-0.61 → whileai-0.62}/whileai/_env.py +0 -0
  11. {whileai-0.61 → whileai-0.62}/whileai/auth.py +0 -0
  12. {whileai-0.61 → whileai-0.62}/whileai/cli.py +0 -0
  13. {whileai-0.61 → whileai-0.62}/whileai/ingest.py +0 -0
  14. {whileai-0.61 → whileai-0.62}/whileai/py.typed +0 -0
  15. {whileai-0.61 → whileai-0.62}/whileai/simulations/__init__.py +0 -0
  16. {whileai-0.61 → whileai-0.62}/whileai/simulations/__main__.py +0 -0
  17. {whileai-0.61 → whileai-0.62}/whileai/simulations/data.py +0 -0
  18. {whileai-0.61 → whileai-0.62}/whileai/simulations/environment.py +0 -0
  19. {whileai-0.61 → whileai-0.62}/whileai/simulations/export.py +0 -0
  20. {whileai-0.61 → whileai-0.62}/whileai/simulations/generate/__init__.py +0 -0
  21. {whileai-0.61 → whileai-0.62}/whileai/simulations/generate/actionspace.py +0 -0
  22. {whileai-0.61 → whileai-0.62}/whileai/simulations/generate/adapters.py +0 -0
  23. {whileai-0.61 → whileai-0.62}/whileai/simulations/generate/agents.py +0 -0
  24. {whileai-0.61 → whileai-0.62}/whileai/simulations/generate/anthropic_backend.py +0 -0
  25. {whileai-0.61 → whileai-0.62}/whileai/simulations/generate/coverage.py +0 -0
  26. {whileai-0.61 → whileai-0.62}/whileai/simulations/generate/diversity.py +0 -0
  27. {whileai-0.61 → whileai-0.62}/whileai/simulations/generate/embeddings.py +0 -0
  28. {whileai-0.61 → whileai-0.62}/whileai/simulations/generate/explore.py +0 -0
  29. {whileai-0.61 → whileai-0.62}/whileai/simulations/generate/generator.py +0 -0
  30. {whileai-0.61 → whileai-0.62}/whileai/simulations/generate/offline_agent.py +0 -0
  31. {whileai-0.61 → whileai-0.62}/whileai/simulations/generate/scenarios.py +0 -0
  32. {whileai-0.61 → whileai-0.62}/whileai/simulations/generate/usage_meter.py +0 -0
  33. {whileai-0.61 → whileai-0.62}/whileai/simulations/ingest/__init__.py +0 -0
  34. {whileai-0.61 → whileai-0.62}/whileai/simulations/ingest/otel.py +0 -0
  35. {whileai-0.61 → whileai-0.62}/whileai/simulations/ingest/platform.py +0 -0
  36. {whileai-0.61 → whileai-0.62}/whileai/simulations/ingest/traces.py +0 -0
  37. {whileai-0.61 → whileai-0.62}/whileai/simulations/monitor.py +0 -0
  38. {whileai-0.61 → whileai-0.62}/whileai/simulations/py.typed +0 -0
  39. {whileai-0.61 → whileai-0.62}/whileai/simulations/run/__init__.py +0 -0
  40. {whileai-0.61 → whileai-0.62}/whileai/simulations/run/config.py +0 -0
  41. {whileai-0.61 → whileai-0.62}/whileai/simulations/run/engine.py +0 -0
  42. {whileai-0.61 → whileai-0.62}/whileai/simulations/run/rows.py +0 -0
  43. {whileai-0.61 → whileai-0.62}/whileai/simulations/run/spec.py +0 -0
  44. {whileai-0.61 → whileai-0.62}/whileai/simulations/schema.py +0 -0
  45. {whileai-0.61 → whileai-0.62}/whileai/simulations/schemas/row-v1.json +0 -0
  46. {whileai-0.61 → whileai-0.62}/whileai/simulations/score/__init__.py +0 -0
  47. {whileai-0.61 → whileai-0.62}/whileai/simulations/score/agreement.py +0 -0
  48. {whileai-0.61 → whileai-0.62}/whileai/simulations/score/audit.py +0 -0
  49. {whileai-0.61 → whileai-0.62}/whileai/simulations/score/checklist.py +0 -0
  50. {whileai-0.61 → whileai-0.62}/whileai/simulations/score/curriculum.py +0 -0
  51. {whileai-0.61 → whileai-0.62}/whileai/simulations/score/delta.py +0 -0
  52. {whileai-0.61 → whileai-0.62}/whileai/simulations/score/grade_llm.py +0 -0
  53. {whileai-0.61 → whileai-0.62}/whileai/simulations/score/grading.py +0 -0
  54. {whileai-0.61 → whileai-0.62}/whileai/simulations/score/grounding.py +0 -0
  55. {whileai-0.61 → whileai-0.62}/whileai/simulations/score/hack_scan.py +0 -0
  56. {whileai-0.61 → whileai-0.62}/whileai/simulations/score/hygiene.py +0 -0
  57. {whileai-0.61 → whileai-0.62}/whileai/simulations/score/judge_trust.py +0 -0
  58. {whileai-0.61 → whileai-0.62}/whileai/simulations/score/judging.py +0 -0
  59. {whileai-0.61 → whileai-0.62}/whileai/simulations/score/labels.py +0 -0
  60. {whileai-0.61 → whileai-0.62}/whileai/simulations/score/llm_judge.py +0 -0
  61. {whileai-0.61 → whileai-0.62}/whileai/simulations/score/logprobs.py +0 -0
  62. {whileai-0.61 → whileai-0.62}/whileai/simulations/score/markers.py +0 -0
  63. {whileai-0.61 → whileai-0.62}/whileai/simulations/score/optimize.py +0 -0
  64. {whileai-0.61 → whileai-0.62}/whileai/simulations/score/pairwise.py +0 -0
  65. {whileai-0.61 → whileai-0.62}/whileai/simulations/score/passat.py +0 -0
  66. {whileai-0.61 → whileai-0.62}/whileai/simulations/score/preflight.py +0 -0
  67. {whileai-0.61 → whileai-0.62}/whileai/simulations/score/privileged.py +0 -0
  68. {whileai-0.61 → whileai-0.62}/whileai/simulations/score/publish_gate.py +0 -0
  69. {whileai-0.61 → whileai-0.62}/whileai/simulations/score/quality.py +0 -0
  70. {whileai-0.61 → whileai-0.62}/whileai/simulations/score/reference.py +0 -0
  71. {whileai-0.61 → whileai-0.62}/whileai/simulations/score/rubric.py +0 -0
  72. {whileai-0.61 → whileai-0.62}/whileai/simulations/score/spec.py +0 -0
  73. {whileai-0.61 → whileai-0.62}/whileai/simulations/score/stage.py +0 -0
  74. {whileai-0.61 → whileai-0.62}/whileai/simulations/score/stats.py +0 -0
  75. {whileai-0.61 → whileai-0.62}/whileai/simulations/score/style.py +0 -0
  76. {whileai-0.61 → whileai-0.62}/whileai/simulations/score/trace.py +0 -0
  77. {whileai-0.61 → whileai-0.62}/whileai/simulations/simulation.py +0 -0
  78. {whileai-0.61 → whileai-0.62}/whileai/simulations/training.py +0 -0
  79. {whileai-0.61 → whileai-0.62}/whileai/simulations/verify/__init__.py +0 -0
  80. {whileai-0.61 → whileai-0.62}/whileai/simulations/verify/base.py +0 -0
  81. {whileai-0.61 → whileai-0.62}/whileai/simulations/verify/code.py +0 -0
  82. {whileai-0.61 → whileai-0.62}/whileai/simulations/verify/math.py +0 -0
  83. {whileai-0.61 → whileai-0.62}/whileai/simulations/verify/structured.py +0 -0
  84. {whileai-0.61 → whileai-0.62}/whileai/simulations/verify/text.py +0 -0
  85. {whileai-0.61 → whileai-0.62}/whileai/simulations/world/__init__.py +0 -0
  86. {whileai-0.61 → whileai-0.62}/whileai/simulations/world/sandbox.py +0 -0
  87. {whileai-0.61 → whileai-0.62}/whileai/templates/__init__.py +0 -0
  88. {whileai-0.61 → whileai-0.62}/whileai/templates/evals.py +0 -0
  89. {whileai-0.61 → whileai-0.62}/whileai.egg-info/SOURCES.txt +0 -0
  90. {whileai-0.61 → whileai-0.62}/whileai.egg-info/dependency_links.txt +0 -0
  91. {whileai-0.61 → whileai-0.62}/whileai.egg-info/entry_points.txt +0 -0
  92. {whileai-0.61 → whileai-0.62}/whileai.egg-info/requires.txt +0 -0
  93. {whileai-0.61 → whileai-0.62}/whileai.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: whileai
3
- Version: 0.61
3
+ Version: 0.62
4
4
  Summary: While Python SDK: trace ingestion and verification client, plus agent simulations grounded in your tools and system prompt.
5
5
  Author: While
6
6
  License: Apache-2.0
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "whileai"
7
- version = "0.61"
7
+ version = "0.62"
8
8
  description = "While Python SDK: trace ingestion and verification client, plus agent simulations grounded in your tools and system prompt."
9
9
  readme = "README.md"
10
10
  license = {text = "Apache-2.0"}
@@ -174,13 +174,30 @@ def _returns_str(node: ast.FunctionDef | ast.AsyncFunctionDef) -> bool | None:
174
174
 
175
175
 
176
176
  def _takes_one_string(node: ast.FunctionDef | ast.AsyncFunctionDef) -> bool:
177
+ """One required positional (the message), anything after it defaulted.
178
+
179
+ ``answer(message)``, ``answer(user_message: str, history=None)`` and
180
+ ``chat(text, *, session=None)`` all qualify: the wrapper calls the
181
+ function with one positional argument and lets the defaults stand.
182
+ """
177
183
  args = node.args
178
- if args.vararg or args.kwonlyargs or len(args.posonlyargs) + len(args.args) != 1:
184
+ positional = args.posonlyargs + args.args
185
+ if args.vararg or not positional:
186
+ return False
187
+ required = len(positional) - len(args.defaults)
188
+ if required != 1:
189
+ return False
190
+ if any(d is None for d in args.kw_defaults):
179
191
  return False
180
- only = (args.posonlyargs + args.args)[0]
181
- if only.annotation is None:
192
+ first = positional[0]
193
+ if first.annotation is None:
182
194
  return True
183
- return isinstance(only.annotation, ast.Name) and only.annotation.id == "str"
195
+ ann = first.annotation
196
+ if isinstance(ann, ast.Name):
197
+ return ann.id == "str"
198
+ if isinstance(ann, ast.Constant):
199
+ return ann.value == "str"
200
+ return True
184
201
 
185
202
 
186
203
  def _read_module(path: Path, root: Path) -> ModuleFacts | None:
@@ -498,6 +515,16 @@ def init_evals(
498
515
  _line("seed ids", ", ".join(found.ids) + " (read off your tool descriptions)"),
499
516
  file=out_stream,
500
517
  )
518
+ else:
519
+ print(
520
+ _line(
521
+ "seed ids",
522
+ f"none found: put the ids your world has (order numbers, account names) in "
523
+ f"SEEDS in {where}/run.py or in the tool descriptions, or every ask stops at "
524
+ "'which order?'",
525
+ ),
526
+ file=out_stream,
527
+ )
501
528
 
502
529
  print(f"\nwrote {', '.join(f'{where}/{name}' for name in files)}", file=out_stream)
503
530
  if found.found_nothing:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: whileai
3
- Version: 0.61
3
+ Version: 0.62
4
4
  Summary: While Python SDK: trace ingestion and verification client, plus agent simulations grounded in your tools and system prompt.
5
5
  Author: While
6
6
  License: Apache-2.0
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes