feat(core): global forms support (#35106)

This commit is contained in:
Aiden Cline 2026-07-03 03:55:15 -05:00 committed by GitHub
commit c167bde6a0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 209 additions and 30 deletions

View file

@ -19,6 +19,25 @@ const input = {
} satisfies Form.CreateInput
describe("Form", () => {
it.effect("supports the temporary global mcp elicitation owner", () =>
Effect.gen(function* () {
const service = yield* Form.Service
const created = yield* service.create({
sessionID: "global",
mode: "form",
fields: [{ key: "name", type: "string", required: true }],
})
expect(created.sessionID).toBe("global")
const owned = yield* service.list({ sessionID: "global" })
expect(owned.map((form) => form.id)).toEqual([created.id])
expect(yield* service.list({ sessionID: "other" })).toEqual([])
yield* service.reply({ id: created.id, answer: { name: "Ava" } })
expect(yield* service.state(created.id)).toEqual({ status: "answered", answer: { name: "Ava" } })
}),
)
it.effect("cleans up created forms when event publication fails", () =>
Effect.gen(function* () {
const service = yield* Form.Service