ai-whisper 0.4.2 → 0.4.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.
Files changed (171) hide show
  1. package/dist/.tsbuildinfo +1 -0
  2. package/dist/bin/broker-daemon.d.ts +3 -0
  3. package/dist/bin/broker-daemon.d.ts.map +1 -0
  4. package/dist/bin/companion-agent.d.ts +3 -0
  5. package/dist/bin/companion-agent.d.ts.map +1 -0
  6. package/dist/bin/relay-monitor.d.ts +3 -0
  7. package/dist/bin/relay-monitor.d.ts.map +1 -0
  8. package/dist/bin/whisper.d.ts +3 -0
  9. package/dist/bin/whisper.d.ts.map +1 -0
  10. package/dist/bin/whisper.js +182 -100
  11. package/dist/commands/collab/dashboard.d.ts +18 -0
  12. package/dist/commands/collab/dashboard.d.ts.map +1 -0
  13. package/dist/commands/collab/inspect.d.ts +23 -0
  14. package/dist/commands/collab/inspect.d.ts.map +1 -0
  15. package/dist/commands/collab/mount.d.ts +54 -0
  16. package/dist/commands/collab/mount.d.ts.map +1 -0
  17. package/dist/commands/collab/reconnect.d.ts +44 -0
  18. package/dist/commands/collab/reconnect.d.ts.map +1 -0
  19. package/dist/commands/collab/recover.d.ts +33 -0
  20. package/dist/commands/collab/recover.d.ts.map +1 -0
  21. package/dist/commands/collab/relay-monitor.d.ts +21 -0
  22. package/dist/commands/collab/relay-monitor.d.ts.map +1 -0
  23. package/dist/commands/collab/start.d.ts +53 -0
  24. package/dist/commands/collab/start.d.ts.map +1 -0
  25. package/dist/commands/collab/status.d.ts +6 -0
  26. package/dist/commands/collab/status.d.ts.map +1 -0
  27. package/dist/commands/collab/stop.d.ts +13 -0
  28. package/dist/commands/collab/stop.d.ts.map +1 -0
  29. package/dist/commands/collab/tell.d.ts +26 -0
  30. package/dist/commands/collab/tell.d.ts.map +1 -0
  31. package/dist/commands/skill/install.d.ts +12 -0
  32. package/dist/commands/skill/install.d.ts.map +1 -0
  33. package/dist/commands/workflow/cancel.d.ts +14 -0
  34. package/dist/commands/workflow/cancel.d.ts.map +1 -0
  35. package/dist/commands/workflow/inspect.d.ts +40 -0
  36. package/dist/commands/workflow/inspect.d.ts.map +1 -0
  37. package/dist/commands/workflow/list.d.ts +27 -0
  38. package/dist/commands/workflow/list.d.ts.map +1 -0
  39. package/dist/commands/workflow/pause.d.ts +14 -0
  40. package/dist/commands/workflow/pause.d.ts.map +1 -0
  41. package/dist/commands/workflow/resume.d.ts +17 -0
  42. package/dist/commands/workflow/resume.d.ts.map +1 -0
  43. package/dist/commands/workflow/start.d.ts +60 -0
  44. package/dist/commands/workflow/start.d.ts.map +1 -0
  45. package/dist/commands/workflow/types.d.ts +2 -0
  46. package/dist/commands/workflow/types.d.ts.map +1 -0
  47. package/dist/create-cli.d.ts +4 -0
  48. package/dist/create-cli.d.ts.map +1 -0
  49. package/dist/index.d.ts +5 -0
  50. package/dist/index.d.ts.map +1 -0
  51. package/dist/runtime/action-inference.d.ts +3 -0
  52. package/dist/runtime/action-inference.d.ts.map +1 -0
  53. package/dist/runtime/artifact-input.d.ts +2 -0
  54. package/dist/runtime/artifact-input.d.ts.map +1 -0
  55. package/dist/runtime/assistant-turn-capture.d.ts +14 -0
  56. package/dist/runtime/assistant-turn-capture.d.ts.map +1 -0
  57. package/dist/runtime/bracketed-paste-detector.d.ts +16 -0
  58. package/dist/runtime/bracketed-paste-detector.d.ts.map +1 -0
  59. package/dist/runtime/broker-artifact-service.d.ts +48 -0
  60. package/dist/runtime/broker-artifact-service.d.ts.map +1 -0
  61. package/dist/runtime/broker-connect.d.ts +9 -0
  62. package/dist/runtime/broker-connect.d.ts.map +1 -0
  63. package/dist/runtime/broker-daemon.d.ts +25 -0
  64. package/dist/runtime/broker-daemon.d.ts.map +1 -0
  65. package/dist/runtime/busy-indicator.d.ts +11 -0
  66. package/dist/runtime/busy-indicator.d.ts.map +1 -0
  67. package/dist/runtime/capture-handback-text.d.ts +39 -0
  68. package/dist/runtime/capture-handback-text.d.ts.map +1 -0
  69. package/dist/runtime/clipboard-change-count.d.ts +12 -0
  70. package/dist/runtime/clipboard-change-count.d.ts.map +1 -0
  71. package/dist/runtime/clipboard-handback-capture.d.ts +13 -0
  72. package/dist/runtime/clipboard-handback-capture.d.ts.map +1 -0
  73. package/dist/runtime/collab-resolver.d.ts +36 -0
  74. package/dist/runtime/collab-resolver.d.ts.map +1 -0
  75. package/dist/runtime/companion-agent-loop.d.ts +13 -0
  76. package/dist/runtime/companion-agent-loop.d.ts.map +1 -0
  77. package/dist/runtime/context-injector.d.ts +20 -0
  78. package/dist/runtime/context-injector.d.ts.map +1 -0
  79. package/dist/runtime/context-policy.d.ts +3 -0
  80. package/dist/runtime/context-policy.d.ts.map +1 -0
  81. package/dist/runtime/current-tty.d.ts +2 -0
  82. package/dist/runtime/current-tty.d.ts.map +1 -0
  83. package/dist/runtime/dashboard-glyph.d.ts +12 -0
  84. package/dist/runtime/dashboard-glyph.d.ts.map +1 -0
  85. package/dist/runtime/dashboard-state.d.ts +182 -0
  86. package/dist/runtime/dashboard-state.d.ts.map +1 -0
  87. package/dist/runtime/dashboard-view.d.ts +34 -0
  88. package/dist/runtime/dashboard-view.d.ts.map +1 -0
  89. package/dist/runtime/dashboard.d.ts +46 -0
  90. package/dist/runtime/dashboard.d.ts.map +1 -0
  91. package/dist/runtime/evaluator-config.d.ts +21 -0
  92. package/dist/runtime/evaluator-config.d.ts.map +1 -0
  93. package/dist/runtime/evaluator-observer.d.ts +8 -0
  94. package/dist/runtime/evaluator-observer.d.ts.map +1 -0
  95. package/dist/runtime/id-factory.d.ts +5 -0
  96. package/dist/runtime/id-factory.d.ts.map +1 -0
  97. package/dist/runtime/launcher.d.ts +39 -0
  98. package/dist/runtime/launcher.d.ts.map +1 -0
  99. package/dist/runtime/live-session-broker-executor.d.ts +8 -0
  100. package/dist/runtime/live-session-broker-executor.d.ts.map +1 -0
  101. package/dist/runtime/live-session.d.ts +25 -0
  102. package/dist/runtime/live-session.d.ts.map +1 -0
  103. package/dist/runtime/load-dot-env.d.ts +6 -0
  104. package/dist/runtime/load-dot-env.d.ts.map +1 -0
  105. package/dist/runtime/local-multiline-composer.d.ts +23 -0
  106. package/dist/runtime/local-multiline-composer.d.ts.map +1 -0
  107. package/dist/runtime/mount-session-main.d.ts +44 -0
  108. package/dist/runtime/mount-session-main.d.ts.map +1 -0
  109. package/dist/runtime/mounted-turn-owned-relay.d.ts +160 -0
  110. package/dist/runtime/mounted-turn-owned-relay.d.ts.map +1 -0
  111. package/dist/runtime/on-demand-processing.d.ts +23 -0
  112. package/dist/runtime/on-demand-processing.d.ts.map +1 -0
  113. package/dist/runtime/operator-inspect-captures.d.ts +6 -0
  114. package/dist/runtime/operator-inspect-captures.d.ts.map +1 -0
  115. package/dist/runtime/operator-inspect-verdicts.d.ts +6 -0
  116. package/dist/runtime/operator-inspect-verdicts.d.ts.map +1 -0
  117. package/dist/runtime/operator-inspect.d.ts +137 -0
  118. package/dist/runtime/operator-inspect.d.ts.map +1 -0
  119. package/dist/runtime/paths.d.ts +2 -0
  120. package/dist/runtime/paths.d.ts.map +1 -0
  121. package/dist/runtime/port-allocator.d.ts +7 -0
  122. package/dist/runtime/port-allocator.d.ts.map +1 -0
  123. package/dist/runtime/port-utils.d.ts +3 -0
  124. package/dist/runtime/port-utils.d.ts.map +1 -0
  125. package/dist/runtime/process-start-time.d.ts +7 -0
  126. package/dist/runtime/process-start-time.d.ts.map +1 -0
  127. package/dist/runtime/provider-submit-strategy.d.ts +13 -0
  128. package/dist/runtime/provider-submit-strategy.d.ts.map +1 -0
  129. package/dist/runtime/providers.d.ts +17 -0
  130. package/dist/runtime/providers.d.ts.map +1 -0
  131. package/dist/runtime/record-evaluator-status.d.ts +9 -0
  132. package/dist/runtime/record-evaluator-status.d.ts.map +1 -0
  133. package/dist/runtime/recovery-guard.d.ts +12 -0
  134. package/dist/runtime/recovery-guard.d.ts.map +1 -0
  135. package/dist/runtime/relay-directive.d.ts +4 -0
  136. package/dist/runtime/relay-directive.d.ts.map +1 -0
  137. package/dist/runtime/relay-line-buffer.d.ts +22 -0
  138. package/dist/runtime/relay-line-buffer.d.ts.map +1 -0
  139. package/dist/runtime/relay-monitor.d.ts +26 -0
  140. package/dist/runtime/relay-monitor.d.ts.map +1 -0
  141. package/dist/runtime/relay-orchestrator-evaluator.d.ts +160 -0
  142. package/dist/runtime/relay-orchestrator-evaluator.d.ts.map +1 -0
  143. package/dist/runtime/relay-orchestrator.d.ts +116 -0
  144. package/dist/runtime/relay-orchestrator.d.ts.map +1 -0
  145. package/dist/runtime/relay-pane-writer.d.ts +28 -0
  146. package/dist/runtime/relay-pane-writer.d.ts.map +1 -0
  147. package/dist/runtime/relay-service.d.ts +76 -0
  148. package/dist/runtime/relay-service.d.ts.map +1 -0
  149. package/dist/runtime/relay-view-input.d.ts +17 -0
  150. package/dist/runtime/relay-view-input.d.ts.map +1 -0
  151. package/dist/runtime/relay-view-state.d.ts +86 -0
  152. package/dist/runtime/relay-view-state.d.ts.map +1 -0
  153. package/dist/runtime/relay-view.d.ts +16 -0
  154. package/dist/runtime/relay-view.d.ts.map +1 -0
  155. package/dist/runtime/reply-wait.d.ts +21 -0
  156. package/dist/runtime/reply-wait.d.ts.map +1 -0
  157. package/dist/runtime/runtime-debug-log.d.ts +7 -0
  158. package/dist/runtime/runtime-debug-log.d.ts.map +1 -0
  159. package/dist/runtime/state-root.d.ts +3 -0
  160. package/dist/runtime/state-root.d.ts.map +1 -0
  161. package/dist/runtime/terminal-input-normalizer.d.ts +11 -0
  162. package/dist/runtime/terminal-input-normalizer.d.ts.map +1 -0
  163. package/dist/runtime/theme.d.ts +15 -0
  164. package/dist/runtime/theme.d.ts.map +1 -0
  165. package/dist/runtime/version-check.d.ts +17 -0
  166. package/dist/runtime/version-check.d.ts.map +1 -0
  167. package/dist/runtime/wait-for-broker-ready.d.ts +13 -0
  168. package/dist/runtime/wait-for-broker-ready.d.ts.map +1 -0
  169. package/dist/runtime/workspace-id.d.ts +3 -0
  170. package/dist/runtime/workspace-id.d.ts.map +1 -0
  171. package/package.json +3 -3
@@ -0,0 +1,20 @@
1
+ import type { BrokerRuntime } from "@ai-whisper/broker";
2
+ export declare function createContextInjector(input: {
3
+ broker: BrokerRuntime;
4
+ collabId: string;
5
+ sessionId: string;
6
+ }): {
7
+ injectContext(params: {
8
+ userInput: string;
9
+ activeThreadId: string;
10
+ }): {
11
+ injected: boolean;
12
+ payload: string;
13
+ summary: string | null;
14
+ };
15
+ enrichContextPacket(params: {
16
+ activeThreadId: string;
17
+ basePacket: Record<string, unknown>;
18
+ }): Record<string, unknown>;
19
+ };
20
+ //# sourceMappingURL=context-injector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-injector.d.ts","sourceRoot":"","sources":["../../src/runtime/context-injector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC5C,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CAClB;0BAEuB;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;KACvB,GAAG;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;gCAqCtC;QAC3B,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;EAkC5B"}
@@ -0,0 +1,3 @@
1
+ import type { WorkItem } from "@ai-whisper/shared";
2
+ export declare function requiresExplicitArtifacts(action: WorkItem["requestedAction"]): boolean;
3
+ //# sourceMappingURL=context-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-policy.d.ts","sourceRoot":"","sources":["../../src/runtime/context-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AASnD,wBAAgB,yBAAyB,CACxC,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GACjC,OAAO,CAET"}
@@ -0,0 +1,2 @@
1
+ export declare function resolveCurrentTty(): string;
2
+ //# sourceMappingURL=current-tty.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"current-tty.d.ts","sourceRoot":"","sources":["../../src/runtime/current-tty.ts"],"names":[],"mappings":"AAGA,wBAAgB,iBAAiB,IAAI,MAAM,CAkB1C"}
@@ -0,0 +1,12 @@
1
+ import { THEME } from "./theme.js";
2
+ export type StatusKey = "running" | "stuck" | "done" | "canceled" | "idle";
3
+ export type GlyphResult = {
4
+ glyph: "●" | "⚠" | "✓" | "✖" | "◌";
5
+ color: (typeof THEME)[keyof typeof THEME];
6
+ key: StatusKey;
7
+ };
8
+ export declare function statusGlyph(input: {
9
+ workflowStatus: "running" | "done" | "halted" | "canceled" | null;
10
+ stuck: boolean;
11
+ }): GlyphResult;
12
+ //# sourceMappingURL=dashboard-glyph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-glyph.d.ts","sourceRoot":"","sources":["../../src/runtime/dashboard-glyph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;AAE3E,MAAM,MAAM,WAAW,GAAG;IACzB,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACnC,KAAK,EAAE,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,OAAO,KAAK,CAAC,CAAC;IAC1C,GAAG,EAAE,SAAS,CAAC;CACf,CAAC;AAEF,wBAAgB,WAAW,CAAC,KAAK,EAAE;IAClC,cAAc,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,IAAI,CAAC;IAClE,KAAK,EAAE,OAAO,CAAC;CACf,GAAG,WAAW,CAoBd"}
@@ -0,0 +1,182 @@
1
+ import type { LogLine, PhaseRunRef, RelayViewSnapshot, RelayViewState } from "./relay-view-state.js";
2
+ import { buildRelayViewState, deriveLogLines, fmtDur } from "./relay-view-state.js";
3
+ import type { CollabSummary, RelayHandoffLogRow, RunCostRow, WorkflowSummaryRow } from "@ai-whisper/broker";
4
+ export type WallEvent = {
5
+ step: string;
6
+ route: string;
7
+ verdict: string;
8
+ };
9
+ export type WallPaneState = {
10
+ collabId: string;
11
+ workflowId: string | null;
12
+ statusKey: "running" | "stuck" | "done" | "canceled" | "idle";
13
+ label: string;
14
+ workflowType: string | null;
15
+ round: {
16
+ current: number;
17
+ max: number;
18
+ } | null;
19
+ progress: {
20
+ current: number;
21
+ total: number;
22
+ } | null;
23
+ agentHealth: Array<{
24
+ agent: "codex" | "claude";
25
+ health: "healthy" | "degraded" | "dead";
26
+ }>;
27
+ stuckWhy: string | null;
28
+ events: WallEvent[];
29
+ elapsed: string;
30
+ cardKind: "full" | "compact";
31
+ };
32
+ export type WallStateSection = {
33
+ group: WallGroupKey;
34
+ label: string;
35
+ cardKind: "full" | "compact";
36
+ panes: WallPaneState[];
37
+ };
38
+ export type WallState = {
39
+ sections: WallStateSection[];
40
+ panes: WallPaneState[];
41
+ page: number;
42
+ pageCount: number;
43
+ totalRuns: number;
44
+ selected: number;
45
+ };
46
+ export type PhaseStat = {
47
+ phaseIndex: number;
48
+ phaseName: string;
49
+ roundsUsed: number;
50
+ maxRounds: number;
51
+ durationMs: number | null;
52
+ outcome: string | null;
53
+ estInTokens: number;
54
+ estOutTokens: number;
55
+ };
56
+ export type EvidenceItem = {
57
+ round: number | null;
58
+ step: string | null;
59
+ sender: string;
60
+ target: string;
61
+ verdict: string | null;
62
+ confidence: number | null;
63
+ reasonExcerpt: string;
64
+ captureStatus: string | null;
65
+ };
66
+ export type DiagItem = {
67
+ kind: "evaluator" | "capture";
68
+ text: string;
69
+ };
70
+ export type CostSummary = {
71
+ totalMs: number;
72
+ estInputTokens: number;
73
+ estOutputTokens: number;
74
+ perPhase: Array<{
75
+ phaseRunId: string | null;
76
+ phaseName: string;
77
+ estInTokens: number;
78
+ estOutTokens: number;
79
+ durationMs: number | null;
80
+ }>;
81
+ };
82
+ export type WorkflowHistoryItem = {
83
+ workflowId: string;
84
+ workflowType: string;
85
+ name: string | null;
86
+ status: "running" | "paused" | "done" | "halted" | "canceled";
87
+ currentPhaseIndex: number;
88
+ createdAt: string;
89
+ selected: boolean;
90
+ };
91
+ export type InspectorState = {
92
+ live: RelayViewState;
93
+ timeline: PhaseStat[];
94
+ workflowHistory: WorkflowHistoryItem[];
95
+ evidence: {
96
+ phase: string | null;
97
+ chainId: string | null;
98
+ items: EvidenceItem[];
99
+ diagnostics: DiagItem[];
100
+ likelyCause: string;
101
+ };
102
+ cost: CostSummary;
103
+ };
104
+ export declare function estimateTokens(chars: number): number;
105
+ export { buildRelayViewState, deriveLogLines, fmtDur };
106
+ export type { LogLine, PhaseRunRef, RelayViewSnapshot, RelayViewState, RelayHandoffLogRow, CollabSummary, RunCostRow };
107
+ export type WallGroupKey = "active" | "idleManual" | "halted" | "doneCanceled";
108
+ export type WallGroups = {
109
+ active: CollabSummary[];
110
+ idleManual: CollabSummary[];
111
+ halted: CollabSummary[];
112
+ doneCanceled: CollabSummary[];
113
+ };
114
+ export declare function partitionWallGroups(summaries: CollabSummary[]): WallGroups;
115
+ export type WallSection = {
116
+ group: WallGroupKey;
117
+ label: string;
118
+ cardKind: "full" | "compact";
119
+ cards: CollabSummary[];
120
+ };
121
+ export type WallSectionsResult = {
122
+ sections: WallSection[];
123
+ page: number;
124
+ pageCount: number;
125
+ totalRuns: number;
126
+ };
127
+ export declare function allocateWallSections(input: {
128
+ groups: WallGroups;
129
+ cols: number;
130
+ rows: number;
131
+ page: number;
132
+ }): WallSectionsResult;
133
+ export declare function selectWallPage(input: {
134
+ summaries: CollabSummary[];
135
+ capacity: number;
136
+ page: number;
137
+ selected: number;
138
+ }): {
139
+ pageSummaries: CollabSummary[];
140
+ page: number;
141
+ pageCount: number;
142
+ totalRuns: number;
143
+ selected: number;
144
+ };
145
+ export declare function buildInspectorState(input: {
146
+ snapshot: RelayViewSnapshot;
147
+ phaseRuns: PhaseRunRef[];
148
+ phaseMaxRounds: Record<number, number>;
149
+ costRows: RunCostRow[];
150
+ workflowCreatedAt: string | null;
151
+ chainId: string | null;
152
+ evidenceHandoffs: RelayHandoffLogRow[];
153
+ evaluatorDiags: Array<{
154
+ verdict: string | null;
155
+ confidence: number | null;
156
+ reason: string | null;
157
+ outcome: string;
158
+ }>;
159
+ captureDiags: Array<{
160
+ captureStatus: string;
161
+ turnConfidence: string;
162
+ }>;
163
+ focusedPhaseRunId: string | null;
164
+ workflows?: WorkflowSummaryRow[];
165
+ selectedWorkflowId?: string | null;
166
+ }): InspectorState;
167
+ export declare function buildWallState(input: {
168
+ summaries: CollabSummary[];
169
+ now: string;
170
+ idleThresholdMs: number;
171
+ capacity?: number;
172
+ cols?: number;
173
+ rows?: number;
174
+ page: number;
175
+ selected: number;
176
+ snapshots: Record<string, {
177
+ handoffs: RelayHandoffLogRow[];
178
+ phaseRuns: PhaseRunRef[];
179
+ totalPhases: number;
180
+ }>;
181
+ }): WallState;
182
+ //# sourceMappingURL=dashboard-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-state.d.ts","sourceRoot":"","sources":["../../src/runtime/dashboard-state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import type { ReactElement } from "react";
2
+ import type { WallState } from "./dashboard-state.js";
3
+ import { type Viewport } from "./relay-view.js";
4
+ import type { InspectorState } from "./dashboard-state.js";
5
+ export declare function abbreviateWorkflowType(full: string): string;
6
+ export declare function gridCapacity(cols: number, rows: number): number;
7
+ export declare function Wall(props: {
8
+ state: WallState;
9
+ cols: number;
10
+ rows: number;
11
+ }): ReactElement;
12
+ export type InspectorSection = "live" | "timeline" | "evidence" | "cost";
13
+ export declare function Inspector(props: {
14
+ state: InspectorState;
15
+ section: InspectorSection;
16
+ viewport: Viewport;
17
+ cols: number;
18
+ rows: number;
19
+ label: string;
20
+ workflowType: string | null;
21
+ workflowStatus?: "running" | "done" | "halted" | "canceled" | null;
22
+ }): ReactElement;
23
+ type KeyEv = {
24
+ upArrow?: boolean;
25
+ downArrow?: boolean;
26
+ escape?: boolean;
27
+ key?: string;
28
+ };
29
+ export declare function DashboardApp(props: {
30
+ node: ReactElement;
31
+ onKey: (ev: KeyEv) => void;
32
+ }): ReactElement;
33
+ export {};
34
+ //# sourceMappingURL=dashboard-view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-view.d.ts","sourceRoot":"","sources":["../../src/runtime/dashboard-view.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,OAAO,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAiB,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAoB3D,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK3D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAI/D;AAwMD,wBAAgB,IAAI,CAAC,KAAK,EAAE;IAC3B,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACb,GAAG,YAAY,CA0Df;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;AA+BzE,wBAAgB,SAAS,CAAC,KAAK,EAAE;IAChC,KAAK,EAAE,cAAc,CAAC;IACtB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,cAAc,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,IAAI,CAAC;CACnE,GAAG,YAAY,CAsIf;AAED,KAAK,KAAK,GAAG;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;CACb,CAAC;AAmBF,wBAAgB,YAAY,CAAC,KAAK,EAAE;IACnC,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,KAAK,IAAI,CAAC;CAC3B,GAAG,YAAY,CAOf"}
@@ -0,0 +1,46 @@
1
+ import type { BrokerRuntime } from "@ai-whisper/broker";
2
+ import { type InspectorSection } from "./dashboard-view.js";
3
+ import type { Viewport } from "./relay-view.js";
4
+ export declare function probeMountAlive(pid: number | null, kill?: (pid: number, signal: number) => void): boolean;
5
+ export declare function buildMountAliveByAgent(attachments: Array<{
6
+ agentType: string;
7
+ attachmentKind: string;
8
+ pid: number | null;
9
+ }>): (agentType: string) => boolean;
10
+ export declare function parseDashboardWindow(input: string | undefined): number | null;
11
+ type Mode = "wall" | "inspector";
12
+ export declare function createDashboardRuntime(input: {
13
+ broker: BrokerRuntime;
14
+ dashboardId: string;
15
+ stdout: NodeJS.WritableStream;
16
+ pollIntervalMs?: number;
17
+ /** Override the eligible-collab window (ms). When set, this beats the
18
+ * AI_WHISPER_DASHBOARD_WINDOW_MS env var and the 30-minute default. */
19
+ windowMs?: number;
20
+ /** Recycle (unmount+remount) the ink instance every N actual renders to
21
+ * hard-bound ink's per-rerender memory retention. Test seam; default 750. */
22
+ __recycleEveryRenders?: number;
23
+ }): {
24
+ start(): void;
25
+ stop(): Promise<void>;
26
+ waitUntilStopped(): Promise<void>;
27
+ __mode: () => Mode;
28
+ __section: () => InspectorSection;
29
+ __handleKey: (ev: {
30
+ upArrow?: boolean;
31
+ downArrow?: boolean;
32
+ escape?: boolean;
33
+ key?: string;
34
+ }) => void;
35
+ __viewport: Viewport;
36
+ __wallSelected: () => number;
37
+ __pollHealth: () => {
38
+ consecutiveErrors: number;
39
+ lastError: string | null;
40
+ };
41
+ __renderCount: () => number;
42
+ __recycles: () => number;
43
+ __clears: () => number;
44
+ };
45
+ export {};
46
+ //# sourceMappingURL=dashboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard.d.ts","sourceRoot":"","sources":["../../src/runtime/dashboard.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAIN,KAAK,gBAAgB,EACrB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAgBhD,wBAAgB,eAAe,CAC9B,GAAG,EAAE,MAAM,GAAG,IAAI,EAClB,IAAI,GAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAEtC,GACC,OAAO,CAQT;AAUD,wBAAgB,sBAAsB,CACrC,WAAW,EAAE,KAAK,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,GACnF,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAShC;AAMD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAoB7E;AAYD,KAAK,IAAI,GAAG,MAAM,GAAG,WAAW,CAAC;AAEjC,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC7C,MAAM,EAAE,aAAa,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;2EACuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;iFAC6E;IAC7E,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAC/B;;;;;;sBA2VuB;QACtB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,GAAG,CAAC,EAAE,MAAM,CAAC;KACb;;;;;;;;;;EA+GD"}
@@ -0,0 +1,21 @@
1
+ export type EvaluatorStatus = "ready" | "missing_anthropic_key" | "invalid_config" | "disabled" | "unknown";
2
+ export interface ResolvedEvaluatorConfig {
3
+ provider: "anthropic" | "ollama";
4
+ fallback: "anthropic" | "ollama" | null;
5
+ anthropic: {
6
+ apiKey: string | null;
7
+ model: string | null;
8
+ };
9
+ ollama: {
10
+ host: string | null;
11
+ model: string | null;
12
+ };
13
+ }
14
+ export declare function loadEvaluatorConfig(): ResolvedEvaluatorConfig;
15
+ export declare function computeEvaluatorStatus(cfg: ResolvedEvaluatorConfig, ctx: {
16
+ orchestratorEnabled: boolean;
17
+ loaderError: Error | null;
18
+ }): Exclude<EvaluatorStatus, "unknown">;
19
+ export declare function isEvaluatorReady(status: EvaluatorStatus): boolean;
20
+ export declare function isEvaluatorPreflightBlocked(status: EvaluatorStatus): boolean;
21
+ //# sourceMappingURL=evaluator-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluator-config.d.ts","sourceRoot":"","sources":["../../src/runtime/evaluator-config.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,eAAe,GACxB,OAAO,GACP,uBAAuB,GACvB,gBAAgB,GAChB,UAAU,GACV,SAAS,CAAC;AAEb,MAAM,WAAW,uBAAuB;IACvC,QAAQ,EAAE,WAAW,GAAG,QAAQ,CAAC;IACjC,QAAQ,EAAE,WAAW,GAAG,QAAQ,GAAG,IAAI,CAAC;IACxC,SAAS,EAAE;QAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC3D,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;CACtD;AA8DD,wBAAgB,mBAAmB,IAAI,uBAAuB,CA4C7D;AAED,wBAAgB,sBAAsB,CACrC,GAAG,EAAE,uBAAuB,EAC5B,GAAG,EAAE;IAAE,mBAAmB,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,KAAK,GAAG,IAAI,CAAA;CAAE,GAC9D,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAOrC;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAGjE;AAKD,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAE5E"}
@@ -0,0 +1,8 @@
1
+ import type { BrokerRuntime } from "@ai-whisper/broker";
2
+ import type { EvaluatorCallEvent } from "./relay-orchestrator-evaluator.js";
3
+ export type BuildEvaluatorObserverCallbackInput = {
4
+ broker: Pick<BrokerRuntime, "control">;
5
+ now?: () => string;
6
+ };
7
+ export declare function buildEvaluatorObserverCallback(input: BuildEvaluatorObserverCallbackInput): (event: EvaluatorCallEvent) => void;
8
+ //# sourceMappingURL=evaluator-observer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evaluator-observer.d.ts","sourceRoot":"","sources":["../../src/runtime/evaluator-observer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAwC5E,MAAM,MAAM,mCAAmC,GAAG;IACjD,MAAM,EAAE,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IACvC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACnB,CAAC;AAEF,wBAAgB,8BAA8B,CAC7C,KAAK,EAAE,mCAAmC,GACxC,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CA4CrC"}
@@ -0,0 +1,5 @@
1
+ export declare function createCliCollabId(now: string): `collab_${string}`;
2
+ export declare function createCliSessionId(agentType: "codex" | "claude", now: string): `session_${string}`;
3
+ export declare function createCliThreadId(now: string): `thread_${string}`;
4
+ export declare function createCliWorkItemId(now: string): `work_${string}`;
5
+ //# sourceMappingURL=id-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id-factory.d.ts","sourceRoot":"","sources":["../../src/runtime/id-factory.ts"],"names":[],"mappings":"AAcA,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,MAAM,EAAE,CAEjE;AAED,wBAAgB,kBAAkB,CACjC,SAAS,EAAE,OAAO,GAAG,QAAQ,EAC7B,GAAG,EAAE,MAAM,GACT,WAAW,MAAM,EAAE,CAErB;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,MAAM,EAAE,CAEjE;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,MAAM,EAAE,CAEjE"}
@@ -0,0 +1,39 @@
1
+ export type LaunchMode = "tmux" | "terminals" | "none";
2
+ export type SpawnFn = (command: string) => number | void;
3
+ export type ExecFn = (command: string) => void;
4
+ export type LaunchResult = {
5
+ launched: true;
6
+ launchMode: LaunchMode;
7
+ tmuxSession?: string;
8
+ commands: {
9
+ codex: string;
10
+ claude: string;
11
+ relayMonitor: string;
12
+ };
13
+ runtime: {
14
+ codexPid?: number;
15
+ claudePid?: number;
16
+ relayMonitorPid?: number;
17
+ codexWindowLabel?: string;
18
+ claudeWindowLabel?: string;
19
+ relayMonitorWindowLabel?: string;
20
+ };
21
+ };
22
+ export declare function detectTmux(): boolean;
23
+ export declare function chooseLaunchMode(input: {
24
+ tmuxAvailable: boolean;
25
+ forceNoTmux: boolean;
26
+ forceNoLaunch: boolean;
27
+ }): LaunchMode;
28
+ export declare function launchSessions(input: {
29
+ launchMode: LaunchMode;
30
+ attachTmux?: boolean;
31
+ collabId: string;
32
+ workspaceRoot: string;
33
+ brokerSqlitePath: string;
34
+ brokerHost: string;
35
+ brokerPort: number;
36
+ spawn?: SpawnFn;
37
+ exec?: ExecFn;
38
+ }): LaunchResult;
39
+ //# sourceMappingURL=launcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"launcher.d.ts","sourceRoot":"","sources":["../../src/runtime/launcher.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;AAEvD,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;AACzD,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAU/C,MAAM,MAAM,YAAY,GAAG;IAC1B,QAAQ,EAAE,IAAI,CAAC;IACf,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,OAAO,EAAE;QACR,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,uBAAuB,CAAC,EAAE,MAAM,CAAC;KACjC,CAAC;CACF,CAAC;AAEF,wBAAgB,UAAU,IAAI,OAAO,CAOpC;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACvC,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;CACvB,GAAG,UAAU,CAIb;AAsED,wBAAgB,cAAc,CAAC,KAAK,EAAE;IACrC,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,YAAY,CAiFf"}
@@ -0,0 +1,8 @@
1
+ import type { CompanionProvider, ProviderReply, ProviderWorkRequest } from "@ai-whisper/shared";
2
+ import type { BrokerArtifactService } from "./broker-artifact-service.js";
3
+ export declare function createLiveSessionBrokerExecutor(input: {
4
+ provider: CompanionProvider;
5
+ artifactService: BrokerArtifactService;
6
+ sessionId: string;
7
+ }): (request: ProviderWorkRequest) => Promise<ProviderReply>;
8
+ //# sourceMappingURL=live-session-broker-executor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live-session-broker-executor.d.ts","sourceRoot":"","sources":["../../src/runtime/live-session-broker-executor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAChG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAE1E,wBAAgB,+BAA+B,CAAC,KAAK,EAAE;IACtD,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,eAAe,EAAE,qBAAqB,CAAC;IACvC,SAAS,EAAE,MAAM,CAAC;CAClB,GAAG,CAAC,OAAO,EAAE,mBAAmB,KAAK,OAAO,CAAC,aAAa,CAAC,CA6F3D"}
@@ -0,0 +1,25 @@
1
+ import type { InteractiveSessionController, RelayDirective } from "@ai-whisper/shared";
2
+ import type { createRelayPaneWriter } from "./relay-pane-writer.js";
3
+ export declare function createLiveSessionRuntime(input: {
4
+ interactiveSession: InteractiveSessionController;
5
+ stdin: NodeJS.ReadableStream;
6
+ stdout: NodeJS.WritableStream;
7
+ onRelay: (directive: RelayDirective, sendNow: (message: string) => void) => Promise<string | null>;
8
+ onRelayCancel?: () => void;
9
+ relayPaneWriter?: ReturnType<typeof createRelayPaneWriter> | undefined;
10
+ externalInputGate?: {
11
+ isBlocked(): boolean;
12
+ renderBlockedMessage(): string;
13
+ onCancel(): void;
14
+ };
15
+ externalInputRouter?: {
16
+ handleInput(text: string): Promise<boolean> | boolean;
17
+ };
18
+ onActivity?: () => void;
19
+ }): {
20
+ start(): Promise<void>;
21
+ isPaused(): boolean;
22
+ withPausedInput<T>(run: () => Promise<T>): Promise<T>;
23
+ stop(): Promise<void>;
24
+ };
25
+ //# sourceMappingURL=live-session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"live-session.d.ts","sourceRoot":"","sources":["../../src/runtime/live-session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,4BAA4B,EAC5B,cAAc,EACd,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAapE,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC/C,kBAAkB,EAAE,4BAA4B,CAAC;IACjD,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IAC9B,OAAO,EAAE,CACR,SAAS,EAAE,cAAc,EACzB,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,KAC9B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,eAAe,CAAC,EAAE,UAAU,CAAC,OAAO,qBAAqB,CAAC,GAAG,SAAS,CAAC;IACvE,iBAAiB,CAAC,EAAE;QACnB,SAAS,IAAI,OAAO,CAAC;QACrB,oBAAoB,IAAI,MAAM,CAAC;QAC/B,QAAQ,IAAI,IAAI,CAAC;KACjB,CAAC;IACF,mBAAmB,CAAC,EAAE;QACrB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;KACtD,CAAC;IACF,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;;gBA4Ma,OAAO;oBAGG,CAAC,OAAO,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;;EAqB5D"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Loads variables from a .env file in the current working directory into
3
+ * process.env. Silently skips if the file does not exist — .env is optional.
4
+ */
5
+ export declare function loadDotEnv(): void;
6
+ //# sourceMappingURL=load-dot-env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-dot-env.d.ts","sourceRoot":"","sources":["../../src/runtime/load-dot-env.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAajC"}
@@ -0,0 +1,23 @@
1
+ export declare function createLocalModalLineReader(input: {
2
+ stdin: NodeJS.ReadableStream;
3
+ stdout: NodeJS.WritableStream;
4
+ }): {
5
+ readLine: () => Promise<string>;
6
+ close: () => void;
7
+ };
8
+ export declare function createLocalModalConfirm(input: {
9
+ stdin: NodeJS.ReadableStream;
10
+ stdout: NodeJS.WritableStream;
11
+ message: string;
12
+ }): {
13
+ run: () => Promise<boolean>;
14
+ };
15
+ export declare function createLocalMultilineComposer(input: {
16
+ prompt: string;
17
+ initialValue: string;
18
+ writeLocalMessage: (text: string) => void;
19
+ readLine: () => Promise<string>;
20
+ }): {
21
+ run(): Promise<string | null>;
22
+ };
23
+ //# sourceMappingURL=local-multiline-composer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-multiline-composer.d.ts","sourceRoot":"","sources":["../../src/runtime/local-multiline-composer.ts"],"names":[],"mappings":"AAOA,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IACjD,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;CAC9B;;;EAgGA;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC9C,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;CAChB;;EAsEA;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;CAChC;WAEc,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;EAapC"}
@@ -0,0 +1,44 @@
1
+ import type { BrokerRuntime } from "@ai-whisper/broker";
2
+ import { createLiveSessionRuntime } from "./live-session.js";
3
+ import { runCompanionAgentLoop } from "./companion-agent-loop.js";
4
+ import { createInteractiveSessionForTarget, createProviderForTarget } from "./providers.js";
5
+ import { createMountedTurnOwnedRelay } from "./mounted-turn-owned-relay.js";
6
+ export declare function safeReapSessions(input: {
7
+ collabId: string;
8
+ agentType: string;
9
+ keepSessionId: string;
10
+ reap?: (collabId: string, agentType: string, keepSessionId: string) => number;
11
+ logError?: (err: unknown) => void;
12
+ }): void;
13
+ type ReapLifecycleInput = {
14
+ collabId: string;
15
+ agentType: string;
16
+ keepSessionId: string;
17
+ reap?: (collabId: string, agentType: string, keepSessionId: string) => number;
18
+ logError?: (err: unknown) => void;
19
+ };
20
+ export declare function reapStaleSessionsOnMount(input: ReapLifecycleInput): void;
21
+ export declare function reapStaleSessionsOnTeardown(input: ReapLifecycleInput): void;
22
+ export declare function createMountSessionRuntime(input: {
23
+ target: "codex" | "claude";
24
+ ttyPath: string;
25
+ workspaceRoot: string;
26
+ claimId: string;
27
+ secret: string;
28
+ broker: BrokerRuntime;
29
+ /**
30
+ * Extra args forwarded to the visible agent spawn (codex/claude). Wired
31
+ * into createInteractiveSessionForTarget only — createProviderForTarget
32
+ * (the non-visible relay/companion side) is unaffected.
33
+ */
34
+ passthroughArgs?: string[];
35
+ createProvider?: typeof createProviderForTarget;
36
+ createInteractiveSession?: typeof createInteractiveSessionForTarget;
37
+ createLiveSession?: typeof createLiveSessionRuntime;
38
+ runLoop?: typeof runCompanionAgentLoop;
39
+ createTurnRelay?: typeof createMountedTurnOwnedRelay;
40
+ }): {
41
+ start(): Promise<void>;
42
+ };
43
+ export {};
44
+ //# sourceMappingURL=mount-session-main.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mount-session-main.d.ts","sourceRoot":"","sources":["../../src/runtime/mount-session-main.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAWxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EACN,iCAAiC,EACjC,uBAAuB,EACvB,MAAM,gBAAgB,CAAC;AAKxB,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAwC5E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9E,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;CAClC,GAAG,IAAI,CAmBP;AAED,KAAK,kBAAkB,GAAG;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9E,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;CAClC,CAAC;AAOF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAExE;AAKD,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAE3E;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAChD,MAAM,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,aAAa,CAAC;IACtB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,cAAc,CAAC,EAAE,OAAO,uBAAuB,CAAC;IAChD,wBAAwB,CAAC,EAAE,OAAO,iCAAiC,CAAC;IACpE,iBAAiB,CAAC,EAAE,OAAO,wBAAwB,CAAC;IACpD,OAAO,CAAC,EAAE,OAAO,qBAAqB,CAAC;IACvC,eAAe,CAAC,EAAE,OAAO,2BAA2B,CAAC;CACrD;;EA6ZA"}