kitty-hive 0.6.10 → 0.6.12

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/channel.ts CHANGED
@@ -157,7 +157,7 @@ const mcp = new Server(
157
157
  '## Tools',
158
158
  '- Identity: hive-whoami, hive-rename, hive-update-role (self-maintain role tags), hive-agents (list all agents on the hive)',
159
159
  '- DM & files: hive-dm (pass attach: ["/local/path"] to send files), hive-inbox, hive-dm-read (full content when preview has a [hive note] block), hive-file-fetch (get attachment by file_id)',
160
- '- Teams: hive-team-create, hive-team-join, hive-team-list, hive-teams (mine), hive-team-info, hive-team-events, hive-team-message',
160
+ '- Teams: hive-team-create, hive-team-join, hive-team-list, hive-teams (mine), hive-team-info, hive-team-events, hive-team-message, hive-team-set-rules (host-only)',
161
161
  '- Tasks: hive-task, hive-task-claim, hive-task-cancel (creator only), hive-tasks, hive-check',
162
162
  '- Workflow: hive-workflow-propose (set gate:true per step for review pauses), hive-workflow-approve, hive-workflow-step-complete, hive-workflow-step-approve (release gate, creator only), hive-workflow-reject',
163
163
  '- Federation: hive-peers, hive-remote-agents (then DM/task with id@<peer-name>)',
@@ -174,6 +174,15 @@ const mcp = new Server(
174
174
  '',
175
175
  'If your `roles` is empty, routing falls back to display_name substring match — so a display_name containing your role (e.g. "tester") still gets you found. Setting roles makes routing more precise.',
176
176
  '',
177
+ '## Team rules',
178
+ 'Each team you belong to may have a `rules` field (free-form markdown, set by the team operator). hive_start returns it inside the teams[] payload; hive-team-info also includes it.',
179
+ '',
180
+ 'Treat team.rules as **binding house rules** for that team — they describe how the operator wants members to behave inside it (naming conventions, when to gate, who reviews what, etc.). Honor them on every team-scoped action.',
181
+ '',
182
+ 'Rules > generic instructions/SKILL for actions inside that team. Rules vs explicit user request → ask before overriding.',
183
+ '',
184
+ 'A `team-rules-update` push means rules changed; re-fetch via hive-team-info(team=X) to read the current text.',
185
+ '',
177
186
  '## Team collaboration',
178
187
  'When a task has source_team_id, or you belong to a team:',
179
188
  '- BEFORE creating a new task: call hive-tasks(team=<team>) to see if a similar task is already in flight. Avoid duplicates.',
package/dist/db.d.ts CHANGED
@@ -75,6 +75,7 @@ export declare function listTeams(activeOnly?: boolean): Team[];
75
75
  export declare function listTeamsHostedBy(agentId: string): Team[];
76
76
  export declare function countTeamMembers(teamId: string): number;
77
77
  export declare function transferTeamHost(teamId: string, newHostAgentId: string): void;
78
+ export declare function setTeamRules(teamId: string, rules: string): void;
78
79
  export declare function getAgentTeams(agentId: string, activeOnly?: boolean): Team[];
79
80
  export declare function addTeamMember(teamId: string, agentId: string, nickname?: string | null): TeamMember;
80
81
  export declare function removeTeamMember(teamId: string, agentId: string): void;
package/dist/db.js CHANGED
@@ -34,7 +34,8 @@ export function initDB(dbPath) {
34
34
  name TEXT NOT NULL UNIQUE,
35
35
  host_agent_id TEXT REFERENCES agents(id),
36
36
  created_at TEXT NOT NULL,
37
- closed_at TEXT
37
+ closed_at TEXT,
38
+ rules TEXT NOT NULL DEFAULT ''
38
39
  );
39
40
 
40
41
  CREATE TABLE IF NOT EXISTS team_members (
@@ -174,6 +175,7 @@ export function initDB(dbPath) {
174
175
  migrateTasksStatusCheck(db);
175
176
  migrateTeamEventsTypeCheck(db);
176
177
  migrateClearChannelRoles(db);
178
+ migrateTeamsAddRules(db);
177
179
  db.exec(`
178
180
  CREATE INDEX IF NOT EXISTS idx_agents_remote ON agents(origin_peer, remote_id);
179
181
  CREATE INDEX IF NOT EXISTS idx_tasks_delegated ON tasks(delegated_peer, delegated_task_id);
@@ -302,6 +304,16 @@ function migrateClearChannelRoles(db) {
302
304
  db.prepare("UPDATE agents SET roles = '' WHERE roles = 'channel'").run();
303
305
  console.log(`[db] cleared channel-polluted roles on ${before.n} agent(s)`);
304
306
  }
307
+ // Add teams.rules column on older DBs (introduced in v0.6.12).
308
+ // SQLite ALTER TABLE supports adding a NOT NULL column when a DEFAULT is given,
309
+ // so this is a single-statement, idempotent migration (PRAGMA detects existence).
310
+ function migrateTeamsAddRules(db) {
311
+ const cols = db.prepare("PRAGMA table_info(teams)").all();
312
+ if (cols.some(c => c.name === 'rules'))
313
+ return; // already migrated (or fresh DB with new schema)
314
+ db.exec("ALTER TABLE teams ADD COLUMN rules TEXT NOT NULL DEFAULT ''");
315
+ console.log('[db] added teams.rules column');
316
+ }
305
317
  export function createAgent(displayName, tool, roles, expertise, opts = {}) {
306
318
  const agent = {
307
319
  id: opts.id || ulid(),
@@ -476,10 +488,11 @@ export function createTeam(name, hostAgentId) {
476
488
  id: ulid(), name,
477
489
  host_agent_id: hostAgentId,
478
490
  created_at: nowISO(), closed_at: null,
491
+ rules: '',
479
492
  };
480
493
  getDB().prepare(`
481
- INSERT INTO teams (id, name, host_agent_id, created_at, closed_at)
482
- VALUES (@id, @name, @host_agent_id, @created_at, @closed_at)
494
+ INSERT INTO teams (id, name, host_agent_id, created_at, closed_at, rules)
495
+ VALUES (@id, @name, @host_agent_id, @created_at, @closed_at, @rules)
483
496
  `).run(team);
484
497
  return team;
485
498
  }
@@ -505,6 +518,9 @@ export function countTeamMembers(teamId) {
505
518
  export function transferTeamHost(teamId, newHostAgentId) {
506
519
  getDB().prepare('UPDATE teams SET host_agent_id = ? WHERE id = ?').run(newHostAgentId, teamId);
507
520
  }
521
+ export function setTeamRules(teamId, rules) {
522
+ getDB().prepare('UPDATE teams SET rules = ? WHERE id = ?').run(rules ?? '', teamId);
523
+ }
508
524
  export function getAgentTeams(agentId, activeOnly = true) {
509
525
  const sql = activeOnly
510
526
  ? `SELECT t.* FROM teams t JOIN team_members tm ON tm.team_id = t.id WHERE tm.agent_id = ? AND t.closed_at IS NULL ORDER BY tm.joined_at DESC`
package/dist/db.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -10,8 +10,24 @@ import { join, dirname, basename, delimiter } from 'node:path';
10
10
  import { fileURLToPath } from 'node:url';
11
11
  import { homedir, hostname } from 'node:os';
12
12
  import { execSync } from 'node:child_process';
13
+ import { buildPushMessage } from './preview.js';
13
14
  const __filename = fileURLToPath(import.meta.url);
14
15
  const __dirname = dirname(__filename);
16
+ // Build a properly-formatted push payload from operator-side CLI commands.
17
+ // Operator has no agent identity, so `from` is empty (buildPushMessage drops
18
+ // the "from X" suffix when empty). The push goes through the same code path
19
+ // as MCP-side notifications, so receivers see consistent `[hive] xxx — call
20
+ // hive-... for details.` hints regardless of whether the change came from
21
+ // CLI or an agent calling an MCP tool.
22
+ function operatorPush(opts) {
23
+ return buildPushMessage({
24
+ type: opts.type,
25
+ from: '',
26
+ from_agent_id: '',
27
+ event_id: opts.eventId,
28
+ team_id: opts.teamId,
29
+ });
30
+ }
15
31
  const args = process.argv.slice(2);
16
32
  const command = args[0];
17
33
  function parseFlags(startIdx) {
@@ -590,12 +606,10 @@ async function cmdAgentRemove() {
590
606
  reason: 'agent-remove',
591
607
  });
592
608
  try {
593
- await sessionsMod.notifyTeamMembers(r.team.id, undefined, JSON.stringify({
609
+ await sessionsMod.notifyTeamMembers(r.team.id, undefined, operatorPush({
594
610
  type: 'team-host-transfer',
595
- team_id: r.team.id,
596
- team_name: r.team.name,
597
- from: name,
598
- to: transferAgent.display_name,
611
+ teamId: r.team.id,
612
+ eventId: `team:${r.team.id}:host-transfer:${Date.now()}`,
599
613
  }));
600
614
  }
601
615
  catch { /* push best-effort */ }
@@ -893,17 +907,344 @@ async function cmdTeamTransfer() {
893
907
  });
894
908
  try {
895
909
  const sessionsMod = await import('./sessions.js');
896
- await sessionsMod.notifyTeamMembers(team.id, undefined, JSON.stringify({
910
+ await sessionsMod.notifyTeamMembers(team.id, undefined, operatorPush({
897
911
  type: 'team-host-transfer',
898
- team_id: team.id,
899
- team_name: team.name,
900
- from: currentHostName,
901
- to: newHost.display_name,
912
+ teamId: team.id,
913
+ eventId: `team:${team.id}:host-transfer:${Date.now()}`,
902
914
  }));
903
915
  }
904
916
  catch { /* push best-effort */ }
905
917
  console.log(`✅ Host of "${team.name}" → ${newHost.display_name}.`);
906
918
  }
919
+ async function cmdTeamKick() {
920
+ const { dbPath } = parseFlags(1);
921
+ let teamArg = '';
922
+ let agentArg = '';
923
+ let assumeYes = false;
924
+ for (let i = 2; i < args.length; i++) {
925
+ if (args[i] === '--yes' || args[i] === '-y') {
926
+ assumeYes = true;
927
+ }
928
+ else if (args[i] === '--port' || args[i] === '-p' || args[i] === '--db') {
929
+ i++;
930
+ }
931
+ else if (!args[i].startsWith('-') && !teamArg)
932
+ teamArg = args[i];
933
+ else if (!args[i].startsWith('-') && !agentArg)
934
+ agentArg = args[i];
935
+ }
936
+ const db = initDB(dbPath);
937
+ const dbMod = await import('./db.js');
938
+ // --- Resolve team ---
939
+ let team;
940
+ if (teamArg) {
941
+ team = dbMod.getTeamById(teamArg) || dbMod.getTeamByName(teamArg);
942
+ if (!team) {
943
+ console.error(`Team "${teamArg}" not found.`);
944
+ process.exit(1);
945
+ }
946
+ }
947
+ else {
948
+ if (!isInteractive()) {
949
+ console.error('Usage: kitty-hive team kick <team> <agent> [--yes]');
950
+ process.exit(1);
951
+ }
952
+ const teams = dbMod.listTeams(false);
953
+ if (teams.length === 0) {
954
+ console.log('No teams.');
955
+ process.exit(0);
956
+ }
957
+ const teamId = await askSelect({
958
+ message: 'Kick from which team?',
959
+ options: teams.map(t => ({
960
+ value: t.id,
961
+ label: t.name,
962
+ hint: `${dbMod.countTeamMembers(t.id)} member(s)`,
963
+ })),
964
+ });
965
+ team = teams.find(t => t.id === teamId);
966
+ }
967
+ // --- Resolve target agent (must be a current member) ---
968
+ const members = dbMod.getTeamMembers(team.id);
969
+ if (members.length === 0) {
970
+ console.log(`Team "${team.name}" has no members.`);
971
+ process.exit(0);
972
+ }
973
+ let target;
974
+ if (agentArg) {
975
+ const byId = members.find(m => m.agent_id === agentArg);
976
+ if (byId) {
977
+ target = db.prepare('SELECT id, display_name FROM agents WHERE id = ?').get(byId.agent_id);
978
+ }
979
+ else {
980
+ // Fall back to display_name match within members
981
+ const candidateAgents = members.map(m => db.prepare('SELECT id, display_name FROM agents WHERE id = ?').get(m.agent_id)).filter(Boolean);
982
+ const byName = candidateAgents.filter(a => a.display_name === agentArg);
983
+ if (byName.length === 0) {
984
+ console.error(`Agent "${agentArg}" is not a member of "${team.name}".`);
985
+ process.exit(1);
986
+ }
987
+ if (byName.length > 1) {
988
+ console.error(`"${agentArg}" matches ${byName.length} members. Use agent id to disambiguate.`);
989
+ for (const a of byName)
990
+ console.error(` ${a.id} ${a.display_name}`);
991
+ process.exit(1);
992
+ }
993
+ target = byName[0];
994
+ }
995
+ }
996
+ else {
997
+ if (!isInteractive()) {
998
+ console.error('Usage: kitty-hive team kick <team> <agent> [--yes]');
999
+ process.exit(1);
1000
+ }
1001
+ const memberAgents = members
1002
+ .map(m => db.prepare('SELECT id, display_name FROM agents WHERE id = ?').get(m.agent_id))
1003
+ .filter(Boolean);
1004
+ const id = await askSelect({
1005
+ message: `Kick whom from "${team.name}"?`,
1006
+ options: memberAgents.map(a => ({
1007
+ value: a.id,
1008
+ label: a.display_name,
1009
+ hint: a.id === team.host_agent_id ? '(host)' : a.id,
1010
+ })),
1011
+ });
1012
+ target = memberAgents.find(a => a.id === id);
1013
+ }
1014
+ if (!target) {
1015
+ console.error('Target not found.');
1016
+ process.exit(1);
1017
+ }
1018
+ // --- Refuse to kick the host (would orphan the team) ---
1019
+ if (target.id === team.host_agent_id) {
1020
+ console.error(`"${target.display_name}" is the team host. Use \`kitty-hive team transfer\` to move host first, or \`kitty-hive agent remove\` to delete the agent (cascades all team membership).`);
1021
+ process.exit(1);
1022
+ }
1023
+ if (!assumeYes) {
1024
+ const ok = await askConfirm({
1025
+ message: `Remove "${target.display_name}" from team "${team.name}"?`,
1026
+ initialValue: true,
1027
+ });
1028
+ if (!ok) {
1029
+ console.log('Cancelled.');
1030
+ process.exit(0);
1031
+ }
1032
+ }
1033
+ dbMod.removeTeamMember(team.id, target.id);
1034
+ dbMod.appendTeamEvent(team.id, 'leave', null, {
1035
+ agent_id: target.id,
1036
+ display_name: target.display_name,
1037
+ reason: 'kicked-by-operator',
1038
+ });
1039
+ try {
1040
+ const sessionsMod = await import('./sessions.js');
1041
+ await sessionsMod.notifyTeamMembers(team.id, undefined, operatorPush({
1042
+ type: 'team-kick',
1043
+ teamId: team.id,
1044
+ eventId: `team:${team.id}:kick:${Date.now()}`,
1045
+ }));
1046
+ }
1047
+ catch { /* push best-effort */ }
1048
+ console.log(`✅ Removed "${target.display_name}" from "${team.name}".`);
1049
+ }
1050
+ // Manage a team's rules (free-form markdown shown to all members on hive_start
1051
+ // and hive_team_info). Operator-side — no MCP tool exposes mutation, so rules
1052
+ // can't be hijacked by a member. Subcommands: show / edit / set / clear.
1053
+ async function cmdTeamRules() {
1054
+ const { dbPath } = parseFlags(2);
1055
+ let teamArg = args[2] && !args[2].startsWith('-') ? args[2] : '';
1056
+ let action = args[3] && !args[3].startsWith('-') ? args[3] : '';
1057
+ const db = initDB(dbPath);
1058
+ const dbMod = await import('./db.js');
1059
+ // --- Resolve team (interactive picker when omitted in a TTY) ---
1060
+ if (!teamArg) {
1061
+ if (!isInteractive()) {
1062
+ console.log('Usage:');
1063
+ console.log(' kitty-hive team rules <team> show (alias: omit subcommand)');
1064
+ console.log(' kitty-hive team rules <team> show');
1065
+ console.log(' kitty-hive team rules <team> edit Open $EDITOR for interactive edit');
1066
+ console.log(' kitty-hive team rules <team> set --file <path> Replace from file');
1067
+ console.log(' kitty-hive team rules <team> set --text "..." Replace from string');
1068
+ console.log(' kitty-hive team rules <team> clear');
1069
+ process.exit(1);
1070
+ }
1071
+ const teams = dbMod.listTeams(false);
1072
+ if (teams.length === 0) {
1073
+ console.log('No teams.');
1074
+ process.exit(0);
1075
+ }
1076
+ teamArg = await askSelect({
1077
+ message: 'Which team?',
1078
+ options: teams.map(t => ({
1079
+ value: t.id,
1080
+ label: t.name,
1081
+ hint: t.rules ? `${t.rules.length} chars of rules` : '(no rules)',
1082
+ })),
1083
+ });
1084
+ }
1085
+ const team = dbMod.getTeamById(teamArg) || dbMod.getTeamByName(teamArg);
1086
+ if (!team) {
1087
+ console.error(`Team "${teamArg}" not found.`);
1088
+ process.exit(1);
1089
+ }
1090
+ // --- Resolve action (interactive picker when omitted in a TTY) ---
1091
+ if (!action) {
1092
+ if (!isInteractive()) {
1093
+ action = 'show'; // default in scripts: just print
1094
+ }
1095
+ else {
1096
+ action = await askSelect({
1097
+ message: `Rules for "${team.name}" — what do you want to do?`,
1098
+ options: [
1099
+ { value: 'show', label: 'Show current rules' },
1100
+ { value: 'edit', label: 'Edit in $EDITOR' },
1101
+ { value: 'set', label: 'Replace from file or text' },
1102
+ { value: 'clear', label: 'Clear rules' },
1103
+ ],
1104
+ initialValue: team.rules ? 'show' : 'edit',
1105
+ });
1106
+ }
1107
+ }
1108
+ if (action === 'show') {
1109
+ if (!team.rules) {
1110
+ console.log(`Team "${team.name}" has no rules set.`);
1111
+ console.log(`Set them with: kitty-hive team rules ${team.name} edit`);
1112
+ return;
1113
+ }
1114
+ console.log(`# Rules for team "${team.name}"\n`);
1115
+ console.log(team.rules);
1116
+ return;
1117
+ }
1118
+ if (action === 'clear') {
1119
+ let assumeYes = false;
1120
+ for (let i = 4; i < args.length; i++)
1121
+ if (args[i] === '--yes' || args[i] === '-y')
1122
+ assumeYes = true;
1123
+ if (!assumeYes && isInteractive()) {
1124
+ const ok = await askConfirm({ message: `Clear rules for team "${team.name}"?`, initialValue: false });
1125
+ if (!ok) {
1126
+ console.log('Cancelled.');
1127
+ process.exit(0);
1128
+ }
1129
+ }
1130
+ dbMod.setTeamRules(team.id, '');
1131
+ try {
1132
+ const sessionsMod = await import('./sessions.js');
1133
+ await sessionsMod.notifyTeamMembers(team.id, undefined, operatorPush({
1134
+ type: 'team-rules-update',
1135
+ teamId: team.id,
1136
+ eventId: `team:${team.id}:rules-update:${Date.now()}`,
1137
+ }));
1138
+ }
1139
+ catch { /* best-effort */ }
1140
+ console.log(`✅ Cleared rules for "${team.name}".`);
1141
+ return;
1142
+ }
1143
+ // Helper: persist new rules + push notification (used by set + edit branches)
1144
+ const applyRules = async (content, label) => {
1145
+ dbMod.setTeamRules(team.id, content);
1146
+ try {
1147
+ const sessionsMod = await import('./sessions.js');
1148
+ await sessionsMod.notifyTeamMembers(team.id, undefined, operatorPush({
1149
+ type: 'team-rules-update',
1150
+ teamId: team.id,
1151
+ eventId: `team:${team.id}:rules-update:${Date.now()}`,
1152
+ }));
1153
+ }
1154
+ catch { /* best-effort */ }
1155
+ console.log(`✅ ${label === 'set' ? 'Set' : 'Updated'} rules for "${team.name}" (${content.length} chars).`);
1156
+ };
1157
+ if (action === 'set') {
1158
+ let filePath = '';
1159
+ let text = null;
1160
+ for (let i = 4; i < args.length; i++) {
1161
+ if (args[i] === '--file' && args[i + 1]) {
1162
+ filePath = args[i + 1];
1163
+ i++;
1164
+ }
1165
+ else if (args[i] === '--text' && args[i + 1]) {
1166
+ text = args[i + 1];
1167
+ i++;
1168
+ }
1169
+ }
1170
+ if (filePath) {
1171
+ if (!existsSync(filePath)) {
1172
+ console.error(`File not found: ${filePath}`);
1173
+ process.exit(1);
1174
+ }
1175
+ await applyRules(readFileSync(filePath, 'utf8'), 'set');
1176
+ return;
1177
+ }
1178
+ if (text !== null) {
1179
+ await applyRules(text, 'set');
1180
+ return;
1181
+ }
1182
+ // No flags — interactive picker for source (editor / file / text)
1183
+ if (!isInteractive()) {
1184
+ console.error('Usage: kitty-hive team rules <team> set --file <path> | --text "..."');
1185
+ process.exit(1);
1186
+ }
1187
+ const source = await askSelect({
1188
+ message: 'Where should the new rules come from?',
1189
+ options: [
1190
+ { value: 'editor', label: 'Open $EDITOR (multi-line markdown)' },
1191
+ { value: 'file', label: 'Load from file' },
1192
+ { value: 'text', label: 'Type/paste a one-liner' },
1193
+ ],
1194
+ initialValue: 'editor',
1195
+ });
1196
+ if (source === 'editor') {
1197
+ action = 'edit'; // promote — edit handler below picks it up
1198
+ }
1199
+ else if (source === 'file') {
1200
+ const p = await askText({
1201
+ message: 'Path to file?',
1202
+ validate: (v) => ((v ?? '').trim().length === 0 ? 'Path required' : undefined),
1203
+ });
1204
+ if (!existsSync(p)) {
1205
+ console.error(`File not found: ${p}`);
1206
+ process.exit(1);
1207
+ }
1208
+ await applyRules(readFileSync(p, 'utf8'), 'set');
1209
+ return;
1210
+ }
1211
+ else {
1212
+ const oneliner = await askText({
1213
+ message: 'New rules (single line):',
1214
+ validate: (v) => ((v ?? '').trim().length === 0 ? 'Rules cannot be empty (use clear instead)' : undefined),
1215
+ });
1216
+ await applyRules(oneliner, 'set');
1217
+ return;
1218
+ }
1219
+ }
1220
+ if (action === 'edit') {
1221
+ if (!isInteractive()) {
1222
+ console.error('`team rules <team> edit` requires a TTY. Use --file or --text in non-interactive contexts.');
1223
+ process.exit(1);
1224
+ }
1225
+ const editor = process.env.EDITOR || process.env.VISUAL || (process.platform === 'win32' ? 'notepad' : 'vi');
1226
+ const tmpPath = join('/tmp', `kitty-hive-team-rules-${team.id.slice(-12)}-${Date.now()}.md`);
1227
+ writeFileSync(tmpPath, team.rules || `# Rules for team "${team.name}"\n\n(Write the team's rules here. Save and exit to apply; quit without saving to abort.)\n`);
1228
+ try {
1229
+ execSync(`${editor} "${tmpPath}"`, { stdio: 'inherit' });
1230
+ const newContent = readFileSync(tmpPath, 'utf8');
1231
+ if (newContent === team.rules) {
1232
+ console.log('No changes — rules unchanged.');
1233
+ return;
1234
+ }
1235
+ await applyRules(newContent, 'updated');
1236
+ }
1237
+ finally {
1238
+ try {
1239
+ unlinkSync(tmpPath);
1240
+ }
1241
+ catch { /* ignore */ }
1242
+ }
1243
+ return;
1244
+ }
1245
+ console.error(`Unknown action: "${action}". Use show / edit / set / clear.`);
1246
+ process.exit(1);
1247
+ }
907
1248
  // --- Node config ---
908
1249
  function getConfigPath() {
909
1250
  return join(homedir(), '.kitty-hive', 'config.json');
@@ -1843,6 +2184,11 @@ Subcommands:
1843
2184
  list List all teams with host + member counts
1844
2185
  transfer [<team>] --to <agent> [--add-member] Transfer team host to another local agent.
1845
2186
  --add-member auto-joins target if not yet a member.
2187
+ kick [<team>] [<agent>] [--yes] Remove an agent from a team (operator-side).
2188
+ Cannot kick the host — transfer first.
2189
+ rules <team> [show|edit|set|clear] Manage the team's rules / charter (free-form
2190
+ markdown; surfaced to all members on hive_start
2191
+ + hive_team_info). Default: show.
1846
2192
 
1847
2193
  Note: agents normally manage teams via the hive-team-* MCP tools.
1848
2194
  This group is for operator-level maintenance (e.g. before removing a host agent).`);
@@ -1962,6 +2308,12 @@ switch (command) {
1962
2308
  case 'transfer':
1963
2309
  run(cmdTeamTransfer);
1964
2310
  break;
2311
+ case 'kick':
2312
+ run(cmdTeamKick);
2313
+ break;
2314
+ case 'rules':
2315
+ run(cmdTeamRules);
2316
+ break;
1965
2317
  default:
1966
2318
  showTeamHelp();
1967
2319
  break;