feat: port all 17 examples to TypeScript, Go, Java, .NET#22
Merged
George-iam merged 6 commits intomainfrom Mar 18, 2026
Merged
Conversation
Port all Python agent/initiator examples (17 files) to 4 additional languages: - TypeScript (17 files): agent.ts / initiator.ts alongside Python files - Go (17 files): agent.go / initiator.go alongside Python files - Java (18 files): Maven project in examples/java/ with shared SseHelper - .NET (18 files): .NET project in examples/dotnet/ with shared SseHelper All examples preserve identical business logic, patterns, and behavior: - delivery: stream, poll, http, inbox - human: cli, email, form - internal: delay, notification, escalation - durability: retry-failure, timeout, reminder-escalation - full: multi-agent - model-a: simple-request, fire-and-forget, manual-multi-step Java/NET use inline SSE polling (SDKs lack built-in listen method). Go uses local replace directive (Listen added after v0.1.1 tag). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Go SDK's CreateIntent doesn't auto-generate correlation_id like Python's send_intent. Added newUUID() helper to all 3 initiators. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Same fix as Go — createIntent requires correlation_id field. Java uses UUID.randomUUID(), .NET uses Guid.NewGuid(). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Convert all 17 .cs files from top-level statements to proper classes (C# only allows one top-level statement file per project) - Add System.Net using for HttpListener in HttpAgent.cs - Use $(ExampleClass) MSBuild property for StartupObject selection Run: dotnet build -p:ExampleClass=AxmeExamples.Delivery.StreamAgent Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Major restructuring of the examples repository:
Layout change: each example now has language-specific subdirectories:
examples/<category>/<name>/
├── scenario.json (shared, language-agnostic)
├── README.md
├── python/agent.py
├── typescript/agent.ts
├── go/agent.go
├── java/Agent.java
└── dotnet/Agent.cs
Build configs moved to lang/:
lang/typescript/ (package.json, tsconfig.json)
lang/go/ (go.mod)
lang/java/ (pom.xml, SseHelper.java)
lang/dotnet/ (AxmeExamples.csproj, SseHelper.cs)
Deleted:
- cloud/ (duplicate symlinks to examples/)
- snippets/ (superseded by full multi-lang examples)
- approval-workflow/ (pattern documented in SDK READMEs instead)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.
Summary
agent.ts/initiator.tsalongside Python, using@axme/axmenpm packageagent.go/initiator.goalongside Python, usinggithub.com/AxmeAI/axme-sdk-goexamples/java/with sharedSseHelperfor SSE pollingexamples/dotnet/with sharedSseHelperfor SSE pollingFile layout
examples/<category>/<name>/agent.ts+agent.go(alongsideagent.py)examples/java/src/main/java/ai/axme/examples/<category>/<Name>.javaexamples/dotnet/<Category>/<Name>.csNotes
listen()— SSE helper implements inline agent stream pollingListen()was added after v0.1.1 tag — uses localreplacedirective (needs SDK release or pseudo-version before merge)Test plan
npx tsx examples/delivery/stream/agent.tscompiles and connects to staginggo run examples/delivery/stream/agent.gocompiles and connects to stagingdotnet buildpasses🤖 Generated with Claude Code