@agentuity/coder-tui 2.0.9 → 2.0.11

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.
@@ -1,14 +1,14 @@
1
1
  /**
2
2
  * Remote TUI — Native Pi Coding Agent Renderer for Remote Sessions
3
3
  *
4
- * Creates a real AgentSession + InteractiveMode backed by a remote sandbox
4
+ * Creates a real AgentSessionRuntime + InteractiveMode backed by a remote sandbox
5
5
  * via Hub WebSocket, with the coder extension loaded for Hub UI (footer,
6
6
  * /hub overlay, commands, titlebar).
7
7
  *
8
8
  * Architecture:
9
9
  * Remote TUI → Hub WebSocket (controller) → Sandbox (Pi RPC mode)
10
10
  * - User input → agent.prompt() (monkey-patched) → RPC `prompt` → Hub → sandbox
11
- * - Sandbox Pi → AgentEvent stream → Hub broadcast → Agent.emit() → InteractiveMode renders natively
11
+ * - Sandbox Pi → AgentEvent stream → Hub broadcast → AgentSession event handling → InteractiveMode renders natively
12
12
  * - Hub UI → coder extension (loaded via DefaultResourceLoader) provides footer, /hub, commands
13
13
  *
14
14
  * The local Agent never calls an LLM. Its prompt/steer/abort are monkey-patched
@@ -22,16 +22,17 @@
22
22
  *
23
23
  * IMPORTANT: Initialization order matters!
24
24
  * 1. Create RemoteSession (no connection yet)
25
- * 2. Create AgentSession, patch Agent/Session methods
25
+ * 2. Create AgentSessionRuntime, patch Agent/Session methods
26
26
  * 3. Register ALL event handlers on RemoteSession
27
27
  * 4. THEN connect — so hydration + replay events are captured
28
28
  */
29
- import { createAgentSession, DefaultResourceLoader, InteractiveMode, SessionManager, } from '@mariozechner/pi-coding-agent';
29
+ import { createAgentSessionFromServices, createAgentSessionRuntime, createAgentSessionServices, getAgentDir, InteractiveMode, SessionManager, } from '@mariozechner/pi-coding-agent';
30
30
  import { getNativeRemoteExtensionContext, setNativeRemoteExtensionContext, waitForNativeRemoteExtensionContext, } from "./native-remote-ui-context.js";
31
31
  import { clearRemoteLifecycleWorkingMessage, getRemoteLifecycleActivityLabel, getRemoteLifecycleLabel, syncRemoteLifecycleWorkingMessage, } from "./remote-lifecycle.js";
32
32
  import { RemoteSession } from "./remote-session.js";
33
33
  import { agentuityCoderHub } from "./index.js";
34
34
  import { handleRemoteUiRequest, REMOTE_FIRE_AND_FORGET_UI_METHODS } from "./remote-ui-handler.js";
35
+ import { dispatchRemoteSessionEvent, installRemoteRuntimeOperationGuards, REMOTE_RUNTIME_OPERATION_MESSAGE, } from "./remote-runtime.js";
35
36
  const DEBUG = !!process.env['AGENTUITY_DEBUG'];
36
37
  function log(msg) {
37
38
  if (DEBUG)
@@ -41,7 +42,7 @@ function log(msg) {
41
42
  * Run the native Pi TUI connected to a remote sandbox session.
42
43
  *
43
44
  * This is the entry point for `agentuity coder start --remote <sessionId>`.
44
- * Creates an AgentSession with the coder extension loaded (Hub UI), then
45
+ * Creates an AgentSessionRuntime with the coder extension loaded (Hub UI), then
45
46
  * monkey-patches the Agent for remote-backed execution.
46
47
  */
47
48
  export async function runRemoteTui(options) {
@@ -62,29 +63,63 @@ export async function runRemoteTui(options) {
62
63
  remote.orgId = orgId || process.env.AGENTUITY_ORGID || null;
63
64
  let hydrationStreamingDetected = false;
64
65
  let sessionResumeSeen = false;
65
- // ── 2. Create AgentSession with coder extension loaded ──
66
+ // ── 2. Create AgentSessionRuntime with coder extension loaded ──
66
67
  // The extension provides Hub UI (footer, /hub overlay, commands, titlebar).
67
68
  // AGENTUITY_CODER_NATIVE_REMOTE=1 tells it to skip legacy event rendering.
68
69
  const cwd = process.cwd();
69
- const resourceLoader = new DefaultResourceLoader({
70
+ const runtime = await createAgentSessionRuntime(async ({ cwd, agentDir, sessionManager, sessionStartEvent }) => {
71
+ const services = await createAgentSessionServices({
72
+ cwd,
73
+ agentDir,
74
+ resourceLoaderOptions: {
75
+ noExtensions: true, // Skip file-system extension discovery
76
+ extensionFactories: [agentuityCoderHub], // Load coder extension directly
77
+ },
78
+ });
79
+ return {
80
+ ...(await createAgentSessionFromServices({
81
+ services,
82
+ sessionManager,
83
+ sessionStartEvent,
84
+ tools: [], // No local tools — sandbox has all the tools
85
+ })),
86
+ services,
87
+ diagnostics: services.diagnostics,
88
+ };
89
+ }, {
70
90
  cwd,
71
- noExtensions: true, // Skip file-system extension discovery
72
- extensionFactories: [agentuityCoderHub], // Load coder extension directly
73
- });
74
- await resourceLoader.reload();
75
- const { session } = await createAgentSession({
91
+ agentDir: getAgentDir(),
76
92
  sessionManager: SessionManager.inMemory(),
77
- tools: [], // No local tools — sandbox has all the tools
78
- resourceLoader,
79
93
  });
80
- log('AgentSession created');
94
+ const session = runtime.session;
95
+ const agent = session.agent;
96
+ let runtimeDisposed = false;
97
+ log('AgentSessionRuntime created');
98
+ function notifyBlockedRuntimeOperation(operation) {
99
+ const message = `${REMOTE_RUNTIME_OPERATION_MESSAGE} (${operation})`;
100
+ const ctx = getNativeRemoteExtensionContext();
101
+ if (ctx?.hasUI) {
102
+ ctx.ui.notify(message, 'warning');
103
+ ctx.ui.setStatus('remote_runtime', operation);
104
+ return;
105
+ }
106
+ log(message);
107
+ }
108
+ installRemoteRuntimeOperationGuards(runtime, (operation) => notifyBlockedRuntimeOperation(operation));
109
+ async function disposeRuntime() {
110
+ if (runtimeDisposed)
111
+ return;
112
+ runtimeDisposed = true;
113
+ await runtime.dispose();
114
+ }
81
115
  // NOTE: Do NOT call session.bindExtensions() here.
82
116
  // InteractiveMode.initExtensions() calls it with the proper uiContext.
83
117
  // Calling it early fires session_start twice, duplicating extension init.
84
- // Access the Agent instance (typed as `any` for monkey-patching)
85
- const agent = session.agent;
86
118
  let lifecycleState = remote.getLifecycleState();
87
119
  let lifecycleOwnsWorkingMessage = false;
120
+ function emitSessionEvent(event) {
121
+ dispatchRemoteSessionEvent(session, event);
122
+ }
88
123
  function applyLifecycleUi(state) {
89
124
  const ctx = getNativeRemoteExtensionContext();
90
125
  if (!ctx?.hasUI)
@@ -130,7 +165,7 @@ export async function runRemoteTui(options) {
130
165
  agent.runningPrompt = runPromise;
131
166
  // Emit synthetic agent_start so InteractiveMode shows "working" immediately
132
167
  syntheticAgentStartEmitted = true;
133
- agent.emit({ type: 'agent_start', agentName: 'lead', timestamp: Date.now() });
168
+ emitSessionEvent({ type: 'agent_start', agentName: 'lead', timestamp: Date.now() });
134
169
  // Send RPC command to sandbox
135
170
  remote.prompt(text);
136
171
  log(`Sent prompt: ${text.slice(0, 100)}`);
@@ -211,7 +246,7 @@ export async function runRemoteTui(options) {
211
246
  //
212
247
  // Events that arrive before InteractiveMode is initialized are buffered
213
248
  // and flushed after init (InteractiveMode registers listeners during init,
214
- // so agent.emit() before that fires into the void).
249
+ // so session event dispatch before that fires into the void).
215
250
  let interactiveModeReady = false;
216
251
  let eventBuffer = [];
217
252
  let seenMessageStart = false;
@@ -254,7 +289,7 @@ export async function runRemoteTui(options) {
254
289
  return;
255
290
  }
256
291
  for (const event of syntheticEvents) {
257
- agent.emit(event);
292
+ emitSessionEvent(event);
258
293
  }
259
294
  }
260
295
  remote.onEvent((rpcEvent) => {
@@ -417,10 +452,14 @@ export async function runRemoteTui(options) {
417
452
  !hadSeenMessageStart) {
418
453
  log(`Live ${rpcEvent.type} without prior message_start — injecting synthetics`);
419
454
  if (!hadSeenAgentStart) {
420
- agent.emit({ type: 'agent_start', agentName: 'lead', timestamp: Date.now() });
455
+ emitSessionEvent({
456
+ type: 'agent_start',
457
+ agentName: 'lead',
458
+ timestamp: Date.now(),
459
+ });
421
460
  seenAgentStart = true;
422
461
  }
423
- agent.emit({
462
+ emitSessionEvent({
424
463
  type: 'message_start',
425
464
  message: {
426
465
  role: 'assistant',
@@ -444,7 +483,7 @@ export async function runRemoteTui(options) {
444
483
  injectedSyntheticMessageStart = true;
445
484
  }
446
485
  // Emit to subscribers — InteractiveMode.handleEvent processes this
447
- agent.emit(rpcEvent);
486
+ emitSessionEvent(rpcEvent);
448
487
  if (injectedSyntheticMessageStart && rpcEvent.type === 'message_end') {
449
488
  seenMessageStart = false;
450
489
  seenAgentStart = hadSeenAgentStart;
@@ -662,7 +701,7 @@ export async function runRemoteTui(options) {
662
701
  log(`Post-hydration: SM has ${smEntries.length} entries, leafId=${sm.getLeafId?.() ?? 'N/A'}`);
663
702
  // ── 9. Start InteractiveMode — full native Pi TUI ──
664
703
  log('Creating InteractiveMode');
665
- const interactive = new InteractiveMode(session);
704
+ const interactive = new InteractiveMode(runtime);
666
705
  log('InteractiveMode created, calling init...');
667
706
  await interactive.init();
668
707
  // Flush buffered events now that InteractiveMode is listening.
@@ -676,8 +715,8 @@ export async function runRemoteTui(options) {
676
715
  // the streaming indicator right away, before any buffered events flush.
677
716
  // This prevents the blank screen gap between connect and first event.
678
717
  log('Hydration detected streaming — emitting immediate synthetics');
679
- agent.emit({ type: 'agent_start', agentName: 'lead', timestamp: Date.now() });
680
- agent.emit({
718
+ emitSessionEvent({ type: 'agent_start', agentName: 'lead', timestamp: Date.now() });
719
+ emitSessionEvent({
681
720
  type: 'message_start',
682
721
  message: {
683
722
  role: 'assistant',
@@ -705,7 +744,7 @@ export async function runRemoteTui(options) {
705
744
  if (eventBuffer.length > 0) {
706
745
  log(`Flushing ${eventBuffer.length} events: ${eventBuffer.map((e) => e.type).join(', ')}`);
707
746
  for (const buffered of eventBuffer) {
708
- agent.emit(buffered);
747
+ emitSessionEvent(buffered);
709
748
  if (buffered.type === 'agent_end') {
710
749
  resolveRunningPrompt();
711
750
  }
@@ -718,6 +757,9 @@ export async function runRemoteTui(options) {
718
757
  remote.close();
719
758
  setNativeRemoteExtensionContext(null);
720
759
  interactive.stop();
760
+ void disposeRuntime().catch((err) => {
761
+ log(`Runtime dispose error during cleanup: ${err instanceof Error ? err.message : String(err)}`);
762
+ });
721
763
  };
722
764
  process.on('SIGINT', cleanup);
723
765
  process.on('SIGTERM', cleanup);
@@ -731,6 +773,9 @@ export async function runRemoteTui(options) {
731
773
  finally {
732
774
  remote.close();
733
775
  setNativeRemoteExtensionContext(null);
776
+ await disposeRuntime().catch((err) => {
777
+ log(`Runtime dispose error: ${err instanceof Error ? err.message : String(err)}`);
778
+ });
734
779
  log('Remote TUI exited');
735
780
  }
736
781
  // ── Helper: resolve the running prompt promise ──
@@ -1 +1 @@
1
- {"version":3,"file":"remote-tui.js","sourceRoot":"","sources":["../src/remote-tui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remote-tui.js","sourceRoot":"","sources":["../src/remote-tui.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentuity/coder-tui",
3
- "version": "2.0.9",
3
+ "version": "2.0.11",
4
4
  "description": "Agentuity Coder Hub extension for Pi coding agent",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Agentuity employees and contributors",
@@ -25,12 +25,12 @@
25
25
  "prepublishOnly": "bun run clean && bun run build"
26
26
  },
27
27
  "dependencies": {
28
- "@mariozechner/pi-coding-agent": "^0.64.0",
29
- "@mariozechner/pi-tui": "^0.64.0",
28
+ "@mariozechner/pi-coding-agent": "^0.65.0",
29
+ "@mariozechner/pi-tui": "^0.65.0",
30
30
  "@sinclair/typebox": "^0.34.48"
31
31
  },
32
32
  "devDependencies": {
33
- "@mariozechner/pi-ai": "^0.64.0",
33
+ "@mariozechner/pi-ai": "^0.65.0",
34
34
  "@types/bun": "^1.3.9",
35
35
  "bun-types": "^1.3.9",
36
36
  "typescript": "^5.9.0"
package/src/commands.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Slash commands for routing to specific Coder Hub agents.
2
+ * Slash commands for routing to specific Coder agents.
3
3
  *
4
4
  * Registers /lead, /memory, /product, etc. that prefix the user's
5
5
  * message with routing instructions so the lead agent delegates
@@ -57,7 +57,7 @@ export function registerAgentCommands(
57
57
 
58
58
  // Register the /agents command that lists all available agents
59
59
  pi.registerCommand('agents', {
60
- description: 'List all available Coder Hub agents',
60
+ description: 'List all available Coder agents',
61
61
  handler: async (_args, ctx) => {
62
62
  if (ctx.hasUI && openAgentManager) {
63
63
  await openAgentManager(ctx);
@@ -102,8 +102,8 @@ export function registerAgentCommands(
102
102
  handler: async (_args, ctx) => {
103
103
  const hubStatus = getHubStatus();
104
104
  const lines: string[] = [];
105
- lines.push('Coder Hub Status');
106
- lines.push(` Hub: ${hubStatus}`);
105
+ lines.push('Coder Status');
106
+ lines.push(` Status: ${hubStatus}`);
107
107
  lines.push(` Agents: ${agents.length} available`);
108
108
  lines.push(
109
109
  ` ${agents
@@ -2253,7 +2253,7 @@ export class HubOverlay implements Component, Focusable {
2253
2253
  const contentBudget = Math.max(5, maxLines - headerRows - footerRows);
2254
2254
  const body: string[] = [];
2255
2255
 
2256
- lines.push(buildTopBorder(width, 'Coder Hub Sessions'));
2256
+ lines.push(buildTopBorder(width, 'Coder Sessions'));
2257
2257
  lines.push(this.contentLine('', inner));
2258
2258
 
2259
2259
  if (this.loadingList) {
@@ -2298,7 +2298,7 @@ export class HubOverlay implements Component, Focusable {
2298
2298
  body.push(this.contentLine(this.theme.bold(' Teams / Observers'), inner));
2299
2299
 
2300
2300
  if (this.sessions.length === 0 && !this.loadingList && !this.listError) {
2301
- body.push(this.contentLine(this.theme.fg('muted', ' No active Hub sessions'), inner));
2301
+ body.push(this.contentLine(this.theme.fg('muted', ' No active Coder sessions'), inner));
2302
2302
  } else if (!this.loadingList && !this.listError) {
2303
2303
  const listBudget = Math.max(1, contentBudget - body.length);
2304
2304
  const [start, end] = getVisibleRange(this.sessions.length, this.selectedIndex, listBudget);
package/src/index.ts CHANGED
@@ -84,9 +84,7 @@ const MAX_OUTPUT_LINES = 5_000;
84
84
  const PROXY_EVENTS = [
85
85
  'session_shutdown',
86
86
  'session_before_switch',
87
- 'session_switch',
88
87
  'session_before_fork',
89
- 'session_fork',
90
88
  'session_before_compact',
91
89
  'session_compact',
92
90
  'before_agent_start',
@@ -1290,7 +1288,7 @@ export function agentuityCoderHub(pi: ExtensionAPI) {
1290
1288
 
1291
1289
  if (!isSubAgent) {
1292
1290
  pi.registerCommand('hub', {
1293
- description: 'Open Coder Hub overlay (sessions, detail, feed)',
1291
+ description: 'Open Coder overlay (sessions, detail, feed)',
1294
1292
  handler: async (_args, ctx) => {
1295
1293
  if (!ctx.hasUI) return;
1296
1294
  await openHubOverlay(ctx, currentSessionId);
@@ -1334,7 +1332,7 @@ export function agentuityCoderHub(pi: ExtensionAPI) {
1334
1332
  });
1335
1333
 
1336
1334
  pi.registerCommand('sync-hub-skills', {
1337
- description: 'Sync skills from Coder Hub to local .agents/skills/ directory',
1335
+ description: 'Sync skills from Coder to local .agents/skills/ directory',
1338
1336
  handler: async (_args, ctx) => {
1339
1337
  const baseUrl = getHubHttpBaseUrl(hubUrl);
1340
1338
  const url = `${baseUrl}/api/hub/skills`;
package/src/protocol.ts CHANGED
@@ -381,6 +381,7 @@ export interface SessionListItem {
381
381
  participantCount: number;
382
382
  tags: string[];
383
383
  skills: SessionSkillRef[];
384
+ agentSlugs: string[];
384
385
  defaultAgent?: string;
385
386
  bucket: SessionBucket;
386
387
  runtimeAvailable: boolean;
@@ -529,6 +530,7 @@ export interface SessionSnapshotMetadataExtensions {
529
530
  product?: SessionProductProjection;
530
531
  tags: string[];
531
532
  skills: SessionSkillRef[];
533
+ agentSlugs: string[];
532
534
  defaultAgent?: string;
533
535
  workers?: SessionListItem[];
534
536
  }
@@ -0,0 +1,45 @@
1
+ import type { RpcEvent } from './remote-session.ts';
2
+
3
+ export const REMOTE_RUNTIME_OPERATION_MESSAGE =
4
+ 'Remote controller mode only supports the current sandbox session.';
5
+
6
+ type RemoteRuntimeOperation = '/new' | '/resume' | '/fork' | '/import';
7
+
8
+ interface RemoteRuntimeGuards {
9
+ newSession?: () => Promise<unknown>;
10
+ switchSession?: () => Promise<unknown>;
11
+ fork?: () => Promise<unknown>;
12
+ importFromJsonl?: () => Promise<unknown>;
13
+ }
14
+
15
+ interface RemoteSessionEventTarget {
16
+ _handleAgentEvent?: (event: RpcEvent) => void;
17
+ }
18
+
19
+ export function dispatchRemoteSessionEvent(
20
+ session: RemoteSessionEventTarget,
21
+ event: RpcEvent
22
+ ): void {
23
+ if (typeof session._handleAgentEvent !== 'function') {
24
+ throw new Error(
25
+ 'Pi AgentSession no longer exposes _handleAgentEvent; remote TUI event dispatch needs an update.'
26
+ );
27
+ }
28
+
29
+ session._handleAgentEvent(event);
30
+ }
31
+
32
+ export function installRemoteRuntimeOperationGuards(
33
+ runtime: RemoteRuntimeGuards,
34
+ onBlocked: (operation: RemoteRuntimeOperation) => void
35
+ ): void {
36
+ const block = (operation: RemoteRuntimeOperation) => async (): Promise<{ cancelled: true }> => {
37
+ onBlocked(operation);
38
+ return { cancelled: true };
39
+ };
40
+
41
+ runtime.newSession = block('/new');
42
+ runtime.switchSession = block('/resume');
43
+ runtime.fork = block('/fork');
44
+ runtime.importFromJsonl = block('/import');
45
+ }