@scotthuang/agent-knock-knock 0.13.15 → 0.13.17

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 (213) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +2 -1
  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/cli-core.js +6 -3
  6. package/dist/src/cli-core.js.map +1 -1
  7. package/dist/src/codex-app-server-interaction-client.js +68 -26
  8. package/dist/src/codex-app-server-interaction-client.js.map +1 -1
  9. package/dist/src/codex-app-server-read-client.js +52 -20
  10. package/dist/src/codex-app-server-read-client.js.map +1 -1
  11. package/dist/src/codex-astra-composer-proof.js +1 -1
  12. package/dist/src/codex-astra-composer-proof.js.map +1 -1
  13. package/dist/src/codex-open-rollout-inventory.d.ts +51 -0
  14. package/dist/src/codex-open-rollout-inventory.js +365 -0
  15. package/dist/src/codex-open-rollout-inventory.js.map +1 -0
  16. package/dist/src/codex-paginated-thread-binding.js +1 -1
  17. package/dist/src/codex-paginated-thread-binding.js.map +1 -1
  18. package/dist/src/codex-permission-surface.d.ts +23 -0
  19. package/dist/src/codex-permission-surface.js +211 -0
  20. package/dist/src/codex-permission-surface.js.map +1 -0
  21. package/dist/src/codex-rollout-bound-completion.d.ts +44 -0
  22. package/dist/src/codex-rollout-bound-completion.js +357 -0
  23. package/dist/src/codex-rollout-bound-completion.js.map +1 -0
  24. package/dist/src/codex-rollout-file.d.ts +15 -0
  25. package/dist/src/codex-rollout-file.js +98 -0
  26. package/dist/src/codex-rollout-file.js.map +1 -0
  27. package/dist/src/codex-rollout-human-task.d.ts +61 -0
  28. package/dist/src/codex-rollout-human-task.js +555 -0
  29. package/dist/src/codex-rollout-human-task.js.map +1 -0
  30. package/dist/src/codex-rollout-interaction-evidence.d.ts +48 -0
  31. package/dist/src/codex-rollout-interaction-evidence.js +521 -0
  32. package/dist/src/codex-rollout-interaction-evidence.js.map +1 -0
  33. package/dist/src/codex-rollout-inventory.d.ts +5 -0
  34. package/dist/src/codex-rollout-inventory.js +81 -0
  35. package/dist/src/codex-rollout-inventory.js.map +1 -0
  36. package/dist/src/codex-rollout-records.d.ts +49 -0
  37. package/dist/src/codex-rollout-records.js +298 -0
  38. package/dist/src/codex-rollout-records.js.map +1 -0
  39. package/dist/src/codex-sqlite-thread-query.d.ts +85 -0
  40. package/dist/src/codex-sqlite-thread-query.js +440 -0
  41. package/dist/src/codex-sqlite-thread-query.js.map +1 -0
  42. package/dist/src/codex-status-history-navigation.d.ts +1 -1
  43. package/dist/src/codex-status-history-navigation.js +1 -1
  44. package/dist/src/codex-status-history-navigation.js.map +1 -1
  45. package/dist/src/codex-store-adapter.d.ts +3 -50
  46. package/dist/src/codex-store-adapter.js +5 -796
  47. package/dist/src/codex-store-adapter.js.map +1 -1
  48. package/dist/src/codex-terminal-agent-adapter.js +1 -1
  49. package/dist/src/codex-terminal-agent-adapter.js.map +1 -1
  50. package/dist/src/native-thread-lifecycle-cli-adapter.d.ts +7 -136
  51. package/dist/src/native-thread-lifecycle-cli-adapter.js +39 -633
  52. package/dist/src/native-thread-lifecycle-cli-adapter.js.map +1 -1
  53. package/dist/src/native-thread-lifecycle-cli-contract.d.ts +138 -0
  54. package/dist/src/native-thread-lifecycle-cli-contract.js +2 -0
  55. package/dist/src/native-thread-lifecycle-cli-contract.js.map +1 -0
  56. package/dist/src/semantic-permission-control.d.ts +19 -0
  57. package/dist/src/semantic-permission-control.js +201 -0
  58. package/dist/src/semantic-permission-control.js.map +1 -0
  59. package/dist/src/semantic-tool-command-helpers.d.ts +7 -0
  60. package/dist/src/semantic-tool-command-helpers.js +29 -1
  61. package/dist/src/semantic-tool-command-helpers.js.map +1 -1
  62. package/dist/src/semantic-tool-descriptions.d.ts +26 -0
  63. package/dist/src/semantic-tool-descriptions.js +259 -0
  64. package/dist/src/semantic-tool-descriptions.js.map +1 -0
  65. package/dist/src/semantic-tool-list-projection.js +4 -0
  66. package/dist/src/semantic-tool-list-projection.js.map +1 -1
  67. package/dist/src/semantic-tool-presentation.js +5 -2
  68. package/dist/src/semantic-tool-presentation.js.map +1 -1
  69. package/dist/src/semantic-tool-runtime.js +50 -36
  70. package/dist/src/semantic-tool-runtime.js.map +1 -1
  71. package/dist/src/semantic-tool-schemas.d.ts +33 -0
  72. package/dist/src/semantic-tool-schemas.js +165 -31
  73. package/dist/src/semantic-tool-schemas.js.map +1 -1
  74. package/dist/src/terminal-action-contracts.d.ts +4 -0
  75. package/dist/src/terminal-action-contracts.js +695 -0
  76. package/dist/src/terminal-action-contracts.js.map +1 -0
  77. package/dist/src/terminal-action-projection.d.ts +1 -1
  78. package/dist/src/terminal-action-projection.js.map +1 -1
  79. package/dist/src/terminal-agent-bridge.d.ts +3 -0
  80. package/dist/src/terminal-agent-bridge.js +11 -0
  81. package/dist/src/terminal-agent-bridge.js.map +1 -1
  82. package/dist/src/terminal-composer-classifier.d.ts +1 -1
  83. package/dist/src/terminal-composer-classifier.js +31 -5
  84. package/dist/src/terminal-composer-classifier.js.map +1 -1
  85. package/dist/src/terminal-interaction-response-bridge.js +1 -1
  86. package/dist/src/terminal-interaction-response-bridge.js.map +1 -1
  87. package/dist/src/terminal-list-cli-adapter.js +7 -12
  88. package/dist/src/terminal-list-cli-adapter.js.map +1 -1
  89. package/dist/src/terminal-list-renderer.d.ts +8 -2
  90. package/dist/src/terminal-list-renderer.js +37 -400
  91. package/dist/src/terminal-list-renderer.js.map +1 -1
  92. package/dist/src/terminal-model-control-action-policy.d.ts +1 -1
  93. package/dist/src/terminal-model-control-availability.d.ts +1 -1
  94. package/dist/src/terminal-model-control-availability.js +1 -1
  95. package/dist/src/terminal-model-control-availability.js.map +1 -1
  96. package/dist/src/terminal-model-control-cli-adapter.d.ts +34 -0
  97. package/dist/src/terminal-model-control-cli-adapter.js +669 -0
  98. package/dist/src/terminal-model-control-cli-adapter.js.map +1 -0
  99. package/dist/src/terminal-model-control-contract.d.ts +198 -0
  100. package/dist/src/terminal-model-control-contract.js +15 -0
  101. package/dist/src/terminal-model-control-contract.js.map +1 -0
  102. package/dist/src/terminal-model-control-input.d.ts +29 -0
  103. package/dist/src/terminal-model-control-input.js +86 -0
  104. package/dist/src/terminal-model-control-input.js.map +1 -0
  105. package/dist/src/terminal-model-control-profile.d.ts +2 -0
  106. package/dist/src/terminal-model-control-profile.js +6 -0
  107. package/dist/src/terminal-model-control-profile.js.map +1 -1
  108. package/dist/src/terminal-model-control-subject.d.ts +52 -0
  109. package/dist/src/terminal-model-control-subject.js +73 -0
  110. package/dist/src/terminal-model-control-subject.js.map +1 -1
  111. package/dist/src/terminal-model-control-surface.d.ts +82 -0
  112. package/dist/src/terminal-model-control-surface.js +688 -0
  113. package/dist/src/terminal-model-control-surface.js.map +1 -0
  114. package/dist/src/terminal-model-control.d.ts +6 -270
  115. package/dist/src/terminal-model-control.js +11 -988
  116. package/dist/src/terminal-model-control.js.map +1 -1
  117. package/dist/src/terminal-model-selection.d.ts +33 -0
  118. package/dist/src/terminal-model-selection.js +143 -0
  119. package/dist/src/terminal-model-selection.js.map +1 -0
  120. package/dist/src/terminal-monitor-application-service.js +38 -59
  121. package/dist/src/terminal-monitor-application-service.js.map +1 -1
  122. package/dist/src/terminal-monitor-attention-store.d.ts +65 -0
  123. package/dist/src/terminal-monitor-attention-store.js +518 -0
  124. package/dist/src/terminal-monitor-attention-store.js.map +1 -0
  125. package/dist/src/terminal-monitor-collateral-recovery.d.ts +12 -0
  126. package/dist/src/terminal-monitor-collateral-recovery.js +415 -0
  127. package/dist/src/terminal-monitor-collateral-recovery.js.map +1 -0
  128. package/dist/src/terminal-monitor-decision-policy.d.ts +1 -1
  129. package/dist/src/terminal-monitor-interaction-projection.d.ts +19 -0
  130. package/dist/src/terminal-monitor-interaction-projection.js +48 -0
  131. package/dist/src/terminal-monitor-interaction-projection.js.map +1 -0
  132. package/dist/src/terminal-monitor-startup-recovery.d.ts +15 -0
  133. package/dist/src/terminal-monitor-startup-recovery.js +767 -0
  134. package/dist/src/terminal-monitor-startup-recovery.js.map +1 -0
  135. package/dist/src/terminal-monitor-state-cli-adapter.d.ts +2 -104
  136. package/dist/src/terminal-monitor-state-cli-adapter.js +28 -1640
  137. package/dist/src/terminal-monitor-state-cli-adapter.js.map +1 -1
  138. package/dist/src/terminal-monitor-state-contract.d.ts +108 -0
  139. package/dist/src/terminal-monitor-state-contract.js +8 -0
  140. package/dist/src/terminal-monitor-state-contract.js.map +1 -0
  141. package/dist/src/terminal-native-control-cli-contract.d.ts +16 -0
  142. package/dist/src/terminal-native-control-cli-contract.js +2 -0
  143. package/dist/src/terminal-native-control-cli-contract.js.map +1 -0
  144. package/dist/src/terminal-native-inspection-bridge.d.ts +4 -153
  145. package/dist/src/terminal-native-inspection-bridge.js +7 -646
  146. package/dist/src/terminal-native-inspection-bridge.js.map +1 -1
  147. package/dist/src/terminal-native-inspection-contract.d.ts +128 -0
  148. package/dist/src/terminal-native-inspection-contract.js +38 -0
  149. package/dist/src/terminal-native-inspection-contract.js.map +1 -0
  150. package/dist/src/terminal-native-inspection-profile.d.ts +15 -0
  151. package/dist/src/terminal-native-inspection-profile.js +185 -0
  152. package/dist/src/terminal-native-inspection-profile.js.map +1 -0
  153. package/dist/src/terminal-native-inspection-proof.d.ts +62 -0
  154. package/dist/src/terminal-native-inspection-proof.js +362 -0
  155. package/dist/src/terminal-native-inspection-proof.js.map +1 -0
  156. package/dist/src/terminal-permission-control-availability.d.ts +31 -0
  157. package/dist/src/terminal-permission-control-availability.js +50 -0
  158. package/dist/src/terminal-permission-control-availability.js.map +1 -0
  159. package/dist/src/terminal-permission-control-bridge.d.ts +16 -0
  160. package/dist/src/terminal-permission-control-bridge.js +93 -0
  161. package/dist/src/terminal-permission-control-bridge.js.map +1 -0
  162. package/dist/src/terminal-permission-control-cli-adapter.d.ts +31 -0
  163. package/dist/src/terminal-permission-control-cli-adapter.js +152 -0
  164. package/dist/src/terminal-permission-control-cli-adapter.js.map +1 -0
  165. package/dist/src/terminal-permission-control-list-projection.d.ts +23 -0
  166. package/dist/src/terminal-permission-control-list-projection.js +47 -0
  167. package/dist/src/terminal-permission-control-list-projection.js.map +1 -0
  168. package/dist/src/terminal-permission-control-runtime.d.ts +28 -0
  169. package/dist/src/terminal-permission-control-runtime.js +88 -0
  170. package/dist/src/terminal-permission-control-runtime.js.map +1 -0
  171. package/dist/src/terminal-permission-control.d.ts +69 -0
  172. package/dist/src/terminal-permission-control.js +217 -0
  173. package/dist/src/terminal-permission-control.js.map +1 -0
  174. package/dist/src/terminal-runtime-cli-adapter.d.ts +2 -1
  175. package/dist/src/terminal-runtime-cli-adapter.js +1 -1
  176. package/dist/src/terminal-runtime-cli-adapter.js.map +1 -1
  177. package/dist/src/terminal-submission-acceptance.d.ts +5 -148
  178. package/dist/src/terminal-submission-acceptance.js +21 -1845
  179. package/dist/src/terminal-submission-acceptance.js.map +1 -1
  180. package/dist/src/terminal-watch-anchor-capture.d.ts +9 -0
  181. package/dist/src/terminal-watch-anchor-capture.js +139 -0
  182. package/dist/src/terminal-watch-anchor-capture.js.map +1 -0
  183. package/dist/src/terminal-watch-cli-adapter.d.ts +3 -117
  184. package/dist/src/terminal-watch-cli-adapter.js +10 -1992
  185. package/dist/src/terminal-watch-cli-adapter.js.map +1 -1
  186. package/dist/src/terminal-watch-cli-contract.d.ts +117 -0
  187. package/dist/src/terminal-watch-cli-contract.js +2 -0
  188. package/dist/src/terminal-watch-cli-contract.js.map +1 -0
  189. package/dist/src/terminal-watch-fallback-observation.d.ts +15 -0
  190. package/dist/src/terminal-watch-fallback-observation.js +249 -0
  191. package/dist/src/terminal-watch-fallback-observation.js.map +1 -0
  192. package/dist/src/terminal-watch-interaction-observation.d.ts +26 -0
  193. package/dist/src/terminal-watch-interaction-observation.js +262 -0
  194. package/dist/src/terminal-watch-interaction-observation.js.map +1 -0
  195. package/dist/src/terminal-watch-observation-adapter.d.ts +4 -0
  196. package/dist/src/terminal-watch-observation-adapter.js +307 -0
  197. package/dist/src/terminal-watch-observation-adapter.js.map +1 -0
  198. package/dist/src/terminal-watch-observation-evidence.d.ts +25 -0
  199. package/dist/src/terminal-watch-observation-evidence.js +184 -0
  200. package/dist/src/terminal-watch-observation-evidence.js.map +1 -0
  201. package/dist/src/terminal-watch-response-authority.d.ts +6 -0
  202. package/dist/src/terminal-watch-response-authority.js +333 -0
  203. package/dist/src/terminal-watch-response-authority.js.map +1 -0
  204. package/dist/src/terminal-watch-response-cli-adapter.d.ts +3 -0
  205. package/dist/src/terminal-watch-response-cli-adapter.js +230 -0
  206. package/dist/src/terminal-watch-response-cli-adapter.js.map +1 -0
  207. package/dist/src/terminal-watch-terminal-identity.d.ts +39 -0
  208. package/dist/src/terminal-watch-terminal-identity.js +380 -0
  209. package/dist/src/terminal-watch-terminal-identity.js.map +1 -0
  210. package/docs/codex-permissions.md +95 -0
  211. package/openclaw.plugin.json +9 -1
  212. package/package.json +3 -2
  213. package/templates/openclaw-skills/agent-knock-knock/SKILL.md +6 -1
@@ -0,0 +1,15 @@
1
+ import { type CodexRolloutIdentity } from "./terminal-submission-facts.js";
2
+ import fs from "node:fs";
3
+ export declare const CODEX_COMPLETION_MAX_BYTES: number;
4
+ export declare function readCodexRolloutHeader(fd: number, size: number): Buffer;
5
+ export declare function readExactBytes(fd: number, offset: number, length: number): Buffer;
6
+ export declare function openExactRollout(rollout: CodexRolloutIdentity): {
7
+ fd: number;
8
+ stat: fs.Stats;
9
+ };
10
+ export declare function assertPrivateRegularFile(stat: fs.Stats): void;
11
+ export declare function fileEndsWithNewline(fd: number, size: number): boolean;
12
+ export declare function byteAtOffset(fd: number, offset: number): number | undefined;
13
+ export declare function sameStableFile(left: fs.Stats, right: fs.Stats): boolean;
14
+ export declare function sameRolloutIdentity(left: CodexRolloutIdentity, right: CodexRolloutIdentity): boolean;
15
+ export declare function sameRolloutFileIdentity(left: CodexRolloutIdentity, right: CodexRolloutIdentity): boolean;
@@ -0,0 +1,98 @@
1
+ // Descriptor identity and stable byte reads for legacy Codex rollouts.
2
+ import { parsedInteger, } from "./terminal-submission-facts.js";
3
+ import fs from "node:fs";
4
+ import path from "node:path";
5
+ export const CODEX_COMPLETION_MAX_BYTES = 256 * 1024 * 1024;
6
+ const CODEX_ROLLOUT_HEADER_MAX_BYTES = 1024 * 1024;
7
+ const NO_FOLLOW_FLAG = typeof fs.constants.O_NOFOLLOW === "number"
8
+ ? fs.constants.O_NOFOLLOW
9
+ : 0;
10
+ export function readCodexRolloutHeader(fd, size) {
11
+ const bytesToRead = Math.min(size, CODEX_ROLLOUT_HEADER_MAX_BYTES);
12
+ const buffer = readExactBytes(fd, 0, bytesToRead);
13
+ const newline = buffer.indexOf(0x0a);
14
+ if (newline < 0) {
15
+ throw new Error("Codex active-task rollout header exceeded the safe read limit");
16
+ }
17
+ return buffer.subarray(0, newline + 1);
18
+ }
19
+ export function readExactBytes(fd, offset, length) {
20
+ const buffer = Buffer.allocUnsafe(length);
21
+ let total = 0;
22
+ while (total < length) {
23
+ const read = fs.readSync(fd, buffer, total, length - total, offset + total);
24
+ if (read === 0) {
25
+ break;
26
+ }
27
+ total += read;
28
+ }
29
+ if (total !== length) {
30
+ throw new Error("Codex rollout changed while it was being read");
31
+ }
32
+ return buffer;
33
+ }
34
+ export function openExactRollout(rollout) {
35
+ if (!path.isAbsolute(rollout.path)) {
36
+ throw new Error("Codex rollout path is not absolute");
37
+ }
38
+ const before = fs.lstatSync(rollout.path);
39
+ if (!before.isFile() || before.isSymbolicLink()) {
40
+ throw new Error("Codex rollout path is not a regular file");
41
+ }
42
+ const fd = fs.openSync(rollout.path, fs.constants.O_RDONLY | NO_FOLLOW_FLAG);
43
+ try {
44
+ const stat = fs.fstatSync(fd);
45
+ if (BigInt(stat.dev) !== parsedInteger(rollout.device) ||
46
+ BigInt(stat.ino) !== parsedInteger(rollout.inode)) {
47
+ throw new Error("Codex rollout descriptor identity does not match its open file");
48
+ }
49
+ return { fd, stat };
50
+ }
51
+ catch (error) {
52
+ fs.closeSync(fd);
53
+ throw error;
54
+ }
55
+ }
56
+ export function assertPrivateRegularFile(stat) {
57
+ if (!stat.isFile()) {
58
+ throw new Error("Codex rollout is not a regular file");
59
+ }
60
+ if (process.platform !== "win32" &&
61
+ typeof process.getuid === "function" &&
62
+ stat.uid !== process.getuid()) {
63
+ throw new Error("Codex rollout is not owned by the current user");
64
+ }
65
+ if (process.platform !== "win32" && (stat.mode & 0o022) !== 0) {
66
+ throw new Error("Codex rollout is writable by another user");
67
+ }
68
+ }
69
+ export function fileEndsWithNewline(fd, size) {
70
+ if (size <= 0) {
71
+ return true;
72
+ }
73
+ const last = Buffer.allocUnsafe(1);
74
+ return fs.readSync(fd, last, 0, 1, size - 1) === 1 && last[0] === 0x0a;
75
+ }
76
+ export function byteAtOffset(fd, offset) {
77
+ const buffer = Buffer.allocUnsafe(1);
78
+ return fs.readSync(fd, buffer, 0, 1, offset) === 1
79
+ ? buffer[0]
80
+ : undefined;
81
+ }
82
+ export function sameStableFile(left, right) {
83
+ return left.dev === right.dev &&
84
+ left.ino === right.ino &&
85
+ left.size === right.size &&
86
+ left.mtimeMs === right.mtimeMs &&
87
+ left.ctimeMs === right.ctimeMs;
88
+ }
89
+ export function sameRolloutIdentity(left, right) {
90
+ return left.fd === right.fd &&
91
+ sameRolloutFileIdentity(left, right);
92
+ }
93
+ export function sameRolloutFileIdentity(left, right) {
94
+ return left.device === right.device &&
95
+ left.inode === right.inode &&
96
+ left.path === right.path;
97
+ }
98
+ //# sourceMappingURL=codex-rollout-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-rollout-file.js","sourceRoot":"","sources":["../../src/codex-rollout-file.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import { type TerminalCompletionEvidence } from "./terminal-agent-adapter.js";
2
+ import { type CodexRolloutAcceptanceIdentity, type CodexRolloutIdentity } from "./terminal-submission-facts.js";
3
+ /**
4
+ * Durable identity for one already-running Codex task that was started by the
5
+ * human in the TUI. The prompt itself is deliberately omitted; the exact root
6
+ * user row is represented only by its SHA-256 digest and native turn UUID.
7
+ */
8
+ export interface CodexHumanStartedActiveTaskAnchor {
9
+ schema: "agent-knock-knock/codex-human-started-active-task-anchor";
10
+ version: 1;
11
+ native_thread_id: string;
12
+ process_uuid: string;
13
+ process_birth: string;
14
+ captured_at: string;
15
+ rollout: CodexRolloutIdentity;
16
+ turn_id: string;
17
+ request_hash: string;
18
+ codex_version: string;
19
+ task_started_offset_bytes: number;
20
+ user_message_offset_bytes: number;
21
+ observed_end_offset_bytes: number;
22
+ anchor_fingerprint: string;
23
+ }
24
+ export interface CaptureCodexHumanStartedActiveTaskOptions {
25
+ currentIdentity: CodexRolloutAcceptanceIdentity;
26
+ now?: Date;
27
+ maxBytes?: number;
28
+ }
29
+ export interface ObserveCodexHumanStartedActiveTaskOptions {
30
+ anchor: CodexHumanStartedActiveTaskAnchor;
31
+ currentIdentity: CodexRolloutAcceptanceIdentity;
32
+ maxBytes?: number;
33
+ /** Last complete, stable JSONL boundary returned by a prior observation. */
34
+ resumeOffsetBytes?: number;
35
+ }
36
+ export type CodexHumanStartedActiveTaskObservation = {
37
+ status: "pending";
38
+ observedEndOffsetBytes: number;
39
+ safeResumeOffsetBytes: number;
40
+ } | {
41
+ status: "completed";
42
+ completion: TerminalCompletionEvidence & {
43
+ outcome: "success" | "failure";
44
+ };
45
+ } | {
46
+ status: "invalidated";
47
+ reason: string;
48
+ } | {
49
+ status: "unavailable";
50
+ reason: string;
51
+ retryable: true;
52
+ };
53
+ /**
54
+ * Capture the latest active native task in an exact open Codex rollout.
55
+ * This is intentionally separate from the pre-send acceptance anchor: all
56
+ * task-start and root-user evidence already exists when this function runs.
57
+ */
58
+ export declare function captureCodexHumanStartedActiveTaskAnchor(options: CaptureCodexHumanStartedActiveTaskOptions): CodexHumanStartedActiveTaskAnchor | undefined;
59
+ /** Observe only the exact human-started task named by the persisted anchor. */
60
+ export declare function observeCodexHumanStartedActiveTask(options: ObserveCodexHumanStartedActiveTaskOptions): CodexHumanStartedActiveTaskObservation;
61
+ export declare function validateCodexHumanStartedActiveTaskAnchor(value: unknown): CodexHumanStartedActiveTaskAnchor;