docs: polyglot engines — install + usage for all 5 languages#17
Merged
Conversation
Add docs/Polyglot-Engines.md: a single reference for the published polyglot engine library across Rust, TypeScript, Python, Go, and C#. Covers what it is + the engine/service topology, the at-parity feature surface, and a verified minimal "hello agent" (mock provider, one turn) per language with the actual install command, package name/version, and API. Each example was checked against the real engine source/tests so the type and method names match (e.g. Rust Agent/AgentConfig/MockLlmClient with_llm_provider; TS SmoothAgent/MockLlmProvider.pushText; Python async run; Go NewSmoothAgent/Run(ctx,…,nil); C# RunAsync). Adds a streaming subsection (TS runStream StreamEvent union) and links each engine dir + the parity eval suite. Points to the doc from the README repository layout section. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01U7Mn93HpqhSgEmX6tRdPAv
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The repo ships the agent engine in five languages (Rust, TypeScript, Python, Go, C#/.NET), all now published and consumable, but there was no single page telling a consumer how to install each one and write a first agent. The README's repository-layout table still lists TS/Python/C# as "Planned."
Solution
Adds
docs/Polyglot-Engines.md:smooth-operator-coreis the polyglot ENGINE library (in-process agentic loop, the "LangGraph" analog); the separatesmooth-operatorrepo is the SYSTEM/service that consumes it (the "Onyx" analog). Parity is enforced by behavior via a shared eval suite, not identical type shapes.runStreamStreamEventtagged union.Verification
Every example was checked against the real engine source / tests so the type and method names are accurate:
rust/smooth-operator-core/src/agent.rs(Agent,AgentConfig::new,with_llm_provider,run→Conversation),llm_provider.rs(MockLlmClient,push_text,Clone),lib.rsexports (mock is underllm_provider::),providers.rs/llm.rs(LlmConfig::openrouter),conversation.rs(last_assistant_content).typescript/core/src/index.tsexports,agent.ts(SmoothAgentctor takesChatClientLike+AgentOptions,run→AgentRunResponse.text,runStream→StreamEventunion),llmProvider.ts(MockLlmProvider implements ChatClientLike,pushText).python/core/src/smooth_operator_core/__init__.py,agent.py(SmoothAgent(chat_client, options), asyncrun→result.text,AgentOptionsdataclass all-default),llm_provider.py(MockLlmProvider.push_text); matched againstpython/core/tests/test_agent.py.go/core/agent.go(NewSmoothAgent,Run(ctx, msg, history)→AgentRunResponse.Text,AgentOptionsstruct),llm_provider.go(NewMockLlmProvider().PushText); matched againstgo/core/agent_test.go. Import path…/go/core(packagecore).dotnet/core/src/SmoothAgent.cs(RunAsync,RunStreamingAsync),LlmProvider.cs(MockLlmProvider : IChatClient,PushText),AgentOptions.cs,AgentRunResponse.cs(Text).Markdown matches the repo's existing prose/code style (long prose lines and gofmt tabs in the Go block; the repo has no markdownlint config and its own README runs lines >80 chars).
🤖 Generated with Claude Code