@burnishdev/example-server 0.2.2 → 0.3.0

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.
@@ -0,0 +1,119 @@
1
+ /**
2
+ * Deterministic in-memory fixture for the Burnish example MCP server.
3
+ *
4
+ * No randomness, no external IO. Entity IDs are stable and predictable so
5
+ * test runs and drill-down chains are reproducible.
6
+ *
7
+ * Entity counts (target):
8
+ * 5 clients, 15 contacts, 5 departments, 40 team members,
9
+ * 10 projects, 200 tasks, 500 comments, 50 incidents,
10
+ * ~300 incident logs, 100 orders.
11
+ */
12
+ export interface Client {
13
+ id: string;
14
+ name: string;
15
+ industry: string;
16
+ contactIds: string[];
17
+ }
18
+ export interface Contact {
19
+ id: string;
20
+ name: string;
21
+ email: string;
22
+ phone: string;
23
+ clientId: string;
24
+ role: string;
25
+ }
26
+ export interface Department {
27
+ id: string;
28
+ name: string;
29
+ headMemberId: string;
30
+ memberIds: string[];
31
+ }
32
+ export interface TeamMember {
33
+ id: string;
34
+ name: string;
35
+ email: string;
36
+ role: string;
37
+ department: string;
38
+ skills: string[];
39
+ managerId: string | null;
40
+ projectIds: string[];
41
+ taskIds: string[];
42
+ }
43
+ export interface Project {
44
+ id: string;
45
+ name: string;
46
+ description: string;
47
+ status: "planning" | "active" | "on-hold" | "completed";
48
+ clientId: string;
49
+ leadMemberId: string;
50
+ startDate: string;
51
+ teamMemberIds: string[];
52
+ }
53
+ export interface Task {
54
+ id: string;
55
+ title: string;
56
+ description: string;
57
+ status: "todo" | "in-progress" | "done" | "blocked";
58
+ priority: "low" | "medium" | "high" | "critical";
59
+ projectId: string;
60
+ assigneeId: string;
61
+ reporterId: string;
62
+ dueDate: string;
63
+ subtaskIds: string[];
64
+ commentIds: string[];
65
+ }
66
+ export interface Comment {
67
+ id: string;
68
+ taskId: string;
69
+ authorId: string;
70
+ body: string;
71
+ createdAt: string;
72
+ replyToId: string | null;
73
+ }
74
+ export interface Incident {
75
+ id: string;
76
+ title: string;
77
+ severity: "low" | "medium" | "high" | "critical";
78
+ status: "open" | "investigating" | "mitigated" | "resolved";
79
+ reportedByMemberId: string;
80
+ affectedProjectIds: string[];
81
+ relatedTaskIds: string[];
82
+ logIds: string[];
83
+ }
84
+ export interface IncidentLog {
85
+ id: string;
86
+ incidentId: string;
87
+ timestamp: string;
88
+ message: string;
89
+ authorMemberId: string;
90
+ }
91
+ export interface Order {
92
+ id: string;
93
+ clientId: string;
94
+ projectId: string;
95
+ amount: number;
96
+ status: "pending" | "paid" | "overdue";
97
+ orderDate: string;
98
+ lineItems: {
99
+ description: string;
100
+ qty: number;
101
+ unit: number;
102
+ }[];
103
+ }
104
+ export interface FixtureStore {
105
+ clients: Client[];
106
+ contacts: Contact[];
107
+ departments: Department[];
108
+ members: TeamMember[];
109
+ projects: Project[];
110
+ tasks: Task[];
111
+ comments: Comment[];
112
+ incidents: Incident[];
113
+ incidentLogs: IncidentLog[];
114
+ orders: Order[];
115
+ nextTaskId: number;
116
+ nextCommentId: number;
117
+ }
118
+ export declare function buildFixture(): FixtureStore;
119
+ //# sourceMappingURL=fixtures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../src/fixtures.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,323 @@
1
+ /**
2
+ * Deterministic in-memory fixture for the Burnish example MCP server.
3
+ *
4
+ * No randomness, no external IO. Entity IDs are stable and predictable so
5
+ * test runs and drill-down chains are reproducible.
6
+ *
7
+ * Entity counts (target):
8
+ * 5 clients, 15 contacts, 5 departments, 40 team members,
9
+ * 10 projects, 200 tasks, 500 comments, 50 incidents,
10
+ * ~300 incident logs, 100 orders.
11
+ */
12
+ // ──────────────────────── Static word banks ────────────────────────
13
+ const FIRST_NAMES = [
14
+ "Alice", "Bob", "Carol", "David", "Eva", "Frank", "Grace", "Henry", "Iris", "Jay",
15
+ "Kira", "Liam", "Mona", "Nico", "Olive", "Pat", "Quinn", "Reza", "Sara", "Theo",
16
+ "Uma", "Vik", "Wren", "Xan", "Yara", "Zach", "Anya", "Ben", "Cleo", "Dean",
17
+ "Elise", "Faisal", "Gia", "Hugo", "Ines", "Juno", "Kai", "Lara", "Milo", "Nora",
18
+ ];
19
+ const LAST_NAMES = [
20
+ "Chen", "Martinez", "Williams", "Kim", "Singh", "Osei", "Tanaka", "Novak", "Walsh", "Park",
21
+ "Reyes", "Hassan", "Patel", "Brown", "Garcia", "Schmidt", "Larsen", "Romano", "Cohen", "Ali",
22
+ "Nguyen", "Okafor", "Petrov", "Silva", "Andersen", "Cruz", "Holm", "Mendez", "Ross", "Wagner",
23
+ "Bauer", "Iqbal", "Khan", "Lopez", "Murphy", "Pierce", "Quan", "Reid", "Stone", "Turner",
24
+ ];
25
+ const DEPARTMENTS = ["Engineering", "Design", "Product", "Operations", "Sales"];
26
+ const SKILLS_POOL = [
27
+ "TypeScript", "React", "Node", "Python", "Go", "Rust", "SQL", "Docker",
28
+ "Kubernetes", "AWS", "GCP", "Figma", "Postgres", "Redis", "GraphQL", "REST",
29
+ "Playwright", "CI/CD", "OAuth", "Lit",
30
+ ];
31
+ const ROLES_BY_DEPT = {
32
+ Engineering: ["Engineer", "Senior Engineer", "Staff Engineer", "Tech Lead"],
33
+ Design: ["Designer", "Senior Designer", "Design Lead"],
34
+ Product: ["PM", "Senior PM", "Group PM"],
35
+ Operations: ["Ops Engineer", "SRE", "Ops Lead"],
36
+ Sales: ["AE", "Senior AE", "Sales Lead"],
37
+ };
38
+ const PROJECT_NAMES = [
39
+ "Apollo Platform", "Helios Dashboard", "Orion Gateway", "Vega Analytics", "Pulsar Sync",
40
+ "Quasar Console", "Nova Insights", "Lyra Mobile", "Atlas Billing", "Cygnus Auth",
41
+ ];
42
+ const PROJECT_STATUSES = ["planning", "active", "active", "active", "on-hold", "completed"];
43
+ const TASK_VERBS = ["Implement", "Fix", "Refactor", "Document", "Investigate", "Optimize", "Test", "Migrate", "Design", "Review"];
44
+ const TASK_NOUNS = [
45
+ "login flow", "user dashboard", "payment webhook", "schema validator", "cache layer",
46
+ "search index", "onboarding wizard", "permissions matrix", "export pipeline", "audit log",
47
+ "rate limiter", "email digest", "OAuth callback", "feature flag", "metrics endpoint",
48
+ ];
49
+ const TASK_STATUSES = ["todo", "in-progress", "done", "blocked", "done", "in-progress", "todo", "done"];
50
+ const PRIORITIES = ["low", "medium", "high", "critical", "medium", "low", "high", "medium"];
51
+ const CLIENT_NAMES = ["Northwind Trading", "Globex Industries", "Acme Corp", "Initech", "Umbrella Health"];
52
+ const INDUSTRIES = ["Logistics", "Manufacturing", "Retail", "Software", "Healthcare"];
53
+ const INCIDENT_TITLES = [
54
+ "API latency spike", "Database connection exhaustion", "Auth token leak",
55
+ "CDN cache poisoning", "Failed deploy rollback", "Memory leak in worker",
56
+ "Rate limit bypass", "SSL cert expiry", "Stale read replica", "Queue backlog",
57
+ ];
58
+ const INCIDENT_SEVERITIES = ["low", "medium", "high", "critical", "medium", "high"];
59
+ const INCIDENT_STATUSES = ["open", "investigating", "mitigated", "resolved", "resolved", "resolved"];
60
+ const ORDER_STATUSES = ["pending", "paid", "paid", "paid", "overdue"];
61
+ const COMMENT_BODIES = [
62
+ "Looking into this now.", "I can repro on staging.", "Not blocking, will pick up after #refactor.",
63
+ "Pushed a fix in the latest branch — please review.", "Approved. Merging once CI is green.",
64
+ "This needs design review before we ship.", "Reverted due to perf regression.", "Adding tests, will update.",
65
+ "Discussed in standup — moving to next sprint.", "Closing as duplicate of an earlier ticket.",
66
+ ];
67
+ // ──────────────────────── Helpers ────────────────────────
68
+ function pick(arr, i) {
69
+ return arr[i % arr.length];
70
+ }
71
+ function dateNDaysAgo(n) {
72
+ // anchor: 2026-04-12
73
+ const anchor = Date.UTC(2026, 3, 12);
74
+ const ms = anchor - n * 86400_000;
75
+ return new Date(ms).toISOString().slice(0, 10);
76
+ }
77
+ function timestampNDaysAgo(n, hour) {
78
+ const anchor = Date.UTC(2026, 3, 12, hour, 0, 0);
79
+ const ms = anchor - n * 86400_000;
80
+ return new Date(ms).toISOString();
81
+ }
82
+ // ──────────────────────── Builders ────────────────────────
83
+ function buildClients() {
84
+ return CLIENT_NAMES.map((name, i) => ({
85
+ id: `client-${i + 1}`,
86
+ name,
87
+ industry: INDUSTRIES[i],
88
+ contactIds: [], // filled after contacts built
89
+ }));
90
+ }
91
+ function buildContacts(clients) {
92
+ const contacts = [];
93
+ for (let i = 0; i < 15; i++) {
94
+ const clientIdx = i % 5;
95
+ const id = `contact-${i + 1}`;
96
+ const first = pick(FIRST_NAMES, i + 7);
97
+ const last = pick(LAST_NAMES, i + 11);
98
+ contacts.push({
99
+ id,
100
+ name: `${first} ${last}`,
101
+ email: `${first.toLowerCase()}.${last.toLowerCase()}@${clients[clientIdx].name.toLowerCase().replace(/\s+/g, "")}.example`,
102
+ phone: `+1-555-${String(100 + i * 7).padStart(4, "0")}`,
103
+ clientId: clients[clientIdx].id,
104
+ role: pick(["CTO", "Procurement", "Engineering Manager", "Director", "Finance Lead"], i),
105
+ });
106
+ clients[clientIdx].contactIds.push(id);
107
+ }
108
+ return contacts;
109
+ }
110
+ function buildDepartments() {
111
+ return DEPARTMENTS.map((name, i) => ({
112
+ id: `dept-${i + 1}`,
113
+ name,
114
+ headMemberId: "", // filled later
115
+ memberIds: [],
116
+ }));
117
+ }
118
+ function buildTeamMembers(departments) {
119
+ const members = [];
120
+ for (let i = 0; i < 40; i++) {
121
+ const deptIdx = i % 5;
122
+ const dept = departments[deptIdx];
123
+ const first = pick(FIRST_NAMES, i);
124
+ const last = pick(LAST_NAMES, i + 3);
125
+ const role = pick(ROLES_BY_DEPT[dept.name], i);
126
+ const skills = [
127
+ pick(SKILLS_POOL, i),
128
+ pick(SKILLS_POOL, i + 5),
129
+ pick(SKILLS_POOL, i + 11),
130
+ ];
131
+ const id = `member-${i + 1}`;
132
+ members.push({
133
+ id,
134
+ name: `${first} ${last}`,
135
+ email: `${first.toLowerCase()}.${last.toLowerCase()}@burnish.example`,
136
+ role,
137
+ department: dept.name,
138
+ skills,
139
+ managerId: i < 5 ? null : `member-${(i % 5) + 1}`, // first 5 are managers
140
+ projectIds: [],
141
+ taskIds: [],
142
+ });
143
+ dept.memberIds.push(id);
144
+ if (i < 5)
145
+ dept.headMemberId = id;
146
+ }
147
+ return members;
148
+ }
149
+ function buildProjects(clients, members) {
150
+ const projects = [];
151
+ for (let i = 0; i < 10; i++) {
152
+ const teamSize = 5 + (i % 4);
153
+ const teamMemberIds = [];
154
+ for (let j = 0; j < teamSize; j++) {
155
+ teamMemberIds.push(`member-${((i * 4 + j) % 40) + 1}`);
156
+ }
157
+ const leadMemberId = `member-${(i % 5) + 1}`; // department heads lead
158
+ const id = `project-${i + 1}`;
159
+ projects.push({
160
+ id,
161
+ name: PROJECT_NAMES[i],
162
+ description: `Strategic initiative for ${pick(CLIENT_NAMES, i)} covering platform modernization, observability, and rollout.`,
163
+ status: pick(PROJECT_STATUSES, i),
164
+ clientId: `client-${(i % 5) + 1}`,
165
+ leadMemberId,
166
+ startDate: dateNDaysAgo(700 - i * 60),
167
+ teamMemberIds,
168
+ });
169
+ for (const mid of teamMemberIds) {
170
+ const m = members.find((mm) => mm.id === mid);
171
+ if (m && !m.projectIds.includes(id))
172
+ m.projectIds.push(id);
173
+ }
174
+ }
175
+ return projects;
176
+ }
177
+ function buildTasks(projects, members) {
178
+ const tasks = [];
179
+ for (let i = 0; i < 200; i++) {
180
+ const projectIdx = i % 10;
181
+ const project = projects[projectIdx];
182
+ const assigneeIdx = i % project.teamMemberIds.length;
183
+ const assigneeId = project.teamMemberIds[assigneeIdx];
184
+ const reporterId = project.leadMemberId;
185
+ const id = `task-${i + 1}`;
186
+ tasks.push({
187
+ id,
188
+ title: `${pick(TASK_VERBS, i)} ${pick(TASK_NOUNS, i + 3)}`,
189
+ description: `Detailed work item in ${project.name}. Tracks scope, acceptance criteria, and verification steps for the implementing team.`,
190
+ status: pick(TASK_STATUSES, i),
191
+ priority: pick(PRIORITIES, i),
192
+ projectId: project.id,
193
+ assigneeId,
194
+ reporterId,
195
+ dueDate: dateNDaysAgo(60 - (i % 90)),
196
+ subtaskIds: [],
197
+ commentIds: [],
198
+ });
199
+ const m = members.find((mm) => mm.id === assigneeId);
200
+ if (m)
201
+ m.taskIds.push(id);
202
+ }
203
+ // wire a few subtasks (every 7th task is a subtask of (i-1))
204
+ for (let i = 0; i < 200; i++) {
205
+ if (i > 0 && i % 7 === 0) {
206
+ tasks[i - 1].subtaskIds.push(tasks[i].id);
207
+ }
208
+ }
209
+ return tasks;
210
+ }
211
+ function buildComments(tasks, members) {
212
+ const comments = [];
213
+ for (let i = 0; i < 500; i++) {
214
+ const taskIdx = i % 200;
215
+ const task = tasks[taskIdx];
216
+ const authorId = `member-${(i % 40) + 1}`;
217
+ const id = `comment-${i + 1}`;
218
+ const replyToId = i > 0 && i % 5 === 0 ? `comment-${i}` : null;
219
+ comments.push({
220
+ id,
221
+ taskId: task.id,
222
+ authorId,
223
+ body: pick(COMMENT_BODIES, i),
224
+ createdAt: timestampNDaysAgo(60 - (i % 60), 9 + (i % 8)),
225
+ replyToId,
226
+ });
227
+ task.commentIds.push(id);
228
+ }
229
+ return comments;
230
+ }
231
+ function buildIncidents(projects, tasks, members) {
232
+ const incidents = [];
233
+ for (let i = 0; i < 50; i++) {
234
+ const id = `incident-${i + 1}`;
235
+ const affected = [`project-${(i % 10) + 1}`];
236
+ const related = [`task-${((i * 3) % 200) + 1}`, `task-${((i * 3 + 1) % 200) + 1}`];
237
+ incidents.push({
238
+ id,
239
+ title: `${pick(INCIDENT_TITLES, i)} (#${i + 1})`,
240
+ severity: pick(INCIDENT_SEVERITIES, i),
241
+ status: pick(INCIDENT_STATUSES, i),
242
+ reportedByMemberId: `member-${(i % 40) + 1}`,
243
+ affectedProjectIds: affected,
244
+ relatedTaskIds: related,
245
+ logIds: [],
246
+ });
247
+ }
248
+ return incidents;
249
+ }
250
+ function buildIncidentLogs(incidents, members) {
251
+ const logs = [];
252
+ let counter = 1;
253
+ for (const incident of incidents) {
254
+ const n = 4 + (counter % 4); // 4–7 logs each → ~275 total
255
+ for (let k = 0; k < n; k++) {
256
+ const id = `log-${counter}`;
257
+ logs.push({
258
+ id,
259
+ incidentId: incident.id,
260
+ timestamp: timestampNDaysAgo(30 - (counter % 30), 8 + (k % 10)),
261
+ message: pick([
262
+ "Paged on-call",
263
+ "Identified failing region",
264
+ "Rolled back deploy",
265
+ "Engaged platform team",
266
+ "Verified mitigation",
267
+ "Postmortem scheduled",
268
+ ], counter + k),
269
+ authorMemberId: `member-${(counter % 40) + 1}`,
270
+ });
271
+ incident.logIds.push(id);
272
+ counter++;
273
+ }
274
+ }
275
+ return logs;
276
+ }
277
+ function buildOrders(clients, projects) {
278
+ const orders = [];
279
+ for (let i = 0; i < 100; i++) {
280
+ const clientIdx = i % 5;
281
+ const projectIdx = i % 10;
282
+ orders.push({
283
+ id: `order-${i + 1}`,
284
+ clientId: clients[clientIdx].id,
285
+ projectId: projects[projectIdx].id,
286
+ amount: 5000 + (i % 20) * 1250,
287
+ status: pick(ORDER_STATUSES, i),
288
+ orderDate: dateNDaysAgo(180 - i),
289
+ lineItems: [
290
+ { description: "Engineering services", qty: 40 + (i % 10), unit: 175 },
291
+ { description: "Platform license", qty: 1, unit: 2500 + (i % 5) * 500 },
292
+ ],
293
+ });
294
+ }
295
+ return orders;
296
+ }
297
+ export function buildFixture() {
298
+ const clients = buildClients();
299
+ const contacts = buildContacts(clients);
300
+ const departments = buildDepartments();
301
+ const members = buildTeamMembers(departments);
302
+ const projects = buildProjects(clients, members);
303
+ const tasks = buildTasks(projects, members);
304
+ const comments = buildComments(tasks, members);
305
+ const incidents = buildIncidents(projects, tasks, members);
306
+ const incidentLogs = buildIncidentLogs(incidents, members);
307
+ const orders = buildOrders(clients, projects);
308
+ return {
309
+ clients,
310
+ contacts,
311
+ departments,
312
+ members,
313
+ projects,
314
+ tasks,
315
+ comments,
316
+ incidents,
317
+ incidentLogs,
318
+ orders,
319
+ nextTaskId: tasks.length + 1,
320
+ nextCommentId: comments.length + 1,
321
+ };
322
+ }
323
+ //# sourceMappingURL=fixtures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixtures.js","sourceRoot":"","sources":["../src/fixtures.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,3 +1,15 @@
1
1
  #!/usr/bin/env node
2
+ /**
3
+ * @burnishdev/example-server
4
+ *
5
+ * A connected-graph demo MCP server. The dataset is a fictional consulting
6
+ * company (clients, contacts, departments, team members, projects, tasks,
7
+ * comments, incidents, incident logs, orders) wired together with
8
+ * deterministic IDs so Burnish's drill-down navigation has somewhere to go.
9
+ *
10
+ * Tool surface (27 tools):
11
+ * - 8 entity types × 3 read tools (list / get / search) = 24
12
+ * - 3 write tools: create-task, add-comment, update-task-status
13
+ */
2
14
  export {};
3
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;GAWG"}