toolang 0.3.2__tar.gz → 0.3.3__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 (863) hide show
  1. {toolang-0.3.2 → toolang-0.3.3}/PKG-INFO +1 -1
  2. {toolang-0.3.2 → toolang-0.3.3}/docs/api.md +40 -6
  3. {toolang-0.3.2 → toolang-0.3.3}/docs/execution-presentation.md +31 -2
  4. {toolang-0.3.2 → toolang-0.3.3}/docs/input-syntax.md +14 -6
  5. toolang-0.3.3/docs/plans/inspect-run-output.md +108 -0
  6. toolang-0.3.3/docs/plans/script-run-context.md +158 -0
  7. {toolang-0.3.2 → toolang-0.3.3}/pyproject.toml +1 -1
  8. toolang-0.3.3/src/toolang/_build_info.json +6 -0
  9. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/execution_progress/rich_rendering.py +61 -22
  10. toolang-0.3.3/src/toolang/cli/common/model_formatting.py +16 -0
  11. toolang-0.3.3/src/toolang/cli/common/script_progress/blocks.py +122 -0
  12. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/script_progress/console.py +0 -2
  13. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/script_progress/presenter.py +43 -10
  14. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/chat/blocks.py +1 -1
  15. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/chat/input.py +1 -1
  16. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/chat/policy.py +1 -1
  17. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/chat/rendering.py +0 -7
  18. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/chat/slashes.py +3 -12
  19. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/chat/tui.py +2 -1
  20. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/chat/widgets.py +8 -4
  21. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/inspect.py +47 -3
  22. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/script.py +11 -8
  23. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/calls.py +1 -1
  24. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/adapters/chat_completions.py +8 -5
  25. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/cli/test_local_core_commands.py +312 -7
  26. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/cli/test_script_local.py +67 -1
  27. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/cli/test_script_remote_execution.py +24 -3
  28. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_chat_input.py +23 -0
  29. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_chat_policy.py +1 -1
  30. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_chat_slashes.py +2 -0
  31. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_chat_tui.py +132 -16
  32. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_inspect_rendering.py +64 -3
  33. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_inspect_subject_navigation.py +1 -0
  34. toolang-0.3.3/tests/unit/cli/test_markdown_colors.py +52 -0
  35. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_script_command.py +52 -2
  36. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_script_run_presenter.py +174 -5
  37. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_calls.py +88 -0
  38. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_models.py +82 -0
  39. {toolang-0.3.2 → toolang-0.3.3}/uv.lock +1 -1
  40. toolang-0.3.2/src/toolang/_build_info.json +0 -6
  41. toolang-0.3.2/src/toolang/cli/common/script_progress/blocks.py +0 -59
  42. {toolang-0.3.2 → toolang-0.3.3}/.github/workflows/ci.yml +0 -0
  43. {toolang-0.3.2 → toolang-0.3.3}/.github/workflows/publish-pypi.yml +0 -0
  44. {toolang-0.3.2 → toolang-0.3.3}/.gitignore +0 -0
  45. {toolang-0.3.2 → toolang-0.3.3}/AGENTS.md +0 -0
  46. {toolang-0.3.2 → toolang-0.3.3}/LICENSE +0 -0
  47. {toolang-0.3.2 → toolang-0.3.3}/README.md +0 -0
  48. {toolang-0.3.2 → toolang-0.3.3}/docs/agent-state.md +0 -0
  49. {toolang-0.3.2 → toolang-0.3.3}/docs/call-input.md +0 -0
  50. {toolang-0.3.2 → toolang-0.3.3}/docs/caps.md +0 -0
  51. {toolang-0.3.2 → toolang-0.3.3}/docs/chat-tui-execution-presentation-draft.md +0 -0
  52. {toolang-0.3.2 → toolang-0.3.3}/docs/chat.md +0 -0
  53. {toolang-0.3.2 → toolang-0.3.3}/docs/concepts.md +0 -0
  54. {toolang-0.3.2 → toolang-0.3.3}/docs/evaluations/web-search-2026-09-29/README.md +0 -0
  55. {toolang-0.3.2 → toolang-0.3.3}/docs/evaluations/web-search-2026-09-29/interface-only.jsonl +0 -0
  56. {toolang-0.3.2 → toolang-0.3.3}/docs/evaluations/web-search-2026-09-29/model-final.json +0 -0
  57. {toolang-0.3.2 → toolang-0.3.3}/docs/evaluations/web-search-2026-09-29/yahoo-fix.jsonl +0 -0
  58. {toolang-0.3.2 → toolang-0.3.3}/docs/execution-transcript.md +0 -0
  59. {toolang-0.3.2 → toolang-0.3.3}/docs/execution.md +0 -0
  60. {toolang-0.3.2 → toolang-0.3.3}/docs/executor.md +0 -0
  61. {toolang-0.3.2 → toolang-0.3.3}/docs/flow-syntax.md +0 -0
  62. {toolang-0.3.2 → toolang-0.3.3}/docs/ids.md +0 -0
  63. {toolang-0.3.2 → toolang-0.3.3}/docs/index.md +0 -0
  64. {toolang-0.3.2 → toolang-0.3.3}/docs/layout.md +0 -0
  65. {toolang-0.3.2 → toolang-0.3.3}/docs/models.md +0 -0
  66. {toolang-0.3.2 → toolang-0.3.3}/docs/package-audit.md +0 -0
  67. {toolang-0.3.2 → toolang-0.3.3}/docs/package-testing.md +0 -0
  68. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/additional-command-discovery.md +0 -0
  69. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/agent-home-shell.md +0 -0
  70. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/agent-model-inspection.md +0 -0
  71. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/agent-setup-resource-publication.md +0 -0
  72. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/agent-state-publication.md +0 -0
  73. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/agent-state-revisions.md +0 -0
  74. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/agic-messages-and-runtime-context.md +0 -0
  75. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/agic-run-step-progress.md +0 -0
  76. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/agic-runnable-routing.md +0 -0
  77. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/agic-runtime-calls.md +0 -0
  78. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/align-chat-session-default-options.md +0 -0
  79. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/auto-output-admission.md +0 -0
  80. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/bounded-execution-history.md +0 -0
  81. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/call-input.md +0 -0
  82. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/canonical-execution-record-fields.md +0 -0
  83. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/catalog-cli-input.md +0 -0
  84. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-control-bar-accent-foreground.md +0 -0
  85. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-effective-model-default.md +0 -0
  86. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-entry-label.md +0 -0
  87. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-input-namespaces.md +0 -0
  88. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-queue-panel.md +0 -0
  89. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-queue-summary-layout.md +0 -0
  90. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-resource-table-presentation.md +0 -0
  91. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-run-status-bar.md +0 -0
  92. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-show-result-boundary.md +0 -0
  93. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-slash-command-feedback.md +0 -0
  94. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-slash-command-output.md +0 -0
  95. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-status-context.md +0 -0
  96. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-status-live-cluster.md +0 -0
  97. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-steer-feedback-and-run-context.md +0 -0
  98. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-thread-option.md +0 -0
  99. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-tui-active-default-status.md +0 -0
  100. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-tui-banner-metadata.md +0 -0
  101. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-tui-banner.md +0 -0
  102. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-tui-root-run-boundaries-and-status.md +0 -0
  103. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-tui-runtime-banner.md +0 -0
  104. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-tui-status-activity-layout.md +0 -0
  105. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-tui-version-caption.md +0 -0
  106. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/cli-command-grouping.md +0 -0
  107. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/cli-help-command-groups.md +0 -0
  108. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/cli-inspection-commands.md +0 -0
  109. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/cli-process-titles.md +0 -0
  110. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/collection-query-discovery.md +0 -0
  111. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/collection-query-language.md +0 -0
  112. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/compact-configuration.md +0 -0
  113. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/compact-current-agent-authoring-tools.md +0 -0
  114. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/compact-resource-directive-groups.md +0 -0
  115. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/control-driven-model-assembly.md +0 -0
  116. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/control-messages-and-context.md +0 -0
  117. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/default-script-progress-output.md +0 -0
  118. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/derived-run-retry-and-rerun.md +0 -0
  119. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/dev-optional-path.md +0 -0
  120. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/docker-guest-bootstrap.md +0 -0
  121. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/docker-guest-harness.md +0 -0
  122. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/dot-separated-step-paths.md +0 -0
  123. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/execution-commit-boundaries.md +0 -0
  124. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/execution-control-relations.md +0 -0
  125. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/execution-progress-state-machine.md +0 -0
  126. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/execution-record-vocabulary.md +0 -0
  127. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/execution-value-provenance.md +0 -0
  128. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/flat-call-input.md +0 -0
  129. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/flow-help-outline.md +0 -0
  130. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/flow-modules-phase-1.md +0 -0
  131. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/flow-usability.md +0 -0
  132. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/focused-inspect-human-output.md +0 -0
  133. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/fs-workspace-uris.md +0 -0
  134. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/home-command.md +0 -0
  135. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/home-prompt.md +0 -0
  136. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/init-and-explicit-script-run.md +0 -0
  137. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/inspect-controls.md +0 -0
  138. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/inspect-execution-trees.md +0 -0
  139. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/inspect-navigation-and-presentation.md +0 -0
  140. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/inspect-runs-step-count.md +0 -0
  141. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/inspect-subject-navigation.md +0 -0
  142. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/internal-toolsets.md +0 -0
  143. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/lazy-agent-setup-accessors.md +0 -0
  144. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/model-call-resource-controls.md +0 -0
  145. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/model-catalog-and-cost-accounting.md +0 -0
  146. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/model-float-codec.md +0 -0
  147. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/model-input-protocol.md +0 -0
  148. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/model-message-recording.md +0 -0
  149. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/model-output-budget.md +0 -0
  150. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/model-plugins.md +0 -0
  151. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/model-reasoning-parts.md +0 -0
  152. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/model-records.md +0 -0
  153. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/model-route-publication.md +0 -0
  154. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/model-settings-across-surfaces.md +0 -0
  155. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/model-structured-output.md +0 -0
  156. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/operational-progress-lifecycle.md +0 -0
  157. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/operational-progress-presentation.md +0 -0
  158. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/osc-chat-title.md +0 -0
  159. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/persist-batched-compaction-run.md +0 -0
  160. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/persistent-model-catalog-cache.md +0 -0
  161. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/plugin-listing-visibility.md +0 -0
  162. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/portable-script-projects.md +0 -0
  163. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/portable-setup-and-state-caches.md +0 -0
  164. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/progress-focus.md +0 -0
  165. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/reasoning-token-presentation.md +0 -0
  166. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/remote-chat-tui.md +0 -0
  167. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/remote-run-client.md +0 -0
  168. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/remove-execution-ejection.md +0 -0
  169. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/remove-script-default-option.md +0 -0
  170. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/rename-implicit-scratch-workspace-to-lab.md +0 -0
  171. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/resource-record-projections.md +0 -0
  172. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/root-footer-status-and-color.md +0 -0
  173. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/root-run-agent-state-application.md +0 -0
  174. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/root-shell.md +0 -0
  175. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/run-client.md +0 -0
  176. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/run-input-settings.md +0 -0
  177. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/run-model-parameters-and-chat-selection.md +0 -0
  178. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/run-progress-step-footers.md +0 -0
  179. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/runtime-tool-calls.md +0 -0
  180. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/runtime-tool-progress.md +0 -0
  181. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/runtime-tool-results.md +0 -0
  182. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/sandbox-development-wheel.md +0 -0
  183. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/sandbox-startup-ux.md +0 -0
  184. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/sandboxed-command-execution.md +0 -0
  185. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/script-cli-input-usage.md +0 -0
  186. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/script-help-layout.md +0 -0
  187. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/script-result-saving.md +0 -0
  188. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/script-run-summary.md +0 -0
  189. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/shell-workspace-scoped-access.md +0 -0
  190. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/source-developer-commands.md +0 -0
  191. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/source-version-provenance.md +0 -0
  192. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/static-source-checks.md +0 -0
  193. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/suppress-model-tool-call-parts.md +0 -0
  194. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/terminal-adaptive-chat-surfaces.md +0 -0
  195. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/terminal-native-markdown-colors.md +0 -0
  196. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/thread-control-projections.md +0 -0
  197. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/tmux-agent-sessions.md +0 -0
  198. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/tmux-control-mode.md +0 -0
  199. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/tmux-pane-marks.md +0 -0
  200. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/tool-call-terminal-blocks.md +0 -0
  201. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/tool-progress.md +0 -0
  202. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/toolset-protocol.md +0 -0
  203. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/tq-json-collection-queries.md +0 -0
  204. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/tree-sitter-toolang-0-2-2-integration.md +0 -0
  205. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/tree-sitter-toolang-0-3-0-integration.md +0 -0
  206. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/tree-sitter-toolang-0-3-2-integration.md +0 -0
  207. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/typed-execution-metadata.md +0 -0
  208. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/typed-execution-record-references.md +0 -0
  209. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/typed-step-facts.md +0 -0
  210. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/unified-inspect-projectors.md +0 -0
  211. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/unified-record-pointers-and-inspection.md +0 -0
  212. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/unnamed-runnable-identity.md +0 -0
  213. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/vercel-ai-gateway-app-attribution.md +0 -0
  214. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/web-search-backend-configuration.md +0 -0
  215. {toolang-0.3.2 → toolang-0.3.3}/docs/plans/workspace-declaration-and-scratch.md +0 -0
  216. {toolang-0.3.2 → toolang-0.3.3}/docs/plugins.md +0 -0
  217. {toolang-0.3.2 → toolang-0.3.3}/docs/program.md +0 -0
  218. {toolang-0.3.2 → toolang-0.3.3}/docs/queries.md +0 -0
  219. {toolang-0.3.2 → toolang-0.3.3}/docs/refactor-target.md +0 -0
  220. {toolang-0.3.2 → toolang-0.3.3}/docs/run-step-records.md +0 -0
  221. {toolang-0.3.2 → toolang-0.3.3}/docs/script-projects.md +0 -0
  222. {toolang-0.3.2 → toolang-0.3.3}/docs/source-commands.md +0 -0
  223. {toolang-0.3.2 → toolang-0.3.3}/docs/tasks.md +0 -0
  224. {toolang-0.3.2 → toolang-0.3.3}/docs/toolang-authoring-conventions.md +0 -0
  225. {toolang-0.3.2 → toolang-0.3.3}/docs/tools.md +0 -0
  226. {toolang-0.3.2 → toolang-0.3.3}/docs/webui-jobs.md +0 -0
  227. {toolang-0.3.2 → toolang-0.3.3}/docs/work.md +0 -0
  228. {toolang-0.3.2 → toolang-0.3.3}/examples/caps.too +0 -0
  229. {toolang-0.3.2 → toolang-0.3.3}/examples/developer.too +0 -0
  230. {toolang-0.3.2 → toolang-0.3.3}/examples/flows/deep_search.too +0 -0
  231. {toolang-0.3.2 → toolang-0.3.3}/examples/flows/delivery_plan.too +0 -0
  232. {toolang-0.3.2 → toolang-0.3.3}/examples/flows/proposal_workshop.too +0 -0
  233. {toolang-0.3.2 → toolang-0.3.3}/examples/handoffs.too +0 -0
  234. {toolang-0.3.2 → toolang-0.3.3}/examples/hands.too +0 -0
  235. {toolang-0.3.2 → toolang-0.3.3}/examples/hello-world.too +0 -0
  236. {toolang-0.3.2 → toolang-0.3.3}/examples/minimal.too +0 -0
  237. {toolang-0.3.2 → toolang-0.3.3}/examples/signatures.too +0 -0
  238. {toolang-0.3.2 → toolang-0.3.3}/examples/structured-output.too +0 -0
  239. {toolang-0.3.2 → toolang-0.3.3}/hatch_build.py +0 -0
  240. {toolang-0.3.2 → toolang-0.3.3}/reference/README.md +0 -0
  241. {toolang-0.3.2 → toolang-0.3.3}/reference/build.py +0 -0
  242. {toolang-0.3.2 → toolang-0.3.3}/reference/config.toml +0 -0
  243. {toolang-0.3.2 → toolang-0.3.3}/reference/templates/index.html.jinja2 +0 -0
  244. {toolang-0.3.2 → toolang-0.3.3}/reference/templates/module.html.jinja2 +0 -0
  245. {toolang-0.3.2 → toolang-0.3.3}/scripts/benchmark_web_search.py +0 -0
  246. {toolang-0.3.2 → toolang-0.3.3}/scripts/try_docker_guest.sh +0 -0
  247. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/__init__.py +0 -0
  248. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/api/__init__.py +0 -0
  249. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/api/app.py +0 -0
  250. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/api/common.py +0 -0
  251. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/api/conversion.py +0 -0
  252. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/api/router.py +0 -0
  253. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/api/routers/__init__.py +0 -0
  254. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/api/routers/agent.py +0 -0
  255. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/api/routers/caps.py +0 -0
  256. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/api/routers/jobs.py +0 -0
  257. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/api/routers/runs.py +0 -0
  258. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/api/routers/threads.py +0 -0
  259. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/api/schemas.py +0 -0
  260. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/__init__.py +0 -0
  261. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/errors.py +0 -0
  262. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/examples/__init__.py +0 -0
  263. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/examples/tools.py +0 -0
  264. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/model_settings.py +0 -0
  265. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/money.py +0 -0
  266. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/protocols/__init__.py +0 -0
  267. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/protocols/channel.py +0 -0
  268. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/protocols/model.py +0 -0
  269. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/protocols/sandbox.py +0 -0
  270. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/protocols/tool.py +0 -0
  271. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/schemas.py +0 -0
  272. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/types/__init__.py +0 -0
  273. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/types/channel.py +0 -0
  274. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/types/compaction.py +0 -0
  275. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/types/message.py +0 -0
  276. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/types/model.py +0 -0
  277. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/types/policy.py +0 -0
  278. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/types/progress.py +0 -0
  279. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/types/run.py +0 -0
  280. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/types/sandbox.py +0 -0
  281. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/types/tool.py +0 -0
  282. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/utils/__init__.py +0 -0
  283. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/utils/channels.py +0 -0
  284. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/utils/function_tools.py +0 -0
  285. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/utils/tool_descriptions.py +0 -0
  286. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/utils/tools.py +0 -0
  287. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/utils/workspace_paths.py +0 -0
  288. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/catalog/__init__.py +0 -0
  289. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/catalog/agent.py +0 -0
  290. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/catalog/cap.py +0 -0
  291. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/catalog/common.py +0 -0
  292. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/catalog/config.py +0 -0
  293. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/catalog/errors.py +0 -0
  294. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/catalog/job.py +0 -0
  295. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/catalog/manager.py +0 -0
  296. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/catalog/templates/__init__.py +0 -0
  297. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/catalog/templates/agent.default.too +0 -0
  298. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/catalog/templates/chore.default.md +0 -0
  299. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/catalog/templates/prompt.default.md +0 -0
  300. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/catalog/templates/psyche.default.md +0 -0
  301. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/catalog/templates/script.default.too +0 -0
  302. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/catalog/templates/service.default.md +0 -0
  303. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/catalog/templates/service.stdio.md +0 -0
  304. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/catalog/templates/skill.default.md +0 -0
  305. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/catalog/templates/task.default.md +0 -0
  306. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/catalog/types.py +0 -0
  307. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/__init__.py +0 -0
  308. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/caps/__init__.py +0 -0
  309. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/caps/__main__.py +0 -0
  310. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/caps/commands.py +0 -0
  311. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/caps/main.py +0 -0
  312. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/__init__.py +0 -0
  313. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/agent_server.py +0 -0
  314. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/attachments.py +0 -0
  315. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/client.py +0 -0
  316. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/context.py +0 -0
  317. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/editor.py +0 -0
  318. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/errors.py +0 -0
  319. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/execution.py +0 -0
  320. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/execution_progress/__init__.py +0 -0
  321. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/execution_progress/config.py +0 -0
  322. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/execution_progress/facts.py +0 -0
  323. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/execution_progress/formatting.py +0 -0
  324. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/execution_progress/headers.py +0 -0
  325. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/execution_progress/projector.py +0 -0
  326. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/execution_progress/state.py +0 -0
  327. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/execution_progress/step_projection.py +0 -0
  328. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/execution_progress/streaming_markdown.py +0 -0
  329. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/execution_progress/types.py +0 -0
  330. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/help.py +0 -0
  331. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/human_values.py +0 -0
  332. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/lazy.py +0 -0
  333. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/model_selection.py +0 -0
  334. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/output.py +0 -0
  335. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/parameters.py +0 -0
  336. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/policy.py +0 -0
  337. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/progress.py +0 -0
  338. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/records.py +0 -0
  339. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/remote_runtime.py +0 -0
  340. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/result_saving.py +0 -0
  341. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/routing.py +0 -0
  342. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/run_client.py +0 -0
  343. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/runnable_parameters.py +0 -0
  344. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/script_progress/__init__.py +0 -0
  345. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/terminal_surfaces.py +0 -0
  346. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/tmux.py +0 -0
  347. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/workspaces.py +0 -0
  348. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/config.py +0 -0
  349. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/__init__.py +0 -0
  350. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/__main__.py +0 -0
  351. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/__init__.py +0 -0
  352. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/agent.py +0 -0
  353. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/caps.py +0 -0
  354. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/chat/__init__.py +0 -0
  355. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/chat/base.py +0 -0
  356. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/chat/events.py +0 -0
  357. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/chat/history.py +0 -0
  358. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/chat/local.py +0 -0
  359. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/chat/main.py +0 -0
  360. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/chat/marks.py +0 -0
  361. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/chat/presenter.py +0 -0
  362. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/chat/remote.py +0 -0
  363. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/chat/shortcuts.py +0 -0
  364. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/chat/tables.py +0 -0
  365. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/chat/title.py +0 -0
  366. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/home.py +0 -0
  367. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/init.py +0 -0
  368. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/job.py +0 -0
  369. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/model_catalog.py +0 -0
  370. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/plugin.py +0 -0
  371. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/program.py +0 -0
  372. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/runtime.py +0 -0
  373. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/thread.py +0 -0
  374. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/workspace.py +0 -0
  375. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/main.py +0 -0
  376. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/routing.py +0 -0
  377. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/source_output.py +0 -0
  378. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/__init__.py +0 -0
  379. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/cache.py +0 -0
  380. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/config.py +0 -0
  381. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/config_sources.py +0 -0
  382. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/env_logger.py +0 -0
  383. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/errors.py +0 -0
  384. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/events.py +0 -0
  385. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/files.py +0 -0
  386. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/github.py +0 -0
  387. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/ids.py +0 -0
  388. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/immutable.py +0 -0
  389. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/json.py +0 -0
  390. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/layout.py +0 -0
  391. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/policy.py +0 -0
  392. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/progress.py +0 -0
  393. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/template.py +0 -0
  394. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/text.py +0 -0
  395. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/time.py +0 -0
  396. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/typer/__init__.py +0 -0
  397. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/typer/options.py +0 -0
  398. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/typer/ui.py +0 -0
  399. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/types.py +0 -0
  400. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/version.py +0 -0
  401. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/__init__.py +0 -0
  402. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/accounting.py +0 -0
  403. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/assembly/__init__.py +0 -0
  404. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/assembly/history.py +0 -0
  405. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/assembly/message_buffer.py +0 -0
  406. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/assembly/prompting.py +0 -0
  407. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/assembly/prompts/__init__.py +0 -0
  408. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/assembly/prompts/defaults/context.md +0 -0
  409. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/assembly/prompts/defaults/instruct.md +0 -0
  410. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/assembly/prompts/protocol.md +0 -0
  411. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/assembly/run_results.py +0 -0
  412. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/assembly/tool_replies.py +0 -0
  413. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/assembly/utils.py +0 -0
  414. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/client.py +0 -0
  415. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/compaction.py +0 -0
  416. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/errors.py +0 -0
  417. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/events.py +0 -0
  418. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/__init__.py +0 -0
  419. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/_persist.py +0 -0
  420. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/common.py +0 -0
  421. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/content.py +0 -0
  422. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/diagnostics.py +0 -0
  423. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/executor.py +0 -0
  424. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/frame.py +0 -0
  425. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/iteration.py +0 -0
  426. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/limits.py +0 -0
  427. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/resources.py +0 -0
  428. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/rules.py +0 -0
  429. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/runs/__init__.py +0 -0
  430. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/runs/agic.py +0 -0
  431. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/runs/compact.py +0 -0
  432. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/runs/flow.py +0 -0
  433. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/steps/__init__.py +0 -0
  434. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/steps/agent.py +0 -0
  435. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/steps/human.py +0 -0
  436. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/steps/loop.py +0 -0
  437. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/steps/model.py +0 -0
  438. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/steps/par.py +0 -0
  439. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/steps/run.py +0 -0
  440. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/steps/tool.py +0 -0
  441. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/steps/value.py +0 -0
  442. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/stmts/__init__.py +0 -0
  443. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/stmts/ask.py +0 -0
  444. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/stmts/filter.py +0 -0
  445. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/stmts/gather.py +0 -0
  446. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/stmts/let.py +0 -0
  447. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/stmts/map.py +0 -0
  448. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/stmts/repeat.py +0 -0
  449. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/stmts/run.py +0 -0
  450. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/stmts/scatter.py +0 -0
  451. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/stmts/seek.py +0 -0
  452. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/stmts/settle.py +0 -0
  453. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/stmts/sort.py +0 -0
  454. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/stmts/storm.py +0 -0
  455. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/tool_history.py +0 -0
  456. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/tool_runtime.py +0 -0
  457. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/inspection/__init__.py +0 -0
  458. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/inspection/history.py +0 -0
  459. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/inspection/trees.py +0 -0
  460. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/inspection/types.py +0 -0
  461. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/inspection/views.py +0 -0
  462. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/policy.py +0 -0
  463. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/recall.py +0 -0
  464. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/records.py +0 -0
  465. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/remote.py +0 -0
  466. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/runnables.py +0 -0
  467. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/schemas.py +0 -0
  468. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/settings.py +0 -0
  469. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/store.py +0 -0
  470. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/threads.py +0 -0
  471. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/tokens.py +0 -0
  472. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/tools/__init__.py +0 -0
  473. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/tools/_toolang.py +0 -0
  474. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/tools/me/__init__.py +0 -0
  475. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/tools/me/errors.py +0 -0
  476. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/tools/me/flows.py +0 -0
  477. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/tools/me/handlers.py +0 -0
  478. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/tools/me/schemas.py +0 -0
  479. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/tools/me/storage.py +0 -0
  480. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/tools/me/types.py +0 -0
  481. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/types.py +0 -0
  482. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/values.py +0 -0
  483. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/lang/__init__.py +0 -0
  484. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/lang/ast.py +0 -0
  485. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/lang/contracts.py +0 -0
  486. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/lang/cst.py +0 -0
  487. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/lang/description.py +0 -0
  488. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/lang/errors.py +0 -0
  489. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/lang/flow_validation.py +0 -0
  490. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/lang/format.py +0 -0
  491. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/lang/highlight.py +0 -0
  492. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/lang/includes.py +0 -0
  493. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/lang/input.py +0 -0
  494. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/lang/lower.py +0 -0
  495. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/lang/text.py +0 -0
  496. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/lang/types.py +0 -0
  497. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/lang/validate.py +0 -0
  498. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/__init__.py +0 -0
  499. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/adapters/__init__.py +0 -0
  500. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/adapters/_credentials.py +0 -0
  501. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/adapters/_errors.py +0 -0
  502. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/adapters/_parts.py +0 -0
  503. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/adapters/_payload.py +0 -0
  504. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/adapters/_structured_output.py +0 -0
  505. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/adapters/_tool_calls.py +0 -0
  506. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/adapters/_usage.py +0 -0
  507. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/adapters/generate_content.py +0 -0
  508. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/adapters/messages.py +0 -0
  509. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/adapters/responses.py +0 -0
  510. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/catalogs/__init__.py +0 -0
  511. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/catalogs/_local.py +0 -0
  512. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/catalogs/llama_cpp.py +0 -0
  513. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/catalogs/models_dev/__init__.py +0 -0
  514. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/catalogs/models_dev/catalog.py +0 -0
  515. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/catalogs/models_dev/data/catalog.json +0 -0
  516. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/catalogs/models_dev/parsing.py +0 -0
  517. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/catalogs/models_dev/path.py +0 -0
  518. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/catalogs/ollama.py +0 -0
  519. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/channels/__init__.py +0 -0
  520. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/channels/telegram.py +0 -0
  521. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/config.py +0 -0
  522. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/loading.py +0 -0
  523. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/models/__init__.py +0 -0
  524. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/models/budget.py +0 -0
  525. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/models/config.py +0 -0
  526. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/models/messages.py +0 -0
  527. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/models/query.py +0 -0
  528. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/models/records.py +0 -0
  529. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/models/resolution.py +0 -0
  530. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/sandboxes/__init__.py +0 -0
  531. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/sandboxes/docker/__init__.py +0 -0
  532. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/sandboxes/docker/_cli.py +0 -0
  533. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/sandboxes/docker/_guest.py +0 -0
  534. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/sandboxes/docker/docker_guest.py +0 -0
  535. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/sandboxes/docker/docker_guest.sh +0 -0
  536. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/sandboxes/docker/sandbox.py +0 -0
  537. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/sandboxes/host.py +0 -0
  538. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/toolsets/__init__.py +0 -0
  539. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/toolsets/_web_yahoo.py +0 -0
  540. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/toolsets/collections.py +0 -0
  541. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/toolsets/fs.py +0 -0
  542. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/toolsets/history.py +0 -0
  543. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/toolsets/loading.py +0 -0
  544. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/toolsets/registry.py +0 -0
  545. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/toolsets/service.py +0 -0
  546. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/toolsets/shell.py +0 -0
  547. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/toolsets/web.py +0 -0
  548. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/types.py +0 -0
  549. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/values.py +0 -0
  550. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/setup/__init__.py +0 -0
  551. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/setup/cache_environment.py +0 -0
  552. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/setup/catalog.py +0 -0
  553. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/setup/config.py +0 -0
  554. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/setup/errors.py +0 -0
  555. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/setup/models.py +0 -0
  556. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/setup/revisions.py +0 -0
  557. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/setup/routes.py +0 -0
  558. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/setup/types.py +0 -0
  559. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/setup/watcher.py +0 -0
  560. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/state/__init__.py +0 -0
  561. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/state/builtin.py +0 -0
  562. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/state/cache.py +0 -0
  563. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/state/collections.py +0 -0
  564. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/state/config.py +0 -0
  565. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/state/errors.py +0 -0
  566. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/state/prepare.py +0 -0
  567. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/state/schemas.py +0 -0
  568. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/state/source.py +0 -0
  569. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/state/state.py +0 -0
  570. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/state/types.py +0 -0
  571. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/state/watcher.py +0 -0
  572. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/up/__init__.py +0 -0
  573. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/up/config.py +0 -0
  574. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/up/core.py +0 -0
  575. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/up/logging.py +0 -0
  576. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/up/mounts.py +0 -0
  577. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/up/process.py +0 -0
  578. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/up/records.py +0 -0
  579. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/up/sandbox.py +0 -0
  580. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/up/server.py +0 -0
  581. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/up/types.py +0 -0
  582. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/work/__init__.py +0 -0
  583. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/work/authoring.py +0 -0
  584. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/work/errors.py +0 -0
  585. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/work/inspection.py +0 -0
  586. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/work/records.py +0 -0
  587. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/work/scheduler.py +0 -0
  588. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/work/schemas.py +0 -0
  589. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/work/state.py +0 -0
  590. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/work/store.py +0 -0
  591. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/work/types.py +0 -0
  592. {toolang-0.3.2 → toolang-0.3.3}/src/toolang/work/watcher.py +0 -0
  593. {toolang-0.3.2 → toolang-0.3.3}/tests/README.md +0 -0
  594. {toolang-0.3.2 → toolang-0.3.3}/tests/__init__.py +0 -0
  595. {toolang-0.3.2 → toolang-0.3.3}/tests/architecture/test_dependency_security.py +0 -0
  596. {toolang-0.3.2 → toolang-0.3.3}/tests/architecture/test_package_boundaries.py +0 -0
  597. {toolang-0.3.2 → toolang-0.3.3}/tests/conftest.py +0 -0
  598. {toolang-0.3.2 → toolang-0.3.3}/tests/fixtures/flows/delivery_pipeline.too +0 -0
  599. {toolang-0.3.2 → toolang-0.3.3}/tests/fixtures/flows/research_pipeline.too +0 -0
  600. {toolang-0.3.2 → toolang-0.3.3}/tests/fixtures/remote-prompt/rewrite.md +0 -0
  601. {toolang-0.3.2 → toolang-0.3.3}/tests/fixtures/remote-psyche/reviewer.md +0 -0
  602. {toolang-0.3.2 → toolang-0.3.3}/tests/fixtures/remote-service/github.md +0 -0
  603. {toolang-0.3.2 → toolang-0.3.3}/tests/fixtures/remote-skill/pdf-processing/SKILL.md +0 -0
  604. {toolang-0.3.2 → toolang-0.3.3}/tests/fixtures/remote-skill/pdf-processing/assets/template.md +0 -0
  605. {toolang-0.3.2 → toolang-0.3.3}/tests/fixtures/sample.too +0 -0
  606. {toolang-0.3.2 → toolang-0.3.3}/tests/fixtures/source_only.too +0 -0
  607. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/api/test_remote_chat_support.py +0 -0
  608. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/api/test_remote_runs.py +0 -0
  609. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/api/test_streaming.py +0 -0
  610. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/catalog/test_job_definitions.py +0 -0
  611. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/catalog/test_jobs.py +0 -0
  612. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/catalog/test_multiprocess_writes.py +0 -0
  613. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/cli/test_chat_local_execution.py +0 -0
  614. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/cli/test_chat_remote_execution.py +0 -0
  615. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/cli/test_compact_presentation.py +0 -0
  616. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/cli/test_editor_commands.py +0 -0
  617. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/cli/test_model_catalog_commands.py +0 -0
  618. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/cli/test_parse_check.py +0 -0
  619. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/cli/test_resource_queries.py +0 -0
  620. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/cli/test_runtime_commands.py +0 -0
  621. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/cli/test_runtime_progress.py +0 -0
  622. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/cli/test_script_live.py +0 -0
  623. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/cli/test_source_commands.py +0 -0
  624. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/cli/test_tmux_chat_placement.py +0 -0
  625. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_agent_state_reload_scenarios.py +0 -0
  626. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_agic_runtime_call_scenarios.py +0 -0
  627. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_agic_scenarios.py +0 -0
  628. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_batched_compact_run.py +0 -0
  629. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_block_layout_scenarios.py +0 -0
  630. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_bounded_history.py +0 -0
  631. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_compact_controls.py +0 -0
  632. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_compact_quality_live.py +0 -0
  633. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_compact_scenarios.py +0 -0
  634. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_control_messages.py +0 -0
  635. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_control_relations.py +0 -0
  636. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_control_scenarios.py +0 -0
  637. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_event_scenarios.py +0 -0
  638. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_flow_call_contracts.py +0 -0
  639. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_flow_collection_sizes.py +0 -0
  640. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_flow_execution.py +0 -0
  641. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_flow_pipelines.py +0 -0
  642. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_flow_scenarios.py +0 -0
  643. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_flow_usability.py +0 -0
  644. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_history_tool_scenarios.py +0 -0
  645. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_honor_rules.py +0 -0
  646. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_live_provider_smoke.py +0 -0
  647. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_model_assembly.py +0 -0
  648. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_model_message_deltas.py +0 -0
  649. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_model_recovery.py +0 -0
  650. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_model_step_commit.py +0 -0
  651. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_multiprocess_scenarios.py +0 -0
  652. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_pick_guidance.py +0 -0
  653. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_reasoning_lifecycle.py +0 -0
  654. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_resource_visibility.py +0 -0
  655. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_run_history_scenarios.py +0 -0
  656. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_run_workspace_location.py +0 -0
  657. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_runtime_tool_results.py +0 -0
  658. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_scheduled_runs.py +0 -0
  659. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_shared_tool_execution.py +0 -0
  660. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_sort_scenarios.py +0 -0
  661. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_store_atomicity_scenarios.py +0 -0
  662. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_thread_control_scenarios.py +0 -0
  663. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_thread_projection_scenarios.py +0 -0
  664. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_thread_store_scenarios.py +0 -0
  665. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_workspace_uris.py +0 -0
  666. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/lang/test_examples.py +0 -0
  667. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/plugin/test_agent_state_tool.py +0 -0
  668. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/setup/test_lazy_setup.py +0 -0
  669. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/up/test_docker_guest.py +0 -0
  670. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/up/test_docker_sandbox_lifecycle.py +0 -0
  671. {toolang-0.3.2 → toolang-0.3.3}/tests/integration/up/test_sandbox_lifecycle.py +0 -0
  672. {toolang-0.3.2 → toolang-0.3.3}/tests/support/__init__.py +0 -0
  673. {toolang-0.3.2 → toolang-0.3.3}/tests/support/chat_tui_e2e.py +0 -0
  674. {toolang-0.3.2 → toolang-0.3.3}/tests/support/chat_tui_live_e2e.py +0 -0
  675. {toolang-0.3.2 → toolang-0.3.3}/tests/support/chat_tui_pty.py +0 -0
  676. {toolang-0.3.2 → toolang-0.3.3}/tests/support/chat_tui_remote_e2e.py +0 -0
  677. {toolang-0.3.2 → toolang-0.3.3}/tests/support/chat_tui_runner.py +0 -0
  678. {toolang-0.3.2 → toolang-0.3.3}/tests/support/execution_assertions.py +0 -0
  679. {toolang-0.3.2 → toolang-0.3.3}/tests/support/execution_fixtures.py +0 -0
  680. {toolang-0.3.2 → toolang-0.3.3}/tests/support/execution_harness.py +0 -0
  681. {toolang-0.3.2 → toolang-0.3.3}/tests/support/live_provider.py +0 -0
  682. {toolang-0.3.2 → toolang-0.3.3}/tests/support/prompting.py +0 -0
  683. {toolang-0.3.2 → toolang-0.3.3}/tests/support/setup.py +0 -0
  684. {toolang-0.3.2 → toolang-0.3.3}/tests/support/typer_ui.py +0 -0
  685. {toolang-0.3.2 → toolang-0.3.3}/tests/system/cli/test_chat_tui_e2e.py +0 -0
  686. {toolang-0.3.2 → toolang-0.3.3}/tests/system/cli/test_chat_tui_live_e2e.py +0 -0
  687. {toolang-0.3.2 → toolang-0.3.3}/tests/system/cli/test_cli_entry_points.py +0 -0
  688. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/api/test_app.py +0 -0
  689. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/api/test_cap_publication.py +0 -0
  690. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/api/test_conversion.py +0 -0
  691. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/api/test_workspace_inspection.py +0 -0
  692. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/base/test_function_tools.py +0 -0
  693. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/base/test_message.py +0 -0
  694. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/base/test_model_settings.py +0 -0
  695. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/base/test_model_usage.py +0 -0
  696. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/base/test_money.py +0 -0
  697. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/base/test_tool_names.py +0 -0
  698. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/base/test_tool_paths.py +0 -0
  699. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/base/test_tool_protocol.py +0 -0
  700. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/catalog/test_agent.py +0 -0
  701. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/catalog/test_authored_jobs.py +0 -0
  702. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/catalog/test_caps.py +0 -0
  703. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/catalog/test_manager.py +0 -0
  704. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/catalog/test_templates.py +0 -0
  705. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_agent_info.py +0 -0
  706. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_agent_server.py +0 -0
  707. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_agic_run_progress.py +0 -0
  708. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_cap_snapshots.py +0 -0
  709. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_chat_command.py +0 -0
  710. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_chat_history.py +0 -0
  711. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_chat_remote.py +0 -0
  712. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_chat_terminal_title.py +0 -0
  713. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_chat_thread_title.py +0 -0
  714. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_cli_help.py +0 -0
  715. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_cli_routing.py +0 -0
  716. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_cli_run_client.py +0 -0
  717. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_cli_transport.py +0 -0
  718. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_common_context.py +0 -0
  719. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_duration.py +0 -0
  720. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_execution_progress_config.py +0 -0
  721. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_execution_progress_facts.py +0 -0
  722. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_execution_progress_projector.py +0 -0
  723. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_home_command.py +0 -0
  724. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_markdown_rendering.py +0 -0
  725. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_model_selection.py +0 -0
  726. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_operational_progress.py +0 -0
  727. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_output.py +0 -0
  728. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_reasoning_presentation.py +0 -0
  729. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_record_tables.py +0 -0
  730. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_remote_runtime.py +0 -0
  731. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_result_saving.py +0 -0
  732. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_run_limits.py +0 -0
  733. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_runnable_parameters.py +0 -0
  734. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_runtime_tool_progress.py +0 -0
  735. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_script_entry.py +0 -0
  736. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_source_output.py +0 -0
  737. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_streaming_markdown.py +0 -0
  738. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_terminal_surfaces.py +0 -0
  739. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_thread_commands.py +0 -0
  740. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_tmux_launcher.py +0 -0
  741. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_tmux_pane_marks.py +0 -0
  742. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_tool_progress_rendering.py +0 -0
  743. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_workspace_options.py +0 -0
  744. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/common/test_config_sources.py +0 -0
  745. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/common/test_errors.py +0 -0
  746. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/common/test_files.py +0 -0
  747. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/common/test_github.py +0 -0
  748. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/common/test_ids.py +0 -0
  749. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/common/test_immutable.py +0 -0
  750. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/common/test_layout.py +0 -0
  751. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/common/test_progress.py +0 -0
  752. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/common/test_resource_policy.py +0 -0
  753. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/common/test_time.py +0 -0
  754. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/common/test_version.py +0 -0
  755. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/common/typer/test_argument_usage.py +0 -0
  756. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/common/typer/test_grouped_layout.py +0 -0
  757. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/common/typer/test_help_metadata.py +0 -0
  758. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/common/typer/test_options.py +0 -0
  759. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/common/typer/test_output_width.py +0 -0
  760. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/common/typer/test_standalone.py +0 -0
  761. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/common/typer/test_typer_ui.py +0 -0
  762. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_assembly_utils.py +0 -0
  763. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_batched_compaction.py +0 -0
  764. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_compact_permit.py +0 -0
  765. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_compaction_result.py +0 -0
  766. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_control_message_templates.py +0 -0
  767. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_empty_model_output.py +0 -0
  768. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_events.py +0 -0
  769. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_execution_template.py +0 -0
  770. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_executor_frame.py +0 -0
  771. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_executor_limits.py +0 -0
  772. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_executor_spec.py +0 -0
  773. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_inspection.py +0 -0
  774. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_instruction_boundaries.py +0 -0
  775. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_iteration_frames.py +0 -0
  776. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_message_delta.py +0 -0
  777. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_model_accounting.py +0 -0
  778. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_model_budget.py +0 -0
  779. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_model_record_contract.py +0 -0
  780. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_output_bindings.py +0 -0
  781. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_policy.py +0 -0
  782. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_prompting.py +0 -0
  783. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_prompts.py +0 -0
  784. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_recall.py +0 -0
  785. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_record_inspection.py +0 -0
  786. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_remote_run_client.py +0 -0
  787. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_resource_declarations.py +0 -0
  788. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_resources.py +0 -0
  789. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_route_snapshots.py +0 -0
  790. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_run_client.py +0 -0
  791. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_run_cwd_store.py +0 -0
  792. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_runnable_settings.py +0 -0
  793. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_runtime_toolset.py +0 -0
  794. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_step_path.py +0 -0
  795. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_store_schema.py +0 -0
  796. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_tool_context.py +0 -0
  797. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_tool_failures.py +0 -0
  798. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_tool_step_summary.py +0 -0
  799. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_trees.py +0 -0
  800. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_values.py +0 -0
  801. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/lang/test_contracts.py +0 -0
  802. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/lang/test_cst.py +0 -0
  803. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/lang/test_doc_comments.py +0 -0
  804. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/lang/test_flow_syntax_upgrade.py +0 -0
  805. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/lang/test_format_contract.py +0 -0
  806. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/lang/test_grammar_0_3.py +0 -0
  807. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/lang/test_highlight.py +0 -0
  808. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/lang/test_input.py +0 -0
  809. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/lang/test_program.py +0 -0
  810. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/lang/test_program_format.py +0 -0
  811. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/lang/test_statement_description.py +0 -0
  812. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/lang/test_static_validation.py +0 -0
  813. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_adapter_imports.py +0 -0
  814. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_builtin_plugins.py +0 -0
  815. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_channels.py +0 -0
  816. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_config.py +0 -0
  817. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_docker_guest_harness.py +0 -0
  818. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_filesystem_workspaces.py +0 -0
  819. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_history_tools.py +0 -0
  820. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_local_models.py +0 -0
  821. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_model_catalog.py +0 -0
  822. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_model_recovery_wire.py +0 -0
  823. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_model_transport_errors.py +0 -0
  824. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_plugin_toolsets.py +0 -0
  825. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_protocol_adapters.py +0 -0
  826. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_reasoning_parts.py +0 -0
  827. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_resource_records.py +0 -0
  828. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_runtime_collections.py +0 -0
  829. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_sandboxes.py +0 -0
  830. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_selective_tool_loading.py +0 -0
  831. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_tool_descriptions.py +0 -0
  832. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_tools.py +0 -0
  833. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_web_search.py +0 -0
  834. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/setup/test_catalog_declarations.py +0 -0
  835. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/setup/test_model_listing.py +0 -0
  836. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/setup/test_revisions.py +0 -0
  837. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/setup/test_routes.py +0 -0
  838. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/setup/test_setup_config.py +0 -0
  839. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/setup/test_setup_models.py +0 -0
  840. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/setup/test_setup_watcher.py +0 -0
  841. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/setup/test_types.py +0 -0
  842. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/state/test_authored_source.py +0 -0
  843. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/state/test_cache.py +0 -0
  844. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/state/test_cap_refs.py +0 -0
  845. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/state/test_collections.py +0 -0
  846. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/state/test_identity.py +0 -0
  847. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/state/test_prepare.py +0 -0
  848. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/state/test_source.py +0 -0
  849. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/state/test_state_config.py +0 -0
  850. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/state/test_watcher.py +0 -0
  851. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/test_hatch_build.py +0 -0
  852. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/up/test_core.py +0 -0
  853. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/up/test_host_identity.py +0 -0
  854. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/up/test_logging.py +0 -0
  855. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/up/test_mounts.py +0 -0
  856. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/up/test_process.py +0 -0
  857. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/up/test_sandbox.py +0 -0
  858. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/up/test_server.py +0 -0
  859. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/up/test_targets.py +0 -0
  860. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/work/test_run_binding.py +0 -0
  861. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/work/test_scheduler.py +0 -0
  862. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/work/test_state.py +0 -0
  863. {toolang-0.3.2 → toolang-0.3.3}/tests/unit/work/test_store.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: toolang
3
- Version: 0.3.2
3
+ Version: 0.3.3
4
4
  Summary: A programming language and runtime for agents
5
5
  Project-URL: Homepage, https://toolang.ai/
6
6
  Project-URL: Documentation, https://toolang.ai/docs
@@ -448,15 +448,48 @@ Every successful query selects one projector after its subject resolves:
448
448
  | `records` | collection subject | summarized record rows | canonical record array |
449
449
  | `fields` | browsable Pointer value | direct child fields | exact selected value |
450
450
  | `value` | scalar, empty, resolved, or specialized value | rendered value | exact selected value |
451
+ | `output` | Run with the explicit terminal name | complete result body | resolved result value |
451
452
  | `tree` | Run with the explicit terminal name | hierarchical durable execution | flat depth-first node array |
452
453
  | `call` | supported Step with the explicit terminal name | Step-owned historical call | normalized call or flat node array |
453
454
 
454
455
  `records`, `fields`, and `value` are implicit view kinds, not accepted command
455
- tokens. `tree` is explicit only on a whole Run. `call` is explicit only on a
456
- whole model, tool, run, par, or loop Step. Run and Step subjects never expose
456
+ tokens. `tree` and `output` are explicit only on a whole Run. `call` is explicit
457
+ only on a whole model, tool, run, par, or loop Step. Run and Step subjects never expose
457
458
  equivalent projector names, and the removed `model-call` spelling is not an
458
459
  alias.
459
460
 
461
+ Read a Run's result with `output` (`too` is an alias for `toolang`):
462
+
463
+ ```sh
464
+ too SCRIPT inspect run_ab12 output
465
+ too SCRIPT inspect run_ab12 output | rich -m
466
+ too SCRIPT inspect run_ab12 output | jq '.'
467
+ too SCRIPT inspect run_ab12 output --json
468
+ ```
469
+
470
+ `output` resolves stored references and removes the `Output` / `Local` wrappers.
471
+ The default view writes Text unchanged and concatenates TextPart bodies in
472
+ order for textual Parts. It preserves whitespace and Markdown source, adding
473
+ only a final newline when nonempty text lacks one. Empty text and empty Parts
474
+ emit no body. Structured values and nontext Parts emit complete indented JSON.
475
+ The view does not render Markdown, add colors, wrap, or truncate content; use
476
+ external tools such as `rich` or `jq` to present it. The `jq` example requires
477
+ structured output or text that itself contains valid JSON.
478
+
479
+ Textual Parts omit reasoning and nontext content from the default text view.
480
+ The existing `--json` flag preserves every resolved Part and nested value;
481
+ Text becomes a JSON string with its original whitespace. A JSON-looking Text
482
+ value remains text and is never parsed to infer a type. `--human` and `--json`
483
+ remain mutually exclusive; no new formatting flags are added. Output behavior
484
+ is the same in a terminal and a pipe, including when `FORCE_COLOR` is set.
485
+
486
+ A Run without an output fails with its ID and status instead of returning a
487
+ blank success or waiting for completion. Present null and empty outputs succeed.
488
+ Use `inspect RUN/output` to inspect the output wrapper, or
489
+ `inspect RUN/output/local/value --json` for the raw stored value, including
490
+ unresolved references. Existing Pointer queries retain their original behavior.
491
+ The `output` projector is available only for whole Runs, not Steps or collections.
492
+
460
493
  `call` on a model Step reconstructs the complete normalized call persisted for
461
494
  that Step, including instructions, messages, tool definitions, the
462
495
  structured-output schema, and continuation data:
@@ -541,10 +574,11 @@ selected value retains normal Pointer resolution and validation.
541
574
  Human projections have no trailing context footer. Direct scalar and
542
575
  specialized values print only their value. Strings have no JSON quotes, and
543
576
  nullable Human type labels use `T?`. Multiline Part content stays aligned
544
- inside the VALUE cell without a leading bullet. `--json` does not resolve
545
- Pointers and prints only the selected canonical JSON value. The two display
546
- modes are mutually exclusive, and `--type` is not an option. Inspection is
547
- read-only and historical and does not load a runnable.
577
+ inside the VALUE cell without a leading bullet. Pointer queries with `--json`
578
+ do not resolve Pointers and print only the selected canonical JSON value. The
579
+ explicit Run `output` view instead returns the resolved result as described
580
+ above. Display modes are mutually exclusive, and `--type` is not an option.
581
+ Inspection is read-only and historical and does not load a runnable.
548
582
 
549
583
  ## Runtime Commands
550
584
 
@@ -53,12 +53,41 @@ Script and Chat use the same projected ownership, content, aggregates, facts,
53
53
  and errors. Their presenters own terminal mechanics such as wrapping, lane
54
54
  truncation, scrollback, and live-area replacement.
55
55
 
56
- A Run has no standalone progress header. A root Run contains projected Steps
57
- followed by one footer. Child Runs are represented through the Steps they
56
+ The shared projector emits no standalone Run header. Script adds the root
57
+ context header described below; Chat retains its existing run control bar.
58
+ A root Run contains projected Steps followed by one footer. Child Runs are represented through the Steps they
58
59
  execute rather than separate Run headers or closure rows. A model-produced
59
60
  dynamic Run Step owns its own opening and closing divider around that child
60
61
  content.
61
62
 
63
+ ## Script Run Context
64
+
65
+ Script prints one persistent context header to stderr when the root Run begins:
66
+
67
+ ```text
68
+ ‣ agic:review deepseek/deepseek-chat · auto
69
+ ```
70
+
71
+ The entire header is dim on the terminal's default background. `‣` marks the
72
+ start, with the runnable at the left edge and model/reasoning at the right edge
73
+ of the configured progress width, separated by at least two spaces. Narrow
74
+ layouts put model/reasoning below the runnable, with two-cell indentation;
75
+ long fields wrap without truncation. A one- or two-cell viewport drops the
76
+ marker and indentation. Terminal controls are escaped as literal text.
77
+
78
+ The runnable uses the resolved root identity, displaying an unnamed entry as
79
+ `agic:_` or `flow:_`. The model is the resolved initial run-level setting;
80
+ Flow steps and child Runs may select other models. Reasoning shows an explicit
81
+ effort or token budget, or `auto` when unspecified. A missing model request
82
+ shows `model unspecified` with no reasoning field.
83
+
84
+ The header appears once, before Step output, separated by one blank line. It
85
+ remains in scrollback after success, failure, or cancellation. Preparation and
86
+ submission failures before `RunBegin` produce no header. Nested Runs do not
87
+ repeat it. Non-TTY output retains the layout without ANSI; `-q` suppresses it.
88
+ Result saving, stdout, and the existing root footer are unchanged. Chat TUI
89
+ does not display this Script header.
90
+
62
91
  ## Width and Alignment
63
92
 
64
93
  Progress is at most 120 terminal cells wide by default and never wider than an
@@ -26,10 +26,11 @@ ChatInput = QuickCommand | RunOverrideHelp | RunOverride + CallInput[str]
26
26
  chat input.
27
27
  - `RunOverrideHelp` is the terminal-chat-only `:?` interaction. It describes
28
28
  colon syntax without creating a run.
29
- - The runnable branch is valid only when it contains primary or named input. A
30
- colon override without runnable input is invalid and never changes the
31
- session. Slash setting commands change `SessionSetting` without creating a
32
- run.
29
+ - The runnable branch requires primary or named input, or an explicit runnable
30
+ selection (`:agic`, `:flow`, or `:runnable`). An explicit selection may invoke
31
+ a runnable with no input; its signature still validates required parameters.
32
+ Other colon overrides alone are invalid and never change the session. Slash
33
+ setting commands change `SessionSetting` without creating a run.
33
34
 
34
35
  Script, task, and chore surfaces parse the run-only pair of `RunOverride` and
35
36
  `CallInput[str]`; they do not parse `QuickCommand`. Agic, flow, and prompt
@@ -92,6 +93,11 @@ resolvable unqualified ref. `agic` and `flow` are exact shorthand:
92
93
  `default` resets only the generic runnable form. Kind-specific commands treat it
93
94
  as a normal name. Colon runnable commands may carry named runnable input, such
94
95
  as `:agic review focus=security`; slash runnable commands may not.
96
+ `:flow research` invokes `research` with an empty argument map. It may be
97
+ combined with other overrides, such as `:model effort=high` on a preceding
98
+ line. `:runnable default` invokes the surface default, even if the session has
99
+ selected another runnable. These forms do not synthesize an empty primary
100
+ input; `:flow research -` instead supplies `_` as an empty string.
95
101
 
96
102
  Allow and limit bodies accept one or more assignments:
97
103
 
@@ -227,8 +233,10 @@ inside Script input still support fenced capture. The capture form is
227
233
  parser-only state and is not stored in `CallInput[str]`.
228
234
 
229
235
  Plain run-only parsing permits an empty `CallInput[str]` when the selected
230
- runnable accepts no primary or named input. A colon override still requires
231
- primary or named runnable input. Parsing is atomic: any invalid run override,
236
+ runnable accepts empty input. Colon overrides also permit an empty argument map
237
+ when they explicitly select a runnable; missing required input is rejected
238
+ against that runnable's signature. Overrides without an explicit runnable still
239
+ require primary or named input. Parsing is atomic: any invalid run override,
232
240
  named input, include, prompt, or coerced value rejects the complete input.
233
241
 
234
242
  ## Content
@@ -0,0 +1,108 @@
1
+ # Inspect Run Output
2
+
3
+ ## Status
4
+
5
+ Approved by the human on 2026-10-02: add only an `output` view that extracts
6
+ content. Leave presentation to external tools and retain existing format flags.
7
+ Implementation is authorized.
8
+
9
+ ## Goal And Success Criteria
10
+
11
+ Read a Run result without its `Output` and `Local` storage wrappers. `too` is
12
+ an alias for `toolang`.
13
+
14
+ ```sh
15
+ too SCRIPT inspect RUN output
16
+ too SCRIPT inspect RUN output | rich -m
17
+ too SCRIPT inspect RUN output | rich --json
18
+ too SCRIPT inspect RUN output | jq '.'
19
+ too SCRIPT inspect RUN output --json
20
+ ```
21
+
22
+ Text is emitted without interpretation; structured results are JSON. JSON
23
+ renderers require structured output or text that itself contains valid JSON.
24
+ The view does not perform presentation, colorization, wrapping, or truncation.
25
+
26
+ ## Baseline Behavior
27
+
28
+ Before this feature, `inspect` supports `RUN tree`, `STEP call`, and canonical
29
+ field Pointers such as `RUN/output/local/value`. Pointer JSON returns raw stored
30
+ data without dereferencing it. `RunStore.resolve_local()` already resolves
31
+ nested references and validates their types; this feature reuses that resolver.
32
+
33
+ ## Scope And Design
34
+
35
+ Register `output` as a terminal projector for whole Runs alongside `tree`.
36
+ Step, Thread, Control, collection, and field subjects reject it using existing
37
+ allowed-view errors. Keep Pointer grammar and existing views unchanged. Do not
38
+ add commands, formatting flags, aliases, latest-Run selection, Run-ID prefixes,
39
+ or implicit script selection.
40
+
41
+ Within the existing inspection read transaction, resolve `run.output.local`
42
+ and serialize its `value` with `local_to_protocol_data()`. Omit binding, type,
43
+ dimension, and synthetic envelopes. Preserve every nested field, list element,
44
+ Part, and scalar type in JSON. This resolved JSON can differ from raw
45
+ `RUN/output/local/value --json` when the stored result contains references.
46
+
47
+ If the Run has no output, fail with exit code 1 and its ID and status, without
48
+ writing a result to stdout. Present null and empty values succeed. Read any
49
+ present output regardless of Run status; do not wait or infer a last-Step
50
+ result. Missing Runs, broken references, cycles, and validation errors retain
51
+ existing inspection error handling.
52
+
53
+ ## Output Contract
54
+
55
+ | Resolved value | Default / `--human` | `--json` |
56
+ | --- | --- | --- |
57
+ | Text | Original text | JSON string |
58
+ | Part / Part[] containing TextPart | Concatenated TextPart bodies in order | Complete serialized value |
59
+ | Empty Part array | Empty body | Empty JSON array |
60
+ | Other values, including nontext Parts | Complete indented JSON | Complete serialized value |
61
+
62
+ Preserve text whitespace, tabs, Markdown, and code fences without trimming or
63
+ rendering. Add a final newline only when nonempty text lacks one; empty text
64
+ emits nothing. Textual Parts may omit reasoning and nontext content from their
65
+ default view; JSON always preserves the full value. Use exact Part type
66
+ compatibility rather than a name suffix, so authored structs such as
67
+ `ReportPart` remain structured data. Never parse strings to infer JSON types.
68
+
69
+ Output is identical in terminals and pipes. Do not add ANSI codes, metadata
70
+ headings, footers, width-based wrapping, or truncation, even under `FORCE_COLOR`.
71
+ The existing `--human` and `--json` flags remain mutually exclusive. Raw Pointer
72
+ inspection remains available for wrappers and provenance.
73
+
74
+ ## Touchpoints
75
+
76
+ - `src/toolang/cli/toolang/commands/inspect.py`: projector registration,
77
+ resolution, content extraction, plain output, and registry-derived help.
78
+ - `tests/unit/cli/test_inspect_subject_navigation.py`: grammar and registry.
79
+ - `tests/unit/cli/test_inspect_rendering.py`: exact Part classification and
80
+ identical plain output on terminals and pipes.
81
+ - `tests/integration/cli/test_local_core_commands.py`: offline acceptance.
82
+ - `docs/api.md`: syntax, output contract, resolved JSON, and errors.
83
+
84
+ No persistence, schema, execution, API, plugin, or entry-point changes are
85
+ required. Historical script selection and execution-store opening are unchanged.
86
+
87
+ ## Acceptance Tests
88
+
89
+ 1. Text and textual Parts emit complete unrendered content. Assert exact
90
+ whitespace, Markdown, code fences, Unicode, and long-content preservation.
91
+ 2. Empty text emits nothing; whitespace-only text retains its whitespace.
92
+ JSON round-trips null, empty containers, scalars, Parts, and nested values.
93
+ 3. Terminal and piped output contain no added ANSI codes, including under
94
+ forced-color environments. Narrow terminal widths do not alter content.
95
+ 4. Nontext Parts and custom struct arrays, including empty `ReportPart[]`,
96
+ emit complete JSON instead of crashing or disappearing.
97
+ 5. Direct, chained, and nested references resolve. Missing targets, cycles,
98
+ and type errors fail without partial stdout; raw Pointer JSON is unchanged.
99
+ 6. Missing output reports Run/status context. Missing history creates no store.
100
+ Script inspection reads history without running the script.
101
+ 7. Only whole Runs accept `output`; existing format conflicts still fail.
102
+ Help lists the view without new options; Pointer, tree, and call views stay
103
+ compatible. The default lint, format, type, and full offline checks pass.
104
+
105
+ ## Risks And Open Questions
106
+
107
+ Resolving large outputs can be expensive; retain the current unbounded
108
+ inspection model. There are no remaining product questions.
@@ -0,0 +1,158 @@
1
+ # Script Run Context
2
+
3
+ ## Status, goal, and success criteria
4
+
5
+ Approved for implementation on 2026-10-02. The human confirmed the presentation
6
+ decisions below and requested implementation and a pull request.
7
+
8
+ Show the root runnable and resolved run-level model configuration when Script
9
+ execution starts. Users can identify the run before its first output and retain
10
+ that context in terminal scrollback and redirected progress logs.
11
+
12
+ ## Verified current behavior
13
+
14
+ - Chat's `RunControlBlock` shows runnable, request model, and reasoning. Its
15
+ foreground `▮` marker is bright cyan, on the input surface background.
16
+ - Script's `ScriptRunPresenter._begin_root` creates a `RunBlock` without
17
+ printing it. Projected Steps are followed by a root footer on `RunEnd`.
18
+ - Script progress uses stderr by default for both TTY and non-TTY streams;
19
+ `-q` suppresses it. Non-TTY progress is append-only and ANSI-free.
20
+ - `RunBegin` contains the runnable but no model. Local `resolve_spec` supplies
21
+ `spec.model_request`; remote execution constructs a concrete `RunRequest`
22
+ before dispatch. Presentation can receive this context without new events.
23
+
24
+ ## Proposed presentation
25
+
26
+ Print one stable context header immediately before the root's first projected
27
+ Step, triggered by its `RunBegin`:
28
+
29
+ ```text
30
+ ‣ agic:review deepseek/deepseek-chat · auto
31
+
32
+ • Review output.
33
+
34
+ ▪︎ run_one succeeded 2s · 1 model · ↑340 ↓86
35
+ ```
36
+
37
+ The model and metrics above are illustrative, not a command invocation.
38
+
39
+ - Use `‣` to indicate the start of execution. Keep the entire header dim,
40
+ including marker, runnable, model, reasoning, and separators, on the
41
+ terminal's default background. Add no accent color or bold text.
42
+ - Anchor `‣ RUNNABLE` at column zero, with one space after the marker. Anchor
43
+ `MODEL · REASONING` at the right edge of the available progress width, using
44
+ at least two spaces between the groups. There is no dot between the left and
45
+ right groups. This follows the existing root footer's two-ended alignment.
46
+ Add no box, filled background, horizontal rule, input echo, timer, or new
47
+ Run ID. The existing footer retains identity and metrics.
48
+ - Keep one blank line between the header and subsequent progress; coordinate
49
+ with existing first-Step spacing to avoid duplicate gaps. An empty run keeps
50
+ one blank line between its header and footer. Add no leading blank line.
51
+ - Print once and retain the header in scrollback. Do not put it in Rich Live,
52
+ repaint it on resize, or repeat it at completion.
53
+ - Use the existing configured maximum progress width, capped by TTY width;
54
+ align to this content edge, not a wider terminal edge. If both groups cannot
55
+ fit with the two-space minimum gap, render the runnable first, then the
56
+ model/reasoning group on continuation lines, left-aligned two cells from the
57
+ left, matching the footer's narrow layout. Wrap by display cells, preferring
58
+ field boundaries; omit the separator when reasoning moves to its own line.
59
+ Hard-wrap a field that cannot fit; preserve its text rather than ellipsizing
60
+ model or runnable identities.
61
+ At widths of one or two cells, drop marker and indentation to preserve a
62
+ usable text area. Escape control characters and render values as literal text.
63
+ - Non-TTY uses the same marker, fields, order, and wrapping, without ANSI or
64
+ cursor movement. Quiet mode prints no header; stdout remains unchanged.
65
+
66
+ A narrow layout can therefore look like:
67
+
68
+ ```text
69
+ ‣ agic:review
70
+ deepseek/deepseek-chat · auto
71
+ ```
72
+
73
+ ## Context semantics and lifecycle
74
+
75
+ - The header describes the root run's initial configuration, not the active
76
+ descendant or a guarantee that all model calls use that configuration.
77
+ Keep existing nested Run and Step presentation unchanged.
78
+ - Use the root `RunBegin.runnable` and the same compact runnable display as
79
+ Chat, including `agic:_` for an unnamed entry. Do not expose generated entry
80
+ identities. If the event's runnable is empty, use the resolved submission
81
+ runnable; if neither exists, display `runnable unspecified`.
82
+ - Pass the concrete local `spec.model_request` or remote `request.model` into
83
+ the Script presenter before dispatch. Do not display the raw CLI selector,
84
+ infer the model from the first model Step, or perform store/network reads in
85
+ event callbacks.
86
+ - Show the resolved model ref and same reasoning display semantics as Chat,
87
+ falling back to `auto` when a model exists without explicit reasoning.
88
+ As in Chat, `auto` describes an unspecified reasoning setting; it does not
89
+ claim provider-reported effort. With no model request, show
90
+ `model unspecified` and omit reasoning, including for a model-free Flow.
91
+ - Create the context before starting execution, but emit only on root
92
+ `RunBegin`. Validation, preparation, or submission failure before that event
93
+ produces no header. A root failure or cancellation after it retains the
94
+ header and existing terminal footer/error behavior.
95
+ - Limit this change to Script invocation. Never display this header in Chat
96
+ TUI; its existing run control bar remains unchanged. Keep the header in the
97
+ Script presenter, outside the shared `ProgressProjector`. Retry/rerun and
98
+ presenter callers without supplied context retain their existing output.
99
+ Nested `RunBegin` events never create this header.
100
+
101
+ ## Scope and implementation touchpoints
102
+
103
+ - `src/toolang/cli/toolang/commands/script.py`: supply local and remote resolved
104
+ context before dispatch, preserving quiet mode and cleanup.
105
+ - `src/toolang/cli/common/script_progress/presenter.py`: accept optional
106
+ context and emit the header at root start.
107
+ - `src/toolang/cli/common/script_progress/blocks.py`: own context rendering,
108
+ spacing, and width behavior through the existing `ProgressConsole`.
109
+ - `tests/unit/cli/test_script_run_presenter.py` and
110
+ `tests/unit/cli/test_script_command.py`: renderer and context wiring coverage.
111
+ - `tests/integration/cli/test_script_local.py` and
112
+ `tests/integration/cli/test_script_remote_execution.py`: offline parity and
113
+ stream behavior.
114
+ - `docs/execution-presentation.md`: document the Script-owned root context
115
+ exception to the shared projector's no-Run-header contract.
116
+
117
+ No new flags, dependencies, persisted fields, execution events, provider calls,
118
+ per-Step model labels, or changes to result saving and exit codes.
119
+
120
+ ## Acceptance tests
121
+
122
+ 1. A root header appears exactly once before Step output; nested runs and
123
+ completion do not repeat it. Empty, failed, and canceled runs retain correct
124
+ spacing and their existing footer semantics.
125
+ 2. Local and remote paths display the resolved model and runnable after CLI,
126
+ session, and input overrides, including remote model selector materialization.
127
+ Local invocation retains its existing exact-model-ref requirement.
128
+ 3. Named and unnamed runnables, explicit reasoning, automatic reasoning, and
129
+ absent model requests follow the field rules. Child model changes do not
130
+ rewrite the root snapshot.
131
+ 4. TTY styling keeps the entire header dim on the default background. The
132
+ runnable starts at the left edge and model/reasoning ends at the progress
133
+ width, separated by at least two spaces. Non-TTY content is equivalent after
134
+ style removal and contains no ANSI or cursor controls.
135
+ 5. Long refs, wide Unicode, literal markup, control characters, and very narrow
136
+ widths fit the width budget without silently dropping identity text. Cover
137
+ the exact two-space threshold and stacked fallback, and verify marker width.
138
+ 6. Quiet mode and errors before `RunBegin` emit no header. stdout, result
139
+ saving, exit codes, and presenter callers without context are unchanged.
140
+ Chat TUI emits no Script context header and retains its existing control bar.
141
+ 7. Run the repository's default Ruff, formatting, ty, and offline pytest checks
142
+ before implementation commits. Definition-only verification checks source
143
+ accuracy, referenced paths, and `git diff --check`.
144
+
145
+ ## Tradeoffs, risks, and open questions
146
+
147
+ A stable header remains useful in logs, but can scroll off-screen during long
148
+ runs. A pinned bar would require another live surface and would not give
149
+ non-TTY logs the same persistent context. Wrapping costs extra lines on narrow
150
+ terminals in exchange for retaining complete model identity.
151
+
152
+ The main semantic risk is confusing the root model setting with every model
153
+ used by a Flow. Keep the documented snapshot meaning and do not label it as
154
+ the currently executing model.
155
+
156
+ The human selected `‣`, an entirely dim header, alignment at both ends, and
157
+ Script-only visibility with no new header in Chat TUI, then approved
158
+ implementation. No open questions remain.
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "toolang"
7
- version = "0.3.2"
7
+ version = "0.3.3"
8
8
  description = "A programming language and runtime for agents"
9
9
  readme = "README.md"
10
10
  license = { file = "LICENSE" }
@@ -0,0 +1,6 @@
1
+ {
2
+ "dirty": false,
3
+ "revision": "a79c073ce2fcc26088c5ac1dfb1f93931ffe048c",
4
+ "schema": 1,
5
+ "source_version": "v0.3.3"
6
+ }
@@ -5,6 +5,7 @@ from __future__ import annotations
5
5
  from collections.abc import Sequence
6
6
  from dataclasses import dataclass
7
7
 
8
+ from markdown_it.token import Token
8
9
  from rich.console import Console, ConsoleOptions, Group, RenderableType, RenderResult
9
10
  from rich.markdown import (
10
11
  BlockQuote,
@@ -34,25 +35,22 @@ _STYLES: dict[ProgressTone, str] = {
34
35
  "warning": "yellow",
35
36
  }
36
37
  RUN_DIVIDER_WIDTH = 42
37
- TERMINAL_MARKDOWN_THEME = Theme({"markdown.code": "bold cyan"})
38
38
  _SCRIPT_CODE_BACKGROUND = "bright_black"
39
39
  _SCRIPT_CODE_FOREGROUND = "bright_white"
40
40
 
41
- _ANSI_CODE_THEME = Syntax.get_theme("ansi_dark")
42
-
43
41
 
44
42
  class _ProgressCodeTheme(SyntaxTheme):
45
- """Use terminal-owned ANSI token colors on one configured surface."""
43
+ """Add a default foreground while preserving the syntax theme's tokens."""
46
44
 
47
- def __init__(self, *, background: str, foreground: str | None) -> None:
48
- self._background = background
45
+ def __init__(self, theme: SyntaxTheme, *, foreground: str) -> None:
46
+ self._theme = theme
49
47
  self._foreground = foreground
50
48
 
51
49
  def get_style_for_token(self, token_type: TokenType) -> Style:
52
- return _ANSI_CODE_THEME.get_style_for_token(token_type)
50
+ return self._theme.get_style_for_token(token_type)
53
51
 
54
52
  def get_background_style(self) -> Style:
55
- return Style(color=self._foreground, bgcolor=self._background)
53
+ return self._theme.get_background_style() + Style(color=self._foreground)
56
54
 
57
55
 
58
56
  class _ProgressHeading(Heading):
@@ -84,22 +82,45 @@ class _ProgressHorizontalRule(HorizontalRule):
84
82
  class _ProgressCodeBlock(CodeBlock):
85
83
  """Render fenced code with the shared terminal-native palette."""
86
84
 
85
+ @classmethod
86
+ def create(cls, markdown: Markdown, token: Token) -> _ProgressCodeBlock:
87
+ assert isinstance(markdown, _ProgressMarkdown)
88
+ lexer_name = (token.info or "").partition(" ")[0] or "text"
89
+ return cls(
90
+ lexer_name,
91
+ markdown.code_theme,
92
+ background=markdown.code_background,
93
+ foreground=markdown.code_foreground,
94
+ )
95
+
96
+ def __init__(
97
+ self,
98
+ lexer_name: str,
99
+ theme: str,
100
+ *,
101
+ background: str,
102
+ foreground: str | None,
103
+ ) -> None:
104
+ super().__init__(lexer_name, theme)
105
+ self.background = background
106
+ self.foreground = foreground
107
+
87
108
  def __rich_console__(
88
109
  self,
89
110
  console: Console,
90
111
  options: ConsoleOptions,
91
112
  ) -> RenderResult:
92
113
  code = str(self.text).rstrip()
93
- foreground, separator, background = self.theme.partition("|")
94
- if not separator:
95
- background = self.theme
114
+ theme: str | SyntaxTheme = self.theme
115
+ if self.foreground is not None:
116
+ theme = _ProgressCodeTheme(
117
+ Syntax.get_theme(self.theme), foreground=self.foreground
118
+ )
96
119
  yield Syntax(
97
120
  code,
98
121
  self.lexer_name,
99
- theme=_ProgressCodeTheme(
100
- background=background,
101
- foreground=foreground or None,
102
- ),
122
+ theme=theme,
123
+ background_color=self.background,
103
124
  word_wrap=True,
104
125
  padding=(1, 2),
105
126
  )
@@ -208,6 +229,17 @@ class _ProgressMarkdown(Markdown):
208
229
  "table_open": _ProgressTableElement,
209
230
  }
210
231
 
232
+ def __init__(
233
+ self,
234
+ markup: str,
235
+ *,
236
+ code_background: str,
237
+ code_foreground: str | None,
238
+ ) -> None:
239
+ super().__init__(markup, code_theme="ansi_dark")
240
+ self.code_background = code_background
241
+ self.code_foreground = code_foreground
242
+
211
243
 
212
244
  def progress_block_renderable(
213
245
  block: ProgressBlock,
@@ -737,14 +769,21 @@ class _MarkdownRow:
737
769
  prefix = self.row.prefix
738
770
  prefix_width = display_width(prefix)
739
771
  content_width = max(1, width - prefix_width)
740
- segments = console.render(
741
- _ProgressMarkdown(
742
- self.row.text,
743
- code_theme=f"{self.code_foreground or ''}|{self.code_background}",
744
- ),
745
- options.update_width(content_width),
772
+ inline_code_style = console.get_style("markdown.code", default="none") + Style(
773
+ bgcolor=self.code_background
746
774
  )
747
- lines = list(Segment.split_lines(segments))
775
+ with console.use_theme(
776
+ Theme({"markdown.code": inline_code_style}, inherit=False)
777
+ ):
778
+ segments = console.render(
779
+ _ProgressMarkdown(
780
+ self.row.text,
781
+ code_background=self.code_background,
782
+ code_foreground=self.code_foreground,
783
+ ),
784
+ options.update_width(content_width),
785
+ )
786
+ lines = list(Segment.split_lines(segments))
748
787
  preserve_background = True
749
788
  while lines and not _line_has_content(
750
789
  lines[0], preserve_background=preserve_background
@@ -0,0 +1,16 @@
1
+ """Pure model presentation shared by CLI surfaces."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from toolang.base.types.model import ModelRequest
6
+
7
+
8
+ def model_reasoning_value(model: ModelRequest) -> str | None:
9
+ """Return one explicit effort level or token budget for display."""
10
+
11
+ reasoning = model.reasoning
12
+ if reasoning is None:
13
+ return None
14
+ if reasoning.effort is not None:
15
+ return reasoning.effort
16
+ return str(reasoning.budget_tokens) if reasoning.budget_tokens is not None else None