@sentropic/h2a 0.22.0 → 0.24.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.
@@ -1,4 +1,6 @@
1
1
  import { type H2AArtifactKind, type H2ARole } from "./types.js";
2
+ export declare const H2A_ATTESTER_COMPREHENSION_RIGHT: "attester-comprehension";
3
+ export type H2AAuthorityMatrixKind = H2AArtifactKind | typeof H2A_ATTESTER_COMPREHENSION_RIGHT;
2
4
  /**
3
5
  * V1 signing authority matrix (DEC-035).
4
6
  *
@@ -12,7 +14,7 @@ import { type H2AArtifactKind, type H2ARole } from "./types.js";
12
14
  * The `SIGNATURE` row admits every role because that kind is the audit
13
15
  * trace of a signing act produced by whoever signed.
14
16
  */
15
- export declare const H2A_AUTHORITY_MATRIX: Readonly<Record<H2AArtifactKind, {
17
+ export declare const H2A_AUTHORITY_MATRIX: Readonly<Record<H2AAuthorityMatrixKind, {
16
18
  roles: readonly H2ARole[];
17
19
  notes?: string;
18
20
  }>>;
@@ -1 +1 @@
1
- {"version":3,"file":"authority.d.ts","sourceRoot":"","sources":["../src/authority.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,OAAO,EACb,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CACzC,MAAM,CAAC,eAAe,EAAE;IAAE,KAAK,EAAE,SAAS,OAAO,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA+CtE,CAAC;AAUH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAIjF;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI,CAOpF"}
1
+ {"version":3,"file":"authority.d.ts","sourceRoot":"","sources":["../src/authority.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,OAAO,EACb,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,gCAAgC,EAAG,wBAAiC,CAAC;AAElF,MAAM,MAAM,sBAAsB,GAC9B,eAAe,GACf,OAAO,gCAAgC,CAAC;AAE5C;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CACzC,MAAM,CAAC,sBAAsB,EAAE;IAAE,KAAK,EAAE,SAAS,OAAO,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAoD7E,CAAC;AAUH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAIjF;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI,CAOpF"}
package/dist/authority.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { H2A_ARTIFACT_KINDS, H2A_ROLES } from "./types.js";
2
+ export const H2A_ATTESTER_COMPREHENSION_RIGHT = "attester-comprehension";
2
3
  /**
3
4
  * V1 signing authority matrix (DEC-035).
4
5
  *
@@ -49,6 +50,10 @@ export const H2A_AUTHORITY_MATRIX = Object.freeze({
49
50
  ENFORCEMENT_PLAN: {
50
51
  roles: Object.freeze(["PRINCIPAL", "EXECUTIF", "CONTROL"]),
51
52
  notes: "Enforcement plans are produced by CONTROL under PRINCIPAL/EXECUTIF authority (DEC-023)."
53
+ },
54
+ [H2A_ATTESTER_COMPREHENSION_RIGHT]: {
55
+ roles: Object.freeze(["PRINCIPAL", "EXECUTIF", "MANDATAIRE", "AGENTS"]),
56
+ notes: "Comprehension attestations are non-binding: PRINCIPAL/EXECUTIF/MANDATAIRE attest natively, while AGENTS require the attester-comprehension mandate right."
52
57
  }
53
58
  });
54
59
  // Sanity check: every canonical kind has an entry. Catches future drift if
@@ -1 +1 @@
1
- {"version":3,"file":"authority.js","sourceRoot":"","sources":["../src/authority.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,SAAS,EAGV,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAE7B,MAAM,CAAC,MAAM,CAAC;IAChB,QAAQ,EAAE;QACR,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,CAAC,CAAuB;QAClF,KAAK,EACH,2GAA2G;KAC9G;IACD,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC,CAAuB;QAChF,KAAK,EACH,mFAAmF;KACtF;IACD,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,CAAC,CAAuB;QAClF,KAAK,EACH,iGAAiG;KACpG;IACD,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;YACnB,WAAW;YACX,UAAU;YACV,WAAW;YACX,SAAS;SACV,CAAuB;QACxB,KAAK,EACH,gHAAgH;KACnH;IACD,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,UAAU,CAAC,CAAuB;QACrE,KAAK,EACH,kFAAkF;KACrF;IACD,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,UAAU,CAAC,CAAuB;QACrE,KAAK,EACH,0FAA0F;KAC7F;IACD,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,CAAuB;QAC1D,KAAK,EACH,uGAAuG;KAC1G;IACD,gBAAgB,EAAE;QAChB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC,CAAuB;QAChF,KAAK,EACH,yFAAyF;KAC5F;CACF,CAAC,CAAC;AAEH,2EAA2E;AAC3E,sEAAsE;AACtE,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;IACtC,IAAI,CAAC,CAAC,IAAI,IAAI,oBAAoB,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,qDAAqD,IAAI,EAAE,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAa,EAAE,IAAqB;IACtE,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,OAAO,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,IAAa,EAAE,IAAqB;IAC5E,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CACb,uBAAuB,IAAI,yCAAyC,IAAI,eAAe,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAC7G,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"authority.js","sourceRoot":"","sources":["../src/authority.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,SAAS,EAGV,MAAM,YAAY,CAAC;AAEpB,MAAM,CAAC,MAAM,gCAAgC,GAAG,wBAAiC,CAAC;AAMlF;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAE7B,MAAM,CAAC,MAAM,CAAC;IAChB,QAAQ,EAAE;QACR,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,CAAC,CAAuB;QAClF,KAAK,EACH,2GAA2G;KAC9G;IACD,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC,CAAuB;QAChF,KAAK,EACH,mFAAmF;KACtF;IACD,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,WAAW,CAAC,CAAuB;QAClF,KAAK,EACH,iGAAiG;KACpG;IACD,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC;YACnB,WAAW;YACX,UAAU;YACV,WAAW;YACX,SAAS;SACV,CAAuB;QACxB,KAAK,EACH,gHAAgH;KACnH;IACD,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,UAAU,CAAC,CAAuB;QACrE,KAAK,EACH,kFAAkF;KACrF;IACD,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,UAAU,CAAC,CAAuB;QACrE,KAAK,EACH,0FAA0F;KAC7F;IACD,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,CAAuB;QAC1D,KAAK,EACH,uGAAuG;KAC1G;IACD,gBAAgB,EAAE;QAChB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC,CAAuB;QAChF,KAAK,EACH,yFAAyF;KAC5F;IACD,CAAC,gCAAgC,CAAC,EAAE;QAClC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAuB;QAC7F,KAAK,EACH,2JAA2J;KAC9J;CACF,CAAC,CAAC;AAEH,2EAA2E;AAC3E,sEAAsE;AACtE,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;IACtC,IAAI,CAAC,CAAC,IAAI,IAAI,oBAAoB,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,qDAAqD,IAAI,EAAE,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAa,EAAE,IAAqB;IACtE,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,OAAO,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,IAAa,EAAE,IAAqB;IAC5E,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CACb,uBAAuB,IAAI,yCAAyC,IAAI,eAAe,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAC7G,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { H2ARole } from "./types.js";
2
+ export declare const H2A_COMPREHENSION_ATTESTATION_BODY_KIND: "comprehension-attestation";
3
+ export interface H2AComprehensionAttestation {
4
+ kind: typeof H2A_COMPREHENSION_ATTESTATION_BODY_KIND;
5
+ subject: string;
6
+ dossierHash: string;
7
+ at: string;
8
+ }
9
+ export interface BuildComprehensionAttestationInput {
10
+ subject: string;
11
+ dossier?: unknown;
12
+ dossierHash?: string;
13
+ at?: string;
14
+ }
15
+ export type H2APublicKeyRing = readonly string[] | Readonly<Record<string, string | readonly string[]>>;
16
+ export declare function buildComprehensionAttestation(input: BuildComprehensionAttestationInput): H2AComprehensionAttestation;
17
+ export declare function isComprehensionAttestation(value: unknown): value is H2AComprehensionAttestation;
18
+ export declare function canAttestComprehension(role: H2ARole, rights?: readonly string[]): boolean;
19
+ export declare function verifyComprehensionAttestation(envelope: unknown, publicKeys: H2APublicKeyRing): boolean;
20
+ //# sourceMappingURL=comprehension-attestation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comprehension-attestation.d.ts","sourceRoot":"","sources":["../src/comprehension-attestation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAe,OAAO,EAAgB,MAAM,YAAY,CAAC;AAErE,eAAO,MAAM,uCAAuC,EAClD,2BAAoC,CAAC;AAEvC,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,OAAO,uCAAuC,CAAC;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,kCAAkC;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,gBAAgB,GACxB,SAAS,MAAM,EAAE,GACjB,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;AA+BzD,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,kCAAkC,GACxC,2BAA2B,CAgB7B;AAED,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,2BAA2B,CAWtC;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,OAAO,EACb,MAAM,GAAE,SAAS,MAAM,EAAO,GAC7B,OAAO,CAOT;AAED,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,OAAO,EACjB,UAAU,EAAE,gBAAgB,GAC3B,OAAO,CA2BT"}
@@ -0,0 +1,90 @@
1
+ import { computeHash } from "./canonical.js";
2
+ import { H2A_ATTESTER_COMPREHENSION_RIGHT, H2A_AUTHORITY_MATRIX } from "./authority.js";
3
+ import { verifyCanonical } from "./signature.js";
4
+ export const H2A_COMPREHENSION_ATTESTATION_BODY_KIND = "comprehension-attestation";
5
+ const SHA256_HASH_PATTERN = /^sha256:[a-f0-9]{64}$/;
6
+ function isRecord(value) {
7
+ return typeof value === "object" && value !== null;
8
+ }
9
+ function publicKeysFor(subject, keyring) {
10
+ if (Array.isArray(keyring)) {
11
+ return keyring.filter((key) => typeof key === "string" && key.length > 0);
12
+ }
13
+ const keyed = keyring[subject];
14
+ if (Array.isArray(keyed)) {
15
+ return keyed.filter((key) => typeof key === "string" && key.length > 0);
16
+ }
17
+ if (typeof keyed === "string" && keyed.length > 0) {
18
+ return [keyed];
19
+ }
20
+ return [];
21
+ }
22
+ function isSignature(value) {
23
+ return (isRecord(value) &&
24
+ typeof value.by === "string" &&
25
+ typeof value.alg === "string" &&
26
+ typeof value.value === "string");
27
+ }
28
+ export function buildComprehensionAttestation(input) {
29
+ const subject = input.subject.trim();
30
+ if (subject.length === 0) {
31
+ throw new Error("comprehension-attestation: subject is required");
32
+ }
33
+ const dossierHash = input.dossierHash ?? (input.dossier !== undefined ? computeHash(input.dossier) : undefined);
34
+ if (typeof dossierHash !== "string" || !SHA256_HASH_PATTERN.test(dossierHash)) {
35
+ throw new Error("comprehension-attestation: dossierHash must be a sha256:<hex> hash");
36
+ }
37
+ return {
38
+ kind: H2A_COMPREHENSION_ATTESTATION_BODY_KIND,
39
+ subject,
40
+ dossierHash,
41
+ at: input.at ?? new Date().toISOString()
42
+ };
43
+ }
44
+ export function isComprehensionAttestation(value) {
45
+ return (isRecord(value) &&
46
+ value.kind === H2A_COMPREHENSION_ATTESTATION_BODY_KIND &&
47
+ typeof value.subject === "string" &&
48
+ value.subject.trim().length > 0 &&
49
+ typeof value.dossierHash === "string" &&
50
+ SHA256_HASH_PATTERN.test(value.dossierHash) &&
51
+ typeof value.at === "string" &&
52
+ value.at.length > 0);
53
+ }
54
+ export function canAttestComprehension(role, rights = []) {
55
+ const allowed = H2A_AUTHORITY_MATRIX[H2A_ATTESTER_COMPREHENSION_RIGHT].roles;
56
+ if (!allowed.includes(role))
57
+ return false;
58
+ if (role === "AGENTS") {
59
+ return rights.includes(H2A_ATTESTER_COMPREHENSION_RIGHT);
60
+ }
61
+ return role === "PRINCIPAL" || role === "EXECUTIF" || role === "MANDATAIRE";
62
+ }
63
+ export function verifyComprehensionAttestation(envelope, publicKeys) {
64
+ try {
65
+ if (!isRecord(envelope) || !isComprehensionAttestation(envelope.body)) {
66
+ return false;
67
+ }
68
+ const typed = envelope;
69
+ const signatures = Array.isArray(typed.signatures)
70
+ ? typed.signatures.filter(isSignature)
71
+ : [];
72
+ if (signatures.length === 0) {
73
+ return false;
74
+ }
75
+ const subject = typed.body.subject;
76
+ const candidates = signatures.filter((signature) => signature.by === subject);
77
+ if (candidates.length === 0) {
78
+ return false;
79
+ }
80
+ const keys = publicKeysFor(subject, publicKeys);
81
+ if (keys.length === 0) {
82
+ return false;
83
+ }
84
+ return candidates.some((signature) => keys.some((publicKeyPem) => verifyCanonical(typed.body, signature, publicKeyPem)));
85
+ }
86
+ catch {
87
+ return false;
88
+ }
89
+ }
90
+ //# sourceMappingURL=comprehension-attestation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comprehension-attestation.js","sourceRoot":"","sources":["../src/comprehension-attestation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { type H2ADisclosureMode } from "./disclosure.js";
2
+ export declare const H2A_DECLARATION_INTERET_BODY_KIND: "declaration-interet";
3
+ export declare const H2A_POSTURES_CONFLIT: readonly ["none", "a-surveiller", "conflit-declarable"];
4
+ export declare const H2A_CRITERES_CONFLIT: readonly ["hors-scope-propre", "signataire", "controle-flag"];
5
+ export type H2APostureConflit = (typeof H2A_POSTURES_CONFLIT)[number];
6
+ export type H2ACritereConflit = (typeof H2A_CRITERES_CONFLIT)[number];
7
+ export interface H2ADeclarationInteret {
8
+ readonly kind: typeof H2A_DECLARATION_INTERET_BODY_KIND;
9
+ readonly subject: string;
10
+ readonly interets: readonly string[];
11
+ readonly bindings?: readonly string[];
12
+ readonly masqueImpactCollectif?: boolean;
13
+ readonly at: string;
14
+ }
15
+ export interface H2APostureConflitContext {
16
+ readonly declarations?: readonly H2ADeclarationInteret[];
17
+ readonly ownScopes?: readonly string[];
18
+ readonly decisionScopes?: readonly string[];
19
+ readonly signers?: readonly string[];
20
+ readonly controleFlags?: readonly string[];
21
+ }
22
+ export interface H2APostureConflitResult {
23
+ readonly subject: string;
24
+ readonly postureConflit: H2APostureConflit;
25
+ readonly criteres: readonly H2ACritereConflit[];
26
+ readonly disclosureMode: H2ADisclosureMode;
27
+ readonly declaration?: H2ADeclarationInteret;
28
+ readonly masqueImpactCollectif: boolean;
29
+ }
30
+ export declare function isH2ADeclarationInteret(value: unknown): value is H2ADeclarationInteret;
31
+ export declare function derivePostureConflit(subject: string, context?: H2APostureConflitContext): H2APostureConflitResult;
32
+ //# sourceMappingURL=conflit-interet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conflit-interet.d.ts","sourceRoot":"","sources":["../src/conflit-interet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAE/E,eAAO,MAAM,iCAAiC,EAAG,qBAA8B,CAAC;AAEhF,eAAO,MAAM,oBAAoB,yDAIvB,CAAC;AAEX,eAAO,MAAM,oBAAoB,+DAIvB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AACtE,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,OAAO,iCAAiC,CAAC;IACxD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IACzC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,cAAc,EAAE,iBAAiB,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAChD,QAAQ,CAAC,cAAc,EAAE,iBAAiB,CAAC;IAC3C,QAAQ,CAAC,WAAW,CAAC,EAAE,qBAAqB,CAAC;IAC7C,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC;CACzC;AAMD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,qBAAqB,CAmBtF;AAgCD,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,wBAA6B,GACrC,uBAAuB,CAuCzB"}
@@ -0,0 +1,85 @@
1
+ import { H2A_DISCLOSURE_MODES } from "./disclosure.js";
2
+ export const H2A_DECLARATION_INTERET_BODY_KIND = "declaration-interet";
3
+ export const H2A_POSTURES_CONFLIT = [
4
+ "none",
5
+ "a-surveiller",
6
+ "conflit-declarable"
7
+ ];
8
+ export const H2A_CRITERES_CONFLIT = [
9
+ "hors-scope-propre",
10
+ "signataire",
11
+ "controle-flag"
12
+ ];
13
+ function isStringArray(value) {
14
+ return Array.isArray(value) && value.every((item) => typeof item === "string");
15
+ }
16
+ export function isH2ADeclarationInteret(value) {
17
+ if (typeof value !== "object" || value === null || Array.isArray(value))
18
+ return false;
19
+ const candidate = value;
20
+ return (candidate.kind === H2A_DECLARATION_INTERET_BODY_KIND &&
21
+ typeof candidate.subject === "string" &&
22
+ isStringArray(candidate.interets) &&
23
+ (candidate.bindings === undefined || isStringArray(candidate.bindings)) &&
24
+ (candidate.masqueImpactCollectif === undefined ||
25
+ typeof candidate.masqueImpactCollectif === "boolean") &&
26
+ typeof candidate.at === "string");
27
+ }
28
+ function latestDeclaration(subject, declarations) {
29
+ for (let i = declarations.length - 1; i >= 0; i--) {
30
+ const declaration = declarations[i];
31
+ if (declaration.subject === subject)
32
+ return declaration;
33
+ }
34
+ return undefined;
35
+ }
36
+ function reachesOutsideOwnScope(ownScopes, decisionScopes, bindings) {
37
+ const checkedScopes = [...decisionScopes, ...bindings].filter((scope) => scope.length > 0);
38
+ if (checkedScopes.length === 0)
39
+ return false;
40
+ const own = new Set(ownScopes);
41
+ if (own.size === 0)
42
+ return true;
43
+ return checkedScopes.some((scope) => !own.has(scope));
44
+ }
45
+ function knownDisclosureMode(mode) {
46
+ if (!H2A_DISCLOSURE_MODES.includes(mode)) {
47
+ throw new Error(`unknown disclosure mode: ${mode}`);
48
+ }
49
+ return mode;
50
+ }
51
+ export function derivePostureConflit(subject, context = {}) {
52
+ const declaration = latestDeclaration(subject, context.declarations ?? []);
53
+ if (!declaration || declaration.interets.length === 0) {
54
+ return {
55
+ subject,
56
+ postureConflit: "none",
57
+ criteres: [],
58
+ disclosureMode: knownDisclosureMode("attestation"),
59
+ masqueImpactCollectif: false
60
+ };
61
+ }
62
+ const criteres = [];
63
+ const horsScope = reachesOutsideOwnScope(context.ownScopes ?? [], context.decisionScopes ?? [], declaration.bindings ?? []);
64
+ if (horsScope)
65
+ criteres.push("hors-scope-propre");
66
+ if ((context.signers ?? []).includes(subject))
67
+ criteres.push("signataire");
68
+ if ((context.controleFlags ?? []).includes(subject))
69
+ criteres.push("controle-flag");
70
+ const postureConflit = criteres.length > 0 ? "conflit-declarable" : "a-surveiller";
71
+ const masqueImpactCollectif = declaration.masqueImpactCollectif === true;
72
+ const disclosureMode = postureConflit === "conflit-declarable" &&
73
+ (masqueImpactCollectif || horsScope || criteres.includes("controle-flag"))
74
+ ? knownDisclosureMode("evidence-package")
75
+ : knownDisclosureMode("attestation");
76
+ return {
77
+ subject,
78
+ postureConflit,
79
+ criteres,
80
+ disclosureMode,
81
+ declaration,
82
+ masqueImpactCollectif
83
+ };
84
+ }
85
+ //# sourceMappingURL=conflit-interet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conflit-interet.js","sourceRoot":"","sources":["../src/conflit-interet.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -8,6 +8,10 @@ export { H2A_POLICY_PRECEDENCE_CONFLICT_DISPOSITIONS, H2A_POLICY_PRECEDENCE_PROF
8
8
  export type { H2APolicyPrecedenceAuditResult, H2APolicyPrecedenceConflictDisposition, H2APolicyPrecedenceProfileDescriptor, H2APolicyPrecedenceTier } from "./policy-precedence.js";
9
9
  export { H2A_DISCLOSURE_CONFLICT_DISPOSITIONS, H2A_DISCLOSURE_MODES, H2A_DISCLOSURE_PROFILES, auditDisclosureProfile, getDisclosureProfile } from "./disclosure.js";
10
10
  export type { H2ADisclosureAuditResult, H2ADisclosureConflictDisposition, H2ADisclosureMode, H2ADisclosureProfileDescriptor } from "./disclosure.js";
11
+ export { H2A_CRITERES_CONFLIT, H2A_DECLARATION_INTERET_BODY_KIND, H2A_POSTURES_CONFLIT, derivePostureConflit, isH2ADeclarationInteret } from "./conflit-interet.js";
12
+ export type { H2ACritereConflit, H2ADeclarationInteret, H2APostureConflit, H2APostureConflitContext, H2APostureConflitResult } from "./conflit-interet.js";
13
+ export { H2A_COMPREHENSION_ATTESTATION_BODY_KIND, buildComprehensionAttestation, canAttestComprehension, isComprehensionAttestation, verifyComprehensionAttestation } from "./comprehension-attestation.js";
14
+ export type { BuildComprehensionAttestationInput, H2AComprehensionAttestation, H2APublicKeyRing } from "./comprehension-attestation.js";
11
15
  export { H2A_RECOURSE_CONFLICT_DISPOSITIONS, H2A_RECOURSE_PROFILES, H2A_RECOURSE_STATES, auditRecourseProfile, getRecourseProfile } from "./recourse.js";
12
16
  export type { H2ARecourseAuditResult, H2ARecourseConflictDisposition, H2ARecourseProfileDescriptor, H2ARecourseState } from "./recourse.js";
13
17
  export { H2A_OBLIGATION_CADENCES, H2A_RECURRING_OBLIGATION_CONFLICT_DISPOSITIONS, H2A_RECURRING_OBLIGATION_PROFILES, auditRecurringObligationProfile, getRecurringObligationProfile } from "./recurring-obligations.js";
@@ -50,7 +54,8 @@ export type { SignOptions } from "./signature.js";
50
54
  export { appendJournalEntry, createJournalEntry, journalEntryAsCanonicalString, verifyJournalChain } from "./journal.js";
51
55
  export type { H2AJournalEntry, H2AJournalPayload, H2AJournalVerification } from "./journal.js";
52
56
  export { isAmendment, isAuthority, isContract, isEnforcementPlan, isEngagement, isMandate, isPolicy, isSignature } from "./artifacts.js";
53
- export { H2A_AUTHORITY_MATRIX, assertCanSignArtifactKind, canSignArtifactKind } from "./authority.js";
57
+ export { H2A_AUTHORITY_MATRIX, H2A_ATTESTER_COMPREHENSION_RIGHT, assertCanSignArtifactKind, canSignArtifactKind } from "./authority.js";
58
+ export type { H2AAuthorityMatrixKind } from "./authority.js";
54
59
  export { H2A_CONTRACTUAL_ARTIFACT_PROFILES, assertContractualArtifactInvariants, auditContractualArtifact, getContractualArtifactProfile } from "./contractual.js";
55
60
  export type { H2AContractualArtifact, H2AContractualArtifactAuditResult, H2AContractualArtifactKind, H2AContractualArtifactProfile, H2AContractualArtifactProfileDescriptor } from "./contractual.js";
56
61
  export { H2A_ESCALATION_AUTHORITY_KINDS, H2A_ESCALATION_CHANNELS, assertEscalationTargetResolved, resolveEscalationTarget } from "./escalation.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -3,6 +3,8 @@ export { H2A_MULTI_HUMAN_MODE_IDS, H2A_MULTI_HUMAN_MODES, getMultiHumanMode, sel
3
3
  export { H2A_GOVERNANCE_BOUNDARY_ITEMS, H2A_GOVERNANCE_BOUNDARY_LAYERS, H2A_GOVERNANCE_BOUNDARY_STATUSES, classifyGovernanceBoundary, listGovernanceBoundaryItems } from "./governance-boundary.js";
4
4
  export { H2A_POLICY_PRECEDENCE_CONFLICT_DISPOSITIONS, H2A_POLICY_PRECEDENCE_PROFILES, H2A_POLICY_PRECEDENCE_TIERS, auditPolicyPrecedenceProfile, getPolicyPrecedenceProfile } from "./policy-precedence.js";
5
5
  export { H2A_DISCLOSURE_CONFLICT_DISPOSITIONS, H2A_DISCLOSURE_MODES, H2A_DISCLOSURE_PROFILES, auditDisclosureProfile, getDisclosureProfile } from "./disclosure.js";
6
+ export { H2A_CRITERES_CONFLIT, H2A_DECLARATION_INTERET_BODY_KIND, H2A_POSTURES_CONFLIT, derivePostureConflit, isH2ADeclarationInteret } from "./conflit-interet.js";
7
+ export { H2A_COMPREHENSION_ATTESTATION_BODY_KIND, buildComprehensionAttestation, canAttestComprehension, isComprehensionAttestation, verifyComprehensionAttestation } from "./comprehension-attestation.js";
6
8
  export { H2A_RECOURSE_CONFLICT_DISPOSITIONS, H2A_RECOURSE_PROFILES, H2A_RECOURSE_STATES, auditRecourseProfile, getRecourseProfile } from "./recourse.js";
7
9
  export { H2A_OBLIGATION_CADENCES, H2A_RECURRING_OBLIGATION_CONFLICT_DISPOSITIONS, H2A_RECURRING_OBLIGATION_PROFILES, auditRecurringObligationProfile, getRecurringObligationProfile } from "./recurring-obligations.js";
8
10
  export { H2A_JURISDICTION_CONFLICT_DISPOSITIONS, H2A_JURISDICTION_KINDS, H2A_JURISDICTION_PROFILES, auditJurisdictionProfile, getJurisdictionProfile } from "./jurisdiction.js";
@@ -26,7 +28,7 @@ export { canonicalize, computeHash } from "./canonical.js";
26
28
  export { signCanonical, verifyCanonical } from "./signature.js";
27
29
  export { appendJournalEntry, createJournalEntry, journalEntryAsCanonicalString, verifyJournalChain } from "./journal.js";
28
30
  export { isAmendment, isAuthority, isContract, isEnforcementPlan, isEngagement, isMandate, isPolicy, isSignature } from "./artifacts.js";
29
- export { H2A_AUTHORITY_MATRIX, assertCanSignArtifactKind, canSignArtifactKind } from "./authority.js";
31
+ export { H2A_AUTHORITY_MATRIX, H2A_ATTESTER_COMPREHENSION_RIGHT, assertCanSignArtifactKind, canSignArtifactKind } from "./authority.js";
30
32
  export { H2A_CONTRACTUAL_ARTIFACT_PROFILES, assertContractualArtifactInvariants, auditContractualArtifact, getContractualArtifactProfile } from "./contractual.js";
31
33
  export { H2A_ESCALATION_AUTHORITY_KINDS, H2A_ESCALATION_CHANNELS, assertEscalationTargetResolved, resolveEscalationTarget } from "./escalation.js";
32
34
  export { H2A_CANONICAL_FIXTURES } from "./fixtures-index.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sentropic/h2a",
3
- "version": "0.22.0",
3
+ "version": "0.24.0",
4
4
  "description": "Core contracts and runtime primitives for human-to-agent coordination.",
5
5
  "license": "MIT",
6
6
  "type": "module",