@substrat-run/engine-protocol 0.7.3 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -2,6 +2,13 @@ import { z } from 'zod';
2
2
  import { type EntityRef, type EntityRow } from '@substrat-run/contracts';
3
3
  import { protocolEntities } from './entities.js';
4
4
  export { protocolEntities, protocolInstanceRow } from './entities.js';
5
+ /**
6
+ * The row shapes this engine publishes, as Zod (#738). A vertical declaring an
7
+ * operation that RETURNS one needs something to point at; before these it had
8
+ * only TypeScript interfaces, which are enough to implement against and not
9
+ * enough to declare against.
10
+ */
11
+ export { protocolTemplateRow, protocolResponseRow, protocolSignatureRow, protocolSignatureRequestRow, } from './schemas.js';
5
12
  import { type GuardPredicate, type ModuleRegistration, type OperationContext } from '@substrat-run/kernel';
6
13
  export declare const PROTOCOL_PERM: {
7
14
  create: string & z.$brand<"PermissionKey">;
@@ -288,6 +295,16 @@ export interface ProtocolSignatureRequestRow {
288
295
  method: string;
289
296
  /** #620: null on every row written before `0003-party-auth-level` — reads as `basic`. */
290
297
  auth_level: 'basic' | 'strong' | null;
298
+ /**
299
+ * #687: the sealed delivery address, or null for a party that needs none (the
300
+ * issuer) and for every row written before `0005-party-contact`.
301
+ *
302
+ * **Ciphertext, never plaintext** — the engine holds no readable address at
303
+ * any point after the operation returns, which is what keeps a signatory's
304
+ * contact out of this engine's erasure story entirely.
305
+ */
306
+ contact_key_id: string | null;
307
+ contact_ciphertext: string | null;
291
308
  status: 'pending' | 'signed' | 'declined' | 'expired' | 'cancelled';
292
309
  content_hash: string;
293
310
  external_ref: string | null;
@@ -429,6 +446,27 @@ export type BindDocumentInput = z.infer<typeof bindDocumentInput>;
429
446
  * never been able to run.
430
447
  */
431
448
  export declare function bindDocument(ctx: OperationContext, rawInput: BindDocumentInput): ProtocolInstanceRow;
449
+ /**
450
+ * How a signing party is REACHED (#687) — a delivery address, and nothing else.
451
+ *
452
+ * Typed rather than an opaque blob the engine never interprets, and the reason is
453
+ * the `authLevel` argument from #620 one level down: a provider-agnostic engine
454
+ * that cannot say what "how to reach a party" means is an engine every vertical
455
+ * has to guess around, and every connector has to re-derive. The type is small,
456
+ * provider-agnostic, and — with no personal number in it — free of anything a
457
+ * provider-specific vocabulary would be needed for.
458
+ *
459
+ * **No `personalNumber`, deliberately, and not merely as an omission.** An
460
+ * optional PII field on an engine surface is a carrier that exists, and this one
461
+ * is not needed by any path in the tree: a signatory enters their personnummer
462
+ * into the BankID ceremony itself, and it comes back in the completion data.
463
+ * Adding it would recreate exactly the problem this carrier was built to avoid.
464
+ */
465
+ export declare const partyContact: z.ZodObject<{
466
+ email: z.ZodOptional<z.ZodString>;
467
+ mobile: z.ZodOptional<z.ZodString>;
468
+ }, z.core.$strip>;
469
+ export type PartyContact = z.infer<typeof partyContact>;
432
470
  export declare const signatureRequestParty: z.ZodObject<{
433
471
  label: z.ZodString;
434
472
  kind: z.ZodEnum<{
@@ -444,6 +482,10 @@ export declare const signatureRequestParty: z.ZodObject<{
444
482
  basic: "basic";
445
483
  strong: "strong";
446
484
  }>>;
485
+ contact: z.ZodOptional<z.ZodObject<{
486
+ email: z.ZodOptional<z.ZodString>;
487
+ mobile: z.ZodOptional<z.ZodString>;
488
+ }, z.core.$strip>>;
447
489
  }, z.core.$strip>;
448
490
  export type SignatureRequestParty = z.input<typeof signatureRequestParty>;
449
491
  export declare const requestSignaturesInput: z.ZodObject<{
@@ -464,6 +506,10 @@ export declare const requestSignaturesInput: z.ZodObject<{
464
506
  basic: "basic";
465
507
  strong: "strong";
466
508
  }>>;
509
+ contact: z.ZodOptional<z.ZodObject<{
510
+ email: z.ZodOptional<z.ZodString>;
511
+ mobile: z.ZodOptional<z.ZodString>;
512
+ }, z.core.$strip>>;
467
513
  }, z.core.$strip>>;
468
514
  }, z.core.$strip>;
469
515
  export type RequestSignaturesInput = z.input<typeof requestSignaturesInput>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAOL,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAKjD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EAEtB,MAAM,sBAAsB,CAAC;AAuF9B,eAAO,MAAM,aAAa;IACxB,MAAM;IACN,IAAI;IACJ,IAAI;IACJ,gBAAgB;IAChB,eAAe;IACf,IAAI;IACJ,WAAW;IACX,IAAI;IACJ,MAAM;IACN,IAAI;CACL,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsC3B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;GA+M9B,CAAC;AAaF,eAAO,MAAM,YAAY;;;;;;;;;iBAKvB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD,0EAA0E;AAC1E,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;iBAK3B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,eAAe;;;;;iBAO1B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;2BAAoE,CAAC;AAEvF;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;4BAMnC,CAAC;AACF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAKnE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,SAAS;;;;;;;;2BAWpB,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAElD,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,SAAS,CAAC,OAAO,gBAAgB,EAAE,UAAU,CAAC,CAAC;AAEjF,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,8EAA8E;IAC9E,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,SAAS,GAAG,SAAS,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,cAAc,EAAE,WAAW,GAAG,UAAU,CAAC;IACzC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,2BAA2B;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,WAAW,GAAG,UAAU,CAAC;IACrC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,cAAc,EAAE,SAAS,GAAG,SAAS,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,yFAAyF;IACzF,UAAU,EAAE,OAAO,GAAG,QAAQ,GAAG,IAAI,CAAC;IACtC,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,CAAC;IACpE,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AA0GD,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,IAAI,CAAC,mBAAmB,EAAE,KAAK,GAAG,SAAS,GAAG,cAAc,CAAC,EACvE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,EAC3C,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GACxB,OAAO,CAAC,MAAM,CAAC,CAQjB;AA8DD,wBAAgB,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAajG;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,gBAAgB,EACrB,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,MAAM,GAClB,IAAI,CAgBN;AAED;;;;;;;GAOG;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB;;;;;iBAK/B,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAExE,sFAAsF;AACtF,eAAO,MAAM,kBAAkB,EAAE,cAShC,CAAC;AAQF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;iBAI9B,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,MAAM,4BAA4B,GACpC,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAAG;IAAE,IAAI,CAAC,EAAE,WAAW,CAAA;CAAE,CAAC,GACzD,eAAe,CAAC;AAEpB,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,4BAA4B,CAAC;CACvC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,mBAAmB,GAC5B,mBAAmB,CAgBrB;AAED,gEAAgE;AAChE,wBAAgB,aAAa,CAAC,GAAG,EAAE,gBAAgB,GAAG,mBAAmB,EAAE,CAM1E;AAED,eAAO,MAAM,wBAAwB;;;;;;iBAGnC,CAAC;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAEhF;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,wBAAwB,GACjC,mBAAmB,CAuDrB;AAiBD,eAAO,MAAM,iBAAiB;;;;;iBAK5B,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE,wBAAgB,YAAY,CAC1B,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,iBAAiB,GAC1B,mBAAmB,CA4DrB;AAED,eAAO,MAAM,iBAAiB;;;;;;;;iBAmB5B,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,iBAAiB,GAC1B,mBAAmB,CA0ErB;AAMD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;iBAiDhC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE1E,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;iBAKjC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE5E,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,2BAA2B,EAAE,CAAC;CACzC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,sBAAsB,GAC/B,OAAO,CAAC,uBAAuB,CAAC,CAkGlC;AAED,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;iBAc/B,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAExE,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,SAAS,EAAE,oBAAoB,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,oBAAoB,GAC7B,OAAO,CAAC,UAAU,CAAC,CA6FrB;AAED,eAAO,MAAM,qBAAqB;;;;;;;iBAKhC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE1E;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,qBAAqB,GAC9B,2BAA2B,CAmC7B;AAED,eAAO,MAAM,4BAA4B;;;iBAGvC,CAAC;AACH,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAExF;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,4BAA4B,GACrC,mBAAmB,CAkCrB;AA4ED;;;;;;;;;;;GAWG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,gBAAgB,EACrB,KAAK,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GAC5B,OAAO,CAAC,UAAU,CAAC,CA6BrB;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,gBAAgB,EACrB,KAAK,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,GAC5B,OAAO,CAAC,UAAU,CAAC,CAoCrB;AAED,2EAA2E;AAC3E,wBAAgB,YAAY,CAC1B,GAAG,EAAE,gBAAgB,EACrB,KAAK,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC5C,mBAAmB,CAiCrB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,QAAQ,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,uBAAuB,CAAA;KAAE,CAAC;IAC5F,SAAS,EAAE,mBAAmB,EAAE,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC5C,SAAS,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACvC,UAAU,EAAE,oBAAoB,EAAE,CAAC;IACnC,QAAQ,EAAE,2BAA2B,EAAE,CAAC;CACzC;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,GAAG,cAAc,CAmBrF;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,2DAA2D;IAC3D,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,GAAG,eAAe,EAAE,CA0ClG;AA+GD,eAAO,MAAM,cAAc,EAAE,kBAyB5B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,10 +1,17 @@
1
1
  import { z } from 'zod';
2
- import { dataSubjectId, entityRef, instant, moduleManifest, permissionKey, principalId, } from '@substrat-run/contracts';
2
+ import { dataSubjectId, entityRef, instant, moduleManifest, permissionKey, sealedCell, principalId, } from '@substrat-run/contracts';
3
3
  import { protocolEntities } from './entities.js';
4
4
  // The entity registry is PUBLIC: a composing vertical imports it to check
5
5
  // relation edges naming this engine's entities, and to declare an operation's
6
6
  // output without transcribing this engine's shape.
7
7
  export { protocolEntities, protocolInstanceRow } from './entities.js';
8
+ /**
9
+ * The row shapes this engine publishes, as Zod (#738). A vertical declaring an
10
+ * operation that RETURNS one needs something to point at; before these it had
11
+ * only TypeScript interfaces, which are enough to implement against and not
12
+ * enough to declare against.
13
+ */
14
+ export { protocolTemplateRow, protocolResponseRow, protocolSignatureRow, protocolSignatureRequestRow, } from './schemas.js';
8
15
  import { assertAllowed, ulid, } from '@substrat-run/kernel';
9
16
  // ============================================================================
10
17
  // The protocol engine (docs/design/engine-protocol.md, extracted at milestone
@@ -348,6 +355,35 @@ export const protocolMigrations = [
348
355
  ADD COLUMN document_attachment_id TEXT;
349
356
  `,
350
357
  },
358
+ {
359
+ // #687: HOW a party is reached — a delivery address, so a document that
360
+ // starts has somebody to go to. Until now a request carried a role label
361
+ // ('Bestallare') and nothing else, and every external signature this
362
+ // platform ever sent failed at the provider for exactly that reason.
363
+ //
364
+ // **Ciphertext only, and there is no plaintext column to add later.** The
365
+ // contact is sealed in-scope to the connection's public key BEFORE the
366
+ // operation emits (design/signature-contact-carrier.md Option E), so what
367
+ // lands here is what lands on the event: an envelope only the connector can
368
+ // open. That is not caution, it is the only shape available — §2 of that
369
+ // design derives it — and it is why this engine needs no
370
+ // clear-at-resolution sweep and no erasure story of its own for the address.
371
+ // There is nothing here to redact that is not already unreadable.
372
+ //
373
+ // `contact_key_id` is not decoration: a cell that cannot name its key can
374
+ // only ever have ONE key, and every ciphertext already written becomes
375
+ // ambiguous the day a second exists (D-4).
376
+ //
377
+ // Nullable, and stays nullable: a party that issues the document is the
378
+ // author at the provider and is never invited, so it needs no address.
379
+ version: '0005-party-contact',
380
+ sql: `
381
+ ALTER TABLE protocol_signature_requests
382
+ ADD COLUMN contact_key_id TEXT;
383
+ ALTER TABLE protocol_signature_requests
384
+ ADD COLUMN contact_ciphertext TEXT;
385
+ `,
386
+ },
351
387
  ];
352
388
  // ---------------------------------------------------------------------------
353
389
  // Template content SHAPE — engine-owned so fills can be validated against the
@@ -849,6 +885,31 @@ export function bindDocument(ctx, rawInput) {
849
885
  // ---------------------------------------------------------------------------
850
886
  // Asynchronous signing — freeze first, collect signatures over days.
851
887
  // ---------------------------------------------------------------------------
888
+ /**
889
+ * How a signing party is REACHED (#687) — a delivery address, and nothing else.
890
+ *
891
+ * Typed rather than an opaque blob the engine never interprets, and the reason is
892
+ * the `authLevel` argument from #620 one level down: a provider-agnostic engine
893
+ * that cannot say what "how to reach a party" means is an engine every vertical
894
+ * has to guess around, and every connector has to re-derive. The type is small,
895
+ * provider-agnostic, and — with no personal number in it — free of anything a
896
+ * provider-specific vocabulary would be needed for.
897
+ *
898
+ * **No `personalNumber`, deliberately, and not merely as an omission.** An
899
+ * optional PII field on an engine surface is a carrier that exists, and this one
900
+ * is not needed by any path in the tree: a signatory enters their personnummer
901
+ * into the BankID ceremony itself, and it comes back in the completion data.
902
+ * Adding it would recreate exactly the problem this carrier was built to avoid.
903
+ */
904
+ export const partyContact = z
905
+ .object({
906
+ email: z.string().email().optional(),
907
+ /** E.164 preferred; the provider decides what it accepts. */
908
+ mobile: z.string().min(1).optional(),
909
+ })
910
+ .refine((c) => c.email !== undefined || c.mobile !== undefined, {
911
+ message: 'a party contact must carry an email or a mobile — an empty contact reaches nobody',
912
+ });
852
913
  export const signatureRequestParty = z.object({
853
914
  /** Display name for the role, never PII: 'Beställare', 'Leverantör'. */
854
915
  label: z.string().min(1),
@@ -888,16 +949,39 @@ export const signatureRequestParty = z.object({
888
949
  * be choosing a Scrive enum through a provider-agnostic engine. The connector
889
950
  * maps this pair onto whatever its provider calls them (star topology).
890
951
  *
891
- * **`strong` is currently unsatisfiable and will be refused at dispatch.** A
892
- * national eID flow needs the signatory's personal number, and there is no
893
- * lawful carrier for one: it would have to travel on this event, which lands
894
- * in `_substrat_outbox` and `_substrat_platform_requests` kernel spine rows a
895
- * vertical may neither write nor erase (rule 3), and B6 says a personnummer
896
- * never reaches the kernel, the events or the audit trail. The connector fails
897
- * fast and says so, rather than sending a request the provider answers with a
898
- * bare `409`. See the tracking issue for the sealed-carrier design.
952
+ * **`strong` needs a delivery address, never a personal number** (#687, #688).
953
+ * The earlier reading of this field that a national eID flow must carry the
954
+ * signatory's personnummer, and is therefore unsatisfiable was measured and
955
+ * is false: what a provider validates is that a BankID party HAS a personal
956
+ * number field, not that it holds a value, and BankID has not accepted one
957
+ * from the relying party since API v6. So there is no `personalNumber` on this
958
+ * shape, and its absence is a decision rather than an omission: an optional
959
+ * PII field on an engine surface is a carrier that exists. If some future
960
+ * provider genuinely needs one, that is a provider-specific refusal at egress
961
+ * in that connector, with its own carrier argument.
962
+ *
963
+ * What both levels need is `contact` below, and neither can do without it.
899
964
  */
900
965
  authLevel: z.enum(['basic', 'strong']).optional(),
966
+ /**
967
+ * How this party is REACHED (#687) — the thing whose absence made every
968
+ * external signature this platform ever sent fail at the provider.
969
+ *
970
+ * Required for any party that will be INVITED, which is every party except the
971
+ * one issuing the document (see `signatureKind`): the issuer is the author at
972
+ * the provider, reached through the platform's own account, and an author is
973
+ * never invited. `requestSignatures` refuses a set that would send a document
974
+ * to somebody it cannot reach, rather than letting the provider answer
975
+ * `invalid_invitation_delivery_info` a layer later where the caller cannot see
976
+ * it.
977
+ *
978
+ * **This is `direct` PII and the engine never stores it in the clear.** It is
979
+ * sealed to the receiving connector's public key inside the operation, before
980
+ * anything is emitted, and only the envelope reaches the row and the event
981
+ * (design/signature-contact-carrier.md). A vertical passes a plain address in;
982
+ * from the operation's return onward nothing in the platform can read it back.
983
+ */
984
+ contact: partyContact.optional(),
901
985
  });
902
986
  export const requestSignaturesInput = z.object({
903
987
  instanceId: z.string().min(1),
@@ -933,6 +1017,34 @@ export async function requestSignatures(ctx, rawInput) {
933
1017
  const primaryIndex = primaries.length === 1
934
1018
  ? input.parties.findIndex((p) => p.signatureKind === 'primary')
935
1019
  : 0;
1020
+ // #687: a set with no counterparty is refused, and the fall-through above is
1021
+ // exactly why it has to be.
1022
+ //
1023
+ // "The declared primary, else the FIRST" is a total function — it always finds
1024
+ // an issuer — so a one-party request has never failed here. It has failed at
1025
+ // the provider instead: the single party became the AUTHOR, an author is never
1026
+ // invited, and the document went out to nobody. In production that party was
1027
+ // the customer. The rule belongs where the hazard is created, because the call
1028
+ // site cannot see it: a vertical passing `[{ label: 'Kund' }]` is asking for
1029
+ // the customer to sign and is silently answered with the customer as sender.
1030
+ if (input.parties.length < 2) {
1031
+ throw new Error('a signature request needs a counterparty: with one party it becomes the issuing ' +
1032
+ 'author at the provider, and an author is never invited to sign — so the document ' +
1033
+ 'would start and reach nobody. Name who issues (signatureKind: \'primary\') and ' +
1034
+ 'who signs, or use signProtocol for an in-app signature.');
1035
+ }
1036
+ // #687: and every party that WILL be invited must be reachable. Checked before
1037
+ // anything is written or sealed, so a request that cannot be delivered never
1038
+ // freezes the instance — the alternative is an instance stuck in
1039
+ // `pending_signature` for a document that was never sent.
1040
+ for (const [index, party] of input.parties.entries()) {
1041
+ if (index === primaryIndex || party.contact !== undefined)
1042
+ continue;
1043
+ throw new Error(`party '${party.label}' is a counter-signing party and carries no contact — it would be ` +
1044
+ 'invited to sign at an address that was never supplied, which the provider refuses ' +
1045
+ '(invalid_invitation_delivery_info) after the instance has already frozen. Pass ' +
1046
+ 'contact: { email } or contact: { mobile } for every party that must be invited.');
1047
+ }
936
1048
  // Validate the refs that were supplied, so a personnummer cannot be smuggled
937
1049
  // into a request row and land in a signature by way of the matching check.
938
1050
  for (const party of input.parties) {
@@ -941,6 +1053,24 @@ export async function requestSignatures(ctx, rawInput) {
941
1053
  signatory.parse({ kind: party.kind, ref: party.ref, label: party.label });
942
1054
  }
943
1055
  const contentHash = await currentHash(ctx, instance);
1056
+ // #687: seal every contact BEFORE anything is written or emitted.
1057
+ //
1058
+ // Awaited here, and that is the whole trick: an operation is async, `ctx.emit`
1059
+ // is synchronous, and Web Crypto is not — so the seal happens in the operation
1060
+ // and `emit` keeps the signature D-28 fixed. The envelope is opened only by the
1061
+ // connector that will send the document; the engine, the outbox, the platform
1062
+ // intent and every future consumer see bytes.
1063
+ //
1064
+ // Fails closed. `sealToConnection` throws when no key for this method has been
1065
+ // projected into the scope, and this operation does not catch it: a request
1066
+ // that quietly dropped its addresses would be the invisible failure of #620
1067
+ // wearing a new hat, and it would freeze the instance on the way out.
1068
+ const sealedContacts = new Map();
1069
+ for (const [index, party] of input.parties.entries()) {
1070
+ if (party.contact === undefined)
1071
+ continue;
1072
+ sealedContacts.set(index, sealedCell.parse(await ctx.sealToConnection(input.method, JSON.stringify(party.contact))));
1073
+ }
944
1074
  const now = new Date().toISOString();
945
1075
  ctx.sql.exec(`UPDATE protocol_instances
946
1076
  SET status = 'pending_signature', frozen_hash = ?, frozen_at = ? WHERE id = ?`, [contentHash, now, instance.id]);
@@ -948,11 +1078,12 @@ export async function requestSignatures(ctx, rawInput) {
948
1078
  for (const [index, party] of input.parties.entries()) {
949
1079
  const id = ulid();
950
1080
  created.push(id);
1081
+ const sealed = sealedContacts.get(index);
951
1082
  ctx.sql.exec(`INSERT INTO protocol_signature_requests
952
1083
  (id, instance_id, party_label, party_kind, party_ref, signature_kind, method,
953
1084
  auth_level, status, content_hash, external_ref, resolved_note, requested_by,
954
- requested_at, resolved_at)
955
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, 'pending', ?, NULL, NULL, ?, ?, NULL)`, [
1085
+ requested_at, resolved_at, contact_key_id, contact_ciphertext)
1086
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, 'pending', ?, NULL, NULL, ?, ?, NULL, ?, ?)`, [
956
1087
  id,
957
1088
  instance.id,
958
1089
  party.label,
@@ -964,6 +1095,11 @@ export async function requestSignatures(ctx, rawInput) {
964
1095
  contentHash,
965
1096
  ctx.principal,
966
1097
  now,
1098
+ // The SAME envelope that rides the event, not a second seal of the same
1099
+ // value: a redelivery must open the identical bytes, and two envelopes of
1100
+ // one address is two things that can drift.
1101
+ sealed?.keyId ?? null,
1102
+ sealed?.ciphertext ?? null,
967
1103
  ]);
968
1104
  }
969
1105
  const requests = getRequestRows(ctx, instance.id).filter((r) => created.includes(r.id));
@@ -971,7 +1107,25 @@ export async function requestSignatures(ctx, rawInput) {
971
1107
  type: 'protocol.signatures-requested',
972
1108
  schemaVersion: 1,
973
1109
  entity: protocolRef(instance.id),
974
- piiClass: 'none', // party refs are opaque ids; labels are role names, never PII
1110
+ // Party refs are opaque ids and labels are role names, never PII — and the
1111
+ // contact cell does not change that, which is the one point worth stating
1112
+ // rather than assuming (#687).
1113
+ //
1114
+ // A sealed contact IS personal data to whoever holds the private key, so the
1115
+ // instinct is to move this to 'pseudonymous'. That would be worse, not more
1116
+ // honest: `piiClass` other than 'none' requires a `subjectId`, the outbox has
1117
+ // ONE subject column, and a two-party avtal has two signatories. Declaring one
1118
+ // of them would tell `shredSubject` to null a payload still carrying the
1119
+ // other's cell — kernel-design §13.1 limit 1, arriving as an actively wrong
1120
+ // answer rather than a missing one.
1121
+ //
1122
+ // What makes 'none' true here is that the erasure this field needs is already
1123
+ // applied at write time. The address is unreadable to the spine, to every
1124
+ // backup of it, and to `sealDump`'s output, because the key that opens it lives
1125
+ // in the directory and nowhere else. Erasing it is destroying that key
1126
+ // (D-4/D-5's rotation-as-erasure), not redacting a row — so keying a shredder
1127
+ // to this event would buy nothing it does not already have.
1128
+ piiClass: 'none',
975
1129
  payload: {
976
1130
  instanceId: instance.id,
977
1131
  templateKey: instance.template_key,
@@ -1001,6 +1155,13 @@ export async function requestSignatures(ctx, rawInput) {
1001
1155
  // the default. Additive and behaviour-preserving: a party that said nothing
1002
1156
  // reads `basic`, which is what the connector did for principals already.
1003
1157
  authLevel: r.auth_level ?? 'basic',
1158
+ // #687: HOW to reach this party, sealed to the connection that will send
1159
+ // the document. Fat like everything else on this payload — the connector
1160
+ // needs no cross-module read to dispatch — with exactly one field opaque.
1161
+ // Null for the issuing party, which the provider reaches as its own author.
1162
+ contact: r.contact_key_id && r.contact_ciphertext
1163
+ ? { keyId: r.contact_key_id, ciphertext: r.contact_ciphertext }
1164
+ : null,
1004
1165
  })),
1005
1166
  },
1006
1167
  });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * The shapes this engine PUBLISHES — what a composing vertical returns from an
3
+ * operation it has bound, and what reaches its API document.
4
+ *
5
+ * These existed only as TypeScript interfaces, which is enough to implement
6
+ * against and not enough to DECLARE against: `defineOperations` takes a schema,
7
+ * so without these a vertical binding `protocol/get` had nothing to point at.
8
+ *
9
+ * **Each one is asserted against its interface, in both directions.** A schema
10
+ * that drifts from the shape the handler actually returns is worse than no
11
+ * schema — it publishes a contract nobody honours, which is exactly the defect
12
+ * #695 found eleven times. The assertions below fail to compile if either side
13
+ * gains, loses or retypes a field.
14
+ */
15
+ import { z } from '@substrat-run/contracts';
16
+ export declare const protocolTemplateRow: z.ZodObject<{
17
+ id: z.ZodString;
18
+ key: z.ZodString;
19
+ version: z.ZodNumber;
20
+ title: z.ZodString;
21
+ content_json: z.ZodString;
22
+ created_at: z.ZodString;
23
+ }, z.core.$strip>;
24
+ export declare const protocolResponseRow: z.ZodObject<{
25
+ id: z.ZodString;
26
+ instance_id: z.ZodString;
27
+ item_key: z.ZodString;
28
+ value_json: z.ZodString;
29
+ note: z.ZodNullable<z.ZodString>;
30
+ responded_by: z.ZodString;
31
+ responded_at: z.ZodString;
32
+ }, z.core.$strip>;
33
+ export declare const protocolSignatureRow: z.ZodObject<{
34
+ id: z.ZodString;
35
+ instance_id: z.ZodString;
36
+ signed_by: z.ZodString;
37
+ kind: z.ZodEnum<{
38
+ counter: "counter";
39
+ primary: "primary";
40
+ }>;
41
+ method: z.ZodString;
42
+ content_hash: z.ZodString;
43
+ evidence_ref: z.ZodNullable<z.ZodString>;
44
+ signed_at: z.ZodString;
45
+ request_id: z.ZodNullable<z.ZodString>;
46
+ signatory_kind: z.ZodEnum<{
47
+ external: "external";
48
+ principal: "principal";
49
+ }>;
50
+ signatory_label: z.ZodNullable<z.ZodString>;
51
+ }, z.core.$strip>;
52
+ export declare const protocolSignatureRequestRow: z.ZodObject<{
53
+ id: z.ZodString;
54
+ instance_id: z.ZodString;
55
+ party_label: z.ZodString;
56
+ party_kind: z.ZodEnum<{
57
+ external: "external";
58
+ principal: "principal";
59
+ }>;
60
+ party_ref: z.ZodNullable<z.ZodString>;
61
+ signature_kind: z.ZodEnum<{
62
+ counter: "counter";
63
+ primary: "primary";
64
+ }>;
65
+ method: z.ZodString;
66
+ auth_level: z.ZodNullable<z.ZodEnum<{
67
+ basic: "basic";
68
+ strong: "strong";
69
+ }>>;
70
+ contact_key_id: z.ZodNullable<z.ZodString>;
71
+ contact_ciphertext: z.ZodNullable<z.ZodString>;
72
+ status: z.ZodEnum<{
73
+ cancelled: "cancelled";
74
+ declined: "declined";
75
+ expired: "expired";
76
+ pending: "pending";
77
+ signed: "signed";
78
+ }>;
79
+ content_hash: z.ZodString;
80
+ external_ref: z.ZodNullable<z.ZodString>;
81
+ resolved_note: z.ZodNullable<z.ZodString>;
82
+ requested_by: z.ZodString;
83
+ requested_at: z.ZodString;
84
+ resolved_at: z.ZodNullable<z.ZodString>;
85
+ }, z.core.$strip>;
86
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,yBAAyB,CAAC;AAQ5C,eAAO,MAAM,mBAAmB;;;;;;;iBAO9B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;iBAQ9B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;iBAY/B,CAAC;AAEH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkBtC,CAAC"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * The shapes this engine PUBLISHES — what a composing vertical returns from an
3
+ * operation it has bound, and what reaches its API document.
4
+ *
5
+ * These existed only as TypeScript interfaces, which is enough to implement
6
+ * against and not enough to DECLARE against: `defineOperations` takes a schema,
7
+ * so without these a vertical binding `protocol/get` had nothing to point at.
8
+ *
9
+ * **Each one is asserted against its interface, in both directions.** A schema
10
+ * that drifts from the shape the handler actually returns is worse than no
11
+ * schema — it publishes a contract nobody honours, which is exactly the defect
12
+ * #695 found eleven times. The assertions below fail to compile if either side
13
+ * gains, loses or retypes a field.
14
+ */
15
+ import { z } from '@substrat-run/contracts';
16
+ export const protocolTemplateRow = z.object({
17
+ id: z.string(),
18
+ key: z.string(),
19
+ version: z.number(),
20
+ title: z.string(),
21
+ content_json: z.string(),
22
+ created_at: z.string(),
23
+ });
24
+ export const protocolResponseRow = z.object({
25
+ id: z.string(),
26
+ instance_id: z.string(),
27
+ item_key: z.string(),
28
+ value_json: z.string(),
29
+ note: z.string().nullable(),
30
+ responded_by: z.string(),
31
+ responded_at: z.string(),
32
+ });
33
+ export const protocolSignatureRow = z.object({
34
+ id: z.string(),
35
+ instance_id: z.string(),
36
+ signed_by: z.string(),
37
+ kind: z.enum(['primary', 'counter']),
38
+ method: z.string(),
39
+ content_hash: z.string(),
40
+ evidence_ref: z.string().nullable(),
41
+ signed_at: z.string(),
42
+ request_id: z.string().nullable(),
43
+ signatory_kind: z.enum(['principal', 'external']),
44
+ signatory_label: z.string().nullable(),
45
+ });
46
+ export const protocolSignatureRequestRow = z.object({
47
+ id: z.string(),
48
+ instance_id: z.string(),
49
+ party_label: z.string(),
50
+ party_kind: z.enum(['principal', 'external']),
51
+ party_ref: z.string().nullable(),
52
+ signature_kind: z.enum(['primary', 'counter']),
53
+ method: z.string(),
54
+ auth_level: z.enum(['basic', 'strong']).nullable(),
55
+ contact_key_id: z.string().nullable(),
56
+ contact_ciphertext: z.string().nullable(),
57
+ status: z.enum(['pending', 'signed', 'declined', 'expired', 'cancelled']),
58
+ content_hash: z.string(),
59
+ external_ref: z.string().nullable(),
60
+ resolved_note: z.string().nullable(),
61
+ requested_by: z.string(),
62
+ requested_at: z.string(),
63
+ resolved_at: z.string().nullable(),
64
+ });
65
+ const _templateRow = true;
66
+ const _responseRow = true;
67
+ const _signatureRow = true;
68
+ const _requestRow = true;
69
+ void _templateRow;
70
+ void _responseRow;
71
+ void _signatureRow;
72
+ void _requestRow;
73
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@substrat-run/engine-protocol",
3
- "version": "0.7.3",
3
+ "version": "0.8.0",
4
4
  "description": "Substrat engine: protocols, checklists and signed documents with the freeze → immutable invariant — versioned templates, append-only responses, verifiable content hash, counter-signatures on frozen content, and asynchronous multi-party signatures by external (non-principal) signatories",
5
5
  "license": "AGPL-3.0-only",
6
6
  "repository": {
@@ -26,15 +26,15 @@
26
26
  },
27
27
  "dependencies": {
28
28
  "zod": "^4.4.3",
29
- "@substrat-run/contracts": "^0.71.0",
30
- "@substrat-run/kernel": "^0.71.0"
29
+ "@substrat-run/contracts": "^0.72.0",
30
+ "@substrat-run/kernel": "^0.72.0"
31
31
  },
32
32
  "devDependencies": {
33
33
  "typescript": "^7.0.0",
34
34
  "vitest": "^3.0.0",
35
- "@substrat-run/model-emit": "0.1.0",
36
- "@substrat-run/adapter-sqlite": "^0.71.0",
37
- "@substrat-run/engine-test-kit": "^0.1.3"
35
+ "@substrat-run/adapter-sqlite": "^0.72.0",
36
+ "@substrat-run/engine-test-kit": "^0.2.0",
37
+ "@substrat-run/model-emit": "0.2.0"
38
38
  },
39
39
  "scripts": {
40
40
  "build": "tsc -p tsconfig.json",