@scotthuang/agent-knock-knock 0.13.7 → 0.13.8
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 +17 -0
- package/dist/src/callback-outbox-policy.d.ts +1 -1
- package/dist/src/callback-outbox-policy.js +7 -3
- package/dist/src/callback-outbox-policy.js.map +1 -1
- package/dist/src/callback-outbox-service.js +3 -0
- package/dist/src/callback-outbox-service.js.map +1 -1
- package/dist/src/cli-core.js +1 -1
- package/dist/src/codex-astra-composer-proof.d.ts +10 -0
- package/dist/src/codex-astra-composer-proof.js +149 -0
- package/dist/src/codex-astra-composer-proof.js.map +1 -0
- package/dist/src/codex-async-question-adapter.d.ts +156 -0
- package/dist/src/codex-async-question-adapter.js +756 -0
- package/dist/src/codex-async-question-adapter.js.map +1 -0
- package/dist/src/codex-terminal-agent-adapter.js +1 -1
- package/dist/src/codex-terminal-agent-adapter.js.map +1 -1
- package/dist/src/host-profile-callback-transport.d.ts +4 -2
- package/dist/src/host-profile-callback-transport.js +9 -6
- package/dist/src/host-profile-callback-transport.js.map +1 -1
- package/dist/src/semantic-tool-command-helpers.js +2 -0
- package/dist/src/semantic-tool-command-helpers.js.map +1 -1
- package/dist/src/semantic-tool-private-authority.js +4 -1
- package/dist/src/semantic-tool-private-authority.js.map +1 -1
- package/dist/src/semantic-tool-runtime.js +1 -1
- package/dist/src/semantic-tool-runtime.js.map +1 -1
- package/dist/src/semantic-tool-schemas.d.ts +5 -0
- package/dist/src/semantic-tool-schemas.js +6 -1
- package/dist/src/semantic-tool-schemas.js.map +1 -1
- package/dist/src/terminal-agent-adapter.d.ts +9 -0
- package/dist/src/terminal-agent-adapter.js +10 -0
- package/dist/src/terminal-agent-adapter.js.map +1 -1
- package/dist/src/terminal-agent-bridge.d.ts +2 -0
- package/dist/src/terminal-agent-bridge.js +9 -11
- package/dist/src/terminal-agent-bridge.js.map +1 -1
- package/dist/src/terminal-command-cli-ports.d.ts +1 -0
- package/dist/src/terminal-command-dispatch-preparation.d.ts +1 -0
- package/dist/src/terminal-command-dispatch-preparation.js +2 -1
- package/dist/src/terminal-command-dispatch-preparation.js.map +1 -1
- package/dist/src/terminal-composer-classifier.d.ts +9 -1
- package/dist/src/terminal-composer-classifier.js +19 -1
- package/dist/src/terminal-composer-classifier.js.map +1 -1
- package/dist/src/terminal-composer-readiness-bridge.d.ts +14 -0
- package/dist/src/terminal-composer-readiness-bridge.js +21 -0
- package/dist/src/terminal-composer-readiness-bridge.js.map +1 -0
- package/dist/src/terminal-dispatch-execution.js +11 -0
- package/dist/src/terminal-dispatch-execution.js.map +1 -1
- package/dist/src/terminal-handoff-cli-adapter.js +4 -1
- package/dist/src/terminal-handoff-cli-adapter.js.map +1 -1
- package/dist/src/terminal-identity-authority-cli-adapter.d.ts +2 -1
- package/dist/src/terminal-identity-authority-cli-adapter.js +15 -16
- package/dist/src/terminal-identity-authority-cli-adapter.js.map +1 -1
- package/dist/src/terminal-interaction-core.d.ts +30 -5
- package/dist/src/terminal-interaction-core.js +94 -8
- package/dist/src/terminal-interaction-core.js.map +1 -1
- package/dist/src/terminal-interaction-protocol.d.ts +9 -1
- package/dist/src/terminal-interaction-protocol.js +71 -9
- package/dist/src/terminal-interaction-protocol.js.map +1 -1
- package/dist/src/terminal-interaction-response-bridge.d.ts +19 -6
- package/dist/src/terminal-interaction-response-bridge.js +345 -17
- package/dist/src/terminal-interaction-response-bridge.js.map +1 -1
- package/dist/src/terminal-list-renderer.js +4 -3
- package/dist/src/terminal-list-renderer.js.map +1 -1
- package/dist/src/terminal-monitor-application-service.d.ts +4 -0
- package/dist/src/terminal-monitor-application-service.js +61 -7
- package/dist/src/terminal-monitor-application-service.js.map +1 -1
- package/dist/src/terminal-monitor-cli-adapter.d.ts +2 -0
- package/dist/src/terminal-monitor-cli-adapter.js +16 -3
- package/dist/src/terminal-monitor-cli-adapter.js.map +1 -1
- package/dist/src/terminal-monitor-interaction-store.d.ts +9 -0
- package/dist/src/terminal-monitor-interaction-store.js +65 -0
- package/dist/src/terminal-monitor-interaction-store.js.map +1 -0
- package/dist/src/terminal-monitor-state-cli-adapter.js +11 -12
- package/dist/src/terminal-monitor-state-cli-adapter.js.map +1 -1
- package/dist/src/terminal-questionnaire-adapter.d.ts +1 -0
- package/dist/src/terminal-questionnaire-adapter.js +1 -1
- package/dist/src/terminal-questionnaire-adapter.js.map +1 -1
- package/dist/src/terminal-submission-acceptance.d.ts +12 -0
- package/dist/src/terminal-submission-acceptance.js +152 -0
- package/dist/src/terminal-submission-acceptance.js.map +1 -1
- package/dist/src/terminal-text-submission-bridge.d.ts +1 -1
- package/dist/src/terminal-text-submission-bridge.js +1 -1
- package/dist/src/terminal-text-submission-bridge.js.map +1 -1
- package/dist/src/terminal-watch-cli-adapter.js +61 -78
- package/dist/src/terminal-watch-cli-adapter.js.map +1 -1
- package/dist/src/terminal-watch-codec.js +1 -1
- package/dist/src/terminal-watch-codec.js.map +1 -1
- package/dist/src/terminal-watch-interaction-runtime.d.ts +10 -0
- package/dist/src/terminal-watch-interaction-runtime.js +88 -0
- package/dist/src/terminal-watch-interaction-runtime.js.map +1 -0
- package/dist/src/terminal-watch-record.d.ts +1 -1
- package/dist/src/terminal-watch-service.d.ts +7 -0
- package/dist/src/terminal-watch-service.js +88 -35
- package/dist/src/terminal-watch-service.js.map +1 -1
- package/docs/host-bridge-profiles.md +9 -0
- package/docs/quickstart-herdr.md +4 -2
- package/docs/quickstart-tmux.md +5 -3
- package/package.json +1 -1
- package/templates/openclaw-skills/agent-knock-knock/SKILL.md +9 -9
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This adapter is deliberately version-bound. Later Codex releases gained
|
|
3
|
+
* different durable answer identities; callers must not silently reuse this
|
|
4
|
+
* TUI contract for an unverified release.
|
|
5
|
+
*/
|
|
6
|
+
export declare const CODEX_ASYNC_QUESTION_PROFILES: Readonly<Record<string, string>>;
|
|
7
|
+
export declare const CODEX_ASYNC_QUESTION_LIMITS: Readonly<{
|
|
8
|
+
maxRecords: 4096;
|
|
9
|
+
maxArgumentsBytes: number;
|
|
10
|
+
maxQuestions: 16;
|
|
11
|
+
maxOptions: 32;
|
|
12
|
+
maxTitleCharacters: 4096;
|
|
13
|
+
maxOptionCharacters: 512;
|
|
14
|
+
maxIdentifierCharacters: 256;
|
|
15
|
+
maxScreenCharacters: number;
|
|
16
|
+
maxScreenLines: 160;
|
|
17
|
+
}>;
|
|
18
|
+
export type CodexAsyncQuestionSurfaceState = "absent" | "collapsed" | "expanded" | "ambiguous";
|
|
19
|
+
export type CodexAsyncQuestionOpenBinding = "shift_left" | "alt_up";
|
|
20
|
+
export type CodexAsyncQuestionDeliveryMode = "steer_current_turn" | "queue_next_turn";
|
|
21
|
+
export interface CodexAsyncQuestionDurableQuestion {
|
|
22
|
+
readonly title: string;
|
|
23
|
+
readonly options?: readonly string[];
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Owner-private durable evidence supplied by an exact rollout reader. This
|
|
27
|
+
* module never opens rollout files and never returns a raw JSONL record.
|
|
28
|
+
*/
|
|
29
|
+
export interface CodexAsyncQuestionDurableEvidence {
|
|
30
|
+
readonly itemId: string;
|
|
31
|
+
readonly turnId: string;
|
|
32
|
+
readonly questions: readonly CodexAsyncQuestionDurableQuestion[];
|
|
33
|
+
/** Zero-based index within `questions`, when the caller can prove it. */
|
|
34
|
+
readonly currentIndex?: number;
|
|
35
|
+
/** Number still retained by the native client, when independently known. */
|
|
36
|
+
readonly remainingCount?: number;
|
|
37
|
+
}
|
|
38
|
+
export interface CodexAsyncQuestionSemanticOption {
|
|
39
|
+
readonly option_id: string;
|
|
40
|
+
readonly label: string;
|
|
41
|
+
readonly kind: "suggested" | "free_text_entry";
|
|
42
|
+
}
|
|
43
|
+
export interface CodexAsyncQuestionSemanticQuestion {
|
|
44
|
+
readonly question_id: string;
|
|
45
|
+
readonly prompt: string;
|
|
46
|
+
readonly response_kind: "single_select" | "free_text";
|
|
47
|
+
readonly required: true;
|
|
48
|
+
readonly options?: readonly CodexAsyncQuestionSemanticOption[];
|
|
49
|
+
}
|
|
50
|
+
export interface CodexAsyncQuestionMatch {
|
|
51
|
+
readonly source_id: string;
|
|
52
|
+
readonly source_question_index: number;
|
|
53
|
+
readonly question: CodexAsyncQuestionSemanticQuestion;
|
|
54
|
+
readonly selected_option_id?: string;
|
|
55
|
+
}
|
|
56
|
+
export interface CodexAsyncQuestionPromptEvidence {
|
|
57
|
+
readonly profile: string;
|
|
58
|
+
/** Exact rendered region digest for dispatch-time recapture. */
|
|
59
|
+
readonly exact_region_sha256: string;
|
|
60
|
+
/** Stable semantic digest, independent of cursor and countdown redraws. */
|
|
61
|
+
readonly semantic_sha256: string;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Owner-private plan. It intentionally describes native intent rather than
|
|
65
|
+
* exposing terminal keys or menu indexes to a public interaction projection.
|
|
66
|
+
*/
|
|
67
|
+
export type CodexAsyncQuestionOwnerPrivateActionPlan = {
|
|
68
|
+
readonly kind: "open_async_question_editor";
|
|
69
|
+
readonly binding: CodexAsyncQuestionOpenBinding;
|
|
70
|
+
readonly expected_pending_count: number;
|
|
71
|
+
readonly expected_region_sha256: string;
|
|
72
|
+
} | {
|
|
73
|
+
readonly kind: "answer_async_question";
|
|
74
|
+
readonly question_id: string;
|
|
75
|
+
readonly choices: readonly {
|
|
76
|
+
readonly option_id: string;
|
|
77
|
+
readonly native_ordinal: number;
|
|
78
|
+
readonly intent: "submit_choice" | "open_free_text";
|
|
79
|
+
}[];
|
|
80
|
+
readonly free_text: {
|
|
81
|
+
readonly intent: "enter_free_text" | "select_other_then_enter_text";
|
|
82
|
+
readonly native_ordinal?: number;
|
|
83
|
+
readonly max_characters: number;
|
|
84
|
+
};
|
|
85
|
+
readonly delivery: Readonly<Record<CodexAsyncQuestionDeliveryMode, "submit" | "queue">>;
|
|
86
|
+
readonly expected_region_sha256: string;
|
|
87
|
+
};
|
|
88
|
+
export type CodexAsyncQuestionInspection = {
|
|
89
|
+
readonly state: "absent";
|
|
90
|
+
readonly reason: "no_async_question_surface";
|
|
91
|
+
} | {
|
|
92
|
+
readonly state: "ambiguous";
|
|
93
|
+
readonly reason: "unsupported_version" | "capture_limit_exceeded" | "unsafe_control" | "partial_or_unknown_surface" | "invalid_durable_evidence" | "pending_count_mismatch" | "question_match_missing" | "question_match_ambiguous" | "clipped_question" | "unsupported_keymap" | "existing_answer_draft";
|
|
94
|
+
readonly profile?: string;
|
|
95
|
+
} | {
|
|
96
|
+
readonly state: "collapsed";
|
|
97
|
+
readonly profile: string;
|
|
98
|
+
readonly pending_count: number;
|
|
99
|
+
readonly countdown_seconds?: number;
|
|
100
|
+
/** Present only when durable order and remaining count prove it. */
|
|
101
|
+
readonly match?: CodexAsyncQuestionMatch;
|
|
102
|
+
readonly prompt_evidence: CodexAsyncQuestionPromptEvidence;
|
|
103
|
+
readonly owner_private_action_plan: CodexAsyncQuestionOwnerPrivateActionPlan;
|
|
104
|
+
} | {
|
|
105
|
+
readonly state: "expanded";
|
|
106
|
+
readonly profile: string;
|
|
107
|
+
readonly current_step: number;
|
|
108
|
+
readonly total_steps: number;
|
|
109
|
+
readonly match: CodexAsyncQuestionMatch;
|
|
110
|
+
readonly prompt_evidence: CodexAsyncQuestionPromptEvidence;
|
|
111
|
+
readonly owner_private_action_plan: CodexAsyncQuestionOwnerPrivateActionPlan;
|
|
112
|
+
};
|
|
113
|
+
export type CodexAsyncQuestionRecordCandidates = {
|
|
114
|
+
readonly status: "unsupported_version";
|
|
115
|
+
} | {
|
|
116
|
+
readonly status: "none";
|
|
117
|
+
} | {
|
|
118
|
+
readonly status: "ambiguous";
|
|
119
|
+
readonly reason: "record_limit_exceeded" | "invalid_arguments" | "invalid_identity" | "duplicate_item_id";
|
|
120
|
+
} | {
|
|
121
|
+
readonly status: "candidates";
|
|
122
|
+
readonly evidence: readonly CodexAsyncQuestionDurableEvidence[];
|
|
123
|
+
};
|
|
124
|
+
export declare function codexAsyncQuestionProfile(version: string): string | undefined;
|
|
125
|
+
/**
|
|
126
|
+
* Parse already-bounded, already-read rollout records. `function_call_output`
|
|
127
|
+
* with `{accepted:true}` is deliberately ignored: request_user_input_async
|
|
128
|
+
* returns immediately, so that output does not mean the user answered.
|
|
129
|
+
*/
|
|
130
|
+
export declare function parseCodexAsyncQuestionRecordCandidates(input: {
|
|
131
|
+
readonly version: string;
|
|
132
|
+
readonly records: readonly unknown[];
|
|
133
|
+
readonly fallbackTurnId?: string;
|
|
134
|
+
}): CodexAsyncQuestionRecordCandidates;
|
|
135
|
+
export declare function inspectCodexAsyncQuestion(input: {
|
|
136
|
+
readonly version: string;
|
|
137
|
+
readonly screen: string;
|
|
138
|
+
readonly evidence?: readonly CodexAsyncQuestionDurableEvidence[];
|
|
139
|
+
}): CodexAsyncQuestionInspection;
|
|
140
|
+
/**
|
|
141
|
+
* Owner-private pre-submit proof after one text injection. The public observer
|
|
142
|
+
* continues to reject drafts. Text must be wholly visible on one row: terminal
|
|
143
|
+
* wrapping cannot prove the original buffer's whitespace or hidden contents.
|
|
144
|
+
*/
|
|
145
|
+
export declare function verifyCodexAsyncQuestionInjectedText(input: {
|
|
146
|
+
readonly version: string;
|
|
147
|
+
readonly screen: string;
|
|
148
|
+
readonly evidence: readonly CodexAsyncQuestionDurableEvidence[];
|
|
149
|
+
readonly expectedQuestionId: string;
|
|
150
|
+
readonly expectedText: string;
|
|
151
|
+
}): boolean;
|
|
152
|
+
/** Withdraw-only observation; this never grants main-Composer input authority. */
|
|
153
|
+
export declare function codexAsyncQuestionMainComposerVisible(input: {
|
|
154
|
+
readonly version: string;
|
|
155
|
+
readonly screen: string;
|
|
156
|
+
}): boolean;
|