@sentropic/h2a 0.98.5 → 0.98.6
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/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/runtime/drive/consent.d.ts +1 -1
- package/dist/runtime/drive/consent.d.ts.map +1 -1
- package/dist/runtime/drive/consent.js +2 -2
- package/dist/runtime/drive/consent.js.map +1 -1
- package/dist/runtime/drive/index.d.ts +1 -1
- package/dist/runtime/drive/index.d.ts.map +1 -1
- package/dist/runtime/drive/index.js +3 -1
- package/dist/runtime/drive/index.js.map +1 -1
- package/dist/runtime/drumbeat/relaunchers.d.ts +1 -1
- package/dist/runtime/drumbeat/relaunchers.d.ts.map +1 -1
- package/dist/runtime/drumbeat/relaunchers.js +2 -1
- package/dist/runtime/drumbeat/relaunchers.js.map +1 -1
- package/dist/runtime/identity/binding-commit.d.ts +31 -0
- package/dist/runtime/identity/binding-commit.d.ts.map +1 -0
- package/dist/runtime/identity/binding-commit.js +211 -0
- package/dist/runtime/identity/binding-commit.js.map +1 -0
- package/dist/runtime/identity/bindings.d.ts +6 -30
- package/dist/runtime/identity/bindings.d.ts.map +1 -1
- package/dist/runtime/identity/bindings.js +85 -96
- package/dist/runtime/identity/bindings.js.map +1 -1
- package/dist/runtime/identity/durable.d.ts +7 -0
- package/dist/runtime/identity/durable.d.ts.map +1 -0
- package/dist/runtime/identity/durable.js +68 -0
- package/dist/runtime/identity/durable.js.map +1 -0
- package/dist/runtime/identity/live.d.ts +4 -1
- package/dist/runtime/identity/live.d.ts.map +1 -1
- package/dist/runtime/identity/live.js +59 -6
- package/dist/runtime/identity/live.js.map +1 -1
- package/dist/runtime/identity/possession.d.ts +34 -0
- package/dist/runtime/identity/possession.d.ts.map +1 -0
- package/dist/runtime/identity/possession.js +162 -0
- package/dist/runtime/identity/possession.js.map +1 -0
- package/dist/runtime/identity/worker.js +16 -5
- package/dist/runtime/identity/worker.js.map +1 -1
- package/dist/runtime/local-files/identity-fence.d.ts +164 -0
- package/dist/runtime/local-files/identity-fence.d.ts.map +1 -0
- package/dist/runtime/local-files/identity-fence.js +1336 -0
- package/dist/runtime/local-files/identity-fence.js.map +1 -0
- package/dist/runtime/local-files/index.d.ts +1 -0
- package/dist/runtime/local-files/index.d.ts.map +1 -1
- package/dist/runtime/local-files/index.js +1 -0
- package/dist/runtime/local-files/index.js.map +1 -1
- package/dist/runtime/local-files/legacy-identity-evidence.d.ts +26 -0
- package/dist/runtime/local-files/legacy-identity-evidence.d.ts.map +1 -0
- package/dist/runtime/local-files/legacy-identity-evidence.js +234 -0
- package/dist/runtime/local-files/legacy-identity-evidence.js.map +1 -0
- package/dist/runtime/local-files/locks.d.ts +3 -0
- package/dist/runtime/local-files/locks.d.ts.map +1 -1
- package/dist/runtime/local-files/locks.js +6 -5
- package/dist/runtime/local-files/locks.js.map +1 -1
- package/dist/runtime/local-files/store.d.ts +1 -1
- package/dist/runtime/local-files/store.d.ts.map +1 -1
- package/dist/runtime/local-files/store.js +12 -1
- package/dist/runtime/local-files/store.js.map +1 -1
- package/dist/runtime/local-files/succession-lock.d.ts +71 -6
- package/dist/runtime/local-files/succession-lock.d.ts.map +1 -1
- package/dist/runtime/local-files/succession-lock.js +226 -31
- package/dist/runtime/local-files/succession-lock.js.map +1 -1
- package/dist/runtime/mcp/identity-blocker-snapshot.d.ts +2 -0
- package/dist/runtime/mcp/identity-blocker-snapshot.d.ts.map +1 -0
- package/dist/runtime/mcp/identity-blocker-snapshot.js +98 -0
- package/dist/runtime/mcp/identity-blocker-snapshot.js.map +1 -0
- package/dist/runtime/mcp/identity-state.d.ts +20 -3
- package/dist/runtime/mcp/identity-state.d.ts.map +1 -1
- package/dist/runtime/mcp/identity-state.js +98 -13
- package/dist/runtime/mcp/identity-state.js.map +1 -1
- package/dist/runtime/mcp/server.d.ts.map +1 -1
- package/dist/runtime/mcp/server.js +12 -9
- package/dist/runtime/mcp/server.js.map +1 -1
- package/dist/runtime/remote/client.d.ts +1 -1
- package/dist/runtime/remote/client.d.ts.map +1 -1
- package/dist/runtime/remote/client.js +1 -1
- package/dist/runtime/remote/client.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/runtime/identity/worker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAErD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/runtime/identity/worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/** Identity binding fence, FINAL v6 (A+B). Strict v2/v4 discrimination,
|
|
2
|
+
* qualified death proofs, bounded legacy NSpid evidence, shared succession,
|
|
3
|
+
* durable journal/slot repair before retirement, and monotone diagnostics.
|
|
4
|
+
* Upgrade retains its own protocol bindings. No operator call or signal is
|
|
5
|
+
* used by automatic recovery; every unsupported blocker waits for release.
|
|
6
|
+
*/
|
|
7
|
+
import { type PreparedBindingSlots } from "../identity/binding-commit.js";
|
|
8
|
+
import { LockTimeoutError, type LockObservation } from "./locks.js";
|
|
9
|
+
import { type HostKind, type LegacyLockHolder, type LockRec, type PrefixLockLease, type PublishStatus, type BreakLockAsOperatorOptions, type OperatorBreakResult, type SelfIdent } from "./succession-lock.js";
|
|
10
|
+
/** The one identity fence protocol (also carried by every v2 record). */
|
|
11
|
+
export declare const IDENTITY_BINDING_FENCE_PROTOCOL = "identity-binding-fence-v1";
|
|
12
|
+
type RecordPlatform = "linux" | "darwin" | "win32" | "other";
|
|
13
|
+
type RecordPublication = "link" | "o-excl";
|
|
14
|
+
/** The v2 identity lock record (R2 contract). Strictly validated; never mixed
|
|
15
|
+
* with `hostname`/`startedAt`/`acquiredAt` or any unknown field. */
|
|
16
|
+
export interface IdentityLockRec {
|
|
17
|
+
readonly recordVersion: 2;
|
|
18
|
+
readonly protocol: typeof IDENTITY_BINDING_FENCE_PROTOCOL;
|
|
19
|
+
readonly platform: RecordPlatform;
|
|
20
|
+
readonly publication: RecordPublication;
|
|
21
|
+
readonly hostKind: HostKind;
|
|
22
|
+
readonly host: string | null;
|
|
23
|
+
readonly boot: string | null;
|
|
24
|
+
readonly ns: string | null;
|
|
25
|
+
readonly timeNs: string | null;
|
|
26
|
+
readonly pid: number;
|
|
27
|
+
readonly start: string | null;
|
|
28
|
+
readonly token: string;
|
|
29
|
+
readonly fenceEpoch: string;
|
|
30
|
+
readonly at: number;
|
|
31
|
+
readonly target?: string;
|
|
32
|
+
readonly operator?: true;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* This process's fresh identity context (R2: renewed at every decision; the
|
|
36
|
+
* machine-id falls back to /var/lib/dbus/machine-id when /etc/machine-id is
|
|
37
|
+
* absent). Never memoized, unlike the upgrade path's `me()`.
|
|
38
|
+
*/
|
|
39
|
+
export declare function identitySelf(): SelfIdent;
|
|
40
|
+
/** Diagnostic view of what blocks an identity acquisition (never a raw machine-id). */
|
|
41
|
+
export type IdentityLockRead = "absent" | "corrupt" | "unknown" | {
|
|
42
|
+
kind: "io-error";
|
|
43
|
+
code: string;
|
|
44
|
+
} | {
|
|
45
|
+
kind: "v2";
|
|
46
|
+
rec: IdentityLockRec;
|
|
47
|
+
bytes: Buffer;
|
|
48
|
+
} | {
|
|
49
|
+
kind: "adapter";
|
|
50
|
+
rec: LockRec;
|
|
51
|
+
bytes: Buffer;
|
|
52
|
+
} | {
|
|
53
|
+
kind: "legacy";
|
|
54
|
+
holder: LegacyLockHolder;
|
|
55
|
+
bytes: Buffer;
|
|
56
|
+
eligible?: boolean;
|
|
57
|
+
} | {
|
|
58
|
+
kind: "cull";
|
|
59
|
+
bytes: Buffer;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Reader for `identity/.lock` and its SUCC chain. Distinguishes (R6): the v2
|
|
63
|
+
* record, the 0.98.5 succession format (adapter — publication link is
|
|
64
|
+
* recognized, anchors are used as-is, never completed), the legacy binding
|
|
65
|
+
* record, the historical cull fence, an explicit unknown version/protocol
|
|
66
|
+
* (never downgraded), corruption, absence and I/O errors.
|
|
67
|
+
*/
|
|
68
|
+
export declare function readIdentityLock(path: string): IdentityLockRead;
|
|
69
|
+
/**
|
|
70
|
+
* R1 filesystem guard: automatic recovery is authorized only when the REAL
|
|
71
|
+
* identity directory sits on an explicitly whitelisted local filesystem.
|
|
72
|
+
* tmpfs, NFS, SMB, FUSE, OverlayFS, virtiofs, 9p, ZFS and unknown types or a
|
|
73
|
+
* statfs error all refuse it (wait for normal release instead).
|
|
74
|
+
*/
|
|
75
|
+
export declare function identityFsQualified(dir: string): boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Publication (R2): tmp (wx, byte-count-checked write, fsync, close) then
|
|
78
|
+
* `link(2)`, then a directory fsync. On a qualified link incapacity the
|
|
79
|
+
* exclusive-create fallback registers `publication:"o-excl"` — such records
|
|
80
|
+
* are never recovered automatically. EEXIST stays a contention signal; real
|
|
81
|
+
* storage errors are never masked.
|
|
82
|
+
*/
|
|
83
|
+
export type IdentityPublishStatus = PublishStatus & {
|
|
84
|
+
publication?: RecordPublication;
|
|
85
|
+
};
|
|
86
|
+
export declare function publishIdentityRecord(path: string, rec: IdentityLockRec, atomicOnly?: boolean): IdentityPublishStatus;
|
|
87
|
+
export interface IdentityBlockerInfo {
|
|
88
|
+
readonly blockerType: "LOCK" | "SUCC" | "unknown";
|
|
89
|
+
readonly pid: number | "unknown";
|
|
90
|
+
readonly machineClass: "local" | "other" | "unknown";
|
|
91
|
+
readonly machineFingerprint?: string;
|
|
92
|
+
readonly bootClass: "current" | "other" | "unknown";
|
|
93
|
+
readonly ns: string | "unknown";
|
|
94
|
+
readonly start: string | "unknown";
|
|
95
|
+
readonly generation: string;
|
|
96
|
+
readonly target: string | "unknown";
|
|
97
|
+
readonly reasonCode: string;
|
|
98
|
+
readonly reason: string;
|
|
99
|
+
readonly retryCondition: "interval" | "blocker-change";
|
|
100
|
+
}
|
|
101
|
+
export interface IdentityLockDiagnostic extends IdentityBlockerInfo {
|
|
102
|
+
readonly elapsedMs: number;
|
|
103
|
+
readonly budgetMs: number;
|
|
104
|
+
readonly lock: string;
|
|
105
|
+
readonly stable: boolean;
|
|
106
|
+
readonly retryAfterMs?: number;
|
|
107
|
+
/** R6 conditional literal, present only for a stable legacy blocker. */
|
|
108
|
+
readonly legacyNote?: string;
|
|
109
|
+
/** Operator command with a root placeholder, never an absolute path. */
|
|
110
|
+
readonly command?: string;
|
|
111
|
+
}
|
|
112
|
+
/** R7 common literal; absent values render as "unknown". */
|
|
113
|
+
export declare function diagnosticMessage(d: IdentityLockDiagnostic): string;
|
|
114
|
+
export declare class IdentityLockTimeoutError extends LockTimeoutError {
|
|
115
|
+
readonly diagnostic: IdentityLockDiagnostic;
|
|
116
|
+
constructor(lockPath: string, diagnostic: IdentityLockDiagnostic);
|
|
117
|
+
}
|
|
118
|
+
export interface IdentityFenceOptions {
|
|
119
|
+
readonly onBlocker?: (info: IdentityBlockerInfo, stabilityKey: string) => void;
|
|
120
|
+
readonly diagnosticKey?: Buffer;
|
|
121
|
+
/** Monotone budget bounding the whole wait (default 5000 ms). */
|
|
122
|
+
readonly timeoutMs?: number;
|
|
123
|
+
readonly pollMs?: number;
|
|
124
|
+
/** L0 passive observation, same contract as the store locks. */
|
|
125
|
+
readonly observe?: (event: LockObservation) => void;
|
|
126
|
+
/** Cooperative cancellation while WAITING (async variant only). */
|
|
127
|
+
readonly signal?: AbortSignal;
|
|
128
|
+
/** Diagnostic label (default: the lock path relative to the store root). */
|
|
129
|
+
readonly relativeLockPath?: string;
|
|
130
|
+
}
|
|
131
|
+
export interface IdentityFenceLease extends PrefixLockLease {
|
|
132
|
+
beginMutation(): void;
|
|
133
|
+
endMutation(): void;
|
|
134
|
+
/** Publication actually used for this fence (o-excl is never recovered). */
|
|
135
|
+
readonly publication: RecordPublication;
|
|
136
|
+
/** True when acquisition recovered a provably dead previous holder. */
|
|
137
|
+
readonly recovered: boolean;
|
|
138
|
+
}
|
|
139
|
+
export declare function repairIdentityJournal(dir: string, held: () => boolean, slots: PreparedBindingSlots): void;
|
|
140
|
+
/** Identity operator uses the same election and repair barrier; upgrade stays separate. */
|
|
141
|
+
export declare function breakIdentityLockAsOperator(lockPath: string, options: BreakLockAsOperatorOptions): OperatorBreakResult;
|
|
142
|
+
/** Synchronous identity fence (CLI / sync binding writer). */
|
|
143
|
+
export declare function withIdentityFenceSync<T>(lockPath: string, fn: (lease: IdentityFenceLease) => T, options?: IdentityFenceOptions): T;
|
|
144
|
+
/** Asynchronous identity fence (the identity worker's binding transaction). */
|
|
145
|
+
export declare function withIdentityFence<T>(lockPath: string, fn: (lease: IdentityFenceLease) => T | Promise<T>, options?: IdentityFenceOptions): Promise<T>;
|
|
146
|
+
export interface TailNeutralized {
|
|
147
|
+
readonly offset: number;
|
|
148
|
+
readonly length: number;
|
|
149
|
+
readonly sha256: string;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Terminate an unterminated final suffix of the journal with exactly one
|
|
153
|
+
* appended `\n` (R5). No byte before the suffix is ever rewritten or removed;
|
|
154
|
+
* the operation is idempotent. `offset`/`length` are in bytes, `sha256` covers
|
|
155
|
+
* the ORIGINAL suffix without the added separator; no content is exposed.
|
|
156
|
+
*/
|
|
157
|
+
export declare function neutralizeBindingsTail(file: string, held?: () => boolean): TailNeutralized | undefined;
|
|
158
|
+
/**
|
|
159
|
+
* Attest the journal's durability after a recovery (R5 idempotence): a visible
|
|
160
|
+
* separator whose previous fsync is unattested is fsynced now, content-free.
|
|
161
|
+
*/
|
|
162
|
+
export declare function attestBindingsTailDurable(file: string): void;
|
|
163
|
+
export {};
|
|
164
|
+
//# sourceMappingURL=identity-fence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity-fence.d.ts","sourceRoot":"","sources":["../../../src/runtime/local-files/identity-fence.ts"],"names":[],"mappings":"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"}
|