kitty-hive 0.6.11 → 0.7.1

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.
@@ -46,6 +46,22 @@ export function createMcpServer() {
46
46
  'so a display_name containing your role (e.g. "tester") still gets you found.',
47
47
  'Setting roles makes routing more precise.',
48
48
  '',
49
+ '## Team rules',
50
+ 'Each team you belong to may have a `rules` field (free-form markdown set by',
51
+ 'the team operator via `kitty-hive team rules`). hive_start returns it inside',
52
+ 'the teams[] payload; hive_team_info also includes it.',
53
+ '',
54
+ 'Treat team.rules as **binding house rules** for that team — they describe',
55
+ 'how the operator wants members to behave (naming conventions, when to gate,',
56
+ 'who reviews what, etc.). Honor them on every team-scoped action.',
57
+ '',
58
+ 'If a team\'s rules conflict with general MCP instructions or your own SKILL,',
59
+ 'the team rules win for actions inside that team. If they conflict with the',
60
+ 'user\'s explicit request, ask before overriding.',
61
+ '',
62
+ 'Rules can change while you\'re running — a `team-rules-update` push will',
63
+ 'arrive; re-fetch via hive_team_info(team=X) to read the current text.',
64
+ '',
49
65
  '## Team collaboration',
50
66
  'When a task has source_team_id, or you belong to a team:',
51
67
  '- BEFORE creating a new task: call hive_tasks(team=<team>) to see if a similar',
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,20 @@ import { asParam, authError, resolveAgent } from '../auth.js';
4
4
  import { notifyAgents, notifyTaskParticipants } from '../sessions.js';
5
5
  import { buildPushMessage } from '../preview.js';
6
6
  import * as db from '../db.js';
7
- function eventId(taskId, type) {
8
- return `task:${taskId}:${type}:${Date.now()}`;
7
+ /** Build a stable event_id for a task push notification.
8
+ *
9
+ * Format: `task:<task_id>:<type>:<seq>` — seq comes from task_events.seq,
10
+ * monotonic per task. The CALLER must read seq (db.getLatestTaskEventSeq)
11
+ * right after the workflow handler runs, so the seq reflects the event the
12
+ * handler just appended.
13
+ *
14
+ * Stability matters: codex-channel and other channel clients dedup pushes
15
+ * by event_id. If the id contains `Date.now()` (older versions did), each
16
+ * re-delivery looks like a new event — a single retry loop in the daemon
17
+ * injects the same logical step-start dozens of times into the codex thread.
18
+ * Bug fixed 2026-05-21 after a stuck daemon spammed an agent for ~8 hours. */
19
+ function eventId(taskId, type, seq) {
20
+ return `task:${taskId}:${type}:${seq}`;
9
21
  }
10
22
  // --- Task list output projection ---
11
23
  // Whitelist of fields that may appear in `hive_tasks` list responses. Adding a
@@ -53,11 +65,12 @@ export function registerTaskTools(mcp) {
53
65
  source_team_id: params.source_team_id,
54
66
  });
55
67
  if (result.assignee) {
68
+ const seq = db.getLatestTaskEventSeq(result.task_id);
56
69
  await notifyAgents([result.assignee.id], agent.id, buildPushMessage({
57
70
  type: 'task-assigned',
58
71
  from: agent.display_name,
59
72
  from_agent_id: agent.id,
60
- event_id: eventId(result.task_id, 'task-assigned'),
73
+ event_id: eventId(result.task_id, 'task-assigned', seq),
61
74
  task_id: result.task_id,
62
75
  }));
63
76
  }
@@ -68,11 +81,12 @@ export function registerTaskTools(mcp) {
68
81
  if (!agent)
69
82
  return authError();
70
83
  const result = await handleTaskClaimAsync(params.task_id, agent.id);
84
+ const seq = db.getLatestTaskEventSeq(params.task_id);
71
85
  await notifyTaskParticipants(params.task_id, agent.id, buildPushMessage({
72
86
  type: 'task-claimed',
73
87
  from: agent.display_name,
74
88
  from_agent_id: agent.id,
75
- event_id: eventId(params.task_id, 'task-claimed'),
89
+ event_id: eventId(params.task_id, 'task-claimed', seq),
76
90
  task_id: params.task_id,
77
91
  }));
78
92
  return { content: [{ type: 'text', text: JSON.stringify(result) }] };
@@ -86,11 +100,12 @@ export function registerTaskTools(mcp) {
86
100
  if (!agent)
87
101
  return authError();
88
102
  const result = await handleTaskCancelAsync(params.task_id, agent.id, params.reason);
103
+ const seq = db.getLatestTaskEventSeq(params.task_id);
89
104
  await notifyTaskParticipants(params.task_id, agent.id, buildPushMessage({
90
105
  type: 'task-cancel',
91
106
  from: agent.display_name,
92
107
  from_agent_id: agent.id,
93
- event_id: eventId(params.task_id, 'task-cancel'),
108
+ event_id: eventId(params.task_id, 'task-cancel', seq),
94
109
  task_id: params.task_id,
95
110
  reason: params.reason,
96
111
  }));
@@ -146,11 +161,12 @@ export function registerTaskTools(mcp) {
146
161
  if (!agent)
147
162
  return authError();
148
163
  await handleWorkflowProposeAsync(params.task_id, agent.id, params.workflow);
164
+ const seq = db.getLatestTaskEventSeq(params.task_id);
149
165
  await notifyTaskParticipants(params.task_id, agent.id, buildPushMessage({
150
166
  type: 'task-propose',
151
167
  from: agent.display_name,
152
168
  from_agent_id: agent.id,
153
- event_id: eventId(params.task_id, 'task-propose'),
169
+ event_id: eventId(params.task_id, 'task-propose', seq),
154
170
  task_id: params.task_id,
155
171
  }));
156
172
  return { content: [{ type: 'text', text: JSON.stringify({ task_id: params.task_id, status: 'proposing', steps: params.workflow.length }) }] };
@@ -160,11 +176,12 @@ export function registerTaskTools(mcp) {
160
176
  if (!agent)
161
177
  return authError();
162
178
  const action = await handleWorkflowApproveAsync(params.task_id, agent.id);
179
+ const seq = db.getLatestTaskEventSeq(params.task_id);
163
180
  await notifyTaskParticipants(params.task_id, agent.id, buildPushMessage({
164
181
  type: 'step-start',
165
182
  from: agent.display_name,
166
183
  from_agent_id: agent.id,
167
- event_id: eventId(params.task_id, 'step-start'),
184
+ event_id: eventId(params.task_id, 'step-start', seq),
168
185
  task_id: params.task_id,
169
186
  }));
170
187
  return { content: [{ type: 'text', text: JSON.stringify({ task_id: params.task_id, status: 'approved', action }) }] };
@@ -180,11 +197,12 @@ export function registerTaskTools(mcp) {
180
197
  return authError();
181
198
  const action = await handleStepCompleteAsync(params.task_id, agent.id, params.step, params.result);
182
199
  const pushType = action?.type || 'step-complete';
200
+ const seq = db.getLatestTaskEventSeq(params.task_id);
183
201
  await notifyTaskParticipants(params.task_id, agent.id, buildPushMessage({
184
202
  type: pushType,
185
203
  from: agent.display_name,
186
204
  from_agent_id: agent.id,
187
- event_id: eventId(params.task_id, pushType),
205
+ event_id: eventId(params.task_id, pushType, seq),
188
206
  task_id: params.task_id,
189
207
  }));
190
208
  // Inline self-review hint when roles is empty. The hint disappears once
@@ -208,11 +226,12 @@ export function registerTaskTools(mcp) {
208
226
  if (!agent)
209
227
  return authError();
210
228
  const action = await handleStepApproveAsync(params.task_id, agent.id);
229
+ const seq = db.getLatestTaskEventSeq(params.task_id);
211
230
  await notifyTaskParticipants(params.task_id, agent.id, buildPushMessage({
212
231
  type: action.type,
213
232
  from: agent.display_name,
214
233
  from_agent_id: agent.id,
215
- event_id: eventId(params.task_id, action.type),
234
+ event_id: eventId(params.task_id, action.type, seq),
216
235
  task_id: params.task_id,
217
236
  }));
218
237
  return { content: [{ type: 'text', text: JSON.stringify({ task_id: params.task_id, action }) }] };
@@ -227,11 +246,12 @@ export function registerTaskTools(mcp) {
227
246
  if (!agent)
228
247
  return authError();
229
248
  const action = await handleWorkflowRejectAsync(params.task_id, agent.id, params.step, params.reason);
249
+ const seq = db.getLatestTaskEventSeq(params.task_id);
230
250
  await notifyTaskParticipants(params.task_id, agent.id, buildPushMessage({
231
251
  type: 'task-reject',
232
252
  from: agent.display_name,
233
253
  from_agent_id: agent.id,
234
- event_id: eventId(params.task_id, 'task-reject'),
254
+ event_id: eventId(params.task_id, 'task-reject', seq),
235
255
  task_id: params.task_id,
236
256
  reason: params.reason,
237
257
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"task-tools.js","sourceRoot":"","sources":["../../src/mcp/task-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-tools.js","sourceRoot":"","sources":["../../src/mcp/task-tools.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { handleTeamCreate, handleTeamJoin, handleTeamList, handleTeamInfo, handleTeamEvents, handleTeamMessage, handleMyTeams, } from '../tools/team.js';
2
+ import { handleTeamCreate, handleTeamJoin, handleTeamList, handleTeamInfo, handleTeamEvents, handleTeamMessage, handleTeamSetRules, handleMyTeams, } from '../tools/team.js';
3
3
  import { asParam, authError, resolveAgent } from '../auth.js';
4
4
  import { notifyTeamMembers } from '../sessions.js';
5
5
  import { buildPushMessage } from '../preview.js';
@@ -82,6 +82,24 @@ export function registerTeamTools(mcp) {
82
82
  }));
83
83
  return { content: [{ type: 'text', text: JSON.stringify(result) }] };
84
84
  });
85
+ mcp.tool('hive_team_set_rules', 'Replace a team\'s rules / charter (free-form markdown shown to all members on hive_start + hive_team_info). HOST-ONLY: only the team\'s host agent can call this; non-hosts are rejected. Pass empty string to clear. The change is pushed to all members as a `team-rules-update` notification — they should re-fetch via hive_team_info to read the new text.', {
86
+ as: asParam,
87
+ team_id: z.string().describe('Team id'),
88
+ rules: z.string().max(10000, 'rules max 10000 chars').describe('Full new rules text (markdown). Pass "" to clear.'),
89
+ }, async (params, extra) => {
90
+ const agent = resolveAgent(extra, params.as);
91
+ if (!agent)
92
+ return authError();
93
+ const result = handleTeamSetRules(agent.id, { team_id: params.team_id, rules: params.rules });
94
+ await notifyTeamMembers(params.team_id, agent.id, buildPushMessage({
95
+ type: 'team-rules-update',
96
+ from: agent.display_name,
97
+ from_agent_id: agent.id,
98
+ event_id: teamEventId(params.team_id, 'team-rules-update'),
99
+ team_id: params.team_id,
100
+ }));
101
+ return { content: [{ type: 'text', text: JSON.stringify(result) }] };
102
+ });
85
103
  mcp.tool('hive_teams', 'List teams you are a member of (with your nickname in each).', { as: asParam }, async (params, extra) => {
86
104
  const agent = resolveAgent(extra, params.as);
87
105
  if (!agent)
@@ -1 +1 @@
1
- {"version":3,"file":"team-tools.js","sourceRoot":"","sources":["../../src/mcp/team-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"team-tools.js","sourceRoot":"","sources":["../../src/mcp/team-tools.ts"],"names":[],"mappings":"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"}
package/dist/models.d.ts CHANGED
@@ -11,6 +11,8 @@ export interface Agent {
11
11
  origin_peer: string;
12
12
  remote_id: string;
13
13
  external_key: string;
14
+ project_dir: string;
15
+ thread_id: string;
14
16
  }
15
17
  export interface Team {
16
18
  id: string;
@@ -18,6 +20,10 @@ export interface Team {
18
20
  host_agent_id: string | null;
19
21
  created_at: string;
20
22
  closed_at: string | null;
23
+ /** Free-form team rules / charter — markdown text. All members see it on
24
+ * hive_start (in the teams[] payload) and on hive_team_info, and are
25
+ * expected to follow it. Operator-set via `kitty-hive team rules`. */
26
+ rules: string;
21
27
  }
22
28
  export interface TeamMember {
23
29
  team_id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AA8BA,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,CAAU,CAAC;AA2DjG,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,YAAY,EAAE,YAAY,EAAE,aAAa;IACzC,cAAc,EAAE,cAAc,EAAE,aAAa;IAC7C,YAAY,EAAE,eAAe,EAAE,cAAc;IAC7C,eAAe,EAAE,WAAW,EAAE,aAAa;CACnC,CAAC"}
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"AAoCA,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,CAAU,CAAC;AA2DjG,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,YAAY,EAAE,YAAY,EAAE,aAAa;IACzC,cAAc,EAAE,cAAc,EAAE,aAAa;IAC7C,YAAY,EAAE,eAAe,EAAE,cAAc;IAC7C,eAAe,EAAE,WAAW,EAAE,aAAa;CACnC,CAAC"}
package/dist/preview.js CHANGED
@@ -70,7 +70,13 @@ export function buildPushMessage(p) {
70
70
  preview = `[hive] ${p.type}${fromLabel} on task ${p.task_id}${reasonLabel} — call hive-check({ task_id: "${p.task_id}" }) for full state.`;
71
71
  }
72
72
  else if (p.team_id) {
73
- preview = `[hive] ${p.type}${fromLabel} in team ${p.team_id} — call hive-team-events({ team_id: "${p.team_id}" }) for details.`;
73
+ // Most team events live in team_events (hive-team-events to see them).
74
+ // team-rules-update is the exception — rules are on the team object
75
+ // itself, so members must call hive-team-info to read the new text.
76
+ const fetchHint = p.type === 'team-rules-update'
77
+ ? `call hive-team-info({ team_id: "${p.team_id}" }) to see the new rules.`
78
+ : `call hive-team-events({ team_id: "${p.team_id}" }) for details.`;
79
+ preview = `[hive] ${p.type}${fromLabel} in team ${p.team_id} — ${fetchHint}`;
74
80
  }
75
81
  else {
76
82
  preview = `[hive] ${p.type}${fromLabel}`;
@@ -1 +1 @@
1
- {"version":3,"file":"preview.js","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preview.js","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"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"}
package/dist/server.js CHANGED
@@ -9,6 +9,7 @@ import { createMcpServer } from './mcp/server.js';
9
9
  import { handleFederation, cleanupOldFiles, getNodeName } from './federation-http.js';
10
10
  import { handleAdmin } from './admin-http.js';
11
11
  import { startHeartbeat } from './federation-heartbeat.js';
12
+ import { startCodexSupervisor, stopCodexSupervisor } from './codex-supervisor.js';
12
13
  export { setLogLevel };
13
14
  export async function startServer(port, dbPath) {
14
15
  initDB(dbPath);
@@ -157,7 +158,20 @@ export async function startServer(port, dbPath) {
157
158
  console.log(` Node: ${getNodeName()}`);
158
159
  console.log(` Database: ${dbPath || '~/.kitty-hive/hive.db'}`);
159
160
  console.log(` Mode: stateful (SSE push enabled)`);
161
+ // Spawn codex daemons for every local tool='codex' agent. Cheap if zero;
162
+ // each daemon is a child process that survives until serve exits.
163
+ // Pass the bound port so daemons HIVE_URL → this serve, not a stale default.
164
+ startCodexSupervisor(port);
160
165
  });
166
+ // Stop codex daemons on serve shutdown. Without this, child processes
167
+ // become orphans and their codex app-server subprocesses leak.
168
+ const shutdown = async (signal) => {
169
+ log('info', `[server] received ${signal}, stopping codex daemons before exit`);
170
+ await stopCodexSupervisor();
171
+ process.exit(0);
172
+ };
173
+ process.on('SIGTERM', shutdown);
174
+ process.on('SIGINT', shutdown);
161
175
  setInterval(() => {
162
176
  const count = cleanupStaleTasks(7);
163
177
  if (count > 0)
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ interface StartInput {
6
6
  roles?: string;
7
7
  tool?: string;
8
8
  expertise?: string;
9
+ projectDir?: string;
9
10
  }
10
11
  interface StartOutput {
11
12
  agent_id: string;
@@ -1,4 +1,4 @@
1
- import { createAgent, getAgentById, getAgentsByName, touchAgent, getDB, getAgentTeams, getAgentByExternalKey, trySetAgentExternalKey, } from '../db.js';
1
+ import { createAgent, getAgentById, getAgentsByName, touchAgent, getDB, getAgentTeams, getAgentByExternalKey, trySetAgentExternalKey, setAgentProjectDir, } from '../db.js';
2
2
  import { log } from '../log.js';
3
3
  const ADJECTIVES = ['Swift', 'Calm', 'Bold', 'Keen', 'Warm', 'Wise', 'Fair', 'True', 'Deft', 'Glad'];
4
4
  const NOUNS = ['Paw', 'Claw', 'Tail', 'Fang', 'Mane', 'Wing', 'Reef', 'Peak', 'Glen', 'Vale'];
@@ -20,6 +20,16 @@ function randomDisplayName() {
20
20
  */
21
21
  export function handleStart(input) {
22
22
  let agent;
23
+ // Track which lookup path matched the existing agent. Used downstream to
24
+ // decide whether to silently mutate identity-sensitive fields (display_name,
25
+ // tool): id-match is operator-explicit, name-match is name-only (so by
26
+ // definition name agrees), but key-match means an orchestrator key resolved
27
+ // to an existing agent — if the caller's `name`/`tool` disagree, that's
28
+ // almost always a stray .mcp.json env or env-leak situation, not an
29
+ // intentional rename. See silent-rename incident 2026-05-20 (kitty-kitty
30
+ // → skillsmgr-web-slave; project .mcp.json hardcoded NAME but KEY was
31
+ // inherited correctly from the pane env).
32
+ let matchedVia = null;
23
33
  // 1. id wins (exact identity)
24
34
  if (input.id) {
25
35
  const candidate = getAgentById(input.id);
@@ -32,6 +42,7 @@ export function handleStart(input) {
32
42
  // real owner. See agent-id collision incident, 2026-04-22.
33
43
  if (candidate && candidate.origin_peer === '') {
34
44
  agent = candidate;
45
+ matchedVia = 'id';
35
46
  }
36
47
  else if (candidate) {
37
48
  log('warn', `[start] refusing to bind to remote placeholder agent=${candidate.id} origin_peer=${candidate.origin_peer}; falling back to key/name`);
@@ -40,14 +51,17 @@ export function handleStart(input) {
40
51
  // 2. key (external orchestrator handle)
41
52
  if (!agent && input.key) {
42
53
  const candidate = getAgentByExternalKey(input.key);
43
- if (candidate && candidate.origin_peer === '')
54
+ if (candidate && candidate.origin_peer === '') {
44
55
  agent = candidate;
56
+ matchedVia = 'key';
57
+ }
45
58
  }
46
59
  // 3. name (fuzzy, reuse latest match — local only)
47
60
  if (!agent && input.name) {
48
61
  const matches = getAgentsByName(input.name).filter(a => a.origin_peer === '');
49
62
  if (matches.length > 0) {
50
63
  agent = matches.sort((a, b) => b.last_seen.localeCompare(a.last_seen))[0];
64
+ matchedVia = 'name';
51
65
  }
52
66
  }
53
67
  if (!agent) {
@@ -64,16 +78,45 @@ export function handleStart(input) {
64
78
  }
65
79
  }
66
80
  const displayName = input.name || randomDisplayName();
67
- agent = createAgent(displayName, input.tool ?? '', input.roles ?? '', input.expertise ?? '', { id: createId, externalKey: input.key });
81
+ agent = createAgent(displayName, input.tool ?? '', input.roles ?? '', input.expertise ?? '', { id: createId, externalKey: input.key, projectDir: input.projectDir });
68
82
  }
69
83
  else {
70
84
  touchAgent(agent.id);
71
85
  const updates = [];
72
86
  const params = [];
73
- if (input.tool) {
74
- updates.push('tool = ?');
75
- params.push(input.tool);
87
+ // Silent identity updates on existing agents need different trust levels
88
+ // per lookup path (see matchedVia above):
89
+ // - id match : operator was explicit ("I am agent X"); allow silent
90
+ // updates to display_name and tool.
91
+ // - name match: matched by name itself, so by definition input.name
92
+ // equals agent.display_name; tool update allowed.
93
+ // - key match : key matched but caller MAY be confused about identity
94
+ // (typical cause: project .mcp.json hardcodes a NAME but
95
+ // the KEY env was inherited from a parent pane bound to
96
+ // a different agent). Refuse to silently change
97
+ // identity-sensitive fields (display_name, tool); cheap
98
+ // metadata (roles, expertise) is still fair game.
99
+ const trustIdentityUpdates = matchedVia !== 'key';
100
+ // tool / display_name — gated on trust
101
+ if (input.tool && input.tool !== agent.tool) {
102
+ if (trustIdentityUpdates) {
103
+ updates.push('tool = ?');
104
+ params.push(input.tool);
105
+ }
106
+ else {
107
+ log('warn', `[start] refusing silent tool change via key path: agent=${agent.id} key="${input.key}" current_tool="${agent.tool}" proposed_tool="${input.tool}". Caller likely has stale env. Use hive_start with explicit id= or call dedicated mutation tools to change tool intentionally.`);
108
+ }
76
109
  }
110
+ if (input.name && input.name !== agent.display_name) {
111
+ if (trustIdentityUpdates) {
112
+ updates.push('display_name = ?');
113
+ params.push(input.name);
114
+ }
115
+ else {
116
+ log('warn', `[start] refusing silent rename via key path: agent=${agent.id} key="${input.key}" current_name="${agent.display_name}" proposed_name="${input.name}". Caller likely has stale env (e.g. project .mcp.json hardcoded HIVE_AGENT_NAME while HIVE_AGENT_KEY was inherited from elsewhere). Use hive_rename to rename intentionally.`);
117
+ }
118
+ }
119
+ // roles / expertise — cheap descriptive metadata, silent update always OK
77
120
  if (input.roles) {
78
121
  updates.push('roles = ?');
79
122
  params.push(input.roles);
@@ -82,12 +125,6 @@ export function handleStart(input) {
82
125
  updates.push('expertise = ?');
83
126
  params.push(input.expertise);
84
127
  }
85
- // Silent display_name refresh when caller supplied a different name
86
- // (orchestrator updates the pane title → hive picks it up automatically).
87
- if (input.name && input.name !== agent.display_name) {
88
- updates.push('display_name = ?');
89
- params.push(input.name);
90
- }
91
128
  if (updates.length > 0) {
92
129
  params.push(agent.id);
93
130
  getDB().prepare(`UPDATE agents SET ${updates.join(', ')} WHERE id = ?`).run(...params);
@@ -101,6 +138,12 @@ export function handleStart(input) {
101
138
  log('warn', `[start] external_key="${input.key}" already owned by another agent; agent=${agent.id} keeps key="${agent.external_key || '(none)'}"`);
102
139
  }
103
140
  }
141
+ // Update project_dir if caller supplied one and it differs. Lets a launcher
142
+ // (kitty etc.) update an agent's cwd hint across re-registrations without
143
+ // creating a new agent row.
144
+ if (input.projectDir !== undefined && input.projectDir !== agent.project_dir) {
145
+ setAgentProjectDir(agent.id, input.projectDir);
146
+ }
104
147
  }
105
148
  return {
106
149
  agent_id: agent.id,
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/tools/start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/tools/start.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,19 @@ interface InfoOutput {
39
39
  export declare function handleTeamInfo(actorId: string, input: {
40
40
  team_id: string;
41
41
  }): InfoOutput;
42
+ /** Set or clear a team's rules (markdown). Host-only — only the team's host
43
+ * agent can call this via MCP; the operator CLI bypasses this restriction.
44
+ * Pass empty string to clear. Length-capped at 10000 chars (set higher than
45
+ * any reasonable team charter; mostly to prevent accidental dumps). */
46
+ export declare function handleTeamSetRules(actorId: string, input: {
47
+ team_id: string;
48
+ rules: string;
49
+ }): {
50
+ team_id: string;
51
+ team_name: string;
52
+ rules_length: number;
53
+ previous_length: number;
54
+ };
42
55
  export declare function handleTeamEvents(actorId: string, input: {
43
56
  team_id: string;
44
57
  since?: number;