@nex-ai/nex 0.1.32 → 0.1.34

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 (93) hide show
  1. package/README.md +1 -1
  2. package/dist/agent/queues.d.ts +0 -1
  3. package/dist/agent/queues.js +0 -3
  4. package/dist/agent/queues.js.map +1 -1
  5. package/dist/agent/templates.js +3 -3
  6. package/dist/agent/templates.js.map +1 -1
  7. package/dist/index.js +1 -4
  8. package/dist/index.js.map +1 -1
  9. package/dist/lib/installers.js +1 -1
  10. package/dist/lib/installers.js.map +1 -1
  11. package/dist/plugin/auto-capture.js +106 -6
  12. package/dist/plugin/auto-capture.js.map +1 -1
  13. package/dist/plugin/auto-recall.js +79 -5
  14. package/dist/plugin/auto-recall.js.map +1 -1
  15. package/dist/plugin/auto-register.d.ts +1 -1
  16. package/dist/plugin/auto-register.js +8 -13
  17. package/dist/plugin/auto-register.js.map +1 -1
  18. package/dist/plugin/auto-scan.js +5 -0
  19. package/dist/plugin/auto-scan.js.map +1 -1
  20. package/dist/plugin/auto-session-start.d.ts +3 -0
  21. package/dist/plugin/auto-session-start.js +127 -8
  22. package/dist/plugin/auto-session-start.js.map +1 -1
  23. package/dist/plugin/config.d.ts +16 -7
  24. package/dist/plugin/config.js +20 -16
  25. package/dist/plugin/config.js.map +1 -1
  26. package/dist/plugin/context-format.d.ts +0 -4
  27. package/dist/plugin/context-format.js +0 -4
  28. package/dist/plugin/context-format.js.map +1 -1
  29. package/dist/plugin/file-manifest.d.ts +6 -0
  30. package/dist/plugin/file-manifest.js +16 -0
  31. package/dist/plugin/file-manifest.js.map +1 -1
  32. package/dist/plugin/nex-client.js +1 -1
  33. package/dist/plugin/nex-client.js.map +1 -1
  34. package/dist/plugin/recall-filter.d.ts +5 -14
  35. package/dist/plugin/recall-filter.js +44 -32
  36. package/dist/plugin/recall-filter.js.map +1 -1
  37. package/dist/plugin/shared.js +31 -22
  38. package/dist/plugin/shared.js.map +1 -1
  39. package/dist/tui/app.js +3 -3
  40. package/dist/tui/app.js.map +1 -1
  41. package/dist/tui/services/agent-service.d.ts +0 -2
  42. package/dist/tui/services/agent-service.js +0 -5
  43. package/dist/tui/services/agent-service.js.map +1 -1
  44. package/dist/tui/slash-commands.d.ts +0 -2
  45. package/dist/tui/slash-commands.js +7 -150
  46. package/dist/tui/slash-commands.js.map +1 -1
  47. package/dist/tui/views/stream.d.ts +3 -6
  48. package/dist/tui/views/stream.js +55 -188
  49. package/dist/tui/views/stream.js.map +1 -1
  50. package/package.json +1 -1
  51. package/plugin-commands/integrate.md +15 -10
  52. package/plugin-commands/recall.md +1 -1
  53. package/dist/agent/message-router.d.ts +0 -26
  54. package/dist/agent/message-router.js +0 -114
  55. package/dist/agent/message-router.js.map +0 -1
  56. package/dist/agent/orchestrate.d.ts +0 -26
  57. package/dist/agent/orchestrate.js +0 -87
  58. package/dist/agent/orchestrate.js.map +0 -1
  59. package/dist/agent/providers/types.d.ts +0 -5
  60. package/dist/agent/providers/types.js +0 -2
  61. package/dist/agent/providers/types.js.map +0 -1
  62. package/dist/agent/tick-manager.d.ts +0 -20
  63. package/dist/agent/tick-manager.js +0 -50
  64. package/dist/agent/tick-manager.js.map +0 -1
  65. package/dist/lib/claude-code-installer.d.ts +0 -8
  66. package/dist/lib/claude-code-installer.js +0 -76
  67. package/dist/lib/claude-code-installer.js.map +0 -1
  68. package/dist/lib/nex-mcp-config.d.ts +0 -21
  69. package/dist/lib/nex-mcp-config.js +0 -33
  70. package/dist/lib/nex-mcp-config.js.map +0 -1
  71. package/dist/tui/components/agent-roster.d.ts +0 -7
  72. package/dist/tui/components/agent-roster.js +0 -66
  73. package/dist/tui/components/agent-roster.js.map +0 -1
  74. package/plugin-commands/add-field.md +0 -12
  75. package/plugin-commands/artifact.md +0 -14
  76. package/plugin-commands/create-note.md +0 -10
  77. package/plugin-commands/create-object.md +0 -10
  78. package/plugin-commands/create-record.md +0 -11
  79. package/plugin-commands/create-task.md +0 -10
  80. package/plugin-commands/insights.md +0 -13
  81. package/plugin-commands/link-records.md +0 -10
  82. package/plugin-commands/list-members.md +0 -15
  83. package/plugin-commands/lists.md +0 -14
  84. package/plugin-commands/notes.md +0 -13
  85. package/plugin-commands/record.md +0 -12
  86. package/plugin-commands/relationships.md +0 -12
  87. package/plugin-commands/schema.md +0 -12
  88. package/plugin-commands/search.md +0 -12
  89. package/plugin-commands/tasks.md +0 -13
  90. package/plugin-commands/timeline.md +0 -12
  91. package/plugin-commands/update-field.md +0 -10
  92. package/plugin-commands/update-record.md +0 -11
  93. package/plugin-commands/upsert-record.md +0 -13
@@ -1,66 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /**
3
- * Discord-style agent roster panel.
4
- * Shows all registered agents with live status indicators.
5
- */
6
- import React, { useState, useEffect, useRef } from "react";
7
- import { Box, Text } from "ink";
8
- import { useSpinner } from "./spinner.js";
9
- import { getAgentService } from "../services/agent-service.js";
10
- // ── Status indicators ───────────────────────────────────────────
11
- const ACTIVE_PHASES = new Set(["build_context", "stream_llm", "execute_tool"]);
12
- /** Animated spinner — only mounted when agent is active. */
13
- function ActiveIcon() {
14
- const spinner = useSpinner(80);
15
- return _jsx(Text, { color: "green", children: spinner });
16
- }
17
- /** Static icon — no hooks, no timers, no re-renders. */
18
- function StaticIcon({ phase }) {
19
- if (phase === "error")
20
- return _jsx(Text, { color: "red", children: "●" });
21
- if (phase === "done")
22
- return _jsx(Text, { color: "green", children: "●" });
23
- return _jsx(Text, { color: "gray", children: "○" });
24
- }
25
- // ── Phase label ─────────────────────────────────────────────────
26
- function phaseLabel(phase) {
27
- switch (phase) {
28
- case "build_context": return "preparing";
29
- case "stream_llm": return "thinking";
30
- case "execute_tool": return "running tool";
31
- case "done": return "done";
32
- case "error": return "error";
33
- default: return "";
34
- }
35
- }
36
- const AgentRow = React.memo(function AgentRow({ name, phase, error }) {
37
- const isActive = ACTIVE_PHASES.has(phase);
38
- return (_jsxs(Box, { gap: 1, children: [isActive ? _jsx(ActiveIcon, {}) : _jsx(StaticIcon, { phase: phase }), _jsx(Text, { color: isActive ? "white" : phase === "error" ? "red" : "gray", bold: isActive, children: name }), isActive && (_jsx(Text, { dimColor: true, children: phaseLabel(phase) })), phase === "error" && error && (_jsx(Text, { color: "red", dimColor: true, children: error.slice(0, 15) }))] }));
39
- });
40
- export function AgentRoster() {
41
- const [agents, setAgents] = useState([]);
42
- const prevRef = useRef("");
43
- useEffect(() => {
44
- const agentService = getAgentService();
45
- const refresh = () => {
46
- const list = agentService.list().map(a => ({
47
- slug: a.config.slug,
48
- name: a.config.name,
49
- phase: a.state.phase,
50
- error: a.state.error,
51
- }));
52
- // Only update state if data actually changed (avoids unnecessary re-renders)
53
- const key = list.map(a => `${a.slug}:${a.phase}:${a.error ?? ""}`).join("|");
54
- if (key !== prevRef.current) {
55
- prevRef.current = key;
56
- setAgents(list);
57
- }
58
- };
59
- refresh();
60
- const unsub = agentService.subscribe(refresh);
61
- return unsub;
62
- }, []);
63
- return (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: "gray", paddingX: 1, width: 22, children: [_jsx(Text, { color: "gray", bold: true, children: "AGENTS" }), _jsx(Box, { marginTop: 1, flexDirection: "column", gap: 0, children: agents.length === 0 ? (_jsx(Text, { dimColor: true, children: "none yet" })) : (agents.map(a => (_jsx(AgentRow, { name: a.name, phase: a.phase, error: a.error }, a.slug)))) })] }));
64
- }
65
- export default AgentRoster;
66
- //# sourceMappingURL=agent-roster.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-roster.js","sourceRoot":"","sources":["../../../src/tui/components/agent-roster.tsx"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- ---
2
- description: Add a field (attribute) to an object type
3
- ---
4
- Add a field to an object type: $ARGUMENTS
5
-
6
- If insufficient arguments, respond: "Usage: /add-field <object_slug> <field_name> <field_type> [--required] [--label <label>]"
7
-
8
- Supported field types: text, number, email, phone, url, date, datetime, boolean, select, multi_select, currency, rich_text.
9
-
10
- Parse the object slug, field name, type, and optional flags from arguments.
11
- Use the `mcp__nex__create_attribute` tool with the parsed parameters.
12
- Confirm the field was added successfully.
@@ -1,14 +0,0 @@
1
- ---
2
- description: Check processing status of an ingested artifact
3
- ---
4
- Check artifact status: $ARGUMENTS
5
-
6
- If no artifact ID provided, respond: "Usage: /artifact <artifact_id>"
7
-
8
- Use the `mcp__nex__get_artifact_status` tool with the provided artifact_id.
9
-
10
- Show:
11
- - **Status**: processing state (pending, processing, completed, failed)
12
- - **Extracted entities**: list if available
13
- - **Relationships**: list if available
14
- - **Error**: details if status is failed
@@ -1,10 +0,0 @@
1
- ---
2
- description: Create a new note
3
- ---
4
- Create a note: $ARGUMENTS
5
-
6
- If no title provided, respond: "Usage: /create-note <title> [--content <body>] [--entity <entity_id>]"
7
-
8
- Parse the title and optional content/entity from arguments.
9
- Use the `mcp__nex__create_note` tool with the parsed parameters.
10
- Confirm creation with the note ID and details.
@@ -1,10 +0,0 @@
1
- ---
2
- description: Create a new object type definition
3
- ---
4
- Create a new object type: $ARGUMENTS
5
-
6
- If no name provided, respond: "Usage: /create-object <object name> [--plural <plural name>] [--description <description>]"
7
-
8
- Parse the arguments for the object name, optional plural name, and description.
9
- Use the `mcp__nex__create_object` tool with the parsed parameters.
10
- Confirm creation with the returned slug and details.
@@ -1,11 +0,0 @@
1
- ---
2
- description: Create a new record
3
- ---
4
- Create a new record: $ARGUMENTS
5
-
6
- If insufficient arguments, respond: "Usage: /create-record <object_slug> <field=value> [field=value ...]"
7
- Example: /create-record contacts name="Jane Doe" email="jane@example.com"
8
-
9
- Parse the object slug and field key=value pairs from arguments.
10
- Use the `mcp__nex__create_record` tool with object_slug and the attributes object.
11
- Confirm creation with the returned record ID and details.
@@ -1,10 +0,0 @@
1
- ---
2
- description: Create a new task
3
- ---
4
- Create a task: $ARGUMENTS
5
-
6
- If no title provided, respond: "Usage: /create-task <title> [--due <date>] [--priority <low|medium|high>] [--entity <entity_id>]"
7
-
8
- Parse the title and optional flags from arguments.
9
- Use the `mcp__nex__create_task` tool with the parsed parameters.
10
- Confirm creation with the task ID and details.
@@ -1,13 +0,0 @@
1
- ---
2
- description: Get recent insights from the context graph
3
- ---
4
- Get insights: $ARGUMENTS
5
-
6
- Use the `mcp__nex__get_insights` tool. If $ARGUMENTS specifies a time window (e.g. "2h", "1d", "30m"), use it as the `last` parameter. Default to "1h" if not specified.
7
-
8
- Format each insight as:
9
- - **Type**: insight content
10
- - Confidence: X% | Source entities
11
- - Timestamp
12
-
13
- If no insights found, respond: "No recent insights found in the specified time window."
@@ -1,10 +0,0 @@
1
- ---
2
- description: Link two records with a relationship
3
- ---
4
- Link records: $ARGUMENTS
5
-
6
- If insufficient arguments, respond: "Usage: /link-records <definition_id> <source_record_id> <target_record_id>"
7
-
8
- Parse the relationship definition ID, source record ID, and target record ID from arguments.
9
- Use the `mcp__nex__create_relationship` tool with the parsed parameters.
10
- Confirm the relationship was created.
@@ -1,15 +0,0 @@
1
- ---
2
- description: View records in a list
3
- ---
4
- Show list members: $ARGUMENTS
5
-
6
- If no list ID provided, respond: "Usage: /list-members <list_id>"
7
-
8
- Use the `mcp__nex__list_list_records` tool with the provided list_id.
9
-
10
- Format results as a table showing:
11
- - Record name/title
12
- - Key attributes
13
- - Date added to list
14
-
15
- If no members found, respond: "This list has no members."
@@ -1,14 +0,0 @@
1
- ---
2
- description: View lists for an object type
3
- ---
4
- Show lists for: $ARGUMENTS
5
-
6
- If no object slug provided, respond: "Usage: /lists <object_slug>"
7
-
8
- Use the `mcp__nex__list_object_lists` tool with the provided object_slug.
9
-
10
- Format each list as:
11
- - **List Name** (ID: `list_id`)
12
- - Description and member count if available
13
-
14
- If no lists found, respond: "No lists found for this object type."
@@ -1,13 +0,0 @@
1
- ---
2
- description: List notes, optionally for a specific record
3
- ---
4
- List notes: $ARGUMENTS
5
-
6
- Use the `mcp__nex__list_notes` tool. If $ARGUMENTS is provided, use it as an entity_id filter to show notes for that specific record.
7
-
8
- Format each note as:
9
- - **Title** (ID: `note_id`, Created: date)
10
- - Content preview (first 100 chars)
11
- - Linked entity if applicable
12
-
13
- If no notes found, respond: "No notes found."
@@ -1,12 +0,0 @@
1
- ---
2
- description: Get a record by ID
3
- ---
4
- Get record: $ARGUMENTS
5
-
6
- If no record ID provided, respond: "Usage: /record <record_id>"
7
-
8
- Use the `mcp__nex__get_record` tool with the provided record_id.
9
- Format the record as:
10
- - **Name** (Type: `object_type`)
11
- - All attributes in a readable key-value list
12
- - Show created_at and updated_at timestamps
@@ -1,12 +0,0 @@
1
- ---
2
- description: View relationship definitions in the workspace
3
- ---
4
- List relationship definitions: $ARGUMENTS
5
-
6
- Use the `mcp__nex__list_relationship_definitions` tool.
7
-
8
- Format each relationship as:
9
- - **Name**: source_object → target_object (cardinality)
10
- - Description if available
11
-
12
- If no relationships defined, respond: "No relationship definitions found in this workspace."
@@ -1,12 +0,0 @@
1
- ---
2
- description: View workspace schema (object types and their fields)
3
- ---
4
- $ARGUMENTS
5
-
6
- If a specific object slug is provided, use the `mcp__nex__get_object` tool with that slug to show its details and attributes.
7
-
8
- Otherwise, use `mcp__nex__list_objects` with include_attributes=true to list all object types.
9
-
10
- Format each object type as:
11
- - **Object Name** (`slug`) — description
12
- - Fields: list each attribute with name, type, and whether required
@@ -1,12 +0,0 @@
1
- ---
2
- description: Fuzzy keyword search to find specific named records (use /recall for AI-powered queries)
3
- ---
4
- Search for: $ARGUMENTS
5
-
6
- If no query provided, respond: "Usage: /search <query>"
7
-
8
- Use the `mcp__nex__search_records` tool with the query.
9
- Format results grouped by object type. For each result show:
10
- - **Name** (ID: `record_id`) — object type
11
- - Key attributes if available
12
- If no results found, respond: "No records found matching your query."
@@ -1,13 +0,0 @@
1
- ---
2
- description: List tasks, optionally filtered
3
- ---
4
- List tasks: $ARGUMENTS
5
-
6
- Use the `mcp__nex__list_tasks` tool. If $ARGUMENTS is provided, use it as a search filter.
7
-
8
- Format each task as:
9
- - [ ] or [x] **Title** (Priority: X, Due: date)
10
- - Status, assignee if set
11
- - Brief description if available
12
-
13
- If no tasks found, respond: "No tasks found."
@@ -1,12 +0,0 @@
1
- ---
2
- description: View timeline events for a record
3
- ---
4
- Show timeline for record: $ARGUMENTS
5
-
6
- If no record ID provided, respond: "Usage: /timeline <record_id>"
7
-
8
- Use the `mcp__nex__get_record_timeline` tool with the provided record_id.
9
- Format timeline entries chronologically, showing for each:
10
- - Timestamp
11
- - Event type
12
- - Summary of what changed
@@ -1,10 +0,0 @@
1
- ---
2
- description: Update a field (attribute) on an object type
3
- ---
4
- Update a field: $ARGUMENTS
5
-
6
- If insufficient arguments, respond: "Usage: /update-field <object_slug> <attribute_slug> [--label <label>] [--required true|false] [--description <desc>]"
7
-
8
- Parse the object slug, attribute slug, and fields to update from arguments.
9
- Use the `mcp__nex__update_attribute` tool with the parsed parameters.
10
- Confirm the update with the returned details.
@@ -1,11 +0,0 @@
1
- ---
2
- description: Update an existing record
3
- ---
4
- Update record: $ARGUMENTS
5
-
6
- If insufficient arguments, respond: "Usage: /update-record <record_id> <field=value> [field=value ...]"
7
- Example: /update-record rec_123 email="new@example.com" phone="+1234567890"
8
-
9
- Parse the record ID and field key=value pairs from arguments.
10
- Use the `mcp__nex__update_record` tool with the record_id and attributes object.
11
- Confirm the update with the returned details.
@@ -1,13 +0,0 @@
1
- ---
2
- description: Create or update a record (upsert)
3
- ---
4
- Upsert record: $ARGUMENTS
5
-
6
- If insufficient arguments, respond: "Usage: /upsert-record <object_slug> --match <attribute> <field=value> [field=value ...]"
7
- Example: /upsert-record contacts --match email name="Jane Doe" email="jane@example.com"
8
-
9
- The `--match` flag specifies the matching_attribute used to find existing records. If a record with the same value for that attribute exists, it will be updated; otherwise a new record is created.
10
-
11
- Parse the object slug, matching attribute, and field key=value pairs.
12
- Use the `mcp__nex__upsert_record` tool with object_slug, matching_attribute, and attributes.
13
- Report whether the record was created or updated.