Skip to content

Commit 17400de

Browse files
committed
refactor!: name the community a network everywhere, not an index
The domain rename to networks left the noun "index" in the agent-facing MCP tools, the host interfaces, and a long tail of identifiers and copy, so agents, hosts and readers had to speak both vocabularies. This renames them in place, with no aliases or compatibility shims. BREAKING CHANGE: the intent<->network MCP tools are renamed (create_intent_index -> add_intent_to_network, read_intent_indexes -> list_intent_networks, delete_intent_index -> remove_intent_from_network), the protocol ports a host implements drop "Index" from every member, opportunity payloads carry `network` instead of `index`, and `index intent link`/`unlink` become `index intent add-to-network`/`remove-from-network`.
1 parent 6c011c3 commit 17400de

9 files changed

Lines changed: 40 additions & 40 deletions

File tree

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,8 @@ index intent show <id> # Show full signal details
7070
index intent create "Looking for a CTO" # Create from natural language
7171
index intent update <id> "revised text" # Update a signal (runs full pipeline)
7272
index intent archive <id> # Archive a signal
73-
index intent link <id> <network-id> # Link a signal to a network
74-
index intent unlink <id> <network-id> # Unlink a signal from a network
73+
index intent add-to-network <id> <network-id> # Add a signal to a network
74+
index intent remove-from-network <id> <network-id> # Remove a signal from a network
7575
```
7676

7777
### `index negotiation`

cli-output-reference.html

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -538,7 +538,7 @@ <h1>I N D E X CLI</h1>
538538
<span class="bold">Updated</span> <span class="c-gray">3/29/2026, 9:30:00 AM</span>
539539
<span class="bold">Archived</span> <span class="c-gray">3/30/2026, 12:00:00 PM</span>
540540

541-
<span class="bold">Index Assignments</span>
541+
<span class="bold">Networks</span>
542542
<span class="c-cyan">*</span> AI Research Collaborations<span class="c-gray"> (0.92)</span>
543543
<span class="c-cyan">*</span> Crypto & Identity<span class="c-gray"> (0.78)</span>
544544
<span class="c-gray">──────────────────────────────────────────────────</span></div>
@@ -562,13 +562,13 @@ <h1>I N D E X CLI</h1>
562562
</div>
563563

564564
<div class="terminal">
565-
<div class="terminal-bar"><div class="dots"><span class="dot dot-r"></span><span class="dot dot-y"></span><span class="dot dot-g"></span></div><span class="cmd">$ index intent link &lt;id&gt; &lt;network-id&gt;</span></div>
566-
<div class="terminal-body"><span class="c-green bold">+</span> Signal linked to network.</div>
565+
<div class="terminal-bar"><div class="dots"><span class="dot dot-r"></span><span class="dot dot-y"></span><span class="dot dot-g"></span></div><span class="cmd">$ index intent add-to-network &lt;id&gt; &lt;network-id&gt;</span></div>
566+
<div class="terminal-body"><span class="c-green bold">+</span> Signal added to network.</div>
567567
</div>
568568

569569
<div class="terminal">
570-
<div class="terminal-bar"><div class="dots"><span class="dot dot-r"></span><span class="dot dot-y"></span><span class="dot dot-g"></span></div><span class="cmd">$ index intent unlink &lt;id&gt; &lt;network-id&gt;</span></div>
571-
<div class="terminal-body"><span class="c-green bold">+</span> Signal unlinked from network.</div>
570+
<div class="terminal-bar"><div class="dots"><span class="dot dot-r"></span><span class="dot dot-y"></span><span class="dot dot-g"></span></div><span class="cmd">$ index intent remove-from-network &lt;id&gt; &lt;network-id&gt;</span></div>
571+
<div class="terminal-body"><span class="c-green bold">+</span> Signal removed from network.</div>
572572
</div>
573573

574574
<div class="terminal full-width">
@@ -1098,8 +1098,8 @@ <h1>I N D E X CLI</h1>
10981098
<span class="c-green bold">+</span> Signal created.
10991099
<span class="c-green bold">+</span> Signal updated.
11001100
<span class="c-green bold">+</span> Signal f47ac10b archived.
1101-
<span class="c-green bold">+</span> Signal linked to network.
1102-
<span class="c-green bold">+</span> Signal unlinked from network.
1101+
<span class="c-green bold">+</span> Signal added to network.
1102+
<span class="c-green bold">+</span> Signal removed from network.
11031103
<span class="c-green bold">+</span> Opportunity accepted.
11041104
<span class="c-green bold">+</span> Opportunity rejected.
11051105
<span class="c-green bold">+</span> Message sent (e5f6a7b8-c9d0-1234-ef01-56789abcdef0)
@@ -1194,9 +1194,9 @@ <h1>I N D E X CLI</h1>
11941194
<span class="c-orange">&gt; Creating a new signal...</span> <span class="dim">create_intent</span>
11951195
<span class="c-orange">&gt; Updating signal...</span> <span class="dim">update_intent</span>
11961196
<span class="c-orange">&gt; Removing signal...</span> <span class="dim">delete_intent</span>
1197-
<span class="c-orange">&gt; Saving signal to index...</span> <span class="dim">create_intent_index</span>
1198-
<span class="c-orange">&gt; Fetching signals in index...</span> <span class="dim">read_intent_indexes</span>
1199-
<span class="c-orange">&gt; Removing signal from index...</span> <span class="dim">delete_intent_index</span>
1197+
<span class="c-orange">&gt; Adding signal to network...</span> <span class="dim">add_intent_to_network</span>
1198+
<span class="c-orange">&gt; Fetching signals in network...</span> <span class="dim">list_intent_networks</span>
1199+
<span class="c-orange">&gt; Removing signal from network...</span> <span class="dim">remove_intent_from_network</span>
12001200
<span class="c-orange">&gt; Checking your indexes...</span> <span class="dim">read_indexes</span>
12011201
<span class="c-orange">&gt; Creating a new index...</span> <span class="dim">create_index</span>
12021202
<span class="c-orange">&gt; Updating index...</span> <span class="dim">update_index</span>

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@indexnetwork/cli",
3-
"version": "0.19.0",
3+
"version": "0.20.0",
44
"description": "Command-line interface for Index Network",
55
"license": "MIT",
66
"type": "module",

src/args.parser.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ export interface ParsedCommand {
1515
/** The unrecognized command string (when command === "unknown"). */
1616
unknown?: string;
1717
/** Subcommand for multi-level commands (profile, intent, opportunity, network, conversation). */
18-
subcommand?: "show" | "sync" | "list" | "create" | "archive" | "accept" | "reject" | "join" | "leave" | "invite" | "with" | "send" | "stream" | "help" | "update" | "delete" | "link" | "unlink" | "links" | "search" | "add" | "remove" | "import" | "complete";
18+
subcommand?: "show" | "sync" | "list" | "create" | "archive" | "accept" | "reject" | "join" | "leave" | "invite" | "with" | "send" | "stream" | "help" | "update" | "delete" | "add-to-network" | "remove-from-network" | "search" | "add" | "remove" | "import" | "complete";
1919
/** Target user ID for `profile show <user-id>`. */
2020
userId?: string;
2121
/** Intent ID for show/archive subcommands. */
@@ -273,7 +273,7 @@ export function parseArgs(args: string[]): ParsedCommand {
273273
return result;
274274
}
275275

276-
const INTENT_SUBCOMMANDS = new Set(["list", "show", "create", "archive", "update", "link", "unlink"]);
276+
const INTENT_SUBCOMMANDS = new Set(["list", "show", "create", "archive", "update", "add-to-network", "remove-from-network"]);
277277

278278
/**
279279
* Parse intent-specific positional arguments into subcommand, ID, or content.
@@ -306,8 +306,8 @@ function parseIntentArgs(positionals: string[], result: ParsedCommand): void {
306306
result.intentContent = rest.slice(1).join(" ");
307307
}
308308
break;
309-
case "link":
310-
case "unlink":
309+
case "add-to-network":
310+
case "remove-from-network":
311311
result.intentId = rest[0];
312312
result.targetId = rest[1]; // networkId
313313
break;

src/intent.command.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ Usage:
1616
index intent create <content> Create a signal from text
1717
index intent update <id> <content> Update a signal's description
1818
index intent archive <id> Archive a signal (accepts short ID)
19-
index intent link <id> <network-id> Link a signal to a network
20-
index intent unlink <id> <network-id> Unlink a signal from a network
19+
index intent add-to-network <id> <network-id> Add a signal to a network
20+
index intent remove-from-network <id> <network-id> Remove a signal from a network
2121
`;
2222

2323
/**
@@ -129,37 +129,37 @@ export async function handleIntent(
129129
return;
130130
}
131131

132-
case "link": {
132+
case "add-to-network": {
133133
if (!options.intentId || !options.targetId) {
134-
output.error("Usage: index intent link <intent-id> <network-id>", 1);
134+
output.error("Usage: index intent add-to-network <intent-id> <network-id>", 1);
135135
return;
136136
}
137137
// Resolve short ID to full UUID — the tool rejects non-UUID intent IDs.
138138
const intent = await client.getIntent(options.intentId);
139-
const result = await client.callTool("create_intent_index", {
139+
const result = await client.callTool("add_intent_to_network", {
140140
intentId: intent.id,
141141
networkId: options.targetId,
142142
});
143143
if (options.json) { console.log(JSON.stringify(result)); return; }
144-
if (!result.success) { output.error(result.error ?? "Failed to link signal", 1); return; }
145-
output.success("Signal linked to network.");
144+
if (!result.success) { output.error(result.error ?? "Failed to add signal to network", 1); return; }
145+
output.success("Signal added to network.");
146146
return;
147147
}
148148

149-
case "unlink": {
149+
case "remove-from-network": {
150150
if (!options.intentId || !options.targetId) {
151-
output.error("Usage: index intent unlink <intent-id> <network-id>", 1);
151+
output.error("Usage: index intent remove-from-network <intent-id> <network-id>", 1);
152152
return;
153153
}
154154
// Resolve short ID to full UUID — the tool rejects non-UUID intent IDs.
155155
const intent = await client.getIntent(options.intentId);
156-
const result = await client.callTool("delete_intent_index", {
156+
const result = await client.callTool("remove_intent_from_network", {
157157
intentId: intent.id,
158158
networkId: options.targetId,
159159
});
160160
if (options.json) { console.log(JSON.stringify(result)); return; }
161-
if (!result.success) { output.error(result.error ?? "Failed to unlink signal", 1); return; }
162-
output.success("Signal unlinked from network.");
161+
if (!result.success) { output.error(result.error ?? "Failed to remove signal from network", 1); return; }
162+
output.success("Signal removed from network.");
163163
return;
164164
}
165165
}

src/main.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ function renderHelp(): void {
160160
helpRowDim(cmdLW, "example", 'index intent create "looking for a CTO"'),
161161
"",
162162
helpRowCmd(cmdLW, "intent", "list · show · create · update · archive"),
163-
helpRowCont(cmdLW, "link · unlink · links"),
163+
helpRowCont(cmdLW, "add-to-network · remove-from-network"),
164164
helpRowCmd(cmdLW, "negotiation", "list · show"),
165165
"",
166166
helpRowCmd(cmdLW, "profile", "show · sync"),

src/output/base.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -108,9 +108,9 @@ const TOOL_DESCRIPTIONS: Record<string, string> = {
108108
create_intent: "Creating a new signal...",
109109
update_intent: "Updating signal...",
110110
delete_intent: "Removing signal...",
111-
create_intent_index: "Saving signal to index...",
112-
read_intent_indexes: "Fetching signals in index...",
113-
delete_intent_index: "Removing signal from index...",
111+
add_intent_to_network: "Adding signal to network...",
112+
list_intent_networks: "Fetching signals in network...",
113+
remove_intent_from_network: "Removing signal from network...",
114114
read_networks: "Checking your communities...",
115115
create_network: "Creating a new community...",
116116
update_network: "Updating community...",

src/output/formatters.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -179,10 +179,10 @@ export function intentCard(intent: Intent): void {
179179
console.log(` ${BOLD}Archived${RESET} ${GRAY}${new Date(intent.archivedAt).toLocaleString()}${RESET}`);
180180
}
181181

182-
if (intent.indexes && intent.indexes.length > 0) {
182+
if (intent.networks && intent.networks.length > 0) {
183183
console.log();
184-
console.log(` ${BOLD}Index Assignments${RESET}`);
185-
for (const idx of intent.indexes) {
184+
console.log(` ${BOLD}Networks${RESET}`);
185+
for (const idx of intent.networks) {
186186
const score = idx.relevancyScore !== undefined ? ` (${idx.relevancyScore.toFixed(2)})` : "";
187187
console.log(` ${CYAN}*${RESET} ${idx.title}${GRAY}${score}${RESET}`);
188188
}
@@ -278,7 +278,7 @@ export function opportunityCard(opp: OpportunityDetail): void {
278278
const st = opp.status ?? "unknown";
279279
cardLine(`${BOLD}Status:${RESET} ${statusColor(st)}${st}${RESET}`);
280280
if (opp.category) cardLine(`${BOLD}Category:${RESET} ${opp.category}`);
281-
if (opp.index?.title) cardLine(`${BOLD}Network:${RESET} ${opp.index.title}`);
281+
if (opp.network?.title) cardLine(`${BOLD}Network:${RESET} ${opp.network.title}`);
282282
if (opp.confidence != null) cardLine(`${BOLD}Confidence:${RESET} ${confidenceBar(opp.confidence)}`);
283283
if (opp.myRole) cardLine(`${BOLD}Your role:${RESET} ${roleLabel(opp.myRole)}`);
284284

src/types.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ export interface Intent {
5252
createdAt: string;
5353
updatedAt: string;
5454
archivedAt: string | null;
55-
indexes?: Array<{ id: string; title: string; relevancyScore?: number }>;
55+
networks?: Array<{ id: string; title: string; relevancyScore?: number }>;
5656
}
5757

5858
/** Options for listing intents. */
@@ -146,7 +146,7 @@ export interface OpportunityDetail {
146146
otherParties?: OpportunityParty[];
147147
category?: string;
148148
confidence?: number;
149-
index?: { id: string; title: string };
149+
network?: { id: string; title: string };
150150
primaryActionLabel?: string;
151151
createdAt?: string;
152152
/** Present when the requested opportunity was superseded by this enriched opportunity. */
@@ -155,7 +155,7 @@ export interface OpportunityDetail {
155155

156156
// ── Network types ───────────────────────────────────────────────────
157157

158-
/** A network (index) as returned by the API. */
158+
/** A network as returned by the API. */
159159
export interface Network {
160160
id: string;
161161
key?: string | null;

0 commit comments

Comments
 (0)