@stardeck-customer-apps/testing 0.11.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/SKILL.md CHANGED
@@ -285,7 +285,14 @@ expect(app.edge.latestDisplay()?.action).toBe("show");
285
285
  - `app.issueSession(partial?)` — mint access/refresh tokens for cookie-based
286
286
  auth flows (`__stardeck:sess`).
287
287
  - `app.inbox` — emails sent through the email-sdk: `.latest(addr?)`,
288
- `.to(addr)`, `.all()`, `.count`, `.clear()`.
288
+ `.to(addr)`, `.all()`, `.count`, `.clear()`. Each captured email carries
289
+ `headers` (`{}` when none were set), so a reply that should thread onto an
290
+ inbound conversation can be asserted:
291
+
292
+ ```ts
293
+ expect(app.inbox.latest()?.headers["In-Reply-To"]).toBe("<original@mail.example>");
294
+ ```
295
+
289
296
  - `app.identities` — the platform-identity directory created through
290
297
  integrations-sdk `client.identities`: `.get(id)`, `.links(id)`, `.all()`,
291
298
  `.count`, `.clear()`. The test-only `.seedVerifiedLink(id, { kind,
package/dist/index.d.mts CHANGED
@@ -53,6 +53,11 @@ interface CapturedEmail {
53
53
  html?: string;
54
54
  text?: string;
55
55
  replyTo?: string;
56
+ /**
57
+ * Raw headers the sender attached, e.g. the `In-Reply-To` / `References` pair
58
+ * that threads a reply onto an inbound conversation. Empty when none were set.
59
+ */
60
+ headers: Record<string, string>;
56
61
  attachments: Array<{
57
62
  filename: string;
58
63
  contentType?: string;
package/dist/index.d.ts CHANGED
@@ -53,6 +53,11 @@ interface CapturedEmail {
53
53
  html?: string;
54
54
  text?: string;
55
55
  replyTo?: string;
56
+ /**
57
+ * Raw headers the sender attached, e.g. the `In-Reply-To` / `References` pair
58
+ * that threads a reply onto an inbound conversation. Empty when none were set.
59
+ */
60
+ headers: Record<string, string>;
56
61
  attachments: Array<{
57
62
  filename: string;
58
63
  contentType?: string;
package/dist/index.js CHANGED
@@ -660,6 +660,7 @@ async function handleEmailSend(request) {
660
660
  html: body.html ? String(body.html) : void 0,
661
661
  text: body.text ? String(body.text) : void 0,
662
662
  replyTo: body.replyTo ? String(body.replyTo) : void 0,
663
+ headers: { ...body.headers ?? {} },
663
664
  attachments: (body.attachments ?? []).map((a) => ({
664
665
  filename: String(a.filename ?? ""),
665
666
  contentType: a.contentType ? String(a.contentType) : void 0
package/dist/index.mjs CHANGED
@@ -611,6 +611,7 @@ async function handleEmailSend(request) {
611
611
  html: body.html ? String(body.html) : void 0,
612
612
  text: body.text ? String(body.text) : void 0,
613
613
  replyTo: body.replyTo ? String(body.replyTo) : void 0,
614
+ headers: { ...body.headers ?? {} },
614
615
  attachments: (body.attachments ?? []).map((a) => ({
615
616
  filename: String(a.filename ?? ""),
616
617
  contentType: a.contentType ? String(a.contentType) : void 0
package/dist/setup.js CHANGED
@@ -607,6 +607,7 @@ async function handleEmailSend(request) {
607
607
  html: body.html ? String(body.html) : void 0,
608
608
  text: body.text ? String(body.text) : void 0,
609
609
  replyTo: body.replyTo ? String(body.replyTo) : void 0,
610
+ headers: { ...body.headers ?? {} },
610
611
  attachments: (body.attachments ?? []).map((a) => ({
611
612
  filename: String(a.filename ?? ""),
612
613
  contentType: a.contentType ? String(a.contentType) : void 0
package/dist/setup.mjs CHANGED
@@ -583,6 +583,7 @@ async function handleEmailSend(request) {
583
583
  html: body.html ? String(body.html) : void 0,
584
584
  text: body.text ? String(body.text) : void 0,
585
585
  replyTo: body.replyTo ? String(body.replyTo) : void 0,
586
+ headers: { ...body.headers ?? {} },
586
587
  attachments: (body.attachments ?? []).map((a) => ({
587
588
  filename: String(a.filename ?? ""),
588
589
  contentType: a.contentType ? String(a.contentType) : void 0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stardeck-customer-apps/testing",
3
- "version": "0.11.0",
3
+ "version": "0.12.0",
4
4
  "description": "Vitest test harness for Stardeck customer apps — in-process Postgres (PGlite) plus a control-plane simulator so the real Stardeck SDKs run unmodified in tests",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",