@orboto/mcp 0.230.9 → 0.231.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.
@@ -22,7 +22,7 @@ export function eventToUris(event) {
22
22
  }
23
23
  return uris;
24
24
  }
25
- if (event.type === 'project:bulk-activity' || event.type === 'member:joined' || event.type === 'member:removed') {
25
+ if (event.type === 'project:bulk-activity' || event.type === 'project:key-changed' || event.type === 'member:joined' || event.type === 'member:removed') {
26
26
  return event.projectId ? [`orboto://project/${event.projectId}`] : [];
27
27
  }
28
28
  if (event.type === 'ticket:ready') {
@@ -37,6 +37,8 @@ export const TAIL_LABELS = [
37
37
  { method: 'GET', path: /^\/admin\/agents\/transfers$/, label: 'orboto_agent_transfers' },
38
38
  { method: 'DELETE', path: new RegExp(`^/admin/agents/transfers/${SEG}$`), label: 'orboto_agent_transfers' },
39
39
  { method: 'GET', path: new RegExp(`^/admin/agents/identities/${SEG}/query-rate-limit$`), label: 'orboto_agent_query_rate_limit' },
40
+ { method: 'POST', path: new RegExp(`^/projects/${SEG}/change-key$`), label: 'orboto_project_change_key' },
41
+ { method: 'GET', path: new RegExp(`^/projects/${SEG}/change-key/check$`), label: 'orboto_project_change_key' },
40
42
  { method: 'PUT', path: new RegExp(`^/admin/agents/identities/${SEG}/query-rate-limit$`), label: 'orboto_agent_query_rate_limit' },
41
43
  ];
42
44
  /** The metrics label of one tool call: the stand-in tool name for a labelled api_call, else the tool name itself. */
@@ -0,0 +1,18 @@
1
+ /** ORB-2677 - the project key change is a tail endpoint: reached through orboto_api_call and labelled in the metrics, no named tool. */
2
+ import { describe, expect, it } from 'vitest';
3
+ import { metricsToolName } from '../tail-labels.js';
4
+ const ID = '6f1c2b1e-3d4a-4b5c-8d9e-0a1b2c3d4e5f';
5
+ const call = (method, path) => metricsToolName('orboto_api_call', { method, path });
6
+ describe('ORB-2677 - project key change tail label', () => {
7
+ it('labels the change by project id and by project key', () => {
8
+ expect(call('POST', `/projects/${ID}/change-key`)).toBe('orboto_project_change_key');
9
+ expect(call('post', '/projects/PROJ/change-key')).toBe('orboto_project_change_key');
10
+ expect(call('GET', `/projects/${ID}/change-key/check?key=NEW`)).toBe('orboto_project_change_key');
11
+ });
12
+ it('leaves other project calls unlabelled', () => {
13
+ expect(call('GET', `/projects/${ID}/change-key`)).toBe('orboto_api_call');
14
+ expect(call('POST', `/projects/${ID}/change-key/check`)).toBe('orboto_api_call');
15
+ expect(call('POST', `/projects/${ID}`)).toBe('orboto_api_call');
16
+ expect(call('PATCH', `/projects/${ID}`)).toBe('orboto_api_call');
17
+ });
18
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orboto/mcp",
3
- "version": "0.230.9",
3
+ "version": "0.231.0",
4
4
  "description": "Model Context Protocol server for orboto - exposes tickets, projects, milestones, time, docs, primer-facts, alerts and absences as MCP tools for Claude Desktop / Cursor / Copilot Chat / any MCP-aware AI client.",
5
5
  "license": "MIT",
6
6
  "type": "module",