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.
- {toolang-0.3.2 → toolang-0.3.3}/PKG-INFO +1 -1
- {toolang-0.3.2 → toolang-0.3.3}/docs/api.md +40 -6
- {toolang-0.3.2 → toolang-0.3.3}/docs/execution-presentation.md +31 -2
- {toolang-0.3.2 → toolang-0.3.3}/docs/input-syntax.md +14 -6
- toolang-0.3.3/docs/plans/inspect-run-output.md +108 -0
- toolang-0.3.3/docs/plans/script-run-context.md +158 -0
- {toolang-0.3.2 → toolang-0.3.3}/pyproject.toml +1 -1
- toolang-0.3.3/src/toolang/_build_info.json +6 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/execution_progress/rich_rendering.py +61 -22
- toolang-0.3.3/src/toolang/cli/common/model_formatting.py +16 -0
- toolang-0.3.3/src/toolang/cli/common/script_progress/blocks.py +122 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/script_progress/console.py +0 -2
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/script_progress/presenter.py +43 -10
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/chat/blocks.py +1 -1
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/chat/input.py +1 -1
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/chat/policy.py +1 -1
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/chat/rendering.py +0 -7
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/chat/slashes.py +3 -12
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/chat/tui.py +2 -1
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/chat/widgets.py +8 -4
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/inspect.py +47 -3
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/script.py +11 -8
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/calls.py +1 -1
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/adapters/chat_completions.py +8 -5
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/cli/test_local_core_commands.py +312 -7
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/cli/test_script_local.py +67 -1
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/cli/test_script_remote_execution.py +24 -3
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_chat_input.py +23 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_chat_policy.py +1 -1
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_chat_slashes.py +2 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_chat_tui.py +132 -16
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_inspect_rendering.py +64 -3
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_inspect_subject_navigation.py +1 -0
- toolang-0.3.3/tests/unit/cli/test_markdown_colors.py +52 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_script_command.py +52 -2
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_script_run_presenter.py +174 -5
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_calls.py +88 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_models.py +82 -0
- {toolang-0.3.2 → toolang-0.3.3}/uv.lock +1 -1
- toolang-0.3.2/src/toolang/_build_info.json +0 -6
- toolang-0.3.2/src/toolang/cli/common/script_progress/blocks.py +0 -59
- {toolang-0.3.2 → toolang-0.3.3}/.github/workflows/ci.yml +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/.github/workflows/publish-pypi.yml +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/.gitignore +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/AGENTS.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/LICENSE +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/README.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/agent-state.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/call-input.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/caps.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/chat-tui-execution-presentation-draft.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/chat.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/concepts.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/evaluations/web-search-2026-09-29/README.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/evaluations/web-search-2026-09-29/interface-only.jsonl +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/evaluations/web-search-2026-09-29/model-final.json +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/evaluations/web-search-2026-09-29/yahoo-fix.jsonl +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/execution-transcript.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/execution.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/executor.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/flow-syntax.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/ids.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/index.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/layout.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/models.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/package-audit.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/package-testing.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/additional-command-discovery.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/agent-home-shell.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/agent-model-inspection.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/agent-setup-resource-publication.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/agent-state-publication.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/agent-state-revisions.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/agic-messages-and-runtime-context.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/agic-run-step-progress.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/agic-runnable-routing.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/agic-runtime-calls.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/align-chat-session-default-options.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/auto-output-admission.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/bounded-execution-history.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/call-input.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/canonical-execution-record-fields.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/catalog-cli-input.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-control-bar-accent-foreground.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-effective-model-default.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-entry-label.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-input-namespaces.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-queue-panel.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-queue-summary-layout.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-resource-table-presentation.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-run-status-bar.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-show-result-boundary.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-slash-command-feedback.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-slash-command-output.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-status-context.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-status-live-cluster.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-steer-feedback-and-run-context.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-thread-option.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-tui-active-default-status.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-tui-banner-metadata.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-tui-banner.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-tui-root-run-boundaries-and-status.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-tui-runtime-banner.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-tui-status-activity-layout.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/chat-tui-version-caption.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/cli-command-grouping.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/cli-help-command-groups.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/cli-inspection-commands.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/cli-process-titles.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/collection-query-discovery.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/collection-query-language.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/compact-configuration.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/compact-current-agent-authoring-tools.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/compact-resource-directive-groups.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/control-driven-model-assembly.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/control-messages-and-context.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/default-script-progress-output.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/derived-run-retry-and-rerun.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/dev-optional-path.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/docker-guest-bootstrap.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/docker-guest-harness.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/dot-separated-step-paths.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/execution-commit-boundaries.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/execution-control-relations.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/execution-progress-state-machine.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/execution-record-vocabulary.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/execution-value-provenance.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/flat-call-input.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/flow-help-outline.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/flow-modules-phase-1.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/flow-usability.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/focused-inspect-human-output.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/fs-workspace-uris.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/home-command.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/home-prompt.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/init-and-explicit-script-run.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/inspect-controls.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/inspect-execution-trees.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/inspect-navigation-and-presentation.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/inspect-runs-step-count.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/inspect-subject-navigation.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/internal-toolsets.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/lazy-agent-setup-accessors.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/model-call-resource-controls.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/model-catalog-and-cost-accounting.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/model-float-codec.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/model-input-protocol.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/model-message-recording.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/model-output-budget.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/model-plugins.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/model-reasoning-parts.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/model-records.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/model-route-publication.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/model-settings-across-surfaces.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/model-structured-output.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/operational-progress-lifecycle.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/operational-progress-presentation.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/osc-chat-title.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/persist-batched-compaction-run.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/persistent-model-catalog-cache.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/plugin-listing-visibility.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/portable-script-projects.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/portable-setup-and-state-caches.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/progress-focus.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/reasoning-token-presentation.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/remote-chat-tui.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/remote-run-client.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/remove-execution-ejection.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/remove-script-default-option.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/rename-implicit-scratch-workspace-to-lab.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/resource-record-projections.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/root-footer-status-and-color.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/root-run-agent-state-application.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/root-shell.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/run-client.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/run-input-settings.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/run-model-parameters-and-chat-selection.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/run-progress-step-footers.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/runtime-tool-calls.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/runtime-tool-progress.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/runtime-tool-results.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/sandbox-development-wheel.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/sandbox-startup-ux.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/sandboxed-command-execution.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/script-cli-input-usage.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/script-help-layout.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/script-result-saving.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/script-run-summary.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/shell-workspace-scoped-access.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/source-developer-commands.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/source-version-provenance.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/static-source-checks.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/suppress-model-tool-call-parts.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/terminal-adaptive-chat-surfaces.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/terminal-native-markdown-colors.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/thread-control-projections.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/tmux-agent-sessions.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/tmux-control-mode.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/tmux-pane-marks.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/tool-call-terminal-blocks.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/tool-progress.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/toolset-protocol.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/tq-json-collection-queries.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/tree-sitter-toolang-0-2-2-integration.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/tree-sitter-toolang-0-3-0-integration.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/tree-sitter-toolang-0-3-2-integration.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/typed-execution-metadata.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/typed-execution-record-references.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/typed-step-facts.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/unified-inspect-projectors.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/unified-record-pointers-and-inspection.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/unnamed-runnable-identity.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/vercel-ai-gateway-app-attribution.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/web-search-backend-configuration.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plans/workspace-declaration-and-scratch.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/plugins.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/program.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/queries.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/refactor-target.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/run-step-records.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/script-projects.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/source-commands.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/tasks.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/toolang-authoring-conventions.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/tools.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/webui-jobs.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/docs/work.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/examples/caps.too +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/examples/developer.too +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/examples/flows/deep_search.too +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/examples/flows/delivery_plan.too +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/examples/flows/proposal_workshop.too +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/examples/handoffs.too +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/examples/hands.too +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/examples/hello-world.too +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/examples/minimal.too +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/examples/signatures.too +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/examples/structured-output.too +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/hatch_build.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/reference/README.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/reference/build.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/reference/config.toml +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/reference/templates/index.html.jinja2 +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/reference/templates/module.html.jinja2 +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/scripts/benchmark_web_search.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/scripts/try_docker_guest.sh +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/api/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/api/app.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/api/common.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/api/conversion.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/api/router.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/api/routers/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/api/routers/agent.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/api/routers/caps.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/api/routers/jobs.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/api/routers/runs.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/api/routers/threads.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/api/schemas.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/errors.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/examples/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/examples/tools.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/model_settings.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/money.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/protocols/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/protocols/channel.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/protocols/model.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/protocols/sandbox.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/protocols/tool.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/schemas.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/types/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/types/channel.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/types/compaction.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/types/message.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/types/model.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/types/policy.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/types/progress.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/types/run.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/types/sandbox.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/types/tool.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/utils/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/utils/channels.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/utils/function_tools.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/utils/tool_descriptions.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/utils/tools.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/base/utils/workspace_paths.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/catalog/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/catalog/agent.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/catalog/cap.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/catalog/common.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/catalog/config.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/catalog/errors.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/catalog/job.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/catalog/manager.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/catalog/templates/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/catalog/templates/agent.default.too +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/catalog/templates/chore.default.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/catalog/templates/prompt.default.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/catalog/templates/psyche.default.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/catalog/templates/script.default.too +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/catalog/templates/service.default.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/catalog/templates/service.stdio.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/catalog/templates/skill.default.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/catalog/templates/task.default.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/catalog/types.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/caps/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/caps/__main__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/caps/commands.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/caps/main.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/agent_server.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/attachments.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/client.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/context.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/editor.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/errors.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/execution.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/execution_progress/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/execution_progress/config.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/execution_progress/facts.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/execution_progress/formatting.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/execution_progress/headers.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/execution_progress/projector.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/execution_progress/state.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/execution_progress/step_projection.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/execution_progress/streaming_markdown.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/execution_progress/types.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/help.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/human_values.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/lazy.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/model_selection.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/output.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/parameters.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/policy.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/progress.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/records.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/remote_runtime.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/result_saving.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/routing.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/run_client.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/runnable_parameters.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/script_progress/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/terminal_surfaces.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/tmux.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/common/workspaces.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/config.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/__main__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/agent.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/caps.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/chat/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/chat/base.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/chat/events.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/chat/history.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/chat/local.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/chat/main.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/chat/marks.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/chat/presenter.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/chat/remote.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/chat/shortcuts.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/chat/tables.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/chat/title.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/home.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/init.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/job.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/model_catalog.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/plugin.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/program.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/runtime.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/thread.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/commands/workspace.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/main.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/routing.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/cli/toolang/source_output.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/cache.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/config.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/config_sources.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/env_logger.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/errors.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/events.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/files.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/github.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/ids.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/immutable.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/json.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/layout.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/policy.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/progress.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/template.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/text.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/time.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/typer/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/typer/options.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/typer/ui.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/types.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/common/version.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/accounting.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/assembly/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/assembly/history.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/assembly/message_buffer.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/assembly/prompting.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/assembly/prompts/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/assembly/prompts/defaults/context.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/assembly/prompts/defaults/instruct.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/assembly/prompts/protocol.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/assembly/run_results.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/assembly/tool_replies.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/assembly/utils.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/client.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/compaction.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/errors.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/events.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/_persist.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/common.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/content.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/diagnostics.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/executor.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/frame.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/iteration.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/limits.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/resources.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/rules.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/runs/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/runs/agic.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/runs/compact.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/runs/flow.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/steps/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/steps/agent.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/steps/human.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/steps/loop.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/steps/model.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/steps/par.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/steps/run.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/steps/tool.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/steps/value.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/stmts/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/stmts/ask.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/stmts/filter.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/stmts/gather.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/stmts/let.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/stmts/map.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/stmts/repeat.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/stmts/run.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/stmts/scatter.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/stmts/seek.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/stmts/settle.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/stmts/sort.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/stmts/storm.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/tool_history.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/executor/tool_runtime.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/inspection/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/inspection/history.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/inspection/trees.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/inspection/types.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/inspection/views.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/policy.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/recall.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/records.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/remote.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/runnables.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/schemas.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/settings.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/store.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/threads.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/tokens.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/tools/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/tools/_toolang.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/tools/me/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/tools/me/errors.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/tools/me/flows.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/tools/me/handlers.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/tools/me/schemas.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/tools/me/storage.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/tools/me/types.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/types.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/execution/values.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/lang/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/lang/ast.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/lang/contracts.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/lang/cst.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/lang/description.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/lang/errors.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/lang/flow_validation.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/lang/format.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/lang/highlight.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/lang/includes.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/lang/input.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/lang/lower.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/lang/text.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/lang/types.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/lang/validate.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/adapters/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/adapters/_credentials.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/adapters/_errors.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/adapters/_parts.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/adapters/_payload.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/adapters/_structured_output.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/adapters/_tool_calls.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/adapters/_usage.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/adapters/generate_content.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/adapters/messages.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/adapters/responses.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/catalogs/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/catalogs/_local.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/catalogs/llama_cpp.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/catalogs/models_dev/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/catalogs/models_dev/catalog.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/catalogs/models_dev/data/catalog.json +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/catalogs/models_dev/parsing.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/catalogs/models_dev/path.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/catalogs/ollama.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/channels/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/channels/telegram.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/config.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/loading.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/models/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/models/budget.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/models/config.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/models/messages.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/models/query.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/models/records.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/models/resolution.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/sandboxes/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/sandboxes/docker/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/sandboxes/docker/_cli.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/sandboxes/docker/_guest.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/sandboxes/docker/docker_guest.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/sandboxes/docker/docker_guest.sh +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/sandboxes/docker/sandbox.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/sandboxes/host.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/toolsets/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/toolsets/_web_yahoo.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/toolsets/collections.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/toolsets/fs.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/toolsets/history.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/toolsets/loading.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/toolsets/registry.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/toolsets/service.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/toolsets/shell.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/toolsets/web.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/types.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/plugin/values.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/setup/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/setup/cache_environment.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/setup/catalog.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/setup/config.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/setup/errors.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/setup/models.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/setup/revisions.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/setup/routes.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/setup/types.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/setup/watcher.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/state/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/state/builtin.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/state/cache.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/state/collections.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/state/config.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/state/errors.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/state/prepare.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/state/schemas.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/state/source.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/state/state.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/state/types.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/state/watcher.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/up/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/up/config.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/up/core.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/up/logging.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/up/mounts.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/up/process.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/up/records.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/up/sandbox.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/up/server.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/up/types.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/work/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/work/authoring.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/work/errors.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/work/inspection.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/work/records.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/work/scheduler.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/work/schemas.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/work/state.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/work/store.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/work/types.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/src/toolang/work/watcher.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/README.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/architecture/test_dependency_security.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/architecture/test_package_boundaries.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/conftest.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/fixtures/flows/delivery_pipeline.too +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/fixtures/flows/research_pipeline.too +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/fixtures/remote-prompt/rewrite.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/fixtures/remote-psyche/reviewer.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/fixtures/remote-service/github.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/fixtures/remote-skill/pdf-processing/SKILL.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/fixtures/remote-skill/pdf-processing/assets/template.md +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/fixtures/sample.too +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/fixtures/source_only.too +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/api/test_remote_chat_support.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/api/test_remote_runs.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/api/test_streaming.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/catalog/test_job_definitions.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/catalog/test_jobs.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/catalog/test_multiprocess_writes.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/cli/test_chat_local_execution.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/cli/test_chat_remote_execution.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/cli/test_compact_presentation.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/cli/test_editor_commands.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/cli/test_model_catalog_commands.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/cli/test_parse_check.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/cli/test_resource_queries.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/cli/test_runtime_commands.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/cli/test_runtime_progress.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/cli/test_script_live.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/cli/test_source_commands.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/cli/test_tmux_chat_placement.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_agent_state_reload_scenarios.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_agic_runtime_call_scenarios.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_agic_scenarios.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_batched_compact_run.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_block_layout_scenarios.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_bounded_history.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_compact_controls.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_compact_quality_live.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_compact_scenarios.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_control_messages.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_control_relations.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_control_scenarios.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_event_scenarios.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_flow_call_contracts.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_flow_collection_sizes.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_flow_execution.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_flow_pipelines.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_flow_scenarios.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_flow_usability.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_history_tool_scenarios.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_honor_rules.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_live_provider_smoke.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_model_assembly.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_model_message_deltas.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_model_recovery.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_model_step_commit.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_multiprocess_scenarios.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_pick_guidance.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_reasoning_lifecycle.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_resource_visibility.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_run_history_scenarios.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_run_workspace_location.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_runtime_tool_results.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_scheduled_runs.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_shared_tool_execution.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_sort_scenarios.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_store_atomicity_scenarios.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_thread_control_scenarios.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_thread_projection_scenarios.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_thread_store_scenarios.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/execution/test_workspace_uris.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/lang/test_examples.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/plugin/test_agent_state_tool.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/setup/test_lazy_setup.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/up/test_docker_guest.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/up/test_docker_sandbox_lifecycle.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/integration/up/test_sandbox_lifecycle.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/support/__init__.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/support/chat_tui_e2e.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/support/chat_tui_live_e2e.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/support/chat_tui_pty.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/support/chat_tui_remote_e2e.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/support/chat_tui_runner.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/support/execution_assertions.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/support/execution_fixtures.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/support/execution_harness.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/support/live_provider.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/support/prompting.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/support/setup.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/support/typer_ui.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/system/cli/test_chat_tui_e2e.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/system/cli/test_chat_tui_live_e2e.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/system/cli/test_cli_entry_points.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/api/test_app.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/api/test_cap_publication.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/api/test_conversion.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/api/test_workspace_inspection.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/base/test_function_tools.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/base/test_message.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/base/test_model_settings.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/base/test_model_usage.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/base/test_money.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/base/test_tool_names.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/base/test_tool_paths.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/base/test_tool_protocol.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/catalog/test_agent.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/catalog/test_authored_jobs.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/catalog/test_caps.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/catalog/test_manager.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/catalog/test_templates.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_agent_info.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_agent_server.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_agic_run_progress.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_cap_snapshots.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_chat_command.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_chat_history.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_chat_remote.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_chat_terminal_title.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_chat_thread_title.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_cli_help.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_cli_routing.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_cli_run_client.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_cli_transport.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_common_context.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_duration.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_execution_progress_config.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_execution_progress_facts.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_execution_progress_projector.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_home_command.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_markdown_rendering.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_model_selection.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_operational_progress.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_output.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_reasoning_presentation.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_record_tables.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_remote_runtime.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_result_saving.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_run_limits.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_runnable_parameters.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_runtime_tool_progress.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_script_entry.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_source_output.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_streaming_markdown.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_terminal_surfaces.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_thread_commands.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_tmux_launcher.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_tmux_pane_marks.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_tool_progress_rendering.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/cli/test_workspace_options.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/common/test_config_sources.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/common/test_errors.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/common/test_files.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/common/test_github.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/common/test_ids.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/common/test_immutable.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/common/test_layout.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/common/test_progress.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/common/test_resource_policy.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/common/test_time.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/common/test_version.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/common/typer/test_argument_usage.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/common/typer/test_grouped_layout.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/common/typer/test_help_metadata.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/common/typer/test_options.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/common/typer/test_output_width.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/common/typer/test_standalone.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/common/typer/test_typer_ui.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_assembly_utils.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_batched_compaction.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_compact_permit.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_compaction_result.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_control_message_templates.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_empty_model_output.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_events.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_execution_template.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_executor_frame.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_executor_limits.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_executor_spec.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_inspection.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_instruction_boundaries.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_iteration_frames.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_message_delta.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_model_accounting.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_model_budget.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_model_record_contract.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_output_bindings.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_policy.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_prompting.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_prompts.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_recall.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_record_inspection.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_remote_run_client.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_resource_declarations.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_resources.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_route_snapshots.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_run_client.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_run_cwd_store.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_runnable_settings.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_runtime_toolset.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_step_path.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_store_schema.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_tool_context.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_tool_failures.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_tool_step_summary.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_trees.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/execution/test_values.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/lang/test_contracts.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/lang/test_cst.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/lang/test_doc_comments.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/lang/test_flow_syntax_upgrade.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/lang/test_format_contract.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/lang/test_grammar_0_3.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/lang/test_highlight.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/lang/test_input.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/lang/test_program.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/lang/test_program_format.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/lang/test_statement_description.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/lang/test_static_validation.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_adapter_imports.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_builtin_plugins.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_channels.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_config.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_docker_guest_harness.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_filesystem_workspaces.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_history_tools.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_local_models.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_model_catalog.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_model_recovery_wire.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_model_transport_errors.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_plugin_toolsets.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_protocol_adapters.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_reasoning_parts.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_resource_records.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_runtime_collections.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_sandboxes.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_selective_tool_loading.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_tool_descriptions.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_tools.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/plugin/test_web_search.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/setup/test_catalog_declarations.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/setup/test_model_listing.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/setup/test_revisions.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/setup/test_routes.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/setup/test_setup_config.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/setup/test_setup_models.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/setup/test_setup_watcher.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/setup/test_types.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/state/test_authored_source.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/state/test_cache.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/state/test_cap_refs.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/state/test_collections.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/state/test_identity.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/state/test_prepare.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/state/test_source.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/state/test_state_config.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/state/test_watcher.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/test_hatch_build.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/up/test_core.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/up/test_host_identity.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/up/test_logging.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/up/test_mounts.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/up/test_process.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/up/test_sandbox.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/up/test_server.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/up/test_targets.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/work/test_run_binding.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/work/test_scheduler.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/work/test_state.py +0 -0
- {toolang-0.3.2 → toolang-0.3.3}/tests/unit/work/test_store.py +0 -0
|
@@ -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`
|
|
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`
|
|
545
|
-
Pointers and
|
|
546
|
-
|
|
547
|
-
|
|
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
|
-
|
|
57
|
-
|
|
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
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
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
|
|
231
|
-
|
|
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.
|
|
@@ -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
|
-
"""
|
|
43
|
+
"""Add a default foreground while preserving the syntax theme's tokens."""
|
|
46
44
|
|
|
47
|
-
def __init__(self,
|
|
48
|
-
self.
|
|
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
|
|
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
|
|
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
|
-
|
|
94
|
-
if not
|
|
95
|
-
|
|
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=
|
|
100
|
-
|
|
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
|
-
|
|
741
|
-
|
|
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
|
-
|
|
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
|