samva 0.10.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.
Files changed (71) hide show
  1. package/README.md +59 -9
  2. package/dist/client/sdk.gen.d.ts +1126 -219
  3. package/dist/client/types.gen.d.ts +11655 -6311
  4. package/dist/{client-mI4S99Ts.js → client-Cj1bqIEe.js} +5169 -1639
  5. package/dist/{client-attribution-Bl4nTEsE.js → client-attribution-BTWYSXxo.js} +2 -2
  6. package/dist/effect/analytics.d.ts +18 -18
  7. package/dist/effect/analytics.js +1 -1
  8. package/dist/effect/api-keys.d.ts +99 -43
  9. package/dist/effect/api-keys.js +2 -4
  10. package/dist/effect/attachments.d.ts +5 -6
  11. package/dist/effect/attachments.js +1 -1
  12. package/dist/effect/brands.d.ts +4 -4
  13. package/dist/effect/brands.js +2 -2
  14. package/dist/effect/campaigns.d.ts +30 -60
  15. package/dist/effect/campaigns.js +1 -1
  16. package/dist/effect/client.js +1 -1
  17. package/dist/effect/contact-groups.d.ts +29 -46
  18. package/dist/effect/contact-groups.js +1 -1
  19. package/dist/effect/contacts.d.ts +324 -726
  20. package/dist/effect/contacts.js +10 -2
  21. package/dist/effect/conversations.d.ts +575 -1130
  22. package/dist/effect/conversations.js +14 -2
  23. package/dist/effect/custom-fields.d.ts +3 -53
  24. package/dist/effect/custom-fields.js +1 -1
  25. package/dist/effect/email.d.ts +349 -298
  26. package/dist/effect/email.js +9 -3
  27. package/dist/effect/extension-installations.d.ts +218 -0
  28. package/dist/effect/extension-installations.js +25 -0
  29. package/dist/effect/extensions.d.ts +192 -0
  30. package/dist/effect/extensions.js +19 -0
  31. package/dist/effect/feedback.d.ts +12 -0
  32. package/dist/effect/feedback.js +13 -0
  33. package/dist/effect/generated.d.ts +33011 -15519
  34. package/dist/effect/index.d.ts +6 -1
  35. package/dist/effect/index.js +7 -2
  36. package/dist/effect/internal/client.d.ts +3 -0
  37. package/dist/effect/internal/mailbox-events.d.ts +11 -0
  38. package/dist/effect/internal/operation.d.ts +20 -374
  39. package/dist/effect/mailboxes.d.ts +1676 -0
  40. package/dist/effect/mailboxes.js +3 -0
  41. package/dist/effect/media.d.ts +5 -5
  42. package/dist/effect/media.js +1 -1
  43. package/dist/effect/messages.d.ts +171 -938
  44. package/dist/effect/messages.js +6 -2
  45. package/dist/effect/namespaces.d.ts +82 -0
  46. package/dist/effect/namespaces.js +19 -0
  47. package/dist/effect/operations.d.ts +68 -12
  48. package/dist/effect/operations.js +1 -1
  49. package/dist/effect/organizations.d.ts +5 -4
  50. package/dist/effect/organizations.js +1 -1
  51. package/dist/effect/pagination.d.ts +16 -21
  52. package/dist/effect/scheduled-messages.d.ts +13 -23
  53. package/dist/effect/scheduled-messages.js +1 -1
  54. package/dist/effect/templates.d.ts +204 -281
  55. package/dist/effect/templates.js +2 -2
  56. package/dist/effect/unsubscribe-groups.d.ts +21 -75
  57. package/dist/effect/unsubscribe-groups.js +1 -1
  58. package/dist/effect/webhooks.d.ts +117 -39
  59. package/dist/effect/webhooks.js +2 -2
  60. package/dist/index.js +3 -2
  61. package/dist/mailbox-events-CsbF35vH.js +629 -0
  62. package/dist/mailbox-events.d.ts +178 -0
  63. package/dist/mailboxes-BtcktcNB.js +147 -0
  64. package/dist/{operation-DQWJO4jY.js → operation-BEghYyLu.js} +411 -67
  65. package/dist/promises/errors.gen.d.ts +5 -0
  66. package/dist/promises/index.d.ts +23 -1
  67. package/dist/promises/index.js +3 -2
  68. package/dist/promises/types.gen.d.ts +1 -1
  69. package/dist/{promises-C7D4oaHn.js → promises-BzrwhHEW.js} +3273 -547
  70. package/dist/service-map.d.ts +468 -36
  71. package/package.json +22 -2
@@ -1,12 +1,14 @@
1
1
  import { t as __exportAll } from "../rolldown-runtime-D7D4PA-g.js";
2
- import { i as sendMessage, n as make } from "../operation-DQWJO4jY.js";
2
+ import { i as sendMessage, n as make } from "../operation-BEghYyLu.js";
3
3
  //#region src/effect/messages.ts
4
4
  var messages_exports = /* @__PURE__ */ __exportAll({
5
5
  get: () => get,
6
+ getContent: () => getContent,
6
7
  getEmail: () => getEmail,
7
8
  getEvents: () => getEvents,
8
9
  getStatus: () => getStatus,
9
10
  list: () => list,
11
+ listDeliveries: () => listDeliveries,
10
12
  remove: () => remove,
11
13
  send: () => send,
12
14
  validateEmail: () => validateEmail
@@ -19,7 +21,9 @@ const getEmail = make("messagesGetEmail");
19
21
  const remove = make("messagesRemove");
20
22
  const getStatus = make("messagesGetStatus");
21
23
  const getEvents = make("messagesGetEvents");
24
+ const listDeliveries = make("messagesListDeliveries");
25
+ const getContent = make("messagesGetContent");
22
26
  //#endregion
23
- export { get, getEmail, getEvents, getStatus, list, remove, send, messages_exports as t, validateEmail };
27
+ export { get, getContent, getEmail, getEvents, getStatus, list, listDeliveries, remove, send, messages_exports as t, validateEmail };
24
28
 
25
29
  //# sourceMappingURL=messages.js.map
@@ -0,0 +1,82 @@
1
+ export declare const list: ((input?: {
2
+ readonly limit?: string | null | undefined;
3
+ readonly cursor?: string | null | undefined;
4
+ readonly after?: string | null | undefined;
5
+ readonly before?: string | null | undefined;
6
+ } | undefined) => import("effect/Effect").Effect<{
7
+ readonly items: readonly {
8
+ readonly id: string & import("effect/Brand").Brand<"NamespaceId">;
9
+ readonly name: string;
10
+ readonly createdAt: string;
11
+ }[];
12
+ readonly nextCursor: string | null;
13
+ }, import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError | import("./generated").ValidationError, import("./client").Service>) & {
14
+ readonly pages: (input?: {
15
+ readonly limit?: string | null | undefined;
16
+ readonly cursor?: string | null | undefined;
17
+ readonly after?: string | null | undefined;
18
+ readonly before?: string | null | undefined;
19
+ } | undefined) => import("effect/Stream").Stream<{
20
+ readonly items: readonly {
21
+ readonly id: string & import("effect/Brand").Brand<"NamespaceId">;
22
+ readonly name: string;
23
+ readonly createdAt: string;
24
+ }[];
25
+ readonly nextCursor: string | null;
26
+ }, import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError | import("./generated").ValidationError, import("./client").Service>;
27
+ readonly items: (input?: {
28
+ readonly limit?: string | null | undefined;
29
+ readonly cursor?: string | null | undefined;
30
+ readonly after?: string | null | undefined;
31
+ readonly before?: string | null | undefined;
32
+ } | undefined) => import("effect/Stream").Stream<{
33
+ readonly id: string & import("effect/Brand").Brand<"NamespaceId">;
34
+ readonly name: string;
35
+ readonly createdAt: string;
36
+ }, import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError | import("./generated").ValidationError, import("./client").Service>;
37
+ };
38
+ export declare const create: (input: {
39
+ readonly name: string;
40
+ readonly metadata?: {
41
+ readonly [x: string]: string | undefined;
42
+ } | null | undefined;
43
+ }) => import("effect/Effect").Effect<{
44
+ readonly id: string & import("effect/Brand").Brand<"NamespaceId">;
45
+ readonly name: string;
46
+ readonly createdAt: string;
47
+ readonly metadata: {
48
+ readonly [x: string]: string;
49
+ };
50
+ readonly updatedAt: string;
51
+ }, import("./generated").ConflictError | import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError | import("./generated").ValidationError, import("./client").Service>;
52
+ export declare const get: (input: {
53
+ readonly id: string;
54
+ }) => import("effect/Effect").Effect<{
55
+ readonly id: string & import("effect/Brand").Brand<"NamespaceId">;
56
+ readonly name: string;
57
+ readonly createdAt: string;
58
+ readonly metadata: {
59
+ readonly [x: string]: string;
60
+ };
61
+ readonly updatedAt: string;
62
+ }, import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError | import("./generated").ValidationError, import("./client").Service>;
63
+ export declare const update: (input: {
64
+ readonly id: string;
65
+ readonly name?: string | null | undefined;
66
+ readonly metadata?: {
67
+ readonly [x: string]: string | null | undefined;
68
+ } | null | undefined;
69
+ }) => import("effect/Effect").Effect<{
70
+ readonly id: string & import("effect/Brand").Brand<"NamespaceId">;
71
+ readonly name: string;
72
+ readonly createdAt: string;
73
+ readonly metadata: {
74
+ readonly [x: string]: string;
75
+ };
76
+ readonly updatedAt: string;
77
+ }, import("./generated").ConflictError | import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError | import("./generated").ValidationError, import("./client").Service>;
78
+ export declare const remove: (input: {
79
+ readonly id: string;
80
+ }) => import("effect/Effect").Effect<{
81
+ readonly success: boolean;
82
+ }, import("./generated").ConflictError | import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError | import("./generated").ValidationError, import("./client").Service>;
@@ -0,0 +1,19 @@
1
+ import { t as __exportAll } from "../rolldown-runtime-D7D4PA-g.js";
2
+ import { n as make } from "../operation-BEghYyLu.js";
3
+ //#region src/effect/namespaces.ts
4
+ var namespaces_exports = /* @__PURE__ */ __exportAll({
5
+ create: () => create,
6
+ get: () => get,
7
+ list: () => list,
8
+ remove: () => remove,
9
+ update: () => update
10
+ });
11
+ const list = make("namespacesList");
12
+ const create = make("namespacesCreate");
13
+ const get = make("namespacesGet");
14
+ const update = make("namespacesUpdate");
15
+ const remove = make("namespacesRemove");
16
+ //#endregion
17
+ export { create, get, list, remove, namespaces_exports as t, update };
18
+
19
+ //# sourceMappingURL=namespaces.js.map
@@ -1,6 +1,6 @@
1
- export declare const list: (input?: {
2
- readonly page?: string | null | undefined;
1
+ export declare const list: ((input?: {
3
2
  readonly limit?: string | null | undefined;
3
+ readonly cursor?: string | null | undefined;
4
4
  readonly kind?: string | null | undefined;
5
5
  readonly status?: string | null | undefined;
6
6
  } | undefined) => import("effect/Effect").Effect<{
@@ -27,14 +27,70 @@ export declare const list: (input?: {
27
27
  readonly startedAt: string | null;
28
28
  readonly completedAt: string | null;
29
29
  }[];
30
- readonly pagination: {
31
- readonly page: number;
32
- readonly limit: number;
33
- readonly total: number;
34
- };
35
- }, import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>;
30
+ readonly nextCursor: string | null;
31
+ }, import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError | import("./generated").ValidationError, import("./client").Service>) & {
32
+ readonly pages: (input?: {
33
+ readonly limit?: string | null | undefined;
34
+ readonly cursor?: string | null | undefined;
35
+ readonly kind?: string | null | undefined;
36
+ readonly status?: string | null | undefined;
37
+ } | undefined) => import("effect/Stream").Stream<{
38
+ readonly items: readonly {
39
+ readonly id: string & import("effect/Brand").Brand<"OperationId">;
40
+ readonly organizationId: string;
41
+ readonly kind: "email-domain-provisioning" | "organization-deletion";
42
+ readonly subject: {
43
+ readonly type: string;
44
+ readonly id: string;
45
+ };
46
+ readonly actor: {
47
+ readonly type: "api-key" | "system" | "user";
48
+ readonly id: string;
49
+ };
50
+ readonly status: "failed" | "pending" | "running" | "succeeded";
51
+ readonly phase: "accepted" | "completed" | "deleting" | "dispatching" | "finalizing" | "provisioning";
52
+ readonly error: {
53
+ readonly code: "capacity-unavailable" | "conflict" | "internal" | "rejected" | "timed-out" | "unavailable" | "validation-failed";
54
+ readonly message: string;
55
+ } | null;
56
+ readonly createdAt: string;
57
+ readonly updatedAt: string;
58
+ readonly startedAt: string | null;
59
+ readonly completedAt: string | null;
60
+ }[];
61
+ readonly nextCursor: string | null;
62
+ }, import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError | import("./generated").ValidationError, import("./client").Service>;
63
+ readonly items: (input?: {
64
+ readonly limit?: string | null | undefined;
65
+ readonly cursor?: string | null | undefined;
66
+ readonly kind?: string | null | undefined;
67
+ readonly status?: string | null | undefined;
68
+ } | undefined) => import("effect/Stream").Stream<{
69
+ readonly id: string & import("effect/Brand").Brand<"OperationId">;
70
+ readonly organizationId: string;
71
+ readonly kind: "email-domain-provisioning" | "organization-deletion";
72
+ readonly subject: {
73
+ readonly type: string;
74
+ readonly id: string;
75
+ };
76
+ readonly actor: {
77
+ readonly type: "api-key" | "system" | "user";
78
+ readonly id: string;
79
+ };
80
+ readonly status: "failed" | "pending" | "running" | "succeeded";
81
+ readonly phase: "accepted" | "completed" | "deleting" | "dispatching" | "finalizing" | "provisioning";
82
+ readonly error: {
83
+ readonly code: "capacity-unavailable" | "conflict" | "internal" | "rejected" | "timed-out" | "unavailable" | "validation-failed";
84
+ readonly message: string;
85
+ } | null;
86
+ readonly createdAt: string;
87
+ readonly updatedAt: string;
88
+ readonly startedAt: string | null;
89
+ readonly completedAt: string | null;
90
+ }, import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError | import("./generated").ValidationError, import("./client").Service>;
91
+ };
36
92
  export declare const get: (input: {
37
- readonly operationId: string;
93
+ readonly id: string;
38
94
  }) => import("effect/Effect").Effect<{
39
95
  readonly id: string & import("effect/Brand").Brand<"OperationId">;
40
96
  readonly organizationId: string;
@@ -57,9 +113,9 @@ export declare const get: (input: {
57
113
  readonly updatedAt: string;
58
114
  readonly startedAt: string | null;
59
115
  readonly completedAt: string | null;
60
- }, import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>;
116
+ }, import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError | import("./generated").ValidationError, import("./client").Service>;
61
117
  export declare const retry: (input: {
62
- readonly operationId: string;
118
+ readonly id: string;
63
119
  }) => import("effect/Effect").Effect<{
64
120
  readonly operation: {
65
121
  readonly id: string & import("effect/Brand").Brand<"OperationId">;
@@ -94,4 +150,4 @@ export declare const retry: (input: {
94
150
  readonly href: string;
95
151
  };
96
152
  };
97
- }, import("./generated").ConflictError | import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>;
153
+ }, import("./generated").ConflictError | import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError | import("./generated").ValidationError, import("./client").Service>;
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "../rolldown-runtime-D7D4PA-g.js";
2
- import { n as make } from "../operation-DQWJO4jY.js";
2
+ import { n as make } from "../operation-BEghYyLu.js";
3
3
  //#region src/effect/operations.ts
4
4
  var operations_exports = /* @__PURE__ */ __exportAll({
5
5
  get: () => get,
@@ -49,12 +49,12 @@ export declare const get: (_?: never) => import("effect/Effect").Effect<{
49
49
  readonly conversationsUsed: number;
50
50
  readonly teamMembersUsed: number;
51
51
  readonly messagesResetAt: string | null;
52
- }, import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>;
52
+ }, import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError | import("./generated").ValidationError, import("./client").Service>;
53
53
  export declare const getProfile: (_?: never) => import("effect/Effect").Effect<{
54
54
  readonly id: string;
55
55
  readonly name: string;
56
56
  readonly nickname: string;
57
- }, import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>;
57
+ }, import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError | import("./generated").ValidationError, import("./client").Service>;
58
58
  export declare const update: (input?: {
59
59
  readonly name?: string | null | undefined;
60
60
  readonly slug?: string | null | undefined;
@@ -116,7 +116,8 @@ export declare const update: (input?: {
116
116
  readonly messagesResetAt: string | null;
117
117
  }, import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError | import("./generated").ValidationError, import("./client").Service>;
118
118
  export declare const getUsage: (input?: {
119
- readonly period?: string | null | undefined;
119
+ readonly after?: string | null | undefined;
120
+ readonly before?: string | null | undefined;
120
121
  } | undefined) => import("effect/Effect").Effect<{
121
122
  readonly usage: {
122
123
  readonly periodStart: string;
@@ -132,7 +133,7 @@ export declare const getUsage: (input?: {
132
133
  readonly overageEmails: number | null;
133
134
  readonly overageCost: number | null;
134
135
  };
135
- }, import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>;
136
+ }, import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError | import("./generated").ValidationError, import("./client").Service>;
136
137
  declare const deleteOrganization: (input: {
137
138
  readonly confirmationName: string;
138
139
  } & {
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "../rolldown-runtime-D7D4PA-g.js";
2
- import { n as make } from "../operation-DQWJO4jY.js";
2
+ import { n as make } from "../operation-BEghYyLu.js";
3
3
  //#region src/effect/organizations.ts
4
4
  var organizations_exports = /* @__PURE__ */ __exportAll({
5
5
  create: () => create,
@@ -1,16 +1,16 @@
1
1
  /**
2
2
  * Stream pagination for the Effect SDK.
3
3
  *
4
- * Every list operation whose success value is the uniform page envelope —
5
- * `{ items, pagination: { page, limit, total, totalPages } }` — gains `.pages()`
6
- * and `.items()` companions on its domain operation. `.pages()`
7
- * streams the raw envelopes; `.items()` flattens them into a stream of items.
4
+ * Every list operation whose success value is a page envelope gains `.pages()`
5
+ * and `.items()` companions on its domain operation. `.pages()` streams the raw
6
+ * envelopes; `.items()` flattens them into a stream of items. Every list pages
7
+ * by cursor, `{ items, nextCursor }`: each step passes the previous page's
8
+ * `nextCursor` as `cursor`, and the walk stops at a null `nextCursor`.
8
9
  *
9
10
  * The traversal is **lazy**: built on `Stream.paginate` (a pull-based source),
10
11
  * so each page is fetched only as the stream is consumed — `Stream.take(n)`
11
- * stops requesting further pages. Caller params (start `page`, `limit`, filters)
12
- * are respected; only `page` is advanced per step, and the walk stops once the
13
- * server-echoed `page` reaches `totalPages`.
12
+ * stops requesting further pages. Caller params (the start `cursor`,
13
+ * `limit`, filters) are respected; only the position is advanced per step.
14
14
  *
15
15
  * Retry is **not** re-applied here: the underlying domain operation is already
16
16
  * wrapped in the ambient {@link import("./retry").Service} policy (reads are
@@ -18,20 +18,15 @@
18
18
  * with retry instead of nesting retries.
19
19
  */
20
20
  import { Effect, Stream } from "effect";
21
- /** The uniform page envelope every paginated list operation returns. */
22
- export interface PageEnvelope<Item> {
21
+ /** The page envelope every list operation returns: `nextCursor` is null on the last page. */
22
+ export interface CursorPageEnvelope<Item> {
23
23
  readonly items: ReadonlyArray<Item>;
24
- readonly pagination: {
25
- readonly page: number;
26
- readonly limit: number;
27
- readonly total: number;
28
- readonly totalPages: number;
29
- };
24
+ readonly nextCursor: string | null;
30
25
  }
31
- /** A module list operation: direct-param input to one decoded page envelope. */
32
- type ListOperation<Input, Item, E, R> = (input: Input) => Effect.Effect<PageEnvelope<Item>, E, R>;
33
- /** Stream the raw page envelopes, one per request, from the caller's start page. */
34
- export declare const streamPages: <Input, Item, E, R>(operation: ListOperation<Input, Item, E, R>, input: Input) => Stream.Stream<PageEnvelope<Item>, E, R>;
35
- /** Stream individual items across pages, fetching the next page only when pulled. */
36
- export declare const streamItems: <Input, Item, E, R>(operation: ListOperation<Input, Item, E, R>, input: Input) => Stream.Stream<Item, E, R>;
26
+ /** A module list operation that pages by cursor. */
27
+ type CursorListOperation<Input, Item, E, R> = (input: Input) => Effect.Effect<CursorPageEnvelope<Item>, E, R>;
28
+ /** Stream the raw cursor page envelopes, one per request, from the caller's start cursor. */
29
+ export declare const streamCursorPages: <Input, Item, E, R>(operation: CursorListOperation<Input, Item, E, R>, input: Input) => Stream.Stream<CursorPageEnvelope<Item>, E, R>;
30
+ /** Stream individual items across cursor pages, fetching the next page only when pulled. */
31
+ export declare const streamCursorItems: <Input, Item, E, R>(operation: CursorListOperation<Input, Item, E, R>, input: Input) => Stream.Stream<Item, E, R>;
37
32
  export {};
@@ -1,7 +1,7 @@
1
1
  export declare const list: ((input?: {
2
- readonly status?: string | null | undefined;
3
- readonly page?: string | null | undefined;
4
2
  readonly limit?: string | null | undefined;
3
+ readonly cursor?: string | null | undefined;
4
+ readonly status?: string | null | undefined;
5
5
  } | undefined) => import("effect/Effect").Effect<{
6
6
  readonly items: readonly {
7
7
  readonly id: string & import("effect/Brand").Brand<"ScheduledMessageId">;
@@ -82,17 +82,12 @@ export declare const list: ((input?: {
82
82
  readonly createdAt: string;
83
83
  readonly updatedAt: string;
84
84
  }[];
85
- readonly pagination: {
86
- readonly page: number;
87
- readonly limit: number;
88
- readonly total: number;
89
- readonly totalPages: number;
90
- };
91
- }, import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>) & {
85
+ readonly nextCursor: string | null;
86
+ }, import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError | import("./generated").ValidationError, import("./client").Service>) & {
92
87
  readonly pages: (input?: {
93
- readonly status?: string | null | undefined;
94
- readonly page?: string | null | undefined;
95
88
  readonly limit?: string | null | undefined;
89
+ readonly cursor?: string | null | undefined;
90
+ readonly status?: string | null | undefined;
96
91
  } | undefined) => import("effect/Stream").Stream<{
97
92
  readonly items: readonly {
98
93
  readonly id: string & import("effect/Brand").Brand<"ScheduledMessageId">;
@@ -173,17 +168,12 @@ export declare const list: ((input?: {
173
168
  readonly createdAt: string;
174
169
  readonly updatedAt: string;
175
170
  }[];
176
- readonly pagination: {
177
- readonly page: number;
178
- readonly limit: number;
179
- readonly total: number;
180
- readonly totalPages: number;
181
- };
182
- }, import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>;
171
+ readonly nextCursor: string | null;
172
+ }, import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError | import("./generated").ValidationError, import("./client").Service>;
183
173
  readonly items: (input?: {
184
- readonly status?: string | null | undefined;
185
- readonly page?: string | null | undefined;
186
174
  readonly limit?: string | null | undefined;
175
+ readonly cursor?: string | null | undefined;
176
+ readonly status?: string | null | undefined;
187
177
  } | undefined) => import("effect/Stream").Stream<{
188
178
  readonly id: string & import("effect/Brand").Brand<"ScheduledMessageId">;
189
179
  readonly status: "cancelled" | "dispatched" | "dispatching" | "failed" | "paused" | "pending";
@@ -262,7 +252,7 @@ export declare const list: ((input?: {
262
252
  readonly memberRole: string;
263
253
  readonly createdAt: string;
264
254
  readonly updatedAt: string;
265
- }, import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>;
255
+ }, import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError | import("./generated").ValidationError, import("./client").Service>;
266
256
  };
267
257
  export declare const create: (input: {
268
258
  readonly send: {
@@ -539,7 +529,7 @@ export declare const get: (input: {
539
529
  readonly memberRole: string;
540
530
  readonly createdAt: string;
541
531
  readonly updatedAt: string;
542
- }, import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>;
532
+ }, import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError | import("./generated").ValidationError, import("./client").Service>;
543
533
  export declare const cancel: (input: {
544
534
  readonly id: string;
545
535
  }) => import("effect/Effect").Effect<{
@@ -623,7 +613,7 @@ export declare const cancel: (input: {
623
613
  readonly createdAt: string;
624
614
  readonly updatedAt: string;
625
615
  };
626
- }, import("./generated").ConflictError | import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError, import("./client").Service>;
616
+ }, import("./generated").ConflictError | import("./generated").ForbiddenError | import("./generated").GatewayTimeoutError | import("effect/http/HttpClientError").HttpClientError | import("./generated").InternalError | import("./generated").ResourceNotFoundError | import("effect/Schema").SchemaError | import("./generated").UnauthorizedError | import("./generated").ValidationError, import("./client").Service>;
627
617
  export declare const resume: (input: {
628
618
  readonly id: string;
629
619
  readonly choice: string;
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "../rolldown-runtime-D7D4PA-g.js";
2
- import { n as make } from "../operation-DQWJO4jY.js";
2
+ import { n as make } from "../operation-BEghYyLu.js";
3
3
  //#region src/effect/scheduled-messages.ts
4
4
  var scheduled_messages_exports = /* @__PURE__ */ __exportAll({
5
5
  cancel: () => cancel,