@greatwait/contracts 0.1.0-alpha.5 → 0.1.0-alpha.7

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 (135) hide show
  1. package/README.md +1 -1
  2. package/dist/attempt-diagnostics.d.ts +8 -0
  3. package/dist/attempt-diagnostics.js +68 -0
  4. package/dist/authority.d.ts +4 -1
  5. package/dist/authority.js +1 -0
  6. package/dist/billing.d.ts +11 -10
  7. package/dist/billing.js +7 -4
  8. package/dist/data-export.d.ts +2 -0
  9. package/dist/delivery.d.ts +43 -40
  10. package/dist/delivery.js +14 -37
  11. package/dist/effective-limits.d.ts +4 -4
  12. package/dist/endpoints.d.ts +173 -5
  13. package/dist/endpoints.js +72 -1
  14. package/dist/first-value-journey.js +4 -4
  15. package/dist/http-request.d.ts +193 -0
  16. package/dist/http-request.js +305 -0
  17. package/dist/identity.d.ts +7 -7
  18. package/dist/index.d.ts +6 -3
  19. package/dist/index.js +5 -2
  20. package/dist/mcp.d.ts +2 -1
  21. package/dist/members.d.ts +141 -0
  22. package/dist/members.js +223 -0
  23. package/dist/oauth.d.ts +7 -0
  24. package/dist/operation-definitions.d.ts +20 -4
  25. package/dist/operation-definitions.js +9 -1
  26. package/dist/operations.d.ts +999 -135
  27. package/dist/operations.js +83 -10
  28. package/dist/organization-lifecycle.d.ts +10 -0
  29. package/dist/policy.js +5 -2
  30. package/dist/scheduling-records.d.ts +332 -8
  31. package/dist/scheduling-records.js +5 -0
  32. package/dist/scheduling.d.ts +485 -18
  33. package/dist/scheduling.js +77 -5
  34. package/dist/secrets.d.ts +7 -0
  35. package/dist/signatures.d.ts +1 -1
  36. package/dist/tenancy.d.ts +1 -1
  37. package/dist/tenancy.js +1 -1
  38. package/dist/test-sink.d.ts +27 -41
  39. package/dist/test-sink.js +12 -31
  40. package/dist/zod-values.d.ts +2 -2
  41. package/dist/zod-values.js +1 -1
  42. package/generated/v1/callback-receiver.json +4 -4
  43. package/generated/v1/examples/endpoints.ensure.request.json +3 -0
  44. package/generated/v1/examples/endpoints.ensure.response.json +20 -0
  45. package/generated/v1/examples/invitations.create.request.json +5 -0
  46. package/generated/v1/examples/invitations.create.response.json +7 -0
  47. package/generated/v1/examples/invitations.list.response.json +11 -0
  48. package/generated/v1/examples/invitations.resend.request.json +1 -0
  49. package/generated/v1/examples/invitations.resend.response.json +4 -0
  50. package/generated/v1/examples/invitations.revoke.request.json +3 -0
  51. package/generated/v1/examples/invitations.revoke.response.json +4 -0
  52. package/generated/v1/examples/members.list.response.json +13 -0
  53. package/generated/v1/examples/members.remove.request.json +3 -0
  54. package/generated/v1/examples/members.remove.response.json +4 -0
  55. package/generated/v1/examples/members.role.request.json +3 -0
  56. package/generated/v1/examples/members.role.response.json +4 -0
  57. package/generated/v1/examples/projectmembers.add.request.json +1 -0
  58. package/generated/v1/examples/projectmembers.add.response.json +4 -0
  59. package/generated/v1/examples/projectmembers.remove.request.json +3 -0
  60. package/generated/v1/examples/projectmembers.remove.response.json +4 -0
  61. package/generated/v1/first-value-journey.json +4 -4
  62. package/generated/v1/manifest.json +284 -0
  63. package/generated/v1/openapi.json +9387 -1021
  64. package/generated/v1/policy-matrix.json +72 -0
  65. package/generated/v1/schemas/attempts.list.response.json +105 -0
  66. package/generated/v1/schemas/attempts.read.response.json +105 -0
  67. package/generated/v1/schemas/billing.notices.response.json +16 -6
  68. package/generated/v1/schemas/context.read.response.json +1 -0
  69. package/generated/v1/schemas/credentials.connection.response.json +1 -0
  70. package/generated/v1/schemas/credentials.create.request.json +1 -0
  71. package/generated/v1/schemas/credentials.create.response.json +1 -0
  72. package/generated/v1/schemas/credentials.list.response.json +1 -0
  73. package/generated/v1/schemas/credentials.revoke.response.json +1 -0
  74. package/generated/v1/schemas/credentials.rotate.response.json +2 -0
  75. package/generated/v1/schemas/endpoints.acknowledgeSigningKeyRotation.response.json +59 -0
  76. package/generated/v1/schemas/endpoints.create.request.json +74 -0
  77. package/generated/v1/schemas/endpoints.create.response.json +59 -0
  78. package/generated/v1/schemas/endpoints.disable.response.json +59 -0
  79. package/generated/v1/schemas/endpoints.enable.response.json +59 -0
  80. package/generated/v1/schemas/endpoints.ensure.request.json +91 -0
  81. package/generated/v1/schemas/endpoints.ensure.response.json +169 -0
  82. package/generated/v1/schemas/endpoints.list.response.json +59 -0
  83. package/generated/v1/schemas/endpoints.read.response.json +59 -0
  84. package/generated/v1/schemas/endpoints.rotateSigningKey.response.json +59 -0
  85. package/generated/v1/schemas/endpoints.update.request.json +74 -0
  86. package/generated/v1/schemas/endpoints.update.response.json +59 -0
  87. package/generated/v1/schemas/grants.list.response.json +1 -0
  88. package/generated/v1/schemas/grants.revoke.response.json +1 -0
  89. package/generated/v1/schemas/invitations.create.request-headers.json +13 -0
  90. package/generated/v1/schemas/invitations.create.request.json +24 -0
  91. package/generated/v1/schemas/invitations.create.response.json +31 -0
  92. package/generated/v1/schemas/invitations.list.response.json +40 -0
  93. package/generated/v1/schemas/invitations.resend.request-headers.json +13 -0
  94. package/generated/v1/schemas/invitations.resend.request.json +6 -0
  95. package/generated/v1/schemas/invitations.resend.response.json +27 -0
  96. package/generated/v1/schemas/invitations.revoke.request-headers.json +13 -0
  97. package/generated/v1/schemas/invitations.revoke.request.json +12 -0
  98. package/generated/v1/schemas/invitations.revoke.response.json +27 -0
  99. package/generated/v1/schemas/members.list.response.json +53 -0
  100. package/generated/v1/schemas/members.remove.request-headers.json +13 -0
  101. package/generated/v1/schemas/members.remove.request.json +12 -0
  102. package/generated/v1/schemas/members.remove.response.json +27 -0
  103. package/generated/v1/schemas/members.role.request-headers.json +13 -0
  104. package/generated/v1/schemas/members.role.request.json +12 -0
  105. package/generated/v1/schemas/members.role.response.json +27 -0
  106. package/generated/v1/schemas/occurrences.redeliver.response.json +105 -0
  107. package/generated/v1/schemas/projectmembers.add.request-headers.json +13 -0
  108. package/generated/v1/schemas/projectmembers.add.request.json +6 -0
  109. package/generated/v1/schemas/projectmembers.add.response.json +27 -0
  110. package/generated/v1/schemas/projectmembers.remove.request-headers.json +13 -0
  111. package/generated/v1/schemas/projectmembers.remove.request.json +12 -0
  112. package/generated/v1/schemas/projectmembers.remove.response.json +27 -0
  113. package/generated/v1/schemas/schedules.archive.response.json +188 -1
  114. package/generated/v1/schemas/schedules.cancel.response.json +188 -1
  115. package/generated/v1/schemas/schedules.create.request.json +164 -1
  116. package/generated/v1/schemas/schedules.create.response.json +206 -1
  117. package/generated/v1/schemas/schedules.list.response.json +188 -1
  118. package/generated/v1/schemas/schedules.pause.response.json +188 -1
  119. package/generated/v1/schemas/schedules.read.response.json +188 -1
  120. package/generated/v1/schemas/schedules.replace.request.json +164 -1
  121. package/generated/v1/schemas/schedules.replace.response.json +206 -1
  122. package/generated/v1/schemas/schedules.resume.response.json +188 -1
  123. package/generated/v1/snippets/endpoints.create.json +1 -1
  124. package/generated/v1/snippets/endpoints.ensure.json +6 -0
  125. package/generated/v1/snippets/invitations.create.json +6 -0
  126. package/generated/v1/snippets/invitations.list.json +6 -0
  127. package/generated/v1/snippets/invitations.resend.json +6 -0
  128. package/generated/v1/snippets/invitations.revoke.json +6 -0
  129. package/generated/v1/snippets/journey/create-destination.json +1 -1
  130. package/generated/v1/snippets/members.list.json +6 -0
  131. package/generated/v1/snippets/members.remove.json +6 -0
  132. package/generated/v1/snippets/members.role.json +6 -0
  133. package/generated/v1/snippets/projectmembers.add.json +6 -0
  134. package/generated/v1/snippets/projectmembers.remove.json +6 -0
  135. package/package.json +1 -1
@@ -0,0 +1,305 @@
1
+ import { z } from "./zod.js";
2
+ export const HTTP_HEADER_BOUNDS = {
3
+ count: 32,
4
+ nameBytes: 128,
5
+ valueBytes: 8192,
6
+ totalBytes: 16384,
7
+ };
8
+ export const HTTP_METHODS = ["POST", "PUT", "GET"];
9
+ const encoder = new TextEncoder();
10
+ /** Platform-owned authentication, content and transport fields cannot be overridden. */
11
+ export function reservedHttpHeaderReason(name) {
12
+ const lower = name.toLowerCase();
13
+ if (lower.startsWith("callback-"))
14
+ return "reserved for callback signing and completion";
15
+ if (lower.startsWith("content-"))
16
+ return "reserved for body content and framing";
17
+ if (/^(proxy-|x-forwarded-|sec-|cf-)/u.test(lower) || lower === "forwarded")
18
+ return "reserved for trusted proxy and platform metadata";
19
+ if ([
20
+ "host",
21
+ "connection",
22
+ "keep-alive",
23
+ "transfer-encoding",
24
+ "te",
25
+ "trailer",
26
+ "upgrade",
27
+ "expect",
28
+ "accept-encoding",
29
+ "cookie2",
30
+ ].includes(lower))
31
+ return "reserved for transport";
32
+ return undefined;
33
+ }
34
+ export const httpHeaderNameSchema = z
35
+ .string()
36
+ .min(1)
37
+ .superRefine((name, ctx) => {
38
+ if (!/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/u.test(name))
39
+ ctx.addIssue({
40
+ code: "custom",
41
+ message: "header name must be an HTTP token",
42
+ });
43
+ if (encoder.encode(name).byteLength > HTTP_HEADER_BOUNDS.nameBytes)
44
+ ctx.addIssue({
45
+ code: "custom",
46
+ message: "header name exceeds 128 bytes",
47
+ });
48
+ const reason = reservedHttpHeaderReason(name);
49
+ if (reason !== undefined)
50
+ ctx.addIssue({ code: "custom", message: `${name}: ${reason}` });
51
+ });
52
+ export const httpHeaderValueSchema = z.string().superRefine((value, ctx) => {
53
+ if (Array.from(value).some((character) => {
54
+ const point = character.codePointAt(0);
55
+ return point < 32 || (point >= 127 && point <= 159) || point > 255;
56
+ }) ||
57
+ value.trim() !== value)
58
+ ctx.addIssue({
59
+ code: "custom",
60
+ message: "header value must contain faithfully transmitted Latin-1 text without controls or surrounding whitespace",
61
+ });
62
+ if (encoder.encode(value).byteLength > HTTP_HEADER_BOUNDS.valueBytes)
63
+ ctx.addIssue({
64
+ code: "custom",
65
+ message: "header value exceeds 8192 bytes",
66
+ });
67
+ });
68
+ export const headerChangeSchema = z.discriminatedUnion("action", [
69
+ z
70
+ .object({
71
+ action: z.literal("set"),
72
+ name: httpHeaderNameSchema,
73
+ value: httpHeaderValueSchema,
74
+ secret: z.boolean().optional(),
75
+ })
76
+ .strict(),
77
+ z.object({ action: z.literal("keep"), name: httpHeaderNameSchema }).strict(),
78
+ z
79
+ .object({ action: z.literal("remove"), name: httpHeaderNameSchema })
80
+ .strict(),
81
+ z
82
+ .object({ action: z.literal("suppress"), name: httpHeaderNameSchema })
83
+ .strict(),
84
+ ]);
85
+ export const headerChangesSchema = z
86
+ .array(headerChangeSchema)
87
+ .max(HTTP_HEADER_BOUNDS.count * 2)
88
+ .superRefine((rows, ctx) => {
89
+ const seen = new Set();
90
+ let total = 0;
91
+ rows.forEach((row, index) => {
92
+ const name = row.name.toLowerCase();
93
+ if (seen.has(name))
94
+ ctx.addIssue({
95
+ code: "custom",
96
+ path: [index, "name"],
97
+ message: "duplicate header name (case insensitive)",
98
+ });
99
+ seen.add(name);
100
+ if (row.action === "set")
101
+ total +=
102
+ encoder.encode(row.name).byteLength +
103
+ encoder.encode(row.value).byteLength;
104
+ });
105
+ if (rows.filter((row) => row.action === "set" || row.action === "suppress")
106
+ .length > HTTP_HEADER_BOUNDS.count)
107
+ ctx.addIssue({
108
+ code: "custom",
109
+ message: "headers exceed 32 configured headers",
110
+ });
111
+ if (total > HTTP_HEADER_BOUNDS.totalBytes)
112
+ ctx.addIssue({
113
+ code: "custom",
114
+ message: "headers exceed 16384 total bytes",
115
+ });
116
+ });
117
+ export const endpointHeaderChangesSchema = headerChangesSchema.superRefine((rows, ctx) => {
118
+ rows.forEach((row, index) => {
119
+ if (row.action === "suppress")
120
+ ctx.addIssue({
121
+ code: "custom",
122
+ path: [index, "action"],
123
+ message: "only a schedule can suppress an inherited header",
124
+ });
125
+ });
126
+ });
127
+ export const publicHttpHeaderSchema = z.union([
128
+ z
129
+ .object({
130
+ name: httpHeaderNameSchema,
131
+ secret: z.literal(false),
132
+ value: httpHeaderValueSchema,
133
+ })
134
+ .strict(),
135
+ z
136
+ .object({
137
+ name: httpHeaderNameSchema,
138
+ secret: z.literal(true),
139
+ configured: z.literal(true),
140
+ // Remains forbidden after response schemas are opened for additive metadata.
141
+ value: z.never().optional(),
142
+ })
143
+ .strict(),
144
+ z
145
+ .object({ name: httpHeaderNameSchema, suppressed: z.literal(true) })
146
+ .strict(),
147
+ ]);
148
+ export const httpRequestSchema = z
149
+ .object({
150
+ method: z.enum(HTTP_METHODS).optional(),
151
+ body: z
152
+ .discriminatedUnion("mode", [
153
+ z.object({ mode: z.literal("envelope") }).strict(),
154
+ z.object({ mode: z.literal("json"), value: z.json() }).strict(),
155
+ ])
156
+ .optional(),
157
+ headers: headerChangesSchema.optional(),
158
+ })
159
+ .strict()
160
+ .superRefine((http, ctx) => {
161
+ if (http.method === "GET" && http.body !== undefined)
162
+ ctx.addIssue({
163
+ code: "custom",
164
+ path: ["body"],
165
+ message: "GET must be bodyless; omit body",
166
+ });
167
+ });
168
+ export const publicHttpRequestSchema = z
169
+ .object({
170
+ method: z.enum(HTTP_METHODS),
171
+ body: z.discriminatedUnion("mode", [
172
+ z.object({ mode: z.literal("envelope") }).strict(),
173
+ z.object({ mode: z.literal("none") }).strict(),
174
+ z
175
+ .object({ mode: z.literal("json"), value: z.json().optional() })
176
+ .strict(),
177
+ ]),
178
+ headers: z.array(publicHttpHeaderSchema),
179
+ })
180
+ .strict();
181
+ /** Internal portability schema: ciphertext remains sealed across backend exports. */
182
+ const sealedHttpValueSchema = z
183
+ .object({
184
+ keyId: z.literal("v1"),
185
+ nonce: z.string().regex(/^[A-Za-z0-9_-]{16}$/u),
186
+ ciphertext: z
187
+ .string()
188
+ .min(22)
189
+ .max(100000)
190
+ .regex(/^[A-Za-z0-9_-]+$/u),
191
+ })
192
+ .strict();
193
+ function decodedCipherBytes(value) {
194
+ try {
195
+ const padding = "=".repeat((4 - (value.length % 4)) % 4);
196
+ const decoded = atob(value.replace(/-/gu, "+").replace(/_/gu, "/") + padding);
197
+ const canonical = btoa(decoded)
198
+ .replace(/\+/gu, "-")
199
+ .replace(/\//gu, "_")
200
+ .replace(/=+$/u, "");
201
+ return canonical === value ? decoded.length : undefined;
202
+ }
203
+ catch {
204
+ return undefined;
205
+ }
206
+ }
207
+ export const storedHttpHeaderSchema = z
208
+ .union([
209
+ z
210
+ .object({
211
+ name: httpHeaderNameSchema,
212
+ secret: z.literal(false),
213
+ value: httpHeaderValueSchema,
214
+ valueBytes: z
215
+ .number()
216
+ .int()
217
+ .nonnegative()
218
+ .max(HTTP_HEADER_BOUNDS.valueBytes),
219
+ })
220
+ .strict(),
221
+ z
222
+ .object({
223
+ name: httpHeaderNameSchema,
224
+ secret: z.literal(true),
225
+ envelope: sealedHttpValueSchema,
226
+ valueBytes: z
227
+ .number()
228
+ .int()
229
+ .nonnegative()
230
+ .max(HTTP_HEADER_BOUNDS.valueBytes),
231
+ ownerKind: z.enum(["endpoint", "schedule"]),
232
+ ownerId: z.string().min(1).max(128),
233
+ })
234
+ .strict(),
235
+ z
236
+ .object({ name: httpHeaderNameSchema, suppressed: z.literal(true) })
237
+ .strict(),
238
+ ])
239
+ .superRefine((row, ctx) => {
240
+ if ("suppressed" in row)
241
+ return;
242
+ if (row.secret) {
243
+ if (decodedCipherBytes(row.envelope.ciphertext) !== row.valueBytes + 16)
244
+ ctx.addIssue({
245
+ code: "custom",
246
+ path: ["envelope", "ciphertext"],
247
+ message: "header ciphertext must authenticate declared value byte count",
248
+ });
249
+ }
250
+ else if (encoder.encode(row.value).byteLength !== row.valueBytes)
251
+ ctx.addIssue({
252
+ code: "custom",
253
+ path: ["valueBytes"],
254
+ message: "header byte count must match value",
255
+ });
256
+ });
257
+ export const storedHttpRequestSchema = z
258
+ .object({
259
+ method: z.enum(HTTP_METHODS),
260
+ bodyMode: z.enum(["envelope", "json", "none"]),
261
+ headers: z.array(storedHttpHeaderSchema).max(HTTP_HEADER_BOUNDS.count),
262
+ encryptedTemplate: sealedHttpValueSchema.optional(),
263
+ })
264
+ .strict()
265
+ .superRefine((http, ctx) => {
266
+ if ((http.method === "GET") !== (http.bodyMode === "none"))
267
+ ctx.addIssue({
268
+ code: "custom",
269
+ path: ["bodyMode"],
270
+ message: "GET must be bodyless; other methods require a body mode",
271
+ });
272
+ if (http.bodyMode !== "json" && http.encryptedTemplate !== undefined)
273
+ ctx.addIssue({
274
+ code: "custom",
275
+ path: ["encryptedTemplate"],
276
+ message: "only JSON body mode may carry an encrypted template",
277
+ });
278
+ if (http.encryptedTemplate !== undefined &&
279
+ decodedCipherBytes(http.encryptedTemplate.ciphertext) === undefined)
280
+ ctx.addIssue({
281
+ code: "custom",
282
+ path: ["encryptedTemplate", "ciphertext"],
283
+ message: "template ciphertext must canonically encode bytes",
284
+ });
285
+ const names = new Set();
286
+ let total = 0;
287
+ for (const row of http.headers) {
288
+ const name = row.name.toLowerCase();
289
+ if (names.has(name))
290
+ ctx.addIssue({
291
+ code: "custom",
292
+ path: ["headers"],
293
+ message: "duplicate stored HTTP header name",
294
+ });
295
+ names.add(name);
296
+ if (!("suppressed" in row))
297
+ total += encoder.encode(row.name).byteLength + row.valueBytes;
298
+ }
299
+ if (total > HTTP_HEADER_BOUNDS.totalBytes)
300
+ ctx.addIssue({
301
+ code: "custom",
302
+ path: ["headers"],
303
+ message: "stored headers exceed 16384 total bytes",
304
+ });
305
+ });
@@ -57,8 +57,8 @@ export type ExternalMembershipId = z.infer<typeof externalMembershipIdSchema>;
57
57
  */
58
58
  export declare const MEMBERSHIP_ROLES: readonly ["admin", "billing", "member"];
59
59
  export declare const membershipRoleSchema: import("zod").ZodEnum<{
60
- member: "member";
61
60
  admin: "admin";
61
+ member: "member";
62
62
  billing: "billing";
63
63
  }>;
64
64
  export type MembershipRole = z.infer<typeof membershipRoleSchema>;
@@ -71,8 +71,8 @@ export type MembershipRole = z.infer<typeof membershipRoleSchema>;
71
71
  */
72
72
  export declare const MEMBERSHIP_STATUSES: readonly ["active", "suspended", "removed"];
73
73
  export declare const membershipStatusSchema: import("zod").ZodEnum<{
74
- active: "active";
75
74
  removed: "removed";
75
+ active: "active";
76
76
  suspended: "suspended";
77
77
  }>;
78
78
  export type MembershipStatus = z.infer<typeof membershipStatusSchema>;
@@ -100,13 +100,13 @@ export declare const membershipSchema: import("zod").ZodObject<{
100
100
  id: import("zod").ZodString;
101
101
  organization: import("zod").ZodString;
102
102
  role: import("zod").ZodEnum<{
103
- member: "member";
104
103
  admin: "admin";
104
+ member: "member";
105
105
  billing: "billing";
106
106
  }>;
107
107
  status: import("zod").ZodEnum<{
108
- active: "active";
109
108
  removed: "removed";
109
+ active: "active";
110
110
  suspended: "suspended";
111
111
  }>;
112
112
  user: import("zod").ZodString;
@@ -142,13 +142,13 @@ export declare const membershipChangeSchema: import("zod").ZodObject<{
142
142
  id: import("zod").ZodString;
143
143
  organization: import("zod").ZodString;
144
144
  role: import("zod").ZodEnum<{
145
- member: "member";
146
145
  admin: "admin";
146
+ member: "member";
147
147
  billing: "billing";
148
148
  }>;
149
149
  status: import("zod").ZodEnum<{
150
- active: "active";
151
150
  removed: "removed";
151
+ active: "active";
152
152
  suspended: "suspended";
153
153
  }>;
154
154
  user: import("zod").ZodString;
@@ -167,8 +167,8 @@ export declare const sessionMembershipSchema: import("zod").ZodObject<{
167
167
  assertedAt: import("zod").ZodNumber;
168
168
  organization: import("zod").ZodString;
169
169
  role: import("zod").ZodEnum<{
170
- member: "member";
171
170
  admin: "admin";
171
+ member: "member";
172
172
  billing: "billing";
173
173
  }>;
174
174
  user: import("zod").ZodString;
package/dist/index.d.ts CHANGED
@@ -12,15 +12,15 @@ export { EVENT_TYPES, eventEnvelopeSchema, eventTypeSchema, genericEventSchema,
12
12
  export { MEMBERSHIP_ROLES, MEMBERSHIP_STATUSES, externalMembershipIdSchema, externalOrganizationIdSchema, externalUserIdSchema, grantsAccess, leastRole, leastStatus, membershipChangeSchema, membershipRoleSchema, membershipSchema, membershipStatusSchema, organizationTombstoneSchema, sessionMembershipSchema, type ExternalMembershipId, type ExternalOrganizationId, type ExternalUserId, type Membership, type MembershipChange, type MembershipRole, type MembershipStatus, type OrganizationTombstone, type SessionMembership, } from "./identity.js";
13
13
  export { CHANGE_KINDS, CHANGE_OPERATIONS, CHANGE_SUBJECTS, CONTRACT_VERSION, assess, changeKindSchema, classifyChange, contractVersionSchema, type ChangeKind, type ChangeOperation, type ChangeSubject, type CompatibilityVerdict, type ContractChange, } from "./compatibility.js";
14
14
  export { WORKSPACE_LAYERS, scaffoldProblemSchema, scaffoldVersionSchema, toolDescriptorSchema, toolListSchema, workspaceIdentitySchema, workspaceLayerSchema, workspaceScaffoldSchema, type ScaffoldProblem, type ScaffoldVersion, type ToolDescriptor, type ToolList, type WorkspaceIdentity, type WorkspaceLayer, type WorkspaceScaffold, } from "./workspace.js";
15
- export { MOCK_BEHAVIORS, MOCK_HEADERS, OPERATIONS, UNIVERSAL_PROBLEMS, AUTHENTICATED_PROBLEMS, SCOPED_PROBLEMS, findOperation, fixtureListSchema, mockBehaviorSchema, mockScenarioRequestSchema, mockScenarioResponseSchema, operationsFor, problemsFor, requestSchemaFor, responseSchemaFor, successStatusFor, type FixtureList, type McpDisposition, type MockBehavior, type MockScenarioRequest, type MockScenarioResponse, type OperationDefinition, type OperationId, type OperationSurface, } from "./operations.js";
15
+ export { MOCK_BEHAVIORS, MOCK_HEADERS, OPERATIONS, UNIVERSAL_PROBLEMS, AUTHENTICATED_PROBLEMS, SCOPED_PROBLEMS, findOperation, fixtureListSchema, mockBehaviorSchema, mockScenarioRequestSchema, mockScenarioResponseSchema, operationsFor, problemsFor, requestSchemaFor, responseSchemaFor, successStatusFor, type FixtureList, type McpDisposition, type MockBehavior, type MockScenarioRequest, type MockScenarioResponse, type OperationDefinition, type OperationId, type OperationRequestBody, type OperationSurface, } from "./operations.js";
16
16
  export { PROJECT_LIST_LIMIT, PROJECT_STATUSES, environmentSchema, organizationSchema, projectCreateRequestSchema, projectArchiveRequestSchema, projectDeletedSchema, projectDeletionCountsSchema, projectListSchema, projectNameKey, projectNameSchema, projectSchema, projectStatusSchema, projectSummarySchema, projectUpdateRequestSchema, provisionedProjectSchema, type Environment, type Organization, type Project, type ProjectCreateRequest, type ProjectArchiveRequest, type ProjectDeleted, type ProjectDeletionCounts, type ProjectList, type ProjectStatus, type ProjectSummary, type ProjectUpdateRequest, type ProvisionedProject, } from "./tenancy.js";
17
- export { ATTEMPT_DURATION_MAX_MS, ATTEMPT_FAILURE_SNIPPET_MAX_LENGTH, ATTEMPT_REMEDIATIONS, ATTEMPT_RESPONSE_HEADER_MAX_LENGTH, ATTEMPT_STATES, CRON_EXPRESSION_MAX_LENGTH, LATENCY_CLASSES, OCCURRENCE_STATES, PARTITION_KEY_MAX_LENGTH, RECURRENCE_REQUEST_FIELDS, SCHEDULE_STATUSES, SCHEDULING_BOUNDS, TERMINAL_OCCURRENCE_STATES, TERMINAL_SCHEDULE_STATUSES, attemptFailureSnippetSchema, attemptResponseHeaderSchema, attemptSchema, attemptDiagnosticSchema, attemptPageSchema, attemptRemediationSchema, attemptStateForResponse, attemptStateSchema, attemptTriggerSchema, attemptViewSchema, cronExpressionSchema, DELIVERY_COMPLETION_MODES, DELIVERY_DURATION_TIERS, MAX_DELIVERY_DURATION_SECONDS, RESPONSE_DELIVERY_MAX_DURATION_SECONDS, DELIVERY_OVERLAP_POLICIES, DEFAULT_DELIVERY_DURATION_SECONDS, DEFAULT_DELIVERY_OVERLAP_POLICY, FREE_DELIVERY_DURATION_SECONDS, DEFAULT_ONE_SHOT_MAX_STALENESS_SECONDS, LATENESS_POLICIES, isLongRunningDuration, deliveryCompletionModeSchema, deliveryDurationSecondsSchema, deliveryOverlapPolicySchema, type DeliveryCompletionMode, type DeliveryOverlapPolicy, deriveDeliverySettings, deriveLatencyClass, deriveLatenessSettings, defaultLatenessPolicyForRecurrence, generationSchema, isTerminalOccurrenceState, isTerminalScheduleStatus, latencyClassSchema, latenessPolicySchema, occurrenceSchema, occurrencePageSchema, parseProjectOccurrenceListRequest, projectOccurrenceCursorBinding, projectOccurrenceListRequestSchema, projectOccurrencePageSchema, occurrenceStateSchema, occurrenceViewSchema, partitionKeySchema, remediationForAttempt, recurrenceSchema, scheduleNameSchema, scheduleLatenessRequestSchema, scheduleLatenessSchema, schedulePageSchema, scheduleRequestSchema, scheduleSchema, scheduleStatusSchema, scheduleViewSchema, type Attempt, type AttemptFailureSnippet, type AttemptResponseHeader, type AttemptDiagnostic, type AttemptPage, type AttemptRemediation, type AttemptState, type AttemptTrigger, type AttemptView, type CronExpression, type Generation, type DeliverySettings, type LatencyClass, type LatenessPolicy, type LatenessSettings, type Occurrence, type OccurrencePage, type ProjectOccurrenceListRequest, type ProjectOccurrenceListRequestParse, type ProjectOccurrencePage, type OccurrenceState, type OccurrenceView, type PartitionKey, type Recurrence, type Schedule, type ScheduleLatenessRequest, type SchedulePage, type ScheduleRequest, type ScheduleStatus, type ScheduleView, } from "./scheduling.js";
17
+ export { ATTEMPT_DURATION_MAX_MS, ATTEMPT_FAILURE_SNIPPET_MAX_LENGTH, ATTEMPT_REMEDIATIONS, ATTEMPT_RESPONSE_HEADER_MAX_LENGTH, ATTEMPT_STATES, CRON_EXPRESSION_MAX_LENGTH, LATENCY_CLASSES, OCCURRENCE_STATES, PARTITION_KEY_MAX_LENGTH, RECURRENCE_REQUEST_FIELDS, SCHEDULE_STATUSES, SCHEDULING_BOUNDS, TERMINAL_OCCURRENCE_STATES, TERMINAL_SCHEDULE_STATUSES, attemptFailureSnippetSchema, attemptResponseHeaderSchema, attemptSchema, attemptResponseSchema, attemptRequestSchema, type AttemptResponse, type AttemptRequest, attemptDiagnosticSchema, attemptPageSchema, attemptRemediationSchema, attemptStateForResponse, attemptStateSchema, attemptTriggerSchema, attemptViewSchema, cronExpressionSchema, DELIVERY_COMPLETION_MODES, DELIVERY_DURATION_TIERS, MAX_DELIVERY_DURATION_SECONDS, RESPONSE_DELIVERY_MAX_DURATION_SECONDS, DELIVERY_OVERLAP_POLICIES, DEFAULT_DELIVERY_DURATION_SECONDS, DEFAULT_DELIVERY_OVERLAP_POLICY, FREE_DELIVERY_DURATION_SECONDS, DEFAULT_ONE_SHOT_MAX_STALENESS_SECONDS, LATENESS_POLICIES, isLongRunningDuration, deliveryCompletionModeSchema, deliveryDurationSecondsSchema, deliveryOverlapPolicySchema, type DeliveryCompletionMode, type DeliveryOverlapPolicy, deriveDeliverySettings, deriveLatencyClass, deriveLatenessSettings, defaultLatenessPolicyForRecurrence, generationSchema, isTerminalOccurrenceState, isTerminalScheduleStatus, latencyClassSchema, latenessPolicySchema, occurrenceSchema, occurrencePageSchema, parseProjectOccurrenceListRequest, projectOccurrenceCursorBinding, projectOccurrenceListRequestSchema, projectOccurrencePageSchema, occurrenceStateSchema, occurrenceViewSchema, partitionKeySchema, remediationForAttempt, recurrenceSchema, DEFAULT_AUTO_PAUSE_AFTER_FAILURES, autoPauseAfterFailuresSchema, autoPauseReasonSchema, type AutoPauseAfterFailures, type AutoPauseReason, scheduleNameSchema, scheduleLatenessRequestSchema, scheduleLatenessSchema, schedulePageSchema, scheduleRequestSchema, scheduleSchema, scheduleStatusSchema, scheduleViewSchema, scheduleWrittenViewSchema, type Attempt, type AttemptFailureSnippet, type AttemptResponseHeader, type AttemptDiagnostic, type AttemptPage, type AttemptRemediation, type AttemptState, type AttemptTrigger, type AttemptView, type CronExpression, type Generation, type DeliverySettings, type LatencyClass, type LatenessPolicy, type LatenessSettings, type Occurrence, type OccurrencePage, type ProjectOccurrenceListRequest, type ProjectOccurrenceListRequestParse, type ProjectOccurrencePage, type OccurrenceState, type OccurrenceView, type PartitionKey, type Recurrence, type Schedule, type ScheduleLatenessRequest, type SchedulePage, type ScheduleRequest, type ScheduleStatus, type ScheduleView, type ScheduleWrittenView, } from "./scheduling.js";
18
18
  export { portableAttemptRecordSchema, portableEncryptedPayloadRecordSchema, portableOccurrenceRecordSchema, portableReceiptRecordSchema, portableScheduleRecordSchema, portableSchedulingRecordSetSchema, type PortableAttemptRecord, type PortableEncryptedPayloadRecord, type PortableOccurrenceRecord, type PortableReceiptRecord, type PortableScheduleRecord, type PortableSchedulingRecordSet, } from "./scheduling-records.js";
19
19
  export { ROLE_SCOPE_CEILINGS, capScopesToRole, ceilingForRole, credentialScopes, grantableScopes, policyMatrix, roleAllows, roleCanPerform, type PolicyMatrixRow, } from "./policy.js";
20
20
  export { ACCESS_TOKEN_PATTERN, ACCESS_TOKEN_TTL_SECONDS, AUTHORIZATION_CODE_PATTERN, AUTHORIZATION_CODE_TTL_SECONDS, AUTHORIZATION_REQUEST_TTL_SECONDS, MAX_REDIRECT_URIS, OAUTH_ERRORS, OAUTH_ERROR_STATUS, OAUTH_GRANT_STATUSES, OAUTH_GRANT_TYPES, OAUTH_RESPONSE_TYPES, OAUTH_REVOCATION_REASONS, OAUTH_ROUTES, OAUTH_SECRET_PATTERN, OAUTH_TOKEN_NAMESPACE_LENGTH, OAUTH_TOKEN_SECRET_LENGTH, PKCE_CHALLENGE_PATTERN, PKCE_METHODS, PKCE_VERIFIER_PATTERN, REFRESH_TOKEN_PATTERN, REFRESH_TOKEN_TTL_SECONDS, TOKEN_ENDPOINT_AUTH_METHODS, authorizationParametersSchema, authorizationServerMetadataSchema, bearerChallenge, clientRegistrationRequestSchema, clientRegistrationSchema, consentDecisionSchema, consentOutcomeSchema, consentPromptSchema, formatScopeString, isLoopbackRedirect, oauthError, oauthErrorCodeSchema, oauthErrorSchema, oauthGrantListSchema, oauthGrantRevokedSchema, oauthGrantSchema, oauthGrantStatusSchema, oauthGrantTypeSchema, oauthRevocationReasonSchema, parseScopeString, pkceMethodSchema, protectedResourceMetadataSchema, redirectUriSchema, revocationRequestSchema, tokenRequestSchema, tokenResponseSchema, type AuthorizationParameters, type AuthorizationServerMetadata, type ClientRegistration, type ClientRegistrationRequest, type ConsentDecision, type ConsentOutcome, type ConsentPrompt, type OAuthErrorBody, type OAuthErrorCode, type OAuthGrant, type OAuthGrantList, type OAuthGrantRevoked, type OAuthGrantStatus, type OAuthGrantType, type OAuthRevocationReason, type ProtectedResourceMetadata, type RevocationRequest, type TokenRequest, type TokenResponse, } from "./oauth.js";
21
21
  export { CALLBACK_ENVELOPE_HEADROOM_BYTES, CALLBACK_RECEIVER_MAX_BODY_BYTES, } from "./callback-receiver.js";
22
22
  export { CALLBACK_ENDPOINT_SECRET_PATTERN, CALLBACK_URL_REJECTION_REASONS, evaluateCallbackUrl, isPublicCallbackAddress, type CallbackUrlRejectionReason, } from "./callback-safety.js";
23
- export { CALLBACK_ENDPOINT_LIMIT_PER_ENVIRONMENT, CALLBACK_ENDPOINT_STATUSES, CALLBACK_SIGNING_KEY_ROTATION_OVERLAP_SECONDS, CALLBACK_EGRESS_FAILURES, CALLBACK_ADMISSION_RATE_LIMITS, callbackEndpointCreatedSchema, callbackEndpointNameSchema, callbackEndpointPageSchema, callbackEndpointRequestSchema, callbackEndpointRotatedSchema, callbackEndpointSchema, callbackEndpointSigningSecretsSchema, callbackEndpointStatusSchema, callbackSigningKeyRotationRequestSchema, callbackSigningKeysSchema, callbackEgressFailureSchema, type CallbackEndpoint, type CallbackEndpointCreated, type CallbackEndpointPage, type CallbackEndpointRequest, type CallbackEndpointRotated, type CallbackEndpointSigningSecrets, type CallbackEndpointStatus, type CallbackSigningKeyRotationRequest, type CallbackSigningKeys, type CallbackEgressFailure, } from "./endpoints.js";
23
+ export { CALLBACK_ENDPOINT_LIMIT_PER_ENVIRONMENT, CALLBACK_ENDPOINT_STATUSES, CALLBACK_SIGNING_KEY_ROTATION_OVERLAP_SECONDS, CALLBACK_EGRESS_FAILURES, CALLBACK_ADMISSION_RATE_LIMITS, callbackEndpointCreatedSchema, callbackEndpointEnsuredSchema, callbackEndpointNameSchema, callbackEndpointPageSchema, callbackEndpointRequestSchema, callbackEndpointRotatedSchema, callbackEndpointSchema, callbackEndpointSigningSecretsSchema, callbackEndpointStatusSchema, callbackSigningKeyRotationRequestSchema, callbackSigningKeysSchema, callbackEgressFailureSchema, callbackUrlSchema, endpointDashboardPath, signingSecretNotice, signingSecretNoticeSchema, type CallbackEndpoint, type CallbackEndpointCreated, type CallbackEndpointEnsured, type SigningSecretNotice, type CallbackEndpointPage, type CallbackEndpointRequest, type CallbackEndpointRotated, type CallbackEndpointSigningSecrets, type CallbackEndpointStatus, type CallbackSigningKeyRotationRequest, type CallbackSigningKeys, type CallbackEgressFailure, } from "./endpoints.js";
24
24
  export { compactInterval, cronWords, generatedEndpointName, generatedScheduleName, periodWords, targetDomain, } from "./naming.js";
25
25
  export { FORECAST_BOUNDS, FORECAST_PARTIAL_ACCEPT_HEADER, forecastRequestHeadersSchema, forecastCoverageSchema, type ForecastCoverage, FORECAST_BREAKDOWNS, FORECAST_COMPATIBILITY, FORECAST_RULES, FORECAST_WINDOW_VERSION, decideForecastAnswer, forecastBreakdownSchema, forecastBucketSchema, forecastBucketStartMs, forecastLatencyCountsSchema, forecastRequestSchema, forecastSchema, forecastViolations, forecastWindowBucketSchema, forecastWindowViolations, forecastWindowsSchema, mergeForecastBuckets, parseForecastRequest, resolveForecastWindow, topPartitionKeys, type Forecast, type ForecastAnswerDecision, type ForecastAnswerRefusal, type ForecastBreakdown, type ForecastBucket, type ForecastMergedBucket, type ForecastShardAnswer, type ForecastLatencyCounts, type ForecastRequest, type ForecastRequestParse, type ForecastWindow, type ForecastWindowBucket, type ForecastWindowRefusal, type ForecastWindowResolution, type ForecastWindows, } from "./forecast.js";
26
26
  export { CURL_JOURNEY_TOOLS, FIRST_VALUE_JOURNEY, FIRST_VALUE_PREREQUISITES, FIRST_VALUE_STEPS, FIRST_VALUE_VARIABLES, JOURNEY_ACTIVATION_DURATIONS, JOURNEY_ACTIVATION_OUTCOMES, JOURNEY_CONDITIONS, MINIMUM_CURL_VERSION, WEBSITE_JOURNEY_STEPS, WEBSITE_JOURNEY_STEP_KEYS, journeyActivationDuration, journeyCapturedVariables, journeyPathVariables, journeyPoll, journeyPrerequisite, journeyReferences, journeyStepSchema, journeyStepVariables, journeyVariable, journeyVariableName, journeyVariableSchema, parseWebsiteActivationEvent, pathParameterNames, resolveJourneyReferences, websiteActivationEventSchema, websiteJourneySteps, type FirstValueJourney, type JourneyActivationDuration, type JourneyActivationOutcome, type JourneyCapture, type JourneyCondition, type JourneyExpectation, type JourneyPoll, type JourneyPrerequisite, type JourneyRecovery, type JourneyStep, type JourneyVariable, type WebsiteActivationEvent, } from "./first-value-journey.js";
@@ -30,3 +30,6 @@ export { DELIVERY_TIMING_TARGETS_MS, DELIVERY_TIMING_VERDICTS, deliveryTimingSum
30
30
  export { CALLBACK_RECEIVER_DISPOSITIONS, CALLBACK_RECEIVER_PROTOCOL, CALLBACK_RECEIVER_STATUS, TEST_SINK_BEHAVIORS, TEST_SINK_BEHAVIOR_FACTS, TEST_SINK_BOUNDS, TEST_SINK_CLIENT_ERROR_STATUSES, TEST_SINK_DISPOSITIONS, TEST_SINK_PROTOCOL_VERSION, TEST_SINK_SERVER_ERROR_STATUSES, callbackReceiverAcknowledgementSchema, callbackReceiverDispositionSchema, resolveTestSinkAction, testSinkBehaviorSchema, testSinkCreateRequestSchema, testSinkDeliveryBodySchema, testSinkDispositionSchema, testSinkDeliveryPageSchema, testSinkDeliverySchema, testSinkPageSchema, testSinkProgramSchema, testSinkSchema, type CallbackReceiverAcknowledgement, type CallbackReceiverDisposition, type TestSink, type TestSinkAction, type TestSinkBehavior, type TestSinkCreateRequest, type TestSinkDelivery, type TestSinkDeliveryBody, type TestSinkDeliveryPage, type TestSinkDisposition, type TestSinkPage, type TestSinkProgram, } from "./test-sink.js";
31
31
  export { PROJECT_BILLING_ACTIONS, projectBillingQuoteRequestSchema, projectBillingQuoteSchema, projectBillingChangeRequestSchema, projectBillingStateSchema, billingPortalSchema, BILLING_PAYMENT_METHOD_REQUIRED_TITLE, billingPaymentMethodSchema, billingPaymentMethodSetupRequestSchema, billingPaymentMethodConfirmRequestSchema, billingPaymentMethodRemoveRequestSchema, billingInvoiceSchema, billingInvoiceListSchema, billingPaymentHistoryPageSchema, billingInvoiceHistoryPageSchema, type BillingPaymentHistoryPage, type BillingInvoiceHistoryPage, type BillingInvoice, type BillingInvoiceList, type BillingPaymentMethod, type BillingPaymentMethodSetupRequest, type BillingPaymentMethodConfirmRequest, type BillingPaymentMethodRemoveRequest, type ProjectBillingQuoteRequest, type ProjectBillingQuote, type ProjectBillingChangeRequest, type ProjectBillingState, } from "./billing.js";
32
32
  export { effectiveCustomerLimitsSchema, type EffectiveCustomerLimits, } from "./effective-limits.js";
33
+ export * from "./members.js";
34
+ export * from "./http-request.js";
35
+ export { sanitizedDiagnosticText, diagnosticBodyText, responseBodySentence, requestCaptureSentence, attemptStatusGuidance, } from "./attempt-diagnostics.js";
package/dist/index.js CHANGED
@@ -14,13 +14,13 @@ export { CHANGE_KINDS, CHANGE_OPERATIONS, CHANGE_SUBJECTS, CONTRACT_VERSION, ass
14
14
  export { WORKSPACE_LAYERS, scaffoldProblemSchema, scaffoldVersionSchema, toolDescriptorSchema, toolListSchema, workspaceIdentitySchema, workspaceLayerSchema, workspaceScaffoldSchema, } from "./workspace.js";
15
15
  export { MOCK_BEHAVIORS, MOCK_HEADERS, OPERATIONS, UNIVERSAL_PROBLEMS, AUTHENTICATED_PROBLEMS, SCOPED_PROBLEMS, findOperation, fixtureListSchema, mockBehaviorSchema, mockScenarioRequestSchema, mockScenarioResponseSchema, operationsFor, problemsFor, requestSchemaFor, responseSchemaFor, successStatusFor, } from "./operations.js";
16
16
  export { PROJECT_LIST_LIMIT, PROJECT_STATUSES, environmentSchema, organizationSchema, projectCreateRequestSchema, projectArchiveRequestSchema, projectDeletedSchema, projectDeletionCountsSchema, projectListSchema, projectNameKey, projectNameSchema, projectSchema, projectStatusSchema, projectSummarySchema, projectUpdateRequestSchema, provisionedProjectSchema, } from "./tenancy.js";
17
- export { ATTEMPT_DURATION_MAX_MS, ATTEMPT_FAILURE_SNIPPET_MAX_LENGTH, ATTEMPT_REMEDIATIONS, ATTEMPT_RESPONSE_HEADER_MAX_LENGTH, ATTEMPT_STATES, CRON_EXPRESSION_MAX_LENGTH, LATENCY_CLASSES, OCCURRENCE_STATES, PARTITION_KEY_MAX_LENGTH, RECURRENCE_REQUEST_FIELDS, SCHEDULE_STATUSES, SCHEDULING_BOUNDS, TERMINAL_OCCURRENCE_STATES, TERMINAL_SCHEDULE_STATUSES, attemptFailureSnippetSchema, attemptResponseHeaderSchema, attemptSchema, attemptDiagnosticSchema, attemptPageSchema, attemptRemediationSchema, attemptStateForResponse, attemptStateSchema, attemptTriggerSchema, attemptViewSchema, cronExpressionSchema, DELIVERY_COMPLETION_MODES, DELIVERY_DURATION_TIERS, MAX_DELIVERY_DURATION_SECONDS, RESPONSE_DELIVERY_MAX_DURATION_SECONDS, DELIVERY_OVERLAP_POLICIES, DEFAULT_DELIVERY_DURATION_SECONDS, DEFAULT_DELIVERY_OVERLAP_POLICY, FREE_DELIVERY_DURATION_SECONDS, DEFAULT_ONE_SHOT_MAX_STALENESS_SECONDS, LATENESS_POLICIES, isLongRunningDuration, deliveryCompletionModeSchema, deliveryDurationSecondsSchema, deliveryOverlapPolicySchema, deriveDeliverySettings, deriveLatencyClass, deriveLatenessSettings, defaultLatenessPolicyForRecurrence, generationSchema, isTerminalOccurrenceState, isTerminalScheduleStatus, latencyClassSchema, latenessPolicySchema, occurrenceSchema, occurrencePageSchema, parseProjectOccurrenceListRequest, projectOccurrenceCursorBinding, projectOccurrenceListRequestSchema, projectOccurrencePageSchema, occurrenceStateSchema, occurrenceViewSchema, partitionKeySchema, remediationForAttempt, recurrenceSchema, scheduleNameSchema, scheduleLatenessRequestSchema, scheduleLatenessSchema, schedulePageSchema, scheduleRequestSchema, scheduleSchema, scheduleStatusSchema, scheduleViewSchema, } from "./scheduling.js";
17
+ export { ATTEMPT_DURATION_MAX_MS, ATTEMPT_FAILURE_SNIPPET_MAX_LENGTH, ATTEMPT_REMEDIATIONS, ATTEMPT_RESPONSE_HEADER_MAX_LENGTH, ATTEMPT_STATES, CRON_EXPRESSION_MAX_LENGTH, LATENCY_CLASSES, OCCURRENCE_STATES, PARTITION_KEY_MAX_LENGTH, RECURRENCE_REQUEST_FIELDS, SCHEDULE_STATUSES, SCHEDULING_BOUNDS, TERMINAL_OCCURRENCE_STATES, TERMINAL_SCHEDULE_STATUSES, attemptFailureSnippetSchema, attemptResponseHeaderSchema, attemptSchema, attemptResponseSchema, attemptRequestSchema, attemptDiagnosticSchema, attemptPageSchema, attemptRemediationSchema, attemptStateForResponse, attemptStateSchema, attemptTriggerSchema, attemptViewSchema, cronExpressionSchema, DELIVERY_COMPLETION_MODES, DELIVERY_DURATION_TIERS, MAX_DELIVERY_DURATION_SECONDS, RESPONSE_DELIVERY_MAX_DURATION_SECONDS, DELIVERY_OVERLAP_POLICIES, DEFAULT_DELIVERY_DURATION_SECONDS, DEFAULT_DELIVERY_OVERLAP_POLICY, FREE_DELIVERY_DURATION_SECONDS, DEFAULT_ONE_SHOT_MAX_STALENESS_SECONDS, LATENESS_POLICIES, isLongRunningDuration, deliveryCompletionModeSchema, deliveryDurationSecondsSchema, deliveryOverlapPolicySchema, deriveDeliverySettings, deriveLatencyClass, deriveLatenessSettings, defaultLatenessPolicyForRecurrence, generationSchema, isTerminalOccurrenceState, isTerminalScheduleStatus, latencyClassSchema, latenessPolicySchema, occurrenceSchema, occurrencePageSchema, parseProjectOccurrenceListRequest, projectOccurrenceCursorBinding, projectOccurrenceListRequestSchema, projectOccurrencePageSchema, occurrenceStateSchema, occurrenceViewSchema, partitionKeySchema, remediationForAttempt, recurrenceSchema, DEFAULT_AUTO_PAUSE_AFTER_FAILURES, autoPauseAfterFailuresSchema, autoPauseReasonSchema, scheduleNameSchema, scheduleLatenessRequestSchema, scheduleLatenessSchema, schedulePageSchema, scheduleRequestSchema, scheduleSchema, scheduleStatusSchema, scheduleViewSchema, scheduleWrittenViewSchema, } from "./scheduling.js";
18
18
  export { portableAttemptRecordSchema, portableEncryptedPayloadRecordSchema, portableOccurrenceRecordSchema, portableReceiptRecordSchema, portableScheduleRecordSchema, portableSchedulingRecordSetSchema, } from "./scheduling-records.js";
19
19
  export { ROLE_SCOPE_CEILINGS, capScopesToRole, ceilingForRole, credentialScopes, grantableScopes, policyMatrix, roleAllows, roleCanPerform, } from "./policy.js";
20
20
  export { ACCESS_TOKEN_PATTERN, ACCESS_TOKEN_TTL_SECONDS, AUTHORIZATION_CODE_PATTERN, AUTHORIZATION_CODE_TTL_SECONDS, AUTHORIZATION_REQUEST_TTL_SECONDS, MAX_REDIRECT_URIS, OAUTH_ERRORS, OAUTH_ERROR_STATUS, OAUTH_GRANT_STATUSES, OAUTH_GRANT_TYPES, OAUTH_RESPONSE_TYPES, OAUTH_REVOCATION_REASONS, OAUTH_ROUTES, OAUTH_SECRET_PATTERN, OAUTH_TOKEN_NAMESPACE_LENGTH, OAUTH_TOKEN_SECRET_LENGTH, PKCE_CHALLENGE_PATTERN, PKCE_METHODS, PKCE_VERIFIER_PATTERN, REFRESH_TOKEN_PATTERN, REFRESH_TOKEN_TTL_SECONDS, TOKEN_ENDPOINT_AUTH_METHODS, authorizationParametersSchema, authorizationServerMetadataSchema, bearerChallenge, clientRegistrationRequestSchema, clientRegistrationSchema, consentDecisionSchema, consentOutcomeSchema, consentPromptSchema, formatScopeString, isLoopbackRedirect, oauthError, oauthErrorCodeSchema, oauthErrorSchema, oauthGrantListSchema, oauthGrantRevokedSchema, oauthGrantSchema, oauthGrantStatusSchema, oauthGrantTypeSchema, oauthRevocationReasonSchema, parseScopeString, pkceMethodSchema, protectedResourceMetadataSchema, redirectUriSchema, revocationRequestSchema, tokenRequestSchema, tokenResponseSchema, } from "./oauth.js";
21
21
  export { CALLBACK_ENVELOPE_HEADROOM_BYTES, CALLBACK_RECEIVER_MAX_BODY_BYTES, } from "./callback-receiver.js";
22
22
  export { CALLBACK_ENDPOINT_SECRET_PATTERN, CALLBACK_URL_REJECTION_REASONS, evaluateCallbackUrl, isPublicCallbackAddress, } from "./callback-safety.js";
23
- export { CALLBACK_ENDPOINT_LIMIT_PER_ENVIRONMENT, CALLBACK_ENDPOINT_STATUSES, CALLBACK_SIGNING_KEY_ROTATION_OVERLAP_SECONDS, CALLBACK_EGRESS_FAILURES, CALLBACK_ADMISSION_RATE_LIMITS, callbackEndpointCreatedSchema, callbackEndpointNameSchema, callbackEndpointPageSchema, callbackEndpointRequestSchema, callbackEndpointRotatedSchema, callbackEndpointSchema, callbackEndpointSigningSecretsSchema, callbackEndpointStatusSchema, callbackSigningKeyRotationRequestSchema, callbackSigningKeysSchema, callbackEgressFailureSchema, } from "./endpoints.js";
23
+ export { CALLBACK_ENDPOINT_LIMIT_PER_ENVIRONMENT, CALLBACK_ENDPOINT_STATUSES, CALLBACK_SIGNING_KEY_ROTATION_OVERLAP_SECONDS, CALLBACK_EGRESS_FAILURES, CALLBACK_ADMISSION_RATE_LIMITS, callbackEndpointCreatedSchema, callbackEndpointEnsuredSchema, callbackEndpointNameSchema, callbackEndpointPageSchema, callbackEndpointRequestSchema, callbackEndpointRotatedSchema, callbackEndpointSchema, callbackEndpointSigningSecretsSchema, callbackEndpointStatusSchema, callbackSigningKeyRotationRequestSchema, callbackSigningKeysSchema, callbackEgressFailureSchema, callbackUrlSchema, endpointDashboardPath, signingSecretNotice, signingSecretNoticeSchema, } from "./endpoints.js";
24
24
  export { compactInterval, cronWords, generatedEndpointName, generatedScheduleName, periodWords, targetDomain, } from "./naming.js";
25
25
  export { FORECAST_BOUNDS, FORECAST_PARTIAL_ACCEPT_HEADER, forecastRequestHeadersSchema, forecastCoverageSchema, FORECAST_BREAKDOWNS, FORECAST_COMPATIBILITY, FORECAST_RULES, FORECAST_WINDOW_VERSION, decideForecastAnswer, forecastBreakdownSchema, forecastBucketSchema, forecastBucketStartMs, forecastLatencyCountsSchema, forecastRequestSchema, forecastSchema, forecastViolations, forecastWindowBucketSchema, forecastWindowViolations, forecastWindowsSchema, mergeForecastBuckets, parseForecastRequest, resolveForecastWindow, topPartitionKeys, } from "./forecast.js";
26
26
  export { CURL_JOURNEY_TOOLS, FIRST_VALUE_JOURNEY, FIRST_VALUE_PREREQUISITES, FIRST_VALUE_STEPS, FIRST_VALUE_VARIABLES, JOURNEY_ACTIVATION_DURATIONS, JOURNEY_ACTIVATION_OUTCOMES, JOURNEY_CONDITIONS, MINIMUM_CURL_VERSION, WEBSITE_JOURNEY_STEPS, WEBSITE_JOURNEY_STEP_KEYS, journeyActivationDuration, journeyCapturedVariables, journeyPathVariables, journeyPoll, journeyPrerequisite, journeyReferences, journeyStepSchema, journeyStepVariables, journeyVariable, journeyVariableName, journeyVariableSchema, parseWebsiteActivationEvent, pathParameterNames, resolveJourneyReferences, websiteActivationEventSchema, websiteJourneySteps, } from "./first-value-journey.js";
@@ -30,3 +30,6 @@ export { DELIVERY_TIMING_TARGETS_MS, DELIVERY_TIMING_VERDICTS, deliveryTimingSum
30
30
  export { CALLBACK_RECEIVER_DISPOSITIONS, CALLBACK_RECEIVER_PROTOCOL, CALLBACK_RECEIVER_STATUS, TEST_SINK_BEHAVIORS, TEST_SINK_BEHAVIOR_FACTS, TEST_SINK_BOUNDS, TEST_SINK_CLIENT_ERROR_STATUSES, TEST_SINK_DISPOSITIONS, TEST_SINK_PROTOCOL_VERSION, TEST_SINK_SERVER_ERROR_STATUSES, callbackReceiverAcknowledgementSchema, callbackReceiverDispositionSchema, resolveTestSinkAction, testSinkBehaviorSchema, testSinkCreateRequestSchema, testSinkDeliveryBodySchema, testSinkDispositionSchema, testSinkDeliveryPageSchema, testSinkDeliverySchema, testSinkPageSchema, testSinkProgramSchema, testSinkSchema, } from "./test-sink.js";
31
31
  export { PROJECT_BILLING_ACTIONS, projectBillingQuoteRequestSchema, projectBillingQuoteSchema, projectBillingChangeRequestSchema, projectBillingStateSchema, billingPortalSchema, BILLING_PAYMENT_METHOD_REQUIRED_TITLE, billingPaymentMethodSchema, billingPaymentMethodSetupRequestSchema, billingPaymentMethodConfirmRequestSchema, billingPaymentMethodRemoveRequestSchema, billingInvoiceSchema, billingInvoiceListSchema, billingPaymentHistoryPageSchema, billingInvoiceHistoryPageSchema, } from "./billing.js";
32
32
  export { effectiveCustomerLimitsSchema, } from "./effective-limits.js";
33
+ export * from "./members.js";
34
+ export * from "./http-request.js";
35
+ export { sanitizedDiagnosticText, diagnosticBodyText, responseBodySentence, requestCaptureSentence, attemptStatusGuidance, } from "./attempt-diagnostics.js";
package/dist/mcp.d.ts CHANGED
@@ -96,6 +96,7 @@ export declare const mcpConnectionSchema: import("zod").ZodObject<{
96
96
  endpoint: import("zod").ZodString;
97
97
  id: import("zod").ZodString;
98
98
  scopes: import("zod").ZodArray<import("zod").ZodEnum<{
99
+ "members:manage": "members:manage";
99
100
  "credentials:administer": "credentials:administer";
100
101
  "billing:write": "billing:write";
101
102
  "credentials:read": "credentials:read";
@@ -115,9 +116,9 @@ export declare const mcpConnectionSchema: import("zod").ZodObject<{
115
116
  "usage:read": "usage:read";
116
117
  }>>;
117
118
  state: import("zod").ZodEnum<{
119
+ expired: "expired";
118
120
  revoked: "revoked";
119
121
  usable: "usable";
120
- expired: "expired";
121
122
  }>;
122
123
  tools: import("zod").ZodArray<import("zod").ZodString>;
123
124
  }, import("zod/v4/core").$strip>;
@@ -0,0 +1,141 @@
1
+ import { z } from "./zod.js";
2
+ /** Assignable roles on the included Clerk plan. Billing is not offered. */
3
+ export declare const managedMemberRoleSchema: import("zod").ZodEnum<{
4
+ admin: "admin";
5
+ member: "member";
6
+ }>;
7
+ export declare const memberIdSchema: import("zod").ZodString;
8
+ export declare const invitationIdSchema: import("zod").ZodString;
9
+ export declare const memberViewSchema: import("zod").ZodObject<{
10
+ id: import("zod").ZodString;
11
+ email: import("zod").ZodString;
12
+ name: import("zod").ZodString;
13
+ role: import("zod").ZodEnum<{
14
+ admin: "admin";
15
+ member: "member";
16
+ }>;
17
+ projects: import("zod").ZodArray<import("zod").ZodString>;
18
+ allProjects: import("zod").ZodBoolean;
19
+ self: import("zod").ZodBoolean;
20
+ }, import("zod/v4/core").$strict>;
21
+ export declare const memberListSchema: import("zod").ZodObject<{
22
+ data: import("zod").ZodArray<import("zod").ZodObject<{
23
+ id: import("zod").ZodString;
24
+ email: import("zod").ZodString;
25
+ name: import("zod").ZodString;
26
+ role: import("zod").ZodEnum<{
27
+ admin: "admin";
28
+ member: "member";
29
+ }>;
30
+ projects: import("zod").ZodArray<import("zod").ZodString>;
31
+ allProjects: import("zod").ZodBoolean;
32
+ self: import("zod").ZodBoolean;
33
+ }, import("zod/v4/core").$strict>>;
34
+ }, import("zod/v4/core").$strict>;
35
+ export declare const invitationViewSchema: import("zod").ZodObject<{
36
+ id: import("zod").ZodString;
37
+ email: import("zod").ZodString;
38
+ role: import("zod").ZodEnum<{
39
+ admin: "admin";
40
+ member: "member";
41
+ }>;
42
+ projects: import("zod").ZodArray<import("zod").ZodString>;
43
+ status: import("zod").ZodEnum<{
44
+ pending: "pending";
45
+ expired: "expired";
46
+ accepted: "accepted";
47
+ revoked: "revoked";
48
+ }>;
49
+ }, import("zod/v4/core").$strict>;
50
+ export declare const invitationListSchema: import("zod").ZodObject<{
51
+ data: import("zod").ZodArray<import("zod").ZodObject<{
52
+ id: import("zod").ZodString;
53
+ email: import("zod").ZodString;
54
+ role: import("zod").ZodEnum<{
55
+ admin: "admin";
56
+ member: "member";
57
+ }>;
58
+ projects: import("zod").ZodArray<import("zod").ZodString>;
59
+ status: import("zod").ZodEnum<{
60
+ pending: "pending";
61
+ expired: "expired";
62
+ accepted: "accepted";
63
+ revoked: "revoked";
64
+ }>;
65
+ }, import("zod/v4/core").$strict>>;
66
+ }, import("zod/v4/core").$strict>;
67
+ export declare const memberInviteRequestSchema: import("zod").ZodObject<{
68
+ email: import("zod").ZodString;
69
+ role: import("zod").ZodEnum<{
70
+ admin: "admin";
71
+ member: "member";
72
+ }>;
73
+ projects: import("zod").ZodArray<import("zod").ZodString>;
74
+ }, import("zod/v4/core").$strict>;
75
+ export declare const memberRoleRequestSchema: import("zod").ZodObject<{
76
+ role: import("zod").ZodEnum<{
77
+ admin: "admin";
78
+ member: "member";
79
+ }>;
80
+ }, import("zod/v4/core").$strict>;
81
+ export declare const memberRemovalRequestSchema: import("zod").ZodObject<{
82
+ confirmed: import("zod").ZodLiteral<true>;
83
+ }, import("zod/v4/core").$strict>;
84
+ export declare const memberActionSchema: import("zod").ZodObject<{
85
+ completed: import("zod").ZodLiteral<true>;
86
+ id: import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodString]>;
87
+ project: import("zod").ZodOptional<import("zod").ZodString>;
88
+ }, import("zod/v4/core").$strict>;
89
+ export type MemberView = z.infer<typeof memberViewSchema>;
90
+ export type InvitationView = z.infer<typeof invitationViewSchema>;
91
+ export declare const MEMBER_OPERATIONS: readonly [import("./operations.js").OperationDefinition & {
92
+ readonly id: "members.list";
93
+ }, import("./operations.js").OperationDefinition & {
94
+ readonly id: "invitations.list";
95
+ }, import("./operations.js").OperationDefinition & {
96
+ readonly id: "invitations.create";
97
+ } & {
98
+ readonly request: import("zod").ZodObject<{
99
+ email: import("zod").ZodString;
100
+ role: import("zod").ZodEnum<{
101
+ admin: "admin";
102
+ member: "member";
103
+ }>;
104
+ projects: import("zod").ZodArray<import("zod").ZodString>;
105
+ }, import("zod/v4/core").$strict>;
106
+ }, import("./operations.js").OperationDefinition & {
107
+ readonly id: "invitations.resend";
108
+ } & {
109
+ readonly request: import("zod").ZodObject<{}, import("zod/v4/core").$strict>;
110
+ }, import("./operations.js").OperationDefinition & {
111
+ readonly id: "invitations.revoke";
112
+ } & {
113
+ readonly request: import("zod").ZodObject<{
114
+ confirmed: import("zod").ZodLiteral<true>;
115
+ }, import("zod/v4/core").$strict>;
116
+ }, import("./operations.js").OperationDefinition & {
117
+ readonly id: "members.role";
118
+ } & {
119
+ readonly request: import("zod").ZodObject<{
120
+ role: import("zod").ZodEnum<{
121
+ admin: "admin";
122
+ member: "member";
123
+ }>;
124
+ }, import("zod/v4/core").$strict>;
125
+ }, import("./operations.js").OperationDefinition & {
126
+ readonly id: "members.remove";
127
+ } & {
128
+ readonly request: import("zod").ZodObject<{
129
+ confirmed: import("zod").ZodLiteral<true>;
130
+ }, import("zod/v4/core").$strict>;
131
+ }, import("./operations.js").OperationDefinition & {
132
+ readonly id: "projectmembers.add";
133
+ } & {
134
+ readonly request: import("zod").ZodObject<{}, import("zod/v4/core").$strict>;
135
+ }, import("./operations.js").OperationDefinition & {
136
+ readonly id: "projectmembers.remove";
137
+ } & {
138
+ readonly request: import("zod").ZodObject<{
139
+ confirmed: import("zod").ZodLiteral<true>;
140
+ }, import("zod/v4/core").$strict>;
141
+ }];