@agentplat/inference-control 0.3.0-beta.2 → 0.3.0-beta.4

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 (150) hide show
  1. package/README.md +360 -0
  2. package/dist/anytime-semantic-guarantees.d.ts +216 -0
  3. package/dist/anytime-semantic-guarantees.d.ts.map +1 -0
  4. package/dist/anytime-semantic-guarantees.js +817 -0
  5. package/dist/anytime-semantic-guarantees.js.map +1 -0
  6. package/dist/assessor-ensemble-contracts.d.ts +145 -0
  7. package/dist/assessor-ensemble-contracts.d.ts.map +1 -0
  8. package/dist/assessor-ensemble-contracts.js +29 -0
  9. package/dist/assessor-ensemble-contracts.js.map +1 -0
  10. package/dist/assessor-ensemble-runtime.d.ts +55 -0
  11. package/dist/assessor-ensemble-runtime.d.ts.map +1 -0
  12. package/dist/assessor-ensemble-runtime.js +308 -0
  13. package/dist/assessor-ensemble-runtime.js.map +1 -0
  14. package/dist/assessor-ensemble-validation.d.ts +12 -0
  15. package/dist/assessor-ensemble-validation.d.ts.map +1 -0
  16. package/dist/assessor-ensemble-validation.js +156 -0
  17. package/dist/assessor-ensemble-validation.js.map +1 -0
  18. package/dist/assessor-ensemble.d.ts +4 -0
  19. package/dist/assessor-ensemble.d.ts.map +1 -0
  20. package/dist/assessor-ensemble.js +4 -0
  21. package/dist/assessor-ensemble.js.map +1 -0
  22. package/dist/cognitive-adapters.d.ts +92 -0
  23. package/dist/cognitive-adapters.d.ts.map +1 -0
  24. package/dist/cognitive-adapters.js +263 -0
  25. package/dist/cognitive-adapters.js.map +1 -0
  26. package/dist/context-integrity-analyzers.d.ts +35 -0
  27. package/dist/context-integrity-analyzers.d.ts.map +1 -0
  28. package/dist/context-integrity-analyzers.js +387 -0
  29. package/dist/context-integrity-analyzers.js.map +1 -0
  30. package/dist/context-integrity-contracts.d.ts +304 -0
  31. package/dist/context-integrity-contracts.d.ts.map +1 -0
  32. package/dist/context-integrity-contracts.js +24 -0
  33. package/dist/context-integrity-contracts.js.map +1 -0
  34. package/dist/context-integrity-model.d.ts +25 -0
  35. package/dist/context-integrity-model.d.ts.map +1 -0
  36. package/dist/context-integrity-model.js +192 -0
  37. package/dist/context-integrity-model.js.map +1 -0
  38. package/dist/context-integrity-portable-agent.d.ts +79 -0
  39. package/dist/context-integrity-portable-agent.d.ts.map +1 -0
  40. package/dist/context-integrity-portable-agent.js +511 -0
  41. package/dist/context-integrity-portable-agent.js.map +1 -0
  42. package/dist/context-integrity-role-alignment.d.ts +28 -0
  43. package/dist/context-integrity-role-alignment.d.ts.map +1 -0
  44. package/dist/context-integrity-role-alignment.js +95 -0
  45. package/dist/context-integrity-role-alignment.js.map +1 -0
  46. package/dist/context-integrity-runtime.d.ts +95 -0
  47. package/dist/context-integrity-runtime.d.ts.map +1 -0
  48. package/dist/context-integrity-runtime.js +1512 -0
  49. package/dist/context-integrity-runtime.js.map +1 -0
  50. package/dist/context-integrity.d.ts +5 -0
  51. package/dist/context-integrity.d.ts.map +1 -0
  52. package/dist/context-integrity.js +5 -0
  53. package/dist/context-integrity.js.map +1 -0
  54. package/dist/governed-role-evolution.d.ts +172 -0
  55. package/dist/governed-role-evolution.d.ts.map +1 -0
  56. package/dist/governed-role-evolution.js +613 -0
  57. package/dist/governed-role-evolution.js.map +1 -0
  58. package/dist/heterogeneous-agent-composition.d.ts +96 -0
  59. package/dist/heterogeneous-agent-composition.d.ts.map +1 -0
  60. package/dist/heterogeneous-agent-composition.js +512 -0
  61. package/dist/heterogeneous-agent-composition.js.map +1 -0
  62. package/dist/index.d.ts +21 -13
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +21 -13
  65. package/dist/index.js.map +1 -1
  66. package/dist/intervention-adapters.d.ts +29 -0
  67. package/dist/intervention-adapters.d.ts.map +1 -0
  68. package/dist/intervention-adapters.js +107 -0
  69. package/dist/intervention-adapters.js.map +1 -0
  70. package/dist/intervention-contracts.d.ts +311 -0
  71. package/dist/intervention-contracts.d.ts.map +1 -0
  72. package/dist/intervention-contracts.js +28 -0
  73. package/dist/intervention-contracts.js.map +1 -0
  74. package/dist/intervention-runtime.d.ts +86 -0
  75. package/dist/intervention-runtime.d.ts.map +1 -0
  76. package/dist/intervention-runtime.js +958 -0
  77. package/dist/intervention-runtime.js.map +1 -0
  78. package/dist/intervention-validation.d.ts +27 -0
  79. package/dist/intervention-validation.d.ts.map +1 -0
  80. package/dist/intervention-validation.js +273 -0
  81. package/dist/intervention-validation.js.map +1 -0
  82. package/dist/intervention.d.ts +6 -0
  83. package/dist/intervention.d.ts.map +1 -0
  84. package/dist/intervention.js +6 -0
  85. package/dist/intervention.js.map +1 -0
  86. package/dist/model.d.ts +18 -0
  87. package/dist/model.d.ts.map +1 -1
  88. package/dist/model.js +60 -2
  89. package/dist/model.js.map +1 -1
  90. package/dist/operational-cognitive-control.d.ts +208 -0
  91. package/dist/operational-cognitive-control.d.ts.map +1 -0
  92. package/dist/operational-cognitive-control.js +590 -0
  93. package/dist/operational-cognitive-control.js.map +1 -0
  94. package/dist/portable-agent.d.ts +50 -0
  95. package/dist/portable-agent.d.ts.map +1 -0
  96. package/dist/portable-agent.js +243 -0
  97. package/dist/portable-agent.js.map +1 -0
  98. package/dist/reference-controllers.d.ts +121 -0
  99. package/dist/reference-controllers.d.ts.map +1 -0
  100. package/dist/reference-controllers.js +411 -0
  101. package/dist/reference-controllers.js.map +1 -0
  102. package/dist/role-alignment-portable-agent.d.ts +145 -0
  103. package/dist/role-alignment-portable-agent.d.ts.map +1 -0
  104. package/dist/role-alignment-portable-agent.js +484 -0
  105. package/dist/role-alignment-portable-agent.js.map +1 -0
  106. package/dist/role-alignment.d.ts +226 -0
  107. package/dist/role-alignment.d.ts.map +1 -0
  108. package/dist/role-alignment.js +1074 -0
  109. package/dist/role-alignment.js.map +1 -0
  110. package/dist/role-realignment-portable-agent.d.ts +163 -0
  111. package/dist/role-realignment-portable-agent.d.ts.map +1 -0
  112. package/dist/role-realignment-portable-agent.js +634 -0
  113. package/dist/role-realignment-portable-agent.js.map +1 -0
  114. package/dist/role-realignment.d.ts +368 -0
  115. package/dist/role-realignment.d.ts.map +1 -0
  116. package/dist/role-realignment.js +1609 -0
  117. package/dist/role-realignment.js.map +1 -0
  118. package/dist/semantic-alignment-assessors.d.ts +12 -0
  119. package/dist/semantic-alignment-assessors.d.ts.map +1 -0
  120. package/dist/semantic-alignment-assessors.js +55 -0
  121. package/dist/semantic-alignment-assessors.js.map +1 -0
  122. package/dist/semantic-alignment-contracts.d.ts +385 -0
  123. package/dist/semantic-alignment-contracts.d.ts.map +1 -0
  124. package/dist/semantic-alignment-contracts.js +16 -0
  125. package/dist/semantic-alignment-contracts.js.map +1 -0
  126. package/dist/semantic-alignment-memory.d.ts +53 -0
  127. package/dist/semantic-alignment-memory.d.ts.map +1 -0
  128. package/dist/semantic-alignment-memory.js +170 -0
  129. package/dist/semantic-alignment-memory.js.map +1 -0
  130. package/dist/semantic-alignment-runtime.d.ts +67 -0
  131. package/dist/semantic-alignment-runtime.d.ts.map +1 -0
  132. package/dist/semantic-alignment-runtime.js +778 -0
  133. package/dist/semantic-alignment-runtime.js.map +1 -0
  134. package/dist/semantic-alignment-validation.d.ts +31 -0
  135. package/dist/semantic-alignment-validation.d.ts.map +1 -0
  136. package/dist/semantic-alignment-validation.js +477 -0
  137. package/dist/semantic-alignment-validation.js.map +1 -0
  138. package/dist/semantic-alignment.d.ts +8 -0
  139. package/dist/semantic-alignment.d.ts.map +1 -0
  140. package/dist/semantic-alignment.js +8 -0
  141. package/dist/semantic-alignment.js.map +1 -0
  142. package/dist/semantic-horizon-budget.d.ts +118 -0
  143. package/dist/semantic-horizon-budget.d.ts.map +1 -0
  144. package/dist/semantic-horizon-budget.js +536 -0
  145. package/dist/semantic-horizon-budget.js.map +1 -0
  146. package/dist/semantic-metric-engine.d.ts +96 -0
  147. package/dist/semantic-metric-engine.d.ts.map +1 -0
  148. package/dist/semantic-metric-engine.js +396 -0
  149. package/dist/semantic-metric-engine.js.map +1 -0
  150. package/package.json +79 -7
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anytime-semantic-guarantees.js","sourceRoot":"","sources":["../src/anytime-semantic-guarantees.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,145 @@
1
+ /**
2
+ * Content-free, provider-neutral contracts for a heterogeneous assessor
3
+ * ensemble. Durable records contain only identifiers and digests.
4
+ */
5
+ export declare const HETEROGENEOUS_ASSESSOR_ENSEMBLE_SCHEMA_VERSION_V1: 1;
6
+ export declare const HETEROGENEOUS_ASSESSOR_ENSEMBLE_STATE_FORMAT_V1: "application/vnd.agentplat.heterogeneous-assessor-ensemble.v1+json";
7
+ export declare const ASSESSOR_ENSEMBLE_AGENT_CLASSES_V1: readonly ["opaque_api_model", "token_stream_model", "representation_sidecar_model", "portable_agent", "multimodal_action_agent"];
8
+ export type AssessorEnsembleAgentClassV1 = (typeof ASSESSOR_ENSEMBLE_AGENT_CLASSES_V1)[number];
9
+ export declare const ASSESSOR_ENSEMBLE_SURFACES_V1: readonly ["input", "output", "token", "tool", "action", "sidecar"];
10
+ export type AssessorEnsembleSurfaceV1 = (typeof ASSESSOR_ENSEMBLE_SURFACES_V1)[number];
11
+ export declare const ASSESSOR_ENSEMBLE_MODALITIES_V1: readonly ["text", "image", "audio", "video", "sensor"];
12
+ export type AssessorEnsembleModalityV1 = (typeof ASSESSOR_ENSEMBLE_MODALITIES_V1)[number];
13
+ export type AssessorEnsembleVoteDecisionV1 = "allow" | "modify" | "block" | "unresolved";
14
+ /** Ensemble verdicts preserve a consensus modification recommendation. */
15
+ export type AssessorEnsembleDecisionV1 = AssessorEnsembleVoteDecisionV1;
16
+ export type AssessorEnsembleExecutionDomainV1 = "inference" | "tool" | "action";
17
+ export interface AssessorEnsembleMemberDescriptorV1 {
18
+ readonly schemaVersion: 1;
19
+ readonly assessorId: string;
20
+ readonly assessorVersion: number;
21
+ readonly assessorImplementationDigest: string;
22
+ /** A quorum counts at most one vote from each independence group. */
23
+ readonly independenceGroup: string;
24
+ readonly agentClass: AssessorEnsembleAgentClassV1;
25
+ readonly surfaces: readonly AssessorEnsembleSurfaceV1[];
26
+ readonly modalities: readonly AssessorEnsembleModalityV1[];
27
+ readonly descriptorDigest: string;
28
+ }
29
+ export interface AssessorEnsemblePolicyV1 {
30
+ readonly schemaVersion: 1;
31
+ readonly policyId: string;
32
+ readonly policyVersion: number;
33
+ readonly policyDigest: string;
34
+ readonly minimumVotes: number;
35
+ readonly minimumIndependenceGroups: number;
36
+ readonly requiredSurfaces: readonly AssessorEnsembleSurfaceV1[];
37
+ readonly requiredModalities: readonly AssessorEnsembleModalityV1[];
38
+ readonly assessorTimeoutMs: number;
39
+ readonly maximumMembers: number;
40
+ readonly maximumCasAttempts: number;
41
+ readonly maximumStep: number;
42
+ readonly maximumLogicalTimeMs: number;
43
+ }
44
+ /** Content is owned by callers and never part of this request or state. */
45
+ export interface AssessorEnsembleRequestV1 {
46
+ readonly schemaVersion: 1;
47
+ readonly invocationId: string;
48
+ readonly bindingDigest: string;
49
+ readonly policyDigest: string;
50
+ readonly signalDigest: string;
51
+ readonly executionDomain: AssessorEnsembleExecutionDomainV1;
52
+ readonly surface: AssessorEnsembleSurfaceV1;
53
+ readonly modalities: readonly AssessorEnsembleModalityV1[];
54
+ readonly step: number;
55
+ readonly logicalTimeMs: number;
56
+ readonly requestDigest: string;
57
+ }
58
+ export interface AssessorEnsembleVoteV1 {
59
+ readonly schemaVersion: 1;
60
+ /** Prevents a valid vote from being replayed into another invocation. */
61
+ readonly requestDigest: string;
62
+ readonly assessorId: string;
63
+ readonly assessorVersion: number;
64
+ readonly assessorImplementationDigest: string;
65
+ readonly independenceGroup: string;
66
+ readonly decision: AssessorEnsembleVoteDecisionV1;
67
+ readonly reasonCodes: readonly string[];
68
+ readonly evidenceDigests: readonly string[];
69
+ readonly voteDigest: string;
70
+ }
71
+ export interface AssessorEnsembleVerdictV1 {
72
+ readonly schemaVersion: 1;
73
+ readonly requestDigest: string;
74
+ readonly decision: AssessorEnsembleDecisionV1;
75
+ readonly votes: readonly AssessorEnsembleVoteV1[];
76
+ readonly countedAssessorIds: readonly string[];
77
+ readonly countedIndependenceGroups: readonly string[];
78
+ readonly missingAssessorIds: readonly string[];
79
+ readonly coverageComplete: boolean;
80
+ readonly verdictDigest: string;
81
+ }
82
+ export interface AssessorEnsemblePortV1 {
83
+ readonly descriptor: AssessorEnsembleMemberDescriptorV1;
84
+ assess(request: AssessorEnsembleRequestV1): Promise<AssessorEnsembleVoteV1> | AssessorEnsembleVoteV1;
85
+ }
86
+ export interface AssessorEnsembleReservationV1 {
87
+ readonly invocationId: string;
88
+ readonly requestDigest: string;
89
+ readonly step: number;
90
+ readonly executionDomain: AssessorEnsembleExecutionDomainV1;
91
+ readonly logicalTimeMs: number;
92
+ }
93
+ export interface AssessorEnsembleTerminalV1 {
94
+ readonly invocationId: string;
95
+ readonly requestDigest: string;
96
+ readonly step: number;
97
+ readonly executionDomain: AssessorEnsembleExecutionDomainV1;
98
+ readonly verdict: AssessorEnsembleVerdictV1;
99
+ }
100
+ export interface AssessorEnsembleStateV1 {
101
+ readonly format: typeof HETEROGENEOUS_ASSESSOR_ENSEMBLE_STATE_FORMAT_V1;
102
+ readonly schemaVersion: 1;
103
+ readonly stateKey: string;
104
+ readonly bindingDigest: string;
105
+ readonly policyDigest: string;
106
+ readonly memberSetDigest: string;
107
+ readonly revision: number;
108
+ readonly logicalTimeHighWaterMs: number;
109
+ readonly stepHighWater: number;
110
+ readonly stateDigest: string;
111
+ readonly activeInvocation: AssessorEnsembleReservationV1 | null;
112
+ readonly lastInvocation: AssessorEnsembleTerminalV1 | null;
113
+ }
114
+ export interface AssessorEnsembleStateStoreV1 {
115
+ read(stateKey: string): Promise<AssessorEnsembleStateV1 | null>;
116
+ compareAndSet(input: {
117
+ readonly stateKey: string;
118
+ readonly expectedRevision: number | null;
119
+ readonly expectedStateDigest: string | null;
120
+ readonly next: AssessorEnsembleStateV1;
121
+ }): Promise<boolean>;
122
+ }
123
+ export interface AssessorEnsembleMonotonicAnchorV1 {
124
+ readAnchor(stateKey: string): Promise<{
125
+ readonly revision: number;
126
+ readonly logicalTimeHighWaterMs: number;
127
+ readonly stepHighWater: number;
128
+ } | null>;
129
+ }
130
+ /** A narrow adapter for use directly before a tool or action dispatch. */
131
+ export interface AssessorEnsembleOperationGateRequestV1 {
132
+ readonly invocationId: string;
133
+ readonly bindingDigest: string;
134
+ readonly signalDigest: string;
135
+ readonly kind: "tool" | "action";
136
+ readonly modalities: readonly AssessorEnsembleModalityV1[];
137
+ readonly step: number;
138
+ readonly logicalTimeMs: number;
139
+ }
140
+ export interface AssessorEnsembleOperationGateResultV1 {
141
+ readonly allowed: boolean;
142
+ readonly verdict: AssessorEnsembleVerdictV1;
143
+ readonly state: AssessorEnsembleStateV1;
144
+ }
145
+ //# sourceMappingURL=assessor-ensemble-contracts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assessor-ensemble-contracts.d.ts","sourceRoot":"","sources":["../src/assessor-ensemble-contracts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Content-free, provider-neutral contracts for a heterogeneous assessor
3
+ * ensemble. Durable records contain only identifiers and digests.
4
+ */
5
+ export const HETEROGENEOUS_ASSESSOR_ENSEMBLE_SCHEMA_VERSION_V1 = 1;
6
+ export const HETEROGENEOUS_ASSESSOR_ENSEMBLE_STATE_FORMAT_V1 = "application/vnd.agentplat.heterogeneous-assessor-ensemble.v1+json";
7
+ export const ASSESSOR_ENSEMBLE_AGENT_CLASSES_V1 = Object.freeze([
8
+ "opaque_api_model",
9
+ "token_stream_model",
10
+ "representation_sidecar_model",
11
+ "portable_agent",
12
+ "multimodal_action_agent",
13
+ ]);
14
+ export const ASSESSOR_ENSEMBLE_SURFACES_V1 = Object.freeze([
15
+ "input",
16
+ "output",
17
+ "token",
18
+ "tool",
19
+ "action",
20
+ "sidecar",
21
+ ]);
22
+ export const ASSESSOR_ENSEMBLE_MODALITIES_V1 = Object.freeze([
23
+ "text",
24
+ "image",
25
+ "audio",
26
+ "video",
27
+ "sensor",
28
+ ]);
29
+ //# sourceMappingURL=assessor-ensemble-contracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assessor-ensemble-contracts.js","sourceRoot":"","sources":["../src/assessor-ensemble-contracts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,iDAAiD,GAAG,CAAU,CAAC;AAC5E,MAAM,CAAC,MAAM,+CAA+C,GAC1D,mEAA4E,CAAC;AAE/E,MAAM,CAAC,MAAM,kCAAkC,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9D,kBAAkB;IAClB,oBAAoB;IACpB,8BAA8B;IAC9B,gBAAgB;IAChB,yBAAyB;CACjB,CAAC,CAAC;AAIZ,MAAM,CAAC,MAAM,6BAA6B,GAAG,MAAM,CAAC,MAAM,CAAC;IACzD,OAAO;IACP,QAAQ;IACR,OAAO;IACP,MAAM;IACN,QAAQ;IACR,SAAS;CACD,CAAC,CAAC;AAIZ,MAAM,CAAC,MAAM,+BAA+B,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3D,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;CACA,CAAC,CAAC"}
@@ -0,0 +1,55 @@
1
+ import { type AssessorEnsembleMonotonicAnchorV1, type AssessorEnsembleOperationGateRequestV1, type AssessorEnsembleOperationGateResultV1, type AssessorEnsemblePortV1, type AssessorEnsembleRequestV1, type AssessorEnsembleStateStoreV1, type AssessorEnsembleStateV1, type AssessorEnsembleVerdictV1, type AssessorEnsemblePolicyV1 } from "./assessor-ensemble-contracts.js";
2
+ export declare const ASSESSOR_ENSEMBLE_LIMITS_V1: Readonly<{
3
+ maximumReasonCodes: 32;
4
+ maximumEvidenceDigests: 32;
5
+ maximumMembers: 256;
6
+ }>;
7
+ export declare class InMemoryAssessorEnsembleStateStoreV1 implements AssessorEnsembleStateStoreV1, AssessorEnsembleMonotonicAnchorV1 {
8
+ private readonly records;
9
+ private readonly anchors;
10
+ read(key: string): Promise<AssessorEnsembleStateV1 | null>;
11
+ readAnchor(key: string): Promise<{
12
+ revision: number;
13
+ logicalTimeHighWaterMs: number;
14
+ stepHighWater: number;
15
+ } | null>;
16
+ compareAndSet(input: {
17
+ stateKey: string;
18
+ expectedRevision: number | null;
19
+ expectedStateDigest: string | null;
20
+ next: AssessorEnsembleStateV1;
21
+ }): Promise<boolean>;
22
+ }
23
+ export interface HeterogeneousAssessorEnsembleRuntimeOptionsV1 {
24
+ readonly bindingDigest: string;
25
+ readonly policy: AssessorEnsemblePolicyV1;
26
+ readonly members: readonly AssessorEnsemblePortV1[];
27
+ readonly store?: AssessorEnsembleStateStoreV1;
28
+ readonly monotonicAnchor?: AssessorEnsembleMonotonicAnchorV1;
29
+ }
30
+ export declare class HeterogeneousAssessorEnsembleRuntimeV1 {
31
+ readonly options: HeterogeneousAssessorEnsembleRuntimeOptionsV1;
32
+ readonly store: AssessorEnsembleStateStoreV1;
33
+ readonly anchor: AssessorEnsembleMonotonicAnchorV1;
34
+ readonly memberSetDigest: string;
35
+ constructor(options: HeterogeneousAssessorEnsembleRuntimeOptionsV1);
36
+ get bindingDigest(): string;
37
+ get policyDigest(): string;
38
+ verifyVerdict(input: {
39
+ readonly requestDigest: string;
40
+ readonly verdictDigest: string;
41
+ }): Promise<boolean>;
42
+ assess(input: Omit<AssessorEnsembleRequestV1, "schemaVersion" | "policyDigest" | "bindingDigest" | "requestDigest">): Promise<{
43
+ verdict: AssessorEnsembleVerdictV1;
44
+ state: AssessorEnsembleStateV1;
45
+ }>;
46
+ gateOperation(input: AssessorEnsembleOperationGateRequestV1): Promise<AssessorEnsembleOperationGateResultV1>;
47
+ private prepare;
48
+ private finish;
49
+ private ask;
50
+ private decide;
51
+ private unresolved;
52
+ private eligibleMembers;
53
+ private assertState;
54
+ }
55
+ //# sourceMappingURL=assessor-ensemble-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assessor-ensemble-runtime.d.ts","sourceRoot":"","sources":["../src/assessor-ensemble-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iCAAiC,EACtC,KAAK,sCAAsC,EAC3C,KAAK,qCAAqC,EAC1C,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,4BAA4B,EACjC,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAG9B,KAAK,wBAAwB,EAC9B,MAAM,kCAAkC,CAAC;AAW1C,eAAO,MAAM,2BAA2B;;;;EAItC,CAAC;AAEH,qBAAa,oCACX,YAAW,4BAA4B,EAAE,iCAAiC;IAE1E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8C;IACtE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAGpB;IACE,IAAI,CAAC,GAAG,EAAE,MAAM;IAGhB,UAAU,CAAC,GAAG,EAAE,MAAM;kBALd,MAAM;gCAA0B,MAAM;uBAAiB,MAAM;;IAQrE,aAAa,CAAC,KAAK,EAAE;QACzB,QAAQ,EAAE,MAAM,CAAC;QACjB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;QAChC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;QACnC,IAAI,EAAE,uBAAuB,CAAC;KAC/B,GAAG,OAAO,CAAC,OAAO,CAAC;CAerB;AACD,MAAM,WAAW,6CAA6C;IAC5D,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC;IAC1C,QAAQ,CAAC,OAAO,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACpD,QAAQ,CAAC,KAAK,CAAC,EAAE,4BAA4B,CAAC;IAC9C,QAAQ,CAAC,eAAe,CAAC,EAAE,iCAAiC,CAAC;CAC9D;AAKD,qBAAa,sCAAsC;IAIrC,QAAQ,CAAC,OAAO,EAAE,6CAA6C;IAH3E,QAAQ,CAAC,KAAK,EAAE,4BAA4B,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,iCAAiC,CAAC;IACnD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;gBACZ,OAAO,EAAE,6CAA6C;IA+B3E,IAAI,aAAa,IAAI,MAAM,CAE1B;IACD,IAAI,YAAY,IAAI,MAAM,CAEzB;IACK,aAAa,CAAC,KAAK,EAAE;QACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;QAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;KAChC,GAAG,OAAO,CAAC,OAAO,CAAC;IAUd,MAAM,CACV,KAAK,EAAE,IAAI,CACT,yBAAyB,EACzB,eAAe,GAAG,cAAc,GAAG,eAAe,GAAG,eAAe,CACrE,GACA,OAAO,CAAC;QACT,OAAO,EAAE,yBAAyB,CAAC;QACnC,KAAK,EAAE,uBAAuB,CAAC;KAChC,CAAC;IAeI,aAAa,CACjB,KAAK,EAAE,sCAAsC,GAC5C,OAAO,CAAC,qCAAqC,CAAC;YAcnC,OAAO;YA2EP,MAAM;YAyCN,GAAG;IAiCjB,OAAO,CAAC,MAAM;IA0Ed,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,eAAe;YAWT,WAAW;CAwB1B"}
@@ -0,0 +1,308 @@
1
+ import { HETEROGENEOUS_ASSESSOR_ENSEMBLE_STATE_FORMAT_V1, } from "./assessor-ensemble-contracts.js";
2
+ import { assertAssessorEnsembleMemberDescriptorV1, assertAssessorEnsemblePolicyV1, assertAssessorEnsembleVoteV1, createAssessorEnsembleRequestV1, createAssessorEnsembleVerdictV1, digestAssessorEnsembleStateV1, digestAssessorEnsembleV1, } from "./assessor-ensemble-validation.js";
3
+ export const ASSESSOR_ENSEMBLE_LIMITS_V1 = Object.freeze({
4
+ maximumReasonCodes: 32,
5
+ maximumEvidenceDigests: 32,
6
+ maximumMembers: 256,
7
+ });
8
+ const keyFor = (bindingDigest) => `assessor-ensemble:${bindingDigest}`;
9
+ export class InMemoryAssessorEnsembleStateStoreV1 {
10
+ records = new Map();
11
+ anchors = new Map();
12
+ async read(key) {
13
+ return this.records.get(key) ?? null;
14
+ }
15
+ async readAnchor(key) {
16
+ return this.anchors.get(key) ?? null;
17
+ }
18
+ async compareAndSet(input) {
19
+ const prior = this.records.get(input.stateKey) ?? null;
20
+ if ((prior?.revision ?? null) !== input.expectedRevision ||
21
+ (prior?.stateDigest ?? null) !== input.expectedStateDigest)
22
+ return false;
23
+ this.records.set(input.stateKey, input.next);
24
+ this.anchors.set(input.stateKey, {
25
+ revision: input.next.revision,
26
+ logicalTimeHighWaterMs: input.next.logicalTimeHighWaterMs,
27
+ stepHighWater: input.next.stepHighWater,
28
+ });
29
+ return true;
30
+ }
31
+ }
32
+ export class HeterogeneousAssessorEnsembleRuntimeV1 {
33
+ options;
34
+ store;
35
+ anchor;
36
+ memberSetDigest;
37
+ constructor(options) {
38
+ this.options = options;
39
+ if (!/^sha256:[0-9a-f]{64}$/.test(options.bindingDigest))
40
+ throw new TypeError("bindingDigest_must_be_digest");
41
+ assertAssessorEnsemblePolicyV1(options.policy);
42
+ if (!options.members.length ||
43
+ options.members.length >
44
+ Math.min(options.policy.maximumMembers, ASSESSOR_ENSEMBLE_LIMITS_V1.maximumMembers))
45
+ throw new RangeError("invalid_ensemble_member_count");
46
+ const ids = new Set();
47
+ for (const member of options.members) {
48
+ assertAssessorEnsembleMemberDescriptorV1(member.descriptor);
49
+ if (ids.has(member.descriptor.assessorId))
50
+ throw new TypeError("duplicate_assessor_id");
51
+ ids.add(member.descriptor.assessorId);
52
+ }
53
+ this.memberSetDigest = digestAssessorEnsembleV1("member-set", options.members.map((m) => m.descriptor.descriptorDigest).sort());
54
+ this.store = options.store ?? new InMemoryAssessorEnsembleStateStoreV1();
55
+ this.anchor =
56
+ options.monotonicAnchor ??
57
+ this.store;
58
+ if (typeof this.anchor.readAnchor !== "function")
59
+ throw new TypeError("external_monotonic_anchor_required");
60
+ }
61
+ get bindingDigest() {
62
+ return this.options.bindingDigest;
63
+ }
64
+ get policyDigest() {
65
+ return this.options.policy.policyDigest;
66
+ }
67
+ async verifyVerdict(input) {
68
+ const stateKey = keyFor(this.options.bindingDigest);
69
+ const state = await this.store.read(stateKey);
70
+ await this.assertState(state, stateKey);
71
+ return Boolean(state?.lastInvocation?.requestDigest === input.requestDigest &&
72
+ state.lastInvocation.verdict.requestDigest === input.requestDigest &&
73
+ state.lastInvocation.verdict.verdictDigest === input.verdictDigest);
74
+ }
75
+ async assess(input) {
76
+ const request = createAssessorEnsembleRequestV1({
77
+ ...input,
78
+ schemaVersion: 1,
79
+ bindingDigest: this.options.bindingDigest,
80
+ policyDigest: this.options.policy.policyDigest,
81
+ });
82
+ const prepared = await this.prepare(request);
83
+ if ("verdict" in prepared)
84
+ return prepared;
85
+ const votes = await Promise.all(this.eligibleMembers(request).map((member) => this.ask(member, request)));
86
+ const verdict = this.decide(request, votes);
87
+ return { verdict, state: await this.finish(prepared, verdict) };
88
+ }
89
+ async gateOperation(input) {
90
+ if (input.bindingDigest !== this.options.bindingDigest)
91
+ throw new TypeError("operation_binding_mismatch");
92
+ const { verdict, state } = await this.assess({
93
+ invocationId: input.invocationId,
94
+ signalDigest: input.signalDigest,
95
+ executionDomain: input.kind,
96
+ surface: input.kind,
97
+ modalities: input.modalities,
98
+ step: input.step,
99
+ logicalTimeMs: input.logicalTimeMs,
100
+ });
101
+ return { allowed: verdict.decision === "allow", verdict, state };
102
+ }
103
+ async prepare(request) {
104
+ const stateKey = keyFor(this.options.bindingDigest);
105
+ for (let attempt = 0; attempt < this.options.policy.maximumCasAttempts; attempt++) {
106
+ const current = await this.store.read(stateKey);
107
+ await this.assertState(current, stateKey);
108
+ if (current?.lastInvocation?.requestDigest === request.requestDigest)
109
+ return { verdict: current.lastInvocation.verdict, state: current };
110
+ if (current?.activeInvocation) {
111
+ if (current.activeInvocation.requestDigest === request.requestDigest)
112
+ return { state: current, request };
113
+ return {
114
+ verdict: this.unresolved(request, [], this.options.members.map((m) => m.descriptor.assessorId)),
115
+ state: current,
116
+ };
117
+ }
118
+ if (request.step > this.options.policy.maximumStep ||
119
+ request.logicalTimeMs > this.options.policy.maximumLogicalTimeMs ||
120
+ (current &&
121
+ (request.step <= current.stepHighWater ||
122
+ request.logicalTimeMs <= current.logicalTimeHighWaterMs)))
123
+ throw new RangeError("assessor_ensemble_replay_or_bound_rejected");
124
+ const revision = (current?.revision ?? 0) + 1;
125
+ const unsigned = {
126
+ format: HETEROGENEOUS_ASSESSOR_ENSEMBLE_STATE_FORMAT_V1,
127
+ schemaVersion: 1,
128
+ stateKey,
129
+ bindingDigest: this.options.bindingDigest,
130
+ policyDigest: this.options.policy.policyDigest,
131
+ memberSetDigest: this.memberSetDigest,
132
+ revision,
133
+ logicalTimeHighWaterMs: Math.max(current?.logicalTimeHighWaterMs ?? 0, request.logicalTimeMs),
134
+ stepHighWater: Math.max(current?.stepHighWater ?? 0, request.step),
135
+ activeInvocation: {
136
+ invocationId: request.invocationId,
137
+ requestDigest: request.requestDigest,
138
+ step: request.step,
139
+ executionDomain: request.executionDomain,
140
+ logicalTimeMs: request.logicalTimeMs,
141
+ },
142
+ lastInvocation: current?.lastInvocation ?? null,
143
+ };
144
+ const next = {
145
+ ...unsigned,
146
+ stateDigest: digestAssessorEnsembleStateV1(unsigned),
147
+ };
148
+ if (await this.store.compareAndSet({
149
+ stateKey,
150
+ expectedRevision: current?.revision ?? null,
151
+ expectedStateDigest: current?.stateDigest ?? null,
152
+ next,
153
+ }))
154
+ return { state: next, request };
155
+ }
156
+ throw new Error("assessor_ensemble_cas_exhausted");
157
+ }
158
+ async finish(prepared, verdict) {
159
+ const { state, request } = prepared;
160
+ const unsigned = {
161
+ ...state,
162
+ revision: state.revision + 1,
163
+ activeInvocation: null,
164
+ lastInvocation: {
165
+ invocationId: request.invocationId,
166
+ requestDigest: request.requestDigest,
167
+ step: request.step,
168
+ executionDomain: request.executionDomain,
169
+ verdict,
170
+ },
171
+ };
172
+ const { stateDigest: _ignored, ...withoutDigest } = unsigned;
173
+ const next = {
174
+ ...withoutDigest,
175
+ stateDigest: digestAssessorEnsembleStateV1(withoutDigest),
176
+ };
177
+ if (!(await this.store.compareAndSet({
178
+ stateKey: state.stateKey,
179
+ expectedRevision: state.revision,
180
+ expectedStateDigest: state.stateDigest,
181
+ next,
182
+ }))) {
183
+ const settled = await this.store.read(state.stateKey);
184
+ await this.assertState(settled, state.stateKey);
185
+ if (settled?.lastInvocation?.requestDigest === request.requestDigest &&
186
+ settled.lastInvocation.verdict.verdictDigest === verdict.verdictDigest)
187
+ return settled;
188
+ throw new Error("assessor_ensemble_finish_conflict");
189
+ }
190
+ return next;
191
+ }
192
+ async ask(member, request) {
193
+ let timer;
194
+ try {
195
+ const timeout = new Promise((_, reject) => {
196
+ timer = setTimeout(() => reject(new Error("assessor_timeout")), this.options.policy.assessorTimeoutMs);
197
+ });
198
+ const vote = await Promise.race([
199
+ Promise.resolve(member.assess(request)),
200
+ timeout,
201
+ ]);
202
+ assertAssessorEnsembleVoteV1(vote);
203
+ const d = member.descriptor;
204
+ if (vote.requestDigest !== request.requestDigest ||
205
+ vote.assessorId !== d.assessorId ||
206
+ vote.assessorVersion !== d.assessorVersion ||
207
+ vote.assessorImplementationDigest !== d.assessorImplementationDigest ||
208
+ vote.independenceGroup !== d.independenceGroup)
209
+ return null;
210
+ return vote;
211
+ }
212
+ catch {
213
+ return null;
214
+ }
215
+ finally {
216
+ if (timer)
217
+ clearTimeout(timer);
218
+ }
219
+ }
220
+ decide(request, raw) {
221
+ const votes = raw
222
+ .filter((value) => value !== null)
223
+ .sort((a, b) => a.assessorId.localeCompare(b.assessorId));
224
+ const covering = this.eligibleMembers(request);
225
+ const missing = covering
226
+ .map((m) => m.descriptor.assessorId)
227
+ .filter((id) => !votes.some((vote) => vote.assessorId === id))
228
+ .sort();
229
+ const coverageComplete = this.options.policy.requiredSurfaces.every((surface) => new Set(this.options.members
230
+ .filter((member) => member.descriptor.surfaces.includes(surface))
231
+ .map((member) => member.descriptor.independenceGroup)).size >= this.options.policy.minimumIndependenceGroups) &&
232
+ this.options.policy.requiredModalities.every((modality) => new Set(this.options.members
233
+ .filter((member) => member.descriptor.modalities.includes(modality))
234
+ .map((member) => member.descriptor.independenceGroup)).size >= this.options.policy.minimumIndependenceGroups) &&
235
+ covering.length > 0;
236
+ const byGroup = new Map();
237
+ for (const vote of votes) {
238
+ const group = byGroup.get(vote.independenceGroup) ?? [];
239
+ group.push(vote);
240
+ byGroup.set(vote.independenceGroup, group);
241
+ }
242
+ const chosen = new Map();
243
+ let groupConflict = false;
244
+ for (const [group, groupVotes] of byGroup) {
245
+ const decisions = new Set(groupVotes.map((vote) => vote.decision));
246
+ if (decisions.size !== 1 || decisions.has("unresolved")) {
247
+ groupConflict = true;
248
+ continue;
249
+ }
250
+ const first = [...groupVotes].sort((a, b) => a.assessorId.localeCompare(b.assessorId))[0];
251
+ if (first)
252
+ chosen.set(group, first);
253
+ }
254
+ const counted = [...chosen.values()].sort((a, b) => a.assessorId.localeCompare(b.assessorId));
255
+ const hasQuorum = coverageComplete &&
256
+ counted.length >= this.options.policy.minimumVotes &&
257
+ chosen.size >= this.options.policy.minimumIndependenceGroups;
258
+ const decisions = new Set(counted.map((vote) => vote.decision));
259
+ const decision = groupConflict || !hasQuorum || decisions.size !== 1
260
+ ? "unresolved"
261
+ : (counted[0]?.decision ?? "unresolved");
262
+ return createAssessorEnsembleVerdictV1({
263
+ schemaVersion: 1,
264
+ requestDigest: request.requestDigest,
265
+ decision,
266
+ votes,
267
+ countedAssessorIds: counted.map((vote) => vote.assessorId),
268
+ countedIndependenceGroups: [...chosen.keys()].sort(),
269
+ missingAssessorIds: missing,
270
+ coverageComplete,
271
+ });
272
+ }
273
+ unresolved(request, votes, missing) {
274
+ return createAssessorEnsembleVerdictV1({
275
+ schemaVersion: 1,
276
+ requestDigest: request.requestDigest,
277
+ decision: "unresolved",
278
+ votes,
279
+ countedAssessorIds: [],
280
+ countedIndependenceGroups: [],
281
+ missingAssessorIds: [...missing].sort(),
282
+ coverageComplete: false,
283
+ });
284
+ }
285
+ eligibleMembers(request) {
286
+ return this.options.members.filter((member) => member.descriptor.surfaces.includes(request.surface) &&
287
+ request.modalities.every((modality) => member.descriptor.modalities.includes(modality)));
288
+ }
289
+ async assertState(state, key) {
290
+ if (!state)
291
+ return;
292
+ const { stateDigest, ...unsigned } = state;
293
+ if (state.format !== HETEROGENEOUS_ASSESSOR_ENSEMBLE_STATE_FORMAT_V1 ||
294
+ state.stateKey !== key ||
295
+ state.bindingDigest !== this.options.bindingDigest ||
296
+ state.policyDigest !== this.options.policy.policyDigest ||
297
+ state.memberSetDigest !== this.memberSetDigest ||
298
+ stateDigest !== digestAssessorEnsembleStateV1(unsigned))
299
+ throw new TypeError("assessor_ensemble_state_invalid");
300
+ const anchor = await this.anchor.readAnchor(key);
301
+ if (anchor &&
302
+ (state.revision < anchor.revision ||
303
+ state.logicalTimeHighWaterMs < anchor.logicalTimeHighWaterMs ||
304
+ state.stepHighWater < anchor.stepHighWater))
305
+ throw new TypeError("assessor_ensemble_rollback_detected");
306
+ }
307
+ }
308
+ //# sourceMappingURL=assessor-ensemble-runtime.js.map