@scotthuang/agent-knock-knock 0.15.0 → 0.16.1
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/CHANGELOG.md +19 -0
- package/connectors/deepseek-harness/README.md +53 -13
- package/connectors/pi/README.md +38 -11
- package/dist/src/claude-conversation-routing-cli-adapter.js +5 -1
- package/dist/src/claude-conversation-routing-cli-adapter.js.map +1 -1
- package/dist/src/claude-managed-send-route.d.ts +2 -0
- package/dist/src/claude-managed-send-route.js +20 -3
- package/dist/src/claude-managed-send-route.js.map +1 -1
- package/dist/src/claude-terminal-agent-observation.d.ts +2 -0
- package/dist/src/claude-terminal-agent-observation.js +18 -1
- package/dist/src/claude-terminal-agent-observation.js.map +1 -1
- package/dist/src/claude-terminal-registry-observation.d.ts +12 -0
- package/dist/src/claude-terminal-registry-observation.js +32 -0
- package/dist/src/claude-terminal-registry-observation.js.map +1 -1
- package/dist/src/claude-user-explicit-input-proof.d.ts +9 -0
- package/dist/src/claude-user-explicit-input-proof.js +90 -0
- package/dist/src/claude-user-explicit-input-proof.js.map +1 -0
- package/dist/src/cli-core.js +8 -4
- package/dist/src/cli-core.js.map +1 -1
- package/dist/src/cli-usage.js +1 -0
- package/dist/src/cli-usage.js.map +1 -1
- package/dist/src/conversation-list.d.ts +3 -3
- package/dist/src/conversation-list.js +38 -14
- package/dist/src/conversation-list.js.map +1 -1
- package/dist/src/conversation-routing-cli-adapter.js +49 -2
- package/dist/src/conversation-routing-cli-adapter.js.map +1 -1
- package/dist/src/conversation-usage-guidance.d.ts +4 -0
- package/dist/src/conversation-usage-guidance.js +240 -0
- package/dist/src/conversation-usage-guidance.js.map +1 -0
- package/dist/src/host-adapter.js +3 -2
- package/dist/src/host-adapter.js.map +1 -1
- package/dist/src/managed-session.d.ts +11 -0
- package/dist/src/managed-session.js +24 -1
- package/dist/src/managed-session.js.map +1 -1
- package/dist/src/native-store-authority-cli-adapter.d.ts +20 -0
- package/dist/src/native-store-authority-cli-adapter.js +105 -0
- package/dist/src/native-store-authority-cli-adapter.js.map +1 -0
- package/dist/src/native-store-authority-ledger.d.ts +3 -0
- package/dist/src/native-store-authority-ledger.js +46 -0
- package/dist/src/native-store-authority-ledger.js.map +1 -0
- package/dist/src/native-store-authority-projection.d.ts +6 -0
- package/dist/src/native-store-authority-projection.js +68 -0
- package/dist/src/native-store-authority-projection.js.map +1 -0
- package/dist/src/native-store-authority-runtime.d.ts +9 -0
- package/dist/src/native-store-authority-runtime.js +77 -0
- package/dist/src/native-store-authority-runtime.js.map +1 -0
- package/dist/src/native-store-authority-transfer.d.ts +31 -0
- package/dist/src/native-store-authority-transfer.js +172 -0
- package/dist/src/native-store-authority-transfer.js.map +1 -0
- package/dist/src/native-store-authority-watch.d.ts +9 -0
- package/dist/src/native-store-authority-watch.js +43 -0
- package/dist/src/native-store-authority-watch.js.map +1 -0
- package/dist/src/native-store-authority.d.ts +29 -0
- package/dist/src/native-store-authority.js +181 -0
- package/dist/src/native-store-authority.js.map +1 -0
- package/dist/src/semantic-tool-descriptions.js +22 -16
- package/dist/src/semantic-tool-descriptions.js.map +1 -1
- package/dist/src/semantic-tool-list-budget.js +2 -1
- package/dist/src/semantic-tool-list-budget.js.map +1 -1
- package/dist/src/semantic-tool-list-projection.d.ts +2 -2
- package/dist/src/semantic-tool-list-projection.js +23 -11
- package/dist/src/semantic-tool-list-projection.js.map +1 -1
- package/dist/src/semantic-tool-private-authority.d.ts +5 -0
- package/dist/src/semantic-tool-private-authority.js +68 -4
- package/dist/src/semantic-tool-private-authority.js.map +1 -1
- package/dist/src/semantic-tool-relay.d.ts +1 -0
- package/dist/src/semantic-tool-relay.js +12 -5
- package/dist/src/semantic-tool-relay.js.map +1 -1
- package/dist/src/semantic-tool-runtime.js +5 -37
- package/dist/src/semantic-tool-runtime.js.map +1 -1
- package/dist/src/semantic-tool-schemas.d.ts +25 -0
- package/dist/src/semantic-tool-schemas.js +26 -10
- package/dist/src/semantic-tool-schemas.js.map +1 -1
- package/dist/src/session-store.js +5 -1
- package/dist/src/session-store.js.map +1 -1
- package/dist/src/store-owner-identity.d.ts +24 -0
- package/dist/src/store-owner-identity.js +127 -0
- package/dist/src/store-owner-identity.js.map +1 -0
- package/dist/src/store-owner-process.d.ts +24 -0
- package/dist/src/store-owner-process.js +104 -0
- package/dist/src/store-owner-process.js.map +1 -0
- package/dist/src/store-owner-registry.d.ts +13 -0
- package/dist/src/store-owner-registry.js +158 -0
- package/dist/src/store-owner-registry.js.map +1 -0
- package/dist/src/store.d.ts +3 -1
- package/dist/src/store.js +5 -2
- package/dist/src/store.js.map +1 -1
- package/dist/src/terminal-action-contracts.js +45 -16
- package/dist/src/terminal-action-contracts.js.map +1 -1
- package/dist/src/terminal-action-projection.d.ts +1 -1
- package/dist/src/terminal-action-projection.js.map +1 -1
- package/dist/src/terminal-agent-bridge.js +8 -11
- package/dist/src/terminal-agent-bridge.js.map +1 -1
- package/dist/src/terminal-composer-classifier.d.ts +1 -0
- package/dist/src/terminal-composer-classifier.js +7 -32
- package/dist/src/terminal-composer-classifier.js.map +1 -1
- package/dist/src/terminal-dispatch-execution.d.ts +4 -1
- package/dist/src/terminal-dispatch-execution.js +3 -2
- package/dist/src/terminal-dispatch-execution.js.map +1 -1
- package/dist/src/terminal-dispatch-ledger-codec.js +1 -1
- package/dist/src/terminal-dispatch-ledger-codec.js.map +1 -1
- package/dist/src/terminal-dispatch-recovery-cli-adapter.js +2 -21
- package/dist/src/terminal-dispatch-recovery-cli-adapter.js.map +1 -1
- package/dist/src/terminal-dispatch-repository-cli-adapter.d.ts +3 -1
- package/dist/src/terminal-dispatch-repository-cli-adapter.js +3 -2
- package/dist/src/terminal-dispatch-repository-cli-adapter.js.map +1 -1
- package/dist/src/terminal-human-explicit-send-cli-adapter.js +3 -0
- package/dist/src/terminal-human-explicit-send-cli-adapter.js.map +1 -1
- package/dist/src/terminal-list-cli-adapter.d.ts +6 -0
- package/dist/src/terminal-list-cli-adapter.js +42 -22
- package/dist/src/terminal-list-cli-adapter.js.map +1 -1
- package/dist/src/terminal-list-facts.d.ts +5 -0
- package/dist/src/terminal-list-facts.js.map +1 -1
- package/dist/src/terminal-list-inventory.d.ts +1 -0
- package/dist/src/terminal-list-inventory.js +1 -0
- package/dist/src/terminal-list-inventory.js.map +1 -1
- package/dist/src/terminal-list-native-identity-recheck.d.ts +35 -0
- package/dist/src/terminal-list-native-identity-recheck.js +76 -0
- package/dist/src/terminal-list-native-identity-recheck.js.map +1 -0
- package/dist/src/terminal-list-ownership-service.d.ts +1 -0
- package/dist/src/terminal-list-ownership-service.js +21 -0
- package/dist/src/terminal-list-ownership-service.js.map +1 -1
- package/dist/src/terminal-list-projection-service.js +2 -1
- package/dist/src/terminal-list-projection-service.js.map +1 -1
- package/dist/src/terminal-monitor-decision-policy.d.ts +1 -1
- package/dist/src/terminal-mutation-cli-runtime.d.ts +7 -2
- package/dist/src/terminal-mutation-cli-runtime.js +11 -3
- package/dist/src/terminal-mutation-cli-runtime.js.map +1 -1
- package/dist/src/terminal-permission-control-cli-adapter.js +7 -0
- package/dist/src/terminal-permission-control-cli-adapter.js.map +1 -1
- package/dist/src/terminal-runtime-cli-adapter.d.ts +1 -0
- package/dist/src/terminal-runtime-cli-adapter.js +4 -1
- package/dist/src/terminal-runtime-cli-adapter.js.map +1 -1
- package/dist/src/terminal-status-cli-adapter.js +1 -0
- package/dist/src/terminal-status-cli-adapter.js.map +1 -1
- package/dist/src/terminal-status-facts.d.ts +1 -0
- package/dist/src/terminal-status-facts.js +8 -1
- package/dist/src/terminal-status-facts.js.map +1 -1
- package/dist/src/terminal-user-explicit-send-clear.d.ts +6 -12
- package/dist/src/terminal-user-explicit-send-clear.js +43 -64
- package/dist/src/terminal-user-explicit-send-clear.js.map +1 -1
- package/dist/src/terminal-user-explicit-send-policy.js +1 -0
- package/dist/src/terminal-user-explicit-send-policy.js.map +1 -1
- package/dist/src/terminal-watch-cli-adapter.js +3 -2
- package/dist/src/terminal-watch-cli-adapter.js.map +1 -1
- package/dist/src/terminal-watch-response-cli-adapter.js +9 -0
- package/dist/src/terminal-watch-response-cli-adapter.js.map +1 -1
- package/docs/bidirectional-agent-protocol.md +2 -2
- package/docs/callback-compatibility.md +2 -1
- package/docs/claude-2.1.285-compatibility.md +72 -10
- package/docs/claude-cli-direct.md +69 -1
- package/docs/list-output.md +97 -1
- package/docs/operator-guide.md +136 -9
- package/docs/quickstart-herdr.md +1 -1
- package/docs/quickstart-tmux.md +5 -3
- package/docs/storage-and-logging.md +10 -5
- package/docs/testing.md +5 -6
- package/package.json +1 -1
- package/templates/openclaw-skills/agent-knock-knock/SKILL.md +24 -9
|
@@ -98,6 +98,9 @@ export function saveManagedSession(storeDir, state, options) {
|
|
|
98
98
|
throw new ManagedSessionConflictError(state.session_id, options.expectedRevision, actualRevision, `candidate carries revision ${state.revision}`);
|
|
99
99
|
}
|
|
100
100
|
if (current) {
|
|
101
|
+
if (current.authority_transfer) {
|
|
102
|
+
throw new Error(`managed Session ${state.session_id} retired by Store authority transfer ${current.authority_transfer.transfer_id}; refresh AKK list in the destination Store`);
|
|
103
|
+
}
|
|
101
104
|
assertImmutableSessionFields(current, state);
|
|
102
105
|
assertSafeBindingReplacement(current, state);
|
|
103
106
|
}
|
|
@@ -280,7 +283,8 @@ function assertImmutableSessionFields(current, candidate) {
|
|
|
280
283
|
["agent", current.agent, candidate.agent],
|
|
281
284
|
["workspace", current.workspace, candidate.workspace],
|
|
282
285
|
["created_at", current.created_at, candidate.created_at],
|
|
283
|
-
["lineage", current.lineage, candidate.lineage]
|
|
286
|
+
["lineage", current.lineage, candidate.lineage],
|
|
287
|
+
["authority_received", current.authority_received, candidate.authority_received]
|
|
284
288
|
];
|
|
285
289
|
const changed = immutablePairs.find(([, left, right]) => JSON.stringify(left) !== JSON.stringify(right));
|
|
286
290
|
if (changed) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-store.js","sourceRoot":"","sources":["../../src/session-store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-store.js","sourceRoot":"","sources":["../../src/session-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type StoreOwnerProcessEvidence, type StoreOwnerProcessProbe } from "./store-owner-process.js";
|
|
2
|
+
export { probeStoreOwnerIdentity } from "./store-owner-process.js";
|
|
3
|
+
export type { StoreOwnerLiveness, StoreOwnerProcessProbe } from "./store-owner-process.js";
|
|
4
|
+
export declare const STORE_OWNER_HOST_ENV = "AKK_STORE_OWNER_HOST_IDENTITY";
|
|
5
|
+
export interface StoreOwnerHostIdentity extends StoreOwnerProcessEvidence {
|
|
6
|
+
readonly host_id: string;
|
|
7
|
+
readonly owner_scope: "host" | "cli";
|
|
8
|
+
readonly instance_nonce: string;
|
|
9
|
+
readonly created_at: string;
|
|
10
|
+
}
|
|
11
|
+
export interface StoreOwnerIdentity extends StoreOwnerHostIdentity {
|
|
12
|
+
readonly schema: "agent-knock-knock/store-owner";
|
|
13
|
+
readonly version: 1;
|
|
14
|
+
readonly store_dir: string;
|
|
15
|
+
readonly store_kind: "persistent" | "ephemeral";
|
|
16
|
+
}
|
|
17
|
+
export declare function isStoreOwnerHostIdentity(value: unknown): value is StoreOwnerHostIdentity;
|
|
18
|
+
export declare function isStoreOwnerIdentity(value: unknown): value is StoreOwnerIdentity;
|
|
19
|
+
/** Stamp the embedding process, never a short-lived CLI relay, as Host owner. */
|
|
20
|
+
export declare function withStoreOwnerHostEnvironment(environment: NodeJS.ProcessEnv, fallbackHostId?: string): NodeJS.ProcessEnv;
|
|
21
|
+
export declare function canonicalStoreOwnerPath(storeDir: string): string;
|
|
22
|
+
/** A temporary path alone never opts a Store into automatic owner recovery. */
|
|
23
|
+
export declare function storeOwnerKind(storeDir: string, environment?: NodeJS.ProcessEnv): "persistent" | "ephemeral";
|
|
24
|
+
export declare function captureStoreOwnerIdentity(storeDir: string, environment?: NodeJS.ProcessEnv, probe?: StoreOwnerProcessProbe): StoreOwnerIdentity;
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
import fs from "node:fs";
|
|
3
|
+
import os from "node:os";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
import { probeStoreOwnerIdentity, storeOwnerHostIsAncestor, systemStoreOwnerProcessProbe } from "./store-owner-process.js";
|
|
6
|
+
export { probeStoreOwnerIdentity } from "./store-owner-process.js";
|
|
7
|
+
export const STORE_OWNER_HOST_ENV = "AKK_STORE_OWNER_HOST_IDENTITY";
|
|
8
|
+
const localOwners = new Map();
|
|
9
|
+
function text(value, max = 256) {
|
|
10
|
+
return typeof value === "string" && value.length > 0 && value.length <= max &&
|
|
11
|
+
value.trim() === value && !/[\u0000-\u001f\u007f]/u.test(value);
|
|
12
|
+
}
|
|
13
|
+
function validProcessEvidence(value) {
|
|
14
|
+
return Number.isSafeInteger(value.pid) && Number(value.pid) > 1 &&
|
|
15
|
+
(value.process_start === null || text(value.process_start)) &&
|
|
16
|
+
(value.boot_id === null || text(value.boot_id));
|
|
17
|
+
}
|
|
18
|
+
export function isStoreOwnerHostIdentity(value) {
|
|
19
|
+
if (!value || typeof value !== "object" || Array.isArray(value))
|
|
20
|
+
return false;
|
|
21
|
+
const owner = value;
|
|
22
|
+
return validProcessEvidence(owner) && text(owner.host_id, 128) &&
|
|
23
|
+
["host", "cli"].includes(String(owner.owner_scope)) &&
|
|
24
|
+
typeof owner.instance_nonce === "string" && /^[a-f0-9-]{36}$/u.test(owner.instance_nonce) &&
|
|
25
|
+
typeof owner.created_at === "string" && Number.isFinite(Date.parse(owner.created_at));
|
|
26
|
+
}
|
|
27
|
+
export function isStoreOwnerIdentity(value) {
|
|
28
|
+
if (!isStoreOwnerHostIdentity(value))
|
|
29
|
+
return false;
|
|
30
|
+
const owner = value;
|
|
31
|
+
return owner.schema === "agent-knock-knock/store-owner" && owner.version === 1 &&
|
|
32
|
+
text(owner.store_dir, 4096) && path.isAbsolute(owner.store_dir) &&
|
|
33
|
+
["persistent", "ephemeral"].includes(String(owner.store_kind));
|
|
34
|
+
}
|
|
35
|
+
function captureProcessOwner(hostId, scope) {
|
|
36
|
+
const key = `${scope}:${hostId}`;
|
|
37
|
+
const cached = localOwners.get(key);
|
|
38
|
+
if (cached)
|
|
39
|
+
return cached;
|
|
40
|
+
const observed = systemStoreOwnerProcessProbe(process.pid);
|
|
41
|
+
const owner = Object.freeze({
|
|
42
|
+
host_id: hostId, owner_scope: scope, pid: process.pid,
|
|
43
|
+
process_start: observed.state === "present" ? observed.process_start : null,
|
|
44
|
+
boot_id: observed.state === "present" ? observed.boot_id : null,
|
|
45
|
+
instance_nonce: randomUUID(), created_at: new Date().toISOString()
|
|
46
|
+
});
|
|
47
|
+
localOwners.set(key, owner);
|
|
48
|
+
return owner;
|
|
49
|
+
}
|
|
50
|
+
/** Stamp the embedding process, never a short-lived CLI relay, as Host owner. */
|
|
51
|
+
export function withStoreOwnerHostEnvironment(environment, fallbackHostId = "openclaw") {
|
|
52
|
+
const inherited = inheritedOwner(environment);
|
|
53
|
+
const hostId = environment.AKK_HOST_PROFILE_HOST ??
|
|
54
|
+
(inherited?.pid === process.pid ? inherited.host_id : fallbackHostId);
|
|
55
|
+
if (!text(hostId, 128))
|
|
56
|
+
throw new Error("Invalid Store owner Host identity");
|
|
57
|
+
return { ...environment, [STORE_OWNER_HOST_ENV]: JSON.stringify(captureProcessOwner(hostId, "host")) };
|
|
58
|
+
}
|
|
59
|
+
export function canonicalStoreOwnerPath(storeDir) {
|
|
60
|
+
if (!text(storeDir, 4096) || !path.isAbsolute(storeDir)) {
|
|
61
|
+
throw new Error("Store owner registration requires an absolute Store path");
|
|
62
|
+
}
|
|
63
|
+
const resolved = fs.realpathSync(storeDir);
|
|
64
|
+
if (!fs.statSync(resolved).isDirectory())
|
|
65
|
+
throw new Error("Store owner path is not a directory");
|
|
66
|
+
return resolved;
|
|
67
|
+
}
|
|
68
|
+
function privateDirectory(candidate) {
|
|
69
|
+
const stat = fs.lstatSync(candidate);
|
|
70
|
+
return stat.isDirectory() && !stat.isSymbolicLink() &&
|
|
71
|
+
typeof process.getuid === "function" && stat.uid === process.getuid() && (stat.mode & 0o077) === 0;
|
|
72
|
+
}
|
|
73
|
+
/** A temporary path alone never opts a Store into automatic owner recovery. */
|
|
74
|
+
export function storeOwnerKind(storeDir, environment = process.env) {
|
|
75
|
+
if (environment.AKK_EPHEMERAL_STORE !== "1")
|
|
76
|
+
return "persistent";
|
|
77
|
+
try {
|
|
78
|
+
const canonical = canonicalStoreOwnerPath(storeDir);
|
|
79
|
+
const temporaryRoot = fs.realpathSync(os.tmpdir());
|
|
80
|
+
const relative = path.relative(temporaryRoot, canonical);
|
|
81
|
+
if (!relative || relative.startsWith(`..${path.sep}`) || path.isAbsolute(relative))
|
|
82
|
+
return "persistent";
|
|
83
|
+
const parts = relative.split(path.sep);
|
|
84
|
+
if (!parts[0].startsWith("akk-"))
|
|
85
|
+
return "persistent";
|
|
86
|
+
let cursor = temporaryRoot;
|
|
87
|
+
for (const part of parts) {
|
|
88
|
+
cursor = path.join(cursor, part);
|
|
89
|
+
if (!privateDirectory(cursor))
|
|
90
|
+
return "persistent";
|
|
91
|
+
}
|
|
92
|
+
return "ephemeral";
|
|
93
|
+
}
|
|
94
|
+
catch {
|
|
95
|
+
return "persistent";
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
function inheritedOwner(environment) {
|
|
99
|
+
const encoded = environment[STORE_OWNER_HOST_ENV];
|
|
100
|
+
if (encoded === undefined)
|
|
101
|
+
return undefined;
|
|
102
|
+
if (encoded.length > 4096)
|
|
103
|
+
throw new Error("Invalid Store owner Host environment");
|
|
104
|
+
let value;
|
|
105
|
+
try {
|
|
106
|
+
value = JSON.parse(encoded);
|
|
107
|
+
}
|
|
108
|
+
catch {
|
|
109
|
+
throw new Error("Invalid Store owner Host environment");
|
|
110
|
+
}
|
|
111
|
+
if (!isStoreOwnerHostIdentity(value) || value.owner_scope !== "host") {
|
|
112
|
+
throw new Error("Invalid Store owner Host environment");
|
|
113
|
+
}
|
|
114
|
+
return value;
|
|
115
|
+
}
|
|
116
|
+
export function captureStoreOwnerIdentity(storeDir, environment = process.env, probe = systemStoreOwnerProcessProbe) {
|
|
117
|
+
const canonical = canonicalStoreOwnerPath(storeDir);
|
|
118
|
+
const host = inheritedOwner(environment);
|
|
119
|
+
// A detached monitor or copied environment must not impersonate a former Host.
|
|
120
|
+
// Retain normal operation as a persistent CLI owner; this cannot enable auto recovery.
|
|
121
|
+
const verifiedHost = host && storeOwnerHostIsAncestor(host.pid) &&
|
|
122
|
+
probeStoreOwnerIdentity(host, probe).state === "alive" ? host : undefined;
|
|
123
|
+
const owner = verifiedHost ?? captureProcessOwner("standalone-cli", "cli");
|
|
124
|
+
return Object.freeze({ ...owner, schema: "agent-knock-knock/store-owner", version: 1,
|
|
125
|
+
store_dir: canonical, store_kind: host && !verifiedHost ? "persistent" : storeOwnerKind(canonical, environment) });
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=store-owner-identity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store-owner-identity.js","sourceRoot":"","sources":["../../src/store-owner-identity.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export interface StoreOwnerProcessEvidence {
|
|
2
|
+
readonly pid: number;
|
|
3
|
+
readonly process_start: string | null;
|
|
4
|
+
readonly boot_id: string | null;
|
|
5
|
+
}
|
|
6
|
+
export type StoreOwnerProcessObservation = {
|
|
7
|
+
readonly state: "absent";
|
|
8
|
+
} | {
|
|
9
|
+
readonly state: "unknown";
|
|
10
|
+
} | {
|
|
11
|
+
readonly state: "present";
|
|
12
|
+
readonly process_start: string | null;
|
|
13
|
+
readonly boot_id: string | null;
|
|
14
|
+
};
|
|
15
|
+
export type StoreOwnerProcessProbe = (pid: number) => StoreOwnerProcessObservation;
|
|
16
|
+
export interface StoreOwnerLiveness {
|
|
17
|
+
readonly state: "alive" | "dead" | "unknown";
|
|
18
|
+
readonly reason: string;
|
|
19
|
+
}
|
|
20
|
+
/** EPERM and inaccessible OS evidence never prove either presence or death. */
|
|
21
|
+
export declare const systemStoreOwnerProcessProbe: StoreOwnerProcessProbe;
|
|
22
|
+
export declare function probeStoreOwnerIdentity(owner: StoreOwnerProcessEvidence, probe?: StoreOwnerProcessProbe): StoreOwnerLiveness;
|
|
23
|
+
/** A copied environment cannot nominate an unrelated process as its Host. */
|
|
24
|
+
export declare function storeOwnerHostIsAncestor(hostPid: number): boolean;
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { spawnSync } from "node:child_process";
|
|
2
|
+
import fs from "node:fs";
|
|
3
|
+
function boundedText(value) {
|
|
4
|
+
const text = value.trim();
|
|
5
|
+
return text.length > 0 && text.length <= 256 && !/[\u0000\r\n]/u.test(text) ? text : null;
|
|
6
|
+
}
|
|
7
|
+
function systemCommand(executable, args) {
|
|
8
|
+
const result = spawnSync(executable, args, {
|
|
9
|
+
encoding: "utf8", timeout: 2_000, maxBuffer: 4096,
|
|
10
|
+
env: { ...process.env, LC_ALL: "C", TZ: "UTC" }
|
|
11
|
+
});
|
|
12
|
+
return result.status === 0 && !result.error ? boundedText(result.stdout) : null;
|
|
13
|
+
}
|
|
14
|
+
function bootIdentity() {
|
|
15
|
+
if (process.platform === "linux") {
|
|
16
|
+
return boundedText(fs.readFileSync("/proc/sys/kernel/random/boot_id", "utf8"));
|
|
17
|
+
}
|
|
18
|
+
if (process.platform === "darwin") {
|
|
19
|
+
return systemCommand("/usr/sbin/sysctl", ["-n", "kern.bootsessionuuid"]);
|
|
20
|
+
}
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
function startIdentity(pid) {
|
|
24
|
+
if (process.platform === "linux") {
|
|
25
|
+
const stat = fs.readFileSync(`/proc/${pid}/stat`, "utf8");
|
|
26
|
+
const fields = stat.slice(stat.lastIndexOf(")") + 2).trim().split(/\s+/u);
|
|
27
|
+
return /^\d+$/u.test(fields[19] ?? "") ? `linux-start-ticks:${fields[19]}` : null;
|
|
28
|
+
}
|
|
29
|
+
if (process.platform === "darwin") {
|
|
30
|
+
const value = systemCommand("/bin/ps", ["-o", "lstart=", "-p", String(pid)]);
|
|
31
|
+
return value ? `darwin-lstart:${value}` : null;
|
|
32
|
+
}
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
/** EPERM and inaccessible OS evidence never prove either presence or death. */
|
|
36
|
+
export const systemStoreOwnerProcessProbe = (pid) => {
|
|
37
|
+
if (!Number.isSafeInteger(pid) || pid <= 1)
|
|
38
|
+
return { state: "unknown" };
|
|
39
|
+
try {
|
|
40
|
+
process.kill(pid, 0);
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
return { state: error.code === "ESRCH" ? "absent" : "unknown" };
|
|
44
|
+
}
|
|
45
|
+
try {
|
|
46
|
+
return { state: "present", process_start: startIdentity(pid), boot_id: bootIdentity() };
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
return { state: "unknown" };
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
export function probeStoreOwnerIdentity(owner, probe = systemStoreOwnerProcessProbe) {
|
|
53
|
+
if (!Number.isSafeInteger(owner.pid) || owner.pid <= 1 || !owner.process_start || !owner.boot_id) {
|
|
54
|
+
return { state: "unknown", reason: "owner_incarnation_unverified" };
|
|
55
|
+
}
|
|
56
|
+
let observed;
|
|
57
|
+
try {
|
|
58
|
+
observed = probe(owner.pid);
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
return { state: "unknown", reason: "owner_probe_failed" };
|
|
62
|
+
}
|
|
63
|
+
if (observed.state === "absent")
|
|
64
|
+
return { state: "dead", reason: "owner_pid_absent" };
|
|
65
|
+
if (observed.state !== "present")
|
|
66
|
+
return { state: "unknown", reason: "owner_process_unreadable" };
|
|
67
|
+
if (!observed.process_start || !observed.boot_id) {
|
|
68
|
+
return { state: "unknown", reason: "owner_incarnation_unverified" };
|
|
69
|
+
}
|
|
70
|
+
if (owner.process_start !== observed.process_start || owner.boot_id !== observed.boot_id) {
|
|
71
|
+
return { state: "unknown", reason: "owner_incarnation_changed" };
|
|
72
|
+
}
|
|
73
|
+
return { state: "alive", reason: "owner_incarnation_verified" };
|
|
74
|
+
}
|
|
75
|
+
function parentPid(pid) {
|
|
76
|
+
if (pid === process.pid)
|
|
77
|
+
return process.ppid;
|
|
78
|
+
if (process.platform === "linux") {
|
|
79
|
+
const stat = fs.readFileSync(`/proc/${pid}/stat`, "utf8");
|
|
80
|
+
return Number(stat.slice(stat.lastIndexOf(")") + 2).trim().split(/\s+/u)[1]);
|
|
81
|
+
}
|
|
82
|
+
if (process.platform === "darwin") {
|
|
83
|
+
return Number(systemCommand("/bin/ps", ["-o", "ppid=", "-p", String(pid)]));
|
|
84
|
+
}
|
|
85
|
+
return undefined;
|
|
86
|
+
}
|
|
87
|
+
/** A copied environment cannot nominate an unrelated process as its Host. */
|
|
88
|
+
export function storeOwnerHostIsAncestor(hostPid) {
|
|
89
|
+
try {
|
|
90
|
+
let pid = process.pid;
|
|
91
|
+
const seen = new Set();
|
|
92
|
+
while (pid && pid > 1 && !seen.has(pid) && seen.size < 32) {
|
|
93
|
+
if (pid === hostPid)
|
|
94
|
+
return true;
|
|
95
|
+
seen.add(pid);
|
|
96
|
+
pid = parentPid(pid);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
catch {
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
return false;
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=store-owner-process.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store-owner-process.js","sourceRoot":"","sources":["../../src/store-owner-process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,MAAM,SAAS,CAAC;AAmBzB,SAAS,WAAW,CAAC,KAAa;IAChC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC1B,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC5F,CAAC;AAED,SAAS,aAAa,CAAC,UAAkB,EAAE,IAAc;IACvD,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE;QACzC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI;QACjD,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE;KAChD,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAClF,CAAC;AAED,SAAS,YAAY;IACnB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,WAAW,CAAC,EAAE,CAAC,YAAY,CAAC,iCAAiC,EAAE,MAAM,CAAC,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,aAAa,CAAC,kBAAkB,EAAE,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;IAChC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1E,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,qBAAqB,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACpF,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7E,OAAO,KAAK,CAAC,CAAC,CAAC,iBAAiB,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACjD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,MAAM,4BAA4B,GAA2B,CAAC,GAAG,EAAE,EAAE;IAC1E,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IACxE,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,KAAK,EAAG,KAA+B,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;IAC7F,CAAC;IACD,IAAI,CAAC;QACH,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,CAAC;IAC1F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC9B,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,UAAU,uBAAuB,CACrC,KAAgC,EAChC,KAAK,GAA2B,4BAA4B;IAE5D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACjG,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,8BAA8B,EAAE,CAAC;IACtE,CAAC;IACD,IAAI,QAAsC,CAAC;IAC3C,IAAI,CAAC;QAAC,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAAC,CAAC;IACzG,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;IACtF,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,0BAA0B,EAAE,CAAC;IAClG,IAAI,CAAC,QAAQ,CAAC,aAAa,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACjD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,8BAA8B,EAAE,CAAC;IACtE,CAAC;IACD,IAAI,KAAK,CAAC,aAAa,KAAK,QAAQ,CAAC,aAAa,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;QACzF,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,2BAA2B,EAAE,CAAC;IACnE,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,4BAA4B,EAAE,CAAC;AAClE,CAAC;AAED,SAAS,SAAS,CAAC,GAAW;IAC5B,IAAI,GAAG,KAAK,OAAO,CAAC,GAAG;QAAE,OAAO,OAAO,CAAC,IAAI,CAAC;IAC7C,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1D,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,OAAO,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,wBAAwB,CAAC,OAAe;IACtD,IAAI,CAAC;QACH,IAAI,GAAG,GAAuB,OAAO,CAAC,GAAG,CAAC;QAC1C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,OAAO,GAAG,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,EAAE,EAAE,CAAC;YAC1D,IAAI,GAAG,KAAK,OAAO;gBAAE,OAAO,IAAI,CAAC;YACjC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;IACzB,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type StoreOwnerIdentity } from "./store-owner-identity.js";
|
|
2
|
+
import { type StoreOwnerLiveness, type StoreOwnerProcessProbe } from "./store-owner-process.js";
|
|
3
|
+
export interface StoreOwnerInventory {
|
|
4
|
+
/** Complete only for this registered-owner snapshot; never proves legacy coverage. */
|
|
5
|
+
readonly complete: boolean;
|
|
6
|
+
readonly owners: readonly StoreOwnerIdentity[];
|
|
7
|
+
readonly fingerprint: string | null;
|
|
8
|
+
readonly reason?: string;
|
|
9
|
+
}
|
|
10
|
+
/** Call in the Store writer transaction; one atomic snapshot preserves every registration. */
|
|
11
|
+
export declare function registerStoreOwnerIdentity(owner: StoreOwnerIdentity): StoreOwnerIdentity;
|
|
12
|
+
export declare function readStoreOwnerInventory(storeDir: string): StoreOwnerInventory;
|
|
13
|
+
export declare function probeStoreOwnerInventory(inventory: StoreOwnerInventory, probe?: StoreOwnerProcessProbe): StoreOwnerLiveness;
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { createHash, randomUUID } from "node:crypto";
|
|
2
|
+
import fs from "node:fs";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { atomicReplacePrivateJsonFile, fsyncDirectory } from "./durable-json-file.js";
|
|
5
|
+
import { canonicalStoreOwnerPath, isStoreOwnerIdentity } from "./store-owner-identity.js";
|
|
6
|
+
import { probeStoreOwnerIdentity, systemStoreOwnerProcessProbe } from "./store-owner-process.js";
|
|
7
|
+
const DIRECTORY = ".akk-store-owners";
|
|
8
|
+
const FILE = "registry.json";
|
|
9
|
+
const SCHEMA = "agent-knock-knock/store-owner-registry";
|
|
10
|
+
const MAX_BYTES = 4 * 1024 * 1024;
|
|
11
|
+
function assertPrivate(stat) {
|
|
12
|
+
if (typeof process.getuid !== "function" || stat.uid !== process.getuid() || (stat.mode & 0o077) !== 0) {
|
|
13
|
+
throw new Error("Store owner registry ownership or permissions are unsafe");
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
function assertPrivateDirectory(directory) {
|
|
17
|
+
const stat = fs.lstatSync(directory);
|
|
18
|
+
if (!stat.isDirectory() || stat.isSymbolicLink())
|
|
19
|
+
throw new Error("Invalid Store owner registry directory");
|
|
20
|
+
assertPrivate(stat);
|
|
21
|
+
}
|
|
22
|
+
function readPrivateFile(filename) {
|
|
23
|
+
const fd = fs.openSync(filename, fs.constants.O_RDONLY | fs.constants.O_NOFOLLOW);
|
|
24
|
+
try {
|
|
25
|
+
const stat = fs.fstatSync(fd);
|
|
26
|
+
if (!stat.isFile() || stat.nlink !== 1 || stat.size > MAX_BYTES)
|
|
27
|
+
throw new Error("Invalid Store owner registry file");
|
|
28
|
+
assertPrivate(stat);
|
|
29
|
+
return fs.readFileSync(fd, "utf8");
|
|
30
|
+
}
|
|
31
|
+
finally {
|
|
32
|
+
fs.closeSync(fd);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
function ownerText(owner) {
|
|
36
|
+
return JSON.stringify({ schema: owner.schema, version: owner.version, host_id: owner.host_id,
|
|
37
|
+
owner_scope: owner.owner_scope, store_dir: owner.store_dir, pid: owner.pid,
|
|
38
|
+
process_start: owner.process_start, boot_id: owner.boot_id, instance_nonce: owner.instance_nonce,
|
|
39
|
+
store_kind: owner.store_kind, created_at: owner.created_at });
|
|
40
|
+
}
|
|
41
|
+
function readSnapshot(directory, storeDir) {
|
|
42
|
+
assertPrivateDirectory(directory);
|
|
43
|
+
const value = JSON.parse(readPrivateFile(path.join(directory, FILE)));
|
|
44
|
+
if (value?.schema !== SCHEMA || value.version !== 1 || value.store_dir !== storeDir ||
|
|
45
|
+
!Array.isArray(value.owners) || !value.owners.length || value.owners.length > 4096) {
|
|
46
|
+
throw new Error("Invalid Store owner registry snapshot");
|
|
47
|
+
}
|
|
48
|
+
const nonces = new Set();
|
|
49
|
+
for (const owner of value.owners) {
|
|
50
|
+
if (!isStoreOwnerIdentity(owner) || owner.store_dir !== storeDir || nonces.has(owner.instance_nonce)) {
|
|
51
|
+
throw new Error("Store owner snapshot contains an invalid or duplicate incarnation");
|
|
52
|
+
}
|
|
53
|
+
nonces.add(owner.instance_nonce);
|
|
54
|
+
Object.freeze(owner);
|
|
55
|
+
}
|
|
56
|
+
return value.owners.sort((left, right) => left.instance_nonce.localeCompare(right.instance_nonce));
|
|
57
|
+
}
|
|
58
|
+
function existsNoFollow(candidate) {
|
|
59
|
+
try {
|
|
60
|
+
fs.lstatSync(candidate);
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
catch (error) {
|
|
64
|
+
if (error.code === "ENOENT")
|
|
65
|
+
return false;
|
|
66
|
+
throw error;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
function replaceSnapshot(directory, storeDir, owners, beforeRename) {
|
|
70
|
+
const value = { schema: SCHEMA, version: 1, store_dir: storeDir,
|
|
71
|
+
owners: owners.map(owner => JSON.parse(ownerText(owner))) };
|
|
72
|
+
if (Buffer.byteLength(JSON.stringify(value, null, 2)) + 1 > MAX_BYTES) {
|
|
73
|
+
throw new Error("Store owner registry capacity exceeded");
|
|
74
|
+
}
|
|
75
|
+
atomicReplacePrivateJsonFile(path.join(directory, FILE), value, {
|
|
76
|
+
temporaryPath: path.join(directory, `.registry.${process.pid}.${randomUUID()}.tmp`),
|
|
77
|
+
beforeRename,
|
|
78
|
+
cleanupTemporary(temporaryPath) {
|
|
79
|
+
try {
|
|
80
|
+
fs.unlinkSync(temporaryPath);
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
if (error.code !== "ENOENT")
|
|
84
|
+
throw error;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
function initializeSnapshot(directory, owner) {
|
|
90
|
+
const staging = fs.mkdtempSync(path.join(owner.store_dir, `${DIRECTORY}.init-`));
|
|
91
|
+
fs.chmodSync(staging, 0o700);
|
|
92
|
+
try {
|
|
93
|
+
replaceSnapshot(staging, owner.store_dir, [owner]);
|
|
94
|
+
fsyncDirectory(staging);
|
|
95
|
+
if (existsNoFollow(directory))
|
|
96
|
+
throw new Error("Store owner registry appeared during initialization");
|
|
97
|
+
fs.renameSync(staging, directory);
|
|
98
|
+
fsyncDirectory(owner.store_dir);
|
|
99
|
+
}
|
|
100
|
+
finally {
|
|
101
|
+
// Only this invocation's unpublished staging directory; never an existing registry.
|
|
102
|
+
fs.rmSync(staging, { recursive: true, force: true });
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/** Call in the Store writer transaction; one atomic snapshot preserves every registration. */
|
|
106
|
+
export function registerStoreOwnerIdentity(owner) {
|
|
107
|
+
if (!isStoreOwnerIdentity(owner) || canonicalStoreOwnerPath(owner.store_dir) !== owner.store_dir) {
|
|
108
|
+
throw new Error("Invalid Store owner identity");
|
|
109
|
+
}
|
|
110
|
+
const directory = path.join(owner.store_dir, DIRECTORY);
|
|
111
|
+
if (!existsNoFollow(directory)) {
|
|
112
|
+
initializeSnapshot(directory, owner);
|
|
113
|
+
return owner;
|
|
114
|
+
}
|
|
115
|
+
const owners = readSnapshot(directory, owner.store_dir);
|
|
116
|
+
const existing = owners.find(value => value.instance_nonce === owner.instance_nonce);
|
|
117
|
+
if (existing) {
|
|
118
|
+
if (ownerText(existing) !== ownerText(owner))
|
|
119
|
+
throw new Error("Store owner incarnation registration cannot be replaced");
|
|
120
|
+
return owner;
|
|
121
|
+
}
|
|
122
|
+
if (owners.length >= 4096)
|
|
123
|
+
throw new Error("Store owner registration capacity exceeded");
|
|
124
|
+
replaceSnapshot(directory, owner.store_dir, [...owners, owner], () => {
|
|
125
|
+
if (JSON.stringify(readSnapshot(directory, owner.store_dir).map(ownerText)) !== JSON.stringify(owners.map(ownerText))) {
|
|
126
|
+
throw new Error("Store owner registrations changed before atomic publication");
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
return owner;
|
|
130
|
+
}
|
|
131
|
+
export function readStoreOwnerInventory(storeDir) {
|
|
132
|
+
try {
|
|
133
|
+
const canonical = canonicalStoreOwnerPath(storeDir);
|
|
134
|
+
const directory = path.join(canonical, DIRECTORY);
|
|
135
|
+
if (!existsNoFollow(directory))
|
|
136
|
+
return unverifiableInventory("owner_inventory_absent");
|
|
137
|
+
const owners = readSnapshot(directory, canonical);
|
|
138
|
+
const fingerprint = createHash("sha256").update(owners.map(ownerText).join("\n")).digest("hex");
|
|
139
|
+
return Object.freeze({ complete: true, owners: Object.freeze(owners), fingerprint });
|
|
140
|
+
}
|
|
141
|
+
catch {
|
|
142
|
+
return unverifiableInventory();
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
function unverifiableInventory(reason = "owner_inventory_unverifiable") {
|
|
146
|
+
return Object.freeze({ complete: false, owners: [], fingerprint: null, reason });
|
|
147
|
+
}
|
|
148
|
+
export function probeStoreOwnerInventory(inventory, probe = systemStoreOwnerProcessProbe) {
|
|
149
|
+
if (!inventory.complete || !inventory.owners.length)
|
|
150
|
+
return { state: "unknown", reason: "owner_inventory_unverifiable" };
|
|
151
|
+
const results = inventory.owners.map(owner => probeStoreOwnerIdentity(owner, probe));
|
|
152
|
+
if (results.some(result => result.state === "alive"))
|
|
153
|
+
return { state: "alive", reason: "registered_owner_alive" };
|
|
154
|
+
if (results.some(result => result.state === "unknown"))
|
|
155
|
+
return { state: "unknown", reason: "registered_owner_unverifiable" };
|
|
156
|
+
return { state: "dead", reason: "all_registered_owners_proven_dead" };
|
|
157
|
+
}
|
|
158
|
+
//# sourceMappingURL=store-owner-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store-owner-registry.js","sourceRoot":"","sources":["../../src/store-owner-registry.ts"],"names":[],"mappings":"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"}
|
package/dist/src/store.d.ts
CHANGED
|
@@ -5,13 +5,15 @@ declare const STORE_SCHEMA = "agent-knock-knock/store";
|
|
|
5
5
|
export declare const STORE_DEFERRED_FOREGROUND_TRANSFERS_DIRECTORY = "deferred-foreground-transfers";
|
|
6
6
|
export declare const STORE_TERMINAL_WATCHES_DIRECTORY = "terminal-watches";
|
|
7
7
|
export declare const STORE_FORMAT_VERSION = 1;
|
|
8
|
-
export declare const STORE_WRITER_PROTOCOL =
|
|
8
|
+
export declare const STORE_WRITER_PROTOCOL = 11;
|
|
9
9
|
export declare const STORE_SESSION_AUTHORITY_PROTOCOL = 3;
|
|
10
10
|
export interface StoreManifest {
|
|
11
11
|
schema: typeof STORE_SCHEMA;
|
|
12
12
|
format_version: number;
|
|
13
13
|
writer_protocol: number;
|
|
14
14
|
created_at: string;
|
|
15
|
+
/** Only newly initialized protocol-11 Stores have complete writer-era coverage. */
|
|
16
|
+
owner_registration?: "required";
|
|
15
17
|
}
|
|
16
18
|
export interface StoreCompatibility {
|
|
17
19
|
status: "uninitialized" | "legacy" | "upgradeable" | "compatible" | "incompatible";
|