@fabricorg/platform 1.7.0 → 1.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.
Files changed (59) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/README.md +214 -3
  3. package/dist/actions/index.cjs +6 -6
  4. package/dist/actions/index.d.cts +9 -2
  5. package/dist/actions/index.d.ts +9 -2
  6. package/dist/actions/index.js +1 -1
  7. package/dist/adapters/index.cjs +33 -9
  8. package/dist/adapters/index.d.cts +388 -1
  9. package/dist/adapters/index.d.ts +388 -1
  10. package/dist/adapters/index.js +1 -1
  11. package/dist/chunk-5FOCPRTR.js +511 -0
  12. package/dist/chunk-5FOCPRTR.js.map +1 -0
  13. package/dist/{chunk-USDLP4E7.cjs → chunk-5IVFPWK6.cjs} +4 -4
  14. package/dist/{chunk-USDLP4E7.cjs.map → chunk-5IVFPWK6.cjs.map} +1 -1
  15. package/dist/chunk-6HY35TKB.cjs +491 -0
  16. package/dist/chunk-6HY35TKB.cjs.map +1 -0
  17. package/dist/chunk-6UGEIDLC.cjs +26 -0
  18. package/dist/chunk-6UGEIDLC.cjs.map +1 -0
  19. package/dist/chunk-BJGZE3GE.js +20 -0
  20. package/dist/chunk-BJGZE3GE.js.map +1 -0
  21. package/dist/{chunk-X3GHYMAJ.cjs → chunk-CRZXTZ36.cjs} +2 -22
  22. package/dist/chunk-CRZXTZ36.cjs.map +1 -0
  23. package/dist/{chunk-DCC3UIUJ.js → chunk-GFU7BGEJ.js} +3 -3
  24. package/dist/{chunk-DCC3UIUJ.js.map → chunk-GFU7BGEJ.js.map} +1 -1
  25. package/dist/chunk-HEYMMVDP.js +480 -0
  26. package/dist/chunk-HEYMMVDP.js.map +1 -0
  27. package/dist/chunk-IF6NJORI.cjs +526 -0
  28. package/dist/chunk-IF6NJORI.cjs.map +1 -0
  29. package/dist/{chunk-6QX4I45I.js → chunk-PIDZQAEL.js} +2 -2
  30. package/dist/{chunk-6QX4I45I.js.map → chunk-PIDZQAEL.js.map} +1 -1
  31. package/dist/{chunk-ATWWZTRC.js → chunk-TYNIFC7J.js} +3 -18
  32. package/dist/chunk-TYNIFC7J.js.map +1 -0
  33. package/dist/{chunk-XCAOO6KG.cjs → chunk-UGWGHTNC.cjs} +2 -2
  34. package/dist/{chunk-XCAOO6KG.cjs.map → chunk-UGWGHTNC.cjs.map} +1 -1
  35. package/dist/evidence/index.cjs +45 -1
  36. package/dist/evidence/index.d.cts +187 -1
  37. package/dist/evidence/index.d.ts +187 -1
  38. package/dist/evidence/index.js +3 -1
  39. package/dist/governance/index.d.cts +1 -0
  40. package/dist/governance/index.d.ts +1 -0
  41. package/dist/index.cjs +124 -59
  42. package/dist/index.d.cts +2 -2
  43. package/dist/index.d.ts +2 -2
  44. package/dist/index.js +7 -6
  45. package/dist/privacy/index.cjs +19 -18
  46. package/dist/privacy/index.js +2 -1
  47. package/dist/testing/index.cjs +5 -5
  48. package/dist/testing/index.js +2 -2
  49. package/package.json +1 -1
  50. package/dist/chunk-ATWWZTRC.js.map +0 -1
  51. package/dist/chunk-FAG2RTPM.js +0 -120
  52. package/dist/chunk-FAG2RTPM.js.map +0 -1
  53. package/dist/chunk-OZLZHISS.js +0 -3
  54. package/dist/chunk-OZLZHISS.js.map +0 -1
  55. package/dist/chunk-PG5LYTUX.cjs +0 -4
  56. package/dist/chunk-PG5LYTUX.cjs.map +0 -1
  57. package/dist/chunk-X3GHYMAJ.cjs.map +0 -1
  58. package/dist/chunk-XZQZQ5SW.cjs +0 -129
  59. package/dist/chunk-XZQZQ5SW.cjs.map +0 -1
package/dist/index.cjs CHANGED
@@ -1,13 +1,12 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkWI7CWNYI_cjs = require('./chunk-WI7CWNYI.cjs');
4
- var chunkUSDLP4E7_cjs = require('./chunk-USDLP4E7.cjs');
4
+ var chunk5IVFPWK6_cjs = require('./chunk-5IVFPWK6.cjs');
5
5
  var chunkTBS2S5AX_cjs = require('./chunk-TBS2S5AX.cjs');
6
- var chunkLZSE6QGQ_cjs = require('./chunk-LZSE6QGQ.cjs');
7
6
  var chunk45OKKLNY_cjs = require('./chunk-45OKKLNY.cjs');
8
- var chunkX3GHYMAJ_cjs = require('./chunk-X3GHYMAJ.cjs');
9
- var chunkXCAOO6KG_cjs = require('./chunk-XCAOO6KG.cjs');
10
- var chunkXZQZQ5SW_cjs = require('./chunk-XZQZQ5SW.cjs');
7
+ var chunk6UGEIDLC_cjs = require('./chunk-6UGEIDLC.cjs');
8
+ var chunkUGWGHTNC_cjs = require('./chunk-UGWGHTNC.cjs');
9
+ var chunkIF6NJORI_cjs = require('./chunk-IF6NJORI.cjs');
11
10
  var chunkF3E5SXPN_cjs = require('./chunk-F3E5SXPN.cjs');
12
11
  var chunkMCWSUGB3_cjs = require('./chunk-MCWSUGB3.cjs');
13
12
  var chunkWQ3BYI7T_cjs = require('./chunk-WQ3BYI7T.cjs');
@@ -16,7 +15,9 @@ var chunkIFW43ELT_cjs = require('./chunk-IFW43ELT.cjs');
16
15
  var chunkSNTV45LH_cjs = require('./chunk-SNTV45LH.cjs');
17
16
  var chunkD4SWRBUH_cjs = require('./chunk-D4SWRBUH.cjs');
18
17
  var chunk2AE6TMAX_cjs = require('./chunk-2AE6TMAX.cjs');
19
- require('./chunk-PG5LYTUX.cjs');
18
+ var chunk6HY35TKB_cjs = require('./chunk-6HY35TKB.cjs');
19
+ var chunkLZSE6QGQ_cjs = require('./chunk-LZSE6QGQ.cjs');
20
+ var chunkCRZXTZ36_cjs = require('./chunk-CRZXTZ36.cjs');
20
21
 
21
22
 
22
23
 
@@ -34,15 +35,15 @@ Object.defineProperty(exports, "validateStateMachineTransition", {
34
35
  });
35
36
  Object.defineProperty(exports, "createDeterministicIdFactory", {
36
37
  enumerable: true,
37
- get: function () { return chunkUSDLP4E7_cjs.createDeterministicIdFactory; }
38
+ get: function () { return chunk5IVFPWK6_cjs.createDeterministicIdFactory; }
38
39
  });
39
40
  Object.defineProperty(exports, "createFakeActionContext", {
40
41
  enumerable: true,
41
- get: function () { return chunkUSDLP4E7_cjs.createFakeActionContext; }
42
+ get: function () { return chunk5IVFPWK6_cjs.createFakeActionContext; }
42
43
  });
43
44
  Object.defineProperty(exports, "createInMemoryAdapterRegistry", {
44
45
  enumerable: true,
45
- get: function () { return chunkUSDLP4E7_cjs.createInMemoryAdapterRegistry; }
46
+ get: function () { return chunk5IVFPWK6_cjs.createInMemoryAdapterRegistry; }
46
47
  });
47
48
  Object.defineProperty(exports, "FABRIC_GOVERNANCE_CONTRACT_VERSION", {
48
49
  enumerable: true,
@@ -56,22 +57,6 @@ Object.defineProperty(exports, "assertMutationGovernanceContext", {
56
57
  enumerable: true,
57
58
  get: function () { return chunkTBS2S5AX_cjs.assertMutationGovernanceContext; }
58
59
  });
59
- Object.defineProperty(exports, "FABRIC_ID_PREFIXES", {
60
- enumerable: true,
61
- get: function () { return chunkLZSE6QGQ_cjs.FABRIC_ID_PREFIXES; }
62
- });
63
- Object.defineProperty(exports, "createFabricId", {
64
- enumerable: true,
65
- get: function () { return chunkLZSE6QGQ_cjs.createFabricId; }
66
- });
67
- Object.defineProperty(exports, "isFabricId", {
68
- enumerable: true,
69
- get: function () { return chunkLZSE6QGQ_cjs.isFabricId; }
70
- });
71
- Object.defineProperty(exports, "parseFabricId", {
72
- enumerable: true,
73
- get: function () { return chunkLZSE6QGQ_cjs.parseFabricId; }
74
- });
75
60
  Object.defineProperty(exports, "aggregatePolicyOutcomes", {
76
61
  enumerable: true,
77
62
  get: function () { return chunk45OKKLNY_cjs.aggregatePolicyOutcomes; }
@@ -104,93 +89,101 @@ Object.defineProperty(exports, "validatePolicyGuidance", {
104
89
  enumerable: true,
105
90
  get: function () { return chunk45OKKLNY_cjs.validatePolicyGuidance; }
106
91
  });
107
- Object.defineProperty(exports, "ANONYMIZATION_POLICY_VERSION", {
108
- enumerable: true,
109
- get: function () { return chunkX3GHYMAJ_cjs.ANONYMIZATION_POLICY_VERSION; }
110
- });
111
- Object.defineProperty(exports, "AnonymizationEngine", {
112
- enumerable: true,
113
- get: function () { return chunkX3GHYMAJ_cjs.AnonymizationEngine; }
114
- });
115
- Object.defineProperty(exports, "FieldRedactor", {
116
- enumerable: true,
117
- get: function () { return chunkX3GHYMAJ_cjs.FieldRedactor; }
118
- });
119
92
  Object.defineProperty(exports, "PLATFORM_PRIVACY_POLICY_VERSION", {
120
93
  enumerable: true,
121
- get: function () { return chunkX3GHYMAJ_cjs.PLATFORM_PRIVACY_POLICY_VERSION; }
94
+ get: function () { return chunk6UGEIDLC_cjs.PLATFORM_PRIVACY_POLICY_VERSION; }
122
95
  });
123
96
  Object.defineProperty(exports, "anonymizeAssetEventPayload", {
124
97
  enumerable: true,
125
- get: function () { return chunkX3GHYMAJ_cjs.anonymizeAssetEventPayload; }
98
+ get: function () { return chunk6UGEIDLC_cjs.anonymizeAssetEventPayload; }
126
99
  });
127
100
  Object.defineProperty(exports, "anonymizeEvidencePacket", {
128
101
  enumerable: true,
129
- get: function () { return chunkX3GHYMAJ_cjs.anonymizeEvidencePacket; }
102
+ get: function () { return chunk6UGEIDLC_cjs.anonymizeEvidencePacket; }
130
103
  });
131
104
  Object.defineProperty(exports, "anonymizeJsonValue", {
132
105
  enumerable: true,
133
- get: function () { return chunkX3GHYMAJ_cjs.anonymizeJsonValue; }
106
+ get: function () { return chunk6UGEIDLC_cjs.anonymizeJsonValue; }
134
107
  });
135
108
  Object.defineProperty(exports, "buildAnonymizationLifecycleEvidence", {
136
109
  enumerable: true,
137
- get: function () { return chunkX3GHYMAJ_cjs.buildAnonymizationLifecycleEvidence; }
138
- });
139
- Object.defineProperty(exports, "stableChecksum", {
140
- enumerable: true,
141
- get: function () { return chunkX3GHYMAJ_cjs.stableChecksum; }
110
+ get: function () { return chunk6UGEIDLC_cjs.buildAnonymizationLifecycleEvidence; }
142
111
  });
143
112
  Object.defineProperty(exports, "ACTOR_TYPES", {
144
113
  enumerable: true,
145
- get: function () { return chunkXCAOO6KG_cjs.ACTOR_TYPES; }
114
+ get: function () { return chunkUGWGHTNC_cjs.ACTOR_TYPES; }
146
115
  });
147
116
  Object.defineProperty(exports, "assertActionId", {
148
117
  enumerable: true,
149
- get: function () { return chunkXCAOO6KG_cjs.assertActionId; }
118
+ get: function () { return chunkUGWGHTNC_cjs.assertActionId; }
150
119
  });
151
120
  Object.defineProperty(exports, "assertActorType", {
152
121
  enumerable: true,
153
- get: function () { return chunkXCAOO6KG_cjs.assertActorType; }
122
+ get: function () { return chunkUGWGHTNC_cjs.assertActorType; }
154
123
  });
155
124
  Object.defineProperty(exports, "createActionRegistry", {
156
125
  enumerable: true,
157
- get: function () { return chunkXCAOO6KG_cjs.createActionRegistry; }
126
+ get: function () { return chunkUGWGHTNC_cjs.createActionRegistry; }
158
127
  });
159
128
  Object.defineProperty(exports, "isActorType", {
160
129
  enumerable: true,
161
- get: function () { return chunkXCAOO6KG_cjs.isActorType; }
130
+ get: function () { return chunkUGWGHTNC_cjs.isActorType; }
131
+ });
132
+ Object.defineProperty(exports, "AdapterCircuitBreakerRegistry", {
133
+ enumerable: true,
134
+ get: function () { return chunkIF6NJORI_cjs.AdapterCircuitBreakerRegistry; }
135
+ });
136
+ Object.defineProperty(exports, "AdapterCircuitOpenError", {
137
+ enumerable: true,
138
+ get: function () { return chunkIF6NJORI_cjs.AdapterCircuitOpenError; }
162
139
  });
163
140
  Object.defineProperty(exports, "AdapterRegistry", {
164
141
  enumerable: true,
165
- get: function () { return chunkXZQZQ5SW_cjs.AdapterRegistry; }
142
+ get: function () { return chunkIF6NJORI_cjs.AdapterRegistry; }
143
+ });
144
+ Object.defineProperty(exports, "InMemoryAdapterCircuitBreaker", {
145
+ enumerable: true,
146
+ get: function () { return chunkIF6NJORI_cjs.InMemoryAdapterCircuitBreaker; }
166
147
  });
167
148
  Object.defineProperty(exports, "MissingAdapterRegistrationError", {
168
149
  enumerable: true,
169
- get: function () { return chunkXZQZQ5SW_cjs.MissingAdapterRegistrationError; }
150
+ get: function () { return chunkIF6NJORI_cjs.MissingAdapterRegistrationError; }
151
+ });
152
+ Object.defineProperty(exports, "assertAdapterCircuitBreakerConfig", {
153
+ enumerable: true,
154
+ get: function () { return chunkIF6NJORI_cjs.assertAdapterCircuitBreakerConfig; }
170
155
  });
171
156
  Object.defineProperty(exports, "assertAdapterOutcomeConsistency", {
172
157
  enumerable: true,
173
- get: function () { return chunkXZQZQ5SW_cjs.assertAdapterOutcomeConsistency; }
158
+ get: function () { return chunkIF6NJORI_cjs.assertAdapterOutcomeConsistency; }
174
159
  });
175
160
  Object.defineProperty(exports, "classifyAdapterOutcome", {
176
161
  enumerable: true,
177
- get: function () { return chunkXZQZQ5SW_cjs.classifyAdapterOutcome; }
162
+ get: function () { return chunkIF6NJORI_cjs.classifyAdapterOutcome; }
163
+ });
164
+ Object.defineProperty(exports, "classifyCircuitBreakerOutcome", {
165
+ enumerable: true,
166
+ get: function () { return chunkIF6NJORI_cjs.classifyCircuitBreakerOutcome; }
178
167
  });
179
168
  Object.defineProperty(exports, "executeWithAdapterRetry", {
180
169
  enumerable: true,
181
- get: function () { return chunkXZQZQ5SW_cjs.executeWithAdapterRetry; }
170
+ get: function () { return chunkIF6NJORI_cjs.executeWithAdapterRetry; }
182
171
  });
183
172
  Object.defineProperty(exports, "getRetryDelayMs", {
184
173
  enumerable: true,
185
- get: function () { return chunkXZQZQ5SW_cjs.getRetryDelayMs; }
174
+ get: function () { return chunkIF6NJORI_cjs.getRetryDelayMs; }
175
+ });
176
+ Object.defineProperty(exports, "isAdapterCircuitOpenError", {
177
+ enumerable: true,
178
+ get: function () { return chunkIF6NJORI_cjs.isAdapterCircuitOpenError; }
186
179
  });
187
180
  Object.defineProperty(exports, "resolveAdapterRetryPolicy", {
188
181
  enumerable: true,
189
- get: function () { return chunkXZQZQ5SW_cjs.resolveAdapterRetryPolicy; }
182
+ get: function () { return chunkIF6NJORI_cjs.resolveAdapterRetryPolicy; }
190
183
  });
191
184
  Object.defineProperty(exports, "shouldRetryAdapterOutcome", {
192
185
  enumerable: true,
193
- get: function () { return chunkXZQZQ5SW_cjs.shouldRetryAdapterOutcome; }
186
+ get: function () { return chunkIF6NJORI_cjs.shouldRetryAdapterOutcome; }
194
187
  });
195
188
  Object.defineProperty(exports, "AgentActionPolicyRegistry", {
196
189
  enumerable: true,
@@ -304,5 +297,77 @@ Object.defineProperty(exports, "createEventContractRegistry", {
304
297
  enumerable: true,
305
298
  get: function () { return chunk2AE6TMAX_cjs.createEventContractRegistry; }
306
299
  });
300
+ Object.defineProperty(exports, "DEFAULT_EVIDENCE_PACKET_TYPE", {
301
+ enumerable: true,
302
+ get: function () { return chunk6HY35TKB_cjs.DEFAULT_EVIDENCE_PACKET_TYPE; }
303
+ });
304
+ Object.defineProperty(exports, "DEFAULT_EVIDENCE_REDACTION_REASON", {
305
+ enumerable: true,
306
+ get: function () { return chunk6HY35TKB_cjs.DEFAULT_EVIDENCE_REDACTION_REASON; }
307
+ });
308
+ Object.defineProperty(exports, "EVIDENCE_PACKET_CHECKSUM_ALGORITHM", {
309
+ enumerable: true,
310
+ get: function () { return chunk6HY35TKB_cjs.EVIDENCE_PACKET_CHECKSUM_ALGORITHM; }
311
+ });
312
+ Object.defineProperty(exports, "EVIDENCE_PACKET_SCHEMA_VERSION", {
313
+ enumerable: true,
314
+ get: function () { return chunk6HY35TKB_cjs.EVIDENCE_PACKET_SCHEMA_VERSION; }
315
+ });
316
+ Object.defineProperty(exports, "EvidencePacketGenerationError", {
317
+ enumerable: true,
318
+ get: function () { return chunk6HY35TKB_cjs.EvidencePacketGenerationError; }
319
+ });
320
+ Object.defineProperty(exports, "canonicalJson", {
321
+ enumerable: true,
322
+ get: function () { return chunk6HY35TKB_cjs.canonicalJson; }
323
+ });
324
+ Object.defineProperty(exports, "computeEvidencePacketChecksum", {
325
+ enumerable: true,
326
+ get: function () { return chunk6HY35TKB_cjs.computeEvidencePacketChecksum; }
327
+ });
328
+ Object.defineProperty(exports, "createEvidencePacketRenderer", {
329
+ enumerable: true,
330
+ get: function () { return chunk6HY35TKB_cjs.createEvidencePacketRenderer; }
331
+ });
332
+ Object.defineProperty(exports, "generateEvidencePacket", {
333
+ enumerable: true,
334
+ get: function () { return chunk6HY35TKB_cjs.generateEvidencePacket; }
335
+ });
336
+ Object.defineProperty(exports, "verifyEvidencePacketChecksum", {
337
+ enumerable: true,
338
+ get: function () { return chunk6HY35TKB_cjs.verifyEvidencePacketChecksum; }
339
+ });
340
+ Object.defineProperty(exports, "FABRIC_ID_PREFIXES", {
341
+ enumerable: true,
342
+ get: function () { return chunkLZSE6QGQ_cjs.FABRIC_ID_PREFIXES; }
343
+ });
344
+ Object.defineProperty(exports, "createFabricId", {
345
+ enumerable: true,
346
+ get: function () { return chunkLZSE6QGQ_cjs.createFabricId; }
347
+ });
348
+ Object.defineProperty(exports, "isFabricId", {
349
+ enumerable: true,
350
+ get: function () { return chunkLZSE6QGQ_cjs.isFabricId; }
351
+ });
352
+ Object.defineProperty(exports, "parseFabricId", {
353
+ enumerable: true,
354
+ get: function () { return chunkLZSE6QGQ_cjs.parseFabricId; }
355
+ });
356
+ Object.defineProperty(exports, "ANONYMIZATION_POLICY_VERSION", {
357
+ enumerable: true,
358
+ get: function () { return chunkCRZXTZ36_cjs.ANONYMIZATION_POLICY_VERSION; }
359
+ });
360
+ Object.defineProperty(exports, "AnonymizationEngine", {
361
+ enumerable: true,
362
+ get: function () { return chunkCRZXTZ36_cjs.AnonymizationEngine; }
363
+ });
364
+ Object.defineProperty(exports, "FieldRedactor", {
365
+ enumerable: true,
366
+ get: function () { return chunkCRZXTZ36_cjs.FieldRedactor; }
367
+ });
368
+ Object.defineProperty(exports, "stableChecksum", {
369
+ enumerable: true,
370
+ get: function () { return chunkCRZXTZ36_cjs.stableChecksum; }
371
+ });
307
372
  //# sourceMappingURL=index.cjs.map
308
373
  //# sourceMappingURL=index.cjs.map
package/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { ACTOR_TYPES, ActionAdmission, ActionAdmissionDecision, ActionAdmissionInput, ActionAdmissionSignal, ActionCompletionMode, ActionConnectivity, ActionConsistency, ActionContext, ActionDataSensitivity, ActionDefinition, ActionExecutionContract, ActionHandler, ActionId, ActionIdempotencyStance, ActionRegistry, ActionResult, ActionStateMachineBinding, ActionStatus, ActorType, AdapterStep, AdapterStepRetryPolicy, AuthorityMoment, FabricRuntimeServices, SagaChildActionInput, SagaCompletion, SagaCompletionEvent, SagaContext, SagaImplementation, SagaRunChild, SchemaParseIssue, SchemaParseResult, SchemaValidator, assertActionId, assertActorType, createActionRegistry, isActorType } from './actions/index.cjs';
2
- export { AcceptedExternalOperation, AdapterAttempt, AdapterCircuitBreakerConfig, AdapterExecutionContext, AdapterExecutionResult, AdapterExecutor, AdapterImplementation, AdapterOutcomeEvidence, AdapterOutcomeKind, AdapterRegistry, AdapterRetryPolicy, ExecuteWithRetryOptions, MissingAdapterRegistrationError, ResolvedAdapterRetryPolicy, assertAdapterOutcomeConsistency, classifyAdapterOutcome, executeWithAdapterRetry, getRetryDelayMs, resolveAdapterRetryPolicy, shouldRetryAdapterOutcome } from './adapters/index.cjs';
2
+ export { AcceptedExternalOperation, AdapterAttempt, AdapterCircuitAdmission, AdapterCircuitBreaker, AdapterCircuitBreakerConfig, AdapterCircuitBreakerEvent, AdapterCircuitBreakerEventListener, AdapterCircuitBreakerEventReason, AdapterCircuitBreakerManualOverride, AdapterCircuitBreakerProvider, AdapterCircuitBreakerRegistry, AdapterCircuitBreakerRegistryOptions, AdapterCircuitOpenError, AdapterCircuitOutcome, AdapterCircuitState, AdapterExecutionContext, AdapterExecutionResult, AdapterExecutor, AdapterImplementation, AdapterOutcomeEvidence, AdapterOutcomeKind, AdapterRegistry, AdapterRetryPolicy, ExecuteWithRetryOptions, InMemoryAdapterCircuitBreaker, InMemoryAdapterCircuitBreakerOptions, MissingAdapterRegistrationError, ResolvedAdapterRetryPolicy, assertAdapterCircuitBreakerConfig, assertAdapterOutcomeConsistency, classifyAdapterOutcome, classifyCircuitBreakerOutcome, executeWithAdapterRetry, getRetryDelayMs, isAdapterCircuitOpenError, resolveAdapterRetryPolicy, shouldRetryAdapterOutcome } from './adapters/index.cjs';
3
3
  export { AssetEventActorType, AssetEventEnvelope, AssetEventSubjectType, AssetEventType, EventContractRegistry, EventProvenance, createEventContractRegistry } from './events/index.cjs';
4
4
  export { FABRIC_ID_PREFIXES, FabricIdPrefix, createFabricId, isFabricId, parseFabricId } from './ids/index.cjs';
5
5
  export { JsonSchemaExportableValidator, MODULE_MANIFEST_VERSION, ModuleManifest, ModuleManifestAction, ModuleManifestActionStateMachine, ModuleManifestActionV1, ModuleManifestAdapterStep, ModuleManifestBundle, ModuleManifestBundleV1, ModuleManifestCodePolicy, ModuleManifestDataPolicy, ModuleManifestEventType, ModuleManifestIdPrefix, ModuleManifestObjectType, ModuleManifestObjectTypeV1, ModuleManifestPolicy, ModuleManifestStateMachine, ModuleManifestStateMachineTransition, ModuleManifestV1, ModuleManifestView, exportModuleManifest, exportModuleManifestBundle, isJsonSchemaExportableValidator, normalizeModuleManifest, normalizeModuleManifestBundle } from './manifest/index.cjs';
@@ -9,7 +9,7 @@ export { DataPolicyComparisonOperator, DataPolicyCondition, DataPolicyConditionR
9
9
  export { StateClass, StateDefinition, StateMachineDatabaseClient, StateMachineDefinition, StateMachineRegistry, TransitionContext, createStateMachineRegistry, evaluateStateMachineTransition, validateStateMachineTransition } from './state-machines/index.cjs';
10
10
  export { ReplayEventsOptions, ReplayEventsResult, ReplayScope, ReplaySnapshot, ReplayViewOptions, ReplayWarning, ReplayWarningCode, ReplayableAssetEvent, ViewContract, ViewEventConsumption, ViewRegistry, ViewUsageMetadata, createViewRegistry, replayEvents, replayView, viewContractKey } from './projections/index.cjs';
11
11
  export { ANONYMIZATION_POLICY_VERSION, AnalyticsDataContract, AnalyticsDataContractSource, AnalyticsEligibilityDecision, AnonymizationContext, AnonymizationEngine, AnonymizationFieldMetadata, AnonymizationFieldPolicy, AnonymizationLifecycleEvidence, AnonymizationMetadata, AnonymizationPolicy, AnonymizationResult, AssetEventLike, DataClassificationRule, EvidencePacketLike, FieldRedactor, PLATFORM_PRIVACY_POLICY_VERSION, PlatformDataClass, RedactionMethod, RedactionRule, RetentionRule, anonymizeAssetEventPayload, anonymizeEvidencePacket, anonymizeJsonValue, buildAnonymizationLifecycleEvidence, stableChecksum } from './privacy/index.cjs';
12
- export { EvidenceGenerationContext, EvidencePacketEnvelope, EvidencePacketReference, EvidencePacketStatus, EvidencePacketSubject, EvidenceRenderer } from './evidence/index.cjs';
12
+ export { DEFAULT_EVIDENCE_PACKET_TYPE, DEFAULT_EVIDENCE_REDACTION_REASON, EVIDENCE_PACKET_CHECKSUM_ALGORITHM, EVIDENCE_PACKET_SCHEMA_VERSION, EvidenceEventQuery, EvidenceEventRecord, EvidenceGenerationContext, EvidenceInvocationRecord, EvidenceJsonRecord, EvidencePacketEnvelope, EvidencePacketGenerationError, EvidencePacketGenerationErrorCode, EvidencePacketPayload, EvidencePacketReadPort, EvidencePacketReference, EvidencePacketRendererInput, EvidencePacketRendererOptions, EvidencePacketStatus, EvidencePacketSubject, EvidenceRecord, EvidenceRenderer, EvidenceScope, EvidenceTimestamp, GenerateEvidencePacketInput, GenerateEvidencePacketOptions, canonicalJson, computeEvidencePacketChecksum, createEvidencePacketRenderer, generateEvidencePacket, verifyEvidencePacketChecksum } from './evidence/index.cjs';
13
13
  export { ExecutionAttestation, ExecutionPrincipal, ExternalReconciliation, ExternalResourceOperation, ExternalResourceRef, FABRIC_GOVERNANCE_CONTRACT_VERSION, GovernanceRuntimeEvidence, MutationFootprint, MutationFootprintEntry, MutationGovernanceContext, MutationGovernanceResolutionInput, MutationGovernanceResolver, PolicyObligation, PolicyObligationStatus, ReconciliationStatus, assertGovernanceRuntimeEvidence, assertMutationGovernanceContext } from './governance/index.cjs';
14
14
  export { AgentActionPolicyContext, AgentActionPolicyDecision, AgentActionPolicyDefinition, AgentActionPolicyEvaluator, AgentActionPolicyRegistry, AgentActionRiskTier, AgentActionRoute } from './agent-hitl/index.cjs';
15
15
  export { FakeActionContextOptions, createDeterministicIdFactory, createFakeActionContext, createInMemoryAdapterRegistry } from './testing/index.cjs';
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { ACTOR_TYPES, ActionAdmission, ActionAdmissionDecision, ActionAdmissionInput, ActionAdmissionSignal, ActionCompletionMode, ActionConnectivity, ActionConsistency, ActionContext, ActionDataSensitivity, ActionDefinition, ActionExecutionContract, ActionHandler, ActionId, ActionIdempotencyStance, ActionRegistry, ActionResult, ActionStateMachineBinding, ActionStatus, ActorType, AdapterStep, AdapterStepRetryPolicy, AuthorityMoment, FabricRuntimeServices, SagaChildActionInput, SagaCompletion, SagaCompletionEvent, SagaContext, SagaImplementation, SagaRunChild, SchemaParseIssue, SchemaParseResult, SchemaValidator, assertActionId, assertActorType, createActionRegistry, isActorType } from './actions/index.js';
2
- export { AcceptedExternalOperation, AdapterAttempt, AdapterCircuitBreakerConfig, AdapterExecutionContext, AdapterExecutionResult, AdapterExecutor, AdapterImplementation, AdapterOutcomeEvidence, AdapterOutcomeKind, AdapterRegistry, AdapterRetryPolicy, ExecuteWithRetryOptions, MissingAdapterRegistrationError, ResolvedAdapterRetryPolicy, assertAdapterOutcomeConsistency, classifyAdapterOutcome, executeWithAdapterRetry, getRetryDelayMs, resolveAdapterRetryPolicy, shouldRetryAdapterOutcome } from './adapters/index.js';
2
+ export { AcceptedExternalOperation, AdapterAttempt, AdapterCircuitAdmission, AdapterCircuitBreaker, AdapterCircuitBreakerConfig, AdapterCircuitBreakerEvent, AdapterCircuitBreakerEventListener, AdapterCircuitBreakerEventReason, AdapterCircuitBreakerManualOverride, AdapterCircuitBreakerProvider, AdapterCircuitBreakerRegistry, AdapterCircuitBreakerRegistryOptions, AdapterCircuitOpenError, AdapterCircuitOutcome, AdapterCircuitState, AdapterExecutionContext, AdapterExecutionResult, AdapterExecutor, AdapterImplementation, AdapterOutcomeEvidence, AdapterOutcomeKind, AdapterRegistry, AdapterRetryPolicy, ExecuteWithRetryOptions, InMemoryAdapterCircuitBreaker, InMemoryAdapterCircuitBreakerOptions, MissingAdapterRegistrationError, ResolvedAdapterRetryPolicy, assertAdapterCircuitBreakerConfig, assertAdapterOutcomeConsistency, classifyAdapterOutcome, classifyCircuitBreakerOutcome, executeWithAdapterRetry, getRetryDelayMs, isAdapterCircuitOpenError, resolveAdapterRetryPolicy, shouldRetryAdapterOutcome } from './adapters/index.js';
3
3
  export { AssetEventActorType, AssetEventEnvelope, AssetEventSubjectType, AssetEventType, EventContractRegistry, EventProvenance, createEventContractRegistry } from './events/index.js';
4
4
  export { FABRIC_ID_PREFIXES, FabricIdPrefix, createFabricId, isFabricId, parseFabricId } from './ids/index.js';
5
5
  export { JsonSchemaExportableValidator, MODULE_MANIFEST_VERSION, ModuleManifest, ModuleManifestAction, ModuleManifestActionStateMachine, ModuleManifestActionV1, ModuleManifestAdapterStep, ModuleManifestBundle, ModuleManifestBundleV1, ModuleManifestCodePolicy, ModuleManifestDataPolicy, ModuleManifestEventType, ModuleManifestIdPrefix, ModuleManifestObjectType, ModuleManifestObjectTypeV1, ModuleManifestPolicy, ModuleManifestStateMachine, ModuleManifestStateMachineTransition, ModuleManifestV1, ModuleManifestView, exportModuleManifest, exportModuleManifestBundle, isJsonSchemaExportableValidator, normalizeModuleManifest, normalizeModuleManifestBundle } from './manifest/index.js';
@@ -9,7 +9,7 @@ export { DataPolicyComparisonOperator, DataPolicyCondition, DataPolicyConditionR
9
9
  export { StateClass, StateDefinition, StateMachineDatabaseClient, StateMachineDefinition, StateMachineRegistry, TransitionContext, createStateMachineRegistry, evaluateStateMachineTransition, validateStateMachineTransition } from './state-machines/index.js';
10
10
  export { ReplayEventsOptions, ReplayEventsResult, ReplayScope, ReplaySnapshot, ReplayViewOptions, ReplayWarning, ReplayWarningCode, ReplayableAssetEvent, ViewContract, ViewEventConsumption, ViewRegistry, ViewUsageMetadata, createViewRegistry, replayEvents, replayView, viewContractKey } from './projections/index.js';
11
11
  export { ANONYMIZATION_POLICY_VERSION, AnalyticsDataContract, AnalyticsDataContractSource, AnalyticsEligibilityDecision, AnonymizationContext, AnonymizationEngine, AnonymizationFieldMetadata, AnonymizationFieldPolicy, AnonymizationLifecycleEvidence, AnonymizationMetadata, AnonymizationPolicy, AnonymizationResult, AssetEventLike, DataClassificationRule, EvidencePacketLike, FieldRedactor, PLATFORM_PRIVACY_POLICY_VERSION, PlatformDataClass, RedactionMethod, RedactionRule, RetentionRule, anonymizeAssetEventPayload, anonymizeEvidencePacket, anonymizeJsonValue, buildAnonymizationLifecycleEvidence, stableChecksum } from './privacy/index.js';
12
- export { EvidenceGenerationContext, EvidencePacketEnvelope, EvidencePacketReference, EvidencePacketStatus, EvidencePacketSubject, EvidenceRenderer } from './evidence/index.js';
12
+ export { DEFAULT_EVIDENCE_PACKET_TYPE, DEFAULT_EVIDENCE_REDACTION_REASON, EVIDENCE_PACKET_CHECKSUM_ALGORITHM, EVIDENCE_PACKET_SCHEMA_VERSION, EvidenceEventQuery, EvidenceEventRecord, EvidenceGenerationContext, EvidenceInvocationRecord, EvidenceJsonRecord, EvidencePacketEnvelope, EvidencePacketGenerationError, EvidencePacketGenerationErrorCode, EvidencePacketPayload, EvidencePacketReadPort, EvidencePacketReference, EvidencePacketRendererInput, EvidencePacketRendererOptions, EvidencePacketStatus, EvidencePacketSubject, EvidenceRecord, EvidenceRenderer, EvidenceScope, EvidenceTimestamp, GenerateEvidencePacketInput, GenerateEvidencePacketOptions, canonicalJson, computeEvidencePacketChecksum, createEvidencePacketRenderer, generateEvidencePacket, verifyEvidencePacketChecksum } from './evidence/index.js';
13
13
  export { ExecutionAttestation, ExecutionPrincipal, ExternalReconciliation, ExternalResourceOperation, ExternalResourceRef, FABRIC_GOVERNANCE_CONTRACT_VERSION, GovernanceRuntimeEvidence, MutationFootprint, MutationFootprintEntry, MutationGovernanceContext, MutationGovernanceResolutionInput, MutationGovernanceResolver, PolicyObligation, PolicyObligationStatus, ReconciliationStatus, assertGovernanceRuntimeEvidence, assertMutationGovernanceContext } from './governance/index.js';
14
14
  export { AgentActionPolicyContext, AgentActionPolicyDecision, AgentActionPolicyDefinition, AgentActionPolicyEvaluator, AgentActionPolicyRegistry, AgentActionRiskTier, AgentActionRoute } from './agent-hitl/index.js';
15
15
  export { FakeActionContextOptions, createDeterministicIdFactory, createFakeActionContext, createInMemoryAdapterRegistry } from './testing/index.js';
package/dist/index.js CHANGED
@@ -1,11 +1,10 @@
1
1
  export { createStateMachineRegistry, evaluateStateMachineTransition, validateStateMachineTransition } from './chunk-7GAWSUOG.js';
2
- export { createDeterministicIdFactory, createFakeActionContext, createInMemoryAdapterRegistry } from './chunk-DCC3UIUJ.js';
2
+ export { createDeterministicIdFactory, createFakeActionContext, createInMemoryAdapterRegistry } from './chunk-GFU7BGEJ.js';
3
3
  export { FABRIC_GOVERNANCE_CONTRACT_VERSION, assertGovernanceRuntimeEvidence, assertMutationGovernanceContext } from './chunk-Y2PJLRIY.js';
4
- export { FABRIC_ID_PREFIXES, createFabricId, isFabricId, parseFabricId } from './chunk-RALMUSOX.js';
5
4
  export { aggregatePolicyOutcomes, assertPolicyId, createPolicyRegistry, evaluatePolicyDefinition, evaluatePolicyDefinitions, evaluateRegisteredPolicies, validateDataPolicyDefinition, validatePolicyGuidance } from './chunk-GU3LZWJD.js';
6
- export { ANONYMIZATION_POLICY_VERSION, AnonymizationEngine, FieldRedactor, PLATFORM_PRIVACY_POLICY_VERSION, anonymizeAssetEventPayload, anonymizeEvidencePacket, anonymizeJsonValue, buildAnonymizationLifecycleEvidence, stableChecksum } from './chunk-ATWWZTRC.js';
7
- export { ACTOR_TYPES, assertActionId, assertActorType, createActionRegistry, isActorType } from './chunk-6QX4I45I.js';
8
- export { AdapterRegistry, MissingAdapterRegistrationError, assertAdapterOutcomeConsistency, classifyAdapterOutcome, executeWithAdapterRetry, getRetryDelayMs, resolveAdapterRetryPolicy, shouldRetryAdapterOutcome } from './chunk-FAG2RTPM.js';
5
+ export { PLATFORM_PRIVACY_POLICY_VERSION, anonymizeAssetEventPayload, anonymizeEvidencePacket, anonymizeJsonValue, buildAnonymizationLifecycleEvidence } from './chunk-BJGZE3GE.js';
6
+ export { ACTOR_TYPES, assertActionId, assertActorType, createActionRegistry, isActorType } from './chunk-PIDZQAEL.js';
7
+ export { AdapterCircuitBreakerRegistry, AdapterCircuitOpenError, AdapterRegistry, InMemoryAdapterCircuitBreaker, MissingAdapterRegistrationError, assertAdapterCircuitBreakerConfig, assertAdapterOutcomeConsistency, classifyAdapterOutcome, classifyCircuitBreakerOutcome, executeWithAdapterRetry, getRetryDelayMs, isAdapterCircuitOpenError, resolveAdapterRetryPolicy, shouldRetryAdapterOutcome } from './chunk-5FOCPRTR.js';
9
8
  export { AgentActionPolicyRegistry } from './chunk-OFCCZ27Z.js';
10
9
  export { STRICT_EXECUTION_CONTRACT_PROFILE, STRICT_EXECUTION_CONTRACT_PROFILE_ID, executionContractProfile } from './chunk-EMSAFNPX.js';
11
10
  export { MODULE_MANIFEST_VERSION, exportModuleManifest, exportModuleManifestBundle, isJsonSchemaExportableValidator, normalizeModuleManifest, normalizeModuleManifestBundle } from './chunk-PDN5DOLQ.js';
@@ -14,6 +13,8 @@ export { assertObjectType, assertPortableJsonSchema, createObjectTypeRegistry, v
14
13
  export { createViewRegistry, replayEvents, replayView, viewContractKey } from './chunk-MLBALEUR.js';
15
14
  export { assertSurfaceDeclaration } from './chunk-LFE74IJX.js';
16
15
  export { createEventContractRegistry } from './chunk-B5DOGDPG.js';
17
- import './chunk-OZLZHISS.js';
16
+ export { DEFAULT_EVIDENCE_PACKET_TYPE, DEFAULT_EVIDENCE_REDACTION_REASON, EVIDENCE_PACKET_CHECKSUM_ALGORITHM, EVIDENCE_PACKET_SCHEMA_VERSION, EvidencePacketGenerationError, canonicalJson, computeEvidencePacketChecksum, createEvidencePacketRenderer, generateEvidencePacket, verifyEvidencePacketChecksum } from './chunk-HEYMMVDP.js';
17
+ export { FABRIC_ID_PREFIXES, createFabricId, isFabricId, parseFabricId } from './chunk-RALMUSOX.js';
18
+ export { ANONYMIZATION_POLICY_VERSION, AnonymizationEngine, FieldRedactor, stableChecksum } from './chunk-TYNIFC7J.js';
18
19
  //# sourceMappingURL=index.js.map
19
20
  //# sourceMappingURL=index.js.map
@@ -1,44 +1,45 @@
1
1
  'use strict';
2
2
 
3
- var chunkX3GHYMAJ_cjs = require('../chunk-X3GHYMAJ.cjs');
3
+ var chunk6UGEIDLC_cjs = require('../chunk-6UGEIDLC.cjs');
4
+ var chunkCRZXTZ36_cjs = require('../chunk-CRZXTZ36.cjs');
4
5
 
5
6
 
6
7
 
7
- Object.defineProperty(exports, "ANONYMIZATION_POLICY_VERSION", {
8
+ Object.defineProperty(exports, "PLATFORM_PRIVACY_POLICY_VERSION", {
8
9
  enumerable: true,
9
- get: function () { return chunkX3GHYMAJ_cjs.ANONYMIZATION_POLICY_VERSION; }
10
+ get: function () { return chunk6UGEIDLC_cjs.PLATFORM_PRIVACY_POLICY_VERSION; }
10
11
  });
11
- Object.defineProperty(exports, "AnonymizationEngine", {
12
+ Object.defineProperty(exports, "anonymizeAssetEventPayload", {
12
13
  enumerable: true,
13
- get: function () { return chunkX3GHYMAJ_cjs.AnonymizationEngine; }
14
+ get: function () { return chunk6UGEIDLC_cjs.anonymizeAssetEventPayload; }
14
15
  });
15
- Object.defineProperty(exports, "FieldRedactor", {
16
+ Object.defineProperty(exports, "anonymizeEvidencePacket", {
16
17
  enumerable: true,
17
- get: function () { return chunkX3GHYMAJ_cjs.FieldRedactor; }
18
+ get: function () { return chunk6UGEIDLC_cjs.anonymizeEvidencePacket; }
18
19
  });
19
- Object.defineProperty(exports, "PLATFORM_PRIVACY_POLICY_VERSION", {
20
+ Object.defineProperty(exports, "anonymizeJsonValue", {
20
21
  enumerable: true,
21
- get: function () { return chunkX3GHYMAJ_cjs.PLATFORM_PRIVACY_POLICY_VERSION; }
22
+ get: function () { return chunk6UGEIDLC_cjs.anonymizeJsonValue; }
22
23
  });
23
- Object.defineProperty(exports, "anonymizeAssetEventPayload", {
24
+ Object.defineProperty(exports, "buildAnonymizationLifecycleEvidence", {
24
25
  enumerable: true,
25
- get: function () { return chunkX3GHYMAJ_cjs.anonymizeAssetEventPayload; }
26
+ get: function () { return chunk6UGEIDLC_cjs.buildAnonymizationLifecycleEvidence; }
26
27
  });
27
- Object.defineProperty(exports, "anonymizeEvidencePacket", {
28
+ Object.defineProperty(exports, "ANONYMIZATION_POLICY_VERSION", {
28
29
  enumerable: true,
29
- get: function () { return chunkX3GHYMAJ_cjs.anonymizeEvidencePacket; }
30
+ get: function () { return chunkCRZXTZ36_cjs.ANONYMIZATION_POLICY_VERSION; }
30
31
  });
31
- Object.defineProperty(exports, "anonymizeJsonValue", {
32
+ Object.defineProperty(exports, "AnonymizationEngine", {
32
33
  enumerable: true,
33
- get: function () { return chunkX3GHYMAJ_cjs.anonymizeJsonValue; }
34
+ get: function () { return chunkCRZXTZ36_cjs.AnonymizationEngine; }
34
35
  });
35
- Object.defineProperty(exports, "buildAnonymizationLifecycleEvidence", {
36
+ Object.defineProperty(exports, "FieldRedactor", {
36
37
  enumerable: true,
37
- get: function () { return chunkX3GHYMAJ_cjs.buildAnonymizationLifecycleEvidence; }
38
+ get: function () { return chunkCRZXTZ36_cjs.FieldRedactor; }
38
39
  });
39
40
  Object.defineProperty(exports, "stableChecksum", {
40
41
  enumerable: true,
41
- get: function () { return chunkX3GHYMAJ_cjs.stableChecksum; }
42
+ get: function () { return chunkCRZXTZ36_cjs.stableChecksum; }
42
43
  });
43
44
  //# sourceMappingURL=index.cjs.map
44
45
  //# sourceMappingURL=index.cjs.map
@@ -1,3 +1,4 @@
1
- export { ANONYMIZATION_POLICY_VERSION, AnonymizationEngine, FieldRedactor, PLATFORM_PRIVACY_POLICY_VERSION, anonymizeAssetEventPayload, anonymizeEvidencePacket, anonymizeJsonValue, buildAnonymizationLifecycleEvidence, stableChecksum } from '../chunk-ATWWZTRC.js';
1
+ export { PLATFORM_PRIVACY_POLICY_VERSION, anonymizeAssetEventPayload, anonymizeEvidencePacket, anonymizeJsonValue, buildAnonymizationLifecycleEvidence } from '../chunk-BJGZE3GE.js';
2
+ export { ANONYMIZATION_POLICY_VERSION, AnonymizationEngine, FieldRedactor, stableChecksum } from '../chunk-TYNIFC7J.js';
2
3
  //# sourceMappingURL=index.js.map
3
4
  //# sourceMappingURL=index.js.map
@@ -1,21 +1,21 @@
1
1
  'use strict';
2
2
 
3
- var chunkUSDLP4E7_cjs = require('../chunk-USDLP4E7.cjs');
4
- require('../chunk-XZQZQ5SW.cjs');
3
+ var chunk5IVFPWK6_cjs = require('../chunk-5IVFPWK6.cjs');
4
+ require('../chunk-IF6NJORI.cjs');
5
5
 
6
6
 
7
7
 
8
8
  Object.defineProperty(exports, "createDeterministicIdFactory", {
9
9
  enumerable: true,
10
- get: function () { return chunkUSDLP4E7_cjs.createDeterministicIdFactory; }
10
+ get: function () { return chunk5IVFPWK6_cjs.createDeterministicIdFactory; }
11
11
  });
12
12
  Object.defineProperty(exports, "createFakeActionContext", {
13
13
  enumerable: true,
14
- get: function () { return chunkUSDLP4E7_cjs.createFakeActionContext; }
14
+ get: function () { return chunk5IVFPWK6_cjs.createFakeActionContext; }
15
15
  });
16
16
  Object.defineProperty(exports, "createInMemoryAdapterRegistry", {
17
17
  enumerable: true,
18
- get: function () { return chunkUSDLP4E7_cjs.createInMemoryAdapterRegistry; }
18
+ get: function () { return chunk5IVFPWK6_cjs.createInMemoryAdapterRegistry; }
19
19
  });
20
20
  //# sourceMappingURL=index.cjs.map
21
21
  //# sourceMappingURL=index.cjs.map
@@ -1,4 +1,4 @@
1
- export { createDeterministicIdFactory, createFakeActionContext, createInMemoryAdapterRegistry } from '../chunk-DCC3UIUJ.js';
2
- import '../chunk-FAG2RTPM.js';
1
+ export { createDeterministicIdFactory, createFakeActionContext, createInMemoryAdapterRegistry } from '../chunk-GFU7BGEJ.js';
2
+ import '../chunk-5FOCPRTR.js';
3
3
  //# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fabricorg/platform",
3
- "version": "1.7.0",
3
+ "version": "1.8.0",
4
4
  "description": "Generic, vertical-agnostic runtime for ontology-based business applications. Provides actions, modules, events, policies, state machines, adapters, displays, projections, privacy, and evidence contracts. Zero runtime dependencies; portable across any database client and any vertical (lending, insurance, healthcare, legal, etc.).",
5
5
  "keywords": [
6
6
  "fabric",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../privacy/engine.ts","../privacy/index.ts"],"names":[],"mappings":"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","file":"chunk-ATWWZTRC.js","sourcesContent":["import { createHash } from \"node:crypto\";\n\nimport type {\n\tAnonymizationContext,\n\tAnonymizationFieldMetadata,\n\tAnonymizationMetadata,\n\tAnonymizationResult,\n\tPlatformDataClass,\n\tRedactionMethod,\n} from \"./index\";\n\nexport const ANONYMIZATION_POLICY_VERSION = \"adr-026-platform-anonymization-v1\";\n\ntype JsonObject = Record<string, unknown>;\n\nexport interface AnonymizationFieldPolicy {\n\tmethod: RedactionMethod;\n\tmatch: \"key\" | \"path\";\n\tvalue: string;\n}\n\nexport interface AnonymizationPolicy {\n\tfields: readonly AnonymizationFieldPolicy[];\n\tpreservedSemantics?: readonly string[];\n}\n\nexport interface AssetEventLike {\n\tid: string;\n\ttenantId: string;\n\tspaceId: string;\n\teventType: string;\n\tsubjectType: string;\n\tsubjectId: string;\n\tactionInvocationId: string;\n\tpayload: unknown;\n\tsequence: number;\n\toccurredAt: Date;\n\trecordedAt: Date;\n\tcorrelationId: string;\n\tcausationId?: string | null;\n}\n\nexport interface EvidencePacketLike {\n\tid: string;\n\tpacket: unknown;\n\tredactionMetadata: unknown;\n\tchecksum: string;\n}\n\nexport interface AnonymizationLifecycleEvidence {\n\teventType: \"AnonymizationApplied\";\n\tpolicyVersion: string;\n\tjobId: string;\n\treason: string;\n\tappliedAt: string;\n\ttenantId: string;\n\tspaceId: string | null;\n\tcounts: {\n\t\tassetEvents: number;\n\t\treadModels: number;\n\t\tevidencePackets: number;\n\t\tredactedFields: number;\n\t};\n\trecords: Array<{\n\t\trecordClass: PlatformDataClass;\n\t\trecordId: string;\n\t\tsubjectType?: string;\n\t\tsubjectId?: string;\n\t\tfieldManifest: Array<\n\t\t\tPick<AnonymizationFieldMetadata, \"fieldPath\" | \"method\" | \"beforeChecksum\">\n\t\t>;\n\t}>;\n\tpreservedSemantics: string[];\n}\n\nfunction normalizeKey(key: string): string {\n\treturn key.replace(/[^a-zA-Z0-9]/g, \"\").toLowerCase();\n}\n\nexport function stableChecksum(value: unknown): string {\n\treturn createHash(\"sha256\").update(JSON.stringify(value)).digest(\"hex\");\n}\n\nfunction stableScopedToken(\n\tvalue: unknown,\n\tcontext: AnonymizationContext,\n\tfieldPath: string,\n): string {\n\tconst scope = `${context.tenantId}:${context.spaceId ?? \"global\"}:${fieldPath}`;\n\treturn `tok_${createHash(\"sha256\")\n\t\t.update(`${context.policyVersion ?? ANONYMIZATION_POLICY_VERSION}:${scope}:${String(value)}`)\n\t\t.digest(\"hex\")\n\t\t.slice(0, 24)}`;\n}\n\nfunction maskValue(value: unknown): string | null {\n\tif (value === null || value === undefined) {\n\t\treturn null;\n\t}\n\n\tconst stringValue = String(value);\n\tif (stringValue.length <= 4) {\n\t\treturn \"****\";\n\t}\n\n\treturn `${\"*\".repeat(Math.max(stringValue.length - 4, 4))}${stringValue.slice(-4)}`;\n}\n\nfunction generalizeValue(value: unknown): unknown {\n\tif (typeof value === \"number\") {\n\t\treturn Math.round(value / 1000) * 1000;\n\t}\n\n\tif (typeof value === \"string\" && /^\\d{5}(?:-\\d{4})?$/.test(value)) {\n\t\treturn `${value.slice(0, 3)}**`;\n\t}\n\n\treturn null;\n}\n\nfunction applyMethod(\n\tvalue: unknown,\n\tmethod: RedactionMethod,\n\tcontext: AnonymizationContext,\n\tpath: string,\n): unknown {\n\tswitch (method) {\n\t\tcase \"drop\":\n\t\t\treturn undefined;\n\t\tcase \"nullify\":\n\t\t\treturn null;\n\t\tcase \"mask\":\n\t\t\treturn maskValue(value);\n\t\tcase \"hash\":\n\t\t\treturn `sha256_${stableChecksum(value)}`;\n\t\tcase \"tokenize\":\n\t\t\treturn stableScopedToken(value, context, path);\n\t\tcase \"generalize\":\n\t\t\treturn generalizeValue(value);\n\t}\n}\n\nfunction policyForPath(policies: readonly AnonymizationFieldPolicy[], path: string, key?: string): AnonymizationFieldPolicy | undefined {\n\tconst normalizedPath = normalizeKey(path);\n\tconst normalizedKey = key ? normalizeKey(key) : undefined;\n\n\treturn policies.find((policy) => {\n\t\tconst normalizedValue = normalizeKey(policy.value);\n\t\tif (policy.match === \"key\") {\n\t\t\treturn normalizedValue === normalizedKey;\n\t\t}\n\n\t\treturn normalizedValue === normalizedPath;\n\t});\n}\n\nfunction isPlainObject(value: unknown): value is JsonObject {\n\treturn (\n\t\tBoolean(value) && typeof value === \"object\" && !Array.isArray(value) && !(value instanceof Date)\n\t);\n}\n\nfunction anonymizeRecursive(\n\tvalue: unknown,\n\tcontext: AnonymizationContext,\n\tdataClass: PlatformDataClass,\n\tpath: string,\n\tredactedFields: AnonymizationFieldMetadata[],\n\tpolicies: readonly AnonymizationFieldPolicy[],\n\tkey?: string,\n): unknown {\n\tconst fieldPolicy = policyForPath(policies, path, key);\n\tif (fieldPolicy && value !== null && value !== undefined) {\n\t\tredactedFields.push({\n\t\t\tfieldPath: path,\n\t\t\tmethod: fieldPolicy.method,\n\t\t\tpolicyVersion: context.policyVersion ?? ANONYMIZATION_POLICY_VERSION,\n\t\t\tjobId: context.jobId,\n\t\t\tredactedAt: (context.redactedAt ?? new Date()).toISOString(),\n\t\t\treason: context.reason,\n\t\t\tdataClass,\n\t\t\tbeforeChecksum: stableChecksum(value),\n\t\t});\n\n\t\treturn applyMethod(value, fieldPolicy.method, context, path);\n\t}\n\n\tif (Array.isArray(value)) {\n\t\treturn value.map((item, index) =>\n\t\t\tanonymizeRecursive(item, context, dataClass, `${path}[${index}]`, redactedFields, policies),\n\t\t);\n\t}\n\n\tif (!isPlainObject(value)) {\n\t\treturn value;\n\t}\n\n\tconst result: JsonObject = {};\n\tfor (const [childKey, childValue] of Object.entries(value)) {\n\t\tif (childKey === \"_privacy\") {\n\t\t\tresult[childKey] = childValue;\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst anonymized = anonymizeRecursive(\n\t\t\tchildValue,\n\t\t\tcontext,\n\t\t\tdataClass,\n\t\t\t`${path}.${childKey}`,\n\t\t\tredactedFields,\n\t\t\tpolicies,\n\t\t\tchildKey,\n\t\t);\n\n\t\tif (anonymized !== undefined) {\n\t\t\tresult[childKey] = anonymized;\n\t\t}\n\t}\n\n\treturn result;\n}\n\nfunction buildMetadata(\n\tcontext: AnonymizationContext,\n\tdataClass: PlatformDataClass,\n\tredactedFields: AnonymizationFieldMetadata[],\n\tpreservedSemantics: readonly string[],\n): AnonymizationMetadata {\n\treturn {\n\t\tredactionState: \"anonymized\",\n\t\tpolicyVersion: context.policyVersion ?? ANONYMIZATION_POLICY_VERSION,\n\t\tjobId: context.jobId,\n\t\tredactedAt: (context.redactedAt ?? new Date()).toISOString(),\n\t\treason: context.reason,\n\t\tdataClass,\n\t\tredactedFields,\n\t\tpreservedSemantics: [...preservedSemantics],\n\t};\n}\n\nexport class FieldRedactor {\n\tredactField(value: unknown, method: RedactionMethod, context: AnonymizationContext, path: string): unknown {\n\t\treturn applyMethod(value, method, context, path);\n\t}\n\n\tmask(value: unknown): string | null {\n\t\treturn maskValue(value);\n\t}\n\n\thash(value: unknown): string {\n\t\treturn `sha256_${stableChecksum(value)}`;\n\t}\n\n\ttokenize(value: unknown, context: AnonymizationContext, path: string): string {\n\t\treturn stableScopedToken(value, context, path);\n\t}\n\n\tgeneralize(value: unknown): unknown {\n\t\treturn generalizeValue(value);\n\t}\n}\n\nexport class AnonymizationEngine {\n\treadonly #policy: AnonymizationPolicy;\n\n\tconstructor(policy: AnonymizationPolicy) {\n\t\tthis.#policy = {\n\t\t\tfields: policy.fields.map((field) => ({ ...field })),\n\t\t\tpreservedSemantics: [...(policy.preservedSemantics ?? [])],\n\t\t};\n\t}\n\n\tanonymizeJsonValue<TValue>(\n\t\tvalue: TValue,\n\t\tcontext: AnonymizationContext,\n\t\tdataClass: PlatformDataClass,\n\t): AnonymizationResult<TValue> {\n\t\treturn this.anonymizeJsonValueAtPath(value, context, dataClass, \"$\");\n\t}\n\n\tanonymizeJsonValueAtPath<TValue>(\n\t\tvalue: TValue,\n\t\tcontext: AnonymizationContext,\n\t\tdataClass: PlatformDataClass,\n\t\tbasePath: string,\n\t): AnonymizationResult<TValue> {\n\t\tconst redactedFields: AnonymizationFieldMetadata[] = [];\n\t\tconst anonymizedValue = anonymizeRecursive(\n\t\t\tvalue,\n\t\t\tcontext,\n\t\t\tdataClass,\n\t\t\tbasePath,\n\t\t\tredactedFields,\n\t\t\tthis.#policy.fields,\n\t\t) as TValue;\n\n\t\treturn {\n\t\t\tvalue: anonymizedValue,\n\t\t\tmetadata: buildMetadata(context, dataClass, redactedFields, this.#policy.preservedSemantics ?? []),\n\t\t};\n\t}\n\n\tanonymizeAssetEventPayload(\n\t\tevent: AssetEventLike,\n\t\tcontext: AnonymizationContext,\n\t): AnonymizationResult<unknown> {\n\t\tconst result = this.anonymizeJsonValue(event.payload, context, \"asset_event\");\n\t\tconst payload = isPlainObject(result.value)\n\t\t\t? { ...result.value, _privacy: result.metadata }\n\t\t\t: { value: result.value, _privacy: result.metadata };\n\n\t\treturn { value: payload, metadata: result.metadata };\n\t}\n\n\tanonymizeEvidencePacket(\n\t\tpacket: EvidencePacketLike,\n\t\tcontext: AnonymizationContext,\n\t): AnonymizationResult<Pick<EvidencePacketLike, \"packet\" | \"redactionMetadata\" | \"checksum\">> {\n\t\tconst result = this.anonymizeJsonValue(packet.packet, context, \"evidence_packet\");\n\t\tconst redactionMetadata = {\n\t\t\t...(isPlainObject(packet.redactionMetadata) ? packet.redactionMetadata : {}),\n\t\t\tlifecycleAnonymization: result.metadata,\n\t\t};\n\t\tconst anonymizedPacket = isPlainObject(result.value)\n\t\t\t? { ...result.value, _privacy: result.metadata }\n\t\t\t: { value: result.value, _privacy: result.metadata };\n\n\t\treturn {\n\t\t\tvalue: {\n\t\t\t\tpacket: anonymizedPacket,\n\t\t\t\tredactionMetadata,\n\t\t\t\tchecksum: stableChecksum({ packet: anonymizedPacket, redactionMetadata }),\n\t\t\t},\n\t\t\tmetadata: result.metadata,\n\t\t};\n\t}\n\n\tbuildAnonymizationLifecycleEvidence(input: {\n\t\tcontext: AnonymizationContext;\n\t\tassetEvents?: Array<{ event: AssetEventLike; metadata: AnonymizationMetadata }>;\n\t\treadModels?: Array<{\n\t\t\tmodelKind: string;\n\t\t\trecord: JsonObject & { id: string };\n\t\t\tmetadata: AnonymizationMetadata;\n\t\t}>;\n\t\tevidencePackets?: Array<{ packet: EvidencePacketLike; metadata: AnonymizationMetadata }>;\n\t}): AnonymizationLifecycleEvidence {\n\t\tconst assetEvents = input.assetEvents ?? [];\n\t\tconst readModels = input.readModels ?? [];\n\t\tconst evidencePackets = input.evidencePackets ?? [];\n\t\tconst redactedFields = [\n\t\t\t...assetEvents.flatMap((item) => item.metadata.redactedFields),\n\t\t\t...readModels.flatMap((item) => item.metadata.redactedFields),\n\t\t\t...evidencePackets.flatMap((item) => item.metadata.redactedFields),\n\t\t];\n\n\t\treturn {\n\t\t\teventType: \"AnonymizationApplied\",\n\t\t\tpolicyVersion: input.context.policyVersion ?? ANONYMIZATION_POLICY_VERSION,\n\t\t\tjobId: input.context.jobId,\n\t\t\treason: input.context.reason,\n\t\t\tappliedAt: (input.context.redactedAt ?? new Date()).toISOString(),\n\t\t\ttenantId: input.context.tenantId,\n\t\t\tspaceId: input.context.spaceId ?? null,\n\t\t\tcounts: {\n\t\t\t\tassetEvents: assetEvents.length,\n\t\t\t\treadModels: readModels.length,\n\t\t\t\tevidencePackets: evidencePackets.length,\n\t\t\t\tredactedFields: redactedFields.length,\n\t\t\t},\n\t\t\trecords: [\n\t\t\t\t...assetEvents.map((item) => ({\n\t\t\t\t\trecordClass: \"asset_event\" as PlatformDataClass,\n\t\t\t\t\trecordId: item.event.id,\n\t\t\t\t\tsubjectType: item.event.subjectType,\n\t\t\t\t\tsubjectId: item.event.subjectId,\n\t\t\t\t\tfieldManifest: item.metadata.redactedFields.map(\n\t\t\t\t\t\t({ fieldPath, method, beforeChecksum }) => ({\n\t\t\t\t\t\t\tfieldPath,\n\t\t\t\t\t\t\tmethod,\n\t\t\t\t\t\t\tbeforeChecksum,\n\t\t\t\t\t\t}),\n\t\t\t\t\t),\n\t\t\t\t})),\n\t\t\t\t...readModels.map((item) => ({\n\t\t\t\t\trecordClass: \"read_model\" as PlatformDataClass,\n\t\t\t\t\trecordId: item.record.id,\n\t\t\t\t\tsubjectType: item.modelKind,\n\t\t\t\t\tsubjectId: item.record.id,\n\t\t\t\t\tfieldManifest: item.metadata.redactedFields.map(\n\t\t\t\t\t\t({ fieldPath, method, beforeChecksum }) => ({\n\t\t\t\t\t\t\tfieldPath,\n\t\t\t\t\t\t\tmethod,\n\t\t\t\t\t\t\tbeforeChecksum,\n\t\t\t\t\t\t}),\n\t\t\t\t\t),\n\t\t\t\t})),\n\t\t\t\t...evidencePackets.map((item) => ({\n\t\t\t\t\trecordClass: \"evidence_packet\" as PlatformDataClass,\n\t\t\t\t\trecordId: item.packet.id,\n\t\t\t\t\tfieldManifest: item.metadata.redactedFields.map(\n\t\t\t\t\t\t({ fieldPath, method, beforeChecksum }) => ({\n\t\t\t\t\t\t\tfieldPath,\n\t\t\t\t\t\t\tmethod,\n\t\t\t\t\t\t\tbeforeChecksum,\n\t\t\t\t\t\t}),\n\t\t\t\t\t),\n\t\t\t\t})),\n\t\t\t],\n\t\t\tpreservedSemantics: [...(this.#policy.preservedSemantics ?? [])],\n\t\t};\n\t}\n}\n","export const PLATFORM_PRIVACY_POLICY_VERSION = \"fabric-platform-privacy-v1\";\n\nexport type RedactionMethod = \"nullify\" | \"mask\" | \"hash\" | \"tokenize\" | \"generalize\" | \"drop\";\n\nexport { ANONYMIZATION_POLICY_VERSION } from \"./engine\";\nexport {\n\tAnonymizationEngine,\n\tFieldRedactor,\n\tstableChecksum,\n\ttype AssetEventLike,\n\ttype EvidencePacketLike,\n\ttype AnonymizationLifecycleEvidence,\n\ttype AnonymizationFieldPolicy,\n\ttype AnonymizationPolicy,\n} from \"./engine\";\n\nimport {\n\tAnonymizationEngine,\n\ttype AssetEventLike,\n\ttype EvidencePacketLike,\n\ttype AnonymizationLifecycleEvidence,\n} from \"./engine\";\n\nexport function anonymizeJsonValue<TValue>(\n\tvalue: TValue,\n\tcontext: import(\"./index\").AnonymizationContext,\n\tdataClass: import(\"./index\").PlatformDataClass,\n\tpolicy: import(\"./engine\").AnonymizationPolicy,\n): import(\"./index\").AnonymizationResult<TValue> {\n\treturn new AnonymizationEngine(policy).anonymizeJsonValue(value, context, dataClass);\n}\n\nexport function anonymizeAssetEventPayload(\n\tevent: AssetEventLike,\n\tcontext: import(\"./index\").AnonymizationContext,\n\tpolicy: import(\"./engine\").AnonymizationPolicy,\n): import(\"./index\").AnonymizationResult<unknown> {\n\treturn new AnonymizationEngine(policy).anonymizeAssetEventPayload(event, context);\n}\n\nexport function anonymizeEvidencePacket(\n\tpacket: EvidencePacketLike,\n\tcontext: import(\"./index\").AnonymizationContext,\n\tpolicy: import(\"./engine\").AnonymizationPolicy,\n): import(\"./index\").AnonymizationResult<Pick<EvidencePacketLike, \"packet\" | \"redactionMetadata\" | \"checksum\">> {\n\treturn new AnonymizationEngine(policy).anonymizeEvidencePacket(packet, context);\n}\n\nexport function buildAnonymizationLifecycleEvidence(input: {\n\tcontext: import(\"./index\").AnonymizationContext;\n\tassetEvents?: Array<{ event: AssetEventLike; metadata: import(\"./index\").AnonymizationMetadata }>;\n\treadModels?: Array<{\n\t\tmodelKind: string;\n\t\trecord: Record<string, unknown> & { id: string };\n\t\tmetadata: import(\"./index\").AnonymizationMetadata;\n\t}>;\n\tevidencePackets?: Array<{ packet: EvidencePacketLike; metadata: import(\"./index\").AnonymizationMetadata }>;\n}, policy: import(\"./engine\").AnonymizationPolicy): AnonymizationLifecycleEvidence {\n\treturn new AnonymizationEngine(policy).buildAnonymizationLifecycleEvidence(input);\n}\n\nexport type PlatformDataClass =\n\t| \"asset_event\"\n\t| \"read_model\"\n\t| \"raw_payload\"\n\t| \"evidence_packet\"\n\t| \"action_evidence\"\n\t| \"access_event\";\n\nexport interface RedactionRule {\n\tfieldPath: string;\n\tmethod: RedactionMethod;\n\treason: string;\n\tdataClass?: PlatformDataClass;\n}\n\nexport interface DataClassificationRule {\n\tfieldPath: string;\n\tclassification: string;\n\tcontainsDirectIdentifier?: boolean;\n\tcontainsSensitiveData?: boolean;\n}\n\nexport interface AnonymizationContext {\n\ttenantId: string;\n\tspaceId?: string | null;\n\tjobId: string;\n\treason: string;\n\tredactedAt?: Date;\n\tpolicyVersion?: string;\n}\n\nexport interface AnonymizationFieldMetadata {\n\tfieldPath: string;\n\tmethod: RedactionMethod;\n\tpolicyVersion: string;\n\tjobId: string;\n\tredactedAt: string;\n\treason: string;\n\tdataClass: PlatformDataClass;\n\tbeforeChecksum: string;\n}\n\nexport interface AnonymizationMetadata {\n\tredactionState: \"anonymized\";\n\tpolicyVersion: string;\n\tjobId: string;\n\tredactedAt: string;\n\treason: string;\n\tdataClass: PlatformDataClass;\n\tredactedFields: AnonymizationFieldMetadata[];\n\tpreservedSemantics: string[];\n}\n\nexport interface AnonymizationResult<TValue> {\n\tvalue: TValue;\n\tmetadata: AnonymizationMetadata;\n}\n\nexport interface AnalyticsDataContractSource {\n\tname: string;\n\tprivacyClass:\n\t\t| \"raw\"\n\t\t| \"operational_pii\"\n\t\t| \"tenant_scoped_tokenized\"\n\t\t| \"anonymized\"\n\t\t| \"aggregated\"\n\t\t| \"differentially_minimized\";\n\tcontainsDirectIdentifiers?: boolean;\n\tcontainsGloballyStablePersonTokens?: boolean;\n\tanonymizationPolicyVersion?: string;\n\tminimumGroupSize?: number;\n}\n\nexport interface AnalyticsDataContract {\n\tcontractId: string;\n\tstatus: \"draft\" | \"accepted\" | \"deprecated\";\n\tcrossTenant: boolean;\n\tacceptedBy?: string;\n\tacceptedAt?: string;\n\tadrReference?: string;\n\tsources: AnalyticsDataContractSource[];\n}\n\nexport interface AnalyticsEligibilityDecision {\n\teligible: boolean;\n\tpolicyVersion: string;\n\treasons: string[];\n}\n\nexport interface RetentionRule {\n\tdataClass: PlatformDataClass;\n\tretainForDays: number;\n\tafterRetention: \"delete\" | \"anonymize\" | \"archive\";\n\tlegalHoldExempt?: boolean;\n}\n"]}