@scotthuang/agent-knock-knock 0.13.2 → 0.13.4
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 +36 -0
- package/README.md +27 -6
- package/dist/src/callback-outbox-policy.js +27 -6
- package/dist/src/callback-outbox-policy.js.map +1 -1
- package/dist/src/callback-outbox-service.d.ts +4 -30
- package/dist/src/callback-outbox-service.js +21 -154
- package/dist/src/callback-outbox-service.js.map +1 -1
- package/dist/src/callback-outbox-settlement.js +13 -8
- package/dist/src/callback-outbox-settlement.js.map +1 -1
- package/dist/src/callback-route-service.d.ts +46 -0
- package/dist/src/callback-route-service.js +155 -0
- package/dist/src/callback-route-service.js.map +1 -0
- package/dist/src/claude-terminal-agent-adapter.js +4 -0
- package/dist/src/claude-terminal-agent-adapter.js.map +1 -1
- package/dist/src/cli-core.js +9 -1
- package/dist/src/cli-core.js.map +1 -1
- package/dist/src/codex-process-incarnation.d.ts +8 -0
- package/dist/src/codex-process-incarnation.js +36 -0
- package/dist/src/codex-process-incarnation.js.map +1 -0
- package/dist/src/codex-terminal-agent-adapter.js +4 -0
- package/dist/src/codex-terminal-agent-adapter.js.map +1 -1
- package/dist/src/deferred-foreground-conflict-policy.d.ts +22 -0
- package/dist/src/deferred-foreground-conflict-policy.js +52 -0
- package/dist/src/deferred-foreground-conflict-policy.js.map +1 -0
- package/dist/src/durable-notification-kernel.d.ts +94 -0
- package/dist/src/durable-notification-kernel.js +68 -0
- package/dist/src/durable-notification-kernel.js.map +1 -0
- package/dist/src/herdr-socket-transport.d.ts +43 -0
- package/dist/src/herdr-socket-transport.js +170 -0
- package/dist/src/herdr-socket-transport.js.map +1 -0
- package/dist/src/herdr-terminal-control-provider.d.ts +2 -45
- package/dist/src/herdr-terminal-control-provider.js +8 -173
- package/dist/src/herdr-terminal-control-provider.js.map +1 -1
- package/dist/src/host-adapter-capabilities.d.ts +35 -0
- package/dist/src/host-adapter-capabilities.js +146 -0
- package/dist/src/host-adapter-capabilities.js.map +1 -0
- package/dist/src/host-adapter.d.ts +9 -3
- package/dist/src/host-adapter.js +33 -9
- package/dist/src/host-adapter.js.map +1 -1
- package/dist/src/host-bridge-tools.d.ts +3 -4
- package/dist/src/host-bridge-tools.js +49 -92
- package/dist/src/host-bridge-tools.js.map +1 -1
- package/dist/src/host-bridge.js +5 -5
- package/dist/src/host-bridge.js.map +1 -1
- package/dist/src/host-monitor-reconciliation.d.ts +6 -0
- package/dist/src/host-monitor-reconciliation.js +96 -0
- package/dist/src/host-monitor-reconciliation.js.map +1 -0
- package/dist/src/managed-session.js +2 -18
- package/dist/src/managed-session.js.map +1 -1
- package/dist/src/native-thread-lifecycle-cli-adapter.d.ts +13 -0
- package/dist/src/native-thread-lifecycle-cli-adapter.js +635 -3
- package/dist/src/native-thread-lifecycle-cli-adapter.js.map +1 -1
- package/dist/src/openclaw-list-projection.d.ts +2 -0
- package/dist/src/openclaw-list-projection.js +3 -0
- package/dist/src/openclaw-list-projection.js.map +1 -0
- package/dist/src/openclaw-model-facing-field-policy.d.ts +2 -0
- package/dist/src/openclaw-model-facing-field-policy.js +3 -0
- package/dist/src/openclaw-model-facing-field-policy.js.map +1 -0
- package/dist/src/openclaw-plugin-command-adapter.d.ts +6 -29
- package/dist/src/openclaw-plugin-command-adapter.js +7 -2370
- package/dist/src/openclaw-plugin-command-adapter.js.map +1 -1
- package/dist/src/openclaw-plugin-helpers.d.ts +2 -121
- package/dist/src/openclaw-plugin-helpers.js +2 -1164
- package/dist/src/openclaw-plugin-helpers.js.map +1 -1
- package/dist/src/openclaw-plugin-schemas.d.ts +2 -510
- package/dist/src/openclaw-plugin-schemas.js +2 -519
- package/dist/src/openclaw-plugin-schemas.js.map +1 -1
- package/dist/src/openclaw-plugin-supervisor.d.ts +4 -5
- package/dist/src/openclaw-plugin-supervisor.js +5 -94
- package/dist/src/openclaw-plugin-supervisor.js.map +1 -1
- package/dist/src/openclaw-plugin-value-helpers.d.ts +2 -0
- package/dist/src/openclaw-plugin-value-helpers.js +3 -0
- package/dist/src/openclaw-plugin-value-helpers.js.map +1 -0
- package/dist/src/openclaw-private-authority-offers.d.ts +4 -39
- package/dist/src/openclaw-private-authority-offers.js +3 -258
- package/dist/src/openclaw-private-authority-offers.js.map +1 -1
- package/dist/src/semantic-private-authority-offers.d.ts +41 -0
- package/dist/src/semantic-private-authority-offers.js +261 -0
- package/dist/src/semantic-private-authority-offers.js.map +1 -0
- package/dist/src/semantic-tool-arguments.d.ts +9 -0
- package/dist/src/semantic-tool-arguments.js +64 -0
- package/dist/src/semantic-tool-arguments.js.map +1 -0
- package/dist/src/semantic-tool-catalog.d.ts +48 -0
- package/dist/src/semantic-tool-catalog.js +105 -0
- package/dist/src/semantic-tool-catalog.js.map +1 -0
- package/dist/src/semantic-tool-command-helpers.d.ts +145 -0
- package/dist/src/semantic-tool-command-helpers.js +1272 -0
- package/dist/src/semantic-tool-command-helpers.js.map +1 -0
- package/dist/src/semantic-tool-list-projection.d.ts +10 -0
- package/dist/src/semantic-tool-list-projection.js +497 -0
- package/dist/src/semantic-tool-list-projection.js.map +1 -0
- package/dist/src/semantic-tool-model-facing-field-policy.d.ts +3 -0
- package/dist/src/semantic-tool-model-facing-field-policy.js +66 -0
- package/dist/src/semantic-tool-model-facing-field-policy.js.map +1 -0
- package/dist/src/semantic-tool-presentation.d.ts +37 -0
- package/dist/src/semantic-tool-presentation.js +680 -0
- package/dist/src/semantic-tool-presentation.js.map +1 -0
- package/dist/src/semantic-tool-private-authority.d.ts +39 -0
- package/dist/src/semantic-tool-private-authority.js +602 -0
- package/dist/src/semantic-tool-private-authority.js.map +1 -0
- package/dist/src/semantic-tool-relay.d.ts +16 -0
- package/dist/src/semantic-tool-relay.js +175 -0
- package/dist/src/semantic-tool-relay.js.map +1 -0
- package/dist/src/semantic-tool-runtime.d.ts +10 -0
- package/dist/src/semantic-tool-runtime.js +1157 -0
- package/dist/src/semantic-tool-runtime.js.map +1 -0
- package/dist/src/semantic-tool-schemas.d.ts +563 -0
- package/dist/src/semantic-tool-schemas.js +573 -0
- package/dist/src/semantic-tool-schemas.js.map +1 -0
- package/dist/src/semantic-tool-value-helpers.d.ts +5 -0
- package/dist/src/semantic-tool-value-helpers.js +27 -0
- package/dist/src/semantic-tool-value-helpers.js.map +1 -0
- package/dist/src/store-event-presentation.d.ts +17 -0
- package/dist/src/store-event-presentation.js +33 -0
- package/dist/src/store-event-presentation.js.map +1 -0
- package/dist/src/store.d.ts +3 -16
- package/dist/src/store.js +2 -30
- package/dist/src/store.js.map +1 -1
- package/dist/src/terminal-action-projection.d.ts +3 -17
- package/dist/src/terminal-action-projection.js +13 -41
- package/dist/src/terminal-action-projection.js.map +1 -1
- package/dist/src/terminal-agent-adapter.d.ts +7 -0
- package/dist/src/terminal-agent-adapter.js +8 -0
- package/dist/src/terminal-agent-adapter.js.map +1 -1
- package/dist/src/terminal-agent-bridge.d.ts +35 -332
- package/dist/src/terminal-agent-bridge.js +293 -2798
- package/dist/src/terminal-agent-bridge.js.map +1 -1
- package/dist/src/terminal-approval-cli-adapter.d.ts +17 -0
- package/dist/src/terminal-approval-cli-adapter.js +921 -0
- package/dist/src/terminal-approval-cli-adapter.js.map +1 -0
- package/dist/src/terminal-command-cli-adapter.d.ts +2 -429
- package/dist/src/terminal-command-cli-adapter.js +344 -6061
- package/dist/src/terminal-command-cli-adapter.js.map +1 -1
- package/dist/src/terminal-command-cli-ports.d.ts +443 -0
- package/dist/src/terminal-command-cli-ports.js +2 -0
- package/dist/src/terminal-command-cli-ports.js.map +1 -0
- package/dist/src/terminal-command-dispatch-preparation.d.ts +81 -0
- package/dist/src/terminal-command-dispatch-preparation.js +209 -0
- package/dist/src/terminal-command-dispatch-preparation.js.map +1 -0
- package/dist/src/terminal-command-dispatch-transport.d.ts +35 -0
- package/dist/src/terminal-command-dispatch-transport.js +859 -0
- package/dist/src/terminal-command-dispatch-transport.js.map +1 -0
- package/dist/src/terminal-command-foreground-proof.d.ts +32 -0
- package/dist/src/terminal-command-foreground-proof.js +72 -0
- package/dist/src/terminal-command-foreground-proof.js.map +1 -0
- package/dist/src/terminal-command-send-preflight.d.ts +41 -0
- package/dist/src/terminal-command-send-preflight.js +86 -0
- package/dist/src/terminal-command-send-preflight.js.map +1 -0
- package/dist/src/terminal-composer-classifier.d.ts +55 -0
- package/dist/src/terminal-composer-classifier.js +638 -0
- package/dist/src/terminal-composer-classifier.js.map +1 -0
- package/dist/src/terminal-control-ref.d.ts +23 -0
- package/dist/src/terminal-control-ref.js +32 -0
- package/dist/src/terminal-control-ref.js.map +1 -1
- package/dist/src/terminal-dispatch-recovery-authority.d.ts +56 -0
- package/dist/src/terminal-dispatch-recovery-authority.js +251 -0
- package/dist/src/terminal-dispatch-recovery-authority.js.map +1 -0
- package/dist/src/terminal-dispatch-recovery-cli-adapter.d.ts +1 -9
- package/dist/src/terminal-dispatch-recovery-cli-adapter.js +5 -240
- package/dist/src/terminal-dispatch-recovery-cli-adapter.js.map +1 -1
- package/dist/src/terminal-handoff-cli-adapter.d.ts +1 -11
- package/dist/src/terminal-handoff-cli-adapter.js +2 -39
- package/dist/src/terminal-handoff-cli-adapter.js.map +1 -1
- package/dist/src/terminal-human-explicit-send-cli-adapter.d.ts +25 -0
- package/dist/src/terminal-human-explicit-send-cli-adapter.js +903 -0
- package/dist/src/terminal-human-explicit-send-cli-adapter.js.map +1 -0
- package/dist/src/terminal-identity-authority-cli-adapter.d.ts +1 -6
- package/dist/src/terminal-identity-authority-cli-adapter.js +3 -33
- package/dist/src/terminal-identity-authority-cli-adapter.js.map +1 -1
- package/dist/src/terminal-interaction-cli-adapter.js +209 -210
- package/dist/src/terminal-interaction-cli-adapter.js.map +1 -1
- package/dist/src/terminal-interaction-core.d.ts +0 -2
- package/dist/src/terminal-interaction-core.js +4 -3
- package/dist/src/terminal-interaction-core.js.map +1 -1
- package/dist/src/terminal-interaction-protocol.d.ts +21 -0
- package/dist/src/terminal-interaction-protocol.js +74 -0
- package/dist/src/terminal-interaction-protocol.js.map +1 -1
- package/dist/src/terminal-interaction-response-bridge.d.ts +126 -0
- package/dist/src/terminal-interaction-response-bridge.js +579 -0
- package/dist/src/terminal-interaction-response-bridge.js.map +1 -0
- package/dist/src/terminal-interaction-response-transaction.d.ts +44 -0
- package/dist/src/terminal-interaction-response-transaction.js +56 -0
- package/dist/src/terminal-interaction-response-transaction.js.map +1 -0
- package/dist/src/terminal-list-action-policy.d.ts +43 -0
- package/dist/src/terminal-list-action-policy.js +164 -0
- package/dist/src/terminal-list-action-policy.js.map +1 -0
- package/dist/src/terminal-list-cli-adapter.d.ts +6 -36
- package/dist/src/terminal-list-cli-adapter.js +314 -1711
- package/dist/src/terminal-list-cli-adapter.js.map +1 -1
- package/dist/src/terminal-list-facts.d.ts +129 -0
- package/dist/src/terminal-list-facts.js +179 -0
- package/dist/src/terminal-list-facts.js.map +1 -0
- package/dist/src/terminal-list-inventory.d.ts +59 -0
- package/dist/src/terminal-list-inventory.js +194 -0
- package/dist/src/terminal-list-inventory.js.map +1 -0
- package/dist/src/terminal-list-ownership-service.d.ts +118 -0
- package/dist/src/terminal-list-ownership-service.js +1003 -0
- package/dist/src/terminal-list-ownership-service.js.map +1 -0
- package/dist/src/terminal-list-projection-service.d.ts +49 -0
- package/dist/src/terminal-list-projection-service.js +407 -0
- package/dist/src/terminal-list-projection-service.js.map +1 -0
- package/dist/src/terminal-list-renderer.d.ts +12 -11
- package/dist/src/terminal-list-renderer.js +237 -104
- package/dist/src/terminal-list-renderer.js.map +1 -1
- package/dist/src/terminal-managed-send-cli-adapter.d.ts +33 -0
- package/dist/src/terminal-managed-send-cli-adapter.js +994 -0
- package/dist/src/terminal-managed-send-cli-adapter.js.map +1 -0
- package/dist/src/terminal-managed-turn-list-action-policy.d.ts +47 -0
- package/dist/src/terminal-managed-turn-list-action-policy.js +64 -0
- package/dist/src/terminal-managed-turn-list-action-policy.js.map +1 -0
- package/dist/src/terminal-model-control-action-policy.d.ts +60 -0
- package/dist/src/terminal-model-control-action-policy.js +96 -0
- package/dist/src/terminal-model-control-action-policy.js.map +1 -0
- package/dist/src/terminal-model-control-availability.d.ts +68 -0
- package/dist/src/terminal-model-control-availability.js +157 -0
- package/dist/src/terminal-model-control-availability.js.map +1 -0
- package/dist/src/terminal-model-control-bridge.d.ts +48 -0
- package/dist/src/terminal-model-control-bridge.js +259 -0
- package/dist/src/terminal-model-control-bridge.js.map +1 -0
- package/dist/src/terminal-model-control-profile.d.ts +55 -0
- package/dist/src/terminal-model-control-profile.js +137 -0
- package/dist/src/terminal-model-control-profile.js.map +1 -0
- package/dist/src/terminal-model-control-subject.d.ts +34 -0
- package/dist/src/terminal-model-control-subject.js +58 -0
- package/dist/src/terminal-model-control-subject.js.map +1 -0
- package/dist/src/terminal-model-control-transaction.d.ts +19 -0
- package/dist/src/terminal-model-control-transaction.js +39 -0
- package/dist/src/terminal-model-control-transaction.js.map +1 -0
- package/dist/src/terminal-model-control.d.ts +331 -0
- package/dist/src/terminal-model-control.js +1686 -0
- package/dist/src/terminal-model-control.js.map +1 -0
- package/dist/src/terminal-monitor-application-service.js +50 -17
- package/dist/src/terminal-monitor-application-service.js.map +1 -1
- package/dist/src/terminal-native-inspection-bridge.d.ts +211 -0
- package/dist/src/terminal-native-inspection-bridge.js +1127 -0
- package/dist/src/terminal-native-inspection-bridge.js.map +1 -0
- package/dist/src/terminal-runtime-cli-adapter.d.ts +2 -0
- package/dist/src/terminal-runtime-cli-adapter.js +59 -17
- package/dist/src/terminal-runtime-cli-adapter.js.map +1 -1
- package/dist/src/terminal-submission-retry-application.d.ts +24 -0
- package/dist/src/terminal-submission-retry-application.js +402 -0
- package/dist/src/terminal-submission-retry-application.js.map +1 -0
- package/dist/src/terminal-submission-retry-ports.d.ts +30 -0
- package/dist/src/terminal-submission-retry-ports.js +2 -0
- package/dist/src/terminal-submission-retry-ports.js.map +1 -0
- package/dist/src/terminal-submission-retry-reconciliation.d.ts +236 -0
- package/dist/src/terminal-submission-retry-reconciliation.js +1130 -0
- package/dist/src/terminal-submission-retry-reconciliation.js.map +1 -0
- package/dist/src/terminal-submission-retry-transport.d.ts +58 -0
- package/dist/src/terminal-submission-retry-transport.js +675 -0
- package/dist/src/terminal-submission-retry-transport.js.map +1 -0
- package/dist/src/terminal-text-submission-bridge.d.ts +200 -0
- package/dist/src/terminal-text-submission-bridge.js +632 -0
- package/dist/src/terminal-text-submission-bridge.js.map +1 -0
- package/dist/src/terminal-user-explicit-send-policy.d.ts +29 -0
- package/dist/src/terminal-user-explicit-send-policy.js +46 -0
- package/dist/src/terminal-user-explicit-send-policy.js.map +1 -0
- package/dist/src/terminal-watch-cli-adapter.js +91 -143
- package/dist/src/terminal-watch-cli-adapter.js.map +1 -1
- package/dist/src/terminal-watch-codec.d.ts +9 -0
- package/dist/src/terminal-watch-codec.js +1051 -0
- package/dist/src/terminal-watch-codec.js.map +1 -0
- package/dist/src/terminal-watch-interaction-response-store.d.ts +19 -0
- package/dist/src/terminal-watch-interaction-response-store.js +87 -0
- package/dist/src/terminal-watch-interaction-response-store.js.map +1 -0
- package/dist/src/terminal-watch-record.d.ts +319 -0
- package/dist/src/terminal-watch-record.js +742 -0
- package/dist/src/terminal-watch-record.js.map +1 -0
- package/dist/src/terminal-watch-service.js +48 -27
- package/dist/src/terminal-watch-service.js.map +1 -1
- package/dist/src/terminal-watch-store.d.ts +3 -279
- package/dist/src/terminal-watch-store.js +5 -1779
- package/dist/src/terminal-watch-store.js.map +1 -1
- package/docs/quickstart-herdr.md +1 -1
- package/docs/quickstart-tmux.md +27 -2
- package/openclaw.plugin.json +13 -1
- package/package.json +7 -2
- package/templates/openclaw-skills/agent-knock-knock/SKILL.md +54 -11
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-managed-send-cli-adapter.js","sourceRoot":"","sources":["../../src/terminal-managed-send-cli-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export interface ManagedTurnListRuntimeActionFacts {
|
|
2
|
+
readonly terminalBridgeReady: boolean;
|
|
3
|
+
readonly managedApprovalPending: boolean;
|
|
4
|
+
readonly renewEligible: boolean;
|
|
5
|
+
readonly retryCallbackEligible: boolean;
|
|
6
|
+
readonly retrySubmissionCandidate: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface ManagedTurnListActionFacts extends ManagedTurnListRuntimeActionFacts {
|
|
9
|
+
readonly status: unknown;
|
|
10
|
+
readonly agent: unknown;
|
|
11
|
+
readonly terminalBridgeAdvertised: boolean;
|
|
12
|
+
readonly approvalState?: Readonly<Record<string, unknown>>;
|
|
13
|
+
readonly orphanedTerminalDispatch?: Readonly<Record<string, unknown>>;
|
|
14
|
+
}
|
|
15
|
+
export interface ManagedTurnApprovalChoiceDecision {
|
|
16
|
+
readonly decision: "approve_once" | "reject";
|
|
17
|
+
readonly label?: string;
|
|
18
|
+
}
|
|
19
|
+
export type ManagedTurnApprovalActionDecision = {
|
|
20
|
+
readonly available: false;
|
|
21
|
+
} | {
|
|
22
|
+
readonly available: true;
|
|
23
|
+
readonly choices: readonly ManagedTurnApprovalChoiceDecision[];
|
|
24
|
+
};
|
|
25
|
+
export type ManagedTurnCloseActionDecision = {
|
|
26
|
+
readonly available: false;
|
|
27
|
+
} | {
|
|
28
|
+
readonly available: true;
|
|
29
|
+
readonly expectedMessageId?: string;
|
|
30
|
+
readonly expectedTransitionId?: string;
|
|
31
|
+
};
|
|
32
|
+
export interface ManagedTurnListActionDecision {
|
|
33
|
+
readonly status: true;
|
|
34
|
+
readonly respond: boolean;
|
|
35
|
+
readonly approval: ManagedTurnApprovalActionDecision;
|
|
36
|
+
readonly cancel: boolean;
|
|
37
|
+
readonly renew: boolean;
|
|
38
|
+
readonly retryCallback: boolean;
|
|
39
|
+
readonly retrySubmission: boolean;
|
|
40
|
+
readonly close: ManagedTurnCloseActionDecision;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Decide managed-Turn action availability from an already-sampled projection.
|
|
44
|
+
* This policy performs no Store/terminal reads, mints no authority, and emits no
|
|
45
|
+
* public JSON. Mutation execution continues to revalidate fresh authority.
|
|
46
|
+
*/
|
|
47
|
+
export declare function decideManagedTurnListActions(facts: ManagedTurnListActionFacts): ManagedTurnListActionDecision;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { isActiveConversationStatus } from "./protocol.js";
|
|
2
|
+
import { isRecord, nonBlankString as stringValue } from "./value-guards.js";
|
|
3
|
+
/**
|
|
4
|
+
* Decide managed-Turn action availability from an already-sampled projection.
|
|
5
|
+
* This policy performs no Store/terminal reads, mints no authority, and emits no
|
|
6
|
+
* public JSON. Mutation execution continues to revalidate fresh authority.
|
|
7
|
+
*/
|
|
8
|
+
export function decideManagedTurnListActions(facts) {
|
|
9
|
+
const approvalState = facts.approvalState ?? {};
|
|
10
|
+
const waitingForOpenClaw = facts.status === "waiting_for_openclaw";
|
|
11
|
+
const approvalEligible = facts.terminalBridgeAdvertised &&
|
|
12
|
+
isActiveConversationStatus(facts.status) &&
|
|
13
|
+
facts.terminalBridgeReady &&
|
|
14
|
+
waitingForOpenClaw &&
|
|
15
|
+
(facts.agent !== "claude" ||
|
|
16
|
+
approvalState.decision_mode === "keys") &&
|
|
17
|
+
approvalState.approvable === true &&
|
|
18
|
+
stringValue(approvalState.fingerprint) !== undefined;
|
|
19
|
+
const closeAvailable = facts.status !== "closed";
|
|
20
|
+
const orphanedDispatch = facts.orphanedTerminalDispatch;
|
|
21
|
+
return Object.freeze({
|
|
22
|
+
status: true,
|
|
23
|
+
respond: waitingForOpenClaw &&
|
|
24
|
+
facts.terminalBridgeReady &&
|
|
25
|
+
!facts.managedApprovalPending &&
|
|
26
|
+
approvalState.blocked !== true,
|
|
27
|
+
approval: approvalEligible
|
|
28
|
+
? Object.freeze({
|
|
29
|
+
available: true,
|
|
30
|
+
choices: managedApprovalChoices(approvalState)
|
|
31
|
+
})
|
|
32
|
+
: Object.freeze({ available: false }),
|
|
33
|
+
cancel: facts.terminalBridgeReady &&
|
|
34
|
+
["waiting_for_agent", "waiting_for_openclaw"].includes(String(facts.status)) &&
|
|
35
|
+
!(facts.managedApprovalPending &&
|
|
36
|
+
approvalState.approvable !== true),
|
|
37
|
+
renew: facts.renewEligible,
|
|
38
|
+
retryCallback: facts.retryCallbackEligible,
|
|
39
|
+
retrySubmission: facts.agent === "codex" && facts.retrySubmissionCandidate,
|
|
40
|
+
close: closeAvailable
|
|
41
|
+
? Object.freeze({
|
|
42
|
+
available: true,
|
|
43
|
+
expectedMessageId: stringValue(orphanedDispatch?.message_id),
|
|
44
|
+
expectedTransitionId: stringValue(orphanedDispatch?.transition_id)
|
|
45
|
+
})
|
|
46
|
+
: Object.freeze({ available: false })
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
function managedApprovalChoices(approvalState) {
|
|
50
|
+
if (!Array.isArray(approvalState.choices)) {
|
|
51
|
+
return Object.freeze([Object.freeze({
|
|
52
|
+
decision: "approve_once",
|
|
53
|
+
label: stringValue(approvalState.label)
|
|
54
|
+
})]);
|
|
55
|
+
}
|
|
56
|
+
return Object.freeze(approvalState.choices.flatMap((choice) => isRecord(choice) &&
|
|
57
|
+
(choice.decision === "approve_once" || choice.decision === "reject")
|
|
58
|
+
? [Object.freeze({
|
|
59
|
+
decision: choice.decision,
|
|
60
|
+
label: stringValue(choice.label)
|
|
61
|
+
})]
|
|
62
|
+
: []));
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=terminal-managed-turn-list-action-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-managed-turn-list-action-policy.js","sourceRoot":"","sources":["../../src/terminal-managed-turn-list-action-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import type { ExecutorKind } from "./executors.js";
|
|
2
|
+
import { type TerminalModelControlBehaviorProfile } from "./terminal-model-control-profile.js";
|
|
3
|
+
import type { TerminalControlRef } from "./terminal-control-ref.js";
|
|
4
|
+
import type { TerminalModelControlResidualKind } from "./terminal-model-control.js";
|
|
5
|
+
export interface ModelControlActionPolicyFacts {
|
|
6
|
+
readonly exactTerminalRow: boolean;
|
|
7
|
+
readonly terminalId?: string;
|
|
8
|
+
readonly processState?: string;
|
|
9
|
+
readonly terminalControl?: TerminalControlRef;
|
|
10
|
+
readonly agent?: ExecutorKind;
|
|
11
|
+
readonly pid?: number;
|
|
12
|
+
readonly processUuid?: string;
|
|
13
|
+
readonly processBirth?: string;
|
|
14
|
+
readonly agentVersion?: string;
|
|
15
|
+
readonly behaviorProfile?: TerminalModelControlBehaviorProfile;
|
|
16
|
+
readonly nativeAuthority: {
|
|
17
|
+
readonly kind: "exact_session";
|
|
18
|
+
} | {
|
|
19
|
+
readonly kind: "verified_zero_rollout";
|
|
20
|
+
} | {
|
|
21
|
+
readonly kind: "unavailable";
|
|
22
|
+
};
|
|
23
|
+
readonly modelControlSupported: boolean;
|
|
24
|
+
readonly approvalScanned: boolean;
|
|
25
|
+
readonly approvalBlocked: boolean;
|
|
26
|
+
readonly terminalHasInteraction: boolean;
|
|
27
|
+
readonly terminalHasBlockingTurn: boolean;
|
|
28
|
+
readonly hasOrphanedDispatch: boolean;
|
|
29
|
+
readonly surface: {
|
|
30
|
+
readonly kind: "idle_empty";
|
|
31
|
+
readonly screenState?: string;
|
|
32
|
+
} | {
|
|
33
|
+
readonly kind: "residual";
|
|
34
|
+
readonly residualKind: TerminalModelControlResidualKind;
|
|
35
|
+
readonly residualFingerprint: string;
|
|
36
|
+
readonly activityState?: string;
|
|
37
|
+
} | {
|
|
38
|
+
readonly kind: "unavailable";
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
export type ModelControlActionPolicyDecision = {
|
|
42
|
+
readonly availability: "unavailable";
|
|
43
|
+
readonly reason: "invalid_subject" | "transport_unavailable" | "unsupported_profile" | "blocked" | "native_identity_unavailable" | "surface_unavailable";
|
|
44
|
+
} | {
|
|
45
|
+
readonly availability: "open_from_empty";
|
|
46
|
+
readonly authority: "native_session" | "zero_rollout_physical";
|
|
47
|
+
readonly terminalId: string;
|
|
48
|
+
} | {
|
|
49
|
+
readonly availability: "residual_continuation";
|
|
50
|
+
readonly terminalId: string;
|
|
51
|
+
} | {
|
|
52
|
+
readonly availability: "repair_only";
|
|
53
|
+
readonly terminalId: string;
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Decide model-control semantics without minting private authority. Execution
|
|
57
|
+
* and List projection both re-observe the same safety facts; a separate
|
|
58
|
+
* materializer binds an allowed decision to the current physical subject.
|
|
59
|
+
*/
|
|
60
|
+
export declare function decideModelControlActionPolicy(facts: ModelControlActionPolicyFacts): ModelControlActionPolicyDecision;
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { terminalModelControlProfileFor } from "./terminal-model-control-profile.js";
|
|
2
|
+
import { canonicalModelControlSubject } from "./terminal-model-control-subject.js";
|
|
3
|
+
/**
|
|
4
|
+
* Decide model-control semantics without minting private authority. Execution
|
|
5
|
+
* and List projection both re-observe the same safety facts; a separate
|
|
6
|
+
* materializer binds an allowed decision to the current physical subject.
|
|
7
|
+
*/
|
|
8
|
+
export function decideModelControlActionPolicy(facts) {
|
|
9
|
+
const subject = canonicalModelControlSubject({
|
|
10
|
+
terminalId: facts.terminalId,
|
|
11
|
+
terminalControl: facts.terminalControl,
|
|
12
|
+
agent: facts.agent,
|
|
13
|
+
pid: facts.pid,
|
|
14
|
+
workspace: facts.terminalControl?.currentPath,
|
|
15
|
+
processUuid: facts.processUuid,
|
|
16
|
+
processBirth: facts.processBirth,
|
|
17
|
+
agentVersion: facts.agentVersion,
|
|
18
|
+
behaviorProfile: facts.behaviorProfile
|
|
19
|
+
});
|
|
20
|
+
const profile = subject
|
|
21
|
+
? terminalModelControlProfileFor(subject.agent, subject.agentVersion)
|
|
22
|
+
: undefined;
|
|
23
|
+
if (!facts.exactTerminalRow ||
|
|
24
|
+
facts.processState !== "active" ||
|
|
25
|
+
!subject ||
|
|
26
|
+
!profile) {
|
|
27
|
+
return { availability: "unavailable", reason: "invalid_subject" };
|
|
28
|
+
}
|
|
29
|
+
const safetyReason = modelControlSafetyReason(facts, subject.terminalControl);
|
|
30
|
+
if (safetyReason)
|
|
31
|
+
return { availability: "unavailable", reason: safetyReason };
|
|
32
|
+
const exactIdentity = facts.nativeAuthority.kind === "exact_session";
|
|
33
|
+
const zeroRollout = facts.nativeAuthority.kind ===
|
|
34
|
+
"verified_zero_rollout" &&
|
|
35
|
+
subject.agent === "codex" &&
|
|
36
|
+
profile.supportsZeroRolloutPhysicalAuthority;
|
|
37
|
+
if (!exactIdentity && !zeroRollout) {
|
|
38
|
+
return {
|
|
39
|
+
availability: "unavailable",
|
|
40
|
+
reason: "native_identity_unavailable"
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
if (facts.surface.kind === "residual") {
|
|
44
|
+
return decideResidualModelControlAction(facts, facts.surface, subject.terminalId, profile);
|
|
45
|
+
}
|
|
46
|
+
if (facts.surface.kind !== "idle_empty" ||
|
|
47
|
+
facts.surface.screenState !== "idle") {
|
|
48
|
+
return { availability: "unavailable", reason: "surface_unavailable" };
|
|
49
|
+
}
|
|
50
|
+
return {
|
|
51
|
+
availability: "open_from_empty",
|
|
52
|
+
authority: exactIdentity ? "native_session" : "zero_rollout_physical",
|
|
53
|
+
terminalId: subject.terminalId
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
function modelControlSafetyReason(facts, control) {
|
|
57
|
+
if (!control.capabilities.includes("send_keys") ||
|
|
58
|
+
!control.capabilities.includes("screen_status")) {
|
|
59
|
+
return "transport_unavailable";
|
|
60
|
+
}
|
|
61
|
+
if (!facts.modelControlSupported)
|
|
62
|
+
return "unsupported_profile";
|
|
63
|
+
return !facts.approvalScanned ||
|
|
64
|
+
facts.approvalBlocked ||
|
|
65
|
+
facts.terminalHasInteraction ||
|
|
66
|
+
facts.terminalHasBlockingTurn ||
|
|
67
|
+
facts.hasOrphanedDispatch
|
|
68
|
+
? "blocked"
|
|
69
|
+
: undefined;
|
|
70
|
+
}
|
|
71
|
+
function decideResidualModelControlAction(facts, surface, terminalId, profile) {
|
|
72
|
+
const { residualKind } = surface;
|
|
73
|
+
const fingerprint = nonBlank(surface.residualFingerprint);
|
|
74
|
+
if (facts.agent !== "codex" ||
|
|
75
|
+
!profile.supportsResidualRepair ||
|
|
76
|
+
(residualKind !== "model_surface" &&
|
|
77
|
+
(surface.activityState === "working" ||
|
|
78
|
+
surface.activityState === "awaiting_approval")) ||
|
|
79
|
+
!fingerprint ||
|
|
80
|
+
(residualKind !== "profiled_command_popup" &&
|
|
81
|
+
residualKind !== "bare_command" &&
|
|
82
|
+
residualKind !== "model_surface")) {
|
|
83
|
+
return { availability: "unavailable", reason: "surface_unavailable" };
|
|
84
|
+
}
|
|
85
|
+
return profile.supportsResidualContinuation &&
|
|
86
|
+
(residualKind === "profiled_command_popup" ||
|
|
87
|
+
residualKind === "bare_command")
|
|
88
|
+
? { availability: "residual_continuation", terminalId }
|
|
89
|
+
: { availability: "repair_only", terminalId };
|
|
90
|
+
}
|
|
91
|
+
function nonBlank(value) {
|
|
92
|
+
return typeof value === "string" && value.trim().length > 0
|
|
93
|
+
? value.trim()
|
|
94
|
+
: undefined;
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=terminal-model-control-action-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-model-control-action-policy.js","sourceRoot":"","sources":["../../src/terminal-model-control-action-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { ExecutorKind } from "./executors.js";
|
|
2
|
+
import { type TerminalModelControlResidualKind } from "./terminal-model-control.js";
|
|
3
|
+
import { type TerminalModelControlBehaviorProfile } from "./terminal-model-control-profile.js";
|
|
4
|
+
import { type ModelControlActionPolicyDecision } from "./terminal-model-control-action-policy.js";
|
|
5
|
+
import type { TerminalControlRef } from "./terminal-control-ref.js";
|
|
6
|
+
export interface ModelControlSafetyFacts {
|
|
7
|
+
readonly exactTerminalRow: boolean;
|
|
8
|
+
readonly terminalId?: string;
|
|
9
|
+
readonly processState?: string;
|
|
10
|
+
readonly terminalControl?: TerminalControlRef;
|
|
11
|
+
readonly agent?: ExecutorKind;
|
|
12
|
+
readonly pid?: number;
|
|
13
|
+
readonly processUuid?: string;
|
|
14
|
+
readonly processBirth?: string;
|
|
15
|
+
readonly agentVersion?: string;
|
|
16
|
+
readonly behaviorProfile?: TerminalModelControlBehaviorProfile;
|
|
17
|
+
readonly nativeAuthority: {
|
|
18
|
+
readonly kind: "exact_session";
|
|
19
|
+
readonly ordinaryBindingToken: string;
|
|
20
|
+
} | {
|
|
21
|
+
readonly kind: "verified_zero_rollout";
|
|
22
|
+
} | {
|
|
23
|
+
readonly kind: "unavailable";
|
|
24
|
+
};
|
|
25
|
+
readonly modelControlSupported: boolean;
|
|
26
|
+
readonly approvalScanned: boolean;
|
|
27
|
+
readonly approvalBlocked: boolean;
|
|
28
|
+
readonly terminalHasInteraction: boolean;
|
|
29
|
+
readonly terminalHasBlockingTurn: boolean;
|
|
30
|
+
readonly hasOrphanedDispatch: boolean;
|
|
31
|
+
readonly surface: {
|
|
32
|
+
readonly kind: "idle_empty";
|
|
33
|
+
readonly screenState?: string;
|
|
34
|
+
} | {
|
|
35
|
+
readonly kind: "residual";
|
|
36
|
+
readonly residualKind: TerminalModelControlResidualKind;
|
|
37
|
+
readonly residualFingerprint: string;
|
|
38
|
+
readonly activityState?: string;
|
|
39
|
+
} | {
|
|
40
|
+
readonly kind: "unavailable";
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
export type ModelControlAvailabilityDecision = {
|
|
44
|
+
readonly availability: "unavailable";
|
|
45
|
+
readonly reason: "invalid_subject" | "transport_unavailable" | "unsupported_profile" | "blocked" | "native_identity_unavailable" | "surface_unavailable";
|
|
46
|
+
} | {
|
|
47
|
+
readonly availability: "open_from_empty";
|
|
48
|
+
readonly authority: "native_session" | "zero_rollout_physical";
|
|
49
|
+
readonly terminalId: string;
|
|
50
|
+
readonly expectedBindingToken: string;
|
|
51
|
+
} | {
|
|
52
|
+
readonly availability: "residual_continuation";
|
|
53
|
+
readonly terminalId: string;
|
|
54
|
+
readonly expectedBindingToken: string;
|
|
55
|
+
readonly repairBindingToken: string;
|
|
56
|
+
} | {
|
|
57
|
+
readonly availability: "repair_only";
|
|
58
|
+
readonly terminalId: string;
|
|
59
|
+
readonly expectedBindingToken: string;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* The single model-control availability policy shared by read-only projection
|
|
63
|
+
* and mutation preparation. It grants no durable authority: execution must
|
|
64
|
+
* independently sample these facts again while holding the terminal lock.
|
|
65
|
+
*/
|
|
66
|
+
export declare function decideModelControlAvailability(facts: ModelControlSafetyFacts): ModelControlAvailabilityDecision;
|
|
67
|
+
/** Bind one already-decided semantic action to its current private authority. */
|
|
68
|
+
export declare function materializeModelControlAvailability(facts: ModelControlSafetyFacts, policy: ModelControlActionPolicyDecision): ModelControlAvailabilityDecision;
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { terminalUserExplicitModelControlBindingToken, terminalUserExplicitModelControlResidualEntryBindingToken, terminalUserExplicitModelControlRepairBindingToken } from "./terminal-model-control.js";
|
|
2
|
+
import { terminalModelControlProfileFor } from "./terminal-model-control-profile.js";
|
|
3
|
+
import { decideModelControlActionPolicy } from "./terminal-model-control-action-policy.js";
|
|
4
|
+
import { canonicalModelControlSubject } from "./terminal-model-control-subject.js";
|
|
5
|
+
/**
|
|
6
|
+
* The single model-control availability policy shared by read-only projection
|
|
7
|
+
* and mutation preparation. It grants no durable authority: execution must
|
|
8
|
+
* independently sample these facts again while holding the terminal lock.
|
|
9
|
+
*/
|
|
10
|
+
export function decideModelControlAvailability(facts) {
|
|
11
|
+
const policy = decideModelControlActionPolicy(policyFacts(facts));
|
|
12
|
+
return materializeModelControlAvailability(facts, policy);
|
|
13
|
+
}
|
|
14
|
+
/** Bind one already-decided semantic action to its current private authority. */
|
|
15
|
+
export function materializeModelControlAvailability(facts, policy) {
|
|
16
|
+
if (policy.availability === "unavailable")
|
|
17
|
+
return policy;
|
|
18
|
+
const currentPolicy = decideModelControlActionPolicy(policyFacts(facts));
|
|
19
|
+
if (!samePolicyDecision(currentPolicy, policy)) {
|
|
20
|
+
return currentPolicy.availability === "unavailable"
|
|
21
|
+
? currentPolicy
|
|
22
|
+
: { availability: "unavailable", reason: "surface_unavailable" };
|
|
23
|
+
}
|
|
24
|
+
const subject = canonicalModelControlSubject({
|
|
25
|
+
terminalId: facts.terminalId,
|
|
26
|
+
terminalControl: facts.terminalControl,
|
|
27
|
+
agent: facts.agent,
|
|
28
|
+
pid: facts.pid,
|
|
29
|
+
workspace: facts.terminalControl?.currentPath,
|
|
30
|
+
processUuid: facts.processUuid,
|
|
31
|
+
processBirth: facts.processBirth,
|
|
32
|
+
agentVersion: facts.agentVersion,
|
|
33
|
+
behaviorProfile: facts.behaviorProfile
|
|
34
|
+
});
|
|
35
|
+
const profile = subject
|
|
36
|
+
? terminalModelControlProfileFor(subject.agent, subject.agentVersion)
|
|
37
|
+
: undefined;
|
|
38
|
+
if (!subject || !profile || subject.terminalId !== policy.terminalId) {
|
|
39
|
+
return { availability: "unavailable", reason: "invalid_subject" };
|
|
40
|
+
}
|
|
41
|
+
if (policy.availability === "open_from_empty") {
|
|
42
|
+
return materializeOpenFromEmpty(facts, policy, subject);
|
|
43
|
+
}
|
|
44
|
+
return materializeResidualAvailability(facts, policy, subject);
|
|
45
|
+
}
|
|
46
|
+
function materializeOpenFromEmpty(facts, policy, subject) {
|
|
47
|
+
const ordinaryBindingToken = facts.nativeAuthority.kind === "exact_session"
|
|
48
|
+
? nonBlank(facts.nativeAuthority.ordinaryBindingToken)
|
|
49
|
+
: undefined;
|
|
50
|
+
if (policy.authority === "native_session") {
|
|
51
|
+
return ordinaryBindingToken
|
|
52
|
+
? {
|
|
53
|
+
availability: "open_from_empty",
|
|
54
|
+
authority: "native_session",
|
|
55
|
+
terminalId: subject.terminalId,
|
|
56
|
+
expectedBindingToken: ordinaryBindingToken
|
|
57
|
+
}
|
|
58
|
+
: {
|
|
59
|
+
availability: "unavailable",
|
|
60
|
+
reason: "native_identity_unavailable"
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
return {
|
|
64
|
+
availability: "open_from_empty",
|
|
65
|
+
authority: "zero_rollout_physical",
|
|
66
|
+
terminalId: subject.terminalId,
|
|
67
|
+
expectedBindingToken: terminalUserExplicitModelControlBindingToken({
|
|
68
|
+
terminalId: subject.terminalId,
|
|
69
|
+
terminalControl: subject.terminalControl,
|
|
70
|
+
pid: subject.pid,
|
|
71
|
+
workspace: subject.workspace,
|
|
72
|
+
processUuid: subject.processUuid,
|
|
73
|
+
processBirth: subject.processBirth,
|
|
74
|
+
agentVersion: subject.agentVersion,
|
|
75
|
+
behaviorProfile: subject.behaviorProfile
|
|
76
|
+
})
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
function materializeResidualAvailability(facts, policy, subject) {
|
|
80
|
+
if (facts.surface.kind !== "residual") {
|
|
81
|
+
return {
|
|
82
|
+
availability: "unavailable",
|
|
83
|
+
reason: "surface_unavailable"
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
const residualFingerprint = nonBlank(facts.surface.residualFingerprint);
|
|
87
|
+
if (!residualFingerprint) {
|
|
88
|
+
return { availability: "unavailable", reason: "surface_unavailable" };
|
|
89
|
+
}
|
|
90
|
+
const residualKind = facts.surface.residualKind;
|
|
91
|
+
const repairBindingToken = terminalUserExplicitModelControlRepairBindingToken({
|
|
92
|
+
terminalId: subject.terminalId,
|
|
93
|
+
terminalControl: subject.terminalControl,
|
|
94
|
+
pid: subject.pid,
|
|
95
|
+
workspace: subject.workspace,
|
|
96
|
+
processUuid: subject.processUuid,
|
|
97
|
+
processBirth: subject.processBirth,
|
|
98
|
+
agentVersion: subject.agentVersion,
|
|
99
|
+
behaviorProfile: subject.behaviorProfile,
|
|
100
|
+
residualKind,
|
|
101
|
+
residualFingerprint
|
|
102
|
+
});
|
|
103
|
+
if (policy.availability === "residual_continuation") {
|
|
104
|
+
return {
|
|
105
|
+
availability: "residual_continuation",
|
|
106
|
+
terminalId: subject.terminalId,
|
|
107
|
+
expectedBindingToken: terminalUserExplicitModelControlResidualEntryBindingToken({
|
|
108
|
+
terminalId: subject.terminalId,
|
|
109
|
+
terminalControl: subject.terminalControl,
|
|
110
|
+
pid: subject.pid,
|
|
111
|
+
workspace: subject.workspace,
|
|
112
|
+
processUuid: subject.processUuid,
|
|
113
|
+
processBirth: subject.processBirth,
|
|
114
|
+
agentVersion: subject.agentVersion,
|
|
115
|
+
behaviorProfile: subject.behaviorProfile,
|
|
116
|
+
residualKind,
|
|
117
|
+
residualFingerprint
|
|
118
|
+
}),
|
|
119
|
+
repairBindingToken
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
return {
|
|
123
|
+
availability: "repair_only",
|
|
124
|
+
terminalId: subject.terminalId,
|
|
125
|
+
expectedBindingToken: repairBindingToken
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
function policyFacts(facts) {
|
|
129
|
+
const ordinaryBindingToken = facts.nativeAuthority.kind === "exact_session"
|
|
130
|
+
? nonBlank(facts.nativeAuthority.ordinaryBindingToken)
|
|
131
|
+
: undefined;
|
|
132
|
+
return {
|
|
133
|
+
...facts,
|
|
134
|
+
nativeAuthority: facts.nativeAuthority.kind === "exact_session" &&
|
|
135
|
+
ordinaryBindingToken
|
|
136
|
+
? { kind: "exact_session" }
|
|
137
|
+
: facts.nativeAuthority.kind === "verified_zero_rollout"
|
|
138
|
+
? { kind: "verified_zero_rollout" }
|
|
139
|
+
: { kind: "unavailable" }
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
function samePolicyDecision(left, right) {
|
|
143
|
+
return left.availability === right.availability &&
|
|
144
|
+
(left.availability === "unavailable"
|
|
145
|
+
? right.availability === "unavailable" && left.reason === right.reason
|
|
146
|
+
: right.availability !== "unavailable" &&
|
|
147
|
+
left.terminalId === right.terminalId &&
|
|
148
|
+
(left.availability !== "open_from_empty" ||
|
|
149
|
+
right.availability === "open_from_empty" &&
|
|
150
|
+
left.authority === right.authority));
|
|
151
|
+
}
|
|
152
|
+
function nonBlank(value) {
|
|
153
|
+
return typeof value === "string" && value.trim().length > 0
|
|
154
|
+
? value.trim()
|
|
155
|
+
: undefined;
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=terminal-model-control-availability.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-model-control-availability.js","sourceRoot":"","sources":["../../src/terminal-model-control-availability.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { ExecutorKind } from "./executors.js";
|
|
2
|
+
import type { TerminalAgentAdapter, TerminalControlRef, TerminalRuntimeIdentity } from "./terminal-agent-adapter.js";
|
|
3
|
+
import { type TerminalModelControlPlan, type TerminalModelControlPorts } from "./terminal-model-control.js";
|
|
4
|
+
type CodexComposerCapture = {
|
|
5
|
+
state: "exact_draft" | "exact_empty" | "different_draft";
|
|
6
|
+
digest: string;
|
|
7
|
+
profiledSlashPopup?: true;
|
|
8
|
+
bareCommand?: true;
|
|
9
|
+
};
|
|
10
|
+
export interface TerminalModelControlBridgeRuntimePorts {
|
|
11
|
+
verifyTerminalIdentity(agent: ExecutorKind, terminalControl: TerminalControlRef, runtime: TerminalRuntimeIdentity | undefined): Promise<TerminalControlRef>;
|
|
12
|
+
captureStyled(terminalControl: TerminalControlRef): Promise<string>;
|
|
13
|
+
sendText(terminalControl: TerminalControlRef, text: string): Promise<void>;
|
|
14
|
+
sendKeys(terminalControl: TerminalControlRef, keys: readonly string[]): Promise<void>;
|
|
15
|
+
sleep(milliseconds: number): Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
export interface TerminalModelControlClassifierPorts {
|
|
18
|
+
stripEscapes(value: string): string;
|
|
19
|
+
sameIdentity(left: TerminalControlRef, right: TerminalControlRef): boolean;
|
|
20
|
+
currentCodexComposer(styledScreen: string, expectedText: string, allowOpaqueLargePastePlaceholder: boolean, classifyOpaqueLargePasteAsDifferent: boolean, exactSlashPopupRows?: readonly string[]): CodexComposerCapture | undefined;
|
|
21
|
+
inspectCodexAsyncQuestionInputMode(styledScreen: string): "absent" | "collapsed" | "expanded" | "ambiguous";
|
|
22
|
+
codexActiveWriterViewerVisible(styledScreen: string): boolean;
|
|
23
|
+
isExactClaudeIdleComposer(screen: string): boolean;
|
|
24
|
+
exactClaudeModelControlComposer(screen: string, plan: TerminalModelControlPlan, expectedText: string): {
|
|
25
|
+
digest: string;
|
|
26
|
+
} | undefined;
|
|
27
|
+
exactTerminalComposer(agent: ExecutorKind, screen: string, expectedText: string): {
|
|
28
|
+
digest: string;
|
|
29
|
+
} | undefined;
|
|
30
|
+
}
|
|
31
|
+
export interface CreateTerminalModelControlPortsInput {
|
|
32
|
+
adapter: TerminalAgentAdapter;
|
|
33
|
+
plan: TerminalModelControlPlan;
|
|
34
|
+
runtime?: TerminalRuntimeIdentity;
|
|
35
|
+
beforeInput: () => void | Promise<void>;
|
|
36
|
+
loadCodexCatalog?: TerminalModelControlPorts["loadCodexCatalog"];
|
|
37
|
+
runtimePorts: TerminalModelControlBridgeRuntimePorts;
|
|
38
|
+
classifiers: TerminalModelControlClassifierPorts;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Bind model-control's semantic transaction to the terminal transport.
|
|
42
|
+
*
|
|
43
|
+
* Every input permit below is deliberately operation-local and one-shot. The
|
|
44
|
+
* factory neither owns terminal locks nor writes Store state: callers retain
|
|
45
|
+
* those boundaries and the domain state machine retains `beforeInput` timing.
|
|
46
|
+
*/
|
|
47
|
+
export declare function createTerminalModelControlPorts(input: CreateTerminalModelControlPortsInput): TerminalModelControlPorts;
|
|
48
|
+
export {};
|