@futdevpro/nts-dynamo 1.15.403 → 1.15.406
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/build/_modules/privacy-lifecycle/_models/privacy-contributor.interface.d.ts +3 -0
- package/build/_modules/privacy-lifecycle/_models/privacy-contributor.interface.d.ts.map +1 -1
- package/build/_modules/privacy-lifecycle/_models/privacy-export-schema-sync-result.interface.d.ts +16 -0
- package/build/_modules/privacy-lifecycle/_models/privacy-export-schema-sync-result.interface.d.ts.map +1 -0
- package/build/_modules/privacy-lifecycle/_models/privacy-export-schema-sync-result.interface.js +3 -0
- package/build/_modules/privacy-lifecycle/_models/privacy-export-schema-sync-result.interface.js.map +1 -0
- package/build/_modules/privacy-lifecycle/_models/privacy-export-schema.interface.d.ts +16 -0
- package/build/_modules/privacy-lifecycle/_models/privacy-export-schema.interface.d.ts.map +1 -0
- package/build/_modules/privacy-lifecycle/_models/privacy-export-schema.interface.js +3 -0
- package/build/_modules/privacy-lifecycle/_models/privacy-export-schema.interface.js.map +1 -0
- package/build/_modules/privacy-lifecycle/_types/privacy-export-schema-guard-verdict.type.d.ts +3 -0
- package/build/_modules/privacy-lifecycle/_types/privacy-export-schema-guard-verdict.type.d.ts.map +1 -0
- package/build/_modules/privacy-lifecycle/_types/privacy-export-schema-guard-verdict.type.js +3 -0
- package/build/_modules/privacy-lifecycle/_types/privacy-export-schema-guard-verdict.type.js.map +1 -0
- package/build/_modules/privacy-lifecycle/index.d.ts +4 -0
- package/build/_modules/privacy-lifecycle/index.d.ts.map +1 -1
- package/build/_modules/privacy-lifecycle/index.js +3 -1
- package/build/_modules/privacy-lifecycle/index.js.map +1 -1
- package/build/_modules/privacy-lifecycle/privacy-export-bundle.control-service.d.ts +17 -0
- package/build/_modules/privacy-lifecycle/privacy-export-bundle.control-service.d.ts.map +1 -1
- package/build/_modules/privacy-lifecycle/privacy-export-bundle.control-service.js +32 -4
- package/build/_modules/privacy-lifecycle/privacy-export-bundle.control-service.js.map +1 -1
- package/build/_modules/privacy-lifecycle/privacy-export-schema.util.d.ts +57 -0
- package/build/_modules/privacy-lifecycle/privacy-export-schema.util.d.ts.map +1 -0
- package/build/_modules/privacy-lifecycle/privacy-export-schema.util.js +180 -0
- package/build/_modules/privacy-lifecycle/privacy-export-schema.util.js.map +1 -0
- package/package.json +3 -3
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { DyNTS_PrivacyContributorContext_Interface } from './privacy-contributor-context.interface';
|
|
2
2
|
import { DyNTS_PrivacyContributorOutcome_Interface } from './privacy-contributor-outcome.interface';
|
|
3
3
|
import { DyNTS_PrivacyContributorPlan_Interface } from './privacy-contributor-plan.interface';
|
|
4
|
+
import { DyNTS_PrivacyExportSchema_Interface } from './privacy-export-schema.interface';
|
|
4
5
|
/** Product-domain adapter whose execute operation must be idempotent for a request and contributor pair. */
|
|
5
6
|
export interface DyNTS_PrivacyContributor_Interface {
|
|
6
7
|
readonly contributorId: string;
|
|
8
|
+
/** L-174 B1 — the contract of this contributor's export payload (validated at assembly, published as JSON Schema). */
|
|
9
|
+
readonly exportSchema?: DyNTS_PrivacyExportSchema_Interface;
|
|
7
10
|
plan(context: DyNTS_PrivacyContributorContext_Interface): Promise<DyNTS_PrivacyContributorPlan_Interface>;
|
|
8
11
|
execute(context: DyNTS_PrivacyContributorContext_Interface, plan: DyNTS_PrivacyContributorPlan_Interface): Promise<DyNTS_PrivacyContributorOutcome_Interface>;
|
|
9
12
|
verify(context: DyNTS_PrivacyContributorContext_Interface, outcome: DyNTS_PrivacyContributorOutcome_Interface): Promise<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"privacy-contributor.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/privacy-lifecycle/_models/privacy-contributor.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yCAAyC,EAAE,MAAM,yCAAyC,CAAC;AACpG,OAAO,EAAE,yCAAyC,EAAE,MAAM,yCAAyC,CAAC;AACpG,OAAO,EAAE,sCAAsC,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"privacy-contributor.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/privacy-lifecycle/_models/privacy-contributor.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yCAAyC,EAAE,MAAM,yCAAyC,CAAC;AACpG,OAAO,EAAE,yCAAyC,EAAE,MAAM,yCAAyC,CAAC;AACpG,OAAO,EAAE,sCAAsC,EAAE,MAAM,sCAAsC,CAAC;AAC9F,OAAO,EAAE,mCAAmC,EAAE,MAAM,mCAAmC,CAAC;AAExF,4GAA4G;AAC5G,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,sHAAsH;IACtH,QAAQ,CAAC,YAAY,CAAC,EAAE,mCAAmC,CAAC;IAC5D,IAAI,CAAC,OAAO,EAAE,yCAAyC,GAAG,OAAO,CAAC,sCAAsC,CAAC,CAAC;IAC1G,OAAO,CACL,OAAO,EAAE,yCAAyC,EAClD,IAAI,EAAE,sCAAsC,GAC3C,OAAO,CAAC,yCAAyC,CAAC,CAAC;IACtD,MAAM,CACJ,OAAO,EAAE,yCAAyC,EAClD,OAAO,EAAE,yCAAyC,GACjD,OAAO,CAAC,OAAO,CAAC,CAAC;CACrB"}
|
package/build/_modules/privacy-lifecycle/_models/privacy-export-schema-sync-result.interface.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { DyNTS_PrivacyExportSchemaGuard_Verdict } from '../_types/privacy-export-schema-guard-verdict.type';
|
|
2
|
+
/**
|
|
3
|
+
* L-174 B1 (BFR-FUTDEVPRO-047) — the result of `DyNTS_PrivacyExportSchema_Util.syncFiles`: the verdict per contract,
|
|
4
|
+
* and the failures that must stop a CI (empty ⇒ the committed JSON Schemas are exactly what the code generates).
|
|
5
|
+
*/
|
|
6
|
+
export interface DyNTS_PrivacyExportSchemaSync_Result {
|
|
7
|
+
/** One entry per contract (sorted by schema id), with its file path relative to the directory. */
|
|
8
|
+
entries: {
|
|
9
|
+
schemaId: string;
|
|
10
|
+
file: string;
|
|
11
|
+
verdict: DyNTS_PrivacyExportSchemaGuard_Verdict;
|
|
12
|
+
}[];
|
|
13
|
+
/** Human-readable reasons to fail (nothing else to do when empty). */
|
|
14
|
+
failures: string[];
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=privacy-export-schema-sync-result.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"privacy-export-schema-sync-result.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/privacy-lifecycle/_models/privacy-export-schema-sync-result.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sCAAsC,EAAE,MAAM,oDAAoD,CAAC;AAE5G;;;GAGG;AACH,MAAM,WAAW,oCAAoC;IACnD,kGAAkG;IAClG,OAAO,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,sCAAsC,CAAA;KAAE,EAAE,CAAC;IAC/F,sEAAsE;IACtE,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB"}
|
package/build/_modules/privacy-lifecycle/_models/privacy-export-schema-sync-result.interface.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"privacy-export-schema-sync-result.interface.js","sourceRoot":"","sources":["../../../../src/_modules/privacy-lifecycle/_models/privacy-export-schema-sync-result.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ZodType } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* L-174 B1 (BFR-FUTDEVPRO-047) — the published contract of one contributor's export payload.
|
|
4
|
+
*
|
|
5
|
+
* The schema is the CODE, not a document: the bundle assembler validates every payload against it at runtime, and the
|
|
6
|
+
* public JSON Schema (2020-12) is generated from it — so the documentation and the export can never drift apart.
|
|
7
|
+
*/
|
|
8
|
+
export interface DyNTS_PrivacyExportSchema_Interface {
|
|
9
|
+
/** Stable public identifier `<system>/<category>.v<N>` (lowercase, `-` allowed); `N` equals `version`. */
|
|
10
|
+
schemaId: string;
|
|
11
|
+
/** Contract version — raised on every change of the schema (the version guard enforces it). */
|
|
12
|
+
version: number;
|
|
13
|
+
/** The payload schema (zod 4). */
|
|
14
|
+
schema: ZodType;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=privacy-export-schema.interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"privacy-export-schema.interface.d.ts","sourceRoot":"","sources":["../../../../src/_modules/privacy-lifecycle/_models/privacy-export-schema.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAEnC;;;;;GAKG;AACH,MAAM,WAAW,mCAAmC;IAClD,0GAA0G;IAC1G,QAAQ,EAAE,MAAM,CAAC;IACjB,+FAA+F;IAC/F,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,MAAM,EAAE,OAAO,CAAC;CACjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"privacy-export-schema.interface.js","sourceRoot":"","sources":["../../../../src/_modules/privacy-lifecycle/_models/privacy-export-schema.interface.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/** The verdict of the version guard: may the generated JSON Schema replace the committed one? */
|
|
2
|
+
export type DyNTS_PrivacyExportSchemaGuard_Verdict = 'unchanged' | 'new' | 'version-raised' | 'changed-without-version';
|
|
3
|
+
//# sourceMappingURL=privacy-export-schema-guard-verdict.type.d.ts.map
|
package/build/_modules/privacy-lifecycle/_types/privacy-export-schema-guard-verdict.type.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"privacy-export-schema-guard-verdict.type.d.ts","sourceRoot":"","sources":["../../../../src/_modules/privacy-lifecycle/_types/privacy-export-schema-guard-verdict.type.ts"],"names":[],"mappings":"AAAA,iGAAiG;AACjG,MAAM,MAAM,sCAAsC,GAAG,WAAW,GAAG,KAAK,GAAG,gBAAgB,GAAG,yBAAyB,CAAC"}
|
package/build/_modules/privacy-lifecycle/_types/privacy-export-schema-guard-verdict.type.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"privacy-export-schema-guard-verdict.type.js","sourceRoot":"","sources":["../../../../src/_modules/privacy-lifecycle/_types/privacy-export-schema-guard-verdict.type.ts"],"names":[],"mappings":""}
|
|
@@ -23,6 +23,10 @@ export { DyNTS_PrivacyExportArtifact_MongoStore } from './privacy-export-artifac
|
|
|
23
23
|
export { DyNTS_PrivacyLifecycle_MongoStore, DyNTS_PrivacyLifecycleMongoStore_Settings, DyNTS_PrivacyStoredOutcome_Row, DyNTS_PrivacyStoredPlan_Row } from './privacy-lifecycle.mongo-store';
|
|
24
24
|
export { DyNTS_PrivacyLedger_MongoStore, DyNTS_PrivacyLedgerMongoStore_Settings, DyNTS_PrivacyStoredConsent_Row, DyNTS_PrivacyStoredLegalAcceptance_Row } from './privacy-ledger.mongo-store';
|
|
25
25
|
export { DyNTS_PrivacyExportBundle_ControlService } from './privacy-export-bundle.control-service';
|
|
26
|
+
export { DyNTS_PrivacyExportSchema_Util } from './privacy-export-schema.util';
|
|
27
|
+
export { DyNTS_PrivacyExportSchema_Interface } from './_models/privacy-export-schema.interface';
|
|
28
|
+
export { DyNTS_PrivacyExportSchemaSync_Result } from './_models/privacy-export-schema-sync-result.interface';
|
|
29
|
+
export { DyNTS_PrivacyExportSchemaGuard_Verdict } from './_types/privacy-export-schema-guard-verdict.type';
|
|
26
30
|
export { DyNTS_PrivacyConsentDecision_Type } from './_enums/privacy-consent-decision.type-enum';
|
|
27
31
|
export { DyNTS_PrivacyConsentAuthorizationReason_Type } from './_enums/privacy-consent-authorization-reason.type-enum';
|
|
28
32
|
export { DyNTS_PrivacyContributorAction_Type } from './_enums/privacy-contributor-action.type-enum';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_modules/privacy-lifecycle/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/_modules/privacy-lifecycle/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DyNTS_PrivacyRequest_Type = exports.DyNTS_PrivacyRequestState_Type = exports.DyNTS_PrivacyContributorOutcome_Type = exports.DyNTS_PrivacyContributorExecutionMode_Type = exports.DyNTS_PrivacyContributorAction_Type = exports.DyNTS_PrivacyConsentAuthorizationReason_Type = exports.DyNTS_PrivacyConsentDecision_Type = exports.DyNTS_PrivacyExportBundle_ControlService = exports.DyNTS_PrivacyLedger_MongoStore = exports.DyNTS_PrivacyLifecycle_MongoStore = exports.DyNTS_PrivacyExportArtifact_MongoStore = exports.DyNTS_privacyExportArtifactContributorId = exports.DyNTS_PrivacyExportArtifactPrivacyContributor_ControlService = exports.DyNTS_PrivacyExportArtifact_ControlService = exports.DyNTS_PrivacyConsentAuthorization_ControlService = exports.DyNTS_PrivacyLedger_ControlService = exports.DyNTS_PrivacyRequestCursor_ControlService = exports.DyNTS_PrivacyMutationGate_MongoStore = exports.DyNTS_PrivacyRightsNotificationState_Type = exports.DyNTS_PrivacyRightsNotificationChannel_Type = exports.DyNTS_PrivacyRightsRectificationDecision_Type = exports.DyNTS_PrivacyRightsPurposeDecision_Type = exports.DyNTS_PrivacyRightsValue_Type = exports.DyNTS_PrivacyRightsNotification_MongoStore = exports.DyNTS_PrivacyRightsExecution_MongoStore = exports.DyNTS_PrivacyRightsCustody_MongoStore = exports.DyNTS_PrivacyRightsInput_ControlService = exports.DyNTS_PrivacyContributorRequestRouter_ControlService = exports.DyNTS_PrivacyLifecycle_ControlService = void 0;
|
|
3
|
+
exports.DyNTS_PrivacyRequest_Type = exports.DyNTS_PrivacyRequestState_Type = exports.DyNTS_PrivacyContributorOutcome_Type = exports.DyNTS_PrivacyContributorExecutionMode_Type = exports.DyNTS_PrivacyContributorAction_Type = exports.DyNTS_PrivacyConsentAuthorizationReason_Type = exports.DyNTS_PrivacyConsentDecision_Type = exports.DyNTS_PrivacyExportSchema_Util = exports.DyNTS_PrivacyExportBundle_ControlService = exports.DyNTS_PrivacyLedger_MongoStore = exports.DyNTS_PrivacyLifecycle_MongoStore = exports.DyNTS_PrivacyExportArtifact_MongoStore = exports.DyNTS_privacyExportArtifactContributorId = exports.DyNTS_PrivacyExportArtifactPrivacyContributor_ControlService = exports.DyNTS_PrivacyExportArtifact_ControlService = exports.DyNTS_PrivacyConsentAuthorization_ControlService = exports.DyNTS_PrivacyLedger_ControlService = exports.DyNTS_PrivacyRequestCursor_ControlService = exports.DyNTS_PrivacyMutationGate_MongoStore = exports.DyNTS_PrivacyRightsNotificationState_Type = exports.DyNTS_PrivacyRightsNotificationChannel_Type = exports.DyNTS_PrivacyRightsRectificationDecision_Type = exports.DyNTS_PrivacyRightsPurposeDecision_Type = exports.DyNTS_PrivacyRightsValue_Type = exports.DyNTS_PrivacyRightsNotification_MongoStore = exports.DyNTS_PrivacyRightsExecution_MongoStore = exports.DyNTS_PrivacyRightsCustody_MongoStore = exports.DyNTS_PrivacyRightsInput_ControlService = exports.DyNTS_PrivacyContributorRequestRouter_ControlService = exports.DyNTS_PrivacyLifecycle_ControlService = void 0;
|
|
4
4
|
var privacy_lifecycle_control_service_1 = require("./privacy-lifecycle.control-service");
|
|
5
5
|
Object.defineProperty(exports, "DyNTS_PrivacyLifecycle_ControlService", { enumerable: true, get: function () { return privacy_lifecycle_control_service_1.DyNTS_PrivacyLifecycle_ControlService; } });
|
|
6
6
|
var privacy_contributor_request_router_control_service_1 = require("./privacy-contributor-request-router.control-service");
|
|
@@ -42,6 +42,8 @@ var privacy_ledger_mongo_store_1 = require("./privacy-ledger.mongo-store");
|
|
|
42
42
|
Object.defineProperty(exports, "DyNTS_PrivacyLedger_MongoStore", { enumerable: true, get: function () { return privacy_ledger_mongo_store_1.DyNTS_PrivacyLedger_MongoStore; } });
|
|
43
43
|
var privacy_export_bundle_control_service_1 = require("./privacy-export-bundle.control-service");
|
|
44
44
|
Object.defineProperty(exports, "DyNTS_PrivacyExportBundle_ControlService", { enumerable: true, get: function () { return privacy_export_bundle_control_service_1.DyNTS_PrivacyExportBundle_ControlService; } });
|
|
45
|
+
var privacy_export_schema_util_1 = require("./privacy-export-schema.util");
|
|
46
|
+
Object.defineProperty(exports, "DyNTS_PrivacyExportSchema_Util", { enumerable: true, get: function () { return privacy_export_schema_util_1.DyNTS_PrivacyExportSchema_Util; } });
|
|
45
47
|
var privacy_consent_decision_type_enum_1 = require("./_enums/privacy-consent-decision.type-enum");
|
|
46
48
|
Object.defineProperty(exports, "DyNTS_PrivacyConsentDecision_Type", { enumerable: true, get: function () { return privacy_consent_decision_type_enum_1.DyNTS_PrivacyConsentDecision_Type; } });
|
|
47
49
|
var privacy_consent_authorization_reason_type_enum_1 = require("./_enums/privacy-consent-authorization-reason.type-enum");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_modules/privacy-lifecycle/index.ts"],"names":[],"mappings":";;;AAAA,yFAA4F;AAAnF,0JAAA,qCAAqC,OAAA;AAC9C,2HAE8D;AAD5D,0LAAA,oDAAoD,OAAA;AAEtD,+FAAiG;AAAxF,+JAAA,uCAAuC,OAAA;AAChD,2FAA6F;AAApF,2JAAA,qCAAqC,OAAA;AAC9C,+FAAiG;AAAxF,+JAAA,uCAAuC,OAAA;AAChD,qGAAuG;AAA9F,qKAAA,0CAA0C,OAAA;AAUnD,0FAAwF;AAA/E,+IAAA,6BAA6B,OAAA;AACtC,gGAGoD;AAFlD,4JAAA,uCAAuC,OAAA;AACvC,kKAAA,6CAA6C,OAAA;AAiC/C,oHAG8D;AAF5D,0KAAA,2CAA2C,OAAA;AAC3C,wKAAA,yCAAyC,OAAA;AAE3C,yFAA2F;AAAlF,yJAAA,oCAAoC,OAAA;AAM7C,mGAAqG;AAA5F,mKAAA,yCAAyC,OAAA;AAClD,mFAAsF;AAA7E,oJAAA,kCAAkC,OAAA;AAC3C,iHAEyD;AADvD,iLAAA,gDAAgD,OAAA;AAElD,qGAAuG;AAA9F,qKAAA,0CAA0C,OAAA;AACnD,6IAGuE;AAFrE,2MAAA,4DAA4D,OAAA;AAC5D,uLAAA,wCAAwC,OAAA;AAE1C,6FAA+F;AAAtF,6JAAA,sCAAsC,OAAA;AAC/C,iFAKyC;AAJvC,kJAAA,iCAAiC,OAAA;AAKnC,2EAKsC;AAJpC,4IAAA,8BAA8B,OAAA;AAKhC,iGAAmG;AAA1F,iKAAA,wCAAwC,OAAA;AACjD,kGAAgG;AAAvF,uJAAA,iCAAiC,OAAA;AAC1C,0HAEiE;AAD/D,8KAAA,4CAA4C,OAAA;AAE9C,sGAAoG;AAA3F,2JAAA,mCAAmC,OAAA;AAC5C,sHAE+D;AAD7D,0KAAA,0CAA0C,OAAA;AAE5C,wGAAsG;AAA7F,6JAAA,oCAAoC,OAAA;AAC7C,4FAA0F;AAAjF,iJAAA,8BAA8B,OAAA;AACvC,gFAA+E;AAAtE,sIAAA,yBAAyB,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/_modules/privacy-lifecycle/index.ts"],"names":[],"mappings":";;;AAAA,yFAA4F;AAAnF,0JAAA,qCAAqC,OAAA;AAC9C,2HAE8D;AAD5D,0LAAA,oDAAoD,OAAA;AAEtD,+FAAiG;AAAxF,+JAAA,uCAAuC,OAAA;AAChD,2FAA6F;AAApF,2JAAA,qCAAqC,OAAA;AAC9C,+FAAiG;AAAxF,+JAAA,uCAAuC,OAAA;AAChD,qGAAuG;AAA9F,qKAAA,0CAA0C,OAAA;AAUnD,0FAAwF;AAA/E,+IAAA,6BAA6B,OAAA;AACtC,gGAGoD;AAFlD,4JAAA,uCAAuC,OAAA;AACvC,kKAAA,6CAA6C,OAAA;AAiC/C,oHAG8D;AAF5D,0KAAA,2CAA2C,OAAA;AAC3C,wKAAA,yCAAyC,OAAA;AAE3C,yFAA2F;AAAlF,yJAAA,oCAAoC,OAAA;AAM7C,mGAAqG;AAA5F,mKAAA,yCAAyC,OAAA;AAClD,mFAAsF;AAA7E,oJAAA,kCAAkC,OAAA;AAC3C,iHAEyD;AADvD,iLAAA,gDAAgD,OAAA;AAElD,qGAAuG;AAA9F,qKAAA,0CAA0C,OAAA;AACnD,6IAGuE;AAFrE,2MAAA,4DAA4D,OAAA;AAC5D,uLAAA,wCAAwC,OAAA;AAE1C,6FAA+F;AAAtF,6JAAA,sCAAsC,OAAA;AAC/C,iFAKyC;AAJvC,kJAAA,iCAAiC,OAAA;AAKnC,2EAKsC;AAJpC,4IAAA,8BAA8B,OAAA;AAKhC,iGAAmG;AAA1F,iKAAA,wCAAwC,OAAA;AACjD,2EAA8E;AAArE,4IAAA,8BAA8B,OAAA;AAIvC,kGAAgG;AAAvF,uJAAA,iCAAiC,OAAA;AAC1C,0HAEiE;AAD/D,8KAAA,4CAA4C,OAAA;AAE9C,sGAAoG;AAA3F,2JAAA,mCAAmC,OAAA;AAC5C,sHAE+D;AAD7D,0KAAA,0CAA0C,OAAA;AAE5C,wGAAsG;AAA7F,6JAAA,oCAAoC,OAAA;AAC7C,4FAA0F;AAAjF,iJAAA,8BAA8B,OAAA;AACvC,gFAA+E;AAAtE,sIAAA,yBAAyB,OAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { DyNTS_PrivacyExportBundleArtifactReader_Interface, DyNTS_PrivacyExportBundleLifecycleReader_Interface, DyNTS_PrivacyExportBundleRequest_Interface, DyNTS_PrivacyExportBundleResult_Interface } from './_models/privacy-export-bundle.interface';
|
|
2
|
+
import { DyNTS_PrivacyExportSchema_Interface } from './_models/privacy-export-schema.interface';
|
|
2
3
|
/**
|
|
3
4
|
* Assembles verified contributor artifacts for one completed privacy export.
|
|
4
5
|
* The returned plaintext is sensitive and must never be logged, cached or persisted unencrypted.
|
|
@@ -7,17 +8,28 @@ export declare class DyNTS_PrivacyExportBundle_ControlService {
|
|
|
7
8
|
private static readonly absoluteMaxContributors;
|
|
8
9
|
private static readonly absoluteMaxBundleBytes;
|
|
9
10
|
private static readonly bundlePrefix;
|
|
11
|
+
/** L-174 B1 — the schema-carrying envelope: parts are `{contributorId, schema, payload}` (`schema` may be null). */
|
|
12
|
+
private static readonly bundlePrefixV2;
|
|
10
13
|
private static readonly bundleSuffix;
|
|
11
14
|
private readonly lifecycleReader;
|
|
12
15
|
private readonly artifactReader;
|
|
13
16
|
private readonly maxContributors;
|
|
14
17
|
private readonly maxBundleBytes;
|
|
18
|
+
/** L-174 B1 — contributorId ⇒ payload contract; empty ⇒ the `/1` envelope, byte for byte as before. */
|
|
19
|
+
private readonly exportSchemas;
|
|
15
20
|
/** Creates a bounded assembler without owning authentication, persistence, delivery or retention policy. */
|
|
16
21
|
constructor(set: {
|
|
17
22
|
lifecycleReader: DyNTS_PrivacyExportBundleLifecycleReader_Interface;
|
|
18
23
|
artifactReader: DyNTS_PrivacyExportBundleArtifactReader_Interface;
|
|
19
24
|
maxContributors: number;
|
|
20
25
|
maxBundleBytes: number;
|
|
26
|
+
/**
|
|
27
|
+
* L-174 B1 (BFR-FUTDEVPRO-047) — optional payload contracts per contributorId
|
|
28
|
+
* (`DyNTS_PrivacyExportSchema_Util.mapFromContributors`). With at least one, the bundle is `…/2`,
|
|
29
|
+
* each part carries its `schema` (`{id, version}` or `null`), and a payload that does not satisfy
|
|
30
|
+
* its schema fails the assembly.
|
|
31
|
+
*/
|
|
32
|
+
exportSchemas?: Record<string, DyNTS_PrivacyExportSchema_Interface>;
|
|
21
33
|
});
|
|
22
34
|
/** Builds a deterministic JSON envelope after exact lifecycle, authority and artifact-integrity validation. */
|
|
23
35
|
assemble(request: DyNTS_PrivacyExportBundleRequest_Interface): Promise<DyNTS_PrivacyExportBundleResult_Interface>;
|
|
@@ -32,6 +44,11 @@ export declare class DyNTS_PrivacyExportBundle_ControlService {
|
|
|
32
44
|
private validDate;
|
|
33
45
|
private validJson;
|
|
34
46
|
private checksum;
|
|
47
|
+
/**
|
|
48
|
+
* L-174 B1 — one `/2` part. A contributor with a schema: the payload must satisfy it (`EXPORT_SCHEMA_MISMATCH`, 500 —
|
|
49
|
+
* the payload is never reflected); without one: `schema: null`. The payload bytes are kept exactly as stored.
|
|
50
|
+
*/
|
|
51
|
+
private schemaPart;
|
|
35
52
|
private error;
|
|
36
53
|
}
|
|
37
54
|
//# sourceMappingURL=privacy-export-bundle.control-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"privacy-export-bundle.control-service.d.ts","sourceRoot":"","sources":["../../../src/_modules/privacy-lifecycle/privacy-export-bundle.control-service.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,iDAAiD,EACjD,kDAAkD,EAClD,0CAA0C,EAC1C,yCAAyC,EAC1C,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"privacy-export-bundle.control-service.d.ts","sourceRoot":"","sources":["../../../src/_modules/privacy-lifecycle/privacy-export-bundle.control-service.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,iDAAiD,EACjD,kDAAkD,EAClD,0CAA0C,EAC1C,yCAAyC,EAC1C,MAAM,2CAA2C,CAAC;AAEnD,OAAO,EAAE,mCAAmC,EAAE,MAAM,2CAA2C,CAAC;AAIhG;;;GAGG;AACH,qBAAa,wCAAwC;IACnD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAe;IAC9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAsB;IACpE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAiF;IACrH,oHAAoH;IACpH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CACkC;IACxE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAgB;IACpD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqD;IACrF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAoD;IACnF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,uGAAuG;IACvG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsD;IAEpF,4GAA4G;gBAChG,GAAG,EAAE;QACf,eAAe,EAAE,kDAAkD,CAAC;QACpE,cAAc,EAAE,iDAAiD,CAAC;QAClE,eAAe,EAAE,MAAM,CAAC;QACxB,cAAc,EAAE,MAAM,CAAC;QACvB;;;;;WAKG;QACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mCAAmC,CAAC,CAAC;KACrE;IAwBD,+GAA+G;IAClG,QAAQ,CACnB,OAAO,EAAE,0CAA0C,GAClD,OAAO,CAAC,yCAAyC,CAAC;YAkEvC,uBAAuB;YA8BvB,eAAe;YAiCf,YAAY;IAmB1B,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,YAAY;IAkCpB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,QAAQ;IAIhB;;;OAGG;IACH,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,KAAK;CAiBd"}
|
|
@@ -7,6 +7,7 @@ const privacy_contributor_action_type_enum_1 = require("./_enums/privacy-contrib
|
|
|
7
7
|
const privacy_contributor_outcome_type_enum_1 = require("./_enums/privacy-contributor-outcome.type-enum");
|
|
8
8
|
const privacy_request_state_type_enum_1 = require("./_enums/privacy-request-state.type-enum");
|
|
9
9
|
const privacy_request_type_enum_1 = require("./_enums/privacy-request.type-enum");
|
|
10
|
+
const privacy_export_schema_util_1 = require("./privacy-export-schema.util");
|
|
10
11
|
/**
|
|
11
12
|
* Assembles verified contributor artifacts for one completed privacy export.
|
|
12
13
|
* The returned plaintext is sensitive and must never be logged, cached or persisted unencrypted.
|
|
@@ -15,11 +16,15 @@ class DyNTS_PrivacyExportBundle_ControlService {
|
|
|
15
16
|
static absoluteMaxContributors = 256;
|
|
16
17
|
static absoluteMaxBundleBytes = 33_554_432;
|
|
17
18
|
static bundlePrefix = '{"contractVersion":"dynts-privacy-export-bundle/1","contributors":[';
|
|
19
|
+
/** L-174 B1 — the schema-carrying envelope: parts are `{contributorId, schema, payload}` (`schema` may be null). */
|
|
20
|
+
static bundlePrefixV2 = '{"contractVersion":"dynts-privacy-export-bundle/2","contributors":[';
|
|
18
21
|
static bundleSuffix = ']}';
|
|
19
22
|
lifecycleReader;
|
|
20
23
|
artifactReader;
|
|
21
24
|
maxContributors;
|
|
22
25
|
maxBundleBytes;
|
|
26
|
+
/** L-174 B1 — contributorId ⇒ payload contract; empty ⇒ the `/1` envelope, byte for byte as before. */
|
|
27
|
+
exportSchemas;
|
|
23
28
|
/** Creates a bounded assembler without owning authentication, persistence, delivery or retention policy. */
|
|
24
29
|
constructor(set) {
|
|
25
30
|
if (!set.lifecycleReader
|
|
@@ -36,6 +41,10 @@ class DyNTS_PrivacyExportBundle_ControlService {
|
|
|
36
41
|
this.artifactReader = set.artifactReader;
|
|
37
42
|
this.maxContributors = set.maxContributors;
|
|
38
43
|
this.maxBundleBytes = set.maxBundleBytes;
|
|
44
|
+
this.exportSchemas = { ...(set.exportSchemas ?? {}) };
|
|
45
|
+
Object.values(this.exportSchemas).forEach((descriptor) => {
|
|
46
|
+
privacy_export_schema_util_1.DyNTS_PrivacyExportSchema_Util.assertValid(descriptor);
|
|
47
|
+
});
|
|
39
48
|
}
|
|
40
49
|
/** Builds a deterministic JSON envelope after exact lifecycle, authority and artifact-integrity validation. */
|
|
41
50
|
async assemble(request) {
|
|
@@ -52,12 +61,17 @@ class DyNTS_PrivacyExportBundle_ControlService {
|
|
|
52
61
|
: 0);
|
|
53
62
|
const contributorJson = [];
|
|
54
63
|
const expiries = [];
|
|
55
|
-
|
|
56
|
-
|
|
64
|
+
const withSchemas = Object.keys(this.exportSchemas).length > 0;
|
|
65
|
+
const prefix = withSchemas
|
|
66
|
+
? DyNTS_PrivacyExportBundle_ControlService.bundlePrefixV2
|
|
67
|
+
: DyNTS_PrivacyExportBundle_ControlService.bundlePrefix;
|
|
68
|
+
let assembledBytes = Buffer.byteLength(prefix + DyNTS_PrivacyExportBundle_ControlService.bundleSuffix, 'utf8');
|
|
57
69
|
for (const outcome of exportOutcomes) {
|
|
58
70
|
const artifact = await this.readArtifact(request, outcome);
|
|
59
71
|
this.validateArtifact(outcome, artifact);
|
|
60
|
-
const contributor =
|
|
72
|
+
const contributor = withSchemas
|
|
73
|
+
? this.schemaPart(outcome.contributorId, artifact.plaintext)
|
|
74
|
+
: `{"contributorId":${JSON.stringify(outcome.contributorId)},"payload":${artifact.plaintext}}`;
|
|
61
75
|
assembledBytes += Buffer.byteLength(contributor, 'utf8') + (contributorJson.length ? 1 : 0);
|
|
62
76
|
if (assembledBytes > this.maxBundleBytes) {
|
|
63
77
|
throw this.error('BUNDLE_TOO_LARGE', 413);
|
|
@@ -65,7 +79,7 @@ class DyNTS_PrivacyExportBundle_ControlService {
|
|
|
65
79
|
contributorJson.push(contributor);
|
|
66
80
|
expiries.push(new Date(artifact.artifact.expiresAt).getTime());
|
|
67
81
|
}
|
|
68
|
-
const plaintext =
|
|
82
|
+
const plaintext = prefix
|
|
69
83
|
+ contributorJson.join(',')
|
|
70
84
|
+ DyNTS_PrivacyExportBundle_ControlService.bundleSuffix;
|
|
71
85
|
const plaintextBytes = Buffer.byteLength(plaintext, 'utf8');
|
|
@@ -219,6 +233,20 @@ class DyNTS_PrivacyExportBundle_ControlService {
|
|
|
219
233
|
checksum(value) {
|
|
220
234
|
return (0, node_crypto_1.createHash)('sha256').update(value, 'utf8').digest('hex');
|
|
221
235
|
}
|
|
236
|
+
/**
|
|
237
|
+
* L-174 B1 — one `/2` part. A contributor with a schema: the payload must satisfy it (`EXPORT_SCHEMA_MISMATCH`, 500 —
|
|
238
|
+
* the payload is never reflected); without one: `schema: null`. The payload bytes are kept exactly as stored.
|
|
239
|
+
*/
|
|
240
|
+
schemaPart(contributorId, plaintext) {
|
|
241
|
+
const descriptor = this.exportSchemas[contributorId];
|
|
242
|
+
if (descriptor && !privacy_export_schema_util_1.DyNTS_PrivacyExportSchema_Util.isPayloadValid(descriptor, JSON.parse(plaintext))) {
|
|
243
|
+
throw this.error('EXPORT_SCHEMA_MISMATCH', 500);
|
|
244
|
+
}
|
|
245
|
+
const schema = descriptor
|
|
246
|
+
? JSON.stringify({ id: descriptor.schemaId, version: descriptor.version })
|
|
247
|
+
: 'null';
|
|
248
|
+
return `{"contributorId":${JSON.stringify(contributorId)},"schema":${schema},"payload":${plaintext}}`;
|
|
249
|
+
}
|
|
222
250
|
error(code, status) {
|
|
223
251
|
return new fsm_dynamo_1.DyFM_Error({
|
|
224
252
|
status: status,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"privacy-export-bundle.control-service.js","sourceRoot":"","sources":["../../../src/_modules/privacy-lifecycle/privacy-export-bundle.control-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"privacy-export-bundle.control-service.js","sourceRoot":"","sources":["../../../src/_modules/privacy-lifecycle/privacy-export-bundle.control-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { DyNTS_PrivacyContributor_Interface } from './_models/privacy-contributor.interface';
|
|
2
|
+
import { DyNTS_PrivacyExportSchema_Interface } from './_models/privacy-export-schema.interface';
|
|
3
|
+
import { DyNTS_PrivacyExportSchemaSync_Result } from './_models/privacy-export-schema-sync-result.interface';
|
|
4
|
+
import { DyNTS_PrivacyExportSchemaGuard_Verdict } from './_types/privacy-export-schema-guard-verdict.type';
|
|
5
|
+
/**
|
|
6
|
+
* L-174 B1 (BFR-FUTDEVPRO-047) — export-schema helpers: descriptor validation, runtime payload validation, JSON Schema
|
|
7
|
+
* generation (2020-12, from the zod schema itself) and the version guard.
|
|
8
|
+
*/
|
|
9
|
+
export declare class DyNTS_PrivacyExportSchema_Util {
|
|
10
|
+
/** `<system>/<category>.v<N>` — lowercase segments, `-` allowed, `N` ≥ 1. */
|
|
11
|
+
static readonly schemaIdPattern: RegExp;
|
|
12
|
+
/** Throws (500, `EXPORT_SCHEMA_INVALID`) unless the descriptor is well-formed and its id carries its version. */
|
|
13
|
+
static assertValid(descriptor: DyNTS_PrivacyExportSchema_Interface): void;
|
|
14
|
+
/** `true` if the payload satisfies the schema (the payload itself never leaves this call). */
|
|
15
|
+
static isPayloadValid(descriptor: DyNTS_PrivacyExportSchema_Interface, payload: unknown): boolean;
|
|
16
|
+
/** The public JSON Schema (draft 2020-12) of the contract, with its identifier and version. */
|
|
17
|
+
static toJsonSchema(descriptor: DyNTS_PrivacyExportSchema_Interface): Record<string, unknown>;
|
|
18
|
+
/**
|
|
19
|
+
* The version guard: compares the freshly generated JSON Schema with the committed one. A changed schema under the
|
|
20
|
+
* SAME version is `changed-without-version` ⇒ the consumer's spec must fail (a published contract changed silently).
|
|
21
|
+
*/
|
|
22
|
+
static guard(set: {
|
|
23
|
+
generated: Record<string, unknown>;
|
|
24
|
+
committed: Record<string, unknown> | null;
|
|
25
|
+
}): DyNTS_PrivacyExportSchemaGuard_Verdict;
|
|
26
|
+
/** contributorId ⇒ schema, from the contributors that declare one (each validated; a duplicate id throws). */
|
|
27
|
+
static mapFromContributors(contributors: DyNTS_PrivacyContributor_Interface[]): Record<string, DyNTS_PrivacyExportSchema_Interface>;
|
|
28
|
+
/** The file of a contract, relative to the schema directory: `<system>/<category>.v<N>.schema.json`. */
|
|
29
|
+
static fileNameOf(descriptor: DyNTS_PrivacyExportSchema_Interface): string;
|
|
30
|
+
/**
|
|
31
|
+
* L-174 B1 — the generator step AND the version guard, over the committed schema directory (no module loading:
|
|
32
|
+
* the product imports its own contracts statically and calls this from a spec or a script).
|
|
33
|
+
*
|
|
34
|
+
* - `write: true` (the generator script): writes every `new` contract file + `index.json`; a contract whose
|
|
35
|
+
* committed file differs under the SAME id (= the same version) is NOT overwritten — a failure
|
|
36
|
+
* (`raise the version`).
|
|
37
|
+
* - `write: false` (the CI spec): writes nothing; any file that is missing, outdated or changed without a version
|
|
38
|
+
* bump is a failure. Empty `failures` ⇒ the published JSON Schemas are exactly what the code generates.
|
|
39
|
+
*
|
|
40
|
+
* A new version is a new file (the id carries the version), so the old version stays published.
|
|
41
|
+
*/
|
|
42
|
+
static syncFiles(set: {
|
|
43
|
+
descriptors: DyNTS_PrivacyExportSchema_Interface[];
|
|
44
|
+
directory: string;
|
|
45
|
+
write: boolean;
|
|
46
|
+
}): DyNTS_PrivacyExportSchemaSync_Result;
|
|
47
|
+
/** `index.json`: the published contract list `[{ id, version, file }]` — written or checked like the files. */
|
|
48
|
+
private static syncIndex;
|
|
49
|
+
/** The parsed JSON file, or `null` if it does not exist. */
|
|
50
|
+
private static readJson;
|
|
51
|
+
/** Writes pretty JSON (2-space, trailing newline), creating the folders. */
|
|
52
|
+
private static writeJson;
|
|
53
|
+
/** Key-sorted JSON, so the guard compares content, not key order. */
|
|
54
|
+
private static canonical;
|
|
55
|
+
private static error;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=privacy-export-schema.util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"privacy-export-schema.util.d.ts","sourceRoot":"","sources":["../../../src/_modules/privacy-lifecycle/privacy-export-schema.util.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,kCAAkC,EAAE,MAAM,yCAAyC,CAAC;AAC7F,OAAO,EAAE,mCAAmC,EAAE,MAAM,2CAA2C,CAAC;AAChG,OAAO,EAAE,oCAAoC,EAAE,MAAM,uDAAuD,CAAC;AAC7G,OAAO,EAAE,sCAAsC,EAAE,MAAM,mDAAmD,CAAC;AAE3G;;;GAGG;AACH,qBAAa,8BAA8B;IACzC,6EAA6E;IAC7E,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAA8D;IAErG,iHAAiH;IACjH,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE,mCAAmC,GAAG,IAAI;IAazE,8FAA8F;IAC9F,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,mCAAmC,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;IAIjG,+FAA+F;IAC/F,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,mCAAmC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAc7F;;;OAGG;IACH,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;QAChB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACnC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;KAC3C,GAAG,sCAAsC;IAoB1C,8GAA8G;IAC9G,MAAM,CAAC,mBAAmB,CACxB,YAAY,EAAE,kCAAkC,EAAE,GACjD,MAAM,CAAC,MAAM,EAAE,mCAAmC,CAAC;IAkBtD,wGAAwG;IACxG,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,mCAAmC,GAAG,MAAM;IAI1E;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE;QACpB,WAAW,EAAE,mCAAmC,EAAE,CAAC;QACnD,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,OAAO,CAAC;KAChB,GAAG,oCAAoC;IAyCxC,+GAA+G;IAC/G,OAAO,CAAC,MAAM,CAAC,SAAS;IA8BxB,4DAA4D;IAC5D,OAAO,CAAC,MAAM,CAAC,QAAQ;IAIvB,4EAA4E;IAC5E,OAAO,CAAC,MAAM,CAAC,SAAS;IAKxB,qEAAqE;IACrE,OAAO,CAAC,MAAM,CAAC,SAAS;IAexB,OAAO,CAAC,MAAM,CAAC,KAAK;CAUrB"}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DyNTS_PrivacyExportSchema_Util = void 0;
|
|
4
|
+
const node_fs_1 = require("node:fs");
|
|
5
|
+
const node_path_1 = require("node:path");
|
|
6
|
+
const zod_1 = require("zod");
|
|
7
|
+
const fsm_dynamo_1 = require("@futdevpro/fsm-dynamo");
|
|
8
|
+
/**
|
|
9
|
+
* L-174 B1 (BFR-FUTDEVPRO-047) — export-schema helpers: descriptor validation, runtime payload validation, JSON Schema
|
|
10
|
+
* generation (2020-12, from the zod schema itself) and the version guard.
|
|
11
|
+
*/
|
|
12
|
+
class DyNTS_PrivacyExportSchema_Util {
|
|
13
|
+
/** `<system>/<category>.v<N>` — lowercase segments, `-` allowed, `N` ≥ 1. */
|
|
14
|
+
static schemaIdPattern = /^[a-z0-9][a-z0-9-]*\/[a-z0-9][a-z0-9-]*\.v([1-9][0-9]*)$/;
|
|
15
|
+
/** Throws (500, `EXPORT_SCHEMA_INVALID`) unless the descriptor is well-formed and its id carries its version. */
|
|
16
|
+
static assertValid(descriptor) {
|
|
17
|
+
const match = DyNTS_PrivacyExportSchema_Util.schemaIdPattern.exec(descriptor?.schemaId ?? '');
|
|
18
|
+
const valid = !!match
|
|
19
|
+
&& Number.isSafeInteger(descriptor.version)
|
|
20
|
+
&& Number(match[1]) === descriptor.version
|
|
21
|
+
&& typeof descriptor.schema?.safeParse === 'function';
|
|
22
|
+
if (!valid) {
|
|
23
|
+
throw DyNTS_PrivacyExportSchema_Util.error('EXPORT_SCHEMA_INVALID', descriptor?.schemaId);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/** `true` if the payload satisfies the schema (the payload itself never leaves this call). */
|
|
27
|
+
static isPayloadValid(descriptor, payload) {
|
|
28
|
+
return descriptor.schema.safeParse(payload).success;
|
|
29
|
+
}
|
|
30
|
+
/** The public JSON Schema (draft 2020-12) of the contract, with its identifier and version. */
|
|
31
|
+
static toJsonSchema(descriptor) {
|
|
32
|
+
DyNTS_PrivacyExportSchema_Util.assertValid(descriptor);
|
|
33
|
+
return {
|
|
34
|
+
// `io: 'input'` — the schema describes what the runtime ACCEPTS (`safeParse` validates the payload as
|
|
35
|
+
// input): a plain `z.object` lets extra keys through, so it must not publish `additionalProperties: false`
|
|
36
|
+
// (the zod default `output` mode would — a stricter promise than the runtime keeps, invisible to the
|
|
37
|
+
// guard). Finding: futdevpro `9da351a1`.
|
|
38
|
+
...(0, zod_1.toJSONSchema)(descriptor.schema, { target: 'draft-2020-12', io: 'input' }),
|
|
39
|
+
$id: descriptor.schemaId,
|
|
40
|
+
'x-dynts-schema-version': descriptor.version,
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* The version guard: compares the freshly generated JSON Schema with the committed one. A changed schema under the
|
|
45
|
+
* SAME version is `changed-without-version` ⇒ the consumer's spec must fail (a published contract changed silently).
|
|
46
|
+
*/
|
|
47
|
+
static guard(set) {
|
|
48
|
+
if (!set.committed) {
|
|
49
|
+
return 'new';
|
|
50
|
+
}
|
|
51
|
+
const sameContent = DyNTS_PrivacyExportSchema_Util.canonical(set.generated)
|
|
52
|
+
=== DyNTS_PrivacyExportSchema_Util.canonical(set.committed);
|
|
53
|
+
if (sameContent) {
|
|
54
|
+
return 'unchanged';
|
|
55
|
+
}
|
|
56
|
+
const generatedVersion = set.generated['x-dynts-schema-version'];
|
|
57
|
+
const committedVersion = set.committed['x-dynts-schema-version'];
|
|
58
|
+
const raised = typeof generatedVersion === 'number' && typeof committedVersion === 'number'
|
|
59
|
+
&& generatedVersion > committedVersion;
|
|
60
|
+
return raised ? 'version-raised' : 'changed-without-version';
|
|
61
|
+
}
|
|
62
|
+
/** contributorId ⇒ schema, from the contributors that declare one (each validated; a duplicate id throws). */
|
|
63
|
+
static mapFromContributors(contributors) {
|
|
64
|
+
const schemas = {};
|
|
65
|
+
for (const contributor of contributors) {
|
|
66
|
+
if (!contributor.exportSchema) {
|
|
67
|
+
continue;
|
|
68
|
+
}
|
|
69
|
+
DyNTS_PrivacyExportSchema_Util.assertValid(contributor.exportSchema);
|
|
70
|
+
if (schemas[contributor.contributorId]) {
|
|
71
|
+
throw DyNTS_PrivacyExportSchema_Util.error('EXPORT_SCHEMA_DUPLICATE', contributor.exportSchema.schemaId);
|
|
72
|
+
}
|
|
73
|
+
schemas[contributor.contributorId] = contributor.exportSchema;
|
|
74
|
+
}
|
|
75
|
+
return schemas;
|
|
76
|
+
}
|
|
77
|
+
/** The file of a contract, relative to the schema directory: `<system>/<category>.v<N>.schema.json`. */
|
|
78
|
+
static fileNameOf(descriptor) {
|
|
79
|
+
return `${descriptor.schemaId}.schema.json`;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* L-174 B1 — the generator step AND the version guard, over the committed schema directory (no module loading:
|
|
83
|
+
* the product imports its own contracts statically and calls this from a spec or a script).
|
|
84
|
+
*
|
|
85
|
+
* - `write: true` (the generator script): writes every `new` contract file + `index.json`; a contract whose
|
|
86
|
+
* committed file differs under the SAME id (= the same version) is NOT overwritten — a failure
|
|
87
|
+
* (`raise the version`).
|
|
88
|
+
* - `write: false` (the CI spec): writes nothing; any file that is missing, outdated or changed without a version
|
|
89
|
+
* bump is a failure. Empty `failures` ⇒ the published JSON Schemas are exactly what the code generates.
|
|
90
|
+
*
|
|
91
|
+
* A new version is a new file (the id carries the version), so the old version stays published.
|
|
92
|
+
*/
|
|
93
|
+
static syncFiles(set) {
|
|
94
|
+
const failures = [];
|
|
95
|
+
const sorted = [...set.descriptors].sort((first, second) => (first.schemaId < second.schemaId ? -1 : first.schemaId > second.schemaId ? 1 : 0));
|
|
96
|
+
const entries = [];
|
|
97
|
+
sorted.forEach((descriptor, index) => {
|
|
98
|
+
if (index && sorted[index - 1].schemaId === descriptor.schemaId) {
|
|
99
|
+
failures.push(`${descriptor.schemaId}: declared twice`);
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
const file = DyNTS_PrivacyExportSchema_Util.fileNameOf(descriptor);
|
|
103
|
+
const generated = DyNTS_PrivacyExportSchema_Util.toJsonSchema(descriptor);
|
|
104
|
+
const verdict = DyNTS_PrivacyExportSchema_Util.guard({
|
|
105
|
+
generated: generated,
|
|
106
|
+
committed: DyNTS_PrivacyExportSchema_Util.readJson((0, node_path_1.join)(set.directory, file)),
|
|
107
|
+
});
|
|
108
|
+
entries.push({ schemaId: descriptor.schemaId, file: file, verdict: verdict });
|
|
109
|
+
if (verdict === 'changed-without-version') {
|
|
110
|
+
failures.push(`${descriptor.schemaId}: the schema changed but its version did not — raise the version`);
|
|
111
|
+
}
|
|
112
|
+
else if (verdict !== 'unchanged' && !set.write) {
|
|
113
|
+
const state = verdict === 'new' ? 'missing' : 'outdated';
|
|
114
|
+
failures.push(`${descriptor.schemaId}: ${file} is ${state} — run the generator`);
|
|
115
|
+
}
|
|
116
|
+
else if (verdict !== 'unchanged') {
|
|
117
|
+
DyNTS_PrivacyExportSchema_Util.writeJson((0, node_path_1.join)(set.directory, file), generated);
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
DyNTS_PrivacyExportSchema_Util.syncIndex({
|
|
121
|
+
directory: set.directory, sorted: sorted, write: set.write, failures: failures,
|
|
122
|
+
});
|
|
123
|
+
return { entries: entries, failures: failures };
|
|
124
|
+
}
|
|
125
|
+
/** `index.json`: the published contract list `[{ id, version, file }]` — written or checked like the files. */
|
|
126
|
+
static syncIndex(set) {
|
|
127
|
+
const index = {
|
|
128
|
+
contracts: set.sorted.map((descriptor) => ({
|
|
129
|
+
id: descriptor.schemaId,
|
|
130
|
+
version: descriptor.version,
|
|
131
|
+
file: DyNTS_PrivacyExportSchema_Util.fileNameOf(descriptor),
|
|
132
|
+
})),
|
|
133
|
+
};
|
|
134
|
+
const path = (0, node_path_1.join)(set.directory, 'index.json');
|
|
135
|
+
const committed = DyNTS_PrivacyExportSchema_Util.readJson(path);
|
|
136
|
+
const same = !!committed
|
|
137
|
+
&& DyNTS_PrivacyExportSchema_Util.canonical(committed) === DyNTS_PrivacyExportSchema_Util.canonical(index);
|
|
138
|
+
if (same) {
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
if (set.write) {
|
|
142
|
+
DyNTS_PrivacyExportSchema_Util.writeJson(path, index);
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
set.failures.push('index.json is missing or outdated — run the generator');
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
/** The parsed JSON file, or `null` if it does not exist. */
|
|
149
|
+
static readJson(path) {
|
|
150
|
+
return (0, node_fs_1.existsSync)(path) ? JSON.parse((0, node_fs_1.readFileSync)(path, 'utf8')) : null;
|
|
151
|
+
}
|
|
152
|
+
/** Writes pretty JSON (2-space, trailing newline), creating the folders. */
|
|
153
|
+
static writeJson(path, value) {
|
|
154
|
+
(0, node_fs_1.mkdirSync)((0, node_path_1.dirname)(path), { recursive: true });
|
|
155
|
+
(0, node_fs_1.writeFileSync)(path, `${JSON.stringify(value, null, 2)}\n`, 'utf8');
|
|
156
|
+
}
|
|
157
|
+
/** Key-sorted JSON, so the guard compares content, not key order. */
|
|
158
|
+
static canonical(value) {
|
|
159
|
+
return JSON.stringify(value, (_key, inner) => {
|
|
160
|
+
if (!inner || typeof inner !== 'object' || Array.isArray(inner)) {
|
|
161
|
+
return inner;
|
|
162
|
+
}
|
|
163
|
+
const entries = Object.entries(inner);
|
|
164
|
+
entries.sort((first, second) => (first[0] < second[0] ? -1 : first[0] > second[0] ? 1 : 0));
|
|
165
|
+
return Object.fromEntries(entries);
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
static error(code, schemaId) {
|
|
169
|
+
return new fsm_dynamo_1.DyFM_Error({
|
|
170
|
+
status: 500,
|
|
171
|
+
errorCode: `DYNTS|PRIVACY_EXPORT_SCHEMA|${code}`,
|
|
172
|
+
message: `Invalid privacy export schema descriptor (${String(schemaId)}) — expected`
|
|
173
|
+
+ ' "<system>/<category>.v<N>" with a matching version and a zod schema.',
|
|
174
|
+
userMessage: 'The privacy export is temporarily unavailable.',
|
|
175
|
+
issuerService: 'DyNTS_PrivacyExportSchema_Util',
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
exports.DyNTS_PrivacyExportSchema_Util = DyNTS_PrivacyExportSchema_Util;
|
|
180
|
+
//# sourceMappingURL=privacy-export-schema.util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"privacy-export-schema.util.js","sourceRoot":"","sources":["../../../src/_modules/privacy-lifecycle/privacy-export-schema.util.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@futdevpro/nts-dynamo",
|
|
3
|
-
"version": "01.15.
|
|
3
|
+
"version": "01.15.406",
|
|
4
4
|
"description": "Dynamic NodeTS (NodeJS-Typescript), MongoDB Backend System Framework by Future Development Program Ltd.",
|
|
5
5
|
"DyBu_settings": {
|
|
6
6
|
"packageType": "server-package",
|
|
@@ -482,7 +482,8 @@
|
|
|
482
482
|
"esbuild": "0.28.2",
|
|
483
483
|
"openai": "6.49.0",
|
|
484
484
|
"tslib": "~2.8.1",
|
|
485
|
-
"typescript": "5.9.3"
|
|
485
|
+
"typescript": "5.9.3",
|
|
486
|
+
"zod": "4.4.3"
|
|
486
487
|
},
|
|
487
488
|
"peerDependencies": {
|
|
488
489
|
"@anthropic-ai/sdk": "~0.39.0",
|
|
@@ -573,7 +574,6 @@
|
|
|
573
574
|
"socket.io": "~4.8.1",
|
|
574
575
|
"socket.io-client": "~4.8.1",
|
|
575
576
|
"typescript-eslint": "8.67.0",
|
|
576
|
-
"zod": "4.4.3",
|
|
577
577
|
"husky": "^9.1.7"
|
|
578
578
|
}
|
|
579
579
|
}
|