@substrat-run/engine-protocol 0.11.7 → 0.11.8
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.map +1 -1
- package/dist/index.js +86 -33
- package/dist/index.js.map +1 -1
- package/dist/seam.d.ts +64 -0
- package/dist/seam.d.ts.map +1 -0
- package/dist/seam.js +82 -0
- package/dist/seam.js.map +1 -0
- package/package.json +6 -6
package/dist/index.d.ts.map
CHANGED
|
@@ -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,EAYL,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,IAAI,EAGV,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,YACpC,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,qBAAqB,CACb,CAAC;AACX,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,CAAC,CAAC;AAKhF,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAKjD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACtE;;;;;GAKG;AACH,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,2BAA2B,GAC5B,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -38,6 +38,9 @@ export { protocolEntities, protocolInstanceRow } from './entities.js';
|
|
|
38
38
|
* enough to declare against.
|
|
39
39
|
*/
|
|
40
40
|
export { protocolTemplateRow, protocolResponseRow, protocolSignatureRow, protocolSignatureRequestRow, } from './schemas.js';
|
|
41
|
+
import { protocolDetail, protocolResponseRow, protocolSignatureRequestRow, protocolSignatureRow, protocolSummary, protocolTemplateRow, requestSignaturesResult, signResult, } from './schemas.js';
|
|
42
|
+
import { protocolInstanceRow } from './entities.js';
|
|
43
|
+
import { columnsOf, returns } from './seam.js';
|
|
41
44
|
/**
|
|
42
45
|
* The input shapes, and the template-content vocabulary they are built from
|
|
43
46
|
* (#738). Moved out of this file so `operations.ts` can declare against the
|
|
@@ -433,28 +436,66 @@ export const protocolMigrations = [
|
|
|
433
436
|
},
|
|
434
437
|
];
|
|
435
438
|
const protocolRef = (id) => ({ entityType: 'protocol', entityId: id });
|
|
439
|
+
/**
|
|
440
|
+
* The SELECT lists, derived from the published row schemas (#771).
|
|
441
|
+
*
|
|
442
|
+
* Never `SELECT *`: that pins the shape a read returns to whatever the physical
|
|
443
|
+
* table currently holds, which is the same trust-TypeScript hole `returns` closes
|
|
444
|
+
* from the other side. A column dropped from the table is then a SQL error naming
|
|
445
|
+
* it; a column added to the table is simply never read.
|
|
446
|
+
*/
|
|
447
|
+
const TEMPLATE_COLUMNS = columnsOf(protocolTemplateRow);
|
|
448
|
+
const INSTANCE_COLUMNS = columnsOf(protocolInstanceRow);
|
|
449
|
+
const RESPONSE_COLUMNS = columnsOf(protocolResponseRow);
|
|
450
|
+
const SIGNATURE_COLUMNS = columnsOf(protocolSignatureRow);
|
|
451
|
+
const REQUEST_COLUMNS = columnsOf(protocolSignatureRequestRow);
|
|
452
|
+
const responseRows = z.array(protocolResponseRow);
|
|
453
|
+
const signatureRows = z.array(protocolSignatureRow);
|
|
454
|
+
const requestRows = z.array(protocolSignatureRequestRow);
|
|
455
|
+
const templateRows = z.array(protocolTemplateRow);
|
|
456
|
+
/**
|
|
457
|
+
* A stored row, published (#771).
|
|
458
|
+
*
|
|
459
|
+
* Every path out of this engine that returns a template, an instance, a response,
|
|
460
|
+
* a signature or a request goes through one of these — the in-scope reads, the
|
|
461
|
+
* page walk, and each operation binding — so the parse lives here rather than at
|
|
462
|
+
* each call site. `returns` refuses a row that no longer matches the published
|
|
463
|
+
* schema, which is the shape a composing vertical declared its `output` with when
|
|
464
|
+
* it compiled against some earlier version of this engine.
|
|
465
|
+
*/
|
|
466
|
+
const storedInstance = (row, id) => returns(protocolInstanceRow, `protocol instance ${id}`, row);
|
|
467
|
+
const storedTemplate = (row, name) => returns(protocolTemplateRow, `protocol template ${name}`, row);
|
|
468
|
+
const storedRequest = (row, id) => returns(protocolSignatureRequestRow, `signature request ${id}`, row);
|
|
436
469
|
function getInstanceRow(ctx, instanceId) {
|
|
437
|
-
const row = ctx.sql.query(
|
|
470
|
+
const row = ctx.sql.query(`SELECT ${INSTANCE_COLUMNS} FROM protocol_instances WHERE id = ?`, [instanceId])[0];
|
|
438
471
|
if (!row)
|
|
439
472
|
throw substratError('not_found', `protocol instance not found: ${instanceId}`);
|
|
440
|
-
return row;
|
|
473
|
+
return storedInstance(row, instanceId);
|
|
441
474
|
}
|
|
442
475
|
function getTemplateRow(ctx, key, version) {
|
|
443
|
-
const row = ctx.sql.query(
|
|
476
|
+
const row = ctx.sql.query(`SELECT ${TEMPLATE_COLUMNS} FROM protocol_templates WHERE key = ? AND version = ?`, [key, version])[0];
|
|
444
477
|
if (!row)
|
|
445
478
|
throw substratError('not_found', `protocol template not found: ${key}@${version}`);
|
|
446
|
-
return row;
|
|
479
|
+
return storedTemplate(row, `${key}@${version}`);
|
|
447
480
|
}
|
|
448
481
|
const templateContentOf = (template) => protocolTemplateContent.parse(JSON.parse(template.content_json));
|
|
449
482
|
/** Append order is authoritative for "latest wins" — rowid, not ULID (same-ms safe). */
|
|
450
483
|
function getResponseRows(ctx, instanceId) {
|
|
451
|
-
return ctx.sql.query(
|
|
484
|
+
return returns(responseRows, `responses of protocol ${instanceId}`, ctx.sql.query(`SELECT ${RESPONSE_COLUMNS} FROM protocol_responses WHERE instance_id = ? ORDER BY rowid`, [instanceId]));
|
|
452
485
|
}
|
|
453
486
|
function getSignatureRows(ctx, instanceId) {
|
|
454
|
-
return ctx.sql.query(
|
|
487
|
+
return returns(signatureRows, `signatures of protocol ${instanceId}`, ctx.sql.query(`SELECT ${SIGNATURE_COLUMNS} FROM protocol_signatures WHERE instance_id = ? ORDER BY rowid`, [instanceId]));
|
|
455
488
|
}
|
|
456
489
|
function getRequestRows(ctx, instanceId) {
|
|
457
|
-
return ctx.sql.query(
|
|
490
|
+
return returns(requestRows, `signature requests of protocol ${instanceId}`, ctx.sql.query(`SELECT ${REQUEST_COLUMNS} FROM protocol_signature_requests
|
|
491
|
+
WHERE instance_id = ? ORDER BY rowid`, [instanceId]));
|
|
492
|
+
}
|
|
493
|
+
/** A signature request by id, or a refusal — the ingress pair's first read. */
|
|
494
|
+
function getRequestRow(ctx, requestId) {
|
|
495
|
+
const row = ctx.sql.query(`SELECT ${REQUEST_COLUMNS} FROM protocol_signature_requests WHERE id = ?`, [requestId])[0];
|
|
496
|
+
if (!row)
|
|
497
|
+
throw substratError('not_found', `signature request not found: ${requestId}`);
|
|
498
|
+
return storedRequest(row, requestId);
|
|
458
499
|
}
|
|
459
500
|
function latestPerItem(responses) {
|
|
460
501
|
const latest = {};
|
|
@@ -606,9 +647,7 @@ export function defineTemplate(ctx, rawInput) {
|
|
|
606
647
|
const id = ulid();
|
|
607
648
|
ctx.sql.exec(`INSERT INTO protocol_templates (id, key, version, title, content_json, created_at)
|
|
608
649
|
VALUES (?, ?, ?, ?, ?, ?)`, [id, input.key, version, input.title, JSON.stringify(input.content), ctx.now()]);
|
|
609
|
-
return ctx.sql.query(
|
|
610
|
-
id,
|
|
611
|
-
])[0];
|
|
650
|
+
return storedTemplate(ctx.sql.query(`SELECT ${TEMPLATE_COLUMNS} FROM protocol_templates WHERE id = ?`, [id])[0], `${input.key}@${version}`);
|
|
612
651
|
}
|
|
613
652
|
/** Latest version per key — the instantiation picker's list. */
|
|
614
653
|
/**
|
|
@@ -622,10 +661,10 @@ export function defineTemplate(ctx, rawInput) {
|
|
|
622
661
|
*/
|
|
623
662
|
export function listTemplates(ctx, page) {
|
|
624
663
|
const limit = listLimitOf(page?.limit);
|
|
625
|
-
const rows = ctx.sql.query(`SELECT
|
|
664
|
+
const rows = ctx.sql.query(`SELECT ${TEMPLATE_COLUMNS} FROM protocol_templates t
|
|
626
665
|
WHERE t.version = (SELECT MAX(version) FROM protocol_templates WHERE key = t.key)${page?.cursor ? ' AND t.key > ?' : ''}
|
|
627
666
|
ORDER BY t.key LIMIT ?`, page?.cursor ? [page.cursor, limit] : [limit]);
|
|
628
|
-
return pageOf(rows, limit, (row) => row.key);
|
|
667
|
+
return pageOf(returns(templateRows, 'protocol templates', rows), limit, (row) => row.key);
|
|
629
668
|
}
|
|
630
669
|
/**
|
|
631
670
|
* Pins the latest template version at instantiation — forever (invariant 5).
|
|
@@ -634,9 +673,10 @@ export function listTemplates(ctx, page) {
|
|
|
634
673
|
*/
|
|
635
674
|
export function instantiateProtocol(ctx, rawInput) {
|
|
636
675
|
const input = instantiateProtocolInput.parse(rawInput);
|
|
637
|
-
const
|
|
638
|
-
if (!
|
|
676
|
+
const latest = ctx.sql.query(`SELECT ${TEMPLATE_COLUMNS} FROM protocol_templates WHERE key = ? ORDER BY version DESC LIMIT 1`, [input.templateKey])[0];
|
|
677
|
+
if (!latest)
|
|
639
678
|
throw substratError('not_found', `protocol template not found: ${input.templateKey}`);
|
|
679
|
+
const template = storedTemplate(latest, `${input.templateKey} (latest)`);
|
|
640
680
|
// An instance being signed is still "in play": a second one would race the
|
|
641
681
|
// first for the same (template, entity) slot.
|
|
642
682
|
const dup = ctx.sql.query(`SELECT id FROM protocol_instances
|
|
@@ -734,9 +774,7 @@ export function fillProtocol(ctx, rawInput) {
|
|
|
734
774
|
entity: { entityType: instance.entity_type, entityId: instance.entity_id },
|
|
735
775
|
},
|
|
736
776
|
});
|
|
737
|
-
return ctx.sql.query(
|
|
738
|
-
id,
|
|
739
|
-
])[0];
|
|
777
|
+
return returns(protocolResponseRow, `response ${id}`, ctx.sql.query(`SELECT ${RESPONSE_COLUMNS} FROM protocol_responses WHERE id = ?`, [id])[0]);
|
|
740
778
|
}
|
|
741
779
|
/**
|
|
742
780
|
* Bind (or re-bind) a document protocol's content while it is still open —
|
|
@@ -993,7 +1031,11 @@ export async function requestSignatures(ctx, rawInput) {
|
|
|
993
1031
|
})),
|
|
994
1032
|
},
|
|
995
1033
|
});
|
|
996
|
-
return
|
|
1034
|
+
return returns(requestSignaturesResult, `signature requests for protocol ${instance.id}`, {
|
|
1035
|
+
instance: getInstanceRow(ctx, instance.id),
|
|
1036
|
+
contentHash,
|
|
1037
|
+
requests,
|
|
1038
|
+
});
|
|
997
1039
|
}
|
|
998
1040
|
/**
|
|
999
1041
|
* Record a signature that happened OUTSIDE this system — the webhook's half.
|
|
@@ -1016,9 +1058,7 @@ export async function requestSignatures(ctx, rawInput) {
|
|
|
1016
1058
|
*/
|
|
1017
1059
|
export async function recordSignature(ctx, rawInput) {
|
|
1018
1060
|
const input = recordSignatureInput.parse(rawInput);
|
|
1019
|
-
const request = ctx
|
|
1020
|
-
if (!request)
|
|
1021
|
-
throw substratError('not_found', `signature request not found: ${input.requestId}`);
|
|
1061
|
+
const request = getRequestRow(ctx, input.requestId);
|
|
1022
1062
|
if (request.status !== 'pending') {
|
|
1023
1063
|
throw conflict('request_resolved', `signature request is already ${request.status}: ${request.id}`);
|
|
1024
1064
|
}
|
|
@@ -1080,7 +1120,10 @@ export async function recordSignature(ctx, rawInput) {
|
|
|
1080
1120
|
contentHash: frozen,
|
|
1081
1121
|
complete,
|
|
1082
1122
|
});
|
|
1083
|
-
return {
|
|
1123
|
+
return returns(signResult, `signature ${id} on protocol ${instance.id}`, {
|
|
1124
|
+
instance: getInstanceRow(ctx, instance.id),
|
|
1125
|
+
signature,
|
|
1126
|
+
});
|
|
1084
1127
|
}
|
|
1085
1128
|
/**
|
|
1086
1129
|
* A party refused, or the provider's window expired. The instance stays
|
|
@@ -1090,9 +1133,7 @@ export async function recordSignature(ctx, rawInput) {
|
|
|
1090
1133
|
*/
|
|
1091
1134
|
export function declineSignature(ctx, rawInput) {
|
|
1092
1135
|
const input = declineSignatureInput.parse(rawInput);
|
|
1093
|
-
const request = ctx
|
|
1094
|
-
if (!request)
|
|
1095
|
-
throw substratError('not_found', `signature request not found: ${input.requestId}`);
|
|
1136
|
+
const request = getRequestRow(ctx, input.requestId);
|
|
1096
1137
|
if (request.status !== 'pending') {
|
|
1097
1138
|
throw conflict('request_resolved', `signature request is already ${request.status}: ${request.id}`);
|
|
1098
1139
|
}
|
|
@@ -1114,7 +1155,7 @@ export function declineSignature(ctx, rawInput) {
|
|
|
1114
1155
|
reason: input.reason,
|
|
1115
1156
|
},
|
|
1116
1157
|
});
|
|
1117
|
-
return ctx
|
|
1158
|
+
return getRequestRow(ctx, request.id);
|
|
1118
1159
|
}
|
|
1119
1160
|
/**
|
|
1120
1161
|
* Withdraw an outstanding request set and thaw the instance — the
|
|
@@ -1249,7 +1290,10 @@ export async function signProtocol(ctx, input) {
|
|
|
1249
1290
|
complete: true,
|
|
1250
1291
|
responses: frozenAnswers(latest),
|
|
1251
1292
|
});
|
|
1252
|
-
return {
|
|
1293
|
+
return returns(signResult, `signature ${id} on protocol ${instance.id}`, {
|
|
1294
|
+
instance: getInstanceRow(ctx, instance.id),
|
|
1295
|
+
signature,
|
|
1296
|
+
});
|
|
1253
1297
|
}
|
|
1254
1298
|
/**
|
|
1255
1299
|
* Counter-sign (invariant 3): a SECOND signature on the SAME frozen content —
|
|
@@ -1287,7 +1331,10 @@ export async function countersignProtocol(ctx, input) {
|
|
|
1287
1331
|
complete: true,
|
|
1288
1332
|
responses: frozenAnswers(latest),
|
|
1289
1333
|
});
|
|
1290
|
-
return {
|
|
1334
|
+
return returns(signResult, `counter-signature ${id} on protocol ${instance.id}`, {
|
|
1335
|
+
instance: getInstanceRow(ctx, instance.id),
|
|
1336
|
+
signature,
|
|
1337
|
+
});
|
|
1291
1338
|
}
|
|
1292
1339
|
/** Voiding, not deleting: a superseded protocol keeps its rows forever. */
|
|
1293
1340
|
export function voidProtocol(ctx, input) {
|
|
@@ -1324,7 +1371,10 @@ export function getProtocol(ctx, instanceId) {
|
|
|
1324
1371
|
const template = getTemplateRow(ctx, instance.template_key, instance.template_version);
|
|
1325
1372
|
const responses = getResponseRows(ctx, instance.id);
|
|
1326
1373
|
const signatures = getSignatureRows(ctx, instance.id);
|
|
1327
|
-
|
|
1374
|
+
// The composite is parsed as a whole, by the schema `protocol/get` is declared
|
|
1375
|
+
// with: the rows were each parsed at their read, and this is what pins the
|
|
1376
|
+
// assembly — the projection a vertical's `output` names — to the same contract.
|
|
1377
|
+
return returns(protocolDetail, `protocol ${instanceId}`, {
|
|
1328
1378
|
instance,
|
|
1329
1379
|
template: {
|
|
1330
1380
|
key: template.key,
|
|
@@ -1337,7 +1387,7 @@ export function getProtocol(ctx, instanceId) {
|
|
|
1337
1387
|
signature: signatures.find((s) => s.kind === 'primary') ?? null,
|
|
1338
1388
|
signatures,
|
|
1339
1389
|
requests: getRequestRows(ctx, instance.id),
|
|
1340
|
-
};
|
|
1390
|
+
});
|
|
1341
1391
|
}
|
|
1342
1392
|
/**
|
|
1343
1393
|
* The protocols on one entity, as a page (#811).
|
|
@@ -1353,7 +1403,10 @@ export function listProtocolsForEntity(ctx, entity, page) {
|
|
|
1353
1403
|
...page,
|
|
1354
1404
|
filters: { entity_type: entity.entityType, entity_id: entity.entityId },
|
|
1355
1405
|
});
|
|
1356
|
-
return mapPage(instances, (
|
|
1406
|
+
return mapPage(instances, (raw) => {
|
|
1407
|
+
// The kernel's walk answers against the declared entity; the row is still
|
|
1408
|
+
// parsed here, because the page is a seam like any other read (#771).
|
|
1409
|
+
const instance = storedInstance(raw, raw.id);
|
|
1357
1410
|
const template = getTemplateRow(ctx, instance.template_key, instance.template_version);
|
|
1358
1411
|
const content = templateContentOf(template);
|
|
1359
1412
|
// A document has one thing to settle — its bound content — so it reads as
|
|
@@ -1371,7 +1424,7 @@ export function listProtocolsForEntity(ctx, entity, page) {
|
|
|
1371
1424
|
const counter = signatures.filter((s) => s.kind === 'counter').at(-1);
|
|
1372
1425
|
const pendingSignatures = ctx.sql.query(`SELECT COUNT(*) AS n FROM protocol_signature_requests
|
|
1373
1426
|
WHERE instance_id = ? AND status = 'pending'`, [instance.id])[0].n;
|
|
1374
|
-
return {
|
|
1427
|
+
return returns(protocolSummary, `protocol summary ${instance.id}`, {
|
|
1375
1428
|
instance,
|
|
1376
1429
|
title: template.title,
|
|
1377
1430
|
contentKind: content.kind,
|
|
@@ -1382,7 +1435,7 @@ export function listProtocolsForEntity(ctx, entity, page) {
|
|
|
1382
1435
|
countersignedBy: counter?.signed_by ?? null,
|
|
1383
1436
|
countersignedAt: counter?.signed_at ?? null,
|
|
1384
1437
|
pendingSignatures,
|
|
1385
|
-
};
|
|
1438
|
+
});
|
|
1386
1439
|
});
|
|
1387
1440
|
}
|
|
1388
1441
|
// ---------------------------------------------------------------------------
|
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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"}
|
package/dist/seam.d.ts
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The engine seam, PARSED rather than asserted (#771) — engine-protocol's copy
|
|
3
|
+
* of `engines/workorder/src/seam.ts`, which is the reference.
|
|
4
|
+
*
|
|
5
|
+
* "Parse, don't trust" was enforced in one direction only. Operation inputs go
|
|
6
|
+
* through Zod at the boundary; return values crossing the engine seam were
|
|
7
|
+
* trusted because TypeScript said so — and TypeScript is not there at runtime.
|
|
8
|
+
* The failure that lets through is precise: a vertical compiled against engine
|
|
9
|
+
* 0.3, running against engine 0.4, whose row shape moved. The vertical reads a
|
|
10
|
+
* field that is now `null`, or misses one that appeared, and the first symptom is
|
|
11
|
+
* wrong data on a screen rather than a throw.
|
|
12
|
+
*
|
|
13
|
+
* This engine is the sharper case: a signature attests to a hash over the stored
|
|
14
|
+
* rows, and a row that quietly changed shape is a row whose hash no longer says
|
|
15
|
+
* what the signatory was shown. So every published shape — the template, the
|
|
16
|
+
* instance, each response, signature and request, and the composites the
|
|
17
|
+
* operations answer with — is parsed on its way OUT by the schema `schemas.ts`
|
|
18
|
+
* publishes, and every read names its columns.
|
|
19
|
+
*
|
|
20
|
+
* - `returns(schema, surface, value)` — every published shape is parsed on the way
|
|
21
|
+
* out, by the same schema a composing vertical declares its `output` with.
|
|
22
|
+
* - `columnsOf(schema)` — the SELECT list is DERIVED from the published schema, so
|
|
23
|
+
* a read asks for exactly the columns the seam promises. `SELECT *` pinned the
|
|
24
|
+
* public return shape to whatever the physical table currently held.
|
|
25
|
+
*
|
|
26
|
+
* ## Decisions (#771 open questions 1 and 2), as taken for workorder
|
|
27
|
+
*
|
|
28
|
+
* **Parse always** — including on bulk reads. Dev-only validation is absent
|
|
29
|
+
* exactly where the version skew lives: in production, against an engine nobody
|
|
30
|
+
* in this repo deployed. Every read here is one row, one instance's history, or
|
|
31
|
+
* one page (#811), so the parsed set is bounded by construction.
|
|
32
|
+
*
|
|
33
|
+
* **A helper, not a convention.** One call site per surface, one spelling, and a
|
|
34
|
+
* shape `boundary-lint` can plausibly be taught to require of an exported in-scope
|
|
35
|
+
* function later.
|
|
36
|
+
*/
|
|
37
|
+
import { z } from '@substrat-run/contracts';
|
|
38
|
+
/**
|
|
39
|
+
* Parse a value on its way ACROSS the seam, or refuse to publish it.
|
|
40
|
+
*
|
|
41
|
+
* The throw is `internal`, deliberately, and not `validation_failed`: the caller's
|
|
42
|
+
* input was already parsed and is not what went wrong — the engine's own stored
|
|
43
|
+
* row no longer matches the shape the engine publishes. `validation_failed` is a
|
|
44
|
+
* 400 blaming the caller for a fault on this side, and `toProblem` drops
|
|
45
|
+
* `internal`'s detail from the response body, so the drift is logged rather than
|
|
46
|
+
* handed to a client that can do nothing with it.
|
|
47
|
+
*/
|
|
48
|
+
export declare function returns<T>(schema: z.ZodType<T>, surface: string, value: unknown): T;
|
|
49
|
+
/**
|
|
50
|
+
* The SELECT list a schema describes: `'id, key, version, …'`.
|
|
51
|
+
*
|
|
52
|
+
* Derived rather than transcribed, for the same reason the manifest's `lists` are
|
|
53
|
+
* derived from the operations' own `paged.over` — two descriptions of one column
|
|
54
|
+
* set is how they come to disagree. A column dropped from the table is then a SQL
|
|
55
|
+
* error naming it, and a column added to the table is simply never read.
|
|
56
|
+
*
|
|
57
|
+
* Structurally typed (`{ shape }`) rather than taking a `z.ZodObject`, so it
|
|
58
|
+
* accepts both the published schemas and the entity registry's row schema without
|
|
59
|
+
* either widening to `any`.
|
|
60
|
+
*/
|
|
61
|
+
export declare function columnsOf(schema: {
|
|
62
|
+
readonly shape: Readonly<Record<string, unknown>>;
|
|
63
|
+
}): string;
|
|
64
|
+
//# sourceMappingURL=seam.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seam.d.ts","sourceRoot":"","sources":["../src/seam.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,OAAO,EAAuC,CAAC,EAAE,MAAM,yBAAyB,CAAC;AAKjF;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAUnF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CAAE,GAAG,MAAM,CAU/F"}
|
package/dist/seam.js
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The engine seam, PARSED rather than asserted (#771) — engine-protocol's copy
|
|
3
|
+
* of `engines/workorder/src/seam.ts`, which is the reference.
|
|
4
|
+
*
|
|
5
|
+
* "Parse, don't trust" was enforced in one direction only. Operation inputs go
|
|
6
|
+
* through Zod at the boundary; return values crossing the engine seam were
|
|
7
|
+
* trusted because TypeScript said so — and TypeScript is not there at runtime.
|
|
8
|
+
* The failure that lets through is precise: a vertical compiled against engine
|
|
9
|
+
* 0.3, running against engine 0.4, whose row shape moved. The vertical reads a
|
|
10
|
+
* field that is now `null`, or misses one that appeared, and the first symptom is
|
|
11
|
+
* wrong data on a screen rather than a throw.
|
|
12
|
+
*
|
|
13
|
+
* This engine is the sharper case: a signature attests to a hash over the stored
|
|
14
|
+
* rows, and a row that quietly changed shape is a row whose hash no longer says
|
|
15
|
+
* what the signatory was shown. So every published shape — the template, the
|
|
16
|
+
* instance, each response, signature and request, and the composites the
|
|
17
|
+
* operations answer with — is parsed on its way OUT by the schema `schemas.ts`
|
|
18
|
+
* publishes, and every read names its columns.
|
|
19
|
+
*
|
|
20
|
+
* - `returns(schema, surface, value)` — every published shape is parsed on the way
|
|
21
|
+
* out, by the same schema a composing vertical declares its `output` with.
|
|
22
|
+
* - `columnsOf(schema)` — the SELECT list is DERIVED from the published schema, so
|
|
23
|
+
* a read asks for exactly the columns the seam promises. `SELECT *` pinned the
|
|
24
|
+
* public return shape to whatever the physical table currently held.
|
|
25
|
+
*
|
|
26
|
+
* ## Decisions (#771 open questions 1 and 2), as taken for workorder
|
|
27
|
+
*
|
|
28
|
+
* **Parse always** — including on bulk reads. Dev-only validation is absent
|
|
29
|
+
* exactly where the version skew lives: in production, against an engine nobody
|
|
30
|
+
* in this repo deployed. Every read here is one row, one instance's history, or
|
|
31
|
+
* one page (#811), so the parsed set is bounded by construction.
|
|
32
|
+
*
|
|
33
|
+
* **A helper, not a convention.** One call site per surface, one spelling, and a
|
|
34
|
+
* shape `boundary-lint` can plausibly be taught to require of an exported in-scope
|
|
35
|
+
* function later.
|
|
36
|
+
*/
|
|
37
|
+
import { substratError, validationIssuesFrom, z } from '@substrat-run/contracts';
|
|
38
|
+
/** How this engine names itself in a seam failure. */
|
|
39
|
+
const ENGINE = 'engine-protocol';
|
|
40
|
+
/**
|
|
41
|
+
* Parse a value on its way ACROSS the seam, or refuse to publish it.
|
|
42
|
+
*
|
|
43
|
+
* The throw is `internal`, deliberately, and not `validation_failed`: the caller's
|
|
44
|
+
* input was already parsed and is not what went wrong — the engine's own stored
|
|
45
|
+
* row no longer matches the shape the engine publishes. `validation_failed` is a
|
|
46
|
+
* 400 blaming the caller for a fault on this side, and `toProblem` drops
|
|
47
|
+
* `internal`'s detail from the response body, so the drift is logged rather than
|
|
48
|
+
* handed to a client that can do nothing with it.
|
|
49
|
+
*/
|
|
50
|
+
export function returns(schema, surface, value) {
|
|
51
|
+
const result = schema.safeParse(value);
|
|
52
|
+
if (result.success)
|
|
53
|
+
return result.data;
|
|
54
|
+
const issues = validationIssuesFrom(result.error)
|
|
55
|
+
.map((issue) => `${issue.path || '(root)'}: ${issue.message}`)
|
|
56
|
+
.join('; ');
|
|
57
|
+
throw substratError('internal', `${ENGINE}: ${surface} does not match the shape this engine publishes — ${issues}`);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* The SELECT list a schema describes: `'id, key, version, …'`.
|
|
61
|
+
*
|
|
62
|
+
* Derived rather than transcribed, for the same reason the manifest's `lists` are
|
|
63
|
+
* derived from the operations' own `paged.over` — two descriptions of one column
|
|
64
|
+
* set is how they come to disagree. A column dropped from the table is then a SQL
|
|
65
|
+
* error naming it, and a column added to the table is simply never read.
|
|
66
|
+
*
|
|
67
|
+
* Structurally typed (`{ shape }`) rather than taking a `z.ZodObject`, so it
|
|
68
|
+
* accepts both the published schemas and the entity registry's row schema without
|
|
69
|
+
* either widening to `any`.
|
|
70
|
+
*/
|
|
71
|
+
export function columnsOf(schema) {
|
|
72
|
+
const names = Object.keys(schema.shape);
|
|
73
|
+
for (const name of names) {
|
|
74
|
+
// These are code-defined identifiers, never input — the check is here so that
|
|
75
|
+
// stays true of a schema key somebody adds later.
|
|
76
|
+
if (!/^[a-z_][a-z0-9_]*$/i.test(name)) {
|
|
77
|
+
throw new Error(`${ENGINE}: ${name} is not a column name`);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return names.join(', ');
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=seam.js.map
|
package/dist/seam.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seam.js","sourceRoot":"","sources":["../src/seam.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,CAAC,EAAE,MAAM,yBAAyB,CAAC;AAEjF,sDAAsD;AACtD,MAAM,MAAM,GAAG,iBAAiB,CAAC;AAEjC;;;;;;;;;GASG;AACH,MAAM,UAAU,OAAO,CAAI,MAAoB,EAAE,OAAe,EAAE,KAAc;IAC9E,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACvC,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC;IACvC,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,QAAQ,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;SAC7D,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,aAAa,CACjB,UAAU,EACV,GAAG,MAAM,KAAK,OAAO,qDAAqD,MAAM,EAAE,CACnF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,SAAS,CAAC,MAA6D;IACrF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,8EAA8E;QAC9E,kDAAkD;QAClD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,GAAG,MAAM,KAAK,IAAI,uBAAuB,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@substrat-run/engine-protocol",
|
|
3
|
-
"version": "0.11.
|
|
3
|
+
"version": "0.11.8",
|
|
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": {
|
|
@@ -25,16 +25,16 @@
|
|
|
25
25
|
"access": "public"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@substrat-run/
|
|
29
|
-
"@substrat-run/
|
|
28
|
+
"@substrat-run/kernel": "^0.91.1",
|
|
29
|
+
"@substrat-run/contracts": "^0.91.1"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"typescript": "^7.0.0",
|
|
33
33
|
"vitest": "^3.2.7",
|
|
34
34
|
"zod": "^4.4.3",
|
|
35
|
-
"@substrat-run/adapter-sqlite": "^0.91.
|
|
36
|
-
"@substrat-run/
|
|
37
|
-
"@substrat-run/
|
|
35
|
+
"@substrat-run/adapter-sqlite": "^0.91.1",
|
|
36
|
+
"@substrat-run/model-emit": "0.8.5",
|
|
37
|
+
"@substrat-run/contract-tests": "^0.91.1",
|
|
38
38
|
"@substrat-run/engine-test-kit": "^0.3.18"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|