@lovrozagar/oat 0.2.2 → 0.4.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 (62) hide show
  1. package/README.md +80 -21
  2. package/dist/cli.js +16 -2
  3. package/dist/config/define-config.d.ts +41 -1
  4. package/dist/config/define-config.d.ts.map +1 -1
  5. package/dist/config/define-config.js.map +1 -1
  6. package/dist/index.d.ts +1 -1
  7. package/dist/report/render.d.ts.map +1 -1
  8. package/dist/report/render.js +28 -5
  9. package/dist/report/render.js.map +1 -1
  10. package/dist/runtime/auth.d.ts.map +1 -1
  11. package/dist/runtime/auth.js +30 -3
  12. package/dist/runtime/auth.js.map +1 -1
  13. package/dist/runtime/body.d.ts +33 -0
  14. package/dist/runtime/body.d.ts.map +1 -0
  15. package/dist/runtime/body.js +218 -0
  16. package/dist/runtime/body.js.map +1 -0
  17. package/dist/runtime/checks.d.ts +3 -0
  18. package/dist/runtime/checks.d.ts.map +1 -1
  19. package/dist/runtime/checks.js +83 -39
  20. package/dist/runtime/checks.js.map +1 -1
  21. package/dist/runtime/client.d.ts +20 -1
  22. package/dist/runtime/client.d.ts.map +1 -1
  23. package/dist/runtime/client.js +207 -8
  24. package/dist/runtime/client.js.map +1 -1
  25. package/dist/runtime/dummy.d.ts +23 -0
  26. package/dist/runtime/dummy.d.ts.map +1 -0
  27. package/dist/runtime/dummy.js +214 -0
  28. package/dist/runtime/dummy.js.map +1 -0
  29. package/dist/runtime/fixture.d.ts +28 -1
  30. package/dist/runtime/fixture.d.ts.map +1 -1
  31. package/dist/runtime/fixture.js +551 -90
  32. package/dist/runtime/fixture.js.map +1 -1
  33. package/dist/runtime/progress.d.ts +4 -0
  34. package/dist/runtime/progress.d.ts.map +1 -1
  35. package/dist/runtime/progress.js +23 -0
  36. package/dist/runtime/progress.js.map +1 -1
  37. package/dist/runtime/run.d.ts +4 -1
  38. package/dist/runtime/run.d.ts.map +1 -1
  39. package/dist/runtime/run.js +121 -35
  40. package/dist/runtime/run.js.map +1 -1
  41. package/dist/runtime/upload.d.ts +21 -0
  42. package/dist/runtime/upload.d.ts.map +1 -0
  43. package/dist/runtime/upload.js +247 -0
  44. package/dist/runtime/upload.js.map +1 -0
  45. package/dist/runtime/world.d.ts +7 -0
  46. package/dist/runtime/world.d.ts.map +1 -1
  47. package/dist/runtime/world.js +59 -14
  48. package/dist/runtime/world.js.map +1 -1
  49. package/dist/spec/collection.d.ts +13 -0
  50. package/dist/spec/collection.d.ts.map +1 -1
  51. package/dist/spec/collection.js +36 -6
  52. package/dist/spec/collection.js.map +1 -1
  53. package/dist/spec/graph.d.ts.map +1 -1
  54. package/dist/spec/graph.js +7 -3
  55. package/dist/spec/graph.js.map +1 -1
  56. package/dist/spec/load.d.ts.map +1 -1
  57. package/dist/spec/load.js +19 -4
  58. package/dist/spec/load.js.map +1 -1
  59. package/dist/spec/types.d.ts +3 -0
  60. package/dist/spec/types.d.ts.map +1 -1
  61. package/dist/spec/types.js.map +1 -1
  62. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/runtime/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/runtime/auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Turns a generated field map into the body the document asked for.
3
+ *
4
+ * JSON stays a plain object. urlencoded becomes URLSearchParams. Multipart becomes
5
+ * FormData — file parts are resolved (hook → pool → dummy), never JSON.stringified.
6
+ */
7
+ import { requestContent } from "../spec/collection.ts";
8
+ import type { OperationModel, SpecModel } from "../spec/graph.ts";
9
+ import { type UploadContext } from "./upload.ts";
10
+ export interface EncodedBody {
11
+ body: unknown;
12
+ /** `null` means headers are already final (FormData — fetch sets the boundary). */
13
+ contentType: string | null | undefined;
14
+ }
15
+ export interface EncodeOptions {
16
+ operationId: string;
17
+ mediaType: string;
18
+ schema: Record<string, unknown>;
19
+ encoding?: Record<string, {
20
+ contentType?: string;
21
+ }>;
22
+ fields: Record<string, unknown>;
23
+ variant: string;
24
+ index: number;
25
+ uploads: UploadContext;
26
+ }
27
+ export declare function requestContentOf(op: OperationModel, model: SpecModel): ReturnType<typeof requestContent>;
28
+ export declare function encodeForOperation(op: OperationModel, model: SpecModel, fields: Record<string, unknown>, uploads: UploadContext, variant?: string, index?: number): Promise<EncodedBody>;
29
+ export declare function encodeRequest(options: EncodeOptions): Promise<EncodedBody>;
30
+ export declare function isFilePart(schema: unknown, encoding?: {
31
+ contentType?: string;
32
+ }): boolean;
33
+ //# sourceMappingURL=body.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../../src/runtime/body.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjE,OAAO,EACN,KAAK,aAAa,EAKlB,MAAM,aAAa,CAAA;AAEpB,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,OAAO,CAAA;IACb,mFAAmF;IACnF,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;CACtC;AAED,MAAM,WAAW,aAAa;IAC7B,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACnD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,aAAa,CAAA;CACtB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAGxG;AAED,wBAAsB,kBAAkB,CACvC,EAAE,EAAE,cAAc,EAClB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,aAAa,EACtB,OAAO,SAAa,EACpB,KAAK,SAAI,GACP,OAAO,CAAC,WAAW,CAAC,CActB;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CAShF;AA6HD,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CASxF"}
@@ -0,0 +1,218 @@
1
+ /**
2
+ * Turns a generated field map into the body the document asked for.
3
+ *
4
+ * JSON stays a plain object. urlencoded becomes URLSearchParams. Multipart becomes
5
+ * FormData — file parts are resolved (hook → pool → dummy), never JSON.stringified.
6
+ */
7
+ import { requestContent } from "../spec/collection.js";
8
+ import { isFieldOverride, isUploadFile, resolveUploadFile, resolveUploadOverride, } from "./upload.js";
9
+ export function requestContentOf(op, model) {
10
+ const raw = model.rawOperations.get(op.operationId);
11
+ return raw === undefined ? null : requestContent(raw);
12
+ }
13
+ export async function encodeForOperation(op, model, fields, uploads, variant = "baseline", index = 0) {
14
+ const content = requestContentOf(op, model);
15
+ if (content === null)
16
+ return { body: fields, contentType: undefined };
17
+ const options = {
18
+ fields,
19
+ index,
20
+ mediaType: content.mediaType,
21
+ operationId: op.operationId,
22
+ schema: content.schema,
23
+ uploads,
24
+ variant,
25
+ };
26
+ if (content.encoding !== undefined)
27
+ options.encoding = content.encoding;
28
+ return encodeRequest(options);
29
+ }
30
+ export async function encodeRequest(options) {
31
+ const media = options.mediaType.toLowerCase();
32
+ if (media.startsWith("multipart/")) {
33
+ return { body: await encodeMultipart(options), contentType: null };
34
+ }
35
+ if (media.includes("x-www-form-urlencoded")) {
36
+ return { body: encodeUrlencoded(options.fields), contentType: "application/x-www-form-urlencoded" };
37
+ }
38
+ return { body: options.fields, contentType: undefined };
39
+ }
40
+ async function encodeMultipart(options) {
41
+ const form = new FormData();
42
+ const properties = propertiesOf(options.schema);
43
+ const required = requiredOf(options.schema);
44
+ const names = filePartNames(properties, required, options);
45
+ const hookHits = new Map();
46
+ for (const name of names) {
47
+ const schema = properties[name] ?? additionalSchema(options.schema) ?? {};
48
+ const resolved = await resolveUploadOverride(uploadRequest(name, schema, options), options.uploads);
49
+ hookHits.set(name, resolved);
50
+ if (isFieldOverride(resolved)) {
51
+ appendFields(form, resolved.fields);
52
+ return form;
53
+ }
54
+ }
55
+ const sent = new Set();
56
+ for (const [name, schema] of Object.entries(properties)) {
57
+ sent.add(name);
58
+ if (isFilePart(schema, options.encoding?.[name])) {
59
+ const hit = hookHits.get(name);
60
+ const file = isUploadFile(hit)
61
+ ? hit
62
+ : await fileForPart(name, schema, { ...options, uploads: { ...options.uploads, resolveUpload: undefined } });
63
+ appendFile(form, name, file);
64
+ continue;
65
+ }
66
+ const value = options.fields[name];
67
+ if (value === undefined || value === null)
68
+ continue;
69
+ appendScalar(form, name, value);
70
+ }
71
+ await appendAdditionalFile(form, options, sent, required);
72
+ return form;
73
+ }
74
+ function encodeUrlencoded(fields) {
75
+ const params = new URLSearchParams();
76
+ for (const [name, value] of Object.entries(fields)) {
77
+ if (value === undefined || value === null)
78
+ continue;
79
+ if (typeof value === "object")
80
+ continue;
81
+ params.set(name, String(value));
82
+ }
83
+ return params;
84
+ }
85
+ function filePartNames(properties, required, options) {
86
+ const fromProps = Object.entries(properties)
87
+ .filter(([name, schema]) => isFilePart(schema, options.encoding?.[name]))
88
+ .map(([name]) => name);
89
+ if (fromProps.length > 0)
90
+ return fromProps;
91
+ if (isFilePart(additionalSchema(options.schema) ?? {}, undefined)) {
92
+ const extra = required.find((name) => properties[name] === undefined);
93
+ if (extra !== undefined)
94
+ return [extra];
95
+ }
96
+ return [];
97
+ }
98
+ async function appendAdditionalFile(form, options, sent, required) {
99
+ const additional = additionalSchema(options.schema);
100
+ if (!isFilePart(additional ?? {}, undefined))
101
+ return;
102
+ const already = [...form.keys()].some((name) => {
103
+ const value = form.get(name);
104
+ return typeof File !== "undefined" && value instanceof File;
105
+ });
106
+ if (already)
107
+ return;
108
+ const name = required.find((item) => !sent.has(item)) ??
109
+ required.find((item) => isFilePart(propertiesOf(options.schema)[item] ?? {}, options.encoding?.[item]));
110
+ if (name === undefined)
111
+ return;
112
+ appendFile(form, name, await fileForPart(name, additional ?? {}, options));
113
+ }
114
+ async function fileForPart(name, schema, options) {
115
+ const request = uploadRequest(name, schema, options);
116
+ const file = await resolveUploadFile(request, options.uploads);
117
+ return file;
118
+ }
119
+ function uploadRequest(name, schema, options) {
120
+ const contentMediaType = contentMediaTypeOf(schema, options.encoding?.[name]);
121
+ const request = {
122
+ field: name,
123
+ index: options.index,
124
+ mediaType: options.mediaType,
125
+ operationId: options.operationId,
126
+ variant: options.variant,
127
+ };
128
+ if (contentMediaType !== undefined)
129
+ request.contentMediaType = contentMediaType;
130
+ const filename = typeof schema.filename === "string" ? schema.filename : undefined;
131
+ if (filename !== undefined)
132
+ request.filename = filename;
133
+ return request;
134
+ }
135
+ function appendFields(form, fields) {
136
+ for (const [name, value] of Object.entries(fields)) {
137
+ if (typeof value === "string")
138
+ form.append(name, value);
139
+ else
140
+ appendFile(form, name, value);
141
+ }
142
+ }
143
+ function appendFile(form, name, file) {
144
+ const blob = new File([file.bytes], file.filename, { type: file.mediaType });
145
+ form.append(name, blob, file.filename);
146
+ }
147
+ function appendScalar(form, name, value) {
148
+ if (typeof value === "string" || typeof value === "number" || typeof value === "boolean") {
149
+ form.append(name, String(value));
150
+ return;
151
+ }
152
+ form.append(name, JSON.stringify(value));
153
+ }
154
+ export function isFilePart(schema, encoding) {
155
+ if (schema === null || typeof schema !== "object")
156
+ return false;
157
+ const record = schema;
158
+ if (isBinarySchema(record))
159
+ return true;
160
+ const encoded = encoding?.contentType;
161
+ if (typeof encoded === "string" && encoded !== "" && !isJsonMedia(encoded))
162
+ return true;
163
+ const union = record.oneOf ?? record.anyOf;
164
+ if (Array.isArray(union))
165
+ return union.some((branch) => isFilePart(branch, encoding));
166
+ return false;
167
+ }
168
+ function isBinarySchema(schema) {
169
+ const format = typeof schema.format === "string" ? schema.format.toLowerCase() : "";
170
+ if (format === "binary" || format === "byte")
171
+ return true;
172
+ const encoding = typeof schema.contentEncoding === "string" ? schema.contentEncoding.toLowerCase() : "";
173
+ if (encoding === "binary" || encoding === "base64")
174
+ return true;
175
+ const media = typeof schema.contentMediaType === "string" ? schema.contentMediaType : "";
176
+ if (media !== "" && !isJsonMedia(media))
177
+ return true;
178
+ return false;
179
+ }
180
+ function isJsonMedia(mediaType) {
181
+ const bare = mediaType.split(";")[0]?.trim().toLowerCase() ?? "";
182
+ return bare.includes("json");
183
+ }
184
+ function contentMediaTypeOf(schema, encoding) {
185
+ if (typeof encoding?.contentType === "string" && encoding.contentType !== "") {
186
+ return encoding.contentType.split(",")[0]?.trim();
187
+ }
188
+ if (typeof schema.contentMediaType === "string" && schema.contentMediaType !== "") {
189
+ return schema.contentMediaType;
190
+ }
191
+ const format = typeof schema.format === "string" ? schema.format.toLowerCase() : "";
192
+ if (format === "binary" || format === "byte")
193
+ return "application/octet-stream";
194
+ return undefined;
195
+ }
196
+ function propertiesOf(schema) {
197
+ const properties = schema.properties;
198
+ if (properties === null || typeof properties !== "object" || Array.isArray(properties))
199
+ return {};
200
+ const out = {};
201
+ for (const [name, raw] of Object.entries(properties)) {
202
+ if (raw !== null && typeof raw === "object" && !Array.isArray(raw))
203
+ out[name] = raw;
204
+ }
205
+ return out;
206
+ }
207
+ function requiredOf(schema) {
208
+ return Array.isArray(schema.required)
209
+ ? schema.required.filter((item) => typeof item === "string")
210
+ : [];
211
+ }
212
+ function additionalSchema(schema) {
213
+ const additional = schema.additionalProperties;
214
+ if (additional === null || typeof additional !== "object" || Array.isArray(additional))
215
+ return undefined;
216
+ return additional;
217
+ }
218
+ //# sourceMappingURL=body.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"body.js","sourceRoot":"","sources":["../../src/runtime/body.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ import type { QueryCapability } from "../spec/extensions.ts";
10
10
  import type { OperationModel, SpecModel } from "../spec/graph.ts";
11
11
  import type { Client } from "./client.ts";
12
12
  import type { FindingCollector } from "./finding.ts";
13
+ import type { UploadContext } from "./upload.ts";
13
14
  import type { SchemaValidator } from "./validate.ts";
14
15
  import { type Record_ } from "./world.ts";
15
16
  /** A resolved principal as checks see it — identity, lattice position, and how to speak as it. */
@@ -53,6 +54,8 @@ export interface CheckContext {
53
54
  altScope: Record<string, string> | undefined;
54
55
  validator: SchemaValidator | undefined;
55
56
  seed: number;
57
+ /** File pool / dummy resolution for multipart parts. */
58
+ uploads: UploadContext;
56
59
  /** Operations on this entity declared async via `x-async`. */
57
60
  asyncOps: OperationModel[];
58
61
  /** Operations on this entity that declare `x-effects`. */
@@ -1 +1 @@
1
- {"version":3,"file":"checks.d.ts","sourceRoot":"","sources":["../../src/runtime/checks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checks.d.ts","sourceRoot":"","sources":["../../src/runtime/checks.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,8 @@
6
6
  * the oracle of what oat just wrote. Check ids are stable: the conformance suite asserts on them.
7
7
  */
8
8
  import { filterTerm, selectTerm, sortTerm } from "../spec/conventions.js";
9
+ import { requestContent } from "../spec/collection.js";
10
+ import { encodeForOperation } from "./body.js";
9
11
  import { describeFeatureGate, isDocumentedFeatureGateDenial, reportFeatureGateSchemaDrift } from "./feature-gate.js";
10
12
  import { driveAsync } from "./async.js";
11
13
  import { buildCohort } from "./fixture.js";
@@ -1312,19 +1314,20 @@ const idempotentReplay = {
1312
1314
  return;
1313
1315
  const schema = requestSchemaOf(ctx, createOp);
1314
1316
  if (schema === null) {
1315
- return ctx.findings.unresolved(this.id, ctx.entityName, "the create operation declares no JSON request body to replay");
1317
+ return ctx.findings.unresolved(this.id, ctx.entityName, "the create operation declares no request body to replay");
1316
1318
  }
1317
1319
  const body = validBody(ctx, schema);
1318
1320
  const key = `oat-idem-${ctx.seed}-${ctx.entityName}`;
1319
1321
  const path = fillPath(createOp.path, ctx.scope);
1320
1322
  const headers = { ...ctx.auth(), [header]: key };
1321
- const first = await ctx.client.request("POST", path, { body, headers });
1323
+ const encoded = await encodeOpBody(ctx, createOp, body);
1324
+ const first = await ctx.client.request("POST", path, { ...encoded, headers });
1322
1325
  if (standDownForFeatureGate(ctx, createOp, first, this.id))
1323
1326
  return;
1324
1327
  if (first.status >= 300) {
1325
1328
  return ctx.findings.unresolved(this.id, ctx.entityName, `the first create returned ${first.status}, so there was nothing to replay`);
1326
1329
  }
1327
- const second = await ctx.client.request("POST", path, { body, headers });
1330
+ const second = await ctx.client.request("POST", path, { ...encoded, headers });
1328
1331
  if (standDownForFeatureGate(ctx, createOp, second, this.id))
1329
1332
  return;
1330
1333
  if (second.status >= 300) {
@@ -1370,7 +1373,7 @@ const declaredInvalidationHappens = {
1370
1373
  return;
1371
1374
  const schema = requestSchemaOf(ctx, createOp);
1372
1375
  if (schema === null) {
1373
- return ctx.findings.unresolved(this.id, ctx.entityName, "the create operation declares no JSON request body, so no write can be made");
1376
+ return ctx.findings.unresolved(this.id, ctx.entityName, "the create operation declares no request body, so no write can be made");
1374
1377
  }
1375
1378
  /* Only routes whose path can be filled from this entity's scope are probed: a route
1376
1379
  * needing an identifier oat does not hold would 404 for a reason unrelated to staleness. */
@@ -1395,7 +1398,7 @@ const declaredInvalidationHappens = {
1395
1398
  return ctx.findings.unresolved(this.id, ctx.entityName, "none of the declared routes could be read before the write");
1396
1399
  }
1397
1400
  const created = await ctx.client.request("POST", fillPath(createOp.path, ctx.scope), {
1398
- body: validBody(ctx, schema),
1401
+ ...(await encodeOpBody(ctx, createOp, validBody(ctx, schema))),
1399
1402
  headers: ctx.auth(),
1400
1403
  });
1401
1404
  if (standDownForFeatureGate(ctx, createOp, created, this.id))
@@ -2543,25 +2546,20 @@ function pointerValue(body, pointer) {
2543
2546
  * at the same check — the timeline is the property.
2544
2547
  */
2545
2548
  const inviteGrantsThenRevokes = {
2546
- applicable: (ctx) => ctx.invite !== null &&
2547
- ctx.readOp !== undefined &&
2548
- ctx.records.length > 0 &&
2549
- ctx.actors.some((actor) => actor.inviteAs !== undefined &&
2550
- ctx.actors[0] !== undefined &&
2551
- !sameTenantScope(actor.roots, ctx.actors[0].roots)),
2549
+ applicable: (ctx) => ctx.invite !== null && (ctx.readOp !== undefined || ctx.listOp !== undefined),
2552
2550
  dependsOn: ["list.read-after-write", "tenant.item-not-readable-cross-tenant"],
2553
2551
  id: "auth.invite-grants-then-revokes",
2554
- needs: "x-invite naming invite/accept/revoke, a peer principal with inviteAs, and an item route",
2552
+ needs: "x-invite naming invite/accept/revoke, a peer principal with inviteAs, and an item or list route",
2555
2553
  async run(ctx) {
2556
2554
  const spec = ctx.invite;
2557
2555
  const owner = ctx.actors[0];
2558
- const target = ctx.records[0];
2559
- if (spec === null || owner === undefined || target === undefined || ctx.readOp === undefined) {
2556
+ if (spec === null || owner === undefined) {
2560
2557
  return;
2561
2558
  }
2562
- const delegate = ctx.actors.find((actor) => actor.inviteAs !== undefined && !sameTenantScope(actor.roots, owner.roots));
2559
+ const delegate = ctx.actors.find((actor) => actor !== owner && actor.inviteAs !== undefined && !sameTenantScope(actor.roots, owner.roots)) ?? ctx.actors.find((actor) => actor !== owner && actor.inviteAs !== undefined);
2563
2560
  if (delegate === undefined || delegate.inviteAs === undefined) {
2564
- return ctx.findings.unresolved(this.id, ctx.entityName, "no peer principal declares inviteAs, so there is no one to invite");
2561
+ return ctx.findings.gap(this.id, ctx.entityName, "x-invite requires a peer principal with inviteAs", "x-invite names the grant flow, but no peer principal declares inviteAs, so oat " +
2562
+ "cannot fill the grantee field without inventing an email");
2565
2563
  }
2566
2564
  const inviteOp = ctx.model.byOperationId.get(spec.invite);
2567
2565
  const acceptOp = ctx.model.byOperationId.get(spec.accept);
@@ -2569,16 +2567,23 @@ const inviteGrantsThenRevokes = {
2569
2567
  if (inviteOp === undefined || acceptOp === undefined || revokeOp === undefined) {
2570
2568
  return ctx.findings.unresolved(this.id, ctx.entityName, "x-invite names an operation that is not in the document");
2571
2569
  }
2572
- const id = String(target[ctx.identity]);
2573
- const resource = { ...ctx.scope, ...itemParamFor(ctx, id) };
2574
- const itemPath = ctx.readOp.path;
2570
+ const target = ctx.records[0];
2571
+ const id = target === undefined ? undefined : String(target[ctx.identity]);
2572
+ const resource = {
2573
+ ...ctx.scope,
2574
+ ...(id === undefined ? {} : itemParamFor(ctx, id)),
2575
+ };
2576
+ const itemPath = ctx.readOp?.path;
2575
2577
  const canRead = async () => {
2578
+ if (itemPath === undefined || id === undefined)
2579
+ return null;
2576
2580
  const exchange = await ctx.client.get(fillPath(itemPath, { ...delegate.roots, ...resource }), {
2577
2581
  headers: delegate.headers(),
2578
2582
  });
2579
2583
  return exchange.status < 300;
2580
2584
  };
2581
- if (await canRead()) {
2585
+ const alreadyReadable = await canRead();
2586
+ if (alreadyReadable === true) {
2582
2587
  return ctx.findings.unresolved(this.id, ctx.entityName, "the delegate could already read the record, so invite cannot be distinguished from a leak");
2583
2588
  }
2584
2589
  const invited = await ctx.client.request(inviteOp.method, fillPath(inviteOp.path, resource), {
@@ -2590,7 +2595,7 @@ const inviteGrantsThenRevokes = {
2590
2595
  if (invited.status >= 300) {
2591
2596
  return ctx.findings.unresolved(this.id, ctx.entityName, `invite returned ${invited.status}, so accept/revoke were never exercised`);
2592
2597
  }
2593
- if (await canRead()) {
2598
+ if ((await canRead()) === true) {
2594
2599
  ctx.findings.backend(this.id, ctx.entityName, "an invite grants access before it is accepted", `inviting ${delegate.id} made ${ctx.entityName} ${id} readable immediately. The accept ` +
2595
2600
  "step is then theatre — anyone who can be named in an invite body is already in.", [invited]);
2596
2601
  return;
@@ -2608,7 +2613,7 @@ const inviteGrantsThenRevokes = {
2608
2613
  if (accepted.status >= 300) {
2609
2614
  return ctx.findings.unresolved(this.id, ctx.entityName, `accept returned ${accepted.status}`);
2610
2615
  }
2611
- if (!(await canRead())) {
2616
+ if ((await canRead()) === false) {
2612
2617
  ctx.findings.backend(this.id, ctx.entityName, "accepting an invite does not grant access", `${delegate.id} accepted an invite to ${ctx.entityName} ${id} and still cannot read it. ` +
2613
2618
  "The invite flow completed; the grant did not.", [invited, accepted]);
2614
2619
  return;
@@ -2622,7 +2627,7 @@ const inviteGrantsThenRevokes = {
2622
2627
  if (revoked.status >= 300) {
2623
2628
  return ctx.findings.unresolved(this.id, ctx.entityName, `revoke returned ${revoked.status}`);
2624
2629
  }
2625
- if (await canRead()) {
2630
+ if ((await canRead()) === true) {
2626
2631
  ctx.findings.backend(this.id, ctx.entityName, "revoking an invite does not remove access", `${delegate.id} can still read ${ctx.entityName} ${id} after the grant was revoked. ` +
2627
2632
  "A share that cannot be taken back is a standing leak.", [invited, accepted, revoked]);
2628
2633
  }
@@ -2773,7 +2778,9 @@ const createPersistsFields = {
2773
2778
  const sent = createExchange(ctx);
2774
2779
  if (sent === undefined || sent.requestBody === undefined)
2775
2780
  return;
2776
- const request = sent.requestBody;
2781
+ const request = submittedFields(sent.requestBody);
2782
+ if (Object.keys(request).length === 0)
2783
+ return;
2777
2784
  const response = (sent.responseBody ?? {});
2778
2785
  const dropped = Object.entries(request).filter(([key, value]) => {
2779
2786
  if (value === null || value === undefined)
@@ -2809,7 +2816,7 @@ const enumValidated = {
2809
2816
  return;
2810
2817
  const body = { ...validBody(ctx, schema), [target.name]: "oat-not-a-member" };
2811
2818
  const exchange = await ctx.client.request("POST", fillPath(createOp.path, ctx.scope), {
2812
- body,
2819
+ ...(await encodeOpBody(ctx, createOp, body)),
2813
2820
  headers: ctx.auth(),
2814
2821
  });
2815
2822
  if (standDownForFeatureGate(ctx, createOp, exchange, this.id))
@@ -2840,7 +2847,7 @@ const maxLengthValidated = {
2840
2847
  const max = target.schema.maxLength;
2841
2848
  const body = { ...validBody(ctx, schema), [target.name]: "x".repeat(max + 25) };
2842
2849
  const exchange = await ctx.client.request("POST", fillPath(createOp.path, ctx.scope), {
2843
- body,
2850
+ ...(await encodeOpBody(ctx, createOp, body)),
2844
2851
  headers: ctx.auth(),
2845
2852
  });
2846
2853
  if (standDownForFeatureGate(ctx, createOp, exchange, this.id))
@@ -2869,7 +2876,7 @@ const requiredValidated = {
2869
2876
  return;
2870
2877
  const { [field]: _omitted, ...body } = validBody(ctx, schema);
2871
2878
  const exchange = await ctx.client.request("POST", fillPath(createOp.path, ctx.scope), {
2872
- body,
2879
+ ...(await encodeOpBody(ctx, createOp, body)),
2873
2880
  headers: ctx.auth(),
2874
2881
  });
2875
2882
  if (standDownForFeatureGate(ctx, createOp, exchange, this.id))
@@ -2969,6 +2976,8 @@ const successSchemaHonoured = {
2969
2976
  const exchange = createExchange(ctx);
2970
2977
  if (exchange === undefined)
2971
2978
  return;
2979
+ if (isEventStream(exchange))
2980
+ return;
2972
2981
  if (!validator.documents(raw, exchange.status)) {
2973
2982
  return ctx.findings.unresolved(this.id, ctx.entityName, `create returned ${exchange.status}, which the document declares no schema for — ` +
2974
2983
  "there is nothing to validate the body against");
@@ -2983,19 +2992,54 @@ const successSchemaHonoured = {
2983
2992
  };
2984
2993
  /** Builds a body that should be accepted, for use as the base of a negative probe. */
2985
2994
  function validBody(ctx, schema) {
2986
- const [member] = buildCohort(schema, ctx.seed, ["baseline"]);
2995
+ const [member] = buildCohort(schema, ctx.seed, ["baseline"], ctx.createOp?.operationId ?? ctx.entityName);
2987
2996
  return member?.body ?? {};
2988
2997
  }
2998
+ /** Invite bodies must carry the peer's `inviteAs`, never a generated email. */
2999
+ function bodyForOp(ctx, op) {
3000
+ const body = validBody(ctx, requestSchemaOf(ctx, op) ?? {});
3001
+ const spec = op.invite ?? ctx.invite;
3002
+ if (spec === null || spec === undefined)
3003
+ return body;
3004
+ const owner = ctx.actors[0];
3005
+ const delegate = ctx.actors.find((actor) => actor !== owner &&
3006
+ actor.inviteAs !== undefined &&
3007
+ owner !== undefined &&
3008
+ !sameTenantScope(actor.roots, owner.roots)) ?? ctx.actors.find((actor) => actor !== owner && actor.inviteAs !== undefined);
3009
+ if (delegate?.inviteAs !== undefined)
3010
+ body[spec.granteeField] = delegate.inviteAs;
3011
+ return body;
3012
+ }
2989
3013
  function requestSchemaOf(ctx, op) {
2990
3014
  const raw = ctx.model.rawOperations.get(op.operationId);
2991
- const content = raw?.requestBody?.content;
2992
- if (content === undefined)
2993
- return null;
2994
- for (const [mediaType, media] of Object.entries(content)) {
2995
- if (mediaType.includes("json") && media.schema !== undefined)
2996
- return media.schema;
3015
+ const picked = raw === undefined ? null : requestContent(raw);
3016
+ return picked === null ? null : picked.schema;
3017
+ }
3018
+ async function encodeOpBody(ctx, op, fields, variant = "baseline", index = 0) {
3019
+ const encoded = await encodeForOperation(op, ctx.model, fields, ctx.uploads, variant, index);
3020
+ return encoded.contentType === undefined
3021
+ ? { body: encoded.body }
3022
+ : { body: encoded.body, contentType: encoded.contentType };
3023
+ }
3024
+ function submittedFields(body) {
3025
+ if (typeof FormData !== "undefined" && body instanceof FormData) {
3026
+ const out = {};
3027
+ for (const [name, value] of body.entries()) {
3028
+ if (typeof value === "string")
3029
+ out[name] = value;
3030
+ }
3031
+ return out;
2997
3032
  }
2998
- return null;
3033
+ if (typeof URLSearchParams !== "undefined" && body instanceof URLSearchParams) {
3034
+ return Object.fromEntries(body.entries());
3035
+ }
3036
+ if (body !== null && typeof body === "object" && !Array.isArray(body))
3037
+ return body;
3038
+ return {};
3039
+ }
3040
+ function isEventStream(exchange) {
3041
+ const type = exchange.responseHeaders["content-type"] ?? "";
3042
+ return type.includes("text/event-stream");
2999
3043
  }
3000
3044
  function findConstrained(schema, predicate) {
3001
3045
  const props = schema.properties;
@@ -3245,10 +3289,10 @@ const declaredEffectsOccur = {
3245
3289
  const before = await observe(ctx, listOp);
3246
3290
  if (before === null)
3247
3291
  continue;
3248
- const body = op.hasRequestBody ? validBody(ctx, requestSchemaOf(ctx, op) ?? {}) : undefined;
3292
+ const body = op.hasRequestBody ? bodyForOp(ctx, op) : undefined;
3249
3293
  const invoked = await ctx.client.request(op.method, fillPath(op.path, ctx.scope), {
3250
3294
  headers: ctx.auth(),
3251
- ...(body === undefined ? {} : { body }),
3295
+ ...(body === undefined ? {} : await encodeOpBody(ctx, op, body)),
3252
3296
  });
3253
3297
  if (standDownForFeatureGate(ctx, op, invoked, this.id))
3254
3298
  continue;
@@ -3317,10 +3361,10 @@ const asyncReachesTerminalState = {
3317
3361
  const spec = op.async;
3318
3362
  if (spec === null)
3319
3363
  continue;
3320
- const body = op.hasRequestBody ? validBody(ctx, requestSchemaOf(ctx, op) ?? {}) : undefined;
3364
+ const body = op.hasRequestBody ? bodyForOp(ctx, op) : undefined;
3321
3365
  const start = await ctx.client.request(op.method, fillPath(op.path, ctx.scope), {
3322
3366
  headers: ctx.auth(),
3323
- ...(body === undefined ? {} : { body }),
3367
+ ...(body === undefined ? {} : await encodeOpBody(ctx, op, body)),
3324
3368
  });
3325
3369
  if (standDownForFeatureGate(ctx, op, start, this.id))
3326
3370
  continue;