praxis-agent 0.1.2 → 0.2.0

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.
@@ -0,0 +1,63 @@
1
+ import type { ModelToolCall, ModelUsage } from '../../core/runtime.js';
2
+ export interface TuiDisplayMetadata {
3
+ version: string;
4
+ cwd: string;
5
+ model?: string;
6
+ effort?: string;
7
+ permissionMode?: string;
8
+ }
9
+ export type TranscriptItem = {
10
+ kind: 'user' | 'assistant' | 'notice' | 'warning';
11
+ text: string;
12
+ } | {
13
+ kind: 'thinking';
14
+ text: string;
15
+ } | {
16
+ kind: 'tool';
17
+ call: ModelToolCall;
18
+ detail: string;
19
+ } | {
20
+ kind: 'tool-result';
21
+ callId: string;
22
+ text: string;
23
+ isError: boolean;
24
+ };
25
+ export declare function useTerminalWidth(override?: number): number;
26
+ export declare function WelcomePanel({ display, width, }: {
27
+ display: TuiDisplayMetadata;
28
+ width: number;
29
+ }): import("react").JSX.Element;
30
+ export declare function MarkdownText({ text }: {
31
+ text: string;
32
+ }): import("react").JSX.Element;
33
+ export declare function Transcript({ items, activeText, activeThinking, screenReader, }: {
34
+ items: readonly TranscriptItem[];
35
+ activeText: string;
36
+ activeThinking?: string;
37
+ screenReader: boolean;
38
+ }): import("react").JSX.Element;
39
+ export declare function SessionPicker({ sessions, selectedIndex, screenReader, }: {
40
+ sessions: readonly (null | {
41
+ sessionId: string;
42
+ name?: string | null;
43
+ lastPrompt?: string | null;
44
+ status: string;
45
+ })[];
46
+ selectedIndex: number;
47
+ screenReader: boolean;
48
+ }): import("react").JSX.Element;
49
+ export declare function Composer({ input, busy, status, display, usage, width, screenReader, }: {
50
+ input: string;
51
+ busy: boolean;
52
+ status: string;
53
+ display: TuiDisplayMetadata;
54
+ usage?: ModelUsage;
55
+ width: number;
56
+ screenReader: boolean;
57
+ }): import("react").JSX.Element;
58
+ export declare function DialogFrame({ title, children, screenReader, }: {
59
+ title: string;
60
+ children: React.ReactNode;
61
+ screenReader: boolean;
62
+ }): import("react").JSX.Element;
63
+ //# sourceMappingURL=claude-style.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-style.d.ts","sourceRoot":"","sources":["../../../src/cli/tui/claude-style.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAMtE,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACrD;IACE,IAAI,EAAE,aAAa,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAEL,wBAAgB,gBAAgB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAiB1D;AA0BD,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EACP,KAAK,GACN,EAAE;IACD,OAAO,EAAE,kBAAkB,CAAA;IAC3B,KAAK,EAAE,MAAM,CAAA;CACd,+BAgDA;AAgGD,wBAAgB,YAAY,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,+BAwBtD;AAED,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,UAAU,EACV,cAAmB,EACnB,YAAY,GACb,EAAE;IACD,KAAK,EAAE,SAAS,cAAc,EAAE,CAAA;IAChC,UAAU,EAAE,MAAM,CAAA;IAClB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,YAAY,EAAE,OAAO,CAAA;CACtB,+BA6FA;AAED,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,aAAa,EACb,YAAY,GACb,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC,IAAI,GAAG;QACzB,SAAS,EAAE,MAAM,CAAA;QACjB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QACpB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QAC1B,MAAM,EAAE,MAAM,CAAA;KACf,CAAC,EAAE,CAAA;IACJ,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,OAAO,CAAA;CACtB,+BAiDA;AAED,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,IAAI,EACJ,MAAM,EACN,OAAO,EACP,KAAK,EACL,KAAK,EACL,YAAY,GACb,EAAE;IACD,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,kBAAkB,CAAA;IAC3B,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,OAAO,CAAA;CACtB,+BAkDA;AAED,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,QAAQ,EACR,YAAY,GACb,EAAE;IACD,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,YAAY,EAAE,OAAO,CAAA;CACtB,+BAeA"}
@@ -0,0 +1,148 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useState } from 'react';
3
+ import { Box, Text, useStdout } from 'ink';
4
+ const BRAND = '#D97757';
5
+ const ACCENT = '#B8A1FF';
6
+ const SPINNER = ['✳', '✢', '✣', '✤', '✥'];
7
+ export function useTerminalWidth(override) {
8
+ const { stdout } = useStdout();
9
+ const [width, setWidth] = useState(override ?? stdout.columns ?? 80);
10
+ useEffect(() => {
11
+ if (override !== undefined) {
12
+ setWidth(override);
13
+ return;
14
+ }
15
+ const resize = () => setWidth(stdout.columns ?? 80);
16
+ stdout.on('resize', resize);
17
+ return () => {
18
+ stdout.off('resize', resize);
19
+ };
20
+ }, [override, stdout]);
21
+ return Math.max(32, width);
22
+ }
23
+ function compactPath(cwd) {
24
+ const home = process.env.HOME;
25
+ return home && cwd.startsWith(`${home}/`)
26
+ ? `~/${cwd.slice(home.length + 1)}`
27
+ : cwd;
28
+ }
29
+ function permissionLabel(mode) {
30
+ switch (mode) {
31
+ case 'acceptEdits':
32
+ return 'accept edits on';
33
+ case 'bypassPermissions':
34
+ return 'bypass permissions on';
35
+ case 'dontAsk':
36
+ return 'dont ask mode';
37
+ case 'plan':
38
+ return 'plan mode';
39
+ case 'auto':
40
+ return 'auto mode';
41
+ default:
42
+ return 'permissions default';
43
+ }
44
+ }
45
+ export function WelcomePanel({ display, width, }) {
46
+ const panelWidth = Math.min(80, Math.max(32, width));
47
+ const wide = panelWidth >= 68;
48
+ return (_jsxs(Box, { borderStyle: "round", borderColor: "gray", flexDirection: "column", width: panelWidth, paddingX: 1, children: [_jsxs(Box, { children: [_jsx(Text, { color: BRAND, bold: true, children: "Praxis" }), _jsxs(Text, { children: [" Code v", display.version, " "] }), _jsx(Text, { dimColor: true, children: '─'.repeat(Math.max(1, panelWidth - 24)) })] }), _jsxs(Box, { flexDirection: wide ? 'row' : 'column', marginTop: 1, children: [_jsxs(Box, { flexDirection: "column", width: wide ? '62%' : '100%', children: [_jsx(Text, { bold: true, children: "Welcome back!" }), _jsx(Text, { color: BRAND, bold: true, children: ' ◆' }), _jsx(Text, { color: BRAND, children: ' ◆ ◆ ◆' }), _jsx(Text, { color: BRAND, children: ' ◆' }), _jsxs(Text, { children: [display.model ?? 'provider default', display.effort ? (_jsxs(Text, { dimColor: true, children: [" \u00B7 ", display.effort, " effort"] })) : null] }), _jsx(Text, { dimColor: true, children: compactPath(display.cwd) })] }), _jsxs(Box, { flexDirection: "column", width: wide ? '38%' : '100%', marginTop: wide ? 0 : 1, children: [_jsx(Text, { bold: true, children: "Tips for getting started" }), _jsx(Text, { children: "Run /help for commands" }), _jsx(Text, { dimColor: true, children: "\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500" }), _jsx(Text, { bold: true, children: "Shared with Claude Code" }), _jsx(Text, { children: "Sessions, memory, skills" })] })] })] }));
49
+ }
50
+ function InlineText({ text }) {
51
+ const tokens = text.split(/(`[^`]+`|\*\*[^*]+\*\*|\[[^\]]+\]\([^)]+\))/u);
52
+ return (_jsx(Text, { children: tokens.map((token, index) => {
53
+ if (token.startsWith('`') && token.endsWith('`'))
54
+ return (_jsx(Text, { color: "cyan", children: token.slice(1, -1) }, index));
55
+ if (token.startsWith('**') && token.endsWith('**'))
56
+ return (_jsx(Text, { bold: true, children: token.slice(2, -2) }, index));
57
+ const link = /^\[([^\]]+)\]\(([^)]+)\)$/u.exec(token);
58
+ if (link)
59
+ return (_jsx(Text, { color: "blue", underline: true, children: link[1] }, index));
60
+ return token;
61
+ }) }));
62
+ }
63
+ function MarkdownLine({ line }) {
64
+ if (line.startsWith('### '))
65
+ return (_jsx(Text, { bold: true, children: _jsx(InlineText, { text: line.slice(4) }) }));
66
+ if (line.startsWith('## '))
67
+ return (_jsx(Text, { bold: true, color: ACCENT, children: _jsx(InlineText, { text: line.slice(3) }) }));
68
+ if (line.startsWith('# '))
69
+ return (_jsx(Text, { bold: true, color: BRAND, children: _jsx(InlineText, { text: line.slice(2) }) }));
70
+ if (/^[-*] /u.test(line))
71
+ return (_jsxs(Text, { children: [' • ', _jsx(InlineText, { text: line.slice(2) })] }));
72
+ if (/^\d+\. /u.test(line))
73
+ return (_jsxs(Text, { children: [' ', _jsx(InlineText, { text: line })] }));
74
+ if (line.startsWith('> '))
75
+ return (_jsxs(Text, { dimColor: true, children: ['│ ', _jsx(InlineText, { text: line.slice(2) })] }));
76
+ return line ? _jsx(InlineText, { text: line }) : _jsx(Text, { children: " " });
77
+ }
78
+ function ToolResultText({ text }) {
79
+ return (_jsx(Box, { flexDirection: "column", children: text.split('\n').map((line, index) => (_jsx(Text, { ...(line.startsWith('+') && !line.startsWith('+++')
80
+ ? { color: 'green' }
81
+ : line.startsWith('-') && !line.startsWith('---')
82
+ ? { color: 'red' }
83
+ : line.startsWith('@@')
84
+ ? { color: 'cyan' }
85
+ : { dimColor: true }), children: line || ' ' }, index))) }));
86
+ }
87
+ export function MarkdownText({ text }) {
88
+ const lines = text.split('\n');
89
+ let code = false;
90
+ return (_jsx(Box, { flexDirection: "column", children: lines.map((line, index) => {
91
+ if (line.startsWith('```')) {
92
+ code = !code;
93
+ return (_jsx(Text, { dimColor: true, children: code ? `╭─ ${line.slice(3) || 'code'}` : '╰─' }, index));
94
+ }
95
+ return code ? (_jsxs(Text, { color: "cyan", children: ["\u2502 ", line] }, index)) : (_jsx(MarkdownLine, { line: line }, index));
96
+ }) }));
97
+ }
98
+ export function Transcript({ items, activeText, activeThinking = '', screenReader, }) {
99
+ return (_jsxs(Box, { flexDirection: "column", children: [items.map((item, index) => {
100
+ if (item.kind === 'user') {
101
+ return (_jsxs(Box, { marginTop: index === 0 ? 0 : 1, children: [_jsx(Text, { color: BRAND, bold: true, children: screenReader ? 'You: ' : '❯ ' }), _jsx(Text, { bold: true, children: item.text })] }, index));
102
+ }
103
+ if (item.kind === 'assistant') {
104
+ return (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [screenReader ? _jsx(Text, { children: "Praxis:" }) : null, _jsx(MarkdownText, { text: item.text })] }, index));
105
+ }
106
+ if (item.kind === 'thinking') {
107
+ return (_jsxs(Box, { marginTop: 1, children: [_jsx(Text, { color: ACCENT, children: "\u273B " }), _jsxs(Text, { dimColor: true, italic: true, children: ["Thought for a moment", item.text ? ` · ${item.text.slice(0, 160)}` : ''] })] }, index));
108
+ }
109
+ if (item.kind === 'tool') {
110
+ return (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsxs(Text, { children: [_jsx(Text, { color: ACCENT, children: "\u25CF" }), " ", _jsx(Text, { bold: true, children: item.call.name })] }), _jsxs(Text, { dimColor: true, children: [" ", item.detail] })] }, index));
111
+ }
112
+ if (item.kind === 'tool-result') {
113
+ const text = item.text.length > 500 ? `${item.text.slice(0, 497)}...` : item.text;
114
+ return (_jsxs(Box, { marginLeft: 2, flexDirection: "column", children: [_jsx(Text, { color: item.isError ? 'red' : 'gray', children: item.isError ? '└ Error' : '└ Result' }), item.isError ? (_jsx(Text, { color: "red", children: text })) : (_jsx(ToolResultText, { text: text }))] }, index));
115
+ }
116
+ return (_jsxs(Text, { ...(item.kind === 'warning' ? { color: 'red' } : {}), dimColor: item.kind === 'notice', children: [item.kind === 'warning' ? '⚠ ' : '· ', item.text] }, index));
117
+ }), activeThinking ? (_jsxs(Box, { marginTop: 1, children: [screenReader ? (_jsx(Text, { children: "Thinking: " })) : (_jsx(Text, { color: ACCENT, children: "\u273B " })), _jsxs(Text, { dimColor: true, italic: true, children: ["Thinking\u2026 ", activeThinking.slice(-160)] })] })) : activeText ? (_jsxs(Box, { marginTop: 1, children: [screenReader ? (_jsx(Text, { children: "Praxis: " })) : (_jsx(Text, { color: ACCENT, children: "\u2733 " })), _jsx(MarkdownText, { text: activeText })] })) : null] }));
118
+ }
119
+ export function SessionPicker({ sessions, selectedIndex, screenReader, }) {
120
+ const maxVisible = 8;
121
+ const start = Math.max(0, Math.min(selectedIndex - Math.floor(maxVisible / 2), sessions.length - maxVisible));
122
+ const visible = sessions.slice(start, start + maxVisible);
123
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: screenReader ? undefined : 'round', borderColor: "gray", paddingX: screenReader ? 0 : 1, children: [_jsx(Text, { bold: true, children: "Resume a session" }), !screenReader ? (_jsx(Text, { dimColor: true, children: "\u2191/\u2193 to move \u00B7 Enter to select \u00B7 Esc to cancel" })) : null, start > 0 ? _jsxs(Text, { dimColor: true, children: [" \u2191 ", start, " earlier"] }) : null, visible.map((session, visibleIndex) => {
124
+ const index = start + visibleIndex;
125
+ return (_jsxs(Box, { children: [_jsxs(Text, { ...(index === selectedIndex ? { color: BRAND } : {}), bold: index === selectedIndex, children: [index === selectedIndex ? '❯ ' : ' ', session
126
+ ? (session.name ?? session.lastPrompt ?? 'Untitled')
127
+ : 'Start a new session'] }), session ? (_jsxs(Text, { dimColor: true, children: [' ', "\u00B7 ", session.sessionId, " \u00B7 ", session.status] })) : null] }, session?.sessionId ?? 'new'));
128
+ }), start + visible.length < sessions.length ? (_jsxs(Text, { dimColor: true, children: [" \u2193 ", sessions.length - start - visible.length, " more"] })) : null] }));
129
+ }
130
+ export function Composer({ input, busy, status, display, usage, width, screenReader, }) {
131
+ const [spinnerIndex, setSpinnerIndex] = useState(0);
132
+ useEffect(() => {
133
+ if (!busy || screenReader)
134
+ return;
135
+ const timer = setInterval(() => setSpinnerIndex((current) => (current + 1) % SPINNER.length), 90);
136
+ return () => clearInterval(timer);
137
+ }, [busy, screenReader]);
138
+ if (screenReader)
139
+ return _jsx(Text, { children: busy ? `Status: ${status}` : `Prompt: ${input}` });
140
+ const line = '─'.repeat(Math.max(12, Math.min(80, width)));
141
+ return (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [display.effort ? (_jsxs(Box, { justifyContent: "flex-end", width: Math.min(80, width), children: [_jsxs(Text, { color: ACCENT, children: ["\u25C9 ", display.effort] }), _jsx(Text, { dimColor: true, children: " \u00B7 /effort" })] })) : null, usage ? (_jsxs(Text, { dimColor: true, children: ["Context \u00B7 ", usage.inputTokens + usage.outputTokens, " tokens", usage.cacheReadInputTokens
142
+ ? ` · ${usage.cacheReadInputTokens} cached`
143
+ : ''] })) : null, _jsx(Text, { dimColor: true, children: line }), busy ? (_jsxs(Text, { children: [_jsx(Text, { color: ACCENT, children: SPINNER[spinnerIndex] }), " ", status, "\u2026", ' ', _jsx(Text, { dimColor: true, children: "\u00B7 esc to interrupt" })] })) : (_jsxs(Text, { children: [_jsxs(Text, { color: BRAND, bold: true, children: ["\u276F", ' '] }), input || _jsx(Text, { dimColor: true, children: "Try \"review this project\"" })] })), _jsx(Text, { dimColor: true, children: line }), _jsxs(Text, { dimColor: true, children: ["\u23F5\u23F5 ", permissionLabel(display.permissionMode), " \u00B7 /help for shortcuts"] }), _jsx(Text, { dimColor: true, children: "/new \u00B7 /sessions \u00B7 /workflows \u00B7 /exit" })] }));
144
+ }
145
+ export function DialogFrame({ title, children, screenReader, }) {
146
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: screenReader ? undefined : 'round', borderColor: "yellow", paddingX: screenReader ? 0 : 1, marginTop: 1, children: [_jsx(Text, { color: "yellow", bold: true, children: title }), children] }));
147
+ }
148
+ //# sourceMappingURL=claude-style.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-style.js","sourceRoot":"","sources":["../../../src/cli/tui/claude-style.tsx"],"names":[],"mappings":"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"}
package/dist/cli.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { type ForkResult, type SessionInspection, type SessionRunResult, type SessionSummary } from './application/session-service.js';
3
3
  import { type ModelDocument, type ModelImage, type ModelProvider, type ModelToolCall, type PermissionApproval, type ToolRegistry, type RuntimeEventSink } from './core/runtime.js';
4
- import { type InteractiveResumeOptions, type InteractiveServiceFactory } from './cli/interactive.js';
4
+ import type { InteractiveResumeOptions, InteractiveServiceFactory } from './cli/interactive.js';
5
5
  import { authenticateMcpServer } from './mcp/claude-mcp-oauth.js';
6
6
  import { servePraxisMcpStdio } from './mcp/praxis-mcp-server.js';
7
7
  import { parseContextEnvironment, parseProviderEnvironment } from './providers/environment.js';
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -13,8 +13,6 @@ import { createClaudePrSessionFilter, filterClaudePrLinkedSessions, } from './co
13
13
  import { isClaudeSessionId, resolveClaudePaths, } from './compatibility/claude/paths.js';
14
14
  import { loadClaudeContextResources, loadClaudeSettings, loadClaudeSharedResources, resolveClaudeProjectMemoryDirectory, } from './compatibility/claude/shared-resources.js';
15
15
  import { AgentRunCancelledError, } from './core/runtime.js';
16
- import { runInteractive as renderInteractive, } from './cli/interactive.js';
17
- import { runAgentsDashboard as renderAgentsDashboard } from './cli/agents-dashboard.js';
18
16
  import { DEFAULT_CLI_CONTROLS, resolveCliControls } from './cli/controls.js';
19
17
  import { createCliDebugSink } from './cli/debug.js';
20
18
  import { ClaudePermissionResolver, } from './permissions/claude-permission-resolver.js';
@@ -1398,41 +1396,60 @@ const defaultDependencies = {
1398
1396
  runtimeFactory: defaultPluginEvalRuntimeFactory,
1399
1397
  judge: defaultPluginEvalJudge,
1400
1398
  },
1401
- runInteractive: ({ agent, controls, initialPrompt, resume, signal }) => renderInteractive({
1402
- factory: {
1403
- createService: (options) => createDefaultService({
1404
- ...options,
1405
- ...(agent === undefined ? {} : { agent }),
1406
- ...(controls === undefined ? {} : { controls }),
1407
- interactive: true,
1408
- }),
1409
- scheduledPrompts: true,
1410
- },
1411
- ...(signal ? { signal } : {}),
1412
- ...(initialPrompt === undefined ? {} : { initialPrompt }),
1413
- ...(controls?.axScreenReader ? { axScreenReader: true } : {}),
1414
- ...(resume === undefined ? {} : { resume }),
1415
- ...(resume?.fromPr !== undefined
1416
- ? {
1417
- sessionFilter: createClaudePrSessionFilter(resume.fromPr),
1418
- requireSession: true,
1419
- }
1420
- : resume?.sessionSelector === undefined
1421
- ? {}
1422
- : {
1423
- sessionFilter: createResumeSessionFilter(resume.sessionSelector),
1424
- requireSession: true,
1425
- missingSessionMessage: isClaudeSessionId(resume.sessionSelector)
1426
- ? `No conversation found with session ID: ${resume.sessionSelector}`
1427
- : `No conversation found matching: ${resume.sessionSelector}`,
1399
+ runInteractive: async ({ agent, controls, initialPrompt, resume, signal, }) => {
1400
+ const { runInteractive } = await import('./cli/interactive.js');
1401
+ return runInteractive({
1402
+ factory: {
1403
+ createService: (options) => createDefaultService({
1404
+ ...options,
1405
+ ...(agent === undefined ? {} : { agent }),
1406
+ ...(controls === undefined ? {} : { controls }),
1407
+ interactive: true,
1428
1408
  }),
1429
- ...(resume?.requireSession ? { requireSession: true } : {}),
1430
- }),
1431
- runAgentsDashboard: ({ manager, defaults, signal }) => renderAgentsDashboard({
1432
- manager,
1433
- defaults,
1434
- ...(signal ? { signal } : {}),
1435
- }),
1409
+ scheduledPrompts: true,
1410
+ },
1411
+ ...(signal ? { signal } : {}),
1412
+ ...(initialPrompt === undefined ? {} : { initialPrompt }),
1413
+ ...(controls?.axScreenReader ? { axScreenReader: true } : {}),
1414
+ display: {
1415
+ version: VERSION,
1416
+ cwd: process.cwd(),
1417
+ ...(controls?.model
1418
+ ? { model: controls.model }
1419
+ : process.env.PRAXIS_MODEL
1420
+ ? { model: process.env.PRAXIS_MODEL }
1421
+ : {}),
1422
+ effort: controls?.effort ?? 'high',
1423
+ permissionMode: controls?.dangerouslySkipPermissions
1424
+ ? 'bypassPermissions'
1425
+ : (controls?.permissionMode ?? 'default'),
1426
+ },
1427
+ ...(resume === undefined ? {} : { resume }),
1428
+ ...(resume?.fromPr !== undefined
1429
+ ? {
1430
+ sessionFilter: createClaudePrSessionFilter(resume.fromPr),
1431
+ requireSession: true,
1432
+ }
1433
+ : resume?.sessionSelector === undefined
1434
+ ? {}
1435
+ : {
1436
+ sessionFilter: createResumeSessionFilter(resume.sessionSelector),
1437
+ requireSession: true,
1438
+ missingSessionMessage: isClaudeSessionId(resume.sessionSelector)
1439
+ ? `No conversation found with session ID: ${resume.sessionSelector}`
1440
+ : `No conversation found matching: ${resume.sessionSelector}`,
1441
+ }),
1442
+ ...(resume?.requireSession ? { requireSession: true } : {}),
1443
+ });
1444
+ },
1445
+ runAgentsDashboard: async ({ manager, defaults, signal }) => {
1446
+ const { runAgentsDashboard } = await import('./cli/agents-dashboard.js');
1447
+ return runAgentsDashboard({
1448
+ manager,
1449
+ defaults,
1450
+ ...(signal ? { signal } : {}),
1451
+ });
1452
+ },
1436
1453
  topLevelAgents: new TopLevelAgentManager({
1437
1454
  configRoot: resolve(process.env.CLAUDE_CONFIG_DIR ?? resolve(homedir(), '.claude')),
1438
1455
  cwd: process.cwd(),