@nex-ai/nex 0.1.45 → 0.1.46

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 (56) hide show
  1. package/dist/commands/setup.js +0 -3
  2. package/dist/commands/setup.js.map +1 -1
  3. package/dist/lib/installers.js +1 -57
  4. package/dist/lib/installers.js.map +1 -1
  5. package/dist/lib/platform-detect.d.ts +1 -1
  6. package/dist/lib/platform-detect.js +0 -29
  7. package/dist/lib/platform-detect.js.map +1 -1
  8. package/dist/plugin/config.js +1 -1
  9. package/dist/plugin/config.js.map +1 -1
  10. package/package.json +1 -1
  11. package/platform-plugins/windsurf-workflows/{nex:ask.md → nex-ask.md} +1 -1
  12. package/platform-plugins/windsurf-workflows/{nex:remember.md → nex-remember.md} +1 -1
  13. package/platform-plugins/windsurf-workflows/{nex:search.md → nex-search.md} +1 -1
  14. package/platform-rules/aider-conventions.md +0 -9
  15. package/platform-rules/cline-rules.md +0 -9
  16. package/platform-rules/continue-rules.md +0 -9
  17. package/platform-rules/cursor-rules.md +0 -9
  18. package/platform-rules/kilocode-rules.md +0 -9
  19. package/platform-rules/opencode-agents.md +0 -9
  20. package/platform-rules/vscode-instructions.md +0 -9
  21. package/platform-rules/windsurf-rules.md +0 -9
  22. package/platform-rules/zed-rules.md +0 -9
  23. package/plugin-commands/{nex:entities.md → entities.md} +1 -1
  24. package/dist/plugin/adapters/cline-capture.d.ts +0 -7
  25. package/dist/plugin/adapters/cline-capture.js +0 -25
  26. package/dist/plugin/adapters/cline-capture.js.map +0 -1
  27. package/dist/plugin/adapters/cline-recall.d.ts +0 -7
  28. package/dist/plugin/adapters/cline-recall.js +0 -30
  29. package/dist/plugin/adapters/cline-recall.js.map +0 -1
  30. package/dist/plugin/adapters/cline-task-start.d.ts +0 -7
  31. package/dist/plugin/adapters/cline-task-start.js +0 -30
  32. package/dist/plugin/adapters/cline-task-start.js.map +0 -1
  33. package/dist/plugin/adapters/cursor-recall.d.ts +0 -7
  34. package/dist/plugin/adapters/cursor-recall.js +0 -31
  35. package/dist/plugin/adapters/cursor-recall.js.map +0 -1
  36. package/dist/plugin/adapters/cursor-session-start.d.ts +0 -7
  37. package/dist/plugin/adapters/cursor-session-start.js +0 -30
  38. package/dist/plugin/adapters/cursor-session-start.js.map +0 -1
  39. package/dist/plugin/adapters/cursor-stop.d.ts +0 -7
  40. package/dist/plugin/adapters/cursor-stop.js +0 -25
  41. package/dist/plugin/adapters/cursor-stop.js.map +0 -1
  42. package/dist/plugin/adapters/windsurf-capture.d.ts +0 -7
  43. package/dist/plugin/adapters/windsurf-capture.js +0 -25
  44. package/dist/plugin/adapters/windsurf-capture.js.map +0 -1
  45. package/dist/plugin/adapters/windsurf-recall.d.ts +0 -7
  46. package/dist/plugin/adapters/windsurf-recall.js +0 -31
  47. package/dist/plugin/adapters/windsurf-recall.js.map +0 -1
  48. package/dist/plugin/shared.d.ts +0 -39
  49. package/dist/plugin/shared.js +0 -380
  50. package/dist/plugin/shared.js.map +0 -1
  51. package/platform-rules/codex-agents.md +0 -59
  52. /package/plugin-commands/{nex:integrate.md → integrate.md} +0 -0
  53. /package/plugin-commands/{nex:recall.md → recall.md} +0 -0
  54. /package/plugin-commands/{nex:register.md → register.md} +0 -0
  55. /package/plugin-commands/{nex:remember.md → remember.md} +0 -0
  56. /package/plugin-commands/{nex:scan.md → scan.md} +0 -0
@@ -22,15 +22,6 @@ Shows which integrations (Gmail, Slack, Calendar, CRM) are connected and active.
22
22
  ### `nex_connect_integration` — Connect a data source
23
23
  Initiate OAuth connection for Gmail, Google Calendar, Outlook, Slack, Salesforce, HubSpot, or Attio.
24
24
 
25
- ### `nex_get_notifications` — View recent notifications
26
- Check for new notifications from Nex. Shows deal changes, meeting updates, relationship insights, and custom alerts.
27
-
28
- ### `nex_set_notification_preferences` — Update notification settings
29
- Change notification frequency or toggle notification types. Example: set polling to every 5 minutes.
30
-
31
- ### `nex_create_notification_rule` — Create custom notification rules
32
- Set up AI-powered notification rules in natural language. Example: "notify me when deal value changes by more than 10%".
33
-
34
25
  ## Proactive Context
35
26
 
36
27
  Nex automatically surfaces relevant context from the user's knowledge graph on every prompt — not just questions. When you see a `<nex-context>` block, use it naturally to inform your response:
@@ -22,15 +22,6 @@ Shows which integrations (Gmail, Slack, Calendar, CRM) are connected and active.
22
22
  ### `nex_connect_integration` — Connect a data source
23
23
  Initiate OAuth connection for Gmail, Google Calendar, Outlook, Slack, Salesforce, HubSpot, or Attio.
24
24
 
25
- ### `nex_get_notifications` — View recent notifications
26
- Check for new notifications from Nex. Shows deal changes, meeting updates, relationship insights, and custom alerts.
27
-
28
- ### `nex_set_notification_preferences` — Update notification settings
29
- Change notification frequency or toggle notification types. Example: set polling to every 5 minutes.
30
-
31
- ### `nex_create_notification_rule` — Create custom notification rules
32
- Set up AI-powered notification rules in natural language. Example: "notify me when deal value changes by more than 10%".
33
-
34
25
  ## Proactive Context
35
26
 
36
27
  Nex automatically surfaces relevant context from the user's knowledge graph on every prompt — not just questions. When you see a `<nex-context>` block, use it naturally to inform your response:
@@ -2,7 +2,7 @@
2
2
  description: Search for entities (people, companies, topics) in Nex knowledge base
3
3
  ---
4
4
  Search for entities matching: $ARGUMENTS
5
- If no query provided, respond: "Usage: /nex:entities <search query>"
5
+ If no query provided, respond: "Usage: /entities <search query>"
6
6
 
7
7
  Use the `mcp__nex__query_context` tool with the query.
8
8
  From the response, extract the `entity_references` array.
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Cline TaskComplete hook — auto-capture to Nex.
4
- * Input: { taskComplete: { result: string } }
5
- * Output: {}
6
- */
7
- export {};
@@ -1,25 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Cline TaskComplete hook — auto-capture to Nex.
4
- * Input: { taskComplete: { result: string } }
5
- * Output: {}
6
- */
7
- import { doCapture, readStdin } from "../shared.js";
8
- async function main() {
9
- try {
10
- const raw = await readStdin();
11
- let input = {};
12
- try {
13
- input = JSON.parse(raw);
14
- }
15
- catch { /* defaults */ }
16
- await doCapture({ message: input.taskComplete?.result ?? "" });
17
- process.stdout.write("{}");
18
- }
19
- catch (err) {
20
- process.stderr.write(`[nex-cline] Capture error: ${err instanceof Error ? err.message : String(err)}\n`);
21
- process.stdout.write("{}");
22
- }
23
- }
24
- main().then(() => process.exit(0)).catch(() => process.exit(0));
25
- //# sourceMappingURL=cline-capture.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cline-capture.js","sourceRoot":"","sources":["../../../src/plugin/adapters/cline-capture.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAMpD,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC;QAC9B,IAAI,KAAK,GAAe,EAAE,CAAC;QAC3B,IAAI,CAAC;YAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;QAEzD,MAAM,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,YAAY,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Cline UserPromptSubmit hook — auto-recall from Nex.
4
- * Input: { userPromptSubmit: { prompt: string } }
5
- * Output: { contextModification: "..." } or {}
6
- */
7
- export {};
@@ -1,30 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Cline UserPromptSubmit hook — auto-recall from Nex.
4
- * Input: { userPromptSubmit: { prompt: string } }
5
- * Output: { contextModification: "..." } or {}
6
- */
7
- import { doRecall, readStdin } from "../shared.js";
8
- async function main() {
9
- try {
10
- const raw = await readStdin();
11
- let input = {};
12
- try {
13
- input = JSON.parse(raw);
14
- }
15
- catch { /* defaults */ }
16
- const prompt = input.userPromptSubmit?.prompt ?? "";
17
- const result = await doRecall(prompt, input.session_id);
18
- if (!result) {
19
- process.stdout.write("{}");
20
- return;
21
- }
22
- process.stdout.write(JSON.stringify({ contextModification: result.context }));
23
- }
24
- catch (err) {
25
- process.stderr.write(`[nex-cline] Recall error: ${err instanceof Error ? err.message : String(err)}\n`);
26
- process.stdout.write("{}");
27
- }
28
- }
29
- main().then(() => process.exit(0)).catch(() => process.exit(0));
30
- //# sourceMappingURL=cline-recall.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cline-recall.js","sourceRoot":"","sources":["../../../src/plugin/adapters/cline-recall.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAOnD,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC;QAC9B,IAAI,KAAK,GAAe,EAAE,CAAC;QAC3B,IAAI,CAAC;YAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;QAEzD,MAAM,MAAM,GAAG,KAAK,CAAC,gBAAgB,EAAE,MAAM,IAAI,EAAE,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QAExD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,mBAAmB,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAChF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Cline TaskStart hook — load baseline context from Nex.
4
- * Input: { taskStart: { task: string } }
5
- * Output: { contextModification: "..." } or {}
6
- */
7
- export {};
@@ -1,30 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Cline TaskStart hook — load baseline context from Nex.
4
- * Input: { taskStart: { task: string } }
5
- * Output: { contextModification: "..." } or {}
6
- */
7
- import { doSessionStart, readStdin } from "../shared.js";
8
- async function main() {
9
- try {
10
- const raw = await readStdin();
11
- let input = {};
12
- try {
13
- input = JSON.parse(raw);
14
- }
15
- catch { /* defaults */ }
16
- const result = await doSessionStart("startup", input.session_id);
17
- if (!result) {
18
- process.stdout.write("{}");
19
- return;
20
- }
21
- const context = result.registrationPrompt ?? result.context;
22
- process.stdout.write(JSON.stringify({ contextModification: context }));
23
- }
24
- catch (err) {
25
- process.stderr.write(`[nex-cline] Task start error: ${err instanceof Error ? err.message : String(err)}\n`);
26
- process.stdout.write("{}");
27
- }
28
- }
29
- main().then(() => process.exit(0)).catch(() => process.exit(0));
30
- //# sourceMappingURL=cline-task-start.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cline-task-start.js","sourceRoot":"","sources":["../../../src/plugin/adapters/cline-task-start.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAOzD,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC;QAC9B,IAAI,KAAK,GAAe,EAAE,CAAC;QAC3B,IAAI,CAAC;YAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;QAEzD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QACjE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,OAAO,CAAC;QAC5D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,mBAAmB,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IACzE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5G,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Cursor userPromptSubmit hook — auto-recall from Nex.
4
- * Input: { prompt?: string, attachments?: unknown[], session_id?: string }
5
- * Output: { continue: true, user_message: "<original + context>" } or {}
6
- */
7
- export {};
@@ -1,31 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Cursor userPromptSubmit hook — auto-recall from Nex.
4
- * Input: { prompt?: string, attachments?: unknown[], session_id?: string }
5
- * Output: { continue: true, user_message: "<original + context>" } or {}
6
- */
7
- import { doRecall, readStdin } from "../shared.js";
8
- async function main() {
9
- try {
10
- const raw = await readStdin();
11
- let input = {};
12
- try {
13
- input = JSON.parse(raw);
14
- }
15
- catch { /* defaults */ }
16
- const prompt = input.prompt ?? "";
17
- const result = await doRecall(prompt, input.session_id);
18
- if (!result) {
19
- process.stdout.write("{}");
20
- return;
21
- }
22
- // Inject context as additional_context (Cursor's context injection mechanism)
23
- process.stdout.write(JSON.stringify({ additional_context: result.context }));
24
- }
25
- catch (err) {
26
- process.stderr.write(`[nex-cursor] Recall error: ${err instanceof Error ? err.message : String(err)}\n`);
27
- process.stdout.write("{}");
28
- }
29
- }
30
- main().then(() => process.exit(0)).catch(() => process.exit(0));
31
- //# sourceMappingURL=cursor-recall.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cursor-recall.js","sourceRoot":"","sources":["../../../src/plugin/adapters/cursor-recall.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAQnD,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC;QAC9B,IAAI,KAAK,GAAgB,EAAE,CAAC;QAC5B,IAAI,CAAC;YAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;QAEzD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QAExD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,8EAA8E;QAC9E,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,kBAAkB,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC/E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Cursor sessionStart hook — load baseline context from Nex.
4
- * Input: { session_id?: string }
5
- * Output: { additional_context: "..." } or {}
6
- */
7
- export {};
@@ -1,30 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Cursor sessionStart hook — load baseline context from Nex.
4
- * Input: { session_id?: string }
5
- * Output: { additional_context: "..." } or {}
6
- */
7
- import { doSessionStart, readStdin } from "../shared.js";
8
- async function main() {
9
- try {
10
- const raw = await readStdin();
11
- let input = {};
12
- try {
13
- input = JSON.parse(raw);
14
- }
15
- catch { /* defaults */ }
16
- const result = await doSessionStart("startup", input.session_id);
17
- if (!result) {
18
- process.stdout.write("{}");
19
- return;
20
- }
21
- const context = result.registrationPrompt ?? result.context;
22
- process.stdout.write(JSON.stringify({ additional_context: context }));
23
- }
24
- catch (err) {
25
- process.stderr.write(`[nex-cursor] Session start error: ${err instanceof Error ? err.message : String(err)}\n`);
26
- process.stdout.write("{}");
27
- }
28
- }
29
- main().then(() => process.exit(0)).catch(() => process.exit(0));
30
- //# sourceMappingURL=cursor-session-start.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cursor-session-start.js","sourceRoot":"","sources":["../../../src/plugin/adapters/cursor-session-start.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC;QAC9B,IAAI,KAAK,GAA4B,EAAE,CAAC;QACxC,IAAI,CAAC;YAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;QAEzD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QACjE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,OAAO,CAAC;QAC5D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IACxE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Cursor stop hook — auto-capture conversation to Nex.
4
- * Input: { last_message?: string, status?: string, session_id?: string }
5
- * Output: {}
6
- */
7
- export {};
@@ -1,25 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Cursor stop hook — auto-capture conversation to Nex.
4
- * Input: { last_message?: string, status?: string, session_id?: string }
5
- * Output: {}
6
- */
7
- import { doCapture, readStdin } from "../shared.js";
8
- async function main() {
9
- try {
10
- const raw = await readStdin();
11
- let input = {};
12
- try {
13
- input = JSON.parse(raw);
14
- }
15
- catch { /* defaults */ }
16
- await doCapture({ message: input.last_message ?? "" });
17
- process.stdout.write("{}");
18
- }
19
- catch (err) {
20
- process.stderr.write(`[nex-cursor] Capture error: ${err instanceof Error ? err.message : String(err)}\n`);
21
- process.stdout.write("{}");
22
- }
23
- }
24
- main().then(() => process.exit(0)).catch(() => process.exit(0));
25
- //# sourceMappingURL=cursor-stop.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cursor-stop.js","sourceRoot":"","sources":["../../../src/plugin/adapters/cursor-stop.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAQpD,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC;QAC9B,IAAI,KAAK,GAAoB,EAAE,CAAC;QAChC,IAAI,CAAC;YAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;QAEzD,MAAM,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,YAAY,IAAI,EAAE,EAAE,CAAC,CAAC;QACvD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1G,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Windsurf post_cascade_response hook — auto-capture to Nex.
4
- * Input: { tool_info: { response: string } }
5
- * Output: {}
6
- */
7
- export {};
@@ -1,25 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Windsurf post_cascade_response hook — auto-capture to Nex.
4
- * Input: { tool_info: { response: string } }
5
- * Output: {}
6
- */
7
- import { doCapture, readStdin } from "../shared.js";
8
- async function main() {
9
- try {
10
- const raw = await readStdin();
11
- let input = {};
12
- try {
13
- input = JSON.parse(raw);
14
- }
15
- catch { /* defaults */ }
16
- await doCapture({ message: input.tool_info?.response ?? "" });
17
- process.stdout.write("{}");
18
- }
19
- catch (err) {
20
- process.stderr.write(`[nex-windsurf] Capture error: ${err instanceof Error ? err.message : String(err)}\n`);
21
- process.stdout.write("{}");
22
- }
23
- }
24
- main().then(() => process.exit(0)).catch(() => process.exit(0));
25
- //# sourceMappingURL=windsurf-capture.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"windsurf-capture.js","sourceRoot":"","sources":["../../../src/plugin/adapters/windsurf-capture.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAMpD,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC;QAC9B,IAAI,KAAK,GAAkB,EAAE,CAAC;QAC9B,IAAI,CAAC;YAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;QAEzD,MAAM,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,QAAQ,IAAI,EAAE,EAAE,CAAC,CAAC;QAC9D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5G,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -1,7 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Windsurf pre_user_prompt hook — auto-recall from Nex.
4
- * Input: { tool_info: { user_prompt: string } }
5
- * Output: context string on stdout (displayed via show_output) or {}
6
- */
7
- export {};
@@ -1,31 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Windsurf pre_user_prompt hook — auto-recall from Nex.
4
- * Input: { tool_info: { user_prompt: string } }
5
- * Output: context string on stdout (displayed via show_output) or {}
6
- */
7
- import { doRecall, readStdin } from "../shared.js";
8
- async function main() {
9
- try {
10
- const raw = await readStdin();
11
- let input = {};
12
- try {
13
- input = JSON.parse(raw);
14
- }
15
- catch { /* defaults */ }
16
- const prompt = input.tool_info?.user_prompt ?? "";
17
- const result = await doRecall(prompt, input.session_id);
18
- if (!result) {
19
- process.stdout.write("{}");
20
- return;
21
- }
22
- // Windsurf displays stdout content via show_output
23
- process.stdout.write(JSON.stringify({ additional_context: result.context }));
24
- }
25
- catch (err) {
26
- process.stderr.write(`[nex-windsurf] Recall error: ${err instanceof Error ? err.message : String(err)}\n`);
27
- process.stdout.write("{}");
28
- }
29
- }
30
- main().then(() => process.exit(0)).catch(() => process.exit(0));
31
- //# sourceMappingURL=windsurf-recall.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"windsurf-recall.js","sourceRoot":"","sources":["../../../src/plugin/adapters/windsurf-recall.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAOnD,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,SAAS,EAAE,CAAC;QAC9B,IAAI,KAAK,GAAkB,EAAE,CAAC;QAC9B,IAAI,CAAC;YAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;QAEzD,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,WAAW,IAAI,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QAExD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO;QACT,CAAC;QAED,mDAAmD;QACnD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,kBAAkB,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC/E,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3G,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -1,39 +0,0 @@
1
- /**
2
- * Shared hook logic — platform-agnostic recall, capture, and session-start.
3
- *
4
- * Extracted from auto-recall.ts, auto-capture.ts, auto-session-start.ts
5
- * so adapters for Cursor, Windsurf, Cline, etc. can reuse the same logic
6
- * without duplicating filter/client/format code.
7
- */
8
- export interface RecallResult {
9
- context: string;
10
- nexSessionId?: string;
11
- }
12
- export interface CaptureInput {
13
- message: string;
14
- sessionId?: string;
15
- planDir?: string;
16
- }
17
- export interface SessionStartResult {
18
- context: string;
19
- nexSessionId?: string;
20
- registrationPrompt?: string;
21
- }
22
- /**
23
- * Run recall logic: filter prompt → query Nex /ask → return formatted context.
24
- * Returns null if recall is skipped or fails.
25
- */
26
- export declare function doRecall(prompt: string, sessionKey?: string): Promise<RecallResult | null>;
27
- /**
28
- * Run capture logic: filter message → ingest to Nex + scan plan files.
29
- */
30
- export declare function doCapture(input: CaptureInput): Promise<void>;
31
- /**
32
- * Run session-start logic: scan files → query Nex baseline → return context.
33
- * Returns null if disabled. Returns registrationPrompt if no API key.
34
- */
35
- export declare function doSessionStart(source: string, sessionKey?: string): Promise<SessionStartResult | null>;
36
- /** Read stdin as a string (shared across all hook scripts). */
37
- export declare function readStdin(): Promise<string>;
38
- /** Wrap output in Claude Code hookSpecificOutput format. */
39
- export declare function claudeCodeOutput(hookEventName: string, additionalContext: string): string;