Feat v0.9.5 typed forms sdk #79

Merged
xcaliber merged 3 commits from feat/v0.9.5-typed-forms-sdk into main 2026-04-03 17:04:29 +00:00

3 Commits

Author SHA1 Message Date
50c5665215 Chore v0.9.5 version bump + changelog
All checks were successful
CI/CD / detect-changes (pull_request) Successful in 4s
CI/CD / test-runners (pull_request) Has been skipped
CI/CD / e2e-smoke (pull_request) Has been skipped
CI/CD / test-frontend (pull_request) Successful in 6s
CI/CD / test-go-pg (pull_request) Successful in 2m49s
CI/CD / test-sqlite (pull_request) Successful in 3m4s
CI/CD / build-and-deploy (pull_request) Successful in 1m21s
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 16:59:19 +00:00
f40973c298 Fix sw.forms.render() preact globals
Use window.html + hooks destructuring to match existing SDK
primitive conventions (confirm.js, toast.js pattern).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 16:57:38 +00:00
89d64ab2aa Feat v0.9.5 typed forms SDK primitive
Extract typed form system from models/workflow.go into standalone
server/forms/ package. Any package can now declare and validate
forms, not just workflow stages.

- New server/forms/ package (types + validation + condition evaluator)
- REST POST /api/v1/forms/validate endpoint
- Starlark forms.validate(template, data) module
- Frontend sw.forms.render(), .validate(), .validateRemote()
- Manifest form_template accepted at package level
- 16 new tests (12 forms + 4 Starlark module)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 16:54:02 +00:00