@bivy/bivy 0.16.3-staging.2 → 0.16.3-staging.3
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.
|
@@ -107,6 +107,9 @@ export function codexAppServerRuntime(tier) {
|
|
|
107
107
|
interactiveTui: codexCommandAvailable(),
|
|
108
108
|
nativeSessionDiscovery: true,
|
|
109
109
|
nativeSessionAdoption: true,
|
|
110
|
+
// `bivy run codex` learns the rollout id from Codex's on-disk store after
|
|
111
|
+
// launch, so an unpinned native terminal can be taken over as chat.
|
|
112
|
+
sessionDiscovery: true,
|
|
110
113
|
},
|
|
111
114
|
resumable: true,
|
|
112
115
|
loadHistory: (sessionId) => loadCodexTranscript(sessionId),
|
|
@@ -147,6 +150,7 @@ export function codexIntegration(origin) {
|
|
|
147
150
|
interactiveTui: installed,
|
|
148
151
|
nativeSessionDiscovery: true,
|
|
149
152
|
nativeSessionAdoption: true,
|
|
153
|
+
sessionDiscovery: true,
|
|
150
154
|
},
|
|
151
155
|
nativeSandbox: true,
|
|
152
156
|
supportTier: "supported",
|
|
@@ -19,7 +19,12 @@ export function piCommand() {
|
|
|
19
19
|
* that native store rather than only the governed one. */
|
|
20
20
|
export async function listNativePiSessions() {
|
|
21
21
|
const { SessionManager } = await import("@earendil-works/pi-coding-agent");
|
|
22
|
-
|
|
22
|
+
// Do not pass the sessions root here. Pi's default store is split into one
|
|
23
|
+
// encoded subdirectory per cwd, and SessionManager.listAll(customDir) scans
|
|
24
|
+
// only that directory itself. The no-argument form walks those cwd
|
|
25
|
+
// subdirectories under PI_CODING_AGENT_DIR; passing `<agentDir>/sessions`
|
|
26
|
+
// therefore made every normal native TUI session invisible to takeover.
|
|
27
|
+
const sessions = await SessionManager.listAll();
|
|
23
28
|
return sessions.map((session) => ({
|
|
24
29
|
id: session.id,
|
|
25
30
|
path: session.path,
|
|
@@ -123,7 +123,10 @@ export function createRunTerminals(deps) {
|
|
|
123
123
|
const { autoName: _autoName, ...publicMeta } = t.meta;
|
|
124
124
|
out.push({ termId: t.id, workspace: t.workspace, createdAt: t.createdAt, lastActivityAt: t.lastActivityAt, pid: terminals.pid(t.id), ...publicMeta, takeoverReady: Boolean(sessionRef) });
|
|
125
125
|
}
|
|
126
|
-
|
|
126
|
+
// Discovery/name lookup above is asynchronous. A takeover can close a PTY
|
|
127
|
+
// while this list is being assembled; never let that older list resolve
|
|
128
|
+
// afterward and resurrect the closed terminal in the sidebar.
|
|
129
|
+
return out.filter((terminal) => runTerminals.has(terminal.termId));
|
|
127
130
|
}
|
|
128
131
|
function broadcastRunTerminalList() {
|
|
129
132
|
void runTerminalList().then((listed) => deps.broadcast({ type: "terminal.list", terminals: listed })).catch(() => { });
|
package/package.json
CHANGED