@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.
Files changed (159) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/connectors/deepseek-harness/README.md +53 -13
  3. package/connectors/pi/README.md +38 -11
  4. package/dist/src/claude-conversation-routing-cli-adapter.js +5 -1
  5. package/dist/src/claude-conversation-routing-cli-adapter.js.map +1 -1
  6. package/dist/src/claude-managed-send-route.d.ts +2 -0
  7. package/dist/src/claude-managed-send-route.js +20 -3
  8. package/dist/src/claude-managed-send-route.js.map +1 -1
  9. package/dist/src/claude-terminal-agent-observation.d.ts +2 -0
  10. package/dist/src/claude-terminal-agent-observation.js +18 -1
  11. package/dist/src/claude-terminal-agent-observation.js.map +1 -1
  12. package/dist/src/claude-terminal-registry-observation.d.ts +12 -0
  13. package/dist/src/claude-terminal-registry-observation.js +32 -0
  14. package/dist/src/claude-terminal-registry-observation.js.map +1 -1
  15. package/dist/src/claude-user-explicit-input-proof.d.ts +9 -0
  16. package/dist/src/claude-user-explicit-input-proof.js +90 -0
  17. package/dist/src/claude-user-explicit-input-proof.js.map +1 -0
  18. package/dist/src/cli-core.js +8 -4
  19. package/dist/src/cli-core.js.map +1 -1
  20. package/dist/src/cli-usage.js +1 -0
  21. package/dist/src/cli-usage.js.map +1 -1
  22. package/dist/src/conversation-list.d.ts +3 -3
  23. package/dist/src/conversation-list.js +38 -14
  24. package/dist/src/conversation-list.js.map +1 -1
  25. package/dist/src/conversation-routing-cli-adapter.js +49 -2
  26. package/dist/src/conversation-routing-cli-adapter.js.map +1 -1
  27. package/dist/src/conversation-usage-guidance.d.ts +4 -0
  28. package/dist/src/conversation-usage-guidance.js +240 -0
  29. package/dist/src/conversation-usage-guidance.js.map +1 -0
  30. package/dist/src/host-adapter.js +3 -2
  31. package/dist/src/host-adapter.js.map +1 -1
  32. package/dist/src/managed-session.d.ts +11 -0
  33. package/dist/src/managed-session.js +24 -1
  34. package/dist/src/managed-session.js.map +1 -1
  35. package/dist/src/native-store-authority-cli-adapter.d.ts +20 -0
  36. package/dist/src/native-store-authority-cli-adapter.js +105 -0
  37. package/dist/src/native-store-authority-cli-adapter.js.map +1 -0
  38. package/dist/src/native-store-authority-ledger.d.ts +3 -0
  39. package/dist/src/native-store-authority-ledger.js +46 -0
  40. package/dist/src/native-store-authority-ledger.js.map +1 -0
  41. package/dist/src/native-store-authority-projection.d.ts +6 -0
  42. package/dist/src/native-store-authority-projection.js +68 -0
  43. package/dist/src/native-store-authority-projection.js.map +1 -0
  44. package/dist/src/native-store-authority-runtime.d.ts +9 -0
  45. package/dist/src/native-store-authority-runtime.js +77 -0
  46. package/dist/src/native-store-authority-runtime.js.map +1 -0
  47. package/dist/src/native-store-authority-transfer.d.ts +31 -0
  48. package/dist/src/native-store-authority-transfer.js +172 -0
  49. package/dist/src/native-store-authority-transfer.js.map +1 -0
  50. package/dist/src/native-store-authority-watch.d.ts +9 -0
  51. package/dist/src/native-store-authority-watch.js +43 -0
  52. package/dist/src/native-store-authority-watch.js.map +1 -0
  53. package/dist/src/native-store-authority.d.ts +29 -0
  54. package/dist/src/native-store-authority.js +181 -0
  55. package/dist/src/native-store-authority.js.map +1 -0
  56. package/dist/src/semantic-tool-descriptions.js +22 -16
  57. package/dist/src/semantic-tool-descriptions.js.map +1 -1
  58. package/dist/src/semantic-tool-list-budget.js +2 -1
  59. package/dist/src/semantic-tool-list-budget.js.map +1 -1
  60. package/dist/src/semantic-tool-list-projection.d.ts +2 -2
  61. package/dist/src/semantic-tool-list-projection.js +23 -11
  62. package/dist/src/semantic-tool-list-projection.js.map +1 -1
  63. package/dist/src/semantic-tool-private-authority.d.ts +5 -0
  64. package/dist/src/semantic-tool-private-authority.js +68 -4
  65. package/dist/src/semantic-tool-private-authority.js.map +1 -1
  66. package/dist/src/semantic-tool-relay.d.ts +1 -0
  67. package/dist/src/semantic-tool-relay.js +12 -5
  68. package/dist/src/semantic-tool-relay.js.map +1 -1
  69. package/dist/src/semantic-tool-runtime.js +5 -37
  70. package/dist/src/semantic-tool-runtime.js.map +1 -1
  71. package/dist/src/semantic-tool-schemas.d.ts +25 -0
  72. package/dist/src/semantic-tool-schemas.js +26 -10
  73. package/dist/src/semantic-tool-schemas.js.map +1 -1
  74. package/dist/src/session-store.js +5 -1
  75. package/dist/src/session-store.js.map +1 -1
  76. package/dist/src/store-owner-identity.d.ts +24 -0
  77. package/dist/src/store-owner-identity.js +127 -0
  78. package/dist/src/store-owner-identity.js.map +1 -0
  79. package/dist/src/store-owner-process.d.ts +24 -0
  80. package/dist/src/store-owner-process.js +104 -0
  81. package/dist/src/store-owner-process.js.map +1 -0
  82. package/dist/src/store-owner-registry.d.ts +13 -0
  83. package/dist/src/store-owner-registry.js +158 -0
  84. package/dist/src/store-owner-registry.js.map +1 -0
  85. package/dist/src/store.d.ts +3 -1
  86. package/dist/src/store.js +5 -2
  87. package/dist/src/store.js.map +1 -1
  88. package/dist/src/terminal-action-contracts.js +45 -16
  89. package/dist/src/terminal-action-contracts.js.map +1 -1
  90. package/dist/src/terminal-action-projection.d.ts +1 -1
  91. package/dist/src/terminal-action-projection.js.map +1 -1
  92. package/dist/src/terminal-agent-bridge.js +8 -11
  93. package/dist/src/terminal-agent-bridge.js.map +1 -1
  94. package/dist/src/terminal-composer-classifier.d.ts +1 -0
  95. package/dist/src/terminal-composer-classifier.js +7 -32
  96. package/dist/src/terminal-composer-classifier.js.map +1 -1
  97. package/dist/src/terminal-dispatch-execution.d.ts +4 -1
  98. package/dist/src/terminal-dispatch-execution.js +3 -2
  99. package/dist/src/terminal-dispatch-execution.js.map +1 -1
  100. package/dist/src/terminal-dispatch-ledger-codec.js +1 -1
  101. package/dist/src/terminal-dispatch-ledger-codec.js.map +1 -1
  102. package/dist/src/terminal-dispatch-recovery-cli-adapter.js +2 -21
  103. package/dist/src/terminal-dispatch-recovery-cli-adapter.js.map +1 -1
  104. package/dist/src/terminal-dispatch-repository-cli-adapter.d.ts +3 -1
  105. package/dist/src/terminal-dispatch-repository-cli-adapter.js +3 -2
  106. package/dist/src/terminal-dispatch-repository-cli-adapter.js.map +1 -1
  107. package/dist/src/terminal-human-explicit-send-cli-adapter.js +3 -0
  108. package/dist/src/terminal-human-explicit-send-cli-adapter.js.map +1 -1
  109. package/dist/src/terminal-list-cli-adapter.d.ts +6 -0
  110. package/dist/src/terminal-list-cli-adapter.js +42 -22
  111. package/dist/src/terminal-list-cli-adapter.js.map +1 -1
  112. package/dist/src/terminal-list-facts.d.ts +5 -0
  113. package/dist/src/terminal-list-facts.js.map +1 -1
  114. package/dist/src/terminal-list-inventory.d.ts +1 -0
  115. package/dist/src/terminal-list-inventory.js +1 -0
  116. package/dist/src/terminal-list-inventory.js.map +1 -1
  117. package/dist/src/terminal-list-native-identity-recheck.d.ts +35 -0
  118. package/dist/src/terminal-list-native-identity-recheck.js +76 -0
  119. package/dist/src/terminal-list-native-identity-recheck.js.map +1 -0
  120. package/dist/src/terminal-list-ownership-service.d.ts +1 -0
  121. package/dist/src/terminal-list-ownership-service.js +21 -0
  122. package/dist/src/terminal-list-ownership-service.js.map +1 -1
  123. package/dist/src/terminal-list-projection-service.js +2 -1
  124. package/dist/src/terminal-list-projection-service.js.map +1 -1
  125. package/dist/src/terminal-monitor-decision-policy.d.ts +1 -1
  126. package/dist/src/terminal-mutation-cli-runtime.d.ts +7 -2
  127. package/dist/src/terminal-mutation-cli-runtime.js +11 -3
  128. package/dist/src/terminal-mutation-cli-runtime.js.map +1 -1
  129. package/dist/src/terminal-permission-control-cli-adapter.js +7 -0
  130. package/dist/src/terminal-permission-control-cli-adapter.js.map +1 -1
  131. package/dist/src/terminal-runtime-cli-adapter.d.ts +1 -0
  132. package/dist/src/terminal-runtime-cli-adapter.js +4 -1
  133. package/dist/src/terminal-runtime-cli-adapter.js.map +1 -1
  134. package/dist/src/terminal-status-cli-adapter.js +1 -0
  135. package/dist/src/terminal-status-cli-adapter.js.map +1 -1
  136. package/dist/src/terminal-status-facts.d.ts +1 -0
  137. package/dist/src/terminal-status-facts.js +8 -1
  138. package/dist/src/terminal-status-facts.js.map +1 -1
  139. package/dist/src/terminal-user-explicit-send-clear.d.ts +6 -12
  140. package/dist/src/terminal-user-explicit-send-clear.js +43 -64
  141. package/dist/src/terminal-user-explicit-send-clear.js.map +1 -1
  142. package/dist/src/terminal-user-explicit-send-policy.js +1 -0
  143. package/dist/src/terminal-user-explicit-send-policy.js.map +1 -1
  144. package/dist/src/terminal-watch-cli-adapter.js +3 -2
  145. package/dist/src/terminal-watch-cli-adapter.js.map +1 -1
  146. package/dist/src/terminal-watch-response-cli-adapter.js +9 -0
  147. package/dist/src/terminal-watch-response-cli-adapter.js.map +1 -1
  148. package/docs/bidirectional-agent-protocol.md +2 -2
  149. package/docs/callback-compatibility.md +2 -1
  150. package/docs/claude-2.1.285-compatibility.md +72 -10
  151. package/docs/claude-cli-direct.md +69 -1
  152. package/docs/list-output.md +97 -1
  153. package/docs/operator-guide.md +136 -9
  154. package/docs/quickstart-herdr.md +1 -1
  155. package/docs/quickstart-tmux.md +5 -3
  156. package/docs/storage-and-logging.md +10 -5
  157. package/docs/testing.md +5 -6
  158. package/package.json +1 -1
  159. 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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"}
@@ -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 = 10;
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";