Skip to content

Add installable environment factory package#7

Open
ayushozha wants to merge 3 commits into
Autonoma-AI:mainfrom
ayushozha:codex/environment-factory-sdk
Open

Add installable environment factory package#7
ayushozha wants to merge 3 commits into
Autonoma-AI:mainfrom
ayushozha:codex/environment-factory-sdk

Conversation

@ayushozha
Copy link
Copy Markdown

@ayushozha ayushozha commented Apr 6, 2026

Summary

  • add a new @autonoma/environment-factory package that lets customer apps mount the Environment Factory protocol as a reusable server instead of rewriting the endpoint by hand
  • add shared typed request schemas for discover / up / down
  • add both package-level HTTP E2E tests and an Autonoma compatibility test that drives the new server through Autonoma's own WebhookClient

Why I did this

The current Environment Factory integration is powerful, but it is still very docs- and example-driven. Every customer has to re-implement the same signed endpoint, refs token handling, scenario routing, and production guard logic.

This package turns that repeated integration work into an installable primitive. It moves the product closer to plug-and-play onboarding, reduces security mistakes in customer implementations, and gives us a stable contract we can wrap with framework adapters and an autonoma.config.ts layer later.

Why this is valuable

  • reduces per-customer setup work for one of the most important onboarding steps
  • standardizes HMAC verification and refs token signing/verification in one place
  • gives us a foundation for framework-specific adapters and a future CLI/init flow
  • adds compatibility coverage showing the new package works with Autonoma's existing scenario client over real HTTP

Validation

  • pnpm --filter @autonoma/environment-factory test
  • pnpm --filter @autonoma/environment-factory typecheck
  • pnpm --filter @autonoma/scenario exec vitest run test/environment-factory-compat.test.ts
  • pnpm --filter @autonoma/job-diffs typecheck

CC @tomaspiaggio @chiara-ciriani

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant