@nex-ai/nex 0.1.24 → 0.1.26
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.
- package/README.md +2 -7
- package/dist/cli.js +1 -3
- package/dist/cli.js.map +1 -1
- package/dist/commands/dispatch.js +18 -2
- package/dist/commands/dispatch.js.map +1 -1
- package/dist/commands/graph.d.ts +1 -0
- package/dist/commands/graph.js +7 -12
- package/dist/commands/graph.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.js +39 -123
- package/dist/index.js.map +1 -1
- package/dist/lib/client.d.ts +1 -0
- package/dist/lib/client.js +34 -1
- package/dist/lib/client.js.map +1 -1
- package/dist/lib/config.d.ts +1 -1
- package/dist/lib/config.js +1 -1
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/errors.js +1 -1
- package/dist/lib/errors.js.map +1 -1
- package/dist/lib/file-scanner.js +45 -37
- package/dist/lib/file-scanner.js.map +1 -1
- package/dist/plugin/config.js +20 -4
- package/dist/plugin/config.js.map +1 -1
- package/dist/plugin/shared.js +3 -3
- package/dist/plugin/shared.js.map +1 -1
- package/dist/tui/app.js +9 -0
- package/dist/tui/app.js.map +1 -1
- package/dist/tui/components/mention-autocomplete.d.ts +2 -0
- package/dist/tui/components/mention-autocomplete.js +15 -0
- package/dist/tui/components/mention-autocomplete.js.map +1 -1
- package/dist/tui/components/slack/compose.js +36 -12
- package/dist/tui/components/slack/compose.js.map +1 -1
- package/dist/tui/components/slash-autocomplete.d.ts +2 -0
- package/dist/tui/components/slash-autocomplete.js +15 -0
- package/dist/tui/components/slash-autocomplete.js.map +1 -1
- package/package.json +9 -10
|
@@ -33,6 +33,9 @@ export function HintBar({ visible, }) {
|
|
|
33
33
|
export function ComposeArea({ channelName, channelType, recipientName, focused, isThread, onSubmit, onSlashCommand, slashCommands, agents, }) {
|
|
34
34
|
const [value, setValue] = useState("");
|
|
35
35
|
const [submitKey, setSubmitKey] = useState(0);
|
|
36
|
+
// When accepting an autocomplete match, we remount TextInput with this as defaultValue.
|
|
37
|
+
// On normal submit (send message), this is "" so TextInput starts empty.
|
|
38
|
+
const nextDefaultRef = useRef("");
|
|
36
39
|
// Autocomplete hooks
|
|
37
40
|
const slash = useSlashAutocomplete(slashCommands);
|
|
38
41
|
const mention = useMentionAutocomplete(agents, value);
|
|
@@ -42,8 +45,12 @@ export function ComposeArea({ channelName, channelType, recipientName, focused,
|
|
|
42
45
|
slashRef.current = slash;
|
|
43
46
|
const mentionRef = useRef(mention);
|
|
44
47
|
mentionRef.current = mention;
|
|
45
|
-
|
|
46
|
-
|
|
48
|
+
/** Remount TextInput with a new defaultValue and sync React state. */
|
|
49
|
+
const remountInput = useCallback((text) => {
|
|
50
|
+
nextDefaultRef.current = text;
|
|
51
|
+
setValue(text);
|
|
52
|
+
setSubmitKey((k) => k + 1);
|
|
53
|
+
}, []);
|
|
47
54
|
// Stable ([] deps) — reads actions through refs so TextInput never gets a new onChange
|
|
48
55
|
const handleChange = useCallback((newValue) => {
|
|
49
56
|
setValue(newValue);
|
|
@@ -56,7 +63,7 @@ export function ComposeArea({ channelName, channelType, recipientName, focused,
|
|
|
56
63
|
if (slashRef.current.state.visible) {
|
|
57
64
|
const result = slashRef.current.actions.onAccept();
|
|
58
65
|
if (result) {
|
|
59
|
-
|
|
66
|
+
remountInput(result.text);
|
|
60
67
|
return;
|
|
61
68
|
}
|
|
62
69
|
}
|
|
@@ -64,7 +71,7 @@ export function ComposeArea({ channelName, channelType, recipientName, focused,
|
|
|
64
71
|
if (mentionRef.current.state.visible) {
|
|
65
72
|
const result = mentionRef.current.actions.onAccept();
|
|
66
73
|
if (result) {
|
|
67
|
-
|
|
74
|
+
remountInput(result.text);
|
|
68
75
|
return;
|
|
69
76
|
}
|
|
70
77
|
}
|
|
@@ -87,37 +94,54 @@ export function ComposeArea({ channelName, channelType, recipientName, focused,
|
|
|
87
94
|
onSubmit(trimmed);
|
|
88
95
|
}
|
|
89
96
|
// Clear input via remount trick
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
}, [onSubmit, onSlashCommand]);
|
|
97
|
+
remountInput("");
|
|
98
|
+
}, [onSubmit, onSlashCommand, remountInput]);
|
|
93
99
|
useEffect(() => {
|
|
94
100
|
const g = globalThis;
|
|
101
|
+
// Tab/Shift+Tab: cycle autocomplete or accept single match
|
|
95
102
|
g.__nexHomeTabComplete = (direction) => {
|
|
96
103
|
const s = slashRef.current;
|
|
97
104
|
const m = mentionRef.current;
|
|
98
105
|
if (s.state.visible) {
|
|
99
106
|
const result = direction > 0 ? s.actions.onTab() : s.actions.onShiftTab();
|
|
100
107
|
if (result)
|
|
101
|
-
|
|
108
|
+
remountInput(result.text);
|
|
102
109
|
return true;
|
|
103
110
|
}
|
|
104
111
|
if (m.state.visible) {
|
|
105
112
|
const result = direction > 0 ? m.actions.onTab() : m.actions.onShiftTab();
|
|
106
113
|
if (result)
|
|
107
|
-
|
|
114
|
+
remountInput(result.text);
|
|
115
|
+
return true;
|
|
116
|
+
}
|
|
117
|
+
return false;
|
|
118
|
+
};
|
|
119
|
+
// Up/Down arrow: navigate autocomplete selection
|
|
120
|
+
g.__nexHomeAutocompleteNav = (direction) => {
|
|
121
|
+
const s = slashRef.current;
|
|
122
|
+
const m = mentionRef.current;
|
|
123
|
+
if (s.state.visible) {
|
|
124
|
+
s.actions.onNavigate(direction);
|
|
125
|
+
return true;
|
|
126
|
+
}
|
|
127
|
+
if (m.state.visible) {
|
|
128
|
+
m.actions.onNavigate(direction);
|
|
108
129
|
return true;
|
|
109
130
|
}
|
|
110
131
|
return false;
|
|
111
132
|
};
|
|
112
|
-
return () => {
|
|
113
|
-
|
|
133
|
+
return () => {
|
|
134
|
+
delete g.__nexHomeTabComplete;
|
|
135
|
+
delete g.__nexHomeAutocompleteNav;
|
|
136
|
+
};
|
|
137
|
+
}, [remountInput]); // register once, refs keep it current
|
|
114
138
|
return (_jsxs(Box, { flexDirection: "column", children: [_jsx(SlashAutocomplete, { state: slash.state, maxVisible: 6 }), _jsx(MentionAutocomplete, { state: mention.state, maxVisible: 6 }), _jsx(HintBar, { visible: focused }), _jsxs(Box, { borderStyle: "single", borderColor: focused ? "cyan" : "gray", flexDirection: "column", paddingX: 1, children: [_jsxs(Box, { justifyContent: "space-between", children: [focused
|
|
115
139
|
? _jsx(Text, { color: "black", backgroundColor: "cyan", bold: true, children: " COMPOSE " })
|
|
116
140
|
: _jsx(Text, { color: "gray", children: isThread
|
|
117
141
|
? "Reply"
|
|
118
142
|
: channelType === "channel"
|
|
119
143
|
? `Message #${channelName}`
|
|
120
|
-
: `Message ${channelName}` }), focused && _jsx(Text, { color: "gray", children: "
|
|
144
|
+
: `Message ${channelName}` }), focused && _jsx(Text, { color: "gray", children: "\u2191\u2193 \u00B7 Tab \u00B7 Enter" })] }), _jsx(Box, { children: focused ? (_jsx(TextInput, { defaultValue: nextDefaultRef.current, placeholder: placeholder, onChange: handleChange, onSubmit: handleSubmit }, submitKey)) : (_jsx(Text, { dimColor: true, children: placeholder })) }), !focused && (_jsx(Box, { justifyContent: "flex-end", children: _jsx(Text, { dimColor: true, children: "Tab=focus" }) }))] })] }));
|
|
121
145
|
}
|
|
122
146
|
export default ComposeArea;
|
|
123
147
|
//# sourceMappingURL=compose.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compose.js","sourceRoot":"","sources":["../../../../src/tui/components/slack/compose.tsx"],"names":[],"mappings":";AAAA;;;;;;GAMG;AAEH,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACxE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EACL,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,mBAAmB,EACnB,sBAAsB,GACvB,MAAM,4BAA4B,CAAC;AAkBpC,uEAAuE;AAEvE,SAAS,cAAc,CACrB,WAAmB,EACnB,WAA0C,EAC1C,aAAsB,EACtB,QAAkB;IAElB,IAAI,QAAQ;QAAE,OAAO,oBAAoB,CAAC;IAC1C,IAAI,WAAW,KAAK,IAAI,IAAI,aAAa,EAAE,CAAC;QAC1C,OAAO,WAAW,aAAa,EAAE,CAAC;IACpC,CAAC;IACD,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;QAC/B,OAAO,WAAW,WAAW,EAAE,CAAC;IAClC,CAAC;IACD,OAAO,YAAY,WAAW,EAAE,CAAC;AACnC,CAAC;AAED,uEAAuE;AAEvE,MAAM,UAAU,OAAO,CAAC,EACtB,OAAO,GAGR;IACC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,OAAO,CACL,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,YACd,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,6DAA0C,GACxD,CACP,CAAC;AACJ,CAAC;AAED,uEAAuE;AAEvE,MAAM,UAAU,WAAW,CAAC,EAC1B,WAAW,EACX,WAAW,EACX,aAAa,EACb,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,aAAa,EACb,MAAM,GACW;IACjB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE9C,qBAAqB;IACrB,MAAM,KAAK,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,sBAAsB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAEtD,MAAM,WAAW,GAAG,cAAc,CAChC,WAAW,EACX,WAAW,EACX,aAAa,EACb,QAAQ,CACT,CAAC;IAEF,+EAA+E;IAC/E,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;IACzB,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IACnC,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"compose.js","sourceRoot":"","sources":["../../../../src/tui/components/slack/compose.tsx"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,8 @@ export interface AutocompleteActions {
|
|
|
37
37
|
onAccept: () => AutocompleteResult | null;
|
|
38
38
|
/** Call when Escape is pressed — dismisses the overlay */
|
|
39
39
|
onDismiss: () => void;
|
|
40
|
+
/** Move selection up/down without accepting (for arrow keys) */
|
|
41
|
+
onNavigate: (direction: number) => void;
|
|
40
42
|
/** Update the autocomplete state when input changes */
|
|
41
43
|
update: (input: string) => void;
|
|
42
44
|
}
|
|
@@ -106,6 +106,13 @@ export function createAutocompleteActions(state, setState, commands) {
|
|
|
106
106
|
onDismiss: () => {
|
|
107
107
|
setState(createAutocompleteState());
|
|
108
108
|
},
|
|
109
|
+
onNavigate: (direction) => {
|
|
110
|
+
if (!state.visible || state.matches.length <= 1)
|
|
111
|
+
return;
|
|
112
|
+
const len = state.matches.length;
|
|
113
|
+
const next = ((state.selectedIndex + direction) % len + len) % len;
|
|
114
|
+
setState({ ...state, selectedIndex: next });
|
|
115
|
+
},
|
|
109
116
|
update: (input) => {
|
|
110
117
|
const newState = computeAutocompleteState(input, commands);
|
|
111
118
|
setState(newState);
|
|
@@ -173,6 +180,14 @@ export function useSlashAutocomplete(commands) {
|
|
|
173
180
|
},
|
|
174
181
|
onAccept: () => accept(stateRef.current.selectedIndex),
|
|
175
182
|
onDismiss: () => setAcState(createAutocompleteState()),
|
|
183
|
+
onNavigate: (direction) => {
|
|
184
|
+
const s = stateRef.current;
|
|
185
|
+
if (!s.visible || s.matches.length <= 1)
|
|
186
|
+
return;
|
|
187
|
+
const len = s.matches.length;
|
|
188
|
+
const next = ((s.selectedIndex + direction) % len + len) % len;
|
|
189
|
+
setAcState({ ...s, selectedIndex: next });
|
|
190
|
+
},
|
|
176
191
|
update: (input) => {
|
|
177
192
|
const newState = computeAutocompleteState(input, commandsRef.current);
|
|
178
193
|
const cur = stateRef.current;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slash-autocomplete.js","sourceRoot":"","sources":["../../../src/tui/components/slash-autocomplete.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"slash-autocomplete.js","sourceRoot":"","sources":["../../../src/tui/components/slash-autocomplete.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nex-ai/nex",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.26",
|
|
4
4
|
"description": "Nex CLI provides organizational context & memory to AI agents",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -17,19 +17,13 @@
|
|
|
17
17
|
"build": "tsc",
|
|
18
18
|
"start": "node dist/index.js",
|
|
19
19
|
"dev": "tsx src/index.ts",
|
|
20
|
-
"test": "node --import tsx --
|
|
20
|
+
"test": "node --import tsx --test tests/**/*.test.ts tests/**/**/*.test.ts",
|
|
21
21
|
"prepublishOnly": "npm run build"
|
|
22
22
|
},
|
|
23
|
-
"dependencies": {
|
|
24
|
-
"@inkjs/ui": "^2.0.0",
|
|
25
|
-
"ink": "^5.2.1",
|
|
26
|
-
"react": "^18.3.1"
|
|
27
|
-
},
|
|
28
23
|
"devDependencies": {
|
|
29
24
|
"@types/node": "^22.0.0",
|
|
30
|
-
"@types/react": "^18.3.
|
|
25
|
+
"@types/react": "^18.3.18",
|
|
31
26
|
"ink-testing-library": "^4.0.0",
|
|
32
|
-
"node-pty": "^1.1.0",
|
|
33
27
|
"tsx": "^4.19.0",
|
|
34
28
|
"typescript": "^5.7.0"
|
|
35
29
|
},
|
|
@@ -45,5 +39,10 @@
|
|
|
45
39
|
"engines": {
|
|
46
40
|
"node": ">=18"
|
|
47
41
|
},
|
|
48
|
-
"license": "MIT"
|
|
42
|
+
"license": "MIT",
|
|
43
|
+
"dependencies": {
|
|
44
|
+
"@inkjs/ui": "^2.0.0",
|
|
45
|
+
"ink": "^5.2.1",
|
|
46
|
+
"react": "^18.3.1"
|
|
47
|
+
}
|
|
49
48
|
}
|