Class: MisarMail::StreamingResource
- Defined in:
- lib/misar_mail/client.rb
Overview
The two Server-Sent Events endpoints.
Both live outside /v1, so they use API_BASE. Both are API-key
authenticated and metered, so a plan refusal on open raises PlanLimitError
exactly as a non-streaming call would.
Instance Method Summary collapse
-
#campaign_send(campaign_id, &block) ⇒ Object
GET /api/campaigns/id/send-stream — live send progress.
-
#generate_email(**options, &block) ⇒ Object
POST /api/ai/generate-email/stream — token-by-token generation.
Methods inherited from Resource
Constructor Details
This class inherits a constructor from MisarMail::Resource
Instance Method Details
#campaign_send(campaign_id, &block) ⇒ Object
GET /api/campaigns/id/send-stream — live send progress.
577 578 579 580 |
# File 'lib/misar_mail/client.rb', line 577 def campaign_send(campaign_id, &block) path = "/campaigns/#{ERB::Util.url_encode(campaign_id)}/send-stream" @client.sse_stream(:get, path, nil, &block) end |
#generate_email(**options, &block) ⇒ Object
POST /api/ai/generate-email/stream — token-by-token generation.
mail.streaming.generate_email(prompt: "...") do |frame|
print frame.data["delta"]
end
Returns an Enumerator when no block is given.
572 573 574 |
# File 'lib/misar_mail/client.rb', line 572 def generate_email(**, &block) @client.sse_stream(:post, "/ai/generate-email/stream", , &block) end |