@scotthuang/agent-knock-knock 0.16.0 → 0.16.2
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 +37 -11
- package/connectors/pi/README.md +33 -11
- package/dist/src/claude-managed-send-route.d.ts +2 -0
- package/dist/src/claude-managed-send-route.js +14 -0
- 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 +1 -0
- package/dist/src/cli-core.js.map +1 -1
- package/dist/src/conversation-list.d.ts +3 -3
- package/dist/src/conversation-list.js +22 -9
- package/dist/src/conversation-list.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/semantic-tool-descriptions.js +17 -11
- 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 +10 -8
- package/dist/src/semantic-tool-list-projection.js.map +1 -1
- package/dist/src/semantic-tool-private-authority.js +13 -1
- package/dist/src/semantic-tool-private-authority.js.map +1 -1
- package/dist/src/semantic-tool-schemas.js +10 -6
- package/dist/src/semantic-tool-schemas.js.map +1 -1
- package/dist/src/terminal-action-contracts.js +28 -15
- package/dist/src/terminal-action-contracts.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-list-cli-adapter.d.ts +6 -0
- package/dist/src/terminal-list-cli-adapter.js +34 -17
- 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-monitor-decision-policy.d.ts +1 -1
- package/dist/src/terminal-permission-control-list-projection.d.ts +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-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 +7 -6
- package/dist/src/terminal-watch-cli-adapter.js.map +1 -1
- package/dist/src/terminal-watch-fallback-observation.d.ts +2 -1
- package/dist/src/terminal-watch-fallback-observation.js +52 -27
- package/dist/src/terminal-watch-fallback-observation.js.map +1 -1
- package/dist/src/terminal-watch-identity-evidence.d.ts +8 -0
- package/dist/src/terminal-watch-identity-evidence.js +36 -0
- package/dist/src/terminal-watch-identity-evidence.js.map +1 -0
- package/dist/src/terminal-watch-observation-adapter.js +5 -2
- package/dist/src/terminal-watch-observation-adapter.js.map +1 -1
- package/dist/src/terminal-watch-observation-evidence.d.ts +2 -1
- package/dist/src/terminal-watch-observation-evidence.js +10 -2
- package/dist/src/terminal-watch-observation-evidence.js.map +1 -1
- package/dist/src/terminal-watch-send-activity.d.ts +3 -3
- package/dist/src/terminal-watch-send-activity.js +12 -18
- package/dist/src/terminal-watch-send-activity.js.map +1 -1
- package/dist/src/terminal-watch-terminal-identity.d.ts +3 -2
- package/dist/src/terminal-watch-terminal-identity.js +60 -46
- package/dist/src/terminal-watch-terminal-identity.js.map +1 -1
- package/docs/bidirectional-agent-protocol.md +1 -1
- package/docs/claude-2.1.285-compatibility.md +72 -10
- package/docs/claude-cli-direct.md +57 -1
- package/docs/list-output.md +97 -1
- package/docs/operator-guide.md +81 -9
- package/docs/quickstart-herdr.md +1 -1
- package/docs/quickstart-tmux.md +20 -3
- package/docs/testing.md +1 -4
- package/package.json +1 -1
- package/templates/openclaw-skills/agent-knock-knock/SKILL.md +19 -7
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
import { assertAutomaticActivityWatchIdentity } from "./terminal-watch-send-activity.js";
|
|
3
3
|
import { createHash } from "node:crypto";
|
|
4
4
|
import path from "node:path";
|
|
5
|
+
import { parseTerminalConversationId } from "./terminal-agent-adapter.js";
|
|
6
|
+
import { knownIdentityDifference, optionalObservation, optionalTerminalWorkspace, terminalWatchProcessEvidence } from "./terminal-watch-identity-evidence.js";
|
|
7
|
+
export { optionalTerminalWorkspace } from "./terminal-watch-identity-evidence.js";
|
|
5
8
|
import { paginatedWatchProcessMatches } from "./codex-paginated-watch.js";
|
|
6
9
|
import { rolloutFileIdentityMatches } from "./terminal-binding-authority.js";
|
|
7
10
|
import { sameTerminalControlEvidenceIncarnation, terminalControlEvidence } from "./terminal-control-ref.js";
|
|
@@ -25,7 +28,7 @@ export function assertPreparedFallbackTerminal(prepared, observed) {
|
|
|
25
28
|
throw new Error("terminal changed before the user-explicit fallback Watch was attached");
|
|
26
29
|
}
|
|
27
30
|
if (isTerminalActivityWatch(prepared)) {
|
|
28
|
-
assertAutomaticActivityWatchIdentity(prepared.anchor, observed,
|
|
31
|
+
assertAutomaticActivityWatchIdentity(prepared.anchor, observed, optionalTerminalWorkspace(observed), prepared.terminalIdentity.workspace);
|
|
29
32
|
}
|
|
30
33
|
}
|
|
31
34
|
export async function exactTerminalForWatch(terminalId, options, dependencies) {
|
|
@@ -189,33 +192,45 @@ export function terminalMatchesWatch(terminal, watch) {
|
|
|
189
192
|
return false;
|
|
190
193
|
}
|
|
191
194
|
}
|
|
195
|
+
/** Compare known facts first; an unreadable fact is never evidence of replacement. */
|
|
196
|
+
function observedTerminalIdentityMatch(terminal, watch, expectedPid) {
|
|
197
|
+
const agent = optionalObservation(() => stringValue(terminal.agent));
|
|
198
|
+
const id = optionalObservation(() => stringValue(terminal.id));
|
|
199
|
+
const pid = optionalObservation(() => positiveInteger(terminal.pid, "terminal PID"));
|
|
200
|
+
if (knownIdentityDifference(agent, watch.agent) ||
|
|
201
|
+
knownIdentityDifference(id, watch.terminal.terminal_id) ||
|
|
202
|
+
(expectedPid !== undefined && pid !== undefined && pid !== expectedPid))
|
|
203
|
+
return "mismatch";
|
|
204
|
+
const workspace = optionalObservation(() => optionalTerminalWorkspace(terminal));
|
|
205
|
+
if (knownIdentityDifference(workspace, watch.terminal.workspace))
|
|
206
|
+
return "mismatch";
|
|
207
|
+
// Validate shape before interpreting a failed comparison as a different pane.
|
|
208
|
+
const evidence = optionalObservation(() => terminalControlEvidence(terminalControlForWatch(terminal)));
|
|
209
|
+
if (!evidence || evidence.process_anchor_pid == null)
|
|
210
|
+
return "unavailable";
|
|
211
|
+
if (!sameTerminalControlEvidenceIncarnation(evidence, watch.terminal.terminal_endpoint))
|
|
212
|
+
return "mismatch";
|
|
213
|
+
return !agent || !id || pid === undefined || expectedPid === undefined ||
|
|
214
|
+
workspace === undefined ? "unavailable" : "match";
|
|
215
|
+
}
|
|
216
|
+
function observedProcessIdentityMatch(terminal, expected, terminalMatch) {
|
|
217
|
+
if (terminalMatch === "mismatch")
|
|
218
|
+
return "mismatch";
|
|
219
|
+
const current = terminalWatchProcessEvidence(terminal);
|
|
220
|
+
if (knownIdentityDifference(current.uuid, expected.uuid) ||
|
|
221
|
+
knownIdentityDifference(current.birth, expected.birth))
|
|
222
|
+
return "mismatch";
|
|
223
|
+
return terminalMatch === "unavailable" ||
|
|
224
|
+
(expected.uuid !== undefined && current.uuid === undefined) ||
|
|
225
|
+
(expected.birth !== undefined && current.birth === undefined) ? "unavailable" : "match";
|
|
226
|
+
}
|
|
192
227
|
export function terminalActivityWatchIdentityMatch(terminal, watch) {
|
|
193
228
|
try {
|
|
194
|
-
if (!isTerminalActivityWatch(watch)
|
|
195
|
-
terminalAgent(terminal) !== watch.agent ||
|
|
196
|
-
requiredString(terminal.id, "terminal id") !==
|
|
197
|
-
watch.terminal.terminal_id ||
|
|
198
|
-
terminalWorkspace(terminal) !== watch.terminal.workspace ||
|
|
199
|
-
positiveInteger(terminal.pid, "terminal PID") !== watch.anchor.pid) {
|
|
200
|
-
return "mismatch";
|
|
201
|
-
}
|
|
202
|
-
if (!isRecord(terminal.terminal_control)) {
|
|
203
|
-
return "unavailable";
|
|
204
|
-
}
|
|
205
|
-
if (!sameTerminalControlEvidenceIncarnation(terminal.terminal_control, watch.terminal.terminal_endpoint)) {
|
|
206
|
-
return "mismatch";
|
|
207
|
-
}
|
|
208
|
-
const processUuid = stringValue(terminal.native_agent_process_uuid);
|
|
209
|
-
const processBirth = stringValue(terminal.native_agent_process_birth);
|
|
210
|
-
if ((watch.anchor.native_process_uuid !== undefined && !processUuid) ||
|
|
211
|
-
(watch.anchor.native_process_birth !== undefined && !processBirth)) {
|
|
229
|
+
if (!isTerminalActivityWatch(watch))
|
|
212
230
|
return "unavailable";
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
processBirth !== watch.anchor.native_process_birth)
|
|
217
|
-
? "mismatch"
|
|
218
|
-
: "match";
|
|
231
|
+
return observedProcessIdentityMatch(terminal, {
|
|
232
|
+
uuid: watch.anchor.native_process_uuid, birth: watch.anchor.native_process_birth
|
|
233
|
+
}, observedTerminalIdentityMatch(terminal, watch, watch.anchor.pid));
|
|
219
234
|
}
|
|
220
235
|
catch {
|
|
221
236
|
return "unavailable";
|
|
@@ -223,35 +238,34 @@ export function terminalActivityWatchIdentityMatch(terminal, watch) {
|
|
|
223
238
|
}
|
|
224
239
|
export function terminalMatchesUserExplicitFallbackWatch(terminal, watch) {
|
|
225
240
|
try {
|
|
226
|
-
if (!isUserExplicitFallbackWatch(watch)
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
if (watch.anchor.schema ===
|
|
236
|
-
"agent-knock-knock/codex-user-explicit-fallback-watch-anchor") {
|
|
237
|
-
return requiredString(terminal.native_agent_process_uuid, "Codex process UUID") === watch.anchor.acceptance_anchor.process_uuid &&
|
|
238
|
-
requiredString(terminal.native_agent_process_birth, "Codex process birth") === watch.anchor.acceptance_anchor.process_birth;
|
|
239
|
-
}
|
|
240
|
-
return watch.anchor.schema ===
|
|
241
|
-
"agent-knock-knock/claude-user-explicit-fallback-watch-anchor" &&
|
|
242
|
-
positiveInteger(terminal.pid, "Claude PID") ===
|
|
243
|
-
watch.anchor.transcript_anchor.pid;
|
|
241
|
+
if (!isUserExplicitFallbackWatch(watch))
|
|
242
|
+
return "unavailable";
|
|
243
|
+
const pid = watch.anchor.schema === "agent-knock-knock/claude-user-explicit-fallback-watch-anchor"
|
|
244
|
+
? watch.anchor.transcript_anchor.pid : parseTerminalConversationId(watch.terminal.terminal_id)?.pid;
|
|
245
|
+
const match = observedTerminalIdentityMatch(terminal, watch, pid);
|
|
246
|
+
return watch.anchor.schema === "agent-knock-knock/codex-user-explicit-fallback-watch-anchor"
|
|
247
|
+
? observedProcessIdentityMatch(terminal, { uuid: watch.anchor.acceptance_anchor.process_uuid,
|
|
248
|
+
birth: watch.anchor.acceptance_anchor.process_birth }, match)
|
|
249
|
+
: match;
|
|
244
250
|
}
|
|
245
251
|
catch {
|
|
246
|
-
return
|
|
252
|
+
return "unavailable";
|
|
247
253
|
}
|
|
248
254
|
}
|
|
249
|
-
export function terminalWatchIdentity(terminal, bindingToken) {
|
|
255
|
+
export function terminalWatchIdentity(terminal, bindingToken, anchor, warnings) {
|
|
250
256
|
const terminalControl = terminal.terminal_control;
|
|
257
|
+
const activity = anchor?.schema === "agent-knock-knock/terminal-activity-watch-anchor";
|
|
258
|
+
const workspace = activity ? optionalTerminalWorkspace(terminal) : terminalWorkspace(terminal);
|
|
259
|
+
if (workspace === undefined)
|
|
260
|
+
throw new Error("terminal workspace unavailable: neither the agent process nor its terminal reports an absolute directory. " +
|
|
261
|
+
"No Watch was saved; refresh AKK list and retry Watch after the selected terminal's directory is available. " +
|
|
262
|
+
"If a task was already sent, inspect that window instead of resending the task.");
|
|
263
|
+
if (activity && (!anchor.native_process_uuid || !anchor.native_process_birth))
|
|
264
|
+
warnings?.push("process_incarnation_partially_unavailable: activity observation has incomplete process-generation evidence; exact task completion is not proven");
|
|
251
265
|
return {
|
|
252
266
|
terminal_id: requiredString(terminal.id, "terminal id"),
|
|
253
267
|
terminal_endpoint: terminalControlEvidence(terminalControl),
|
|
254
|
-
workspace
|
|
268
|
+
workspace,
|
|
255
269
|
binding_token: bindingToken
|
|
256
270
|
};
|
|
257
271
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-watch-terminal-identity.js","sourceRoot":"","sources":["../../src/terminal-watch-terminal-identity.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,OAAO,EAAE,oCAAoC,EAAE,MAAM,mCAAmC,CAAC;AACzF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAE1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAE7E,OAAO,EAEL,sCAAsC,EACtC,uBAAuB,EACxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAM5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,cAAc,IAAI,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAS5E,MAAM,UAAU,sCAAsC,CACpD,QAAyC,EACzC,QAAiC;IAEjC,IACE,cAAc,CAAC,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC,KAAK,QAAQ,CAAC,cAAc;QACtE,aAAa,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,KAAK;QAC1C,eAAe,CAAC,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC,KAAK,QAAQ,CAAC,GAAG;QAC9D,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QACpC,CAAC,sCAAsC,CACrC,QAAQ,CAAC,eAAe,EACxB,QAAQ,CAAC,gBAAiD,CAC3D,EACD,CAAC;QACD,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,QAA2C,EAC3C,QAAiC;IAEjC,IACE,cAAc,CAAC,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC,KAAK,QAAQ,CAAC,UAAU;QAClE,aAAa,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,KAAK;QAC1C,eAAe,CAAC,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC,KAAK,QAAQ,CAAC,GAAG;QAC9D,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QACpC,CAAC,sCAAsC,CACrC,QAAQ,CAAC,gBAAgB,EACzB,QAAQ,CAAC,gBAAiD,CAC3D,EACD,CAAC;QACD,MAAM,IAAI,KAAK,CACb,uEAAuE,CACxE,CAAC;IACJ,CAAC;IACD,IAAI,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtC,oCAAoC,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAC5D,iBAAiB,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,UAAkB,EAClB,OAAgC,EAChC,YAA0C;IAE1C,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,oBAAoB,CAAC;QAC1D,OAAO;QACP,UAAU;KACX,CAAC,CAAC;IACH,IAAI,WAAW,CAAC,KAAK,KAAK,aAAa,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACb,iEAAiE;YACjE,8CAA8C,CAC/C,CAAC;IACJ,CAAC;IACD,IAAI,WAAW,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,2BAA2B,UAAU,iBAAiB,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,oBAAoB,CAC3B,QAAiC;IAEjC,OAAO,cAAc,CACnB,QAAQ,CAAC,uBAAuB,EAChC,gCAAgC,CACjC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,QAAiC;IAEjC,IAAI,CAAC;QACH,OAAO,EAAE,KAAK,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,eAAe,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QAC1D,OAAO;YACL,KAAK,EAAE,MAAM,CAAC;gBACZ,MAAM,EAAE,sDAAsD;gBAC9D,OAAO,EAAE,CAAC;gBACV,WAAW,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC;gBACvD,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC;gBAC9B,GAAG,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC;gBAClD,QAAQ,EAAE,uBAAuB,CAAC,eAAe,CAAC;gBAClD,YAAY,EAAE,WAAW,CAAC,QAAQ,CAAC,yBAAyB,CAAC,IAAI,IAAI;gBACrE,aAAa,EAAE,WAAW,CAAC,QAAQ,CAAC,0BAA0B,CAAC,IAAI,IAAI;aACxE,CAAC;YACF,OAAO,EACL,iGAAiG;SACpG,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,QAAiC;IAEjC,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACnD,OAAO,KAAK,KAAK,mBAAmB,IAAI,KAAK,KAAK,SAAS;QACvD,KAAK,KAAK,MAAM;QAClB,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAAoB,EACpB,KAAmB,EACnB,QAAuC,EACvC,MAA2B;IAE3B,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;QAC9B,KAAK,CAAC,KAAK,KAAK,KAAK;QACrB,KAAK,CAAC,QAAQ,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW;QACnD,KAAK,CAAC,QAAQ,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS;QAC/C,sCAAsC,CACpC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,EAChC,QAAQ,CAAC,iBAAiB,CAC3B;QACD,2BAA2B,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,2BAA2B,CAClC,IAAyB,EACzB,KAA0B;IAE1B,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC/C,IAAI,IAAI,CAAC,MAAM,KAAK,+CAA+C,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;QACpG,OAAO,sBAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IACD,IACE,IAAI,CAAC,MAAM;QACT,0DAA0D;QAC5D,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAC5B,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;YACnC,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY;YACxC,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,aAAa;YAC1C,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM;YAC5C,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;IAC/C,CAAC;IACD,IACE,IAAI,CAAC,MAAM;QACT,2DAA2D;QAC7D,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAC5B,CAAC;QACD,OAAO,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1C,CAAC;IACD,IACE,IAAI,CAAC,MAAM,KAAK,kDAAkD;QAClE,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAC5B,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;YACjC,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY;YACxC,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG;YACtB,0BAA0B,CACxB,IAAI,CAAC,mBAAmB,EACxB,KAAK,CAAC,mBAAmB,CAC1B;YACD,0BAA0B,CACxB,IAAI,CAAC,oBAAoB,EACzB,KAAK,CAAC,oBAAoB,CAC3B,CAAC;IACN,CAAC;IACD,OAAO,IAAI,CAAC,kBAAkB,KAAK,KAAK,CAAC,kBAAkB,CAAC;AAC9D,CAAC;AAED,SAAS,mBAAmB,CAC1B,IAA2G,EAC3G,KAAkB;IAEhB,OAAO,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW;QAC3C,0BAA0B,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC;QAC7D,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG;QACtB,IAAI,CAAC,mBAAmB,KAAK,KAAK,CAAC,mBAAmB;QACtD,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAC5B,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC;AACjC,CAAC;AAED,SAAS,sBAAsB,CAAC,IAA8B,EAAE,KAA+B;IAC3F,OAAO,IAAI,CAAC,gBAAgB,KAAK,KAAK,CAAC,gBAAgB,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;QACvF,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,aAAa;QACtF,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,CAAC;AAC3E,CAAC;AAED,SAAS,0BAA0B,CACjC,IAAwB,EACxB,KAAyB;IAEzB,OAAO,IAAI,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,IAAI,IAAI,KAAK,KAAK,CAAC;AACrE,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvE,OAAO,OAAO,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;QAC7D,oCAAoC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,QAAiC;IAEjC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,QAAQ,CAAC,gBAAiD,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,wCAAwC,CACtD,KAAoB,EACpB,QAAiC;IAEjC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACzD,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,+CAA+C,EAAE,CAAC;QAC5E,OAAO,4BAA4B,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,SAAS,GAAG,WAAW,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;IAChE,IACE,KAAK,CAAC,MAAM,CAAC,MAAM;QACjB,0DAA0D,EAC5D,CAAC;QACD,OAAO,SAAS,EAAE,WAAW,EAAE,KAAK,KAAK,CAAC,MAAM,CAAC,gBAAgB;YAC/D,0BAA0B,CACxB,QAAQ,CAAC,oBAAoB,EAC7B,KAAK,CAAC,MAAM,CAAC,OAAO,CACrB,CAAC;IACN,CAAC;IACD,IACE,KAAK,CAAC,MAAM,CAAC,MAAM;QACjB,6DAA6D,EAC/D,CAAC;QACD,MAAM,UAAU,GAAG,KAAK,CAAC,sBAAsB,CAAC;QAChD,OAAO,QAAQ,IAAI,UAAU;YAC3B,UAAU,CAAC,MAAM;gBACf,iEAAiE;YACnE,UAAU,CAAC,iBAAiB,KAAK,SAAS;YAC1C,SAAS,EAAE,WAAW,EAAE,KAAK,UAAU,CAAC,iBAAiB,CAAC,gBAAgB;YAC1E,0BAA0B,CACxB,QAAQ,CAAC,oBAAoB,EAC7B,UAAU,CAAC,iBAAiB,CAAC,OAAO,CACrC,CAAC;IACN,CAAC;IACD,IACE,KAAK,CAAC,MAAM,CAAC,MAAM;QACjB,2DAA2D,EAC7D,CAAC;QACD,OAAO,SAAS,KAAK,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC;IAC/C,CAAC;IACD,IACE,KAAK,CAAC,MAAM,CAAC,MAAM;QACjB,8DAA8D,EAChE,CAAC;QACD,OAAO,SAAS,KAAK,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,UAAU,CAAC;IACjE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,KAAoB,EACpB,OAAgC,EAChC,YAA0C;IAE1C,OAAO,YAAY,CAAC,oBAAoB,CAAC;QACvC,OAAO;QACP,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW;KACvC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,QAAiC,EACjC,KAAoB;IAEpB,IAAI,CAAC;QACH,OAAO,aAAa,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC,KAAK;YAC5C,cAAc,CAAC,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC;gBACxC,KAAK,CAAC,QAAQ,CAAC,WAAW;YAC5B,iBAAiB,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC,QAAQ,CAAC,SAAS;YACxD,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YACnC,sCAAsC,CACpC,QAAQ,CAAC,gBAAiD,EAC1D,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CACjC,CAAC;IACN,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAOD,MAAM,UAAU,kCAAkC,CAChD,QAAiC,EACjC,KAAoB;IAEpB,IAAI,CAAC;QACH,IACE,CAAC,uBAAuB,CAAC,KAAK,CAAC;YAC/B,aAAa,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC,KAAK;YACvC,cAAc,CAAC,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC;gBACxC,KAAK,CAAC,QAAQ,CAAC,WAAW;YAC5B,iBAAiB,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC,QAAQ,CAAC,SAAS;YACxD,eAAe,CAAC,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,GAAG,EAClE,CAAC;YACD,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACzC,OAAO,aAAa,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,sCAAsC,CACzC,QAAQ,CAAC,gBAAiD,EAC1D,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CACjC,EAAE,CAAC;YACF,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,MAAM,WAAW,GAAG,WAAW,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;QACpE,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;QACtE,IACE,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC;YAChE,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB,KAAK,SAAS,IAAI,CAAC,YAAY,CAAC,EAClE,CAAC;YACD,OAAO,aAAa,CAAC;QACvB,CAAC;QACD,OAAO,CACL,KAAK,CAAC,MAAM,CAAC,mBAAmB,KAAK,SAAS;YAC9C,WAAW,KAAK,KAAK,CAAC,MAAM,CAAC,mBAAmB,CACjD,IAAI,CACH,KAAK,CAAC,MAAM,CAAC,oBAAoB,KAAK,SAAS;YAC/C,YAAY,KAAK,KAAK,CAAC,MAAM,CAAC,oBAAoB,CACnD;YACC,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,OAAO,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,aAAa,CAAC;IACvB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,wCAAwC,CACtD,QAAiC,EACjC,KAAoB;IAEpB,IAAI,CAAC;QACH,IACE,CAAC,2BAA2B,CAAC,KAAK,CAAC;YACnC,aAAa,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC,KAAK;YACvC,cAAc,CAAC,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC;gBACxC,KAAK,CAAC,QAAQ,CAAC,WAAW;YAC5B,iBAAiB,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC,QAAQ,CAAC,SAAS;YACxD,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YACpC,CAAC,sCAAsC,CACrC,QAAQ,CAAC,gBAAiD,EAC1D,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CACjC,EACD,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IACE,KAAK,CAAC,MAAM,CAAC,MAAM;YACjB,6DAA6D,EAC/D,CAAC;YACD,OAAO,cAAc,CACnB,QAAQ,CAAC,yBAAyB,EAClC,oBAAoB,CACrB,KAAK,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,YAAY;gBAC/C,cAAc,CACZ,QAAQ,CAAC,0BAA0B,EACnC,qBAAqB,CACtB,KAAK,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,aAAa,CAAC;QACvD,CAAC;QACD,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM;YACtB,8DAA8D;YAChE,eAAe,CAAC,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC;gBACzC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,QAAiC,EACjC,YAAoB;IAEpB,MAAM,eAAe,GAAG,QAAQ,CAAC,gBAAsC,CAAC;IACxE,OAAO;QACL,WAAW,EAAE,cAAc,CAAC,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC;QACvD,iBAAiB,EAAE,uBAAuB,CAAC,eAAe,CAAC;QAC3D,SAAS,EAAE,iBAAiB,CAAC,QAAQ,CAAC;QACtC,aAAa,EAAE,YAAY;KAC5B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,QAAiC;IAEjC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IACD,OAAO;QACL,SAAS,EAAE,cAAc,CACvB,QAAQ,CAAC,uBAAuB,EAChC,wBAAwB,CACzB;QACD,WAAW,EAAE,cAAc,CACzB,QAAQ,CAAC,yBAAyB,EAClC,oBAAoB,CACrB;QACD,YAAY,EAAE,cAAc,CAC1B,QAAQ,CAAC,0BAA0B,EACnC,qBAAqB,CACtB;QACD,OAAO,EAAE;YACP,EAAE,EAAE,cAAc,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,EAAE,kBAAkB,CAAC;YACxE,MAAM,EAAE,cAAc,CACpB,QAAQ,CAAC,oBAAoB,CAAC,MAAM,EACpC,sBAAsB,CACvB;YACD,KAAK,EAAE,cAAc,CACnB,QAAQ,CAAC,oBAAoB,CAAC,KAAK,EACnC,qBAAqB,CACtB;YACD,IAAI,EAAE,cAAc,CAClB,QAAQ,CAAC,oBAAoB,CAAC,IAAI,EAClC,oBAAoB,CACrB;SACF;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAAoB;IAEpB,IACE,KAAK,CAAC,KAAK,KAAK,OAAO;QACvB,KAAK,CAAC,MAAM,CAAC,MAAM;YACjB,0DAA0D,EAC5D,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO;QACL,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,gBAAgB;QACxC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,YAAY;QACtC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,aAAa;QACxC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO;KAC9B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,QAAiC;IAC7D,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAAiC;IACjE,MAAM,SAAS,GAAG,cAAc,CAC9B,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,GAAG,EAClC,oBAAoB,CACrB,CAAC;IACF,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACjD,IAAI,CAAC,oCAAoC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAc,EAAE,KAAa;IAC1D,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,cAAc,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAc,EAAE,KAAa;IAC1D,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC5C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CACb,GAAG,KAAK,4DAA4D,CACrE,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAc,EAAE,KAAa;IAC7D,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC5C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,4BAA4B,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,KAAc;IAC1D,MAAM,UAAU,GAAG,cAAc,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;IAC5D,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,+BAA+B,cAAc,CAAC,KAAK,CAAC,EAAE,CACvD,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC1C,KAAoB,EACpB,cAAuB;IAEvB,MAAM,SAAS,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;IAC9C,IAAI,CAAC,SAAS,IAAI,SAAS,KAAK,KAAK,CAAC,gBAAgB,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CACb,kBAAkB,KAAK,CAAC,QAAQ,wEAAwE,CACzG,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,KAAoB,EACpB,aAAqB,EACrB,mBAA2B;IAE3B,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,CAAC,QAAQ,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,WAAW,GAAG,KAAK,CAAC,mBAAmB,CAAC;IAC9C,IACE,KAAK,CAAC,kBAAkB,KAAK,oBAAoB;QACjD,CAAC,WAAW;QACZ,WAAW,CAAC,SAAS,CAAC,KAAK,KAAK,SAAS;QACzC,WAAW,CAAC,UAAU,CAAC,cAAc,KAAK,aAAa;QACvD,WAAW,CAAC,UAAU,CAAC,kBAAkB,KAAK,mBAAmB;QACjE,WAAW,CAAC,UAAU,CAAC,kBAAkB,KAAK,YAAY;QAC1D,CAAC,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC,OAAO,EAC5C,CAAC;QACD,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;IACJ,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAc,EAAE,KAAa;IAC3D,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,6BAA6B,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAc,EAAE,QAAgB;IAC9D,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,KAAc;IACnC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1E,CAAC"}
|
|
1
|
+
{"version":3,"file":"terminal-watch-terminal-identity.js","sourceRoot":"","sources":["../../src/terminal-watch-terminal-identity.ts"],"names":[],"mappings":"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"}
|
|
@@ -55,7 +55,7 @@ and session-only/new/resume and first-modal limits are described in the
|
|
|
55
55
|
5. AKK sends a structured callback containing both `session_id` and `turn_id` to the originating Host session when it has reliable approval, completion, cancellation, stall, or failure evidence.
|
|
56
56
|
6. After completion, refresh the terminal list. Another ordinary send through that row's current exact action creates a new Turn without clearing the native coding-agent context.
|
|
57
57
|
|
|
58
|
-
Steps 2–6 describe managed delivery, which may require an exact empty Composer before input. For an advertised `terminal_user_explicit` Send, the selected live terminal/process and direct input-safety checks authorize the one physical Send; rollout, Session, Store, and callback state are sidecar management evidence rather than vetoes.
|
|
58
|
+
Steps 2–6 describe managed delivery, which may require an exact empty Composer before input. For an advertised `terminal_user_explicit` Send, the selected live terminal/process and direct input-safety checks authorize the one physical Send; rollout, Session, Store, and callback state are sidecar management evidence rather than vetoes. For Codex, parsed working activity, an existing draft, and ordinary main-Composer visibility do not veto this user-priority path, but a blocked native approval or a proven input-owning questionnaire, editor, menu, or read-only viewer remains a zero-input boundary. Profiled Codex 0.154.0/0.155.1 exact collapsed async-question summaries remain sendable because the main Composer owns input; their expanded, clipped, or ambiguous async editors do not. Claude instead requires an empty recognized main Composer, no existing stashed draft, a known footer and no running or unproven foreground turn. Cross-Store authority conflicts remain fenced. Codex clears the current Composer once with `C-u`; Claude Code refuses an existing stashed draft before input. On a freshly empty main Composer it uses one `C-s` to check for a hidden stash; restored content stops task submission and remains for the user. It writes no sentinel and deletes no draft. Each then injects the request, waits through the paste window, and dispatches Enter exactly once. Codex also freezes the complete pre-send open-rollout inventory and scans those candidates together with newly opened roots after submission. One rollout that uniquely accepts the exact request hash is promoted to the managed Session/Turn; zero matches remain pending/unproven, while multiple matches or changed file/process authority become uncertain without replay. After either agent's text injection, no Composer observation may veto Enter.
|
|
59
59
|
|
|
60
60
|
If managed preparation still fails before input, physical-terminal authority performs the same single Send and best-effort persists an exact request-bound Terminal Watch. That Watch supplies completion callbacks. Before exact native acceptance it remains notify-only; after acceptance it can emit an idempotent `interaction_required` wake-up and, through same-controller Status, expose one supported native-interaction response offer. Activity/best-effort or manual-only observations emit `interaction_manual_required` and require direct TUI input. Watch attachment failure is reported without changing or retrying the successful Send. Send output treats transport, native acceptance, management, and observation as separate facts through `terminal_input_dispatched`, `agent_acceptance`, `management_mode`, `observation_mode`, and `capabilities`; legacy delivery fields remain compatibility aliases. Once clear or request input may have occurred, an uncertain result must never be retried automatically.
|
|
61
61
|
|
|
@@ -116,18 +116,80 @@ approval/callback lifecycle, and real external notification delivery are not
|
|
|
116
116
|
covered by this observation. Existing fast regressions remain distinct from native evidence. Unrecognized interaction shapes
|
|
117
117
|
retain manual handling rather than gaining authority through version matching.
|
|
118
118
|
|
|
119
|
-
A pre-existing explicit-Send issue was also observed
|
|
120
|
-
|
|
121
|
-
sentinel. This
|
|
122
|
-
successful Send and callback
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
119
|
+
A pre-existing explicit-Send issue was also observed in this compatibility run:
|
|
120
|
+
Claude automatically restored its `C-s` stash on request submission, including
|
|
121
|
+
AKK's draft-replacement sentinel. This left ` [AKK replacing current draft]` in
|
|
122
|
+
the Composer after successful Send and callback and could block subsequent
|
|
123
|
+
operations that require an empty Composer. The same native behavior exists in
|
|
124
|
+
2.1.266 and 2.1.282. The original compatibility change did not redesign that
|
|
125
|
+
clearing transaction. The lifecycle observations above start with an empty
|
|
126
|
+
Composer after explicitly clearing only the owned probe's sentinel; they do not
|
|
127
|
+
prove automatic recovery from this residue.
|
|
128
|
+
|
|
129
|
+
AKK 0.16.1 replaces the former marker/stash/erase transaction with existing-stash
|
|
130
|
+
refusal and one non-destructive restore probe, described below. The abandoned
|
|
131
|
+
local preview that attempted to consume and delete its own sentinel is not the
|
|
132
|
+
released implementation. Ordinary managed Sends, Codex and independent Watch
|
|
133
|
+
monitoring retain their existing behavior.
|
|
129
134
|
|
|
130
135
|
Full, integration, and release suites were excluded from the initial local
|
|
131
136
|
task under `AGENTS.md`. After the user successfully tested the installed
|
|
132
137
|
combined candidate and authorized publication, the standard release gate was
|
|
133
138
|
run separately; see the Codex 0.159.2 report.
|
|
139
|
+
|
|
140
|
+
### Claude 2.1.295 physical footer compatibility
|
|
141
|
+
|
|
142
|
+
The native footer can show shell counts, `esc to interrupt`, `↓ to manage`,
|
|
143
|
+
and a right-aligned `Debug` label after `← for agents`. Physical Send accepts
|
|
144
|
+
only recognized native components, including wrapped rows and a separate
|
|
145
|
+
right-aligned stash indicator; unknown footer text still blocks before input.
|
|
146
|
+
A stash indicator is recognized as native footer syntax but blocks physical Send before input. `Draft restored` is a separate transient notification; an accompanying `› stashed` still reports a populated slot. The label is not proof of what the stash contains.
|
|
147
|
+
|
|
148
|
+
A shell count does not establish that Claude's foreground turn is idle.
|
|
149
|
+
Physical Send checks the foreground evidence independently and rejects a
|
|
150
|
+
running or unproven foreground turn. It also preserves an existing user draft:
|
|
151
|
+
the user must send, save, or clear it before a new physical Send. A completed
|
|
152
|
+
foreground turn with background shells and an empty recognized Composer can
|
|
153
|
+
remain eligible. These checks apply before task text; there is no Composer
|
|
154
|
+
observation, cleanup, or delivery veto after Enter.
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
### Existing-stash refusal in AKK 0.16.1
|
|
158
|
+
|
|
159
|
+
Claude physical-input preparation finishes before task text or Enter. A visible `› stashed` indicator refuses the attempt before any terminal input. When no stash is shown, AKK rechecks the empty main Composer and uses `C-s` once to restore any hidden stash. If content appears, it stops and leaves that content in the input box for the user; it does not re-stash or delete it. If the probe or final empty check is uncertain, it stops without task text or Enter and does not retry the key. This replaces the former sentinel transaction: no new marker is written and no editing keys delete a draft. There is no Composer observation or cleanup after task text or Enter. Ordinary managed Sends, Codex clearing and independent Watch monitoring are unchanged. This is refusal with manual recovery, not a guarantee of protecting drafts against simultaneous human input; avoid typing in the pane during an attempt. Screen capture and key delivery are not an atomic keyboard lock. A transport acknowledgement cannot prove that Claude processed `Ctrl+S`; ignored keys or cropped native indicators can leave stash occupancy unproven. AKK does not overwrite that unknown slot with a marker.
|
|
160
|
+
|
|
161
|
+
If List or Send reports a stashed draft, open that exact window and wait for the foreground turn to finish. Preserve any visible draft first. With the main input box empty, press `Ctrl+S` once to restore the stash, then save, send, or clear it yourself before refreshing List. AKK cannot identify hidden content just from the stash label. If restoration reveals `[AKK replacing current draft ...]`, it may be residue from an older failed AKK cleanup: remove only that marker after checking the text, preserve any other content, and do not press Enter on the marker. `Draft restored` is a transient restore notification; an accompanying `› stashed` still reports an occupied slot and remains a refusal condition. Do not repeatedly toggle `Ctrl+S` or retry an uncertain AKK attempt automatically.
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
### Shared notification-row correction in AKK 0.16.1
|
|
165
|
+
|
|
166
|
+
The earlier local preview validation covered separate stash-badge rows, but a later native
|
|
167
|
+
2.1.295 observation showed the badge appended to another notification immediately
|
|
168
|
+
above the Composer:
|
|
169
|
+
|
|
170
|
+
```text
|
|
171
|
+
new task? /clear to save 337.6k tokens · › stashed
|
|
172
|
+
────────────────────────────────────────────────
|
|
173
|
+
❯
|
|
174
|
+
────────────────────────────────────────────────
|
|
175
|
+
⏵⏵ bypass permissions on (shift+tab to cycle) · ← for agents
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
The earlier whole-line badge matcher missed that occupied stash. Its passing fast
|
|
179
|
+
suite and prior live checks were insufficient for this real layout. AKK
|
|
180
|
+
0.16.1 matches the badge at the end of the nearest notification row above
|
|
181
|
+
the current Composer, or at the end of a trailing row, rather than requiring
|
|
182
|
+
that the badge occupy the whole row. `Draft restored · new task? /clear to save
|
|
183
|
+
337.6k tokens · › stashed` also refuses before input. The `/clear` hint without a
|
|
184
|
+
badge does not itself block Send; foreground, input-ownership and closed-footer
|
|
185
|
+
checks remain independent. Earlier history rows are not treated as current
|
|
186
|
+
stash evidence when a newer reply intervenes.
|
|
187
|
+
|
|
188
|
+
Action contract 35 and projection v4 remain unchanged: this is an implementation
|
|
189
|
+
fix for the already documented no-stash precondition. It does not remove the
|
|
190
|
+
concurrent-input or native-key acknowledgement limits described above. The native stash-and-restore sequence was verified on the office Claude 2.1.295 /
|
|
191
|
+
Herdr test setup and independently repeated by the user; transformed-screen
|
|
192
|
+
and zero-input Bridge cases are regression evidence, not additional live
|
|
193
|
+
sessions. See [PR #464](https://github.com/scotthuang/agent-knock-knock/pull/464).
|
|
194
|
+
The publishing machine runs the separate release gate; it does not repeat
|
|
195
|
+
those live actions in existing user sessions.
|
|
@@ -4,6 +4,8 @@ AKK controls an already-open Claude Code CLI through its native connection or an
|
|
|
4
4
|
|
|
5
5
|
Starting with AKK **0.15.0**, new Claude Code sends automatically prefer a **managed terminal Turn** when AKK verifies a unique controllable tmux/Herdr counterpart for the exact native session and process. The result supplies a `turn_id` for monitoring and supported approvals or question responses; the caller does not select a transport or enable background management. Without that exact terminal, AKK uses the native inbox and returns a `claude-cli-watch:...` receipt. Codex CLI continues to prefer its shared backend. Existing Turns, Watches and send receipts retain their original provider and are never migrated or resent to adopt this policy.
|
|
6
6
|
|
|
7
|
+
An explicitly selected physical terminal is a separate existing operation. When List offers that terminal's `terminal_user_explicit` Send, call Send with its exact displayed `terminal_id` and request. AKK may enter text and submit Enter even when native conversation identity is unresolved, subject to the current terminal input-safety checks: an empty recognized main Composer, a known native footer, and no running or unproven foreground turn. Background shells alone do not block this physical Send. This does not prove native acceptance or completion and does not add background-worker protocol support. Ordinary managed sends never silently downgrade to physical input after failure, and callers do not pass a new scope or private token.
|
|
8
|
+
|
|
7
9
|
Live observations include **Claude Code `2.1.295` and `2.1.296` on macOS**, using native peer protocol `1`. These are tested versions, not minimum versions or a promise that every UI variant works. An unlisted, complete `x.y.z` version can use the compatible runtime contracts; absence from the regression matrix alone does not disable an otherwise eligible operation. Discovery checks the running CLI's registry, native session UUID, PID/start time, and socket identity. Unknown identity, protocol or UI structure is not guessed.
|
|
8
10
|
|
|
9
11
|
AKK uses a small **Python 3 helper on the controller side** to verify macOS Unix-socket peer credentials. Python 3 must be available to AKK. This is not installed into Claude Code and does not change its login, proxy, permissions, or settings. Other operating systems do not yet have this direct adapter; existing supported terminal routes remain available.
|
|
@@ -37,10 +39,64 @@ Keep the authenticated Claude Code CLI open and ask your controller to refresh `
|
|
|
37
39
|
|
|
38
40
|
> Use AKK to ask Claude Code in my-project to inspect the failing tests. Tell me when it finishes.
|
|
39
41
|
|
|
40
|
-
|
|
42
|
+
For managed or native inbox delivery, save the task identity returned by Send: `turn_id` for managed terminal delivery, or `watch_id` for native inbox delivery. Monitoring starts automatically; do not add another Watch for that task. Use Status with that exact task identity for follow-up, including managed approvals. An explicitly selected physical Send reports its actual dispatch and observation evidence; without native identity, it cannot promise acceptance or completion monitoring. Conversation Status reads the latest input and must not replace the original task identity. For a task started manually in the CLI, explicitly ask the controller to Watch it.
|
|
41
43
|
|
|
42
44
|
The usual `CLAUDE_CONFIG_DIR` is respected. For native inbox delivery, AKK does not modify Claude's inbound-message policy: if the session holds or refuses peer messages, the result remains held/refused rather than being bypassed with terminal input. Native busy Send is rejected because Claude can absorb an inbound message into the task already running.
|
|
43
45
|
|
|
46
|
+
### When List offers different operations
|
|
47
|
+
|
|
48
|
+
List's per-conversation guidance explains the current usable operations and
|
|
49
|
+
recovery steps. An idle native conversation can accept Send without offering
|
|
50
|
+
Watch because there is no active task to observe. Send creates monitoring for
|
|
51
|
+
its own task. A working or waiting native conversation can offer Watch, whose
|
|
52
|
+
creation still requires an exact active input. Terminal activity observation is
|
|
53
|
+
a different, best-effort operation and may remain available on an unidentified
|
|
54
|
+
terminal.
|
|
55
|
+
|
|
56
|
+
If a Claude pane lacks verified identity, List requests one additional fresh
|
|
57
|
+
snapshot from the configured reader, shared across unresolved Claude panes in
|
|
58
|
+
that scan. It applies the same interactive-session and exact process, registry
|
|
59
|
+
and configuration-home checks. It never types into the terminal, promotes a
|
|
60
|
+
background agent, or substitutes a same-directory conversation. If the retry
|
|
61
|
+
cannot establish native identity, the row explains the missing proof and the
|
|
62
|
+
operations still offered, even when a more specific diagnostic is unavailable.
|
|
63
|
+
An independently offered physical Send may still accept terminal input. Follow the
|
|
64
|
+
actual action and its stated proof limits rather than interpreting missing
|
|
65
|
+
native identity as a blanket input prohibition.
|
|
66
|
+
|
|
67
|
+
The live investigation initially looked like a reader omission. The installed
|
|
68
|
+
Claude Code 2.1.295 runtime instead deliberately excludes a foreground registry
|
|
69
|
+
record carrying `parkedJobId` from `agents --json`; `--all` only adds completed
|
|
70
|
+
background jobs and does not remove that exclusion. A foreground window in the
|
|
71
|
+
Agents/background-session interface can display a conversation executed by a
|
|
72
|
+
separate `bg-spare` process. Its own registered session is therefore not proof
|
|
73
|
+
of the identity of the displayed conversation. This finding describes the
|
|
74
|
+
inspected installation, not a universal contract for every Claude release.
|
|
75
|
+
|
|
76
|
+
For an unresolved Claude terminal, AKK can explain this state using a bounded,
|
|
77
|
+
read-only check of the foreground process's owned registry, exact PID and live
|
|
78
|
+
process start identity. Positive evidence produces background-view guidance.
|
|
79
|
+
When that physical terminal offers Send, explicitly selecting it can enter text
|
|
80
|
+
and submit Enter; the result must still be checked in the window because native
|
|
81
|
+
acceptance and exact task completion are unproven. When Send is not offered,
|
|
82
|
+
continue manually in the current window, or start an ordinary foreground
|
|
83
|
+
conversation without attaching a background conversation, then refresh List.
|
|
84
|
+
Restarting and reopening the same background conversation does not change its
|
|
85
|
+
execution model. This is a display diagnosis only: AKK does not resolve the
|
|
86
|
+
background job or worker, access daemon or claim sockets, add a background
|
|
87
|
+
protocol delivery route, or promise exact background-task completion. The
|
|
88
|
+
background-view marker neither grants physical Send authority nor blocks an
|
|
89
|
+
otherwise valid physical input action.
|
|
90
|
+
|
|
91
|
+
Missing, unsafe, malformed, stale or unreadable evidence does not become a
|
|
92
|
+
background diagnosis. List retains the generic explanation that the current
|
|
93
|
+
conversation identity could not be confirmed, with the physical input option
|
|
94
|
+
when actually offered, or steps to inspect the pane, continue directly, and
|
|
95
|
+
retry ordinary startup/List refresh where appropriate.
|
|
96
|
+
Restarting remains an attempt, not a guaranteed repair. Background jobs remain
|
|
97
|
+
excluded from AKK's interactive conversation list, so scan counts are not a
|
|
98
|
+
count of every Claude process on the machine.
|
|
99
|
+
|
|
44
100
|
### Sender permission class
|
|
45
101
|
|
|
46
102
|
For native inbox delivery, set `AKK_NATIVE_CLAUDE_SENDER_PERMISSION_CLASS` in the **AKK/controller Host's launch environment**, with `bypass` or `prompting`. AKK declares that value in the native `<cross-session-message from-mode="…">` envelope and escapes the supplied task text. Callers pass the plain task request; they do not construct the envelope. Managed terminal sends do not use this envelope. The declaration does not change the target's permissions or bypass its hold/refuse policy.
|
package/docs/list-output.md
CHANGED
|
@@ -11,6 +11,100 @@ Use `agent_knock_knock_watches`, `/akk watches` or CLI `watches` to inspect
|
|
|
11
11
|
monitoring. This is a read-only Store query: it does not create or renew a Watch,
|
|
12
12
|
reconcile callbacks, reconnect a native session or send notifications.
|
|
13
13
|
|
|
14
|
+
## Understanding a conversation row
|
|
15
|
+
|
|
16
|
+
Each conversation includes `usage`, a bounded explanation derived from its
|
|
17
|
+
current offered actions, activity, capabilities and blockers:
|
|
18
|
+
|
|
19
|
+
| Field | Meaning |
|
|
20
|
+
| --- | --- |
|
|
21
|
+
| `summary` | Whether the conversation can receive work or currently needs attention |
|
|
22
|
+
| `available` | What the user can do now |
|
|
23
|
+
| `limitations` | Why a relevant operation is unavailable, including uncertainty |
|
|
24
|
+
| `next_steps` | Concrete actions the user or controller can take next |
|
|
25
|
+
|
|
26
|
+
Controllers should present this guidance in the user's language, beside the
|
|
27
|
+
conversation title and project. A list of missing switches or internal reason
|
|
28
|
+
codes is not a substitute for explaining what to do. Guidance is regenerated
|
|
29
|
+
from each observation; it does not grant authority, add an action, or change
|
|
30
|
+
existing action eligibility. The current `available_actions` and their input
|
|
31
|
+
contracts remain authoritative. `usage` is an additive field within Host List
|
|
32
|
+
projection v4. Action contract v35 adds a no-existing-stash prerequisite to Claude physical Send. This narrows eligibility for an empty input box with a stashed draft, so the action contract increases from v34; it is not only a wording change. The per-agent Composer policy names and public Send parameters remain unchanged. Readiness diagnostics are additive, and compact projection remains v4.
|
|
33
|
+
The shared List projection adds this guidance to Codex CLI, Codex Desktop,
|
|
34
|
+
Claude and terminal-only rows. Existing identities, capabilities and action
|
|
35
|
+
offers retain their meanings; consumers may ignore the new display field.
|
|
36
|
+
The additional identity recheck and background-view diagnosis described below
|
|
37
|
+
apply only to Claude terminals, not to Codex discovery or dispatch.
|
|
38
|
+
|
|
39
|
+
Different rows can legitimately offer different next steps. An idle native
|
|
40
|
+
Claude conversation may accept Send without offering Watch: there is no active
|
|
41
|
+
task to attach that Watch to. Send starts monitoring for its new task, so keep
|
|
42
|
+
the returned Turn or Watch identity. A working native conversation can offer
|
|
43
|
+
Watch, with the exact active input revalidated when observation starts. A
|
|
44
|
+
terminal-only Watch can observe terminal activity; it does not establish an
|
|
45
|
+
exact native task or prove that task succeeded.
|
|
46
|
+
|
|
47
|
+
For an unresolved Claude terminal identity, List makes one additional fresh
|
|
48
|
+
reader check, shared across the unresolved Claude terminals in that scan. It
|
|
49
|
+
does not send terminal input or trust a registry file alone. If native identity
|
|
50
|
+
remains unproven, List retains that uncertainty and explains the currently
|
|
51
|
+
offered operations. A separately verified physical terminal Send can remain
|
|
52
|
+
available; a failed native identity check does not establish native acceptance
|
|
53
|
+
or completion, and does not by itself prove that terminal input is unsafe.
|
|
54
|
+
|
|
55
|
+
A Claude window can display a background conversation while its own foreground
|
|
56
|
+
conversation is parked. When a read-only check of that foreground process's
|
|
57
|
+
owned registry and current process incarnation verifies this state, guidance
|
|
58
|
+
explains that this window is in the background-session interface. This does not
|
|
59
|
+
make the window read-only. When its real `terminal_user_explicit` Send action
|
|
60
|
+
is offered, explicitly selecting that physical terminal lets AKK enter the
|
|
61
|
+
requested text and submit Enter. The guidance distinguishes input dispatch
|
|
62
|
+
from unproven native acceptance and completion, and asks the user to inspect
|
|
63
|
+
the execution result in the window. Without that physical action, the user can
|
|
64
|
+
continue manually or start an ordinary foreground conversation and refresh
|
|
65
|
+
List. Reopening the same background conversation does not make it an ordinary
|
|
66
|
+
foreground conversation.
|
|
67
|
+
The raw observation adds
|
|
68
|
+
`native_agent_identity_observation.window_role: "background_view"` only for
|
|
69
|
+
that positive diagnosis; compact Host output carries its explanation in `usage`.
|
|
70
|
+
This diagnosis does not identify or bind the background worker, inspect daemon
|
|
71
|
+
or claim sockets, or grant physical Send authority or exact-task monitoring.
|
|
72
|
+
Physical authority comes only from the current terminal action and its input
|
|
73
|
+
safety checks, not from the background-view marker.
|
|
74
|
+
|
|
75
|
+
If the registry check is missing, malformed, unsafe, stale or unavailable, List
|
|
76
|
+
does not infer a background session. It retains the generic explanation that
|
|
77
|
+
the native conversation identity could not be confirmed, together with the
|
|
78
|
+
actual physical Send option when offered, or instructions to inspect the pane,
|
|
79
|
+
use it manually, and retry ordinary startup and List refresh if appropriate.
|
|
80
|
+
Failure to diagnose never removes the guidance.
|
|
81
|
+
Relaunching is a recovery attempt, not a guaranteed repair.
|
|
82
|
+
|
|
83
|
+
Claude physical rows additionally expose `physical_send_readiness` from the
|
|
84
|
+
same current screen evidence used before input. An unsent user draft blocks
|
|
85
|
+
Send and tells the user to send, save or clear it manually. A running foreground
|
|
86
|
+
turn blocks Send until completion; an unproven running state asks the user to
|
|
87
|
+
wait and refresh. Background shells alone do not block Send when the main
|
|
88
|
+
Composer is empty and foreground completion can be verified. Unknown footer
|
|
89
|
+
controls or an unrecognized input box stop automatic input and explain what
|
|
90
|
+
AKK could not verify. These explanations take precedence over native-identity
|
|
91
|
+
uncertainty. Codex readiness and managed Send rules are unchanged.
|
|
92
|
+
|
|
93
|
+
To use an offered physical Send, select its displayed `terminal_id` and the
|
|
94
|
+
existing Send tool's semantic inputs. No new public scope or token parameter
|
|
95
|
+
is required. An ordinary managed Send does not silently switch to this route
|
|
96
|
+
after an identity, ownership, Store or submission failure; uncertain input must
|
|
97
|
+
never be replayed through a second route. A physical dispatch receipt proves
|
|
98
|
+
only the stages it reports. Terminal activity observation is not native task
|
|
99
|
+
acceptance or completion proof.
|
|
100
|
+
|
|
101
|
+
`managed.session_count` counts distinct related Sessions found through current
|
|
102
|
+
or historical managed records. It does not count valid current bindings. A
|
|
103
|
+
positive count with null `session_id` and `session_short_ref`, and no
|
|
104
|
+
`binding_status`, means no current authoritative Session was selected; it is not
|
|
105
|
+
evidence that List lost a binding. These historical associations do not authorize
|
|
106
|
+
Send or ownership recovery.
|
|
107
|
+
|
|
14
108
|
## Conversation selection
|
|
15
109
|
|
|
16
110
|
Since 0.14.12 the default view prefers a verified backend as the project's CLI
|
|
@@ -63,7 +157,9 @@ Each Host page is capped at 24 KiB of UTF-8 JSON and 12,000 weighted characters
|
|
|
63
157
|
(ASCII 1, other code points 16), including metadata. This is not a token budget.
|
|
64
158
|
Oversized rows retain exact IDs and a Status entry point; omitted actions do not
|
|
65
159
|
mean unsupported capabilities. Read exact Status for current questions, approvals
|
|
66
|
-
and bounded public progress.
|
|
160
|
+
and bounded public progress. Their guidance explains that details were omitted
|
|
161
|
+
and directs the user to Status instead of claiming those operations are
|
|
162
|
+
unsupported. List contains no progress body.
|
|
67
163
|
|
|
68
164
|
Desktop catalog pagination remains separate: finish Host pages for one catalog
|
|
69
165
|
page, then pass `desktop_scan.next_cursor` as `desktopCursor` with the same filters
|