@scotthuang/agent-knock-knock 0.12.13 → 0.12.15

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 (170) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/README.md +13 -13
  3. package/dist/src/callback-cli-adapter.d.ts +9 -6
  4. package/dist/src/callback-cli-adapter.js +119 -30
  5. package/dist/src/callback-cli-adapter.js.map +1 -1
  6. package/dist/src/callback-outbox-policy.d.ts +39 -0
  7. package/dist/src/callback-outbox-policy.js +163 -6
  8. package/dist/src/callback-outbox-policy.js.map +1 -1
  9. package/dist/src/callback-outbox-service.d.ts +28 -1
  10. package/dist/src/callback-outbox-service.js +413 -82
  11. package/dist/src/callback-outbox-service.js.map +1 -1
  12. package/dist/src/callback-outbox-settlement.d.ts +14 -1
  13. package/dist/src/callback-outbox-settlement.js +151 -30
  14. package/dist/src/callback-outbox-settlement.js.map +1 -1
  15. package/dist/src/callback-route-authority.d.ts +59 -0
  16. package/dist/src/callback-route-authority.js +123 -0
  17. package/dist/src/callback-route-authority.js.map +1 -0
  18. package/dist/src/callback-transport.d.ts +134 -0
  19. package/dist/src/callback-transport.js +256 -0
  20. package/dist/src/callback-transport.js.map +1 -0
  21. package/dist/src/cli-core.js +56 -18
  22. package/dist/src/cli-core.js.map +1 -1
  23. package/dist/src/cli-runtime-context.d.ts +2 -0
  24. package/dist/src/cli-runtime-context.js.map +1 -1
  25. package/dist/src/codex-lifecycle-compatibility.js +2 -1
  26. package/dist/src/codex-lifecycle-compatibility.js.map +1 -1
  27. package/dist/src/deferred-foreground-application-service.d.ts +18 -0
  28. package/dist/src/deferred-foreground-application-service.js +72 -0
  29. package/dist/src/deferred-foreground-application-service.js.map +1 -1
  30. package/dist/src/deferred-foreground-authority-cli-adapter.js +10 -1
  31. package/dist/src/deferred-foreground-authority-cli-adapter.js.map +1 -1
  32. package/dist/src/deferred-foreground-recovery-cli-adapter.d.ts +1 -1
  33. package/dist/src/deferred-foreground-recovery-cli-adapter.js +108 -37
  34. package/dist/src/deferred-foreground-recovery-cli-adapter.js.map +1 -1
  35. package/dist/src/deferred-foreground-recovery-service.d.ts +1 -1
  36. package/dist/src/deferred-foreground-recovery-service.js +10 -3
  37. package/dist/src/deferred-foreground-recovery-service.js.map +1 -1
  38. package/dist/src/deferred-foreground-transfer-policy.d.ts +1 -1
  39. package/dist/src/deferred-foreground-transfer-policy.js +3 -2
  40. package/dist/src/deferred-foreground-transfer-policy.js.map +1 -1
  41. package/dist/src/deferred-foreground-transfer.d.ts +17 -1
  42. package/dist/src/deferred-foreground-transfer.js +244 -35
  43. package/dist/src/deferred-foreground-transfer.js.map +1 -1
  44. package/dist/src/deferred-foreground-user-close.d.ts +18 -0
  45. package/dist/src/deferred-foreground-user-close.js +180 -0
  46. package/dist/src/deferred-foreground-user-close.js.map +1 -0
  47. package/dist/src/install-doctor-command-adapter.js +1 -1
  48. package/dist/src/install-doctor-command-adapter.js.map +1 -1
  49. package/dist/src/openclaw-callback-transport.d.ts +4 -1
  50. package/dist/src/openclaw-callback-transport.js +403 -10
  51. package/dist/src/openclaw-callback-transport.js.map +1 -1
  52. package/dist/src/openclaw-doctor.js +16 -2
  53. package/dist/src/openclaw-doctor.js.map +1 -1
  54. package/dist/src/openclaw-managed-callback-cli-adapter.d.ts +23 -0
  55. package/dist/src/openclaw-managed-callback-cli-adapter.js +77 -0
  56. package/dist/src/openclaw-managed-callback-cli-adapter.js.map +1 -0
  57. package/dist/src/openclaw-plugin-command-adapter.js +93 -39
  58. package/dist/src/openclaw-plugin-command-adapter.js.map +1 -1
  59. package/dist/src/openclaw-plugin-helpers.d.ts +1 -0
  60. package/dist/src/openclaw-plugin-helpers.js +9 -1
  61. package/dist/src/openclaw-plugin-helpers.js.map +1 -1
  62. package/dist/src/openclaw-plugin-schemas.d.ts +20 -1
  63. package/dist/src/openclaw-plugin-schemas.js +27 -3
  64. package/dist/src/openclaw-plugin-schemas.js.map +1 -1
  65. package/dist/src/protocol.d.ts +3 -0
  66. package/dist/src/protocol.js +4 -0
  67. package/dist/src/protocol.js.map +1 -1
  68. package/dist/src/store.d.ts +12 -1
  69. package/dist/src/store.js +81 -3
  70. package/dist/src/store.js.map +1 -1
  71. package/dist/src/terminal-acceptance-cli-adapter.d.ts +2 -0
  72. package/dist/src/terminal-acceptance-cli-adapter.js +62 -12
  73. package/dist/src/terminal-acceptance-cli-adapter.js.map +1 -1
  74. package/dist/src/terminal-action-projection.d.ts +31 -3
  75. package/dist/src/terminal-action-projection.js +64 -9
  76. package/dist/src/terminal-action-projection.js.map +1 -1
  77. package/dist/src/terminal-agent-bridge.d.ts +82 -0
  78. package/dist/src/terminal-agent-bridge.js +553 -109
  79. package/dist/src/terminal-agent-bridge.js.map +1 -1
  80. package/dist/src/terminal-command-cli-adapter.d.ts +26 -2
  81. package/dist/src/terminal-command-cli-adapter.js +3162 -214
  82. package/dist/src/terminal-command-cli-adapter.js.map +1 -1
  83. package/dist/src/terminal-delegate-cli-adapter.d.ts +4 -22
  84. package/dist/src/terminal-delegate-cli-adapter.js +239 -192
  85. package/dist/src/terminal-delegate-cli-adapter.js.map +1 -1
  86. package/dist/src/terminal-delegate-send-binding.d.ts +63 -0
  87. package/dist/src/terminal-delegate-send-binding.js +360 -0
  88. package/dist/src/terminal-delegate-send-binding.js.map +1 -0
  89. package/dist/src/terminal-dispatch-application.d.ts +4 -1
  90. package/dist/src/terminal-dispatch-application.js +11 -2
  91. package/dist/src/terminal-dispatch-application.js.map +1 -1
  92. package/dist/src/terminal-dispatch-composition.d.ts +5 -0
  93. package/dist/src/terminal-dispatch-execution.js +3 -1
  94. package/dist/src/terminal-dispatch-execution.js.map +1 -1
  95. package/dist/src/terminal-dispatch-ledger-codec.d.ts +3 -0
  96. package/dist/src/terminal-dispatch-ledger-codec.js +46 -19
  97. package/dist/src/terminal-dispatch-ledger-codec.js.map +1 -1
  98. package/dist/src/terminal-dispatch-presenter.js +5 -3
  99. package/dist/src/terminal-dispatch-presenter.js.map +1 -1
  100. package/dist/src/terminal-dispatch-receipt.d.ts +3 -0
  101. package/dist/src/terminal-dispatch-receipt.js +15 -1
  102. package/dist/src/terminal-dispatch-receipt.js.map +1 -1
  103. package/dist/src/terminal-dispatch-recovery-cli-adapter.js +68 -7
  104. package/dist/src/terminal-dispatch-recovery-cli-adapter.js.map +1 -1
  105. package/dist/src/terminal-dispatch-recovery-service.d.ts +2 -0
  106. package/dist/src/terminal-dispatch-recovery-service.js +9 -0
  107. package/dist/src/terminal-dispatch-recovery-service.js.map +1 -1
  108. package/dist/src/terminal-dispatch-repository-cli-adapter.d.ts +4 -2
  109. package/dist/src/terminal-dispatch-repository-cli-adapter.js +10 -3
  110. package/dist/src/terminal-dispatch-repository-cli-adapter.js.map +1 -1
  111. package/dist/src/terminal-identity-authority-cli-adapter.d.ts +2 -0
  112. package/dist/src/terminal-identity-authority-cli-adapter.js +34 -27
  113. package/dist/src/terminal-identity-authority-cli-adapter.js.map +1 -1
  114. package/dist/src/terminal-list-cli-adapter.d.ts +6 -0
  115. package/dist/src/terminal-list-cli-adapter.js +391 -177
  116. package/dist/src/terminal-list-cli-adapter.js.map +1 -1
  117. package/dist/src/terminal-list-renderer.d.ts +9 -1
  118. package/dist/src/terminal-list-renderer.js +226 -104
  119. package/dist/src/terminal-list-renderer.js.map +1 -1
  120. package/dist/src/terminal-maintenance-cli-adapter.js +253 -326
  121. package/dist/src/terminal-maintenance-cli-adapter.js.map +1 -1
  122. package/dist/src/terminal-monitor-application-service.d.ts +5 -0
  123. package/dist/src/terminal-monitor-application-service.js +5 -0
  124. package/dist/src/terminal-monitor-application-service.js.map +1 -1
  125. package/dist/src/terminal-monitor-cli-adapter.d.ts +25 -1
  126. package/dist/src/terminal-monitor-cli-adapter.js +170 -27
  127. package/dist/src/terminal-monitor-cli-adapter.js.map +1 -1
  128. package/dist/src/terminal-monitor-reconciliation-eligibility.d.ts +1 -1
  129. package/dist/src/terminal-monitor-reconciliation-eligibility.js +220 -32
  130. package/dist/src/terminal-monitor-reconciliation-eligibility.js.map +1 -1
  131. package/dist/src/terminal-monitor-state-cli-adapter.d.ts +1 -1
  132. package/dist/src/terminal-monitor-state-cli-adapter.js +808 -147
  133. package/dist/src/terminal-monitor-state-cli-adapter.js.map +1 -1
  134. package/dist/src/terminal-monitor-state-reconciliation-service.d.ts +2 -1
  135. package/dist/src/terminal-monitor-state-reconciliation-service.js +12 -0
  136. package/dist/src/terminal-monitor-state-reconciliation-service.js.map +1 -1
  137. package/dist/src/terminal-monitor-supervision-cli-adapter.d.ts +2 -0
  138. package/dist/src/terminal-monitor-supervision-cli-adapter.js +31 -11
  139. package/dist/src/terminal-monitor-supervision-cli-adapter.js.map +1 -1
  140. package/dist/src/terminal-process-source.d.ts +13 -0
  141. package/dist/src/terminal-process-source.js +37 -0
  142. package/dist/src/terminal-process-source.js.map +1 -1
  143. package/dist/src/terminal-runtime-cli-adapter.js +14 -2
  144. package/dist/src/terminal-runtime-cli-adapter.js.map +1 -1
  145. package/dist/src/terminal-status-cli-adapter.d.ts +1 -0
  146. package/dist/src/terminal-status-cli-adapter.js +30 -28
  147. package/dist/src/terminal-status-cli-adapter.js.map +1 -1
  148. package/dist/src/terminal-submission-acceptance.js +78 -25
  149. package/dist/src/terminal-submission-acceptance.js.map +1 -1
  150. package/dist/src/terminal-submission-retry-service.d.ts +114 -0
  151. package/dist/src/terminal-submission-retry-service.js +589 -0
  152. package/dist/src/terminal-submission-retry-service.js.map +1 -0
  153. package/dist/src/terminal-user-send-intent.d.ts +65 -0
  154. package/dist/src/terminal-user-send-intent.js +317 -0
  155. package/dist/src/terminal-user-send-intent.js.map +1 -0
  156. package/dist/src/terminal-watch-callback-cli-adapter.d.ts +10 -2
  157. package/dist/src/terminal-watch-callback-cli-adapter.js +76 -37
  158. package/dist/src/terminal-watch-callback-cli-adapter.js.map +1 -1
  159. package/dist/src/terminal-watch-cli-adapter.js +41 -17
  160. package/dist/src/terminal-watch-cli-adapter.js.map +1 -1
  161. package/dist/src/terminal-watch-service.d.ts +11 -6
  162. package/dist/src/terminal-watch-service.js +210 -41
  163. package/dist/src/terminal-watch-service.js.map +1 -1
  164. package/dist/src/terminal-watch-store.d.ts +23 -0
  165. package/dist/src/terminal-watch-store.js +162 -4
  166. package/dist/src/terminal-watch-store.js.map +1 -1
  167. package/docs/quickstart-herdr.md +1 -1
  168. package/docs/quickstart-tmux.md +3 -3
  169. package/package.json +1 -1
  170. package/templates/openclaw-skills/agent-knock-knock/SKILL.md +14 -11
@@ -0,0 +1,63 @@
1
+ import { atomicSaveJsonFile } from "./durable-json-file.js";
2
+ import { type ExecutorKind } from "./executors.js";
3
+ export declare const TERMINAL_DELEGATE_SEND_BINDING_SCHEMA = "agent-knock-knock/terminal-delegate-send-binding";
4
+ export declare const TERMINAL_DELEGATE_SEND_BINDING_VERSION = 1;
5
+ export declare const TERMINAL_DELEGATE_SEND_BINDINGS_DIRECTORY = "terminal-delegate-send-bindings";
6
+ export declare class TerminalDelegateSendBindingConflictError extends Error {
7
+ constructor(message: string);
8
+ }
9
+ export declare class TerminalDelegateSendBindingUncertainError extends Error {
10
+ readonly possibleExistingBinding: boolean;
11
+ constructor(message: string, options?: {
12
+ cause?: unknown;
13
+ possibleExistingBinding?: boolean;
14
+ });
15
+ }
16
+ /** Immutable caller scope for one omitted-target delegate request. */
17
+ export interface TerminalDelegateSendRequestBoundary {
18
+ readonly messageId: string;
19
+ readonly requestHash: string;
20
+ readonly requestedWorkspace?: string;
21
+ readonly requestedAgent?: ExecutorKind;
22
+ readonly openclawSession?: string;
23
+ }
24
+ /** Exact physical target selected while the global message lock is held. */
25
+ export interface TerminalDelegateSendTargetBoundary {
26
+ readonly terminalId: string;
27
+ readonly workspace: string;
28
+ readonly terminalRuntimeKey: string;
29
+ readonly physicalToken: string;
30
+ }
31
+ /** Private immutable binding returned to delegate routing. */
32
+ export interface TerminalDelegateSendBinding extends TerminalDelegateSendRequestBoundary, TerminalDelegateSendTargetBoundary {
33
+ readonly reservedAt: string;
34
+ }
35
+ export type TerminalDelegateSendBindResult = {
36
+ outcome: "reserved" | "replay";
37
+ binding: TerminalDelegateSendBinding;
38
+ };
39
+ export interface TerminalDelegateSendBindingRepository {
40
+ pathFor(input: Pick<TerminalDelegateSendRequestBoundary, "messageId">): string;
41
+ /** Hold the global same-message lock across load, discovery, and bind. */
42
+ acquire(messageId: string): () => void;
43
+ load(boundary: TerminalDelegateSendRequestBoundary): TerminalDelegateSendBinding | undefined;
44
+ /** Caller must hold acquire(boundary.messageId) until this returns. */
45
+ bind(boundary: TerminalDelegateSendRequestBoundary, target: TerminalDelegateSendTargetBoundary): TerminalDelegateSendBindResult;
46
+ }
47
+ interface TerminalDelegateSendBindingRepositoryOptions {
48
+ runtimeDir: string | (() => string);
49
+ now?: () => Date;
50
+ ensureDirectory?: (directoryPath: string) => void;
51
+ acquireLock?: (lockPath: string) => () => void;
52
+ saveJson?: typeof atomicSaveJsonFile;
53
+ }
54
+ /**
55
+ * Store-independent immutable routing for omitted-target Send.
56
+ *
57
+ * The message lock spans discovery because no terminal lock exists until a
58
+ * target is chosen. The request body is never persisted. Once bound, retries
59
+ * must return to the same physical/runtime boundary; the per-terminal Send
60
+ * intent remains responsible for delivery replay versus uncertainty.
61
+ */
62
+ export declare function createTerminalDelegateSendBindingRepository(options: TerminalDelegateSendBindingRepositoryOptions): TerminalDelegateSendBindingRepository;
63
+ export {};
@@ -0,0 +1,360 @@
1
+ import { createHash } from "node:crypto";
2
+ import fs from "node:fs";
3
+ import path from "node:path";
4
+ import process from "node:process";
5
+ import { atomicSaveJsonFile, isNodeError, readJsonFileNoFollow } from "./durable-json-file.js";
6
+ import { isExecutorKind } from "./executors.js";
7
+ import { createFileLockCliAdapter } from "./file-lock-cli-adapter.js";
8
+ import { ensureDir } from "./store.js";
9
+ export const TERMINAL_DELEGATE_SEND_BINDING_SCHEMA = "agent-knock-knock/terminal-delegate-send-binding";
10
+ export const TERMINAL_DELEGATE_SEND_BINDING_VERSION = 1;
11
+ export const TERMINAL_DELEGATE_SEND_BINDINGS_DIRECTORY = "terminal-delegate-send-bindings";
12
+ const SHA256_PATTERN = /^[0-9a-f]{64}$/u;
13
+ export class TerminalDelegateSendBindingConflictError extends Error {
14
+ constructor(message) {
15
+ super(message);
16
+ this.name = "TerminalDelegateSendBindingConflictError";
17
+ }
18
+ }
19
+ export class TerminalDelegateSendBindingUncertainError extends Error {
20
+ possibleExistingBinding;
21
+ constructor(message, options = {}) {
22
+ super(message, options);
23
+ this.name = "TerminalDelegateSendBindingUncertainError";
24
+ this.possibleExistingBinding = options.possibleExistingBinding ?? true;
25
+ }
26
+ }
27
+ const ALLOWED_KEYS = new Set([
28
+ "schema",
29
+ "version",
30
+ "message_id",
31
+ "request_hash",
32
+ "requested_workspace",
33
+ "requested_agent",
34
+ "openclaw_session",
35
+ "terminal_id",
36
+ "workspace",
37
+ "terminal_runtime_key",
38
+ "physical_token",
39
+ "reserved_at"
40
+ ]);
41
+ function digest(value) {
42
+ return createHash("sha256").update(value, "utf8").digest("hex");
43
+ }
44
+ function requiredString(value, label) {
45
+ if (typeof value !== "string" || value.length === 0 || value.includes("\0")) {
46
+ throw new Error(`${label} must be a non-empty string without NUL bytes`);
47
+ }
48
+ return value;
49
+ }
50
+ function optionalString(value, label) {
51
+ return value === undefined ? undefined : requiredString(value, label);
52
+ }
53
+ function requiredDigest(value, label) {
54
+ const normalized = requiredString(value, label);
55
+ if (!SHA256_PATTERN.test(normalized)) {
56
+ throw new Error(`${label} must be a lowercase SHA-256 digest`);
57
+ }
58
+ return normalized;
59
+ }
60
+ function canonicalTimestamp(value, label) {
61
+ const timestamp = requiredString(value, label);
62
+ if (Number.isNaN(Date.parse(timestamp)) ||
63
+ new Date(timestamp).toISOString() !== timestamp) {
64
+ throw new Error(`${label} must be a canonical ISO timestamp`);
65
+ }
66
+ return timestamp;
67
+ }
68
+ function isRecord(value) {
69
+ return typeof value === "object" && value !== null && !Array.isArray(value);
70
+ }
71
+ function optionalExecutor(value) {
72
+ if (value === undefined)
73
+ return undefined;
74
+ const agent = requiredString(value, "requested_agent");
75
+ if (!isExecutorKind(agent)) {
76
+ throw new Error("requested_agent must identify a supported executor");
77
+ }
78
+ return agent;
79
+ }
80
+ function parseRecord(value) {
81
+ if (!isRecord(value)) {
82
+ throw new Error("terminal delegate send binding must contain a JSON object");
83
+ }
84
+ for (const key of Object.keys(value)) {
85
+ if (!ALLOWED_KEYS.has(key)) {
86
+ throw new Error(`terminal delegate send binding contains unsupported field ${key}`);
87
+ }
88
+ }
89
+ if (value.schema !== TERMINAL_DELEGATE_SEND_BINDING_SCHEMA ||
90
+ value.version !== TERMINAL_DELEGATE_SEND_BINDING_VERSION) {
91
+ throw new Error("terminal delegate send binding has an unsupported schema");
92
+ }
93
+ requiredString(value.message_id, "message_id");
94
+ requiredDigest(value.request_hash, "request_hash");
95
+ optionalString(value.requested_workspace, "requested_workspace");
96
+ optionalExecutor(value.requested_agent);
97
+ optionalString(value.openclaw_session, "openclaw_session");
98
+ requiredString(value.terminal_id, "terminal_id");
99
+ requiredString(value.workspace, "workspace");
100
+ requiredString(value.terminal_runtime_key, "terminal_runtime_key");
101
+ requiredDigest(value.physical_token, "physical_token");
102
+ canonicalTimestamp(value.reserved_at, "reserved_at");
103
+ return value;
104
+ }
105
+ function canonicalRequestBoundary(value) {
106
+ const requestedAgent = optionalExecutor(value.requestedAgent);
107
+ return {
108
+ messageId: requiredString(value.messageId, "messageId"),
109
+ requestHash: requiredDigest(value.requestHash, "requestHash"),
110
+ ...(value.requestedWorkspace === undefined
111
+ ? {}
112
+ : {
113
+ requestedWorkspace: path.resolve(requiredString(value.requestedWorkspace, "requestedWorkspace"))
114
+ }),
115
+ ...(requestedAgent === undefined ? {} : { requestedAgent }),
116
+ ...(value.openclawSession === undefined
117
+ ? {}
118
+ : {
119
+ openclawSession: requiredString(value.openclawSession, "openclawSession")
120
+ })
121
+ };
122
+ }
123
+ function canonicalTargetBoundary(value) {
124
+ return {
125
+ terminalId: requiredString(value.terminalId, "terminalId"),
126
+ workspace: path.resolve(requiredString(value.workspace, "workspace")),
127
+ terminalRuntimeKey: requiredString(value.terminalRuntimeKey, "terminalRuntimeKey"),
128
+ physicalToken: requiredDigest(value.physicalToken, "physicalToken")
129
+ };
130
+ }
131
+ function bindingFromRecord(record) {
132
+ return {
133
+ messageId: record.message_id,
134
+ requestHash: record.request_hash,
135
+ ...(record.requested_workspace === undefined
136
+ ? {}
137
+ : { requestedWorkspace: record.requested_workspace }),
138
+ ...(record.requested_agent === undefined
139
+ ? {}
140
+ : { requestedAgent: record.requested_agent }),
141
+ ...(record.openclaw_session === undefined
142
+ ? {}
143
+ : { openclawSession: record.openclaw_session }),
144
+ terminalId: record.terminal_id,
145
+ workspace: record.workspace,
146
+ terminalRuntimeKey: record.terminal_runtime_key,
147
+ physicalToken: record.physical_token,
148
+ reservedAt: record.reserved_at
149
+ };
150
+ }
151
+ function recordFromBinding(binding) {
152
+ return {
153
+ schema: TERMINAL_DELEGATE_SEND_BINDING_SCHEMA,
154
+ version: TERMINAL_DELEGATE_SEND_BINDING_VERSION,
155
+ message_id: binding.messageId,
156
+ request_hash: binding.requestHash,
157
+ ...(binding.requestedWorkspace === undefined
158
+ ? {}
159
+ : { requested_workspace: binding.requestedWorkspace }),
160
+ ...(binding.requestedAgent === undefined
161
+ ? {}
162
+ : { requested_agent: binding.requestedAgent }),
163
+ ...(binding.openclawSession === undefined
164
+ ? {}
165
+ : { openclaw_session: binding.openclawSession }),
166
+ terminal_id: binding.terminalId,
167
+ workspace: binding.workspace,
168
+ terminal_runtime_key: binding.terminalRuntimeKey,
169
+ physical_token: binding.physicalToken,
170
+ reserved_at: binding.reservedAt
171
+ };
172
+ }
173
+ function assertRequestMatches(binding, boundary) {
174
+ if (binding.messageId !== boundary.messageId) {
175
+ throw new TerminalDelegateSendBindingConflictError("terminal delegate send binding identity does not match");
176
+ }
177
+ if (binding.requestHash !== boundary.requestHash) {
178
+ throw new TerminalDelegateSendBindingConflictError("messageId is already bound to a different delegate request hash");
179
+ }
180
+ if (binding.requestedWorkspace !== boundary.requestedWorkspace ||
181
+ binding.requestedAgent !== boundary.requestedAgent ||
182
+ binding.openclawSession !== boundary.openclawSession) {
183
+ throw new TerminalDelegateSendBindingConflictError("messageId is already bound to a different delegate request scope");
184
+ }
185
+ }
186
+ function assertTargetMatches(binding, target) {
187
+ if (binding.terminalId !== target.terminalId ||
188
+ binding.workspace !== target.workspace ||
189
+ binding.terminalRuntimeKey !== target.terminalRuntimeKey ||
190
+ binding.physicalToken !== target.physicalToken) {
191
+ throw new TerminalDelegateSendBindingConflictError("messageId is already bound to a different physical terminal");
192
+ }
193
+ }
194
+ function nowTimestamp(now) {
195
+ const value = now();
196
+ if (!(value instanceof Date) || Number.isNaN(value.getTime())) {
197
+ throw new Error("now() must return a valid Date");
198
+ }
199
+ return value.toISOString();
200
+ }
201
+ function syncSleep(milliseconds) {
202
+ Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, milliseconds);
203
+ }
204
+ function finalBindingPathDefinitelyAbsent(filePath) {
205
+ try {
206
+ fs.lstatSync(filePath);
207
+ return false;
208
+ }
209
+ catch (error) {
210
+ if (isNodeError(error, "ENOENT") || isNodeError(error, "ENOTDIR")) {
211
+ return true;
212
+ }
213
+ return undefined;
214
+ }
215
+ }
216
+ /**
217
+ * Store-independent immutable routing for omitted-target Send.
218
+ *
219
+ * The message lock spans discovery because no terminal lock exists until a
220
+ * target is chosen. The request body is never persisted. Once bound, retries
221
+ * must return to the same physical/runtime boundary; the per-terminal Send
222
+ * intent remains responsible for delivery replay versus uncertainty.
223
+ */
224
+ export function createTerminalDelegateSendBindingRepository(options) {
225
+ const now = options.now ?? (() => new Date());
226
+ const ensureDirectory = options.ensureDirectory ?? ensureDir;
227
+ const saveJson = options.saveJson ?? atomicSaveJsonFile;
228
+ const fileLock = createFileLockCliAdapter({
229
+ now: () => new Date(),
230
+ nowMs: Date.now,
231
+ pid: () => process.pid,
232
+ sleepSync: syncSleep
233
+ });
234
+ const acquireLock = options.acquireLock ?? ((lockPath) => fileLock.acquire(lockPath));
235
+ const heldMessages = new Set();
236
+ function resolveRuntimeDir() {
237
+ return path.resolve(typeof options.runtimeDir === "function"
238
+ ? options.runtimeDir()
239
+ : options.runtimeDir);
240
+ }
241
+ function heldMessageKey(runtimeDir, messageId) {
242
+ return JSON.stringify([runtimeDir, digest(messageId)]);
243
+ }
244
+ function pathForRuntime(runtimeDir, input) {
245
+ const bindingsDir = path.join(runtimeDir, TERMINAL_DELEGATE_SEND_BINDINGS_DIRECTORY);
246
+ const messageId = requiredString(input.messageId, "messageId");
247
+ const messageDigest = digest(messageId);
248
+ return path.join(bindingsDir, messageDigest.slice(0, 2), `terminal-delegate-send-binding-${messageDigest}.json`);
249
+ }
250
+ function pathFor(input) {
251
+ return pathForRuntime(resolveRuntimeDir(), input);
252
+ }
253
+ function acquire(messageId) {
254
+ const runtimeDir = resolveRuntimeDir();
255
+ const filePath = pathForRuntime(runtimeDir, { messageId });
256
+ const messageKey = heldMessageKey(runtimeDir, messageId);
257
+ if (heldMessages.has(messageKey)) {
258
+ throw new TerminalDelegateSendBindingUncertainError("terminal delegate send binding lock is already held by this repository");
259
+ }
260
+ let releaseFileLock;
261
+ try {
262
+ ensureDirectory(path.dirname(filePath));
263
+ releaseFileLock = acquireLock(`${filePath}.lock`);
264
+ heldMessages.add(messageKey);
265
+ }
266
+ catch (error) {
267
+ const definitelyAbsent = finalBindingPathDefinitelyAbsent(filePath);
268
+ throw new TerminalDelegateSendBindingUncertainError(`terminal delegate send binding lock is unavailable: ${error instanceof Error ? error.message : String(error)}`, {
269
+ cause: error,
270
+ possibleExistingBinding: (isRecord(error) && error.code === "LOCK_TIMEOUT") ||
271
+ definitelyAbsent !== true
272
+ });
273
+ }
274
+ let released = false;
275
+ return () => {
276
+ if (released)
277
+ return;
278
+ released = true;
279
+ heldMessages.delete(messageKey);
280
+ releaseFileLock?.();
281
+ };
282
+ }
283
+ function load(input) {
284
+ const boundary = canonicalRequestBoundary(input);
285
+ return loadFromRuntime(resolveRuntimeDir(), boundary);
286
+ }
287
+ function loadFromRuntime(runtimeDir, boundary) {
288
+ const filePath = pathForRuntime(runtimeDir, boundary);
289
+ try {
290
+ const binding = bindingFromRecord(parseRecord(readJsonFileNoFollow(filePath, "terminal delegate send binding")));
291
+ assertRequestMatches(binding, boundary);
292
+ return binding;
293
+ }
294
+ catch (error) {
295
+ if (isNodeError(error, "ENOENT"))
296
+ return undefined;
297
+ if (error instanceof TerminalDelegateSendBindingConflictError ||
298
+ error instanceof TerminalDelegateSendBindingUncertainError) {
299
+ throw error;
300
+ }
301
+ const definitelyAbsent = finalBindingPathDefinitelyAbsent(filePath);
302
+ throw new TerminalDelegateSendBindingUncertainError(`${definitelyAbsent === true
303
+ ? "missing"
304
+ : definitelyAbsent === false
305
+ ? "existing same-id"
306
+ : "possibly existing same-id"} terminal delegate send ` +
307
+ `binding cannot be verified: ${error instanceof Error ? error.message : String(error)}`, {
308
+ cause: error,
309
+ possibleExistingBinding: definitelyAbsent !== true
310
+ });
311
+ }
312
+ }
313
+ function saveAtRuntime(runtimeDir, binding) {
314
+ saveJson(pathForRuntime(runtimeDir, binding), recordFromBinding(binding), {
315
+ rootLabel: "terminal delegate send binding root",
316
+ directoryLabel: "terminal delegate send binding shard directory",
317
+ fileLabel: "terminal delegate send binding",
318
+ ensureDirectory,
319
+ fsyncNewRootParent: true,
320
+ fsyncNewDirectoryParent: true
321
+ });
322
+ }
323
+ function bind(input, targetInput) {
324
+ const boundary = canonicalRequestBoundary(input);
325
+ const target = canonicalTargetBoundary(targetInput);
326
+ const runtimeDir = resolveRuntimeDir();
327
+ if (!heldMessages.has(heldMessageKey(runtimeDir, boundary.messageId))) {
328
+ throw new TerminalDelegateSendBindingUncertainError("terminal delegate send binding requires its global message lock");
329
+ }
330
+ try {
331
+ const existing = loadFromRuntime(runtimeDir, boundary);
332
+ if (existing) {
333
+ assertTargetMatches(existing, target);
334
+ return { outcome: "replay", binding: existing };
335
+ }
336
+ const binding = {
337
+ ...boundary,
338
+ ...target,
339
+ reservedAt: nowTimestamp(now)
340
+ };
341
+ saveAtRuntime(runtimeDir, binding);
342
+ return { outcome: "reserved", binding };
343
+ }
344
+ catch (error) {
345
+ if (error instanceof TerminalDelegateSendBindingConflictError ||
346
+ error instanceof TerminalDelegateSendBindingUncertainError) {
347
+ throw error;
348
+ }
349
+ throw new TerminalDelegateSendBindingUncertainError(`terminal delegate send binding reservation is uncertain: ${error instanceof Error ? error.message : String(error)}`, {
350
+ cause: error,
351
+ // load() proved this id fresh while its global lock was held. Even
352
+ // if atomic replacement reached the final path before a chmod/fsync
353
+ // tail failure, that record belongs to this pre-input route.
354
+ possibleExistingBinding: false
355
+ });
356
+ }
357
+ }
358
+ return { pathFor, acquire, load, bind };
359
+ }
360
+ //# sourceMappingURL=terminal-delegate-send-binding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-delegate-send-binding.js","sourceRoot":"","sources":["../../src/terminal-delegate-send-binding.ts"],"names":[],"mappings":"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"}
@@ -104,7 +104,10 @@ export declare class TerminalDispatchApplication {
104
104
  conversation: Conversation;
105
105
  status: TerminalOrdinaryDispatchStatus;
106
106
  };
107
- applyUncertain(at: string, error: unknown): Conversation;
107
+ applyUncertain(at: string, error: unknown, proof?: {
108
+ enterNotAttemptedAt?: string;
109
+ enterNotAttemptedReason?: "pre_key_failure";
110
+ }): Conversation;
108
111
  recordZeroInputAbort({ failureKind, error, abortedAt, injectStatePersistenceFailure }: {
109
112
  failureKind: TerminalZeroInputFailureKind;
110
113
  error: unknown;
@@ -1,4 +1,5 @@
1
1
  import { sessionIdForConversation, turnIdForConversation } from "./protocol.js";
2
+ import { callbackExpectedForConversation, callbackRouteFingerprintForConversation } from "./callback-route-authority.js";
2
3
  import { reduceTerminalZeroInputAbort } from "./terminal-dispatch-abort.js";
3
4
  import { constructTerminalOrdinaryDispatchLedger } from "./terminal-dispatch-ledger-codec.js";
4
5
  import { applyTerminalBridgeSubmission, terminalDispatchTextSummary as textSummary } from "./terminal-dispatch-receipt.js";
@@ -206,7 +207,7 @@ export class TerminalDispatchApplication {
206
207
  }
207
208
  return { conversation, status };
208
209
  }
209
- applyUncertain(at, error) {
210
+ applyUncertain(at, error, proof = {}) {
210
211
  const errorMessage = errorText(error);
211
212
  const stalled = {
212
213
  ...this.#stagedConversation,
@@ -219,6 +220,7 @@ export class TerminalDispatchApplication {
219
220
  ...this.#progressFields(),
220
221
  uncertainAt: at,
221
222
  error: errorMessage,
223
+ ...proof,
222
224
  lastProvenStage: this.#enterDispatchedAt
223
225
  ? "enter_dispatched"
224
226
  : this.#textInjectedAt
@@ -229,6 +231,12 @@ export class TerminalDispatchApplication {
229
231
  state: uncertain,
230
232
  ledger: this.#ledgerFor(uncertain, "uncertain", {
231
233
  ...this.#phaseFields(),
234
+ ...(proof.enterNotAttemptedAt
235
+ ? {
236
+ enter_not_attempted_at: proof.enterNotAttemptedAt,
237
+ enter_not_attempted_reason: proof.enterNotAttemptedReason ?? "pre_key_failure"
238
+ }
239
+ : {}),
232
240
  uncertain_at: at
233
241
  }, undefined, { error: textSummary(errorMessage) }),
234
242
  event: this.#event(at, "terminal_message_submit_uncertain", {
@@ -394,7 +402,7 @@ export class TerminalDispatchApplication {
394
402
  terminalControl: this.#context.receiptTerminalControl
395
403
  });
396
404
  }
397
- #ledgerFor(conversation, status, phaseFields = {}, dispatcherPid = this.#context.dispatcherPid, postCallbackFields = {}, callbackExpected = Boolean(conversation.gateway_method)) {
405
+ #ledgerFor(conversation, status, phaseFields = {}, dispatcherPid = this.#context.dispatcherPid, postCallbackFields = {}, callbackExpected = callbackExpectedForConversation(conversation)) {
398
406
  return constructTerminalOrdinaryDispatchLedger({
399
407
  bindingFields: this.#context.ledgerBindingFields(conversation),
400
408
  identityFields: {
@@ -413,6 +421,7 @@ export class TerminalDispatchApplication {
413
421
  statePath: this.#context.statePath,
414
422
  eventLogPath: this.#context.eventLogPath,
415
423
  callbackExpected,
424
+ callbackRouteFingerprint: callbackRouteFingerprintForConversation(conversation) ?? null,
416
425
  postCallbackFields,
417
426
  previousGenerationId: this.#context.previousGenerationId
418
427
  });
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-dispatch-application.js","sourceRoot":"","sources":["../../src/terminal-dispatch-application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal-dispatch-application.js","sourceRoot":"","sources":["../../src/terminal-dispatch-application.ts"],"names":[],"mappings":"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"}
@@ -66,6 +66,11 @@ export interface TerminalControlSendRequest {
66
66
  message: AgentMessage;
67
67
  recordMessageAfterSend?: boolean;
68
68
  recordRawAttachmentAfterSend?: boolean;
69
+ /**
70
+ * Let a caller with independent physical-terminal authority handle a proven
71
+ * zero-input abort instead of presenting the managed-path failure.
72
+ */
73
+ deferZeroInputFailurePresentation?: boolean;
69
74
  onTerminalPreflightVerified?: (route: BoundTerminalDispatchRoute) => Promise<((route: BoundTerminalDispatchRoute) => void) | void> | ((route: BoundTerminalDispatchRoute) => void) | void;
70
75
  allowedPreMaterializationIdentity?: CodexPreMaterializationIdentity;
71
76
  allowedAdditionalIdentities?: CodexPreMaterializationIdentity[];
@@ -1,4 +1,5 @@
1
1
  import { createHash } from "node:crypto";
2
+ import { callbackExpectedForConversationWithLegacyFallback } from "./callback-route-authority.js";
2
3
  import { executorForConversation, isTerminalDispatchOwnerReleasedStatus, sessionIdForConversation, turnIdForConversation } from "./protocol.js";
3
4
  import { parseTerminalConversationId } from "./terminal-agent-adapter.js";
4
5
  import { decideTerminalBindingMatch, isCompleteNativeRollout, terminalNativeIdentityFence as codexIdentityFence, terminalNativeIdentityMatchesFence as nativeIdentityMatchesCodexPreMaterialization, terminalObservationFromResolvedIdentity } from "./terminal-binding-authority.js";
@@ -408,7 +409,8 @@ export class TerminalDispatchExecutionService {
408
409
  receiptConversationId: nonBlankString(ledger?.conversation_id) ??
409
410
  replayOwner.conversation_id,
410
411
  receiptMessageId: nonBlankString(ledger?.message_id) ?? input.messageId,
411
- callbackExpected: !replay.invalid && Boolean(replayOwner.gateway_method ?? ledger?.callback_expected)
412
+ callbackExpected: !replay.invalid &&
413
+ callbackExpectedForConversationWithLegacyFallback(replayOwner, ledger?.callback_expected)
412
414
  };
413
415
  }
414
416
  transportLifecycle(input) {