@scotthuang/agent-knock-knock 0.12.12 → 0.12.14

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 (164) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/README.md +40 -27
  3. package/dist/src/approval-policy.d.ts +11 -2
  4. package/dist/src/approval-policy.js +33 -7
  5. package/dist/src/approval-policy.js.map +1 -1
  6. package/dist/src/callback-cli-adapter.d.ts +9 -6
  7. package/dist/src/callback-cli-adapter.js +119 -30
  8. package/dist/src/callback-cli-adapter.js.map +1 -1
  9. package/dist/src/callback-outbox-policy.d.ts +39 -0
  10. package/dist/src/callback-outbox-policy.js +163 -6
  11. package/dist/src/callback-outbox-policy.js.map +1 -1
  12. package/dist/src/callback-outbox-service.d.ts +28 -1
  13. package/dist/src/callback-outbox-service.js +413 -82
  14. package/dist/src/callback-outbox-service.js.map +1 -1
  15. package/dist/src/callback-outbox-settlement.d.ts +14 -1
  16. package/dist/src/callback-outbox-settlement.js +151 -30
  17. package/dist/src/callback-outbox-settlement.js.map +1 -1
  18. package/dist/src/callback-route-authority.d.ts +59 -0
  19. package/dist/src/callback-route-authority.js +123 -0
  20. package/dist/src/callback-route-authority.js.map +1 -0
  21. package/dist/src/callback-transport.d.ts +134 -0
  22. package/dist/src/callback-transport.js +256 -0
  23. package/dist/src/callback-transport.js.map +1 -0
  24. package/dist/src/claude-local-transcript-provider.d.ts +81 -0
  25. package/dist/src/claude-local-transcript-provider.js +854 -18
  26. package/dist/src/claude-local-transcript-provider.js.map +1 -1
  27. package/dist/src/cli-core.js +102 -4
  28. package/dist/src/cli-core.js.map +1 -1
  29. package/dist/src/codex-lifecycle-compatibility.js +2 -1
  30. package/dist/src/codex-lifecycle-compatibility.js.map +1 -1
  31. package/dist/src/deferred-foreground-application-service.d.ts +18 -0
  32. package/dist/src/deferred-foreground-application-service.js +72 -0
  33. package/dist/src/deferred-foreground-application-service.js.map +1 -1
  34. package/dist/src/deferred-foreground-authority-cli-adapter.js +92 -20
  35. package/dist/src/deferred-foreground-authority-cli-adapter.js.map +1 -1
  36. package/dist/src/deferred-foreground-recovery-cli-adapter.d.ts +1 -1
  37. package/dist/src/deferred-foreground-recovery-cli-adapter.js +108 -37
  38. package/dist/src/deferred-foreground-recovery-cli-adapter.js.map +1 -1
  39. package/dist/src/deferred-foreground-recovery-service.d.ts +1 -1
  40. package/dist/src/deferred-foreground-recovery-service.js +10 -3
  41. package/dist/src/deferred-foreground-recovery-service.js.map +1 -1
  42. package/dist/src/deferred-foreground-transfer-policy.d.ts +1 -1
  43. package/dist/src/deferred-foreground-transfer-policy.js +3 -2
  44. package/dist/src/deferred-foreground-transfer-policy.js.map +1 -1
  45. package/dist/src/deferred-foreground-transfer.d.ts +17 -1
  46. package/dist/src/deferred-foreground-transfer.js +247 -39
  47. package/dist/src/deferred-foreground-transfer.js.map +1 -1
  48. package/dist/src/deferred-foreground-user-close.d.ts +18 -0
  49. package/dist/src/deferred-foreground-user-close.js +180 -0
  50. package/dist/src/deferred-foreground-user-close.js.map +1 -0
  51. package/dist/src/openclaw-callback-transport.d.ts +9 -1
  52. package/dist/src/openclaw-callback-transport.js +404 -11
  53. package/dist/src/openclaw-callback-transport.js.map +1 -1
  54. package/dist/src/openclaw-managed-callback-cli-adapter.d.ts +23 -0
  55. package/dist/src/openclaw-managed-callback-cli-adapter.js +77 -0
  56. package/dist/src/openclaw-managed-callback-cli-adapter.js.map +1 -0
  57. package/dist/src/openclaw-plugin-callback-adapter.js +96 -14
  58. package/dist/src/openclaw-plugin-callback-adapter.js.map +1 -1
  59. package/dist/src/openclaw-plugin-command-adapter.js +547 -109
  60. package/dist/src/openclaw-plugin-command-adapter.js.map +1 -1
  61. package/dist/src/openclaw-plugin-helpers.d.ts +27 -4
  62. package/dist/src/openclaw-plugin-helpers.js +317 -44
  63. package/dist/src/openclaw-plugin-helpers.js.map +1 -1
  64. package/dist/src/openclaw-plugin-schemas.d.ts +61 -66
  65. package/dist/src/openclaw-plugin-schemas.js +87 -91
  66. package/dist/src/openclaw-plugin-schemas.js.map +1 -1
  67. package/dist/src/openclaw-plugin-supervisor.js +48 -10
  68. package/dist/src/openclaw-plugin-supervisor.js.map +1 -1
  69. package/dist/src/openclaw-private-authority-offers.d.ts +22 -0
  70. package/dist/src/openclaw-private-authority-offers.js +177 -0
  71. package/dist/src/openclaw-private-authority-offers.js.map +1 -0
  72. package/dist/src/protocol.d.ts +3 -0
  73. package/dist/src/protocol.js +4 -0
  74. package/dist/src/protocol.js.map +1 -1
  75. package/dist/src/store.d.ts +10 -0
  76. package/dist/src/store.js +82 -2
  77. package/dist/src/store.js.map +1 -1
  78. package/dist/src/terminal-acceptance-cli-adapter.d.ts +2 -0
  79. package/dist/src/terminal-acceptance-cli-adapter.js +62 -12
  80. package/dist/src/terminal-acceptance-cli-adapter.js.map +1 -1
  81. package/dist/src/terminal-action-projection.d.ts +19 -2
  82. package/dist/src/terminal-action-projection.js +27 -5
  83. package/dist/src/terminal-action-projection.js.map +1 -1
  84. package/dist/src/terminal-agent-bridge.d.ts +82 -0
  85. package/dist/src/terminal-agent-bridge.js +539 -111
  86. package/dist/src/terminal-agent-bridge.js.map +1 -1
  87. package/dist/src/terminal-command-cli-adapter.d.ts +14 -0
  88. package/dist/src/terminal-command-cli-adapter.js +2435 -150
  89. package/dist/src/terminal-command-cli-adapter.js.map +1 -1
  90. package/dist/src/terminal-dispatch-application.d.ts +4 -1
  91. package/dist/src/terminal-dispatch-application.js +11 -2
  92. package/dist/src/terminal-dispatch-application.js.map +1 -1
  93. package/dist/src/terminal-dispatch-execution.js +3 -1
  94. package/dist/src/terminal-dispatch-execution.js.map +1 -1
  95. package/dist/src/terminal-dispatch-ledger-codec.d.ts +3 -0
  96. package/dist/src/terminal-dispatch-ledger-codec.js +46 -19
  97. package/dist/src/terminal-dispatch-ledger-codec.js.map +1 -1
  98. package/dist/src/terminal-dispatch-presenter.js +5 -3
  99. package/dist/src/terminal-dispatch-presenter.js.map +1 -1
  100. package/dist/src/terminal-dispatch-receipt.d.ts +3 -0
  101. package/dist/src/terminal-dispatch-receipt.js +15 -1
  102. package/dist/src/terminal-dispatch-receipt.js.map +1 -1
  103. package/dist/src/terminal-dispatch-recovery-cli-adapter.js +68 -7
  104. package/dist/src/terminal-dispatch-recovery-cli-adapter.js.map +1 -1
  105. package/dist/src/terminal-dispatch-recovery-service.d.ts +2 -0
  106. package/dist/src/terminal-dispatch-recovery-service.js +9 -0
  107. package/dist/src/terminal-dispatch-recovery-service.js.map +1 -1
  108. package/dist/src/terminal-dispatch-repository-cli-adapter.js +305 -79
  109. package/dist/src/terminal-dispatch-repository-cli-adapter.js.map +1 -1
  110. package/dist/src/terminal-identity-authority-cli-adapter.d.ts +2 -0
  111. package/dist/src/terminal-identity-authority-cli-adapter.js +30 -27
  112. package/dist/src/terminal-identity-authority-cli-adapter.js.map +1 -1
  113. package/dist/src/terminal-list-cli-adapter.d.ts +32 -7
  114. package/dist/src/terminal-list-cli-adapter.js +335 -98
  115. package/dist/src/terminal-list-cli-adapter.js.map +1 -1
  116. package/dist/src/terminal-list-renderer.d.ts +11 -1
  117. package/dist/src/terminal-list-renderer.js +328 -132
  118. package/dist/src/terminal-list-renderer.js.map +1 -1
  119. package/dist/src/terminal-maintenance-cli-adapter.js +253 -326
  120. package/dist/src/terminal-maintenance-cli-adapter.js.map +1 -1
  121. package/dist/src/terminal-monitor-application-service.d.ts +5 -0
  122. package/dist/src/terminal-monitor-application-service.js +5 -0
  123. package/dist/src/terminal-monitor-application-service.js.map +1 -1
  124. package/dist/src/terminal-monitor-cli-adapter.d.ts +25 -1
  125. package/dist/src/terminal-monitor-cli-adapter.js +171 -28
  126. package/dist/src/terminal-monitor-cli-adapter.js.map +1 -1
  127. package/dist/src/terminal-monitor-reconciliation-eligibility.d.ts +1 -1
  128. package/dist/src/terminal-monitor-reconciliation-eligibility.js +220 -32
  129. package/dist/src/terminal-monitor-reconciliation-eligibility.js.map +1 -1
  130. package/dist/src/terminal-monitor-state-cli-adapter.d.ts +1 -1
  131. package/dist/src/terminal-monitor-state-cli-adapter.js +814 -162
  132. package/dist/src/terminal-monitor-state-cli-adapter.js.map +1 -1
  133. package/dist/src/terminal-monitor-state-reconciliation-service.d.ts +2 -1
  134. package/dist/src/terminal-monitor-state-reconciliation-service.js +12 -0
  135. package/dist/src/terminal-monitor-state-reconciliation-service.js.map +1 -1
  136. package/dist/src/terminal-monitor-supervision-cli-adapter.d.ts +2 -0
  137. package/dist/src/terminal-monitor-supervision-cli-adapter.js +31 -11
  138. package/dist/src/terminal-monitor-supervision-cli-adapter.js.map +1 -1
  139. package/dist/src/terminal-status-cli-adapter.d.ts +11 -0
  140. package/dist/src/terminal-status-cli-adapter.js +119 -35
  141. package/dist/src/terminal-status-cli-adapter.js.map +1 -1
  142. package/dist/src/terminal-submission-acceptance.d.ts +60 -1
  143. package/dist/src/terminal-submission-acceptance.js +613 -0
  144. package/dist/src/terminal-submission-acceptance.js.map +1 -1
  145. package/dist/src/terminal-submission-retry-service.d.ts +114 -0
  146. package/dist/src/terminal-submission-retry-service.js +589 -0
  147. package/dist/src/terminal-submission-retry-service.js.map +1 -0
  148. package/dist/src/terminal-watch-callback-cli-adapter.d.ts +28 -0
  149. package/dist/src/terminal-watch-callback-cli-adapter.js +94 -0
  150. package/dist/src/terminal-watch-callback-cli-adapter.js.map +1 -0
  151. package/dist/src/terminal-watch-cli-adapter.d.ts +64 -0
  152. package/dist/src/terminal-watch-cli-adapter.js +532 -0
  153. package/dist/src/terminal-watch-cli-adapter.js.map +1 -0
  154. package/dist/src/terminal-watch-service.d.ts +102 -0
  155. package/dist/src/terminal-watch-service.js +883 -0
  156. package/dist/src/terminal-watch-service.js.map +1 -0
  157. package/dist/src/terminal-watch-store.d.ts +172 -0
  158. package/dist/src/terminal-watch-store.js +1019 -0
  159. package/dist/src/terminal-watch-store.js.map +1 -0
  160. package/docs/quickstart-herdr.md +8 -0
  161. package/docs/quickstart-tmux.md +33 -6
  162. package/openclaw.plugin.json +11 -3
  163. package/package.json +1 -1
  164. package/templates/openclaw-skills/agent-knock-knock/SKILL.md +61 -40
@@ -0,0 +1,94 @@
1
+ import { createLegacyOpenClawCallbackRoute } from "./callback-transport.js";
2
+ import { createOpenClawCallbackTransport, parseChatSendAcknowledgement } from "./openclaw-callback-transport.js";
3
+ import { terminalWatchCallbackMessage } from "./terminal-watch-service.js";
4
+ export function resolveTerminalWatchOpenClawCallback(watch) {
5
+ return {
6
+ route: {
7
+ ...createLegacyOpenClawCallbackRoute({
8
+ controllerSessionId: watch.openclaw_session,
9
+ gatewayMethod: "chat.send",
10
+ openclawBin: watch.openclaw_bin
11
+ }),
12
+ capabilities: { wake: true, respond: false }
13
+ },
14
+ context: resolveTerminalWatchOpenClawCallbackContext(watch)
15
+ };
16
+ }
17
+ export function resolveTerminalWatchOpenClawCallbackContext(watch, _route) {
18
+ return {
19
+ legacyOptions: {
20
+ gatewayMethod: "chat.send",
21
+ gatewaySession: watch.openclaw_session,
22
+ openclawBin: watch.openclaw_bin
23
+ }
24
+ };
25
+ }
26
+ export function createTerminalWatchCallbackCliAdapter(options = {}) {
27
+ const now = options.now ?? (() => new Date());
28
+ const transport = createOpenClawCallbackTransport({
29
+ now,
30
+ environment: options.environment ?? (() => process.env),
31
+ redactConversation: () => ({}),
32
+ recordCallbackProcessDelivery: () => { },
33
+ ...(options.spawnSync ? { spawnSync: options.spawnSync } : {})
34
+ });
35
+ return Object.freeze({
36
+ deliver(input) {
37
+ const attempt = attemptOpenClawCallback({
38
+ openclawBin: input.openclawBin,
39
+ sessionKey: requiredString(input.openclawSession, "Terminal Watch OpenClaw session"),
40
+ message: terminalWatchCallbackMessage(input),
41
+ idempotencyKey: input.idempotencyKey
42
+ });
43
+ if (attempt.disposition !== "accepted") {
44
+ throw new Error(attempt.errorMessage);
45
+ }
46
+ },
47
+ deliverTransport(input) {
48
+ return transport.deliver(input);
49
+ }
50
+ });
51
+ function attemptOpenClawCallback(input) {
52
+ const delivery = transport.deliverChatSend({
53
+ openclawBin: input.openclawBin,
54
+ params: {
55
+ sessionKey: input.sessionKey,
56
+ message: input.message,
57
+ idempotencyKey: input.idempotencyKey,
58
+ deliver: true
59
+ }
60
+ });
61
+ if (delivery.status !== 0) {
62
+ return {
63
+ disposition: "retryable_failure",
64
+ errorMessage: delivery.stderr || delivery.stdout ||
65
+ `Terminal Watch callback failed with status ${delivery.status}`
66
+ };
67
+ }
68
+ let acknowledgement;
69
+ try {
70
+ acknowledgement = parseChatSendAcknowledgement(delivery.stdout, input.idempotencyKey);
71
+ }
72
+ catch (error) {
73
+ return {
74
+ disposition: "uncertain",
75
+ errorMessage: error instanceof Error ? error.message : String(error)
76
+ };
77
+ }
78
+ if (acknowledgement.status === "error" ||
79
+ acknowledgement.status === "timeout") {
80
+ return {
81
+ disposition: "retryable_failure",
82
+ errorMessage: `Terminal Watch chat.send was not accepted: ${acknowledgement.status}`
83
+ };
84
+ }
85
+ return { disposition: "accepted", acknowledgement };
86
+ }
87
+ }
88
+ function requiredString(value, label) {
89
+ if (typeof value !== "string" || value.trim().length === 0) {
90
+ throw new Error(`${label} is required`);
91
+ }
92
+ return value;
93
+ }
94
+ //# sourceMappingURL=terminal-watch-callback-cli-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-watch-callback-cli-adapter.js","sourceRoot":"","sources":["../../src/terminal-watch-callback-cli-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ import type { ClaudeAgentRow } from "./claude-terminal-agent-adapter.js";
2
+ import { type Conversation } from "./protocol.js";
3
+ import { type TerminalDispatchOwnership } from "./terminal-action-projection.js";
4
+ import type { TerminalControlRef } from "./terminal-control-ref.js";
5
+ import { type TerminalWatchCallbackCliAdapter } from "./terminal-watch-callback-cli-adapter.js";
6
+ export interface TerminalWatchCliOptions {
7
+ claudeHome?: string;
8
+ hardTimeoutMinutes?: number | string;
9
+ openclawBin?: string;
10
+ openclawSession?: string;
11
+ storeDir?: string;
12
+ terminal?: string;
13
+ watch?: string;
14
+ [option: string]: unknown;
15
+ }
16
+ type ExactTerminalWatchObservation = {
17
+ state: "available";
18
+ rawTerminal: Record<string, unknown>;
19
+ terminal: Record<string, unknown>;
20
+ summary: Record<string, unknown>;
21
+ } | {
22
+ state: "absent";
23
+ reason?: string;
24
+ summary: Record<string, unknown>;
25
+ } | {
26
+ state: "unavailable";
27
+ reason?: string;
28
+ summary: Record<string, unknown>;
29
+ };
30
+ export interface TerminalWatchCliDependencies {
31
+ acquireFileLock(lockPath: string): () => void;
32
+ acquireTerminalLock(storeDir: string, terminalControl: TerminalControlRef): () => void;
33
+ observeExactTerminal(request: {
34
+ options: TerminalWatchCliOptions;
35
+ terminalId: string;
36
+ }): Promise<ExactTerminalWatchObservation>;
37
+ loadClaudeAgentRows(options: TerminalWatchCliOptions, observation?: {
38
+ required?: boolean;
39
+ }): readonly ClaudeAgentRow[];
40
+ now(): Date;
41
+ randomUUID(): string;
42
+ storeDirFromOptions(options: TerminalWatchCliOptions): string;
43
+ terminalDispatchOwnership(terminalControl: TerminalControlRef): TerminalDispatchOwnership<Conversation, Record<string, unknown>>;
44
+ terminalIncarnationBlockingTurns(storeDir: string, terminalControl: TerminalControlRef): Conversation[];
45
+ printJson(value: unknown): void;
46
+ callback?: TerminalWatchCallbackCliAdapter;
47
+ }
48
+ export interface TerminalWatchCliFacade {
49
+ runWatch(options: TerminalWatchCliOptions): Promise<void>;
50
+ runUnwatch(options: TerminalWatchCliOptions): Promise<void>;
51
+ runWatchStatus(options: TerminalWatchCliOptions): void;
52
+ runReconcileWatches(options: TerminalWatchCliOptions): Promise<void>;
53
+ listPublicWatches(storeDir: string, options?: {
54
+ includeAll?: boolean;
55
+ }): Array<Record<string, unknown>>;
56
+ scanPublicWatchesForExactObservation(storeDir: string, options?: {
57
+ includeAll?: boolean;
58
+ }): {
59
+ watches: Array<Record<string, unknown>>;
60
+ activeOverlayTrusted: boolean;
61
+ };
62
+ }
63
+ export declare function createTerminalWatchCliAdapter(dependencies: TerminalWatchCliDependencies): TerminalWatchCliFacade;
64
+ export {};