aimux-cli 0.1.16 → 0.1.19
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/README.md +184 -67
- package/bin/aimux-dev +10 -0
- package/dist/agent-events.js +0 -1
- package/dist/agent-output-parser.js +0 -1
- package/dist/agent-prompt-delivery.js +0 -1
- package/dist/agent-tracker.js +0 -1
- package/dist/agent-watcher.js +0 -1
- package/dist/alert-display.d.ts +21 -0
- package/dist/alert-display.js +85 -0
- package/dist/atomic-write.js +0 -1
- package/dist/attachment-store.d.ts +0 -7
- package/dist/attachment-store.js +2 -87
- package/dist/builtin-metadata-watchers.js +4 -5
- package/dist/claude-hooks.d.ts +1 -0
- package/dist/claude-hooks.js +25 -1
- package/dist/config.d.ts +19 -13
- package/dist/config.js +28 -15
- package/dist/connection-targets.d.ts +8 -0
- package/dist/connection-targets.js +27 -0
- package/dist/context/compactor.js +0 -1
- package/dist/context/context-bridge.js +0 -1
- package/dist/context/context-file.js +0 -1
- package/dist/context/history.js +0 -1
- package/dist/credentials.d.ts +12 -0
- package/dist/credentials.js +48 -0
- package/dist/daemon.d.ts +23 -0
- package/dist/daemon.js +391 -67
- package/dist/dashboard/command-spec.js +0 -1
- package/dist/dashboard/feedback.js +0 -1
- package/dist/dashboard/index.d.ts +13 -10
- package/dist/dashboard/index.js +3 -27
- package/dist/dashboard/operation-failures.js +0 -1
- package/dist/dashboard/order.d.ts +22 -0
- package/dist/dashboard/order.js +54 -0
- package/dist/dashboard/pending-actions.d.ts +39 -10
- package/dist/dashboard/pending-actions.js +166 -37
- package/dist/dashboard/quick-jump.d.ts +2 -1
- package/dist/dashboard/quick-jump.js +7 -5
- package/dist/dashboard/runtime-evidence.js +0 -1
- package/dist/dashboard/session-actions.d.ts +4 -4
- package/dist/dashboard/session-actions.js +1 -2
- package/dist/dashboard/session-registry.d.ts +4 -3
- package/dist/dashboard/session-registry.js +16 -51
- package/dist/dashboard/sort.js +0 -1
- package/dist/dashboard/state.d.ts +1 -1
- package/dist/dashboard/state.js +0 -1
- package/dist/dashboard/targets.js +0 -1
- package/dist/dashboard/ui-state-store.d.ts +16 -1
- package/dist/dashboard/ui-state-store.js +73 -3
- package/dist/debug-state.d.ts +97 -0
- package/dist/debug-state.js +540 -0
- package/dist/debug.d.ts +38 -0
- package/dist/debug.js +219 -16
- package/dist/default-plugins/gh-pr-context.d.ts +2 -1
- package/dist/default-plugins/gh-pr-context.js +17 -12
- package/dist/default-plugins/transcript-length.js +15 -3
- package/dist/fast-control.js +37 -20
- package/dist/hotkeys.js +0 -1
- package/dist/http-client.js +31 -3
- package/dist/key-parser.js +0 -1
- package/dist/last-used.js +0 -1
- package/dist/local-ui-server.d.ts +22 -0
- package/dist/local-ui-server.js +185 -0
- package/dist/login-flow.d.ts +7 -0
- package/dist/login-flow.js +119 -0
- package/dist/main.js +821 -152
- package/dist/managed-launch-env.js +14 -1
- package/dist/metadata-server.d.ts +36 -36
- package/dist/metadata-server.js +638 -138
- package/dist/metadata-store.d.ts +4 -1
- package/dist/metadata-store.js +30 -3
- package/dist/multiplexer/agent-io-methods.d.ts +2 -10
- package/dist/multiplexer/agent-io-methods.js +12 -44
- package/dist/multiplexer/archives.js +8 -10
- package/dist/multiplexer/dashboard-actions-methods.js +0 -1
- package/dist/multiplexer/dashboard-control.js +45 -14
- package/dist/multiplexer/dashboard-interaction.d.ts +8 -2
- package/dist/multiplexer/dashboard-interaction.js +187 -29
- package/dist/multiplexer/dashboard-model.d.ts +10 -3
- package/dist/multiplexer/dashboard-model.js +417 -36
- package/dist/multiplexer/dashboard-ops.d.ts +9 -7
- package/dist/multiplexer/dashboard-ops.js +178 -69
- package/dist/multiplexer/dashboard-state-methods.d.ts +2 -1
- package/dist/multiplexer/dashboard-state-methods.js +3 -3
- package/dist/multiplexer/dashboard-tail-methods.d.ts +22 -10
- package/dist/multiplexer/dashboard-tail-methods.js +164 -48
- package/dist/multiplexer/dashboard-view-methods.d.ts +1 -1
- package/dist/multiplexer/dashboard-view-methods.js +23 -9
- package/dist/multiplexer/graveyard-view-model.d.ts +9 -1
- package/dist/multiplexer/graveyard-view-model.js +39 -1
- package/dist/multiplexer/index.d.ts +15 -12
- package/dist/multiplexer/index.js +64 -44
- package/dist/multiplexer/navigation.js +0 -1
- package/dist/multiplexer/notifications.js +107 -25
- package/dist/multiplexer/persistence-methods.d.ts +31 -4
- package/dist/multiplexer/persistence-methods.js +304 -309
- package/dist/multiplexer/runtime-lifecycle-methods.d.ts +8 -10
- package/dist/multiplexer/runtime-lifecycle-methods.js +104 -87
- package/dist/multiplexer/runtime-state.d.ts +8 -10
- package/dist/multiplexer/runtime-state.js +82 -146
- package/dist/multiplexer/runtime-sync.d.ts +2 -10
- package/dist/multiplexer/runtime-sync.js +3 -19
- package/dist/multiplexer/service-state-snapshot.d.ts +2 -4
- package/dist/multiplexer/service-state-snapshot.js +4 -52
- package/dist/multiplexer/services.d.ts +1 -0
- package/dist/multiplexer/services.js +55 -6
- package/dist/multiplexer/session-capture.d.ts +1 -0
- package/dist/multiplexer/session-capture.js +23 -0
- package/dist/multiplexer/session-launch.d.ts +4 -1
- package/dist/multiplexer/session-launch.js +152 -64
- package/dist/multiplexer/session-runtime-core.d.ts +8 -20
- package/dist/multiplexer/session-runtime-core.js +40 -136
- package/dist/multiplexer/subscreens.js +10 -4
- package/dist/multiplexer/tool-picker.js +0 -1
- package/dist/multiplexer/worktree-graveyard.d.ts +0 -1
- package/dist/multiplexer/worktree-graveyard.js +15 -17
- package/dist/multiplexer/worktrees.js +96 -41
- package/dist/notification-context.js +8 -5
- package/dist/notifications.js +163 -102
- package/dist/notify.d.ts +4 -0
- package/dist/notify.js +14 -1
- package/dist/orchestration-actions.js +0 -1
- package/dist/orchestration-routing.js +0 -1
- package/dist/orchestration.js +0 -1
- package/dist/osc-notifications.js +0 -1
- package/dist/paths.d.ts +32 -7
- package/dist/paths.js +82 -59
- package/dist/pending-actions.d.ts +5 -0
- package/dist/pending-actions.js +13 -0
- package/dist/plugin-runtime.js +9 -3
- package/dist/project-events.d.ts +1 -10
- package/dist/project-events.js +0 -11
- package/dist/project-scanner.d.ts +2 -3
- package/dist/project-scanner.js +58 -130
- package/dist/project-service-manifest.d.ts +1 -3
- package/dist/project-service-manifest.js +1 -4
- package/dist/recency.js +0 -1
- package/dist/recorder.js +0 -1
- package/dist/relay-client.d.ts +30 -0
- package/dist/relay-client.js +190 -0
- package/dist/remote-access.d.ts +16 -0
- package/dist/remote-access.js +90 -0
- package/dist/runtime-core/exchange-derived.d.ts +2 -0
- package/dist/runtime-core/exchange-derived.js +153 -0
- package/dist/runtime-core/exchange-import.d.ts +24 -0
- package/dist/runtime-core/exchange-import.js +317 -0
- package/dist/runtime-core/exchange-store.d.ts +157 -0
- package/dist/runtime-core/exchange-store.js +452 -0
- package/dist/runtime-core/topology-services.d.ts +38 -0
- package/dist/runtime-core/topology-services.js +170 -0
- package/dist/runtime-core/topology-sessions.d.ts +52 -0
- package/dist/runtime-core/topology-sessions.js +238 -0
- package/dist/runtime-core/topology-store.d.ts +171 -0
- package/dist/runtime-core/topology-store.js +419 -0
- package/dist/runtime-core/topology-worktrees.d.ts +60 -0
- package/dist/runtime-core/topology-worktrees.js +199 -0
- package/dist/runtime-migration.d.ts +69 -0
- package/dist/runtime-migration.js +398 -0
- package/dist/session-bootstrap.d.ts +8 -6
- package/dist/session-bootstrap.js +51 -159
- package/dist/session-runtime.d.ts +2 -0
- package/dist/session-runtime.js +1 -1
- package/dist/session-semantics.d.ts +12 -4
- package/dist/session-semantics.js +14 -1
- package/dist/shell-args.js +0 -1
- package/dist/shell-hooks.js +32 -11
- package/dist/shell-state.d.ts +2 -0
- package/dist/shell-state.js +26 -2
- package/dist/status-detector.js +0 -1
- package/dist/statusline-model.d.ts +10 -2
- package/dist/statusline-model.js +106 -31
- package/dist/task-workflow.d.ts +6 -9
- package/dist/task-workflow.js +37 -85
- package/dist/tasks.d.ts +6 -33
- package/dist/tasks.js +46 -89
- package/dist/team.d.ts +29 -0
- package/dist/team.js +40 -1
- package/dist/terminal-host.js +0 -1
- package/dist/threads.d.ts +6 -35
- package/dist/threads.js +89 -99
- package/dist/tmux/doctor.js +0 -1
- package/dist/tmux/inbox-popup.js +37 -16
- package/dist/tmux/runtime-manager.d.ts +3 -0
- package/dist/tmux/runtime-manager.js +21 -5
- package/dist/tmux/session-transport.js +0 -1
- package/dist/tmux/statusline-cache.js +0 -1
- package/dist/tmux/statusline.js +49 -10
- package/dist/tmux/switcher.js +0 -1
- package/dist/tmux/window-open.js +1 -3
- package/dist/tool-output-watchers.d.ts +0 -18
- package/dist/tool-output-watchers.js +0 -323
- package/dist/tui/render/box.js +0 -1
- package/dist/tui/render/text.js +0 -1
- package/dist/tui/screens/dashboard-renderers.js +37 -26
- package/dist/tui/screens/overlay-renderers.d.ts +2 -0
- package/dist/tui/screens/overlay-renderers.js +37 -2
- package/dist/tui/screens/subscreen-renderers.js +7 -1
- package/dist/workflow.js +0 -1
- package/dist/worktree.js +17 -1
- package/dist-ui/_expo/static/css/web-30453ede1678c16acb08b97e83e8646d.css +1 -0
- package/dist-ui/_expo/static/js/web/entry-477c745b2adc79367a4380ecf07d9ff6.js +14620 -0
- package/dist-ui/assets/assets/images/icon.a5413dcd2e811c9f2317d01a28118d8a.png +0 -0
- package/dist-ui/assets/node_modules/@react-navigation/elements/lib/module/assets/back-icon-mask.0a328cd9c1afd0afe8e3b1ec5165b1b4.png +0 -0
- package/dist-ui/assets/node_modules/@react-navigation/elements/lib/module/assets/back-icon.35ba0eaec5a4f5ed12ca16fabeae451d.png +0 -0
- package/dist-ui/assets/node_modules/@react-navigation/elements/lib/module/assets/clear-icon.c94f6478e7ae0cdd9f15de1fcb9e5e55.png +0 -0
- package/dist-ui/assets/node_modules/@react-navigation/elements/lib/module/assets/clear-icon.c94f6478e7ae0cdd9f15de1fcb9e5e55@2x.png +0 -0
- package/dist-ui/assets/node_modules/@react-navigation/elements/lib/module/assets/clear-icon.c94f6478e7ae0cdd9f15de1fcb9e5e55@3x.png +0 -0
- package/dist-ui/assets/node_modules/@react-navigation/elements/lib/module/assets/clear-icon.c94f6478e7ae0cdd9f15de1fcb9e5e55@4x.png +0 -0
- package/dist-ui/assets/node_modules/@react-navigation/elements/lib/module/assets/close-icon.808e1b1b9b53114ec2838071a7e6daa7.png +0 -0
- package/dist-ui/assets/node_modules/@react-navigation/elements/lib/module/assets/close-icon.808e1b1b9b53114ec2838071a7e6daa7@2x.png +0 -0
- package/dist-ui/assets/node_modules/@react-navigation/elements/lib/module/assets/close-icon.808e1b1b9b53114ec2838071a7e6daa7@3x.png +0 -0
- package/dist-ui/assets/node_modules/@react-navigation/elements/lib/module/assets/close-icon.808e1b1b9b53114ec2838071a7e6daa7@4x.png +0 -0
- package/dist-ui/assets/node_modules/@react-navigation/elements/lib/module/assets/search-icon.286d67d3f74808a60a78d3ebf1a5fb57.png +0 -0
- package/dist-ui/assets/node_modules/expo-router/assets/arrow_down.017bc6ba3fc25503e5eb5e53826d48a8.png +0 -0
- package/dist-ui/assets/node_modules/expo-router/assets/error.d1ea1496f9057eb392d5bbf3732a61b7.png +0 -0
- package/dist-ui/assets/node_modules/expo-router/assets/file.19eeb73b9593a38f8e9f418337fc7d10.png +0 -0
- package/dist-ui/assets/node_modules/expo-router/assets/forward.d8b800c443b8972542883e0b9de2bdc6.png +0 -0
- package/dist-ui/assets/node_modules/expo-router/assets/pkg.ab19f4cbc543357183a20571f68380a3.png +0 -0
- package/dist-ui/assets/node_modules/expo-router/assets/sitemap.412dd9275b6b48ad28f5e3d81bb1f626.png +0 -0
- package/dist-ui/assets/node_modules/expo-router/assets/unmatched.20e71bdf79e3a97bf55fd9e164041578.png +0 -0
- package/dist-ui/favicon.ico +0 -0
- package/dist-ui/index.html +38 -0
- package/dist-ui/metadata.json +1 -0
- package/package.json +29 -12
- package/dist/agent-events.js.map +0 -1
- package/dist/agent-message-parts.d.ts +0 -17
- package/dist/agent-message-parts.js +0 -31
- package/dist/agent-message-parts.js.map +0 -1
- package/dist/agent-output-parser.js.map +0 -1
- package/dist/agent-prompt-delivery.js.map +0 -1
- package/dist/agent-tracker.js.map +0 -1
- package/dist/agent-watcher.js.map +0 -1
- package/dist/atomic-write.js.map +0 -1
- package/dist/attachment-store.js.map +0 -1
- package/dist/builtin-metadata-watchers.js.map +0 -1
- package/dist/claude-hooks.js.map +0 -1
- package/dist/config.js.map +0 -1
- package/dist/context/compactor.js.map +0 -1
- package/dist/context/context-bridge.js.map +0 -1
- package/dist/context/context-file.js.map +0 -1
- package/dist/context/history.js.map +0 -1
- package/dist/daemon.js.map +0 -1
- package/dist/dashboard/command-spec.js.map +0 -1
- package/dist/dashboard/feedback.js.map +0 -1
- package/dist/dashboard/index.js.map +0 -1
- package/dist/dashboard/operation-failures.js.map +0 -1
- package/dist/dashboard/pending-actions.js.map +0 -1
- package/dist/dashboard/quick-jump.js.map +0 -1
- package/dist/dashboard/runtime-evidence.js.map +0 -1
- package/dist/dashboard/session-actions.js.map +0 -1
- package/dist/dashboard/session-registry.js.map +0 -1
- package/dist/dashboard/sort.js.map +0 -1
- package/dist/dashboard/state.js.map +0 -1
- package/dist/dashboard/targets.js.map +0 -1
- package/dist/dashboard/ui-state-store.js.map +0 -1
- package/dist/debug.js.map +0 -1
- package/dist/default-plugins/gh-pr-context.js.map +0 -1
- package/dist/default-plugins/transcript-length.js.map +0 -1
- package/dist/fast-control.js.map +0 -1
- package/dist/hotkeys.js.map +0 -1
- package/dist/http-client.js.map +0 -1
- package/dist/instance-directory.d.ts +0 -32
- package/dist/instance-directory.js +0 -82
- package/dist/instance-directory.js.map +0 -1
- package/dist/instance-registry.d.ts +0 -39
- package/dist/instance-registry.js +0 -208
- package/dist/instance-registry.js.map +0 -1
- package/dist/key-parser.js.map +0 -1
- package/dist/last-used.js.map +0 -1
- package/dist/main.js.map +0 -1
- package/dist/managed-launch-env.js.map +0 -1
- package/dist/metadata-server.js.map +0 -1
- package/dist/metadata-store.js.map +0 -1
- package/dist/multiplexer/agent-io-methods.js.map +0 -1
- package/dist/multiplexer/archives.js.map +0 -1
- package/dist/multiplexer/dashboard-actions-methods.js.map +0 -1
- package/dist/multiplexer/dashboard-control.js.map +0 -1
- package/dist/multiplexer/dashboard-interaction.js.map +0 -1
- package/dist/multiplexer/dashboard-model.js.map +0 -1
- package/dist/multiplexer/dashboard-ops.js.map +0 -1
- package/dist/multiplexer/dashboard-state-methods.js.map +0 -1
- package/dist/multiplexer/dashboard-tail-methods.js.map +0 -1
- package/dist/multiplexer/dashboard-view-methods.js.map +0 -1
- package/dist/multiplexer/graveyard-view-model.js.map +0 -1
- package/dist/multiplexer/index.js.map +0 -1
- package/dist/multiplexer/navigation.js.map +0 -1
- package/dist/multiplexer/notifications.js.map +0 -1
- package/dist/multiplexer/persistence-methods.js.map +0 -1
- package/dist/multiplexer/runtime-lifecycle-methods.js.map +0 -1
- package/dist/multiplexer/runtime-state.js.map +0 -1
- package/dist/multiplexer/runtime-sync.js.map +0 -1
- package/dist/multiplexer/service-state-snapshot.js.map +0 -1
- package/dist/multiplexer/services.js.map +0 -1
- package/dist/multiplexer/session-actions.d.ts +0 -40
- package/dist/multiplexer/session-actions.js +0 -110
- package/dist/multiplexer/session-actions.js.map +0 -1
- package/dist/multiplexer/session-launch.js.map +0 -1
- package/dist/multiplexer/session-runtime-core.js.map +0 -1
- package/dist/multiplexer/subscreens.js.map +0 -1
- package/dist/multiplexer/tool-picker.js.map +0 -1
- package/dist/multiplexer/worktree-graveyard.js.map +0 -1
- package/dist/multiplexer/worktrees.js.map +0 -1
- package/dist/notification-context.js.map +0 -1
- package/dist/notifications.js.map +0 -1
- package/dist/notify.js.map +0 -1
- package/dist/orchestration-actions.js.map +0 -1
- package/dist/orchestration-dispatcher.d.ts +0 -25
- package/dist/orchestration-dispatcher.js +0 -59
- package/dist/orchestration-dispatcher.js.map +0 -1
- package/dist/orchestration-routing.js.map +0 -1
- package/dist/orchestration.js.map +0 -1
- package/dist/osc-notifications.js.map +0 -1
- package/dist/paths.js.map +0 -1
- package/dist/plugin-runtime.js.map +0 -1
- package/dist/project-events.js.map +0 -1
- package/dist/project-scanner.js.map +0 -1
- package/dist/project-service-manifest.js.map +0 -1
- package/dist/recency.js.map +0 -1
- package/dist/recorder.js.map +0 -1
- package/dist/session-bootstrap.js.map +0 -1
- package/dist/session-input-operations.d.ts +0 -19
- package/dist/session-input-operations.js +0 -46
- package/dist/session-input-operations.js.map +0 -1
- package/dist/session-message-history.d.ts +0 -27
- package/dist/session-message-history.js +0 -105
- package/dist/session-message-history.js.map +0 -1
- package/dist/session-runtime.js.map +0 -1
- package/dist/session-semantics.js.map +0 -1
- package/dist/shell-args.js.map +0 -1
- package/dist/shell-hooks.js.map +0 -1
- package/dist/shell-state.js.map +0 -1
- package/dist/status-detector.js.map +0 -1
- package/dist/statusline-model.js.map +0 -1
- package/dist/task-dispatcher.d.ts +0 -64
- package/dist/task-dispatcher.js +0 -213
- package/dist/task-dispatcher.js.map +0 -1
- package/dist/task-workflow.js.map +0 -1
- package/dist/tasks.js.map +0 -1
- package/dist/team.js.map +0 -1
- package/dist/terminal-host.js.map +0 -1
- package/dist/threads.js.map +0 -1
- package/dist/tmux/doctor.js.map +0 -1
- package/dist/tmux/inbox-popup.js.map +0 -1
- package/dist/tmux/runtime-manager.js.map +0 -1
- package/dist/tmux/session-transport.js.map +0 -1
- package/dist/tmux/statusline-cache.js.map +0 -1
- package/dist/tmux/statusline.js.map +0 -1
- package/dist/tmux/switcher.js.map +0 -1
- package/dist/tmux/window-open.js.map +0 -1
- package/dist/tool-output-watchers.js.map +0 -1
- package/dist/tui/render/box.js.map +0 -1
- package/dist/tui/render/text.js.map +0 -1
- package/dist/tui/screens/dashboard-renderers.js.map +0 -1
- package/dist/tui/screens/overlay-renderers.js.map +0 -1
- package/dist/tui/screens/subscreen-renderers.js.map +0 -1
- package/dist/workflow.js.map +0 -1
- package/dist/worktree.js.map +0 -1
package/dist/metadata-store.d.ts
CHANGED
|
@@ -32,6 +32,7 @@ export interface SessionContextMetadata {
|
|
|
32
32
|
worktreePath?: string;
|
|
33
33
|
worktreeName?: string;
|
|
34
34
|
branch?: string;
|
|
35
|
+
transcriptPath?: string;
|
|
35
36
|
pr?: SessionPrMetadata;
|
|
36
37
|
repo?: SessionRepoMetadata;
|
|
37
38
|
}
|
|
@@ -57,9 +58,10 @@ export interface SessionDerivedMetadata extends SessionDerivedState {
|
|
|
57
58
|
lastEvent?: AgentEvent;
|
|
58
59
|
events?: AgentEvent[];
|
|
59
60
|
services?: SessionServiceMetadata[];
|
|
61
|
+
shellCommand?: string;
|
|
62
|
+
shellCommandState?: "running" | "prompt";
|
|
60
63
|
}
|
|
61
64
|
export interface SessionMetadata {
|
|
62
|
-
label?: string;
|
|
63
65
|
status?: SessionStatusMetadata;
|
|
64
66
|
progress?: SessionProgressMetadata;
|
|
65
67
|
logs?: SessionLogEntry[];
|
|
@@ -82,6 +84,7 @@ export declare function loadMetadataState(projectRoot?: string): MetadataState;
|
|
|
82
84
|
export declare function saveMetadataState(state: MetadataState, projectRoot?: string): void;
|
|
83
85
|
export declare function updateSessionMetadata(sessionId: string, updater: (current: SessionMetadata) => SessionMetadata, projectRoot?: string): MetadataState;
|
|
84
86
|
export declare function clearSessionLogs(sessionId: string, projectRoot?: string): MetadataState;
|
|
87
|
+
export declare function clearSessionTranscriptPath(sessionId: string, projectRoot?: string): MetadataState;
|
|
85
88
|
export declare function loadMetadataEndpoint(projectRoot?: string): MetadataApiEndpoint | null;
|
|
86
89
|
export declare function resolveProjectServiceEndpoint(projectRoot?: string): {
|
|
87
90
|
host: string;
|
package/dist/metadata-store.js
CHANGED
|
@@ -27,11 +27,24 @@ function loadJson(path, fallback) {
|
|
|
27
27
|
function saveJson(path, value) {
|
|
28
28
|
writeJsonAtomic(path, value);
|
|
29
29
|
}
|
|
30
|
+
function scrubProjectionAuthorityFields(state) {
|
|
31
|
+
const sessions = state.sessions;
|
|
32
|
+
if (!sessions || typeof sessions !== "object")
|
|
33
|
+
return state;
|
|
34
|
+
for (const session of Object.values(sessions)) {
|
|
35
|
+
if (session && typeof session === "object") {
|
|
36
|
+
delete session.backendSessionId;
|
|
37
|
+
delete session.label;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return state;
|
|
41
|
+
}
|
|
30
42
|
export function loadMetadataState(projectRoot) {
|
|
31
|
-
|
|
43
|
+
const state = loadJson(metadataPathFor(projectRoot), { version: 1, sessions: {} });
|
|
44
|
+
return scrubProjectionAuthorityFields(state);
|
|
32
45
|
}
|
|
33
46
|
export function saveMetadataState(state, projectRoot) {
|
|
34
|
-
saveJson(metadataPathFor(projectRoot), state);
|
|
47
|
+
saveJson(metadataPathFor(projectRoot), scrubProjectionAuthorityFields(state));
|
|
35
48
|
}
|
|
36
49
|
export function updateSessionMetadata(sessionId, updater, projectRoot) {
|
|
37
50
|
const state = loadMetadataState(projectRoot);
|
|
@@ -50,6 +63,21 @@ export function clearSessionLogs(sessionId, projectRoot) {
|
|
|
50
63
|
return next;
|
|
51
64
|
}, projectRoot);
|
|
52
65
|
}
|
|
66
|
+
export function clearSessionTranscriptPath(sessionId, projectRoot) {
|
|
67
|
+
const state = loadMetadataState(projectRoot);
|
|
68
|
+
const current = state.sessions[sessionId];
|
|
69
|
+
if (!current?.context?.transcriptPath)
|
|
70
|
+
return state;
|
|
71
|
+
const context = { ...current.context };
|
|
72
|
+
delete context.transcriptPath;
|
|
73
|
+
state.sessions[sessionId] = {
|
|
74
|
+
...current,
|
|
75
|
+
context,
|
|
76
|
+
updatedAt: new Date().toISOString(),
|
|
77
|
+
};
|
|
78
|
+
saveMetadataState(state, projectRoot);
|
|
79
|
+
return state;
|
|
80
|
+
}
|
|
53
81
|
export function loadMetadataEndpoint(projectRoot) {
|
|
54
82
|
return loadJson(endpointPathFor(projectRoot), null);
|
|
55
83
|
}
|
|
@@ -82,4 +110,3 @@ export function removeMetadataEndpoint(projectRoot) {
|
|
|
82
110
|
}
|
|
83
111
|
catch { }
|
|
84
112
|
}
|
|
85
|
-
//# sourceMappingURL=metadata-store.js.map
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { DashboardSession } from "../dashboard/index.js";
|
|
2
|
-
import {
|
|
2
|
+
import type { MessageKind } from "../threads.js";
|
|
3
3
|
export declare const agentIoMethods: {
|
|
4
|
-
composeOrchestrationPrompt(this: any, threadId: string, from: string, body: string, kind: MessageKind, title?: string): string;
|
|
5
4
|
orchestrationWorkflowPressure(this: any, sessionId: string, status?: DashboardSession["status"]): number;
|
|
6
5
|
deliverOrchestrationMessage(this: any, recipients: string[], threadId: string, from: string, body: string, kind: MessageKind, title?: string, messageId?: string): string[];
|
|
7
6
|
sendOrchestrationMessage(this: any, input: any): {
|
|
@@ -24,17 +23,10 @@ export declare const agentIoMethods: {
|
|
|
24
23
|
readStatusHeadline(this: any, sessionId: string): string | undefined;
|
|
25
24
|
deriveHeadline(this: any, sessionId: string): string | undefined;
|
|
26
25
|
resolveRunningSession(this: any, sessionId: string): any;
|
|
27
|
-
writeTmuxAgentInput(this: any, sessionId: string, transport: any, data: string): void;
|
|
28
|
-
normalizeAgentInput(this: any, data: string, submit: boolean, sessionId?: string): string;
|
|
29
|
-
paneStillContainsAgentDraft(this: any, target: any, draft: string): boolean;
|
|
30
|
-
scheduleTmuxAgentSubmit(this: any, sessionId: string, target: any, draft: string): void;
|
|
31
|
-
writeAgentInput(this: any, sessionId: string, data?: string, parts?: any[], clientMessageId?: string, submit?: boolean): Promise<{
|
|
32
|
-
sessionId: string;
|
|
33
|
-
}>;
|
|
34
|
-
readAgentHistory(this: any, sessionId: string, lastN?: number): Promise<any>;
|
|
35
26
|
interruptAgent(this: any, sessionId: string): Promise<{
|
|
36
27
|
sessionId: string;
|
|
37
28
|
}>;
|
|
29
|
+
sendAgentInput(this: any, sessionId: string, text: string): Promise<any>;
|
|
38
30
|
readAgentOutput(this: any, sessionId: string, startLine?: number): Promise<any>;
|
|
39
31
|
};
|
|
40
32
|
export type AgentIoMethods = typeof agentIoMethods;
|
|
@@ -1,18 +1,9 @@
|
|
|
1
1
|
import { sendDirectMessage, sendThreadMessage } from "../orchestration.js";
|
|
2
2
|
import { sendHandoff } from "../orchestration-actions.js";
|
|
3
3
|
import { resolveOrchestrationRecipients } from "../orchestration-routing.js";
|
|
4
|
-
import { markMessageDelivered } from "../threads.js";
|
|
5
4
|
import { stopProjectServices as stopProjectServicesImpl } from "./dashboard-model.js";
|
|
6
|
-
import { applyDashboardSessionLabel as applyDashboardSessionLabelImpl, applySessionLabel as applySessionLabelImpl, deriveHeadline as deriveHeadlineImpl, getSessionLabel as getSessionLabelImpl,
|
|
5
|
+
import { applyDashboardSessionLabel as applyDashboardSessionLabelImpl, applySessionLabel as applySessionLabelImpl, deriveHeadline as deriveHeadlineImpl, getSessionLabel as getSessionLabelImpl, readAgentOutput as readAgentOutputImpl, sendAgentInput as sendAgentInputImpl, readStatusHeadline as readStatusHeadlineImpl, resolveRunningSession as resolveRunningSessionImpl, updateSessionLabel as updateSessionLabelImpl, interruptAgent as interruptAgentImpl, } from "./session-runtime-core.js";
|
|
7
6
|
export const agentIoMethods = {
|
|
8
|
-
composeOrchestrationPrompt(threadId, from, body, kind, title) {
|
|
9
|
-
const prefix = `[AIMUX MESSAGE ${threadId} from ${from}]`;
|
|
10
|
-
const headline = title ? `${title}\n\n` : "";
|
|
11
|
-
return (`${prefix} ${headline}${body}\n\n` +
|
|
12
|
-
`Read .aimux/threads/${threadId}.json and .aimux/threads/${threadId}.jsonl for context. ` +
|
|
13
|
-
`This is a ${kind} message delivered by aimux. ` +
|
|
14
|
-
`Check the thread now, then either reply in-thread or briefly acknowledge that no action is needed.`);
|
|
15
|
-
},
|
|
16
7
|
orchestrationWorkflowPressure(sessionId, status) {
|
|
17
8
|
const semantic = this.deriveSessionSemanticState(sessionId, status);
|
|
18
9
|
return (semantic.waitingOnMeCount * 5 +
|
|
@@ -22,21 +13,14 @@ export const agentIoMethods = {
|
|
|
22
13
|
semantic.waitingOnThemCount);
|
|
23
14
|
},
|
|
24
15
|
deliverOrchestrationMessage(recipients, threadId, from, body, kind, title, messageId) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
void this.writeAgentInput(recipient, this.composeOrchestrationPrompt(threadId, from, body, kind, title), undefined, undefined, true);
|
|
34
|
-
if (messageId) {
|
|
35
|
-
markMessageDelivered(threadId, messageId, recipient);
|
|
36
|
-
}
|
|
37
|
-
delivered.push(recipient);
|
|
38
|
-
}
|
|
39
|
-
return delivered;
|
|
16
|
+
void recipients;
|
|
17
|
+
void threadId;
|
|
18
|
+
void from;
|
|
19
|
+
void body;
|
|
20
|
+
void kind;
|
|
21
|
+
void title;
|
|
22
|
+
void messageId;
|
|
23
|
+
return [];
|
|
40
24
|
},
|
|
41
25
|
sendOrchestrationMessage(input) {
|
|
42
26
|
const from = input.from?.trim() || "user";
|
|
@@ -156,29 +140,13 @@ export const agentIoMethods = {
|
|
|
156
140
|
resolveRunningSession(sessionId) {
|
|
157
141
|
return resolveRunningSessionImpl(this, sessionId);
|
|
158
142
|
},
|
|
159
|
-
writeTmuxAgentInput(sessionId, transport, data) {
|
|
160
|
-
writeTmuxAgentInputImpl(this, sessionId, transport, data);
|
|
161
|
-
},
|
|
162
|
-
normalizeAgentInput(data, submit, sessionId) {
|
|
163
|
-
return normalizeAgentInputImpl(this, data, submit, sessionId);
|
|
164
|
-
},
|
|
165
|
-
paneStillContainsAgentDraft(target, draft) {
|
|
166
|
-
return paneStillContainsAgentDraftImpl(this, target, draft);
|
|
167
|
-
},
|
|
168
|
-
scheduleTmuxAgentSubmit(sessionId, target, draft) {
|
|
169
|
-
scheduleTmuxAgentSubmitImpl(this, sessionId, target, draft);
|
|
170
|
-
},
|
|
171
|
-
async writeAgentInput(sessionId, data = "", parts, clientMessageId, submit = false) {
|
|
172
|
-
return writeAgentInputImpl(this, sessionId, data, parts, clientMessageId, submit);
|
|
173
|
-
},
|
|
174
|
-
async readAgentHistory(sessionId, lastN) {
|
|
175
|
-
return readAgentHistoryImpl(this, sessionId, lastN);
|
|
176
|
-
},
|
|
177
143
|
async interruptAgent(sessionId) {
|
|
178
144
|
return interruptAgentImpl(this, sessionId);
|
|
179
145
|
},
|
|
146
|
+
async sendAgentInput(sessionId, text) {
|
|
147
|
+
return sendAgentInputImpl(this, sessionId, text);
|
|
148
|
+
},
|
|
180
149
|
async readAgentOutput(sessionId, startLine) {
|
|
181
150
|
return readAgentOutputImpl(this, sessionId, startLine);
|
|
182
151
|
},
|
|
183
152
|
};
|
|
184
|
-
//# sourceMappingURL=agent-io-methods.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { mkdirSync, readFileSync, readdirSync } from "node:fs";
|
|
2
2
|
import { join } from "node:path";
|
|
3
3
|
import { spawnSync } from "node:child_process";
|
|
4
|
-
import {
|
|
4
|
+
import { getPlansDir } from "../paths.js";
|
|
5
5
|
import { debug } from "../debug.js";
|
|
6
6
|
import { parseKeys } from "../key-parser.js";
|
|
7
7
|
import { loadLastUsedState } from "../last-used.js";
|
|
@@ -11,6 +11,7 @@ import { postToProjectService } from "./dashboard-control.js";
|
|
|
11
11
|
import { requestJson } from "../http-client.js";
|
|
12
12
|
import { resolveProjectServiceEndpoint } from "../metadata-store.js";
|
|
13
13
|
import { buildGraveyardViewModel, } from "./graveyard-view-model.js";
|
|
14
|
+
import { listTopologySessionStates } from "../runtime-core/topology-sessions.js";
|
|
14
15
|
export function showGraveyard(host) {
|
|
15
16
|
host.clearDashboardSubscreens();
|
|
16
17
|
loadGraveyardEntries(host);
|
|
@@ -118,7 +119,9 @@ export function resurrectGraveyardEntry(host, idx) {
|
|
|
118
119
|
? host.mode === "dashboard"
|
|
119
120
|
? postToProjectService(host, "/graveyard/worktrees/resurrect", { path: item.entry.path }, { timeoutMs: 10_000 })
|
|
120
121
|
: host.resurrectGraveyardWorktree(item.entry.path)
|
|
121
|
-
: host.
|
|
122
|
+
: host.mode === "dashboard"
|
|
123
|
+
? postToProjectService(host, "/graveyard/resurrect", { sessionId: item.entry.id }, { timeoutMs: 10_000 })
|
|
124
|
+
: host.resurrectGraveyardSession(item.entry.id);
|
|
122
125
|
void promise
|
|
123
126
|
.then(() => {
|
|
124
127
|
host.graveyardEntries = host.listGraveyardEntries();
|
|
@@ -147,6 +150,8 @@ function refreshGraveyardViewModel(host) {
|
|
|
147
150
|
const viewModel = buildGraveyardViewModel({
|
|
148
151
|
worktrees: host.worktreeGraveyardEntries ?? [],
|
|
149
152
|
agents: host.graveyardEntries ?? [],
|
|
153
|
+
parentSessions: [...(host.dashboardSessionsCache ?? []), ...(host.sessions ?? []), ...(host.offlineSessions ?? [])],
|
|
154
|
+
teammates: [...(host.dashboardTeammatesCache ?? []), ...(host.sessions ?? []), ...(host.offlineSessions ?? [])],
|
|
150
155
|
lastUsedById: lastUsedState.items,
|
|
151
156
|
});
|
|
152
157
|
host.graveyardViewModel = viewModel;
|
|
@@ -190,13 +195,7 @@ async function deleteSelectedGraveyardWorktree(host) {
|
|
|
190
195
|
}
|
|
191
196
|
}
|
|
192
197
|
function loadGraveyardEntries(host) {
|
|
193
|
-
|
|
194
|
-
try {
|
|
195
|
-
host.graveyardEntries = JSON.parse(readFileSync(graveyardPath, "utf-8"));
|
|
196
|
-
}
|
|
197
|
-
catch {
|
|
198
|
-
host.graveyardEntries = [];
|
|
199
|
-
}
|
|
198
|
+
host.graveyardEntries = listTopologySessionStates({ statuses: ["graveyard"] });
|
|
200
199
|
host.worktreeGraveyardEntries = listWorktreeGraveyardEntries();
|
|
201
200
|
refreshGraveyardViewModel(host);
|
|
202
201
|
}
|
|
@@ -385,4 +384,3 @@ export function openPlanInEditor(host, path) {
|
|
|
385
384
|
host.renderDashboardErrorOverlay();
|
|
386
385
|
}
|
|
387
386
|
}
|
|
388
|
-
//# sourceMappingURL=archives.js.map
|
|
@@ -4,7 +4,7 @@ import { join } from "node:path";
|
|
|
4
4
|
import { updateNotificationContext } from "../notification-context.js";
|
|
5
5
|
import { requestJson } from "../http-client.js";
|
|
6
6
|
import { markLastUsed } from "../last-used.js";
|
|
7
|
-
import { loadMetadataState, resolveProjectServiceEndpoint } from "../metadata-store.js";
|
|
7
|
+
import { loadMetadataState, removeMetadataEndpoint, resolveProjectServiceEndpoint } from "../metadata-store.js";
|
|
8
8
|
import { parseKeys } from "../key-parser.js";
|
|
9
9
|
import { ensureDaemonRunning, ensureProjectService } from "../daemon.js";
|
|
10
10
|
import { getProjectStateDir } from "../paths.js";
|
|
@@ -13,7 +13,7 @@ import { loadStatusline, renderTmuxStatuslineFromData } from "../tmux/statusline
|
|
|
13
13
|
import { openManagedServiceWindow, openManagedSessionWindow } from "../tmux/window-open.js";
|
|
14
14
|
import { resolveOrchestrationRecipients } from "../orchestration-routing.js";
|
|
15
15
|
import { sortDashboardEntriesByCreatedAt } from "../dashboard/sort.js";
|
|
16
|
-
import { buildDashboardBusyOverlayOutput, buildDashboardErrorOverlayOutput, buildLabelInputOverlayOutput, buildMigratePickerOverlayOutput, buildNotificationPanelOverlayOutput, buildServiceInputOverlayOutput, buildSwitcherOverlayOutput, buildWorktreeListOverlayOutput, buildWorktreeRemoveConfirmOverlayOutput, } from "../tui/screens/overlay-renderers.js";
|
|
16
|
+
import { buildDashboardBusyOverlayOutput, buildDashboardErrorOverlayOutput, buildLabelInputOverlayOutput, buildMigratePickerOverlayOutput, buildNotificationPanelOverlayOutput, buildServiceInputOverlayOutput, buildSwitcherOverlayOutput, buildTeammatePickerOverlayOutput, buildWorktreeListOverlayOutput, buildWorktreeRemoveConfirmOverlayOutput, } from "../tui/screens/overlay-renderers.js";
|
|
17
17
|
import { buildWorktreeInputOverlayOutput } from "./worktrees.js";
|
|
18
18
|
import { buildToolOptionsOverlayOutput, buildToolPickerOverlayOutput } from "./tool-picker.js";
|
|
19
19
|
import { buildThreadReplyOverlayOutput } from "./subscreens.js";
|
|
@@ -48,13 +48,13 @@ function primeLiveTmuxFooter(host, target) {
|
|
|
48
48
|
}
|
|
49
49
|
export function updateWorktreeSessions(host) {
|
|
50
50
|
const allDash = host.getDashboardSessions();
|
|
51
|
-
host.dashboardState.worktreeSessions = sortDashboardEntriesByCreatedAt(allDash.filter((s) => {
|
|
51
|
+
host.dashboardState.worktreeSessions = host.dashboardUiStateStore.orderSessionsForWorktree(sortDashboardEntriesByCreatedAt(allDash.filter((s) => {
|
|
52
52
|
return (s.worktreePath ?? undefined) === host.dashboardState.focusedWorktreePath;
|
|
53
|
-
}));
|
|
53
|
+
})), host.dashboardState.focusedWorktreePath);
|
|
54
54
|
const filteredServices = host.getDashboardServices().filter((service) => {
|
|
55
55
|
return (service.worktreePath ?? undefined) === host.dashboardState.focusedWorktreePath;
|
|
56
56
|
});
|
|
57
|
-
const worktreeServices = sortDashboardEntriesByCreatedAt(filteredServices);
|
|
57
|
+
const worktreeServices = host.dashboardUiStateStore.orderServicesForWorktree(sortDashboardEntriesByCreatedAt(filteredServices), host.dashboardState.focusedWorktreePath);
|
|
58
58
|
host.dashboardState.worktreeEntries = [
|
|
59
59
|
...host.dashboardState.worktreeSessions.map((session) => ({ kind: "session", id: session.id })),
|
|
60
60
|
...worktreeServices.map((service) => ({ kind: "service", id: service.id })),
|
|
@@ -109,6 +109,9 @@ export function handleActiveDashboardOverlayKey(host, data) {
|
|
|
109
109
|
case "notification-panel":
|
|
110
110
|
host.handleNotificationPanelKey(data);
|
|
111
111
|
return true;
|
|
112
|
+
case "teammate-picker":
|
|
113
|
+
host.handleTeammatePickerKey(data);
|
|
114
|
+
return true;
|
|
112
115
|
case "worktree-remove-confirm":
|
|
113
116
|
host.handleWorktreeRemoveConfirmKey(data);
|
|
114
117
|
return true;
|
|
@@ -165,6 +168,9 @@ export function buildActiveDashboardOverlayOutput(host) {
|
|
|
165
168
|
if (host.dashboardOverlayState.kind === "notification-panel") {
|
|
166
169
|
return buildNotificationPanelOverlayOutput(host);
|
|
167
170
|
}
|
|
171
|
+
if (host.dashboardOverlayState.kind === "teammate-picker") {
|
|
172
|
+
return buildTeammatePickerOverlayOutput(host);
|
|
173
|
+
}
|
|
168
174
|
if (host.dashboardOverlayState.kind === "thread-reply") {
|
|
169
175
|
return buildThreadReplyOverlayOutput(host);
|
|
170
176
|
}
|
|
@@ -372,7 +378,7 @@ export function showOrchestrationRoutePicker(host, mode) {
|
|
|
372
378
|
exited: session.exited,
|
|
373
379
|
};
|
|
374
380
|
});
|
|
375
|
-
if (selected
|
|
381
|
+
if (selected) {
|
|
376
382
|
options.push({
|
|
377
383
|
label: `${selected.label ?? selected.command ?? selected.id} (${selected.id})`,
|
|
378
384
|
sessionId: selected.id,
|
|
@@ -527,10 +533,15 @@ export function renderOrchestrationRoutePicker(host) {
|
|
|
527
533
|
process.stdout.write(output);
|
|
528
534
|
}
|
|
529
535
|
export async function postToProjectService(host, path, body, opts) {
|
|
530
|
-
|
|
531
|
-
|
|
536
|
+
const projectRoot = process.cwd();
|
|
537
|
+
const timeoutMs = opts?.timeoutMs ?? 1000;
|
|
538
|
+
const deadline = Date.now() + timeoutMs;
|
|
539
|
+
let lastError = null;
|
|
540
|
+
for (let attempt = 0; Date.now() <= deadline; attempt += 1) {
|
|
541
|
+
const endpoint = resolveProjectServiceEndpoint(projectRoot);
|
|
532
542
|
if (!endpoint) {
|
|
533
543
|
await ensureDashboardControlPlane(host);
|
|
544
|
+
await sleepProjectServiceRetry(attempt);
|
|
534
545
|
continue;
|
|
535
546
|
}
|
|
536
547
|
try {
|
|
@@ -538,26 +549,47 @@ export async function postToProjectService(host, path, body, opts) {
|
|
|
538
549
|
method: "POST",
|
|
539
550
|
headers: { "content-type": "application/json" },
|
|
540
551
|
body,
|
|
541
|
-
timeoutMs:
|
|
552
|
+
timeoutMs: Math.max(1, deadline - Date.now()),
|
|
542
553
|
});
|
|
543
554
|
if (status >= 200 && status < 300 && json?.ok !== false) {
|
|
544
555
|
return json;
|
|
545
556
|
}
|
|
546
|
-
|
|
557
|
+
lastError = new Error(json?.error || `request failed: ${status}`);
|
|
558
|
+
if (isProjectServiceRetryableStatus(status) && Date.now() < deadline) {
|
|
547
559
|
await ensureDashboardControlPlane(host);
|
|
560
|
+
await sleepProjectServiceRetry(attempt);
|
|
548
561
|
continue;
|
|
549
562
|
}
|
|
550
|
-
throw
|
|
563
|
+
throw lastError;
|
|
551
564
|
}
|
|
552
565
|
catch (error) {
|
|
553
|
-
|
|
566
|
+
lastError = error;
|
|
567
|
+
if (isProjectServiceConnectionError(error) && Date.now() < deadline) {
|
|
568
|
+
removeMetadataEndpoint(projectRoot);
|
|
554
569
|
await ensureDashboardControlPlane(host);
|
|
570
|
+
await sleepProjectServiceRetry(attempt);
|
|
555
571
|
continue;
|
|
556
572
|
}
|
|
557
573
|
throw error;
|
|
558
574
|
}
|
|
559
575
|
}
|
|
560
|
-
throw new Error("no live project service endpoint");
|
|
576
|
+
throw lastError instanceof Error ? lastError : new Error("no live project service endpoint");
|
|
577
|
+
}
|
|
578
|
+
function isProjectServiceConnectionError(error) {
|
|
579
|
+
const code = typeof error?.code === "string" ? error.code : "";
|
|
580
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
581
|
+
return (code === "ECONNREFUSED" ||
|
|
582
|
+
code === "ECONNRESET" ||
|
|
583
|
+
code === "EPIPE" ||
|
|
584
|
+
message.includes("ECONNREFUSED") ||
|
|
585
|
+
message.includes("ECONNRESET") ||
|
|
586
|
+
message.includes("socket hang up"));
|
|
587
|
+
}
|
|
588
|
+
function isProjectServiceRetryableStatus(status) {
|
|
589
|
+
return status === 502 || status === 503 || status === 504;
|
|
590
|
+
}
|
|
591
|
+
async function sleepProjectServiceRetry(attempt) {
|
|
592
|
+
await new Promise((resolve) => setTimeout(resolve, Math.min(250, 50 + attempt * 25)));
|
|
561
593
|
}
|
|
562
594
|
export async function ensureDashboardControlPlane(host) {
|
|
563
595
|
if (host.dashboardServiceRecovery) {
|
|
@@ -641,4 +673,3 @@ export function handleOrchestrationRoutePickerKey(host, data) {
|
|
|
641
673
|
showOrchestrationInput(host, mode, target);
|
|
642
674
|
}
|
|
643
675
|
}
|
|
644
|
-
//# sourceMappingURL=dashboard-control.js.map
|
|
@@ -12,10 +12,16 @@ export declare const dashboardInteractionMethods: {
|
|
|
12
12
|
handleDashboardKey(this: any, data: Buffer): void;
|
|
13
13
|
activateDashboardEntryByNumber(this: any, index: number): Promise<void>;
|
|
14
14
|
activateDashboardService(this: any, service: DashboardService): Promise<void>;
|
|
15
|
-
activateDashboardEntry(this: any, entry: DashboardSession
|
|
15
|
+
activateDashboardEntry(this: any, entry: DashboardSession, options?: {
|
|
16
|
+
preserveDashboardSelection?: boolean;
|
|
17
|
+
}): Promise<void>;
|
|
18
|
+
getTeammatePickerEntries(this: any): DashboardSession[];
|
|
19
|
+
showTeammatePicker(this: any): void;
|
|
20
|
+
renderTeammatePicker(this: any): void;
|
|
21
|
+
handleTeammatePickerKey(this: any, data: Buffer): void;
|
|
16
22
|
handleServiceInputKey(this: any, data: Buffer): void;
|
|
17
23
|
handleLabelInputKey(this: any, data: Buffer): void;
|
|
18
|
-
handleReviewRequest(this: any): void
|
|
24
|
+
handleReviewRequest(this: any): Promise<void>;
|
|
19
25
|
formatRoutePreview(this: any, recipientIds: string[]): string;
|
|
20
26
|
submitDashboardOrchestrationAction(this: any, mode: "message" | "handoff" | "task", target: any, body: string): Promise<void>;
|
|
21
27
|
};
|