@silverbackbase/root 0.4.1 → 0.4.2

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/dist/core/db.d.ts CHANGED
@@ -8,10 +8,10 @@ export interface KnowledgeRow {
8
8
  updatedAt: Date;
9
9
  }
10
10
  export interface KnowledgeDB {
11
- createAccount(id: string, name: string, url: string): Promise<ClientRow>;
12
- listAccounts(): Promise<ClientRow[]>;
13
- getAccount(id: string): Promise<ClientRow | undefined>;
14
- deleteAccount(id: string): Promise<{
11
+ createProject(id: string, name: string, url: string): Promise<ClientRow>;
12
+ listProjects(): Promise<ClientRow[]>;
13
+ getProject(id: string): Promise<ClientRow | undefined>;
14
+ deleteProject(id: string): Promise<{
15
15
  items_removed: number;
16
16
  }>;
17
17
  getAll(accountId: string): Promise<KnowledgeRow[]>;
package/dist/core/db.js CHANGED
@@ -60,20 +60,20 @@ function createSQLiteDB(dbPath) {
60
60
  sqlite.exec("PRAGMA foreign_keys = ON;");
61
61
  sqlite.exec(CREATE_TABLE_SQL);
62
62
  return {
63
- async createAccount(id, name, url) {
63
+ async createProject(id, name, url) {
64
64
  const now = new Date().toISOString();
65
65
  sqlite.prepare("INSERT INTO clients (id, name, url, created_at) VALUES (?, ?, ?, ?)").run(id, name, url, now);
66
66
  return { id, name, url, createdAt: new Date(now) };
67
67
  },
68
- async listAccounts() {
68
+ async listProjects() {
69
69
  const rows = sqlite.prepare("SELECT * FROM clients ORDER BY created_at DESC").all();
70
70
  return rows.map(parseSqliteClient);
71
71
  },
72
- async getAccount(id) {
72
+ async getProject(id) {
73
73
  const row = sqlite.prepare("SELECT * FROM clients WHERE id = ?").get(id);
74
74
  return row ? parseSqliteClient(row) : undefined;
75
75
  },
76
- async deleteAccount(id) {
76
+ async deleteProject(id) {
77
77
  const count = sqlite.prepare("SELECT COUNT(*) as n FROM knowledge_items WHERE account_id = ?").get(id).n;
78
78
  sqlite.prepare("DELETE FROM knowledge_items WHERE account_id = ?").run(id);
79
79
  sqlite.prepare("DELETE FROM clients WHERE id = ?").run(id);
@@ -133,24 +133,24 @@ function createPostgresDB(url) {
133
133
  };
134
134
  }
135
135
  return {
136
- async createAccount(id, name, url) {
136
+ async createProject(id, name, url) {
137
137
  const now = new Date();
138
138
  await sql `INSERT INTO clients (id, name, url, created_at) VALUES (${id}, ${name}, ${url}, ${now})`;
139
139
  return { id, name, url, createdAt: now };
140
140
  },
141
- async listAccounts() {
141
+ async listProjects() {
142
142
  await ensureInit();
143
143
  const rows = await sql `SELECT * FROM clients ORDER BY created_at DESC`;
144
144
  return rows.map((r) => ({ id: r.id, name: r.name, url: r.url, createdAt: new Date(r.created_at) }));
145
145
  },
146
- async getAccount(id) {
146
+ async getProject(id) {
147
147
  await ensureInit();
148
148
  const [row] = await sql `SELECT * FROM clients WHERE id = ${id}`;
149
149
  if (!row)
150
150
  return undefined;
151
151
  return { id: row.id, name: row.name, url: row.url, createdAt: new Date(row.created_at) };
152
152
  },
153
- async deleteAccount(id) {
153
+ async deleteProject(id) {
154
154
  await ensureInit();
155
155
  const [{ n }] = await sql `SELECT COUNT(*)::int as n FROM knowledge_items WHERE account_id = ${id}`;
156
156
  await sql `DELETE FROM knowledge_items WHERE account_id = ${id}`;
@@ -1,4 +1,4 @@
1
- export { getContext, getCategory, createItem, updateItem, deleteItem, searchKnowledge, createAccount, listAccounts, deleteAccount } from "./knowledge.js";
1
+ export { getContext, getCategory, createItem, updateItem, deleteItem, searchKnowledge, createProject, listProjects, deleteProject } from "./knowledge.js";
2
2
  export { onboardFromUrl } from "./onboard.js";
3
3
  export { refreshKnowledge } from "./refresh.js";
4
4
  export type { KnowledgeCategory, KnowledgeItem, BusinessContext, OnboardResult, RefreshDiff, ClientRow } from "./types.js";
@@ -1,4 +1,4 @@
1
- export { getContext, getCategory, createItem, updateItem, deleteItem, searchKnowledge, createAccount, listAccounts, deleteAccount } from "./knowledge.js";
1
+ export { getContext, getCategory, createItem, updateItem, deleteItem, searchKnowledge, createProject, listProjects, deleteProject } from "./knowledge.js";
2
2
  export { onboardFromUrl } from "./onboard.js";
3
3
  export { refreshKnowledge } from "./refresh.js";
4
4
  export { CATEGORIES } from "./types.js";
@@ -1,7 +1,7 @@
1
1
  import type { KnowledgeCategory, BusinessContext, ClientRow } from "./types.js";
2
- export declare function createAccount(name: string, url: string): Promise<ClientRow>;
3
- export declare function listAccounts(): Promise<ClientRow[]>;
4
- export declare function deleteAccount(clientId: string): Promise<{
2
+ export declare function createProject(name: string, url: string): Promise<ClientRow>;
3
+ export declare function listProjects(): Promise<ClientRow[]>;
4
+ export declare function deleteProject(clientId: string): Promise<{
5
5
  deleted: boolean;
6
6
  items_removed: number;
7
7
  }>;
@@ -1,17 +1,17 @@
1
1
  import { nanoid } from "nanoid";
2
2
  import { db } from "./db.js";
3
- export async function createAccount(name, url) {
3
+ export async function createProject(name, url) {
4
4
  const id = nanoid();
5
- return db.createAccount(id, name, url);
5
+ return db.createProject(id, name, url);
6
6
  }
7
- export async function listAccounts() {
8
- return db.listAccounts();
7
+ export async function listProjects() {
8
+ return db.listProjects();
9
9
  }
10
- export async function deleteAccount(clientId) {
11
- const client = await db.getAccount(clientId);
10
+ export async function deleteProject(clientId) {
11
+ const client = await db.getProject(clientId);
12
12
  if (!client)
13
13
  return { deleted: false, items_removed: 0 };
14
- const { items_removed } = await db.deleteAccount(clientId);
14
+ const { items_removed } = await db.deleteProject(clientId);
15
15
  return { deleted: true, items_removed };
16
16
  }
17
17
  export async function getContext(accountId) {
package/dist/mcp.js CHANGED
@@ -1,126 +1,126 @@
1
1
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  import { WebStandardStreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/webStandardStreamableHttp.js";
3
3
  import { z } from "zod";
4
- import { getContext, getCategory, createItem, updateItem, deleteItem, searchKnowledge, createAccount, listAccounts, deleteAccount, } from "./core/knowledge.js";
4
+ import { getContext, getCategory, createItem, updateItem, deleteItem, searchKnowledge, createProject, listProjects, deleteProject, } from "./core/knowledge.js";
5
5
  import { onboardFromUrl } from "./core/onboard.js";
6
6
  import { refreshKnowledge } from "./core/refresh.js";
7
7
  const CATEGORY_ENUM = z.enum([
8
8
  "offer", "persona", "objection", "differentiator",
9
9
  "competitor", "geo", "pricing", "faq", "profile",
10
10
  ]);
11
- const CLIENT_ID_PARAM = z.string().optional().describe("Client ID. If omitted, uses ROOT_ACCOUNT_ID env var (defaults to 'default').");
12
- function resolveClientId(clientId) {
13
- return clientId ?? process.env.ROOT_ACCOUNT_ID ?? "default";
11
+ const PROJECT_ID_PARAM = z.string().optional().describe("Project ID. If omitted, uses ROOT_ACCOUNT_ID env var (defaults to 'default').");
12
+ function resolveProjectId(projectId) {
13
+ return projectId ?? process.env.ROOT_ACCOUNT_ID ?? "default";
14
14
  }
15
15
  export function buildServer() {
16
16
  const server = new McpServer({ name: "root", version: "0.4.0" });
17
17
  // ── CLIENT MANAGEMENT ─────────────────────────────────────────────────────
18
- server.registerTool("root_create_account", {
18
+ server.registerTool("root_create_project", {
19
19
  description: "Create a new account and automatically onboard a website. Scrapes the URL, extracts business knowledge (offers, personas, competitors, geo zones…) and stores it under a new isolated account ID. Returns the account object and the full onboarding summary.",
20
20
  inputSchema: {
21
21
  name: z.string().describe("Account name (e.g. 'Mon business', 'Agence Dupont', 'Projet X')"),
22
22
  url: z.string().describe("Website URL to onboard (e.g. 'https://dupont.fr')"),
23
23
  },
24
24
  }, async ({ name, url }) => {
25
- const client = await createAccount(name, url);
25
+ const client = await createProject(name, url);
26
26
  const onboarding = await onboardFromUrl(client.id, url);
27
27
  return { content: [{ type: "text", text: JSON.stringify({ client, onboarding }) }] };
28
28
  });
29
- server.registerTool("root_list_accounts", {
29
+ server.registerTool("root_list_projects", {
30
30
  description: "List all accounts stored in Root — name, URL, ID, and creation date.",
31
31
  inputSchema: {},
32
32
  }, async () => {
33
- const clients = await listAccounts();
33
+ const clients = await listProjects();
34
34
  return { content: [{ type: "text", text: JSON.stringify({ count: clients.length, clients }) }] };
35
35
  });
36
- server.registerTool("root_delete_account", {
36
+ server.registerTool("root_delete_project", {
37
37
  description: "Delete an account and all its associated knowledge items.",
38
38
  inputSchema: {
39
- account_id: z.string().describe("The account ID to delete"),
39
+ project_id: z.string().describe("The account ID to delete"),
40
40
  },
41
- }, async ({ account_id }) => {
42
- const result = await deleteAccount(account_id);
41
+ }, async ({ project_id }) => {
42
+ const result = await deleteProject(project_id);
43
43
  return { content: [{ type: "text", text: JSON.stringify(result) }] };
44
44
  });
45
45
  // ── KNOWLEDGE TOOLS ────────────────────────────────────────────────────────
46
46
  server.registerTool("root_get_context", {
47
47
  description: "Returns complete business knowledge for a client — offers, personas, objections, differentiators, competitors, geo zones, pricing, and FAQs. ALWAYS call this tool before generating any content, SEO article, email, or prospection material.",
48
48
  inputSchema: {
49
- account_id: CLIENT_ID_PARAM,
49
+ project_id: PROJECT_ID_PARAM,
50
50
  },
51
- }, async ({ account_id }) => {
52
- const context = await getContext(resolveClientId(account_id));
51
+ }, async ({ project_id }) => {
52
+ const context = await getContext(resolveProjectId(project_id));
53
53
  return { content: [{ type: "text", text: JSON.stringify(context) }] };
54
54
  });
55
55
  server.registerTool("root_get_category", {
56
56
  description: "Returns a specific category of business knowledge. Use when you need only one type of data (e.g. just personas for a prospection email, just objections for a sales script).",
57
57
  inputSchema: {
58
- account_id: CLIENT_ID_PARAM,
58
+ project_id: PROJECT_ID_PARAM,
59
59
  category: CATEGORY_ENUM.describe("The knowledge category to retrieve"),
60
60
  },
61
- }, async ({ account_id, category }) => {
62
- const items = await getCategory(resolveClientId(account_id), category);
61
+ }, async ({ project_id, category }) => {
62
+ const items = await getCategory(resolveProjectId(project_id), category);
63
63
  return { content: [{ type: "text", text: JSON.stringify({ category, count: items.length, items }) }] };
64
64
  });
65
65
  server.registerTool("root_search", {
66
66
  description: "Search across all business knowledge with a text query. Use to find a specific objection, competitor detail, or FAQ answer.",
67
67
  inputSchema: {
68
- account_id: CLIENT_ID_PARAM,
68
+ project_id: PROJECT_ID_PARAM,
69
69
  query: z.string().describe("Search query"),
70
70
  },
71
- }, async ({ account_id, query }) => {
72
- const results = await searchKnowledge(resolveClientId(account_id), query);
71
+ }, async ({ project_id, query }) => {
72
+ const results = await searchKnowledge(resolveProjectId(project_id), query);
73
73
  return { content: [{ type: "text", text: JSON.stringify({ query, count: results.length, results }) }] };
74
74
  });
75
75
  server.registerTool("root_onboard_from_url", {
76
- description: "Onboard a client by scraping their website URL. Automatically extracts offers, personas, differentiators, geo zones, pricing, FAQs, and analyzes local competitors. Returns full context + gaps + followup questions for missing data. Use root_create_account instead if the client doesn't exist yet.",
76
+ description: "Onboard a client by scraping their website URL. Automatically extracts offers, personas, differentiators, geo zones, pricing, FAQs, and analyzes local competitors. Returns full context + gaps + followup questions for missing data. Use root_create_project instead if the client doesn't exist yet.",
77
77
  inputSchema: {
78
- account_id: CLIENT_ID_PARAM,
78
+ project_id: PROJECT_ID_PARAM,
79
79
  url: z.string().describe("The client website URL (e.g. https://client.fr)"),
80
80
  },
81
- }, async ({ account_id, url }) => {
82
- const result = await onboardFromUrl(resolveClientId(account_id), url);
81
+ }, async ({ project_id, url }) => {
82
+ const result = await onboardFromUrl(resolveProjectId(project_id), url);
83
83
  return { content: [{ type: "text", text: JSON.stringify(result) }] };
84
84
  });
85
85
  server.registerTool("root_create_item", {
86
86
  description: "Add a new knowledge item to a category. Use to add an offer, persona, competitor, or any data not extracted automatically.",
87
87
  inputSchema: {
88
- account_id: CLIENT_ID_PARAM,
88
+ project_id: PROJECT_ID_PARAM,
89
89
  category: CATEGORY_ENUM.describe("Knowledge category"),
90
90
  data: z.record(z.unknown()).describe("The item data as a JSON object"),
91
91
  },
92
- }, async ({ account_id, category, data }) => {
93
- const item = await createItem(resolveClientId(account_id), category, data);
92
+ }, async ({ project_id, category, data }) => {
93
+ const item = await createItem(resolveProjectId(project_id), category, data);
94
94
  return { content: [{ type: "text", text: JSON.stringify({ success: true, item }) }] };
95
95
  });
96
96
  server.registerTool("root_update_item", {
97
97
  description: "Update an existing knowledge item by ID.",
98
98
  inputSchema: {
99
- account_id: CLIENT_ID_PARAM,
99
+ project_id: PROJECT_ID_PARAM,
100
100
  id: z.string().describe("The item ID to update"),
101
101
  data: z.record(z.unknown()).describe("Fields to update (merged with existing data)"),
102
102
  },
103
- }, async ({ account_id, id, data }) => {
104
- const item = await updateItem(resolveClientId(account_id), id, data);
103
+ }, async ({ project_id, id, data }) => {
104
+ const item = await updateItem(resolveProjectId(project_id), id, data);
105
105
  return { content: [{ type: "text", text: JSON.stringify({ success: true, item }) }] };
106
106
  });
107
107
  server.registerTool("root_delete_item", {
108
108
  description: "Delete a knowledge item by ID.",
109
109
  inputSchema: {
110
- account_id: CLIENT_ID_PARAM,
110
+ project_id: PROJECT_ID_PARAM,
111
111
  id: z.string().describe("The item ID to delete"),
112
112
  },
113
- }, async ({ account_id, id }) => {
114
- const result = await deleteItem(resolveClientId(account_id), id);
113
+ }, async ({ project_id, id }) => {
114
+ const result = await deleteItem(resolveProjectId(project_id), id);
115
115
  return { content: [{ type: "text", text: JSON.stringify(result) }] };
116
116
  });
117
117
  server.registerTool("root_refresh", {
118
118
  description: "Refresh market intelligence for a client. Re-queries DataForSEO SERP for the configured geo zones and sector, detects new competitors and competitors that disappeared from search results. Returns a structured diff. Run weekly or when you suspect market changes.",
119
119
  inputSchema: {
120
- account_id: CLIENT_ID_PARAM,
120
+ project_id: PROJECT_ID_PARAM,
121
121
  },
122
- }, async ({ account_id }) => {
123
- const diff = await refreshKnowledge(resolveClientId(account_id));
122
+ }, async ({ project_id }) => {
123
+ const diff = await refreshKnowledge(resolveProjectId(project_id));
124
124
  return { content: [{ type: "text", text: JSON.stringify(diff) }] };
125
125
  });
126
126
  return server;
package/dist/mcp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@silverbackbase/root",
3
- "version": "0.4.1",
3
+ "version": "0.4.2",
4
4
  "description": "Business knowledge primitive for AI agents",
5
5
  "license": "MIT",
6
6
  "type": "module",