@theronap/agnoclast-mcp 0.9.253 → 0.9.254
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/lib/release_gate.mjs +1 -1
- package/lib/server.mjs +27 -0
- package/package.json +1 -1
package/lib/release_gate.mjs
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
// that web/lib/engine/release.test.ts pins to the server's registry.
|
|
6
6
|
|
|
7
7
|
/** Tools any release flag gates — hidden when the server cannot be asked. Mirror of allGatedTools(). */
|
|
8
|
-
export const GATED_FALLBACK = ['my_messages', 'read_conversation', 'send_message', '
|
|
8
|
+
export const GATED_FALLBACK = ['my_messages', 'read_conversation', 'send_message', 'set_manager']
|
|
9
9
|
|
|
10
10
|
export const RELEASE_FETCH_TIMEOUT_MS = 2500
|
|
11
11
|
|
package/lib/server.mjs
CHANGED
|
@@ -3347,6 +3347,33 @@ function renderNudge(payload) {
|
|
|
3347
3347
|
},
|
|
3348
3348
|
)
|
|
3349
3349
|
|
|
3350
|
+
// 2026-10-21. Change who a member reports to — people and AI agents (Theron: "It's got to be real").
|
|
3351
|
+
server.registerTool(
|
|
3352
|
+
'set_manager',
|
|
3353
|
+
{
|
|
3354
|
+
title: 'Change who someone reports to',
|
|
3355
|
+
description: "Move a member of one of the person's brains — a person or an AI agent — to report to someone else (a person or an agent). ONLY when the person asked you to. Everyone below the member moves with them. This changes permissions: the new manager and everyone above them can see the member's scoped work, and what the manager gives them becomes an assignment instead of a request; the old chain loses both. Reversible: move them back the same way. Only an owner or admin of the brain can do it; nobody reports to themselves or to someone in their own line of reports, and owners stay at the top. Use an email address when a name could match two people.",
|
|
3356
|
+
inputSchema: {
|
|
3357
|
+
member: z.string().describe('who moves: their email address, or their name as it appears in the brain'),
|
|
3358
|
+
manager: z.string().describe('who they will report to: an email address or a name as it appears in the brain'),
|
|
3359
|
+
brain: z.string().optional().describe('which brain — required if the person belongs to more than one'),
|
|
3360
|
+
},
|
|
3361
|
+
},
|
|
3362
|
+
async ({ member, manager, brain }) => {
|
|
3363
|
+
let res
|
|
3364
|
+
try {
|
|
3365
|
+
res = await fetchCortex(`${BASE}/api/members/manager`, {
|
|
3366
|
+
method: 'POST',
|
|
3367
|
+
headers: { Authorization: `Bearer ${TOKEN}`, 'Content-Type': 'application/json' },
|
|
3368
|
+
body: JSON.stringify({ member, manager, brain }),
|
|
3369
|
+
})
|
|
3370
|
+
} catch (e) { return toolError(`Could not reach Agnoclast: ${e.message}`) }
|
|
3371
|
+
const out = await res.json().catch(() => null)
|
|
3372
|
+
if (!res.ok) return toolError(`Not moved: ${out?.detail ?? out?.error ?? res.status}`)
|
|
3373
|
+
return { content: [{ type: 'text', text: out.summary }] }
|
|
3374
|
+
},
|
|
3375
|
+
)
|
|
3376
|
+
|
|
3350
3377
|
// 2026-10-12. A member leaves a brain THEMSELVES — the remove_member path with the caller as the target.
|
|
3351
3378
|
server.registerTool(
|
|
3352
3379
|
'leave_brain',
|
package/package.json
CHANGED