@theronap/agnoclast-mcp 0.9.227 → 0.9.229
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/arrivals_notice.mjs +8 -0
- package/lib/report_spool.mjs +7 -0
- package/package.json +1 -1
package/lib/arrivals_notice.mjs
CHANGED
|
@@ -124,6 +124,13 @@ export function formatPressing(pressing) {
|
|
|
124
124
|
} else if (p?.kind === 'declined') {
|
|
125
125
|
lines.push(`↩ ${who(p.by)} DECLINED ${named(p.text)}: ${named(p.reason)}. It is still yours. (${p.obligationId})`)
|
|
126
126
|
}
|
|
127
|
+
// 2026-10-12 — recordings. Nothing arrived for an in-person recording (fix 4), or a meeting unit
|
|
128
|
+
// with a fully deterministic home has waited in intake (fix 5 — a notice; nothing is auto-filed).
|
|
129
|
+
else if (p?.kind === 'meeting_missing') {
|
|
130
|
+
lines.push(`🎙 Nothing arrived from the recording ${named(p.title)} started ${String(p.at ?? '').slice(0, 20)}: no transcript was filed and none is in intake. Check the desktop app's "Not saved" list. (${p.recordId})`)
|
|
131
|
+
} else if (p?.kind === 'meeting_waiting') {
|
|
132
|
+
lines.push(`🎙 ${named(p.title)} has waited ${Number(p.hours) || 0} h in intake with a fully deterministic home (${named(p.brain)}). File it: \`intake_materialize\` ${p.intakeItemId}`)
|
|
133
|
+
}
|
|
127
134
|
// ADR-0073 §4 — something this person ASKED someone else for went past its date still open. Said
|
|
128
135
|
// once per deadline, and as a question to put to the owner: an open obligation past its date is
|
|
129
136
|
// very often one nobody marked done.
|
|
@@ -154,6 +161,7 @@ export function pressingAcks(pressing) {
|
|
|
154
161
|
for (const p of Array.isArray(pressing) ? pressing : []) {
|
|
155
162
|
if (typeof p?.subject !== 'string' || typeof p?.bucket !== 'string') continue
|
|
156
163
|
const handoff = p.kind === 'asked' || p.kind === 'given' || p.kind === 'declined' || p.kind === 'lapsed'
|
|
164
|
+
|| p.kind === 'meeting_missing' || p.kind === 'meeting_waiting'
|
|
157
165
|
const rollup = (p.kind === 'due_today' || p.kind === 'work_now') && Number(p.count) > 0
|
|
158
166
|
if (p.kind === 'event' || p.kind === 'due_soon' || handoff || rollup) {
|
|
159
167
|
out.push({ subject: p.subject, bucket: p.bucket })
|
package/lib/report_spool.mjs
CHANGED
|
@@ -144,6 +144,13 @@ export function wireBody(e) {
|
|
|
144
144
|
failure_class: e.failure_class ?? null, request_id: e.request_id ?? null, client_version: e.client_version ?? null,
|
|
145
145
|
count: e.count ?? 1,
|
|
146
146
|
}
|
|
147
|
+
// When this client SAW it (2026-10-10, obligation 85fc7617). An entry is sent after the NEXT success, which
|
|
148
|
+
// can be hours later, and without these the server dated every report by its arrival: a timeout that sat in
|
|
149
|
+
// a spool for 6 hours read "last 47m ago" on the issue list. The server bounds them (seenAt, bug_reports.ts).
|
|
150
|
+
const iso = (ms) => (Number.isFinite(ms) ? new Date(ms).toISOString() : undefined)
|
|
151
|
+
const first = iso(e.first_seen), last = iso(e.last_seen)
|
|
152
|
+
if (first) body.first_seen_at = first
|
|
153
|
+
if (last) body.last_seen_at = last
|
|
147
154
|
if (e.user_approved === true) {
|
|
148
155
|
body.user_approved = true
|
|
149
156
|
if (e.summary) body.summary = e.summary
|
package/package.json
CHANGED