@theronap/agnoclast-mcp 0.9.255 → 0.9.256
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/server.mjs +12 -3
- package/package.json +1 -1
package/lib/server.mjs
CHANGED
|
@@ -1205,9 +1205,14 @@ function renderNudge(payload) {
|
|
|
1205
1205
|
title: 'Claim private intake items',
|
|
1206
1206
|
description:
|
|
1207
1207
|
'Claim a lease on private intake items (relevance or cleanup). Returns decrypted payloads for the lease holder only. Requires x-cortex-session-key (set automatically by this MCP server). Aged work never blocks a claim: the response reports cleanupDueCount and how far behind the oldest unit is, and servicing it is expected but always your call. Claiming is a commitment to process — hand back anything you will not finish with intake_release, or intake_defer if it is the owner\'s decision to make. ' +
|
|
1208
|
-
'YOU ARE THE JUDGE of every unit you claim (ADR-0062): nothing is published until you materialize, and materializing is when it becomes visible. Each unit carries a `proposal` — the brain its signals point to and, for that brain, the pages it would attach to, the page that would govern it, and the `tier` it would be born with — computed without writing anything. Decide the brain, the pages (confirm, drop or add), which page should govern (the page whose reasons for restricting its audience fit the content, not a person page), and obligations. Pages only tighten a tier; if a record should be LOOSER than `tierReason.baseline`, that is the owner\'s call — intake_defer with the question.'
|
|
1208
|
+
'YOU ARE THE JUDGE of every unit you claim (ADR-0062): nothing is published until you materialize, and materializing is when it becomes visible. Each unit carries a `proposal` — the brain its signals point to and, for that brain, the pages it would attach to, the page that would govern it, and the `tier` it would be born with — computed without writing anything. Decide the brain, the pages (confirm, drop or add), which page should govern (the page whose reasons for restricting its audience fit the content, not a person page), and obligations. Pages only tighten a tier; if a record should be LOOSER than `tierReason.baseline`, that is the owner\'s call — intake_defer with the question. ' +
|
|
1209
|
+
'view "compact" (trial, only where the server enables it — otherwise you get the full response): the judge rules, your brains, the lease and the cleanup count come ONCE per response in `rules`/`brains`, not on every unit; each unit carries its full content, only the proposed brain\'s pages as one line each, and up front what intake_materialize would refuse it for (`materialize.otherHomes`, `materialize.folderQuestions`). Read `rules` before judging.',
|
|
1209
1210
|
inputSchema: {
|
|
1210
1211
|
claimKind: z.enum(['relevance', 'cleanup']).optional().describe('default relevance'),
|
|
1212
|
+
view: z.enum(['full', 'compact']).optional().describe(
|
|
1213
|
+
'default "full". "compact" sends the rules once per response instead of on every unit, and only the proposed ' +
|
|
1214
|
+
'brain\'s placement. Honoured only where the server enables it; otherwise the response is the full one.',
|
|
1215
|
+
),
|
|
1211
1216
|
limit: z.number().optional().describe('max items (default 10). Ignored when intakeItemIds is given.'),
|
|
1212
1217
|
source: z.string().optional().describe('claim only the oldest units of ONE source — e.g. "imessage", "meeting", "email", "github", "claude-code". Reaches texts without first claiming every older GitHub/session unit ahead of them. Ignored when intakeItemIds is given.'),
|
|
1213
1218
|
leaseMinutes: z.number().optional().describe('lease length in minutes, 5-60 (default 30). Prefer intake_look for read-only inspection — a short lease is only for briefly exclusive work.'),
|
|
@@ -1234,7 +1239,7 @@ function renderNudge(payload) {
|
|
|
1234
1239
|
),
|
|
1235
1240
|
},
|
|
1236
1241
|
},
|
|
1237
|
-
async ({ claimKind, limit, source, intakeItemId, intakeItemIds, leaseMinutes, intake_item_id }) => {
|
|
1242
|
+
async ({ claimKind, limit, source, intakeItemId, intakeItemIds, leaseMinutes, intake_item_id, view }) => {
|
|
1238
1243
|
// Merge the spellings before anything else looks at them. Passing both is not an error —
|
|
1239
1244
|
// the union is what the caller plainly meant. (intake_item_id: 2026-10-22, see intake_id_alias.mjs —
|
|
1240
1245
|
// dropped by the schema it would have meant a FIFO claim of the head of the queue.)
|
|
@@ -1254,6 +1259,8 @@ function renderNudge(payload) {
|
|
|
1254
1259
|
// claim into a no-op.
|
|
1255
1260
|
...(intakeItemIds ? { intakeItemIds } : {}),
|
|
1256
1261
|
...(source ? { source } : {}),
|
|
1262
|
+
// Sent only when asked for: a default claim's request body is exactly what it was.
|
|
1263
|
+
...(view === 'compact' ? { view } : {}),
|
|
1257
1264
|
}),
|
|
1258
1265
|
})
|
|
1259
1266
|
if (!res.ok) {
|
|
@@ -1286,7 +1293,9 @@ function renderNudge(payload) {
|
|
|
1286
1293
|
+ `Nothing is blocked — run intake_claim with claimKind:"cleanup" when you reach a natural break.`
|
|
1287
1294
|
}
|
|
1288
1295
|
|
|
1289
|
-
|
|
1296
|
+
// The compact view is printed without indentation — it is what the view is for. The full one, as before.
|
|
1297
|
+
const text = j?.view === 'compact' ? JSON.stringify(j) : JSON.stringify(j, null, 2)
|
|
1298
|
+
return { content: [{ type: 'text', text: text + nudge }] }
|
|
1290
1299
|
},
|
|
1291
1300
|
)
|
|
1292
1301
|
|
package/package.json
CHANGED