@sentropic/h2a 0.10.0 → 0.12.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.
- package/dist/blockage.d.ts +50 -0
- package/dist/blockage.d.ts.map +1 -0
- package/dist/blockage.js +46 -0
- package/dist/blockage.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/nhi-export.d.ts +97 -0
- package/dist/nhi-export.d.ts.map +1 -0
- package/dist/nhi-export.js +94 -0
- package/dist/nhi-export.js.map +1 -0
- package/dist/session.d.ts +1 -1
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +3 -1
- package/dist/session.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DEC-092 — EVO-3 agent-blockage feedback loop. A **blockage** is the third
|
|
3
|
+
* coordination signal: the drumbeat stall is silent (→ relance, DEC-084),
|
|
4
|
+
* escalation targets the competent authority (DEC-040), and a blockage is
|
|
5
|
+
* broadcast to **peer agents** as an FYI / help request. `workStatus: "blocked"`
|
|
6
|
+
* is already a non-stall the drumbeat skips (DEC-085); this turns it into an
|
|
7
|
+
* actionable, peer-visible signal.
|
|
8
|
+
*
|
|
9
|
+
* Pure core: the type, an `isActiveBlockage` predicate, and a builder for a
|
|
10
|
+
* signed-able envelope (parity with the NHI attestation, DEC-088) so a blockage
|
|
11
|
+
* can be signed/journalled. The durable registry, notification and per-host
|
|
12
|
+
* delivery live in `@sentropic/h2a-cli`.
|
|
13
|
+
*/
|
|
14
|
+
import type { H2AEnvelope, H2ARole } from "./types.js";
|
|
15
|
+
export interface H2ABlockage {
|
|
16
|
+
readonly instance: string;
|
|
17
|
+
readonly scope: string;
|
|
18
|
+
/** What the agent is blocked on. */
|
|
19
|
+
readonly reason: string;
|
|
20
|
+
/** What would unblock it (optional, helps a peer act). */
|
|
21
|
+
readonly needs?: string;
|
|
22
|
+
readonly raisedAt: string;
|
|
23
|
+
/** Set when the blockage is cleared. */
|
|
24
|
+
readonly resolvedAt?: string;
|
|
25
|
+
readonly resolvedBy?: string;
|
|
26
|
+
}
|
|
27
|
+
/** A blockage is active until it is resolved. */
|
|
28
|
+
export declare function isActiveBlockage(blockage: H2ABlockage): boolean;
|
|
29
|
+
export declare const H2A_BLOCKAGE_BODY_KIND = "blockage";
|
|
30
|
+
export declare const H2A_BLOCKAGE_CLEARED_BODY_KIND = "blockage-cleared";
|
|
31
|
+
export interface H2ABlockageBody {
|
|
32
|
+
readonly kind: typeof H2A_BLOCKAGE_BODY_KIND | typeof H2A_BLOCKAGE_CLEARED_BODY_KIND;
|
|
33
|
+
readonly blockage: H2ABlockage;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Build the canonical *unsigned* envelope carrying a blockage (or its clear).
|
|
37
|
+
* No new artifact kind — a plain `event` envelope, so a recipient verifies it
|
|
38
|
+
* with the standard `verifyEnvelopeSignature`. The caller signs it.
|
|
39
|
+
*/
|
|
40
|
+
export declare function blockageEnvelope(input: {
|
|
41
|
+
readonly blockage: H2ABlockage;
|
|
42
|
+
readonly actor: {
|
|
43
|
+
readonly instance: string;
|
|
44
|
+
readonly role: H2ARole;
|
|
45
|
+
readonly scope: string;
|
|
46
|
+
};
|
|
47
|
+
readonly cleared?: boolean;
|
|
48
|
+
readonly createdAt?: string;
|
|
49
|
+
}): H2AEnvelope<H2ABlockageBody>;
|
|
50
|
+
//# sourceMappingURL=blockage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blockage.d.ts","sourceRoot":"","sources":["../src/blockage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAEvD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,oCAAoC;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,0DAA0D;IAC1D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,wCAAwC;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,iDAAiD;AACjD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAE/D;AAED,eAAO,MAAM,sBAAsB,aAAa,CAAC;AACjD,eAAO,MAAM,8BAA8B,qBAAqB,CAAC;AAEjE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,OAAO,sBAAsB,GAAG,OAAO,8BAA8B,CAAC;IACrF,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;CAChC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACtC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9F,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,GAAG,WAAW,CAAC,eAAe,CAAC,CAmB/B"}
|
package/dist/blockage.js
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DEC-092 — EVO-3 agent-blockage feedback loop. A **blockage** is the third
|
|
3
|
+
* coordination signal: the drumbeat stall is silent (→ relance, DEC-084),
|
|
4
|
+
* escalation targets the competent authority (DEC-040), and a blockage is
|
|
5
|
+
* broadcast to **peer agents** as an FYI / help request. `workStatus: "blocked"`
|
|
6
|
+
* is already a non-stall the drumbeat skips (DEC-085); this turns it into an
|
|
7
|
+
* actionable, peer-visible signal.
|
|
8
|
+
*
|
|
9
|
+
* Pure core: the type, an `isActiveBlockage` predicate, and a builder for a
|
|
10
|
+
* signed-able envelope (parity with the NHI attestation, DEC-088) so a blockage
|
|
11
|
+
* can be signed/journalled. The durable registry, notification and per-host
|
|
12
|
+
* delivery live in `@sentropic/h2a-cli`.
|
|
13
|
+
*/
|
|
14
|
+
import { computeHash } from "./canonical.js";
|
|
15
|
+
import { createEnvelope } from "./envelope.js";
|
|
16
|
+
/** A blockage is active until it is resolved. */
|
|
17
|
+
export function isActiveBlockage(blockage) {
|
|
18
|
+
return blockage.resolvedAt === undefined;
|
|
19
|
+
}
|
|
20
|
+
export const H2A_BLOCKAGE_BODY_KIND = "blockage";
|
|
21
|
+
export const H2A_BLOCKAGE_CLEARED_BODY_KIND = "blockage-cleared";
|
|
22
|
+
/**
|
|
23
|
+
* Build the canonical *unsigned* envelope carrying a blockage (or its clear).
|
|
24
|
+
* No new artifact kind — a plain `event` envelope, so a recipient verifies it
|
|
25
|
+
* with the standard `verifyEnvelopeSignature`. The caller signs it.
|
|
26
|
+
*/
|
|
27
|
+
export function blockageEnvelope(input) {
|
|
28
|
+
const body = {
|
|
29
|
+
kind: input.cleared ? H2A_BLOCKAGE_CLEARED_BODY_KIND : H2A_BLOCKAGE_BODY_KIND,
|
|
30
|
+
blockage: input.blockage
|
|
31
|
+
};
|
|
32
|
+
const createdAt = input.createdAt ?? input.blockage.resolvedAt ?? input.blockage.raisedAt;
|
|
33
|
+
const id = `blockage-${computeHash({ by: input.actor.instance, body, createdAt }).slice(0, 16)}`;
|
|
34
|
+
return createEnvelope({
|
|
35
|
+
id,
|
|
36
|
+
type: "event",
|
|
37
|
+
actor: {
|
|
38
|
+
instance: input.actor.instance,
|
|
39
|
+
role: input.actor.role,
|
|
40
|
+
scope: input.actor.scope
|
|
41
|
+
},
|
|
42
|
+
body,
|
|
43
|
+
createdAt
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=blockage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blockage.js","sourceRoot":"","sources":["../src/blockage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAgB/C,iDAAiD;AACjD,MAAM,UAAU,gBAAgB,CAAC,QAAqB;IACpD,OAAO,QAAQ,CAAC,UAAU,KAAK,SAAS,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAAC;AACjD,MAAM,CAAC,MAAM,8BAA8B,GAAG,kBAAkB,CAAC;AAOjE;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAKhC;IACC,MAAM,IAAI,GAAoB;QAC5B,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,sBAAsB;QAC7E,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,CAAC;IACF,MAAM,SAAS,GACb,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAC1E,MAAM,EAAE,GAAG,YAAY,WAAW,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IACjG,OAAO,cAAc,CAAkB;QACrC,EAAE;QACF,IAAI,EAAE,OAAO;QACb,KAAK,EAAE;YACL,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ;YAC9B,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;YACtB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK;SACzB;QACD,IAAI;QACJ,SAAS;KACV,CAAC,CAAC;AACL,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -23,6 +23,10 @@ export { H2A_HOST_BRIDGE_CLAUSES, H2A_HOST_BRIDGE_PROFILES, auditHostBridge, get
|
|
|
23
23
|
export type { H2AHostBridgeAuditResult, H2AHostBridgeAuthBoundaryClause, H2AHostBridgeClause, H2AHostBridgeDisclosureClause, H2AHostBridgeIdentityClause, H2AHostBridgeLifecycleClause, H2AHostBridgeProfileDescriptor, H2AHostBridgeProfileId, H2AHostBridgeResourceLimitsClause } from "./h2a-bridge.js";
|
|
24
24
|
export { H2A_NHI_ATTESTATION_BODY_KIND, H2A_NHI_DEFAULT_LONG_LIVED_KEY_DAYS, H2A_NHI_RISK_IDS, auditNhiPosture, nhiAttestationEnvelope, nhiInventory, nhiKeyFingerprint } from "./nhi.js";
|
|
25
25
|
export type { H2ANhiAttestationActor, H2ANhiAttestationBody, H2ANhiFinding, H2ANhiInstanceInventory, H2ANhiInstanceSnapshot, H2ANhiInventory, H2ANhiInventoryInput, H2ANhiInventoryTotals, H2ANhiKeyEventSnapshot, H2ANhiKeyInventory, H2ANhiOffboardSnapshot, H2ANhiPostureInput, H2ANhiPostureReport, H2ANhiPostureSummary, H2ANhiRiskId, H2ANhiSeverity, H2ANhiSubagentInventory, H2ANhiSubagentSnapshot } from "./nhi.js";
|
|
26
|
+
export { H2A_NHI_EXPORT_KEY_USE, H2A_NHI_SPIFFE_PATH_ENCODINGS, nhiSpiffeId, nhiTrustBundle } from "./nhi-export.js";
|
|
27
|
+
export type { H2ANhiTrustBundle, H2ANhiTrustBundleInput, H2ANhiTrustBundleKey } from "./nhi-export.js";
|
|
28
|
+
export { H2A_BLOCKAGE_BODY_KIND, H2A_BLOCKAGE_CLEARED_BODY_KIND, blockageEnvelope, isActiveBlockage } from "./blockage.js";
|
|
29
|
+
export type { H2ABlockage, H2ABlockageBody } from "./blockage.js";
|
|
26
30
|
export { assertValidNegotiationState } from "./negotiation.js";
|
|
27
31
|
export { canonicalize, computeHash } from "./canonical.js";
|
|
28
32
|
export { signCanonical, verifyCanonical } from "./signature.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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":"AAAA,OAAO,EACL,0BAA0B,EAC1B,iBAAiB,EACjB,sBAAsB,EACtB,0BAA0B,EAC1B,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,qBAAqB,EACrB,+BAA+B,EAC/B,2BAA2B,EAC3B,8BAA8B,EAC9B,aAAa,EACb,4BAA4B,EAC5B,cAAc,EACd,WAAW,EACZ,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,oBAAoB,EACpB,2BAA2B,EAC3B,mBAAmB,EACnB,wBAAwB,EACxB,0BAA0B,EAC1B,iCAAiC,EACjC,gCAAgC,EACjC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,EAC9B,gCAAgC,EAChC,0BAA0B,EAC1B,2BAA2B,EAC5B,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,mCAAmC,EACnC,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC5B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,2CAA2C,EAC3C,8BAA8B,EAC9B,2BAA2B,EAC3B,4BAA4B,EAC5B,0BAA0B,EAC3B,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,8BAA8B,EAC9B,sCAAsC,EACtC,oCAAoC,EACpC,uBAAuB,EACxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,oCAAoC,EACpC,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,wBAAwB,EACxB,gCAAgC,EAChC,iBAAiB,EACjB,8BAA8B,EAC/B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,kCAAkC,EAClC,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,sBAAsB,EACtB,8BAA8B,EAC9B,4BAA4B,EAC5B,gBAAgB,EACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,uBAAuB,EACvB,8CAA8C,EAC9C,iCAAiC,EACjC,+BAA+B,EAC/B,6BAA6B,EAC9B,MAAM,4BAA4B,CAAC;AACpC,YAAY,EACV,oBAAoB,EACpB,iCAAiC,EACjC,yCAAyC,EACzC,uCAAuC,EACxC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,sCAAsC,EACtC,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,0BAA0B,EAC1B,kCAAkC,EAClC,mBAAmB,EACnB,gCAAgC,EACjC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,cAAc,EACd,aAAa,EACb,YAAY,EACZ,uBAAuB,EACxB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EAClB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,kBAAkB,EACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,yBAAyB,EACzB,6BAA6B,EAC7B,yCAAyC,EACzC,+BAA+B,EAC/B,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EAClB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,gBAAgB,EAChB,UAAU,EACV,uBAAuB,EACvB,mBAAmB,EACnB,2BAA2B,EAC3B,eAAe,EACf,eAAe,EACf,cAAc,EACd,eAAe,EACf,aAAa,EACd,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,wBAAwB,EACxB,+BAA+B,EAC/B,mBAAmB,EACnB,6BAA6B,EAC7B,2BAA2B,EAC3B,4BAA4B,EAC5B,8BAA8B,EAC9B,sBAAsB,EACtB,iCAAiC,EAClC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,6BAA6B,EAC7B,mCAAmC,EACnC,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,YAAY,EACZ,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,sBAAsB,EACtB,qBAAqB,EACrB,aAAa,EACb,uBAAuB,EACvB,sBAAsB,EACtB,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,cAAc,EACd,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,sBAAsB,EACtB,6BAA6B,EAC7B,WAAW,EACX,cAAc,EACf,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,sBAAsB,EACtB,8BAA8B,EAC9B,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAChE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,6BAA6B,EAC7B,kBAAkB,EACnB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,WAAW,EACX,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,WAAW,EACZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,mBAAmB,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,iCAAiC,EACjC,mCAAmC,EACnC,wBAAwB,EACxB,6BAA6B,EAC9B,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,sBAAsB,EACtB,iCAAiC,EACjC,0BAA0B,EAC1B,6BAA6B,EAC7B,uCAAuC,EACxC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,8BAA8B,EAC9B,uBAAuB,EACvB,8BAA8B,EAC9B,uBAAuB,EACxB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,0BAA0B,EAC1B,oBAAoB,EACpB,uBAAuB,EACvB,2BAA2B,EAC3B,2BAA2B,EAC3B,0BAA0B,EAC1B,6BAA6B,EAC9B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,YAAY,EAAE,gCAAgC,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EACL,0BAA0B,EAC1B,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,kBAAkB,EAClB,qBAAqB,EACrB,0BAA0B,EAC3B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,YAAY,EACZ,SAAS,EACT,WAAW,EACZ,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,WAAW,EACX,oBAAoB,EACpB,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,WAAW,EACX,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,mBAAmB,EACnB,SAAS,EACT,qBAAqB,EACrB,OAAO,EACP,YAAY,EACb,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -11,6 +11,8 @@ export { H2A_DEFAULT_MAX_AGE_MS, H2A_DEFAULT_MAX_SKEW_MS, checkEnvelopeFreshness
|
|
|
11
11
|
export { H2A_DEFAULT_STALL_IDLE_MS, H2A_SESSION_DEFAULT_EXPIRY_MS, H2A_SESSION_DEFAULT_HEARTBEAT_INTERVAL_MS, H2A_SESSION_NOTIFICATION_TOPICS, H2A_SESSION_STATES, H2A_WORK_STATUSES, inferStall, isH2ASession, isSessionExpired, pickFreshSessions } from "./session.js";
|
|
12
12
|
export { H2A_HOST_BRIDGE_CLAUSES, H2A_HOST_BRIDGE_PROFILES, auditHostBridge, getHostBridgeProfile, listHostBridgeProfiles } from "./h2a-bridge.js";
|
|
13
13
|
export { H2A_NHI_ATTESTATION_BODY_KIND, H2A_NHI_DEFAULT_LONG_LIVED_KEY_DAYS, H2A_NHI_RISK_IDS, auditNhiPosture, nhiAttestationEnvelope, nhiInventory, nhiKeyFingerprint } from "./nhi.js";
|
|
14
|
+
export { H2A_NHI_EXPORT_KEY_USE, H2A_NHI_SPIFFE_PATH_ENCODINGS, nhiSpiffeId, nhiTrustBundle } from "./nhi-export.js";
|
|
15
|
+
export { H2A_BLOCKAGE_BODY_KIND, H2A_BLOCKAGE_CLEARED_BODY_KIND, blockageEnvelope, isActiveBlockage } from "./blockage.js";
|
|
14
16
|
export { assertValidNegotiationState } from "./negotiation.js";
|
|
15
17
|
export { canonicalize, computeHash } from "./canonical.js";
|
|
16
18
|
export { signCanonical, verifyCanonical } from "./signature.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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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NHI P3 (interop) — SPIFFE/SPIRE-compatible **export** primitives. Pure and
|
|
3
|
+
* deterministic, like `nhi.ts`: the caller gathers an instance's active public
|
|
4
|
+
* keys (the keyring) and a trust-domain name and passes them in; this module
|
|
5
|
+
* only transforms them into a SPIFFE-bundle-/JWKS-shaped object and a SPIFFE
|
|
6
|
+
* ID. It owns no I/O, no clock, no network and adds no dependency.
|
|
7
|
+
*
|
|
8
|
+
* Design + sourced SPIFFE facts: `docs/superpowers/specs/2026-05-28-nhi-p3-interop-design.md`.
|
|
9
|
+
* Gate / shortlist: `evaluations/nhi-landscape.md` (§6 #1, SPIFFE-first).
|
|
10
|
+
*
|
|
11
|
+
* Scope honesty: h2a is **not** a SPIRE replacement. It mints no SVIDs and does
|
|
12
|
+
* no node/workload attestation. h2a holds PEM (SPKI) ed25519 *public* keys, not
|
|
13
|
+
* JWK-encoded keys and not X.509/JWT SVIDs. So this is the **trust-anchor**
|
|
14
|
+
* material in a bundle *shape*: the real SPIFFE/RFC-7517 bundle-level fields
|
|
15
|
+
* (`keys`, optional `spiffe_sequence`/`spiffe_refresh_hint`), but each key entry
|
|
16
|
+
* is an h2a-native descriptor (fingerprint as `kid` + the PEM) explicitly tagged
|
|
17
|
+
* so it is not mistaken for an `x509-svid`/`jwt-svid` JWK. PEM→JWK(OKP) encoding,
|
|
18
|
+
* SVID minting and the live HTTPS bundle endpoint are an external connector's job
|
|
19
|
+
* (`../sentropic/`), where a crypto dependency is acceptable; core stays pure.
|
|
20
|
+
*
|
|
21
|
+
* SPIFFE references (verified):
|
|
22
|
+
* - SPIFFE-ID format: https://github.com/spiffe/spiffe/blob/main/standards/SPIFFE-ID.md
|
|
23
|
+
* - Trust Domain & Bundle (JWK Set): https://github.com/spiffe/spiffe/blob/main/standards/SPIFFE_Trust_Domain_and_Bundle.md
|
|
24
|
+
*/
|
|
25
|
+
/** Honest `use` tag: h2a keys sign h2a envelopes — NOT `x509-svid`/`jwt-svid`. */
|
|
26
|
+
export declare const H2A_NHI_EXPORT_KEY_USE: "h2a-envelope-signing";
|
|
27
|
+
/**
|
|
28
|
+
* Documented, convention-reversible mapping of h2a instance-id characters that
|
|
29
|
+
* are outside the SPIFFE path-segment set `[a-zA-Z0-9._-]`. h2a instance ids use
|
|
30
|
+
* `:` (e.g. `claude:p1`) and subagents use `~` (`parent~name`), neither of which
|
|
31
|
+
* is a legal SPIFFE path char. Open question (see spec): confirm canonical
|
|
32
|
+
* encoding with a DEC before treating it as stable across a real SPIRE consumer.
|
|
33
|
+
*/
|
|
34
|
+
export declare const H2A_NHI_SPIFFE_PATH_ENCODINGS: ReadonlyArray<readonly [string, string]>;
|
|
35
|
+
/**
|
|
36
|
+
* Map an h2a instance id to a spec-valid SPIFFE ID `spiffe://<trust-domain>/<instance>`.
|
|
37
|
+
* The trust domain is validated (lowercase `[a-z0-9._-]`); disallowed instance-id
|
|
38
|
+
* characters are encoded per `H2A_NHI_SPIFFE_PATH_ENCODINGS`. Throws on an
|
|
39
|
+
* empty/invalid trust domain or an instance that cannot map to a legal path
|
|
40
|
+
* segment — keeping outputs well-formed, consistent with `nhi.ts`.
|
|
41
|
+
*
|
|
42
|
+
* SPIFFE-ID.md: scheme MUST be `spiffe`, non-zero trust domain, no
|
|
43
|
+
* query/fragment, no trailing `/`, no percent-encoding.
|
|
44
|
+
*/
|
|
45
|
+
export declare function nhiSpiffeId(trustDomain: string, instance: string): string;
|
|
46
|
+
/**
|
|
47
|
+
* One key entry in an h2a trust-bundle export. JWK-shaped (`kid`/`kty`) so a
|
|
48
|
+
* SPIFFE/JWKS reader recognises the structure, but the key material and `use`
|
|
49
|
+
* are h2a-namespaced because they are NOT a real SVID-backing JWK (see module
|
|
50
|
+
* note). `kid` reuses the existing `nhiKeyFingerprint` (RFC 7517 key id).
|
|
51
|
+
*/
|
|
52
|
+
export interface H2ANhiTrustBundleKey {
|
|
53
|
+
/** RFC 7517 `kid`: the stable, non-reversible 12-char key fingerprint. */
|
|
54
|
+
readonly kid: string;
|
|
55
|
+
/** RFC 7517 `kty`: ed25519 is an OKP key (RFC 8037). */
|
|
56
|
+
readonly kty: "OKP";
|
|
57
|
+
/** h2a-native: the actual PEM (SPKI) public key — the trust-anchor material. */
|
|
58
|
+
readonly h2a_public_key_pem: string;
|
|
59
|
+
/** Honest tag: not `x509-svid`/`jwt-svid`; h2a keys sign h2a envelopes. */
|
|
60
|
+
readonly h2a_use: typeof H2A_NHI_EXPORT_KEY_USE;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* A SPIFFE-trust-bundle-/JWKS-shaped export for one h2a instance. `keys` and the
|
|
64
|
+
* optional `spiffe_sequence`/`spiffe_refresh_hint` are the real SPIFFE bundle
|
|
65
|
+
* field names (Trust Domain & Bundle md); `spiffe_id`/`trust_domain` are added
|
|
66
|
+
* for convenience so a consumer/connector has the owning identity inline.
|
|
67
|
+
*/
|
|
68
|
+
export interface H2ANhiTrustBundle {
|
|
69
|
+
/** Convenience: the bundle's owning SPIFFE ID (`spiffe://<domain>/<instance>`). */
|
|
70
|
+
readonly spiffe_id: string;
|
|
71
|
+
/** The trust-domain name this bundle is authoritative for. */
|
|
72
|
+
readonly trust_domain: string;
|
|
73
|
+
/** SPIFFE/JWKS bundle field: the public keys (one per active key). */
|
|
74
|
+
readonly keys: readonly H2ANhiTrustBundleKey[];
|
|
75
|
+
/** Optional SPIFFE field: supersession/ordering counter (caller-supplied). */
|
|
76
|
+
readonly spiffe_sequence?: number;
|
|
77
|
+
/** Optional SPIFFE field: how often a consumer should re-fetch (caller-supplied). */
|
|
78
|
+
readonly spiffe_refresh_hint?: number;
|
|
79
|
+
}
|
|
80
|
+
export interface H2ANhiTrustBundleInput {
|
|
81
|
+
readonly instance: string;
|
|
82
|
+
readonly trustDomain: string;
|
|
83
|
+
/** The instance's currently-active public keys (PEM), net of revocations. */
|
|
84
|
+
readonly activeKeys: readonly string[];
|
|
85
|
+
/** Optional SPIFFE `spiffe_sequence` (omitted from output when absent). */
|
|
86
|
+
readonly sequence?: number;
|
|
87
|
+
/** Optional SPIFFE `spiffe_refresh_hint` in seconds (omitted when absent). */
|
|
88
|
+
readonly refreshHint?: number;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Build a SPIFFE-bundle-shaped trust-anchor export from an instance's active
|
|
92
|
+
* public keys. Pure: same key in → same bundle out. Empty `activeKeys` yields an
|
|
93
|
+
* empty `keys[]` (a well-formed bundle, not an error). Carries only public
|
|
94
|
+
* material — never a private key.
|
|
95
|
+
*/
|
|
96
|
+
export declare function nhiTrustBundle(input: H2ANhiTrustBundleInput): H2ANhiTrustBundle;
|
|
97
|
+
//# sourceMappingURL=nhi-export.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nhi-export.d.ts","sourceRoot":"","sources":["../src/nhi-export.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,kFAAkF;AAClF,eAAO,MAAM,sBAAsB,EAAG,sBAA+B,CAAC;AAEtE;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAGlF,CAAC;AAeF;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAezE;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,0EAA0E;IAC1E,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,wDAAwD;IACxD,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC;IACpB,gFAAgF;IAChF,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,EAAE,OAAO,sBAAsB,CAAC;CACjD;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,mFAAmF;IACnF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,8DAA8D;IAC9D,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,sEAAsE;IACtE,QAAQ,CAAC,IAAI,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAC/C,8EAA8E;IAC9E,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,qFAAqF;IACrF,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CACvC;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,6EAA6E;IAC7E,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,8EAA8E;IAC9E,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,sBAAsB,GAAG,iBAAiB,CAe/E"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* NHI P3 (interop) — SPIFFE/SPIRE-compatible **export** primitives. Pure and
|
|
3
|
+
* deterministic, like `nhi.ts`: the caller gathers an instance's active public
|
|
4
|
+
* keys (the keyring) and a trust-domain name and passes them in; this module
|
|
5
|
+
* only transforms them into a SPIFFE-bundle-/JWKS-shaped object and a SPIFFE
|
|
6
|
+
* ID. It owns no I/O, no clock, no network and adds no dependency.
|
|
7
|
+
*
|
|
8
|
+
* Design + sourced SPIFFE facts: `docs/superpowers/specs/2026-05-28-nhi-p3-interop-design.md`.
|
|
9
|
+
* Gate / shortlist: `evaluations/nhi-landscape.md` (§6 #1, SPIFFE-first).
|
|
10
|
+
*
|
|
11
|
+
* Scope honesty: h2a is **not** a SPIRE replacement. It mints no SVIDs and does
|
|
12
|
+
* no node/workload attestation. h2a holds PEM (SPKI) ed25519 *public* keys, not
|
|
13
|
+
* JWK-encoded keys and not X.509/JWT SVIDs. So this is the **trust-anchor**
|
|
14
|
+
* material in a bundle *shape*: the real SPIFFE/RFC-7517 bundle-level fields
|
|
15
|
+
* (`keys`, optional `spiffe_sequence`/`spiffe_refresh_hint`), but each key entry
|
|
16
|
+
* is an h2a-native descriptor (fingerprint as `kid` + the PEM) explicitly tagged
|
|
17
|
+
* so it is not mistaken for an `x509-svid`/`jwt-svid` JWK. PEM→JWK(OKP) encoding,
|
|
18
|
+
* SVID minting and the live HTTPS bundle endpoint are an external connector's job
|
|
19
|
+
* (`../sentropic/`), where a crypto dependency is acceptable; core stays pure.
|
|
20
|
+
*
|
|
21
|
+
* SPIFFE references (verified):
|
|
22
|
+
* - SPIFFE-ID format: https://github.com/spiffe/spiffe/blob/main/standards/SPIFFE-ID.md
|
|
23
|
+
* - Trust Domain & Bundle (JWK Set): https://github.com/spiffe/spiffe/blob/main/standards/SPIFFE_Trust_Domain_and_Bundle.md
|
|
24
|
+
*/
|
|
25
|
+
import { nhiKeyFingerprint } from "./nhi.js";
|
|
26
|
+
/** Honest `use` tag: h2a keys sign h2a envelopes — NOT `x509-svid`/`jwt-svid`. */
|
|
27
|
+
export const H2A_NHI_EXPORT_KEY_USE = "h2a-envelope-signing";
|
|
28
|
+
/**
|
|
29
|
+
* Documented, convention-reversible mapping of h2a instance-id characters that
|
|
30
|
+
* are outside the SPIFFE path-segment set `[a-zA-Z0-9._-]`. h2a instance ids use
|
|
31
|
+
* `:` (e.g. `claude:p1`) and subagents use `~` (`parent~name`), neither of which
|
|
32
|
+
* is a legal SPIFFE path char. Open question (see spec): confirm canonical
|
|
33
|
+
* encoding with a DEC before treating it as stable across a real SPIRE consumer.
|
|
34
|
+
*/
|
|
35
|
+
export const H2A_NHI_SPIFFE_PATH_ENCODINGS = [
|
|
36
|
+
[":", "."],
|
|
37
|
+
["~", "--"]
|
|
38
|
+
];
|
|
39
|
+
/** Trust-domain host rule (SPIFFE-ID.md): lowercase `[a-z0-9._-]`, non-zero length. */
|
|
40
|
+
const TRUST_DOMAIN_RE = /^[a-z0-9._-]+$/;
|
|
41
|
+
/** Legal SPIFFE path-segment chars after our encoding (SPIFFE-ID.md). */
|
|
42
|
+
const PATH_SEGMENT_RE = /^[a-zA-Z0-9._-]+$/;
|
|
43
|
+
function encodeInstanceToPath(instance) {
|
|
44
|
+
let out = instance;
|
|
45
|
+
for (const [from, to] of H2A_NHI_SPIFFE_PATH_ENCODINGS) {
|
|
46
|
+
out = out.split(from).join(to);
|
|
47
|
+
}
|
|
48
|
+
return out;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Map an h2a instance id to a spec-valid SPIFFE ID `spiffe://<trust-domain>/<instance>`.
|
|
52
|
+
* The trust domain is validated (lowercase `[a-z0-9._-]`); disallowed instance-id
|
|
53
|
+
* characters are encoded per `H2A_NHI_SPIFFE_PATH_ENCODINGS`. Throws on an
|
|
54
|
+
* empty/invalid trust domain or an instance that cannot map to a legal path
|
|
55
|
+
* segment — keeping outputs well-formed, consistent with `nhi.ts`.
|
|
56
|
+
*
|
|
57
|
+
* SPIFFE-ID.md: scheme MUST be `spiffe`, non-zero trust domain, no
|
|
58
|
+
* query/fragment, no trailing `/`, no percent-encoding.
|
|
59
|
+
*/
|
|
60
|
+
export function nhiSpiffeId(trustDomain, instance) {
|
|
61
|
+
if (!TRUST_DOMAIN_RE.test(trustDomain)) {
|
|
62
|
+
throw new Error(`nhiSpiffeId: invalid trust domain ${JSON.stringify(trustDomain)} ` +
|
|
63
|
+
"(must be non-empty lowercase [a-z0-9._-])");
|
|
64
|
+
}
|
|
65
|
+
const path = encodeInstanceToPath(instance);
|
|
66
|
+
if (!PATH_SEGMENT_RE.test(path)) {
|
|
67
|
+
throw new Error(`nhiSpiffeId: instance ${JSON.stringify(instance)} does not map to a legal ` +
|
|
68
|
+
"SPIFFE path segment [a-zA-Z0-9._-] after encoding");
|
|
69
|
+
}
|
|
70
|
+
return `spiffe://${trustDomain}/${path}`;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Build a SPIFFE-bundle-shaped trust-anchor export from an instance's active
|
|
74
|
+
* public keys. Pure: same key in → same bundle out. Empty `activeKeys` yields an
|
|
75
|
+
* empty `keys[]` (a well-formed bundle, not an error). Carries only public
|
|
76
|
+
* material — never a private key.
|
|
77
|
+
*/
|
|
78
|
+
export function nhiTrustBundle(input) {
|
|
79
|
+
const spiffe_id = nhiSpiffeId(input.trustDomain, input.instance);
|
|
80
|
+
const keys = input.activeKeys.map((pem) => ({
|
|
81
|
+
kid: nhiKeyFingerprint(pem),
|
|
82
|
+
kty: "OKP",
|
|
83
|
+
h2a_public_key_pem: pem,
|
|
84
|
+
h2a_use: H2A_NHI_EXPORT_KEY_USE
|
|
85
|
+
}));
|
|
86
|
+
return {
|
|
87
|
+
spiffe_id,
|
|
88
|
+
trust_domain: input.trustDomain,
|
|
89
|
+
keys,
|
|
90
|
+
...(input.sequence !== undefined ? { spiffe_sequence: input.sequence } : {}),
|
|
91
|
+
...(input.refreshHint !== undefined ? { spiffe_refresh_hint: input.refreshHint } : {})
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=nhi-export.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nhi-export.js","sourceRoot":"","sources":["../src/nhi-export.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,kFAAkF;AAClF,MAAM,CAAC,MAAM,sBAAsB,GAAG,sBAA+B,CAAC;AAEtE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAA6C;IACrF,CAAC,GAAG,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,IAAI,CAAC;CACZ,CAAC;AAEF,uFAAuF;AACvF,MAAM,eAAe,GAAG,gBAAgB,CAAC;AACzC,yEAAyE;AACzE,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAE5C,SAAS,oBAAoB,CAAC,QAAgB;IAC5C,IAAI,GAAG,GAAG,QAAQ,CAAC;IACnB,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,6BAA6B,EAAE,CAAC;QACvD,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CAAC,WAAmB,EAAE,QAAgB;IAC/D,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CACb,qCAAqC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG;YACjE,2CAA2C,CAC9C,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACb,yBAAyB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,2BAA2B;YAC1E,mDAAmD,CACtD,CAAC;IACJ,CAAC;IACD,OAAO,YAAY,WAAW,IAAI,IAAI,EAAE,CAAC;AAC3C,CAAC;AAiDD;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,KAA6B;IAC1D,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACjE,MAAM,IAAI,GAA2B,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAClE,GAAG,EAAE,iBAAiB,CAAC,GAAG,CAAC;QAC3B,GAAG,EAAE,KAAK;QACV,kBAAkB,EAAE,GAAG;QACvB,OAAO,EAAE,sBAAsB;KAChC,CAAC,CAAC,CAAC;IACJ,OAAO;QACL,SAAS;QACT,YAAY,EAAE,KAAK,CAAC,WAAW;QAC/B,IAAI;QACJ,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvF,CAAC;AACJ,CAAC"}
|
package/dist/session.d.ts
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* dispatch are implemented in `@sentropic/h2a-cli` (DEC-051 / DEC-052).
|
|
13
13
|
*/
|
|
14
14
|
export declare const H2A_SESSION_STATES: readonly ["opening", "live", "draining", "closed", "expired"];
|
|
15
|
-
export declare const H2A_SESSION_NOTIFICATION_TOPICS: readonly ["presence.peer_joined", "presence.peer_left", "inbox.envelope_arrived", "negotiation.event_appended"];
|
|
15
|
+
export declare const H2A_SESSION_NOTIFICATION_TOPICS: readonly ["presence.peer_joined", "presence.peer_left", "inbox.envelope_arrived", "negotiation.event_appended", "peer.blocked", "peer.unblocked"];
|
|
16
16
|
export declare const H2A_SESSION_DEFAULT_HEARTBEAT_INTERVAL_MS = 5000;
|
|
17
17
|
export declare const H2A_SESSION_DEFAULT_EXPIRY_MS = 15000;
|
|
18
18
|
export type H2ASessionState = (typeof H2A_SESSION_STATES)[number];
|
package/dist/session.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,eAAO,MAAM,kBAAkB,+DAMrB,CAAC;AAEX,eAAO,MAAM,+BAA+B,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|
package/dist/session.js
CHANGED
|
@@ -22,7 +22,9 @@ export const H2A_SESSION_NOTIFICATION_TOPICS = [
|
|
|
22
22
|
"presence.peer_joined",
|
|
23
23
|
"presence.peer_left",
|
|
24
24
|
"inbox.envelope_arrived",
|
|
25
|
-
"negotiation.event_appended"
|
|
25
|
+
"negotiation.event_appended",
|
|
26
|
+
"peer.blocked",
|
|
27
|
+
"peer.unblocked"
|
|
26
28
|
];
|
|
27
29
|
export const H2A_SESSION_DEFAULT_HEARTBEAT_INTERVAL_MS = 5000;
|
|
28
30
|
export const H2A_SESSION_DEFAULT_EXPIRY_MS = 15000;
|
package/dist/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,SAAS;IACT,MAAM;IACN,UAAU;IACV,QAAQ;IACR,SAAS;CACD,CAAC;AAEX,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,sBAAsB;IACtB,oBAAoB;IACpB,wBAAwB;IACxB,4BAA4B;
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|