@scotthuang/agent-knock-knock 0.13.16 → 0.13.18

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 (184) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +4 -4
  3. package/dist/src/claude-terminal-agent-adapter.js +1 -1
  4. package/dist/src/claude-terminal-agent-adapter.js.map +1 -1
  5. package/dist/src/codex-app-server-interaction-client.js +68 -26
  6. package/dist/src/codex-app-server-interaction-client.js.map +1 -1
  7. package/dist/src/codex-app-server-read-client.js +52 -20
  8. package/dist/src/codex-app-server-read-client.js.map +1 -1
  9. package/dist/src/codex-astra-composer-proof.js +1 -1
  10. package/dist/src/codex-astra-composer-proof.js.map +1 -1
  11. package/dist/src/codex-async-question-adapter.js +14 -4
  12. package/dist/src/codex-async-question-adapter.js.map +1 -1
  13. package/dist/src/codex-lifecycle-compatibility.d.ts +1 -1
  14. package/dist/src/codex-lifecycle-compatibility.js +9 -3
  15. package/dist/src/codex-lifecycle-compatibility.js.map +1 -1
  16. package/dist/src/codex-open-rollout-inventory.d.ts +51 -0
  17. package/dist/src/codex-open-rollout-inventory.js +365 -0
  18. package/dist/src/codex-open-rollout-inventory.js.map +1 -0
  19. package/dist/src/codex-paginated-thread-binding.js +1 -1
  20. package/dist/src/codex-paginated-thread-binding.js.map +1 -1
  21. package/dist/src/codex-permission-surface.d.ts +1 -1
  22. package/dist/src/codex-permission-surface.js +1 -1
  23. package/dist/src/codex-permission-surface.js.map +1 -1
  24. package/dist/src/codex-rollout-bound-completion.d.ts +44 -0
  25. package/dist/src/codex-rollout-bound-completion.js +357 -0
  26. package/dist/src/codex-rollout-bound-completion.js.map +1 -0
  27. package/dist/src/codex-rollout-file.d.ts +15 -0
  28. package/dist/src/codex-rollout-file.js +98 -0
  29. package/dist/src/codex-rollout-file.js.map +1 -0
  30. package/dist/src/codex-rollout-human-task.d.ts +61 -0
  31. package/dist/src/codex-rollout-human-task.js +555 -0
  32. package/dist/src/codex-rollout-human-task.js.map +1 -0
  33. package/dist/src/codex-rollout-interaction-evidence.d.ts +48 -0
  34. package/dist/src/codex-rollout-interaction-evidence.js +521 -0
  35. package/dist/src/codex-rollout-interaction-evidence.js.map +1 -0
  36. package/dist/src/codex-rollout-inventory.d.ts +5 -0
  37. package/dist/src/codex-rollout-inventory.js +81 -0
  38. package/dist/src/codex-rollout-inventory.js.map +1 -0
  39. package/dist/src/codex-rollout-records.d.ts +49 -0
  40. package/dist/src/codex-rollout-records.js +298 -0
  41. package/dist/src/codex-rollout-records.js.map +1 -0
  42. package/dist/src/codex-sqlite-thread-query.d.ts +85 -0
  43. package/dist/src/codex-sqlite-thread-query.js +440 -0
  44. package/dist/src/codex-sqlite-thread-query.js.map +1 -0
  45. package/dist/src/codex-status-history-navigation.d.ts +1 -1
  46. package/dist/src/codex-status-history-navigation.js +1 -1
  47. package/dist/src/codex-status-history-navigation.js.map +1 -1
  48. package/dist/src/codex-store-adapter.d.ts +3 -50
  49. package/dist/src/codex-store-adapter.js +5 -796
  50. package/dist/src/codex-store-adapter.js.map +1 -1
  51. package/dist/src/codex-terminal-agent-adapter.js +4 -2
  52. package/dist/src/codex-terminal-agent-adapter.js.map +1 -1
  53. package/dist/src/native-thread-lifecycle-cli-adapter.d.ts +4 -134
  54. package/dist/src/native-thread-lifecycle-cli-adapter.js +19 -633
  55. package/dist/src/native-thread-lifecycle-cli-adapter.js.map +1 -1
  56. package/dist/src/native-thread-lifecycle-cli-contract.d.ts +138 -0
  57. package/dist/src/native-thread-lifecycle-cli-contract.js +2 -0
  58. package/dist/src/native-thread-lifecycle-cli-contract.js.map +1 -0
  59. package/dist/src/semantic-permission-control.js +33 -6
  60. package/dist/src/semantic-permission-control.js.map +1 -1
  61. package/dist/src/semantic-tool-descriptions.d.ts +26 -0
  62. package/dist/src/semantic-tool-descriptions.js +259 -0
  63. package/dist/src/semantic-tool-descriptions.js.map +1 -0
  64. package/dist/src/semantic-tool-runtime.js +45 -37
  65. package/dist/src/semantic-tool-runtime.js.map +1 -1
  66. package/dist/src/semantic-tool-schemas.js +134 -33
  67. package/dist/src/semantic-tool-schemas.js.map +1 -1
  68. package/dist/src/terminal-action-contracts.d.ts +4 -0
  69. package/dist/src/terminal-action-contracts.js +695 -0
  70. package/dist/src/terminal-action-contracts.js.map +1 -0
  71. package/dist/src/terminal-composer-classifier.d.ts +1 -1
  72. package/dist/src/terminal-composer-classifier.js +2 -2
  73. package/dist/src/terminal-composer-classifier.js.map +1 -1
  74. package/dist/src/terminal-interaction-response-bridge.js +1 -1
  75. package/dist/src/terminal-interaction-response-bridge.js.map +1 -1
  76. package/dist/src/terminal-list-renderer.d.ts +1 -2
  77. package/dist/src/terminal-list-renderer.js +8 -424
  78. package/dist/src/terminal-list-renderer.js.map +1 -1
  79. package/dist/src/terminal-model-control-action-policy.d.ts +1 -1
  80. package/dist/src/terminal-model-control-availability.d.ts +1 -1
  81. package/dist/src/terminal-model-control-availability.js +1 -1
  82. package/dist/src/terminal-model-control-availability.js.map +1 -1
  83. package/dist/src/terminal-model-control-cli-adapter.d.ts +34 -0
  84. package/dist/src/terminal-model-control-cli-adapter.js +669 -0
  85. package/dist/src/terminal-model-control-cli-adapter.js.map +1 -0
  86. package/dist/src/terminal-model-control-contract.d.ts +198 -0
  87. package/dist/src/terminal-model-control-contract.js +15 -0
  88. package/dist/src/terminal-model-control-contract.js.map +1 -0
  89. package/dist/src/terminal-model-control-input.d.ts +29 -0
  90. package/dist/src/terminal-model-control-input.js +86 -0
  91. package/dist/src/terminal-model-control-input.js.map +1 -0
  92. package/dist/src/terminal-model-control-profile.d.ts +5 -1
  93. package/dist/src/terminal-model-control-profile.js +21 -7
  94. package/dist/src/terminal-model-control-profile.js.map +1 -1
  95. package/dist/src/terminal-model-control-subject.d.ts +52 -0
  96. package/dist/src/terminal-model-control-subject.js +73 -0
  97. package/dist/src/terminal-model-control-subject.js.map +1 -1
  98. package/dist/src/terminal-model-control-surface.d.ts +82 -0
  99. package/dist/src/terminal-model-control-surface.js +688 -0
  100. package/dist/src/terminal-model-control-surface.js.map +1 -0
  101. package/dist/src/terminal-model-control.d.ts +6 -270
  102. package/dist/src/terminal-model-control.js +11 -988
  103. package/dist/src/terminal-model-control.js.map +1 -1
  104. package/dist/src/terminal-model-selection.d.ts +33 -0
  105. package/dist/src/terminal-model-selection.js +143 -0
  106. package/dist/src/terminal-model-selection.js.map +1 -0
  107. package/dist/src/terminal-monitor-application-service.js +38 -59
  108. package/dist/src/terminal-monitor-application-service.js.map +1 -1
  109. package/dist/src/terminal-monitor-attention-store.d.ts +65 -0
  110. package/dist/src/terminal-monitor-attention-store.js +518 -0
  111. package/dist/src/terminal-monitor-attention-store.js.map +1 -0
  112. package/dist/src/terminal-monitor-collateral-recovery.d.ts +12 -0
  113. package/dist/src/terminal-monitor-collateral-recovery.js +415 -0
  114. package/dist/src/terminal-monitor-collateral-recovery.js.map +1 -0
  115. package/dist/src/terminal-monitor-interaction-projection.d.ts +19 -0
  116. package/dist/src/terminal-monitor-interaction-projection.js +48 -0
  117. package/dist/src/terminal-monitor-interaction-projection.js.map +1 -0
  118. package/dist/src/terminal-monitor-startup-recovery.d.ts +15 -0
  119. package/dist/src/terminal-monitor-startup-recovery.js +767 -0
  120. package/dist/src/terminal-monitor-startup-recovery.js.map +1 -0
  121. package/dist/src/terminal-monitor-state-cli-adapter.d.ts +2 -104
  122. package/dist/src/terminal-monitor-state-cli-adapter.js +28 -1640
  123. package/dist/src/terminal-monitor-state-cli-adapter.js.map +1 -1
  124. package/dist/src/terminal-monitor-state-contract.d.ts +108 -0
  125. package/dist/src/terminal-monitor-state-contract.js +8 -0
  126. package/dist/src/terminal-monitor-state-contract.js.map +1 -0
  127. package/dist/src/terminal-native-inspection-bridge.d.ts +4 -153
  128. package/dist/src/terminal-native-inspection-bridge.js +7 -646
  129. package/dist/src/terminal-native-inspection-bridge.js.map +1 -1
  130. package/dist/src/terminal-native-inspection-contract.d.ts +128 -0
  131. package/dist/src/terminal-native-inspection-contract.js +38 -0
  132. package/dist/src/terminal-native-inspection-contract.js.map +1 -0
  133. package/dist/src/terminal-native-inspection-profile.d.ts +15 -0
  134. package/dist/src/terminal-native-inspection-profile.js +189 -0
  135. package/dist/src/terminal-native-inspection-profile.js.map +1 -0
  136. package/dist/src/terminal-native-inspection-proof.d.ts +62 -0
  137. package/dist/src/terminal-native-inspection-proof.js +362 -0
  138. package/dist/src/terminal-native-inspection-proof.js.map +1 -0
  139. package/dist/src/terminal-permission-control-bridge.js +1 -1
  140. package/dist/src/terminal-permission-control-bridge.js.map +1 -1
  141. package/dist/src/terminal-permission-control.js +5 -1
  142. package/dist/src/terminal-permission-control.js.map +1 -1
  143. package/dist/src/terminal-questionnaire-adapter.js +5 -2
  144. package/dist/src/terminal-questionnaire-adapter.js.map +1 -1
  145. package/dist/src/terminal-runtime-cli-adapter.d.ts +2 -1
  146. package/dist/src/terminal-runtime-cli-adapter.js +1 -1
  147. package/dist/src/terminal-runtime-cli-adapter.js.map +1 -1
  148. package/dist/src/terminal-submission-acceptance.d.ts +5 -148
  149. package/dist/src/terminal-submission-acceptance.js +21 -1845
  150. package/dist/src/terminal-submission-acceptance.js.map +1 -1
  151. package/dist/src/terminal-watch-anchor-capture.d.ts +9 -0
  152. package/dist/src/terminal-watch-anchor-capture.js +139 -0
  153. package/dist/src/terminal-watch-anchor-capture.js.map +1 -0
  154. package/dist/src/terminal-watch-cli-adapter.d.ts +3 -117
  155. package/dist/src/terminal-watch-cli-adapter.js +10 -1992
  156. package/dist/src/terminal-watch-cli-adapter.js.map +1 -1
  157. package/dist/src/terminal-watch-cli-contract.d.ts +117 -0
  158. package/dist/src/terminal-watch-cli-contract.js +2 -0
  159. package/dist/src/terminal-watch-cli-contract.js.map +1 -0
  160. package/dist/src/terminal-watch-fallback-observation.d.ts +15 -0
  161. package/dist/src/terminal-watch-fallback-observation.js +249 -0
  162. package/dist/src/terminal-watch-fallback-observation.js.map +1 -0
  163. package/dist/src/terminal-watch-interaction-observation.d.ts +26 -0
  164. package/dist/src/terminal-watch-interaction-observation.js +262 -0
  165. package/dist/src/terminal-watch-interaction-observation.js.map +1 -0
  166. package/dist/src/terminal-watch-observation-adapter.d.ts +4 -0
  167. package/dist/src/terminal-watch-observation-adapter.js +307 -0
  168. package/dist/src/terminal-watch-observation-adapter.js.map +1 -0
  169. package/dist/src/terminal-watch-observation-evidence.d.ts +25 -0
  170. package/dist/src/terminal-watch-observation-evidence.js +184 -0
  171. package/dist/src/terminal-watch-observation-evidence.js.map +1 -0
  172. package/dist/src/terminal-watch-response-authority.d.ts +6 -0
  173. package/dist/src/terminal-watch-response-authority.js +333 -0
  174. package/dist/src/terminal-watch-response-authority.js.map +1 -0
  175. package/dist/src/terminal-watch-response-cli-adapter.d.ts +3 -0
  176. package/dist/src/terminal-watch-response-cli-adapter.js +230 -0
  177. package/dist/src/terminal-watch-response-cli-adapter.js.map +1 -0
  178. package/dist/src/terminal-watch-terminal-identity.d.ts +39 -0
  179. package/dist/src/terminal-watch-terminal-identity.js +380 -0
  180. package/dist/src/terminal-watch-terminal-identity.js.map +1 -0
  181. package/docs/codex-0.160.0-compatibility.md +126 -0
  182. package/docs/codex-permissions.md +12 -1
  183. package/package.json +3 -2
  184. package/templates/openclaw-skills/agent-knock-knock/SKILL.md +3 -3
@@ -1,3 +1,5 @@
1
+ import { createHash } from "node:crypto";
2
+ import { terminalPhysicalBindingToken } from "./terminal-control-ref.js";
1
3
  import { terminalModelControlProfileFor } from "./terminal-model-control-profile.js";
2
4
  import { hasCanonicalTerminalEndpoint, terminalEndpointFromControlRef, terminalEndpointIdentityKey } from "./terminal-control-ref.js";
3
5
  /**
@@ -55,4 +57,75 @@ function nonBlank(value) {
55
57
  ? value.trim()
56
58
  : undefined;
57
59
  }
60
+ /**
61
+ * One action-specific physical authority token for fresh Codex model control.
62
+ * The domain separator and exact profile keep this authority from being reused
63
+ * as Send or native-lifecycle authority even though all bind the same pane.
64
+ */
65
+ export function terminalUserExplicitModelControlBindingToken(value) {
66
+ const subject = requiredModelControlSubject({
67
+ ...value,
68
+ agent: "codex"
69
+ });
70
+ const physicalTerminalToken = terminalPhysicalBindingToken({
71
+ terminalId: subject.terminalId,
72
+ terminalControl: subject.terminalControl,
73
+ agent: "codex",
74
+ pid: subject.pid,
75
+ workspace: subject.workspace,
76
+ processUuid: subject.processUuid,
77
+ processBirth: subject.processBirth
78
+ });
79
+ return createHash("sha256")
80
+ .update(JSON.stringify({
81
+ version: 1,
82
+ authority: "terminal_user_explicit_model_control",
83
+ physical_terminal_token: physicalTerminalToken,
84
+ agent_version: subject.agentVersion,
85
+ behavior_profile: subject.behaviorProfile
86
+ }))
87
+ .digest("hex");
88
+ }
89
+ function requiredModelControlSubject(input) {
90
+ const subject = canonicalModelControlSubject(input);
91
+ if (!subject) {
92
+ throw new Error("model-control authority requires one canonical supported terminal subject");
93
+ }
94
+ return subject;
95
+ }
96
+ /**
97
+ * Snapshot authority for adopting and cleaning one exact native `/model`
98
+ * residual. The residual kind and normalized surface digest prevent a token
99
+ * for one popup, pane generation, or bare Composer from authorizing another.
100
+ */
101
+ export function terminalUserExplicitModelControlRepairBindingToken(value) {
102
+ const modelControlToken = terminalUserExplicitModelControlBindingToken(value);
103
+ return createHash("sha256")
104
+ .update(JSON.stringify({
105
+ version: 1,
106
+ authority: "terminal_user_explicit_model_control_repair",
107
+ model_control_token: modelControlToken,
108
+ residual_kind: value.residualKind,
109
+ residual_fingerprint: value.residualFingerprint
110
+ }))
111
+ .digest("hex");
112
+ }
113
+ /**
114
+ * Snapshot authority for continuing one exact native `/model` residual into
115
+ * the read-only catalog picker. This is deliberately domain-separated from
116
+ * cleanup-only repair: a repair offer never authorizes Enter, while this
117
+ * offer authorizes exactly one profiled slash-command dispatch.
118
+ */
119
+ export function terminalUserExplicitModelControlResidualEntryBindingToken(value) {
120
+ const modelControlToken = terminalUserExplicitModelControlBindingToken(value);
121
+ return createHash("sha256")
122
+ .update(JSON.stringify({
123
+ version: 1,
124
+ authority: "terminal_user_explicit_model_control_residual_entry",
125
+ model_control_token: modelControlToken,
126
+ residual_kind: value.residualKind,
127
+ residual_fingerprint: value.residualFingerprint
128
+ }))
129
+ .digest("hex");
130
+ }
58
131
  //# sourceMappingURL=terminal-model-control-subject.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-model-control-subject.js","sourceRoot":"","sources":["../../src/terminal-model-control-subject.ts"],"names":[],"mappings":"AACA,OAAO,EACL,8BAA8B,EAE/B,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,4BAA4B,EAC5B,8BAA8B,EAC9B,2BAA2B,EAE5B,MAAM,2BAA2B,CAAC;AA6BnC;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAC1C,KAAuC;IAEvC,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC9C,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;IAC9C,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAClD,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;IACtB,IACE,CAAC,UAAU;QACX,CAAC,eAAe;QAChB,CAAC,KAAK,CAAC,KAAK;QACZ,CAAC,SAAS;QACV,CAAC,WAAW;QACZ,CAAC,YAAY;QACb,CAAC,YAAY;QACb,CAAC,eAAe;QAChB,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC;QAC1B,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;QAChB,CAAC,4BAA4B,CAAC,eAAe,CAAC,EAC9C,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAG,8BAA8B,CAAC,KAAK,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IAC1E,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,eAAe,KAAK,eAAe,EAAE,CAAC;QAC5D,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,QAAQ,GAAG,8BAA8B,CAAC,eAAe,CAAC,CAAC;IACjE,IACE,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAChD,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,EACtC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,UAAU;QACV,eAAe;QACf,wBAAwB,EAAE,2BAA2B,CAAC,QAAQ,CAAC;QAC/D,wBAAwB,EAAE,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAC3D,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC;QAChB,SAAS;QACT,WAAW;QACX,YAAY;QACZ,YAAY;QACZ,eAAe,EAAE,OAAO,CAAC,eAAe;KACzC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QACzD,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE;QACd,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"terminal-model-control-subject.js","sourceRoot":"","sources":["../../src/terminal-model-control-subject.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ export { probeTerminalModelControl, planTerminalModelControl } from "./terminal-model-control-profile.js";
2
+ import { type TerminalModelControlPlan } from "./terminal-model-control-profile.js";
3
+ import type { TerminalModelReasoningEffort, TerminalModelNativeEffort, TerminalModelValue, TerminalModelSwitchRequest, CodexNativeModelCatalog, ModelRow, EffortRow, TerminalModelControlObservation, TerminalModelControlCapture, ExactTerminalModelControlObservation, TerminalModelControlSurface } from "./terminal-model-control-contract.js";
4
+ /** Pure native surfaces and semantic navigation; this module never performs input. */
5
+ export declare function parseCodexNativeModelCatalog(value: unknown): CodexNativeModelCatalog;
6
+ export declare function observeCodexIdleModel(screen: string, plan?: TerminalModelControlPlan): (TerminalModelValue & {
7
+ readonly planMode: boolean;
8
+ }) | undefined;
9
+ /**
10
+ * Observe only complete, current model-control modal frames. Historical or
11
+ * partial picker text is never sufficient to authorize a key dispatch.
12
+ */
13
+ export declare function observeTerminalModelControl(plan: TerminalModelControlPlan, screen: string): TerminalModelControlObservation;
14
+ export declare function modelControlMoveKeys(currentIndex: number, targetIndex: number): readonly string[];
15
+ /** Adapter-owned native navigation; never serialize these keys to a caller. */
16
+ export declare function modelControlSelectModelKeys(observation: Extract<TerminalModelControlObservation, {
17
+ state: "codex_model_picker" | "claude_model_picker";
18
+ }>, model: string): readonly string[];
19
+ export declare function selectedClaudeModelId(observation: Extract<TerminalModelControlObservation, {
20
+ state: "claude_model_picker";
21
+ }>): string | undefined;
22
+ export declare function codexModelControlSelectEffortKeys(observation: Extract<TerminalModelControlObservation, {
23
+ state: "codex_reasoning_picker" | "codex_advanced_reasoning_picker";
24
+ }>, effort: TerminalModelReasoningEffort): readonly string[];
25
+ export declare function codexModelControlAllModesKeys(observation: Extract<TerminalModelControlObservation, {
26
+ state: "codex_plan_scope_picker";
27
+ }>): readonly string[];
28
+ export declare function claudeModelControlEffortKey(direction: "lower" | "higher"): readonly ["Left" | "Right"];
29
+ export declare function claudeModelControlCommitKeys(plan: TerminalModelControlPlan): readonly ["s"];
30
+ export declare function isExactTerminalModelControlObservation(observation: TerminalModelControlObservation): observation is ExactTerminalModelControlObservation;
31
+ /** Pure capture classifier. It never authorizes input by itself. */
32
+ export declare function classifyTerminalModelControlSurface(plan: TerminalModelControlPlan, capture: TerminalModelControlCapture): TerminalModelControlSurface;
33
+ export declare function modelControlHardBlock(capture: TerminalModelControlCapture): Extract<TerminalModelControlSurface, {
34
+ state: "blocked";
35
+ }> | undefined;
36
+ export declare function modelControlActivityBlock(capture: TerminalModelControlCapture): Extract<TerminalModelControlSurface, {
37
+ state: "blocked";
38
+ }> | undefined;
39
+ export declare function modelControlPickerKind(observation: ExactTerminalModelControlObservation): "model" | "effort" | "scope";
40
+ export declare function classifyModelControlComposerSurface(capture: TerminalModelControlCapture, observation: TerminalModelControlObservation): TerminalModelControlSurface;
41
+ export declare function modelControlCaptureBlocked(capture: TerminalModelControlCapture): boolean;
42
+ export declare function observeCodexModelControl(screen: string, plan: TerminalModelControlPlan): TerminalModelControlObservation;
43
+ export declare function observeClaudeModelControl(screen: string): TerminalModelControlObservation;
44
+ export declare function codexSemanticModelLabel(label: string, fullscreen: boolean): string | undefined;
45
+ export declare function parseCodexModelRows(region: readonly string[], fullscreen?: boolean): {
46
+ rows: readonly ModelRow[];
47
+ selectedIndex: number;
48
+ currentNativeIndex: number;
49
+ currentModel: string;
50
+ } | undefined;
51
+ export declare function parseCodexEntryModelPicker(region: readonly string[]): {
52
+ kind: "quick_auto" | "luna_reserve";
53
+ selectedIndex: number;
54
+ currentNativeIndex: number;
55
+ allModelsNativeIndex?: number;
56
+ } | undefined;
57
+ export declare function parseCodexEffortRows(region: readonly string[], advanced: boolean): {
58
+ rows: readonly EffortRow[];
59
+ selectedIndex: number;
60
+ currentEffort?: TerminalModelReasoningEffort;
61
+ presetDefaultEffort?: TerminalModelReasoningEffort;
62
+ } | undefined;
63
+ export declare function currentPickerRegion(lines: readonly string[], headerIndex: number, fullscreen?: boolean): readonly string[] | undefined;
64
+ export declare function codexFullscreenEffortFooterMatches(region: readonly string[], selected: EffortRow): boolean;
65
+ export declare function effortFromNativeLabel(label: string): TerminalModelReasoningEffort | undefined;
66
+ export declare function claudeEffortFromNativeLabel(label: string): TerminalModelNativeEffort | undefined;
67
+ export declare function claudeSemanticModelId(label: string): string | undefined;
68
+ export declare function terminalTailLines(screen: string): readonly string[];
69
+ export declare function lastIndex(lines: readonly string[], predicate: (line: string) => boolean): number;
70
+ export declare function screenFingerprint(lines: readonly string[]): string;
71
+ export declare function stripAnsi(value: string): string;
72
+ export declare function isPlainRecord(value: unknown): value is Record<string, unknown>;
73
+ export declare function nonBlank(value: unknown): string | undefined;
74
+ export declare function codexPersistencePostcondition(beforeScreen: string, afterScreen: string, request: TerminalModelSwitchRequest): {
75
+ proven: true;
76
+ } | {
77
+ proven: false;
78
+ final: boolean;
79
+ reason: string;
80
+ };
81
+ export declare function matchCount(value: string, pattern: RegExp): number;
82
+ export declare function escapeRegExp(value: string): string;