praxis-agent 0.5.2 → 0.7.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.
Files changed (33) hide show
  1. package/README.md +7 -5
  2. package/dist/cli/interactive.d.ts +10 -1
  3. package/dist/cli/interactive.d.ts.map +1 -1
  4. package/dist/cli/interactive.js +287 -5
  5. package/dist/cli/interactive.js.map +1 -1
  6. package/dist/cli/tui/claude-style.d.ts +20 -0
  7. package/dist/cli/tui/claude-style.d.ts.map +1 -1
  8. package/dist/cli/tui/claude-style.js +66 -0
  9. package/dist/cli/tui/claude-style.js.map +1 -1
  10. package/dist/cli/tui/hook-settings.d.ts +33 -0
  11. package/dist/cli/tui/hook-settings.d.ts.map +1 -0
  12. package/dist/cli/tui/hook-settings.js +200 -0
  13. package/dist/cli/tui/hook-settings.js.map +1 -0
  14. package/dist/cli/tui/memory-files.d.ts +25 -0
  15. package/dist/cli/tui/memory-files.d.ts.map +1 -0
  16. package/dist/cli/tui/memory-files.js +141 -0
  17. package/dist/cli/tui/memory-files.js.map +1 -0
  18. package/dist/cli/tui/slash-commands.d.ts.map +1 -1
  19. package/dist/cli/tui/slash-commands.js +10 -0
  20. package/dist/cli/tui/slash-commands.js.map +1 -1
  21. package/dist/cli.d.ts +3 -0
  22. package/dist/cli.d.ts.map +1 -1
  23. package/dist/cli.js +44 -5
  24. package/dist/cli.js.map +1 -1
  25. package/dist/compatibility/claude/shared-resources.d.ts +7 -0
  26. package/dist/compatibility/claude/shared-resources.d.ts.map +1 -1
  27. package/dist/compatibility/claude/shared-resources.js +102 -4
  28. package/dist/compatibility/claude/shared-resources.js.map +1 -1
  29. package/dist/plugins/claude-plugin-runtime.d.ts +1 -0
  30. package/dist/plugins/claude-plugin-runtime.d.ts.map +1 -1
  31. package/dist/plugins/claude-plugin-runtime.js +49 -21
  32. package/dist/plugins/claude-plugin-runtime.js.map +1 -1
  33. package/package.json +2 -1
@@ -0,0 +1,200 @@
1
+ export const TUI_HOOK_MENU = {
2
+ title: 'Hooks',
3
+ readOnlyNotice: 'This menu is read-only. To add or modify hooks, edit settings.json directly or ask Claude.',
4
+ visibleRows: 5,
5
+ };
6
+ export const TUI_HOOK_EVENTS = [
7
+ {
8
+ name: 'PreToolUse',
9
+ description: 'Before tool execution',
10
+ detail: [
11
+ 'Input to command is JSON of tool call arguments.',
12
+ 'Exit code 0 - stdout/stderr not shown',
13
+ 'Exit code 2 - show stderr to model and block tool call',
14
+ 'Other exit codes - show stderr to user only but continue with tool call',
15
+ ],
16
+ },
17
+ {
18
+ name: 'PostToolUse',
19
+ description: 'After tool execution',
20
+ detail: [
21
+ 'Input to command is JSON with fields "inputs" (tool call arguments) and "response" (tool call response).',
22
+ 'Exit code 0 - stdout shown in transcript mode (ctrl+o)',
23
+ 'Exit code 2 - show stderr to model immediately',
24
+ 'Other exit code - show stderr to user only',
25
+ ],
26
+ },
27
+ {
28
+ name: 'PostToolUseFailure',
29
+ description: 'After tool execution fails',
30
+ detail: [],
31
+ },
32
+ {
33
+ name: 'PostToolBatch',
34
+ description: 'After a batch of tool calls resolves',
35
+ detail: [],
36
+ },
37
+ {
38
+ name: 'PermissionDenied',
39
+ description: 'After auto mode classifier denies a tool call',
40
+ detail: [],
41
+ },
42
+ {
43
+ name: 'Notification',
44
+ description: 'When notifications are sent',
45
+ detail: [
46
+ 'Input to command is JSON with notification message and type.',
47
+ 'Exit code 0 - stdout/stderr not shown',
48
+ 'Other exit codes - show stderr to user only',
49
+ ],
50
+ },
51
+ {
52
+ name: 'UserPromptSubmit',
53
+ description: 'When the user submits a prompt',
54
+ detail: [
55
+ 'Input to command is JSON with original user prompt text.',
56
+ 'Exit code 0 - stdout shown to Claude',
57
+ 'Exit code 2 - block processing, erase original prompt, and show stderr to user only',
58
+ 'Other exit codes - show stderr to user only',
59
+ ],
60
+ },
61
+ {
62
+ name: 'UserPromptExpansion',
63
+ description: 'After a user-typed slash command expands into a prompt',
64
+ detail: [],
65
+ },
66
+ {
67
+ name: 'SessionStart',
68
+ description: 'When a new session is started',
69
+ detail: [],
70
+ },
71
+ {
72
+ name: 'Stop',
73
+ description: 'Right before Claude concludes its response',
74
+ detail: [],
75
+ },
76
+ {
77
+ name: 'StopFailure',
78
+ description: 'When the turn ends due to an API error',
79
+ detail: [],
80
+ },
81
+ {
82
+ name: 'SubagentStart',
83
+ description: 'When a subagent (Agent tool call) is started',
84
+ detail: [],
85
+ },
86
+ {
87
+ name: 'SubagentStop',
88
+ description: 'Right before a subagent (Agent tool call) concludes its response',
89
+ detail: [],
90
+ },
91
+ {
92
+ name: 'PreCompact',
93
+ description: 'Before conversation compaction',
94
+ detail: [],
95
+ },
96
+ {
97
+ name: 'PostCompact',
98
+ description: 'After conversation compaction',
99
+ detail: [],
100
+ },
101
+ {
102
+ name: 'SessionEnd',
103
+ description: 'When a session is ending',
104
+ detail: [],
105
+ },
106
+ {
107
+ name: 'PermissionRequest',
108
+ description: 'When a permission dialog is displayed',
109
+ detail: [],
110
+ },
111
+ ];
112
+ function isRecord(value) {
113
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
114
+ }
115
+ function scope(resource) {
116
+ if (resource.plugin)
117
+ return {
118
+ short: 'Plugin',
119
+ long: `Plugin Hooks (${resource.pluginSource ?? resource.pluginName ?? 'plugin'})`,
120
+ };
121
+ if (resource.scope === 'project')
122
+ return { short: 'Project', long: 'Project Settings' };
123
+ if (resource.scope === 'local')
124
+ return { short: 'Local', long: 'Local Settings' };
125
+ return { short: 'User', long: 'User Settings' };
126
+ }
127
+ function hookLabel(hook, type) {
128
+ const statusMessage = hook.statusMessage;
129
+ if (typeof statusMessage === 'string' && statusMessage.length > 0)
130
+ return statusMessage;
131
+ const field = type === 'command' ? 'command' : type === 'http' ? 'url' : 'prompt';
132
+ const label = hook[field];
133
+ if (typeof label === 'string' && label.length > 0)
134
+ return label;
135
+ return type;
136
+ }
137
+ const HOOK_SCOPE_ORDER = {
138
+ Local: 0,
139
+ Project: 1,
140
+ User: 2,
141
+ Plugin: 3,
142
+ };
143
+ export function projectTuiHooks(settings) {
144
+ let hookCount = 0;
145
+ const events = TUI_HOOK_EVENTS.map((definition) => {
146
+ const matchers = [];
147
+ for (const resource of settings) {
148
+ if (!isRecord(resource.value) || !isRecord(resource.value.hooks))
149
+ continue;
150
+ const configured = resource.value.hooks[definition.name];
151
+ if (!Array.isArray(configured))
152
+ continue;
153
+ for (const group of configured) {
154
+ if (!isRecord(group) || !Array.isArray(group.hooks))
155
+ continue;
156
+ const labels = scope(resource);
157
+ const hooks = group.hooks.flatMap((hook) => {
158
+ if (!isRecord(hook))
159
+ return [];
160
+ const type = typeof hook.type === 'string' && hook.type.length > 0
161
+ ? hook.type
162
+ : 'command';
163
+ hookCount += 1;
164
+ return [
165
+ {
166
+ type,
167
+ label: hookLabel(hook, type),
168
+ scopeLabel: labels.long,
169
+ path: resource.path,
170
+ },
171
+ ];
172
+ });
173
+ if (hooks.length === 0)
174
+ continue;
175
+ matchers.push({
176
+ matcher: typeof group.matcher === 'string' && group.matcher.length > 0
177
+ ? group.matcher
178
+ : '(all)',
179
+ scope: labels.short,
180
+ scopeLabel: labels.long,
181
+ hooks,
182
+ });
183
+ }
184
+ }
185
+ matchers.sort((left, right) => {
186
+ const scopeOrder = (HOOK_SCOPE_ORDER[left.scope] ?? Number.MAX_SAFE_INTEGER) -
187
+ (HOOK_SCOPE_ORDER[right.scope] ?? Number.MAX_SAFE_INTEGER);
188
+ if (scopeOrder !== 0)
189
+ return scopeOrder;
190
+ if (left.matcher === '(all)' && right.matcher !== '(all)')
191
+ return -1;
192
+ if (right.matcher === '(all)' && left.matcher !== '(all)')
193
+ return 1;
194
+ return left.matcher.localeCompare(right.matcher);
195
+ });
196
+ return { ...definition, matchers };
197
+ });
198
+ return { events, hookCount };
199
+ }
200
+ //# sourceMappingURL=hook-settings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook-settings.js","sourceRoot":"","sources":["../../../src/cli/tui/hook-settings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { type ClaudeResourceScope } from '../../compatibility/claude/shared-resources.js';
2
+ export interface TuiMemoryFileEntry {
3
+ kind: 'file' | 'folder';
4
+ label: string;
5
+ path: string;
6
+ displayPath: string;
7
+ annotation?: string;
8
+ scope: ClaudeResourceScope;
9
+ imported?: true;
10
+ }
11
+ export interface TuiMemoryFiles {
12
+ autoMemoryEnabled: boolean;
13
+ entries: readonly TuiMemoryFileEntry[];
14
+ }
15
+ export interface LoadTuiMemoryFilesOptions {
16
+ configRoot: string;
17
+ cwd: string;
18
+ homeDirectory?: string;
19
+ }
20
+ export declare function displayTuiMemoryPath(path: string, cwd: string, homeDirectory?: string): string;
21
+ export declare function loadTuiMemoryFiles({ configRoot, cwd, homeDirectory, }: LoadTuiMemoryFilesOptions): Promise<TuiMemoryFiles>;
22
+ type TuiMemoryFolderLauncher = (command: string, args: readonly string[]) => Promise<void>;
23
+ export declare function openTuiMemoryFolder(path: string, launcher?: TuiMemoryFolderLauncher): Promise<void>;
24
+ export {};
25
+ //# sourceMappingURL=memory-files.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-files.d.ts","sourceRoot":"","sources":["../../../src/cli/tui/memory-files.ts"],"names":[],"mappings":"AAKA,OAAO,EAIL,KAAK,mBAAmB,EAEzB,MAAM,gDAAgD,CAAA;AAEvD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,mBAAmB,CAAA;IAC1B,QAAQ,CAAC,EAAE,IAAI,CAAA;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,iBAAiB,EAAE,OAAO,CAAA;IAC1B,OAAO,EAAE,SAAS,kBAAkB,EAAE,CAAA;CACvC;AAED,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,GAAG,EAAE,MAAM,CAAA;IACX,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAOD,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,MAAM,EACX,aAAa,SAAY,GACxB,MAAM,CAYR;AAiDD,wBAAsB,kBAAkB,CAAC,EACvC,UAAU,EACV,GAAG,EACH,aAAyB,GAC1B,EAAE,yBAAyB,GAAG,OAAO,CAAC,cAAc,CAAC,CAmGrD;AAED,KAAK,uBAAuB,GAAG,CAC7B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,KACpB,OAAO,CAAC,IAAI,CAAC,CAAA;AAiBlB,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,uBAA+C,GACxD,OAAO,CAAC,IAAI,CAAC,CASf"}
@@ -0,0 +1,141 @@
1
+ import { spawn } from 'node:child_process';
2
+ import { mkdir, realpath } from 'node:fs/promises';
3
+ import { homedir } from 'node:os';
4
+ import { basename, isAbsolute, relative, resolve } from 'node:path';
5
+ import { loadClaudeContextResources, loadClaudeSettings, resolveClaudeProjectMemoryDirectory, } from '../../compatibility/claude/shared-resources.js';
6
+ function isWithin(root, path) {
7
+ const value = relative(root, path);
8
+ return value === '' || (!value.startsWith('..') && !isAbsolute(value));
9
+ }
10
+ export function displayTuiMemoryPath(path, cwd, homeDirectory = homedir()) {
11
+ const absolute = resolve(path);
12
+ const home = resolve(homeDirectory);
13
+ if (isWithin(resolve(cwd), absolute)) {
14
+ const suffix = relative(resolve(cwd), absolute);
15
+ return suffix ? `./${suffix}` : '.';
16
+ }
17
+ if (isWithin(home, absolute)) {
18
+ const suffix = relative(home, absolute);
19
+ return suffix ? `~/${suffix}` : '~';
20
+ }
21
+ return absolute;
22
+ }
23
+ function isMemoryInstruction(resource) {
24
+ return /^CLAUDE(?:\.local)?\.md$/u.test(basename(resource.path));
25
+ }
26
+ function importedEntries(resource, instructions, cwd, homeDirectory, sourceDisplayPath) {
27
+ return instructions
28
+ .filter((candidate) => candidate.importRoot !== undefined &&
29
+ resolve(candidate.importRoot) === resolve(resource.path))
30
+ .map((candidate) => ({
31
+ kind: 'file',
32
+ label: `└ ${displayTuiMemoryPath(candidate.path, cwd, homeDirectory)}`,
33
+ path: candidate.path,
34
+ displayPath: displayTuiMemoryPath(candidate.path, cwd, homeDirectory),
35
+ annotation: resource.scope === 'user'
36
+ ? `Saved in ${sourceDisplayPath}`
37
+ : '@-imported',
38
+ scope: resource.scope,
39
+ imported: true,
40
+ }));
41
+ }
42
+ function autoMemorySetting(settings) {
43
+ let enabled = true;
44
+ for (const resource of settings) {
45
+ if (typeof resource.value === 'object' &&
46
+ resource.value !== null &&
47
+ !Array.isArray(resource.value)) {
48
+ const value = resource.value
49
+ .autoMemoryEnabled;
50
+ if (typeof value === 'boolean')
51
+ enabled = value;
52
+ }
53
+ }
54
+ return enabled;
55
+ }
56
+ export async function loadTuiMemoryFiles({ configRoot, cwd, homeDirectory = homedir(), }) {
57
+ const [canonicalCwd, canonicalHome] = await Promise.all([
58
+ realpath(cwd),
59
+ realpath(homeDirectory).catch(() => resolve(homeDirectory)),
60
+ ]);
61
+ const [context, settings, autoMemoryDirectory] = await Promise.all([
62
+ loadClaudeContextResources({ configRoot, cwd, homeDirectory }),
63
+ loadClaudeSettings({ configRoot, cwd }),
64
+ resolveClaudeProjectMemoryDirectory({ configRoot, cwd, homeDirectory }),
65
+ ]);
66
+ const userPath = resolve(configRoot, 'CLAUDE.md');
67
+ const projectResources = context.instructions.filter((resource) => resource.importedFrom === undefined &&
68
+ resource.scope !== 'user' &&
69
+ isMemoryInstruction(resource));
70
+ const userResource = context.instructions.find((resource) => resource.importedFrom === undefined &&
71
+ resolve(resource.path) === userPath);
72
+ const projectPath = resolve(canonicalCwd, 'CLAUDE.md');
73
+ const entries = [
74
+ {
75
+ kind: 'file',
76
+ label: 'User memory',
77
+ path: userPath,
78
+ displayPath: '~/.claude/CLAUDE.md',
79
+ annotation: 'Saved in ~/.claude/CLAUDE.md',
80
+ scope: 'user',
81
+ },
82
+ ];
83
+ if (userResource) {
84
+ entries.push(...importedEntries(userResource, context.instructions, canonicalCwd, canonicalHome, '~/.claude/CLAUDE.md'));
85
+ }
86
+ const canonicalProjectResource = projectResources.find((resource) => resolve(resource.path) === projectPath);
87
+ const visibleProjectResources = [
88
+ canonicalProjectResource ?? {
89
+ path: projectPath,
90
+ scope: 'project',
91
+ content: '',
92
+ },
93
+ ...projectResources.filter((resource) => resource !== canonicalProjectResource),
94
+ ];
95
+ for (const resource of visibleProjectResources) {
96
+ const activeProject = resolve(resource.path) === projectPath;
97
+ const displayPath = displayTuiMemoryPath(resource.path, canonicalCwd, canonicalHome);
98
+ entries.push({
99
+ kind: 'file',
100
+ label: activeProject ? 'Project memory' : displayPath,
101
+ path: resource.path,
102
+ displayPath,
103
+ ...(activeProject ? { annotation: 'Saved in ./CLAUDE.md' } : {}),
104
+ scope: resource.scope,
105
+ });
106
+ entries.push(...importedEntries(resource, context.instructions, canonicalCwd, canonicalHome, displayPath));
107
+ }
108
+ const autoMemoryEnabled = autoMemorySetting(settings);
109
+ if (autoMemoryEnabled) {
110
+ entries.push({
111
+ kind: 'folder',
112
+ label: 'Open auto-memory folder',
113
+ path: autoMemoryDirectory,
114
+ displayPath: displayTuiMemoryPath(autoMemoryDirectory, canonicalCwd, canonicalHome),
115
+ scope: 'project',
116
+ });
117
+ }
118
+ return { autoMemoryEnabled, entries };
119
+ }
120
+ async function launchTuiMemoryFolder(command, args) {
121
+ await new Promise((resolveOpen, reject) => {
122
+ const child = spawn(command, [...args], { stdio: 'ignore' });
123
+ child.once('error', reject);
124
+ child.once('close', (code) => {
125
+ if (code === 0)
126
+ resolveOpen();
127
+ else
128
+ reject(new Error(`${command} exited with status ${code ?? 'unknown'}`));
129
+ });
130
+ });
131
+ }
132
+ export async function openTuiMemoryFolder(path, launcher = launchTuiMemoryFolder) {
133
+ await mkdir(path, { recursive: true });
134
+ const command = process.platform === 'darwin'
135
+ ? 'open'
136
+ : process.platform === 'win32'
137
+ ? 'explorer.exe'
138
+ : 'xdg-open';
139
+ await launcher(command, [path]);
140
+ }
141
+ //# sourceMappingURL=memory-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-files.js","sourceRoot":"","sources":["../../../src/cli/tui/memory-files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnE,OAAO,EACL,0BAA0B,EAC1B,kBAAkB,EAClB,mCAAmC,GAGpC,MAAM,gDAAgD,CAAA;AAuBvD,SAAS,QAAQ,CAAC,IAAY,EAAE,IAAY;IAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAClC,OAAO,KAAK,KAAK,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;AACxE,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,IAAY,EACZ,GAAW,EACX,aAAa,GAAG,OAAO,EAAE;IAEzB,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;IACnC,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAA;QAC/C,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;IACrC,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QACvC,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;IACrC,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED,SAAS,mBAAmB,CAAC,QAA4B;IACvD,OAAO,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;AAClE,CAAC;AAED,SAAS,eAAe,CACtB,QAA4B,EAC5B,YAA2C,EAC3C,GAAW,EACX,aAAqB,EACrB,iBAAyB;IAEzB,OAAO,YAAY;SAChB,MAAM,CACL,CAAC,SAAS,EAAE,EAAE,CACZ,SAAS,CAAC,UAAU,KAAK,SAAS;QAClC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAC3D;SACA,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACnB,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,KAAK,oBAAoB,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,aAAa,CAAC,EAAE;QACtE,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,WAAW,EAAE,oBAAoB,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,aAAa,CAAC;QACrE,UAAU,EACR,QAAQ,CAAC,KAAK,KAAK,MAAM;YACvB,CAAC,CAAC,YAAY,iBAAiB,EAAE;YACjC,CAAC,CAAC,YAAY;QAClB,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,QAAQ,EAAE,IAAa;KACxB,CAAC,CAAC,CAAA;AACP,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAuC;IAChE,IAAI,OAAO,GAAG,IAAI,CAAA;IAClB,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE,CAAC;QAChC,IACE,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ;YAClC,QAAQ,CAAC,KAAK,KAAK,IAAI;YACvB,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAC9B,CAAC;YACD,MAAM,KAAK,GAAI,QAAQ,CAAC,KAAiC;iBACtD,iBAAiB,CAAA;YACpB,IAAI,OAAO,KAAK,KAAK,SAAS;gBAAE,OAAO,GAAG,KAAK,CAAA;QACjD,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,EACvC,UAAU,EACV,GAAG,EACH,aAAa,GAAG,OAAO,EAAE,GACC;IAC1B,MAAM,CAAC,YAAY,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACtD,QAAQ,CAAC,GAAG,CAAC;QACb,QAAQ,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;KAC5D,CAAC,CAAA;IACF,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,mBAAmB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACjE,0BAA0B,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC;QAC9D,kBAAkB,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;QACvC,mCAAmC,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC;KACxE,CAAC,CAAA;IACF,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;IACjD,MAAM,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAClD,CAAC,QAAQ,EAAE,EAAE,CACX,QAAQ,CAAC,YAAY,KAAK,SAAS;QACnC,QAAQ,CAAC,KAAK,KAAK,MAAM;QACzB,mBAAmB,CAAC,QAAQ,CAAC,CAChC,CAAA;IACD,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAC5C,CAAC,QAAQ,EAAE,EAAE,CACX,QAAQ,CAAC,YAAY,KAAK,SAAS;QACnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,QAAQ,CACtC,CAAA;IACD,MAAM,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;IACtD,MAAM,OAAO,GAAyB;QACpC;YACE,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,aAAa;YACpB,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,qBAAqB;YAClC,UAAU,EAAE,8BAA8B;YAC1C,KAAK,EAAE,MAAM;SACd;KACF,CAAA;IACD,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,CAAC,IAAI,CACV,GAAG,eAAe,CAChB,YAAY,EACZ,OAAO,CAAC,YAAY,EACpB,YAAY,EACZ,aAAa,EACb,qBAAqB,CACtB,CACF,CAAA;IACH,CAAC;IAED,MAAM,wBAAwB,GAAG,gBAAgB,CAAC,IAAI,CACpD,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,WAAW,CACrD,CAAA;IACD,MAAM,uBAAuB,GAAG;QAC9B,wBAAwB,IAAI;YAC1B,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,SAAkB;YACzB,OAAO,EAAE,EAAE;SACZ;QACD,GAAG,gBAAgB,CAAC,MAAM,CACxB,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,KAAK,wBAAwB,CACpD;KACF,CAAA;IACD,KAAK,MAAM,QAAQ,IAAI,uBAAuB,EAAE,CAAC;QAC/C,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,WAAW,CAAA;QAC5D,MAAM,WAAW,GAAG,oBAAoB,CACtC,QAAQ,CAAC,IAAI,EACb,YAAY,EACZ,aAAa,CACd,CAAA;QACD,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW;YACrD,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,WAAW;YACX,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,KAAK,EAAE,QAAQ,CAAC,KAAK;SACtB,CAAC,CAAA;QACF,OAAO,CAAC,IAAI,CACV,GAAG,eAAe,CAChB,QAAQ,EACR,OAAO,CAAC,YAAY,EACpB,YAAY,EACZ,aAAa,EACb,WAAW,CACZ,CACF,CAAA;IACH,CAAC;IAED,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAA;IACrD,IAAI,iBAAiB,EAAE,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,yBAAyB;YAChC,IAAI,EAAE,mBAAmB;YACzB,WAAW,EAAE,oBAAoB,CAC/B,mBAAmB,EACnB,YAAY,EACZ,aAAa,CACd;YACD,KAAK,EAAE,SAAS;SACjB,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAA;AACvC,CAAC;AAOD,KAAK,UAAU,qBAAqB,CAClC,OAAe,EACf,IAAuB;IAEvB,MAAM,IAAI,OAAO,CAAO,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE;QAC9C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAA;QAC5D,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;QAC3B,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAC3B,IAAI,IAAI,KAAK,CAAC;gBAAE,WAAW,EAAE,CAAA;;gBAE3B,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,OAAO,uBAAuB,IAAI,IAAI,SAAS,EAAE,CAAC,CAAC,CAAA;QAC3E,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAY,EACZ,WAAoC,qBAAqB;IAEzD,MAAM,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACtC,MAAM,OAAO,GACX,OAAO,CAAC,QAAQ,KAAK,QAAQ;QAC3B,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO;YAC5B,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,UAAU,CAAA;IAClB,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;AACjC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"slash-commands.d.ts","sourceRoot":"","sources":["../../../src/cli/tui/slash-commands.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,KAAK,CAAA;AAE3E,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,qBAAqB,CAAA;CAC9B;AAED,eAAO,MAAM,0BAA0B,EAAE,SAAS,eAAe,EA+JhE,CAAA;AAMD,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,SAAS,eAAe,EAAE,GACnC,SAAS,eAAe,EAAE,CAU5B;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI9D;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,SAAS,eAAe,EAAE,EACpC,KAAK,EAAE,MAAM,GACZ,SAAS,eAAe,EAAE,CAc5B"}
1
+ {"version":3,"file":"slash-commands.d.ts","sourceRoot":"","sources":["../../../src/cli/tui/slash-commands.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,KAAK,CAAA;AAE3E,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,qBAAqB,CAAA;CAC9B;AAED,eAAO,MAAM,0BAA0B,EAAE,SAAS,eAAe,EAyKhE,CAAA;AAMD,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,SAAS,eAAe,EAAE,GACnC,SAAS,eAAe,EAAE,CAU5B;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI9D;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,SAAS,eAAe,EAAE,EACpC,KAAK,EAAE,MAAM,GACZ,SAAS,eAAe,EAAE,CAc5B"}
@@ -29,6 +29,11 @@ export const BUILTIN_TUI_SLASH_COMMANDS = [
29
29
  description: 'Show help and available commands',
30
30
  source: 'builtin',
31
31
  },
32
+ {
33
+ name: 'hooks',
34
+ description: 'View hook configurations',
35
+ source: 'builtin',
36
+ },
32
37
  {
33
38
  name: 'clear',
34
39
  description: 'Start a new session with empty context; previous session stays on disk (resumable with /resume)',
@@ -59,6 +64,11 @@ export const BUILTIN_TUI_SLASH_COMMANDS = [
59
64
  description: 'Open your keyboard shortcuts file',
60
65
  source: 'builtin',
61
66
  },
67
+ {
68
+ name: 'memory',
69
+ description: 'Open a memory file in your editor',
70
+ source: 'builtin',
71
+ },
62
72
  {
63
73
  name: 'permissions',
64
74
  description: 'Manage allow and deny tool permission rules',
@@ -1 +1 @@
1
- {"version":3,"file":"slash-commands.js","sourceRoot":"","sources":["../../../src/cli/tui/slash-commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slash-commands.js","sourceRoot":"","sources":["../../../src/cli/tui/slash-commands.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts CHANGED
@@ -4,6 +4,7 @@ import type { ClaudeDisplayTranscriptItem } from './compatibility/claude/project
4
4
  import { type ModelDocument, type ModelImage, type ModelProvider, type ModelToolCall, type PermissionApproval, type ToolRegistry, type RuntimeEventSink } from './core/runtime.js';
5
5
  import type { InteractiveResumeOptions, InteractiveServiceFactory } from './cli/interactive.js';
6
6
  import type { TuiSlashCommand } from './cli/tui/slash-commands.js';
7
+ import { type TuiHookConfiguration } from './cli/tui/hook-settings.js';
7
8
  import { type ClaudePermissionMode } from './permissions/claude-permission-resolver.js';
8
9
  import { authenticateMcpServer } from './mcp/claude-mcp-oauth.js';
9
10
  import { servePraxisMcpStdio } from './mcp/praxis-mcp-server.js';
@@ -55,6 +56,7 @@ interface SessionCommands {
55
56
  prompt: string;
56
57
  } | null>;
57
58
  slashCommands?(): readonly TuiSlashCommand[];
59
+ hookConfiguration?(): Promise<TuiHookConfiguration>;
58
60
  close?(): Promise<void>;
59
61
  runtimeInfo?(): CliRuntimeInfo;
60
62
  agentDefinitions?(): readonly {
@@ -89,6 +91,7 @@ export interface CliDependencies extends InteractiveServiceFactory {
89
91
  createService(options: {
90
92
  eventSink: RuntimeEventSink;
91
93
  requireProvider: boolean;
94
+ hooksOnly?: boolean;
92
95
  approveRecovery?: (call: ModelToolCall) => boolean | Promise<boolean>;
93
96
  approveTool?: (call: ModelToolCall, originalCall?: ModelToolCall) => PermissionApproval | Promise<PermissionApproval>;
94
97
  agent?: string;
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,6 +13,7 @@ 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 { projectTuiHooks, } from './cli/tui/hook-settings.js';
16
17
  import { DEFAULT_CLI_CONTROLS, resolveCliControls } from './cli/controls.js';
17
18
  import { createCliDebugSink } from './cli/debug.js';
18
19
  import { ClaudePermissionResolver, } from './permissions/claude-permission-resolver.js';
@@ -685,7 +686,7 @@ const consoleIO = {
685
686
  isTTY: Boolean(process.stdin.isTTY && process.stdout.isTTY),
686
687
  readStdinLines: () => process.stdin,
687
688
  };
688
- const createDefaultService = async ({ eventSink, requireProvider, approveRecovery, approveTool, agent, model: interactiveModel, effort: interactiveEffort, permissionMode: interactivePermissionMode, controls = DEFAULT_CLI_CONTROLS, interactive = false, sessionKind, signal, exposeToolRegistry = false, onElicitation, askUser, approvePlan, emitToolUseSummaries = false, cwd: requestedCwd, configRoot: requestedConfigRoot, environment, providerEnvironment: requestedProviderEnvironment, }) => {
689
+ const createDefaultService = async ({ eventSink, requireProvider, hooksOnly = false, approveRecovery, approveTool, agent, model: interactiveModel, effort: interactiveEffort, permissionMode: interactivePermissionMode, controls = DEFAULT_CLI_CONTROLS, interactive = false, sessionKind, signal, exposeToolRegistry = false, onElicitation, askUser, approvePlan, emitToolUseSummaries = false, cwd: requestedCwd, configRoot: requestedConfigRoot, environment, providerEnvironment: requestedProviderEnvironment, }) => {
689
690
  const runtimeEnvironment = requestedProviderEnvironment ?? process.env;
690
691
  const claudeVersion = await detectInstalledClaudeVersion();
691
692
  const cwd = requestedCwd ?? process.cwd();
@@ -733,7 +734,7 @@ const createDefaultService = async ({ eventSink, requireProvider, approveRecover
733
734
  if (requireProvider && (!apiKey || !model)) {
734
735
  throw new Error('PRAXIS_API_KEY and a model (--model or PRAXIS_MODEL) are required');
735
736
  }
736
- if (apiKey && model) {
737
+ if (!hooksOnly && apiKey && model) {
737
738
  if (!providerEnvironment) {
738
739
  throw new Error('Provider environment is unavailable');
739
740
  }
@@ -787,8 +788,44 @@ const createDefaultService = async ({ eventSink, requireProvider, approveRecover
787
788
  }
788
789
  : {}),
789
790
  };
790
- if (!provider && !exposeToolRegistry)
791
- return new ClaudeSessionService(options);
791
+ const hookConfiguration = async () => {
792
+ const [settings, pluginResources] = await Promise.all([
793
+ loadClaudeSettings({
794
+ configRoot,
795
+ cwd,
796
+ ...(cli.bare
797
+ ? { settingSources: [] }
798
+ : cli.settingSources === undefined
799
+ ? {}
800
+ : { settingSources: cli.settingSources }),
801
+ }),
802
+ loadClaudePlugins({
803
+ configRoot,
804
+ cwd,
805
+ pluginDirectories: cli.pluginDirectories,
806
+ pluginUrls: cli.pluginUrls,
807
+ strictPluginDirectories: cli.pluginDirectories.length + cli.pluginUrls.length > 0,
808
+ loadInstalled: !cli.safeMode && !cli.bare,
809
+ readOnlyHooks: true,
810
+ environment: runtimeEnvironment,
811
+ }),
812
+ ]);
813
+ return projectTuiHooks([
814
+ ...settings,
815
+ ...pluginResources.settings,
816
+ ...(cli.additionalSettings ? [cli.additionalSettings] : []),
817
+ ]);
818
+ };
819
+ if (hooksOnly) {
820
+ const service = new ClaudeSessionService(options);
821
+ return Object.assign(service, { hookConfiguration });
822
+ }
823
+ if (!provider && !exposeToolRegistry) {
824
+ const service = new ClaudeSessionService(options);
825
+ if (!interactive)
826
+ return service;
827
+ return Object.assign(service, { hookConfiguration });
828
+ }
792
829
  const toolProvider = provider ?? {
793
830
  model: 'praxis/provider',
794
831
  capabilities: {
@@ -1219,6 +1256,7 @@ const createDefaultService = async ({ eventSink, requireProvider, approveRecover
1219
1256
  description: definition.description,
1220
1257
  source: definition.kind,
1221
1258
  })),
1259
+ hookConfiguration: async () => projectTuiHooks(settings),
1222
1260
  agentDefinitions: () => extensions.agentDefinitions(),
1223
1261
  inspect: (sessionId) => service.inspect(sessionId),
1224
1262
  export: (sessionId) => service.export(sessionId),
@@ -1448,7 +1486,8 @@ const defaultDependencies = {
1448
1486
  },
1449
1487
  interactive: true,
1450
1488
  }),
1451
- scheduledPrompts: true,
1489
+ scheduledPrompts: Boolean(process.env.PRAXIS_API_KEY &&
1490
+ (interactiveControls.model ?? process.env.PRAXIS_MODEL)),
1452
1491
  },
1453
1492
  ...(signal ? { signal } : {}),
1454
1493
  ...(initialPrompt === undefined ? {} : { initialPrompt }),