@atrib/recall 0.10.0 → 0.12.0
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/README.md +14 -3
- package/dist/index.d.ts +9 -0
- package/dist/index.js +290 -45
- package/dist/index.js.map +1 -1
- package/dist/scoring.d.ts +33 -6
- package/dist/scoring.js +42 -5
- package/dist/scoring.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -16,6 +16,11 @@ The base filter-rank-page tool over the local mirror.
|
|
|
16
16
|
mcp__atrib-recall__recall_my_attribution_history({
|
|
17
17
|
// All optional
|
|
18
18
|
context_id?: string, // 32-hex. Filter to records signed under this trace.
|
|
19
|
+
creator_key?: string, // Ed25519 public key, base64url. Filter to records signed by this
|
|
20
|
+
// specific creator. The tool's name says "my history" but the local
|
|
21
|
+
// mirror may hold records from other signers (multi-agent flows,
|
|
22
|
+
// transactions with counterparty signatures, etc.); use this filter
|
|
23
|
+
// to scope strictly to your own past.
|
|
19
24
|
event_type?: 'tool_call' | 'transaction' | 'annotation' | 'revision',
|
|
20
25
|
// Filter to a single event kind. Short-form names are normalized
|
|
21
26
|
// to the URI form.
|
|
@@ -70,9 +75,15 @@ Every call to this tool (and every sibling tool below) writes a per-call jsonl e
|
|
|
70
75
|
|
|
71
76
|
- `mcp__atrib-recall__recall_annotations({ record_hash })` - returns the aggregated annotation summary (max_importance, union of topics, latest summary) for the target record. Returns `annotations: null` when no annotation points at the record.
|
|
72
77
|
|
|
73
|
-
- `mcp__atrib-recall__recall_revisions({ record_hash })` - returns the forward revision chain for the target record. Each entry
|
|
78
|
+
- `mcp__atrib-recall__recall_revisions({ record_hash })` - returns the forward revision chain for the target record. Each chain entry carries `record_hash`, `timestamp`, and the [D086](../../DECISIONS.md#d086-bm25-corpus-extended-from-annotations-to-per-event_type-record-content)-normative content fields (`new_position`, `reason`, `importance`) when present, so the agent can read the chain inline without follow-up `recall` calls per revision. The chain follows the first-by-timestamp revision at each step; when more than one revision targets the same record (sibling fan-out, common in multi-agent flows), the other branch heads are listed on that step's entry as `sibling_hashes`, so the agent can recursively call `recall_revisions` on a sibling to traverse a parallel branch instead of having to manually enumerate revisions via `recall_my_attribution_history`.
|
|
74
79
|
|
|
75
|
-
- `mcp__atrib-recall__recall_by_content({ query, k? })` - BM25 free-form retrieval over each record's annotation summary + topic_tags, then reranked by Park et al. weighted-sum scoring (recency + importance + relevance). Default k=10, max 50.
|
|
80
|
+
- `mcp__atrib-recall__recall_by_content({ query, k? })` - BM25 free-form retrieval over each record's indexable text + the annotation summary + topic_tags (when present), then reranked by Park et al. weighted-sum scoring (recency + importance + relevance). Default k=10, max 50. Per [D086](../../DECISIONS.md#d086-bm25-corpus-extended-from-annotations-to-per-event_type-record-content), "indexable text" is per-event_type record content from the [D062](../../DECISIONS.md#d062-local-mirror-sidecar-two-tier-private-local--public-canonical-persistence) sidecar (observation: `what + why_noted + topics`; tool_call: `tool_name + args excerpt + result excerpt`; annotation: `summary + topics`; revision: `prior_position + new_position + reason + topics`; transaction: counterparty + memo + protocol fields; directory_anchor: `tree_root + epoch_id`). Extension URIs fall back to a generic recursive string-walk (depth ≤ 4, field cap 2KB). BM25 contribution is clamped to [0, 1] in the parkScore site so the documented Park-component bound is honored. Layer 2 (sqlite-vec sidecar, separate ship) extends with embedding similarity over the same indexed text.
|
|
81
|
+
|
|
82
|
+
- `mcp__atrib-recall__recall_session_chain({ context_id?, limit? })` - returns all records in a context_id, ordered chronologically (oldest-first). The natural traversal of the CHAIN_PRECEDES topology for a single session/trace. Each entry carries `record_hash`, `event_type`, `timestamp`, `display_summary`, `display_producer`, and `age`. When `context_id` is omitted, falls back to `resolveEnvContextId` (the same precedence as the other tools: `ATRIB_CONTEXT_ID` env, then a [D083](../../DECISIONS.md#d083-harness-session-id-discovery-extends-d078-for-cognitive-primitive-mcp-servers)-registered harness env like `CLAUDE_CODE_SESSION_ID`).
|
|
83
|
+
|
|
84
|
+
- `mcp__atrib-recall__recall_orphans({ context_id?, event_type?, creator_key?, limit? })` - returns records that are NOT cited by any other record via `informed_by` (loose ends — decisions or observations the agent made but never followed up on). Optionally scoped to one context_id, one event_type, or one creator_key. Newest-first ordering. Useful for the agent to discover dropped balls (e.g. "I noted X but never built on it").
|
|
85
|
+
|
|
86
|
+
- `mcp__atrib-recall__recall_by_signer({ min_records? })` - aggregates the local mirror by `creator_key`. Returns distinct creators present + per-creator record count + earliest/latest timestamp. Pure aggregation; no records returned directly — use `recall_my_attribution_history` with the `creator_key` filter to drill into one creator's records. Useful when the mirror is multi-signer.
|
|
76
87
|
|
|
77
88
|
### Tunable weights
|
|
78
89
|
|
|
@@ -84,7 +95,7 @@ The Park et al. ranking weights and recency time constant are environment-tunabl
|
|
|
84
95
|
| `ATRIB_RECALL_BETA` | 0.3 | Importance component weight |
|
|
85
96
|
| `ATRIB_RECALL_GAMMA` | 0.4 | Relevance (BM25) component weight |
|
|
86
97
|
| `ATRIB_RECALL_TAU_DAYS` | 7 | Exponential-decay time constant for recency |
|
|
87
|
-
| `ATRIB_RECALL_NOISE_FLOOR` | 0.
|
|
98
|
+
| `ATRIB_RECALL_NOISE_FLOOR` | 0.6 | Anti-noise threshold for `rank_by=relevance` (see below) |
|
|
88
99
|
|
|
89
100
|
The implementation does not enforce that alpha + beta + gamma sum to 1.0; the operator-facing defaults do. See [D085](../../DECISIONS.md#d085-recall-calibration-defaults-survey-grounded-rationale) for the survey-grounded rationale: `ALPHA=0.3` matches CrewAI's `recency_weight=0.3` (the only normalized-weights peer in a 2026-05-23 OSS survey); `TAU_DAYS=7` produces a ~4.85-day half-life inside the field range and close to Park et al.'s ~5.75-day empirical anchor.
|
|
90
101
|
|
package/dist/index.d.ts
CHANGED
|
@@ -27,6 +27,15 @@ export declare function loadRecordsFromDir(dir: string): {
|
|
|
27
27
|
};
|
|
28
28
|
interface RecallArgs {
|
|
29
29
|
context_id?: string;
|
|
30
|
+
/**
|
|
31
|
+
* Optional exact match on `record.creator_key` (Ed25519 public key,
|
|
32
|
+
* base64url-encoded). Filters the local mirror to records signed by
|
|
33
|
+
* one specific creator. The tool's name says "my attribution history"
|
|
34
|
+
* but the local mirror may hold records from other signers (multi-
|
|
35
|
+
* agent flows, transactions with counterparty signatures, etc.). Use
|
|
36
|
+
* this filter to scope strictly to your own past.
|
|
37
|
+
*/
|
|
38
|
+
creator_key?: string;
|
|
30
39
|
event_type?: 'tool_call' | 'transaction' | 'annotation' | 'revision';
|
|
31
40
|
/**
|
|
32
41
|
* Optional exact match on `record.content_id` (`sha256:<64-hex>`). Per spec
|
package/dist/index.js
CHANGED
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
*/
|
|
34
34
|
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
35
35
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
36
|
-
import { verifyRecord, EVENT_TYPE_TOOL_CALL_URI, EVENT_TYPE_TRANSACTION_URI, EVENT_TYPE_ANNOTATION_URI, EVENT_TYPE_REVISION_URI, resolveEnvContextId, logReadPrimitiveCall, extractRecordHashesFromMcpResult, } from '@atrib/mcp';
|
|
36
|
+
import { verifyRecord, EVENT_TYPE_TOOL_CALL_URI, EVENT_TYPE_TRANSACTION_URI, EVENT_TYPE_ANNOTATION_URI, EVENT_TYPE_REVISION_URI, EVENT_TYPE_OBSERVATION_URI, EVENT_TYPE_DIRECTORY_ANCHOR_URI, resolveEnvContextId, logReadPrimitiveCall, extractRecordHashesFromMcpResult, } from '@atrib/mcp';
|
|
37
37
|
// Short-form event_type names accepted by the recall MCP schema map onto
|
|
38
38
|
// their atrib-normative URI form (spec §1.2.4). Records sign the URI form
|
|
39
39
|
// per §1.4.5 + isValidEventTypeUri; without this mapping, a recall caller
|
|
@@ -44,6 +44,8 @@ const EVENT_TYPE_SHORT_TO_URI = {
|
|
|
44
44
|
transaction: EVENT_TYPE_TRANSACTION_URI,
|
|
45
45
|
annotation: EVENT_TYPE_ANNOTATION_URI,
|
|
46
46
|
revision: EVENT_TYPE_REVISION_URI,
|
|
47
|
+
observation: EVENT_TYPE_OBSERVATION_URI,
|
|
48
|
+
directory_anchor: EVENT_TYPE_DIRECTORY_ANCHOR_URI,
|
|
47
49
|
};
|
|
48
50
|
export const IMPORTANCE_NUMERIC = {
|
|
49
51
|
critical: 5,
|
|
@@ -82,13 +84,31 @@ export const ATRIB_RECALL_TAU_DAYS = parseFloat(process.env.ATRIB_RECALL_TAU_DAY
|
|
|
82
84
|
// Park score is below this floor, recall returns empty records + a
|
|
83
85
|
// "below_threshold" quality signal rather than a low-confidence top-K.
|
|
84
86
|
//
|
|
85
|
-
// Default 0.
|
|
86
|
-
//
|
|
87
|
-
//
|
|
88
|
-
//
|
|
89
|
-
//
|
|
90
|
-
//
|
|
91
|
-
//
|
|
87
|
+
// Default 0.6 derivation (D086 recalibration):
|
|
88
|
+
// - Pre-D086 the BM25 corpus was annotation-summary-only, leaving 99%+
|
|
89
|
+
// of records un-indexable for content queries. The previous floor of
|
|
90
|
+
// 0.15 was derived as "alpha * 0.5 = recency-only median-aged
|
|
91
|
+
// record" under the assumption Park components stay in [0, 1].
|
|
92
|
+
// - D086 extends the BM25 corpus to per-event_type record content via
|
|
93
|
+
// `extractIndexableText` from @atrib/mcp. Empirically against the
|
|
94
|
+
// 2026-05-24 operator mirror (14,363 records), 84.6% of records now
|
|
95
|
+
// produce non-zero indexable tokens (avg 75.6 tokens/doc), and the
|
|
96
|
+
// parkScore site clamps raw BM25 to [0, 1] so the documented Park-
|
|
97
|
+
// component bound is honored.
|
|
98
|
+
// - Calibration sweep (scripts/calibration-sweep-d086.mjs) measured:
|
|
99
|
+
// real-query top_park min=0.6985 max=0.9549 avg=0.7971
|
|
100
|
+
// nonsense-query top_park min=0.5572 max=0.6895 avg=0.5704
|
|
101
|
+
// Recent + annotated records baseline at ~0.55 from alpha*1.0 +
|
|
102
|
+
// beta*importance alone (no BM25 needed). Pre-D086 floor of 0.15 is
|
|
103
|
+
// a no-op against the new corpus — every record passes.
|
|
104
|
+
// - 0.6 sits between the recent+annotated-only baseline (~0.55) and the
|
|
105
|
+
// real-query minimum (0.6985). It filters the "active mirror, no
|
|
106
|
+
// meaningful relevance" case while preserving real recall results.
|
|
107
|
+
// Some nonsense queries with incidental BM25 hits (up to 0.6895) will
|
|
108
|
+
// still pass; the tight ~0.01 empirical gap between real-min and
|
|
109
|
+
// nonsense-max means a higher floor would also kill the lowest-
|
|
110
|
+
// scoring real query. Final calibration deferred to the gold-standard
|
|
111
|
+
// sweep (queued post-D085).
|
|
92
112
|
//
|
|
93
113
|
// NOVEL IN FIELD: the 2026-05-23 survey of comparable systems (Park et
|
|
94
114
|
// al., MemGPT/Letta, A-MEM, MemoryBank, Mem0, LangChain, LlamaIndex,
|
|
@@ -97,24 +117,15 @@ export const ATRIB_RECALL_TAU_DAYS = parseFloat(process.env.ATRIB_RECALL_TAU_DAY
|
|
|
97
117
|
// field convention is "always return something, let the agent decide
|
|
98
118
|
// it's noise." atrib's inversion is a deliberate protocol choice (lower
|
|
99
119
|
// hallucination risk from low-confidence context); it should be
|
|
100
|
-
// defended as innovation, not assumed convention. See ADR D085.
|
|
101
|
-
//
|
|
102
|
-
|
|
103
|
-
// recommend revising this floor.
|
|
104
|
-
//
|
|
105
|
-
// CAVEAT: on active mirrors with constant fresh tool-call activity, the
|
|
106
|
-
// best record's recency component is ~1.0, so alpha * 1.0 = 0.3 > 0.15
|
|
107
|
-
// and the floor never trips. The threshold catches the "stale mirror,
|
|
108
|
-
// nothing relevant" case correctly per design, but not the "active
|
|
109
|
-
// mirror, nonsense query" case. If ALPHA is changed, this default may
|
|
110
|
-
// need to be revisited. Set the env var to 0 to disable entirely.
|
|
111
|
-
export const ATRIB_RECALL_NOISE_FLOOR = parseFloat(process.env.ATRIB_RECALL_NOISE_FLOOR ?? '0.15');
|
|
120
|
+
// defended as innovation, not assumed convention. See ADR D085 + D086.
|
|
121
|
+
// Set the env var to 0 to disable entirely.
|
|
122
|
+
export const ATRIB_RECALL_NOISE_FLOOR = parseFloat(process.env.ATRIB_RECALL_NOISE_FLOOR ?? '0.6');
|
|
112
123
|
import { existsSync, readFileSync, readdirSync, statSync } from 'node:fs';
|
|
113
124
|
import { homedir } from 'node:os';
|
|
114
125
|
import { join } from 'node:path';
|
|
115
126
|
import { z } from 'zod';
|
|
116
127
|
import { aggregateAnnotationsByRecord, aggregateRevisionsByRecord, discoverLoaded, } from './aggregations.js';
|
|
117
|
-
import { recencyScore, importanceScore, parkScore, buildBM25Index, bm25Score, tokenize,
|
|
128
|
+
import { recencyScore, importanceScore, parkScore, buildBM25Index, bm25Score, tokenize, indexableTokensForRecord, } from './scoring.js';
|
|
118
129
|
import { buildLocalGraph, shortestDistances, walkFrom, } from './graph.js';
|
|
119
130
|
import { synthesizeDisplaySummary, resolveDisplayProducer, formatAge, } from './legibility.js';
|
|
120
131
|
const ATRIB_RECORD_FILE = process.env.ATRIB_RECORD_FILE;
|
|
@@ -239,12 +250,14 @@ function rankByRelevance(filtered, annotationsByRecord, rankAnchor) {
|
|
|
239
250
|
// contribute 0 relevance (recency + importance only).
|
|
240
251
|
const looksLikeRecordHash = typeof rankAnchor === 'string' && /^sha256:[0-9a-f]{64}$/.test(rankAnchor);
|
|
241
252
|
const queryTokens = rankAnchor && !looksLikeRecordHash ? tokenize(rankAnchor) : [];
|
|
242
|
-
// Build the BM25 index over the filtered set's indexable text.
|
|
243
|
-
//
|
|
244
|
-
//
|
|
253
|
+
// Build the BM25 index over the filtered set's indexable text. Per
|
|
254
|
+
// D086, indexable text is per-event_type record content (from the D062
|
|
255
|
+
// sidecar) augmented by any annotation summary + topics when present.
|
|
256
|
+
// Index construction is O(total token count); for Layer 1 corpus sizes
|
|
257
|
+
// (a few hundred records × tens of tokens each) this is negligible.
|
|
245
258
|
const corpus = filtered.map((lr) => ({
|
|
246
259
|
id: lr.record_hash,
|
|
247
|
-
tokens:
|
|
260
|
+
tokens: indexableTokensForRecord(lr, annotationsByRecord.get(lr.record_hash)),
|
|
248
261
|
}));
|
|
249
262
|
const idx = buildBM25Index(corpus);
|
|
250
263
|
const scores = new Map();
|
|
@@ -252,9 +265,18 @@ function rankByRelevance(filtered, annotationsByRecord, rankAnchor) {
|
|
|
252
265
|
for (const lr of filtered) {
|
|
253
266
|
const r = recencyScore(lr.record.timestamp, now, ATRIB_RECALL_TAU_DAYS);
|
|
254
267
|
const i = importanceScore(annotationsByRecord.get(lr.record_hash));
|
|
255
|
-
|
|
268
|
+
// Raw bm25Score is unbounded (idf * tf-saturation per query term;
|
|
269
|
+
// can exceed 1.0 for queries with many matching terms against short
|
|
270
|
+
// docs). Clamp to [0, 1] so the Park-component bound documented in
|
|
271
|
+
// the scoring module is actually honored. Pre-D086 the annotation-
|
|
272
|
+
// only corpus made this clamp moot (most records produced 0); D086
|
|
273
|
+
// extends BM25 over record content so high-relevance hits routinely
|
|
274
|
+
// exceed 1.0 and would otherwise dominate parkScore and invalidate
|
|
275
|
+
// the noise-floor calibration.
|
|
276
|
+
const rawRel = queryTokens.length > 0
|
|
256
277
|
? bm25Score(idx, lr.record_hash, queryTokens)
|
|
257
278
|
: 0;
|
|
279
|
+
const rel = Math.min(rawRel, 1);
|
|
258
280
|
const s = parkScore(r, i, rel, ATRIB_RECALL_ALPHA, ATRIB_RECALL_BETA, ATRIB_RECALL_GAMMA);
|
|
259
281
|
scores.set(lr.record_hash, s);
|
|
260
282
|
if (s > topScore)
|
|
@@ -410,6 +432,9 @@ export async function recall(args, recordFile) {
|
|
|
410
432
|
let filtered = all;
|
|
411
433
|
if (effectiveContextId)
|
|
412
434
|
filtered = filtered.filter((lr) => lr.record.context_id === effectiveContextId);
|
|
435
|
+
if (args.creator_key) {
|
|
436
|
+
filtered = filtered.filter((lr) => lr.record.creator_key === args.creator_key);
|
|
437
|
+
}
|
|
413
438
|
if (args.event_type) {
|
|
414
439
|
// Schema accepts short form ('tool_call'|'transaction'); records carry
|
|
415
440
|
// the URI form. Normalize before comparison; pass URIs through as-is so
|
|
@@ -472,13 +497,15 @@ export async function recall(args, recordFile) {
|
|
|
472
497
|
filtered.sort((a, b) => b.record.timestamp - a.record.timestamp);
|
|
473
498
|
}
|
|
474
499
|
// Layer 1 v2 anti-noise threshold: when rank_by='relevance' and the
|
|
475
|
-
// top Park score falls below ATRIB_RECALL_NOISE_FLOOR (default 0.
|
|
476
|
-
// return empty records + a "below_threshold" quality signal
|
|
477
|
-
// a low-confidence top-K. The 0.
|
|
478
|
-
//
|
|
479
|
-
// (
|
|
480
|
-
// noise and training the agent to
|
|
481
|
-
// returning nothing.
|
|
500
|
+
// top Park score falls below ATRIB_RECALL_NOISE_FLOOR (default 0.6 per
|
|
501
|
+
// D086), return empty records + a "below_threshold" quality signal
|
|
502
|
+
// instead of a low-confidence top-K. The 0.6 default sits between the
|
|
503
|
+
// recent+annotated-only baseline (~0.55) and the real-query minimum
|
|
504
|
+
// (~0.70) observed empirically against the 2026-05-24 operator mirror.
|
|
505
|
+
// Below that, results are effectively noise and training the agent to
|
|
506
|
+
// scan + dismiss them costs more than returning nothing. See ADR D086
|
|
507
|
+
// for the full derivation + the constant declaration above for the
|
|
508
|
+
// calibration sweep details.
|
|
482
509
|
if (args.rank_by === 'relevance' &&
|
|
483
510
|
relevanceTopScore !== undefined &&
|
|
484
511
|
relevanceTopScore < ATRIB_RECALL_NOISE_FLOOR) {
|
|
@@ -590,6 +617,15 @@ server.registerTool('recall_my_attribution_history', {
|
|
|
590
617
|
.optional()
|
|
591
618
|
.describe('Optional trace identifier (32 hex chars). Limits results to records signed within this trace. ' +
|
|
592
619
|
'Omit for cross-trace recall.'),
|
|
620
|
+
creator_key: z
|
|
621
|
+
.string()
|
|
622
|
+
.optional()
|
|
623
|
+
.describe("Optional exact match on record.creator_key (base64url-encoded Ed25519 public key, 43 chars). " +
|
|
624
|
+
"Filters the local mirror to records signed by this specific creator. Omit to see all signers " +
|
|
625
|
+
"present in the mirror; the tool name says 'my attribution history' but the mirror may contain " +
|
|
626
|
+
"records from other creators when multi-agent flows ship records into a shared mirror. Use " +
|
|
627
|
+
"your own creator_key (resolvable from the @atrib/cli key-show output, or `getPublicKey()` " +
|
|
628
|
+
"called on your seed) when you want to scope strictly to your own past."),
|
|
593
629
|
event_type: z
|
|
594
630
|
.enum(['tool_call', 'transaction'])
|
|
595
631
|
.optional()
|
|
@@ -808,7 +844,7 @@ server.registerTool('recall_annotations', {
|
|
|
808
844
|
};
|
|
809
845
|
}, extractRecordHashesFromMcpResult));
|
|
810
846
|
server.registerTool('recall_revisions', {
|
|
811
|
-
description: "Return the D059 revision chain for a record. Walks revises edges forward from the given record_hash, surfacing each revision in turn.
|
|
847
|
+
description: "Return the D059 revision chain for a record, with per-entry content + sibling-fan-out awareness. Walks revises edges forward from the given record_hash, surfacing each revision in turn. Each entry carries the revision's record_hash, timestamp, and content (`new_position`, `reason`, `importance`) so the agent can read the chain inline without follow-up recall calls per entry. When more than one revision targets the same record, the chain follows the first-by-timestamp branch and lists the other branch heads as `sibling_hashes` on that entry so the agent learns about parallel revision branches (common in multi-agent flows). Useful for checking whether a position the agent previously held has been revised before acting on it. Returns an empty chain when no revision points at the record.",
|
|
812
848
|
inputSchema: {
|
|
813
849
|
record_hash: z
|
|
814
850
|
.string()
|
|
@@ -816,11 +852,10 @@ server.registerTool('recall_revisions', {
|
|
|
816
852
|
},
|
|
817
853
|
}, async (args) => logReadPrimitiveCall('recall_revisions', args, async () => {
|
|
818
854
|
const { loaded } = discoverLoaded();
|
|
855
|
+
const byHash = new Map();
|
|
856
|
+
for (const lr of loaded)
|
|
857
|
+
byHash.set(lr.record_hash, lr);
|
|
819
858
|
const revisionsByRecord = aggregateRevisionsByRecord(loaded);
|
|
820
|
-
// Walk the chain forward: the input record may be revised by R1;
|
|
821
|
-
// R1 may be revised by R2; collect them in order. Bounded by the
|
|
822
|
-
// mirror size (no cycles since timestamps are monotonic per
|
|
823
|
-
// signer; defensive seen-set anyway).
|
|
824
859
|
const chain = [];
|
|
825
860
|
const seen = new Set();
|
|
826
861
|
let current = args.record_hash;
|
|
@@ -830,12 +865,31 @@ server.registerTool('recall_revisions', {
|
|
|
830
865
|
if (!next || next.length === 0)
|
|
831
866
|
break;
|
|
832
867
|
// Each entry in the map's value array is a revision pointing at
|
|
833
|
-
// `current`.
|
|
834
|
-
//
|
|
835
|
-
//
|
|
836
|
-
//
|
|
868
|
+
// `current`. The chain follows the first-by-timestamp revision;
|
|
869
|
+
// the remaining entries are surfaced as `sibling_hashes` so the
|
|
870
|
+
// agent learns that branches exist without the chain shape
|
|
871
|
+
// having to explode into a tree.
|
|
837
872
|
const revHash = next[0];
|
|
838
|
-
|
|
873
|
+
const siblings = next.slice(1);
|
|
874
|
+
const revLr = byHash.get(revHash);
|
|
875
|
+
const entry = { record_hash: revHash };
|
|
876
|
+
if (revLr) {
|
|
877
|
+
entry.timestamp = revLr.record.timestamp;
|
|
878
|
+
const c = revLr.content;
|
|
879
|
+
if (c && typeof c === 'object' && !Array.isArray(c)) {
|
|
880
|
+
const cObj = c;
|
|
881
|
+
if (typeof cObj.new_position === 'string')
|
|
882
|
+
entry.new_position = cObj.new_position;
|
|
883
|
+
if (typeof cObj.reason === 'string')
|
|
884
|
+
entry.reason = cObj.reason;
|
|
885
|
+
if (typeof cObj.importance === 'string')
|
|
886
|
+
entry.importance = cObj.importance;
|
|
887
|
+
}
|
|
888
|
+
}
|
|
889
|
+
if (siblings.length > 0) {
|
|
890
|
+
entry.sibling_hashes = siblings;
|
|
891
|
+
}
|
|
892
|
+
chain.push(entry);
|
|
839
893
|
current = revHash;
|
|
840
894
|
}
|
|
841
895
|
return {
|
|
@@ -848,7 +902,7 @@ server.registerTool('recall_revisions', {
|
|
|
848
902
|
};
|
|
849
903
|
}, extractRecordHashesFromMcpResult));
|
|
850
904
|
server.registerTool('recall_by_content', {
|
|
851
|
-
description: "Free-form text search over the agent's signed past. Returns top-k records by hybrid retrieval: BM25 over each record's annotation summary + topics
|
|
905
|
+
description: "Free-form text search over the agent's signed past. Returns top-k records by hybrid retrieval: BM25 over each record's per-event_type indexable text (observation `what + why_noted + topics`; tool_call `tool_name + args + result`; annotation `summary + topics`; revision `prior_position + new_position + reason + topics`; transaction counterparty + memo; directory_anchor tree_root; extension URIs via generic recursive string-walk per D086) plus the annotation summary + topics when present as a curator-quality lift. Reranked by Park et al. weighted-sum scoring with annotation-derived importance and recency signals; BM25 contribution clamped to [0, 1] so the documented Park-component bound is honored. Layer 2 (sqlite-vec sidecar, separate ship) extends with embedding similarity. Useful when the agent has no specific filter and needs to ask 'what do I know about X?'.",
|
|
852
906
|
inputSchema: {
|
|
853
907
|
query: z
|
|
854
908
|
.string()
|
|
@@ -864,7 +918,7 @@ server.registerTool('recall_by_content', {
|
|
|
864
918
|
const queryTokens = tokenize(args.query);
|
|
865
919
|
const corpus = loaded.map((lr) => ({
|
|
866
920
|
id: lr.record_hash,
|
|
867
|
-
tokens:
|
|
921
|
+
tokens: indexableTokensForRecord(lr, annotationsByRecord.get(lr.record_hash)),
|
|
868
922
|
}));
|
|
869
923
|
const idx = buildBM25Index(corpus);
|
|
870
924
|
const now = Date.now();
|
|
@@ -914,6 +968,197 @@ server.registerTool('recall_by_content', {
|
|
|
914
968
|
],
|
|
915
969
|
};
|
|
916
970
|
}, extractRecordHashesFromMcpResult));
|
|
971
|
+
// recall_session_chain: records in a context_id, ordered chronologically
|
|
972
|
+
// (the natural traversal of the CHAIN_PRECEDES topology). Doable via
|
|
973
|
+
// recall_my_attribution_history({context_id}) + a manual timestamp sort,
|
|
974
|
+
// but agents naturally think "what happened in this session?" and this
|
|
975
|
+
// gives them one call.
|
|
976
|
+
server.registerTool('recall_session_chain', {
|
|
977
|
+
description: "Return all records in a context_id, ordered chronologically (oldest-first). The natural traversal of the CHAIN_PRECEDES topology for a single session/trace. Each entry carries record_hash, event_type, timestamp, display_summary (per-event_type human-readable text from D086), and producer label. Useful for 'what happened in this session?' without manually sorting filter results. Sibling tool to recall_my_attribution_history with built-in context_id scoping + chain-ascending order.",
|
|
978
|
+
inputSchema: {
|
|
979
|
+
context_id: z
|
|
980
|
+
.string()
|
|
981
|
+
.optional()
|
|
982
|
+
.describe("32-hex context_id. When omitted, falls back to @atrib/mcp's resolveEnvContextId (ATRIB_CONTEXT_ID env or D083-registered harness env like CLAUDE_CODE_SESSION_ID)."),
|
|
983
|
+
limit: z
|
|
984
|
+
.number()
|
|
985
|
+
.optional()
|
|
986
|
+
.describe("Maximum records to return (default 50, max 500). Truncated from the END of the chain (oldest-first ordering preserves the chain's start)."),
|
|
987
|
+
},
|
|
988
|
+
}, async (args) => logReadPrimitiveCall('recall_session_chain', args, async () => {
|
|
989
|
+
const ctx = args.context_id ?? resolveEnvContextId();
|
|
990
|
+
if (!ctx) {
|
|
991
|
+
return {
|
|
992
|
+
content: [
|
|
993
|
+
{
|
|
994
|
+
type: 'text',
|
|
995
|
+
text: JSON.stringify({ context_id: null, count: 0, records: [], warning: 'no context_id supplied or resolvable via env' }, null, 2),
|
|
996
|
+
},
|
|
997
|
+
],
|
|
998
|
+
};
|
|
999
|
+
}
|
|
1000
|
+
const { loaded } = discoverLoaded();
|
|
1001
|
+
const annotationsByRecord = aggregateAnnotationsByRecord(loaded);
|
|
1002
|
+
const filtered = loaded
|
|
1003
|
+
.filter((lr) => lr.record.context_id === ctx)
|
|
1004
|
+
.sort((a, b) => a.record.timestamp - b.record.timestamp);
|
|
1005
|
+
const limit = Math.max(1, Math.min(500, args.limit ?? 50));
|
|
1006
|
+
const sliced = filtered.slice(0, limit);
|
|
1007
|
+
const now = Date.now();
|
|
1008
|
+
return {
|
|
1009
|
+
content: [
|
|
1010
|
+
{
|
|
1011
|
+
type: 'text',
|
|
1012
|
+
text: JSON.stringify({
|
|
1013
|
+
context_id: ctx,
|
|
1014
|
+
total: filtered.length,
|
|
1015
|
+
returned: sliced.length,
|
|
1016
|
+
truncated: filtered.length > sliced.length,
|
|
1017
|
+
records: sliced.map((lr) => {
|
|
1018
|
+
const ann = annotationsByRecord.get(lr.record_hash);
|
|
1019
|
+
return {
|
|
1020
|
+
record_hash: lr.record_hash,
|
|
1021
|
+
event_type: lr.record.event_type,
|
|
1022
|
+
timestamp: lr.record.timestamp,
|
|
1023
|
+
display_summary: synthesizeDisplaySummary(lr.record, lr.content, ann),
|
|
1024
|
+
display_producer: resolveDisplayProducer(lr.record, lr.producer),
|
|
1025
|
+
age: formatAge(lr.record.timestamp, now),
|
|
1026
|
+
};
|
|
1027
|
+
}),
|
|
1028
|
+
}, null, 2),
|
|
1029
|
+
},
|
|
1030
|
+
],
|
|
1031
|
+
};
|
|
1032
|
+
}, extractRecordHashesFromMcpResult));
|
|
1033
|
+
// recall_orphans: records nothing else cites via informed_by. Useful for
|
|
1034
|
+
// "what decisions did I make and never act on?" — loose-end discovery.
|
|
1035
|
+
server.registerTool('recall_orphans', {
|
|
1036
|
+
description: "Return records that are NOT cited by any other record via informed_by (loose ends — decisions or observations the agent made but never followed up on). Surfaces records whose record_hash does NOT appear in any other record's informed_by[] array within the local mirror. Optionally scoped to one context_id, one event_type, or one creator_key. Useful for the agent to discover dropped balls (e.g. 'I noted X but never built on it').",
|
|
1037
|
+
inputSchema: {
|
|
1038
|
+
context_id: z
|
|
1039
|
+
.string()
|
|
1040
|
+
.optional()
|
|
1041
|
+
.describe("Optional 32-hex context_id to scope orphan-discovery to one session/trace."),
|
|
1042
|
+
event_type: z
|
|
1043
|
+
.enum(['tool_call', 'transaction', 'annotation', 'revision', 'observation', 'directory_anchor'])
|
|
1044
|
+
.optional()
|
|
1045
|
+
.describe("Optional filter to one event_type. Most useful with 'observation' to find unfollowed noting/discovery events."),
|
|
1046
|
+
creator_key: z
|
|
1047
|
+
.string()
|
|
1048
|
+
.optional()
|
|
1049
|
+
.describe("Optional exact match on record.creator_key (base64url). Filters orphan-discovery to records signed by one creator."),
|
|
1050
|
+
limit: z
|
|
1051
|
+
.number()
|
|
1052
|
+
.optional()
|
|
1053
|
+
.describe("Maximum records to return (default 50, max 500), newest-first."),
|
|
1054
|
+
},
|
|
1055
|
+
}, async (args) => logReadPrimitiveCall('recall_orphans', args, async () => {
|
|
1056
|
+
const { loaded } = discoverLoaded();
|
|
1057
|
+
// Build the set of all record_hashes that appear in any record's
|
|
1058
|
+
// informed_by field. Anything in `loaded` whose record_hash is
|
|
1059
|
+
// NOT in this set is an orphan.
|
|
1060
|
+
const cited = new Set();
|
|
1061
|
+
for (const lr of loaded) {
|
|
1062
|
+
const ib = lr.record.informed_by;
|
|
1063
|
+
if (Array.isArray(ib)) {
|
|
1064
|
+
for (const h of ib)
|
|
1065
|
+
if (typeof h === 'string')
|
|
1066
|
+
cited.add(h);
|
|
1067
|
+
}
|
|
1068
|
+
}
|
|
1069
|
+
let orphans = loaded.filter((lr) => !cited.has(lr.record_hash));
|
|
1070
|
+
if (args.context_id) {
|
|
1071
|
+
orphans = orphans.filter((lr) => lr.record.context_id === args.context_id);
|
|
1072
|
+
}
|
|
1073
|
+
if (args.creator_key) {
|
|
1074
|
+
orphans = orphans.filter((lr) => lr.record.creator_key === args.creator_key);
|
|
1075
|
+
}
|
|
1076
|
+
if (args.event_type) {
|
|
1077
|
+
const targetUri = EVENT_TYPE_SHORT_TO_URI[args.event_type] ?? args.event_type;
|
|
1078
|
+
orphans = orphans.filter((lr) => lr.record.event_type === targetUri);
|
|
1079
|
+
}
|
|
1080
|
+
orphans.sort((a, b) => b.record.timestamp - a.record.timestamp);
|
|
1081
|
+
const limit = Math.max(1, Math.min(500, args.limit ?? 50));
|
|
1082
|
+
const sliced = orphans.slice(0, limit);
|
|
1083
|
+
const annotationsByRecord = aggregateAnnotationsByRecord(loaded);
|
|
1084
|
+
const now = Date.now();
|
|
1085
|
+
return {
|
|
1086
|
+
content: [
|
|
1087
|
+
{
|
|
1088
|
+
type: 'text',
|
|
1089
|
+
text: JSON.stringify({
|
|
1090
|
+
total: orphans.length,
|
|
1091
|
+
returned: sliced.length,
|
|
1092
|
+
truncated: orphans.length > sliced.length,
|
|
1093
|
+
records: sliced.map((lr) => {
|
|
1094
|
+
const ann = annotationsByRecord.get(lr.record_hash);
|
|
1095
|
+
return {
|
|
1096
|
+
record_hash: lr.record_hash,
|
|
1097
|
+
event_type: lr.record.event_type,
|
|
1098
|
+
context_id: lr.record.context_id,
|
|
1099
|
+
timestamp: lr.record.timestamp,
|
|
1100
|
+
display_summary: synthesizeDisplaySummary(lr.record, lr.content, ann),
|
|
1101
|
+
display_producer: resolveDisplayProducer(lr.record, lr.producer),
|
|
1102
|
+
age: formatAge(lr.record.timestamp, now),
|
|
1103
|
+
};
|
|
1104
|
+
}),
|
|
1105
|
+
}, null, 2),
|
|
1106
|
+
},
|
|
1107
|
+
],
|
|
1108
|
+
};
|
|
1109
|
+
}, extractRecordHashesFromMcpResult));
|
|
1110
|
+
// recall_by_signer: aggregate the mirror by creator_key. Lets the agent
|
|
1111
|
+
// ask "who else is in this mirror?" before deciding whether to scope
|
|
1112
|
+
// queries with creator_key filters. Useful when the mirror is shared
|
|
1113
|
+
// across multi-agent flows (transactions with counterparty signers,
|
|
1114
|
+
// peer-shared records, etc.).
|
|
1115
|
+
server.registerTool('recall_by_signer', {
|
|
1116
|
+
description: "Aggregate the local mirror by creator_key. Returns the distinct creators present + per-creator record count + latest record timestamp. Useful when the mirror is multi-signer (multi-agent flows, transactions with counterparty signers) and the agent wants to discover who else's records are in scope before deciding whether to filter with creator_key. Pure aggregation; no records returned directly — use recall_my_attribution_history with the creator_key filter to drill into one creator's records.",
|
|
1117
|
+
inputSchema: {
|
|
1118
|
+
min_records: z
|
|
1119
|
+
.number()
|
|
1120
|
+
.optional()
|
|
1121
|
+
.describe("Optional minimum record count to include a creator in the result. Default 1 (include all)."),
|
|
1122
|
+
},
|
|
1123
|
+
}, async (args) => logReadPrimitiveCall('recall_by_signer', args, async () => {
|
|
1124
|
+
const { loaded } = discoverLoaded();
|
|
1125
|
+
const byKey = new Map();
|
|
1126
|
+
for (const lr of loaded) {
|
|
1127
|
+
const key = lr.record.creator_key;
|
|
1128
|
+
const existing = byKey.get(key);
|
|
1129
|
+
if (existing) {
|
|
1130
|
+
existing.count++;
|
|
1131
|
+
if (lr.record.timestamp > existing.latest_timestamp)
|
|
1132
|
+
existing.latest_timestamp = lr.record.timestamp;
|
|
1133
|
+
if (lr.record.timestamp < existing.earliest_timestamp)
|
|
1134
|
+
existing.earliest_timestamp = lr.record.timestamp;
|
|
1135
|
+
}
|
|
1136
|
+
else {
|
|
1137
|
+
byKey.set(key, {
|
|
1138
|
+
creator_key: key,
|
|
1139
|
+
count: 1,
|
|
1140
|
+
latest_timestamp: lr.record.timestamp,
|
|
1141
|
+
earliest_timestamp: lr.record.timestamp,
|
|
1142
|
+
});
|
|
1143
|
+
}
|
|
1144
|
+
}
|
|
1145
|
+
const minRecords = Math.max(1, args.min_records ?? 1);
|
|
1146
|
+
const stats = [...byKey.values()]
|
|
1147
|
+
.filter((s) => s.count >= minRecords)
|
|
1148
|
+
.sort((a, b) => b.count - a.count);
|
|
1149
|
+
return {
|
|
1150
|
+
content: [
|
|
1151
|
+
{
|
|
1152
|
+
type: 'text',
|
|
1153
|
+
text: JSON.stringify({
|
|
1154
|
+
total_signers: stats.length,
|
|
1155
|
+
total_records: loaded.length,
|
|
1156
|
+
signers: stats,
|
|
1157
|
+
}, null, 2),
|
|
1158
|
+
},
|
|
1159
|
+
],
|
|
1160
|
+
};
|
|
1161
|
+
}, extractRecordHashesFromMcpResult));
|
|
917
1162
|
const transport = new StdioServerTransport();
|
|
918
1163
|
await server.connect(transport);
|
|
919
1164
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/scoring.d.ts
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
* Behavior", original recency × importance × relevance retrieval design
|
|
26
26
|
*/
|
|
27
27
|
import type { ImportanceLabel } from './index.js';
|
|
28
|
-
import type { AnnotationSummary } from './aggregations.js';
|
|
28
|
+
import type { AnnotationSummary, LoadedRecord } from './aggregations.js';
|
|
29
29
|
/**
|
|
30
30
|
* Exponential-decay recency score. timestamp is milliseconds; tau is in
|
|
31
31
|
* days. Returns a value in (0, 1]; 1 when ts == now, decays toward 0 as
|
|
@@ -95,13 +95,40 @@ export declare function bm25Score(index: BM25Index, docId: string, queryTokens:
|
|
|
95
95
|
*/
|
|
96
96
|
export declare function parkScore(recency: number, importance: number, relevance: number, alpha: number, beta: number, gamma: number): number;
|
|
97
97
|
/**
|
|
98
|
-
* Build
|
|
99
|
-
*
|
|
100
|
-
*
|
|
101
|
-
*
|
|
102
|
-
*
|
|
98
|
+
* Build BM25 tokens from an aggregated annotation (summary + topics).
|
|
99
|
+
* Kept for callers that only have annotation data and need the legacy
|
|
100
|
+
* shape. The current BM25 build path (`indexableTokensForRecord`) calls
|
|
101
|
+
* this internally as the annotation-augment step on top of the per-event_
|
|
102
|
+
* type record content extracted via `@atrib/mcp` `extractIndexableText`.
|
|
103
|
+
*
|
|
104
|
+
* Records with no annotation produce an empty token list. This helper
|
|
105
|
+
* deliberately does NOT touch record content; for the full corpus shape
|
|
106
|
+
* use `indexableTokensForRecord`.
|
|
103
107
|
*/
|
|
104
108
|
export declare function indexableTextFromAnnotation(summary: AnnotationSummary | undefined): string[];
|
|
109
|
+
/**
|
|
110
|
+
* Build BM25 tokens for one loaded record. Per D086, the indexable
|
|
111
|
+
* corpus combines two sources:
|
|
112
|
+
*
|
|
113
|
+
* 1. Per-event_type record content from the D062 sidecar, extracted
|
|
114
|
+
* via @atrib/mcp `extractIndexableText` against the record's
|
|
115
|
+
* `event_type` URI. For observation: what + why_noted + topics.
|
|
116
|
+
* For tool_call: tool_name + args excerpt + result excerpt. For
|
|
117
|
+
* annotation: summary + topics. Etc. See @atrib/mcp/content-shapes
|
|
118
|
+
* for the per-shape contract.
|
|
119
|
+
*
|
|
120
|
+
* 2. Any annotation summary + topics pointing at this record, when
|
|
121
|
+
* present. Annotations act as a curation lift on top of raw
|
|
122
|
+
* content; the same record indexed twice doesn't matter for BM25
|
|
123
|
+
* term-frequency saturation (k1 controls the lift). Records with
|
|
124
|
+
* no annotation still produce non-empty tokens from source (1) — the
|
|
125
|
+
* pre-D086 floor was zero, which left most emits un-searchable.
|
|
126
|
+
*
|
|
127
|
+
* Source (1) tokens are deduplicated against source (2) at the token
|
|
128
|
+
* level by simple union: BM25's tf saturation makes a few extra
|
|
129
|
+
* duplicates harmless.
|
|
130
|
+
*/
|
|
131
|
+
export declare function indexableTokensForRecord(loaded: LoadedRecord, annotation: AnnotationSummary | undefined): string[];
|
|
105
132
|
/**
|
|
106
133
|
* Convenience type re-export so callers can import the canonical
|
|
107
134
|
* ImportanceLabel shape without reaching into index.ts directly.
|
package/dist/scoring.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
|
2
2
|
import { IMPORTANCE_NUMERIC } from './index.js';
|
|
3
|
+
import { extractIndexableText } from '@atrib/mcp';
|
|
3
4
|
/**
|
|
4
5
|
* Exponential-decay recency score. timestamp is milliseconds; tau is in
|
|
5
6
|
* days. Returns a value in (0, 1]; 1 when ts == now, decays toward 0 as
|
|
@@ -107,11 +108,15 @@ export function parkScore(recency, importance, relevance, alpha, beta, gamma) {
|
|
|
107
108
|
return alpha * recency + beta * importance + gamma * relevance;
|
|
108
109
|
}
|
|
109
110
|
/**
|
|
110
|
-
* Build
|
|
111
|
-
*
|
|
112
|
-
*
|
|
113
|
-
*
|
|
114
|
-
*
|
|
111
|
+
* Build BM25 tokens from an aggregated annotation (summary + topics).
|
|
112
|
+
* Kept for callers that only have annotation data and need the legacy
|
|
113
|
+
* shape. The current BM25 build path (`indexableTokensForRecord`) calls
|
|
114
|
+
* this internally as the annotation-augment step on top of the per-event_
|
|
115
|
+
* type record content extracted via `@atrib/mcp` `extractIndexableText`.
|
|
116
|
+
*
|
|
117
|
+
* Records with no annotation produce an empty token list. This helper
|
|
118
|
+
* deliberately does NOT touch record content; for the full corpus shape
|
|
119
|
+
* use `indexableTokensForRecord`.
|
|
115
120
|
*/
|
|
116
121
|
export function indexableTextFromAnnotation(summary) {
|
|
117
122
|
if (!summary)
|
|
@@ -123,4 +128,36 @@ export function indexableTextFromAnnotation(summary) {
|
|
|
123
128
|
parts.push(...summary.topics);
|
|
124
129
|
return tokenize(parts.join(' '));
|
|
125
130
|
}
|
|
131
|
+
/**
|
|
132
|
+
* Build BM25 tokens for one loaded record. Per D086, the indexable
|
|
133
|
+
* corpus combines two sources:
|
|
134
|
+
*
|
|
135
|
+
* 1. Per-event_type record content from the D062 sidecar, extracted
|
|
136
|
+
* via @atrib/mcp `extractIndexableText` against the record's
|
|
137
|
+
* `event_type` URI. For observation: what + why_noted + topics.
|
|
138
|
+
* For tool_call: tool_name + args excerpt + result excerpt. For
|
|
139
|
+
* annotation: summary + topics. Etc. See @atrib/mcp/content-shapes
|
|
140
|
+
* for the per-shape contract.
|
|
141
|
+
*
|
|
142
|
+
* 2. Any annotation summary + topics pointing at this record, when
|
|
143
|
+
* present. Annotations act as a curation lift on top of raw
|
|
144
|
+
* content; the same record indexed twice doesn't matter for BM25
|
|
145
|
+
* term-frequency saturation (k1 controls the lift). Records with
|
|
146
|
+
* no annotation still produce non-empty tokens from source (1) — the
|
|
147
|
+
* pre-D086 floor was zero, which left most emits un-searchable.
|
|
148
|
+
*
|
|
149
|
+
* Source (1) tokens are deduplicated against source (2) at the token
|
|
150
|
+
* level by simple union: BM25's tf saturation makes a few extra
|
|
151
|
+
* duplicates harmless.
|
|
152
|
+
*/
|
|
153
|
+
export function indexableTokensForRecord(loaded, annotation) {
|
|
154
|
+
const contentText = extractIndexableText(loaded.record.event_type, loaded.content);
|
|
155
|
+
const annotationTokens = indexableTextFromAnnotation(annotation);
|
|
156
|
+
if (!contentText)
|
|
157
|
+
return annotationTokens;
|
|
158
|
+
const contentTokens = tokenize(contentText);
|
|
159
|
+
return annotationTokens.length === 0
|
|
160
|
+
? contentTokens
|
|
161
|
+
: contentTokens.concat(annotationTokens);
|
|
162
|
+
}
|
|
126
163
|
//# sourceMappingURL=scoring.js.map
|
package/dist/scoring.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scoring.js","sourceRoot":"","sources":["../src/scoring.ts"],"names":[],"mappings":"AAAA,sCAAsC;AA8BtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"scoring.js","sourceRoot":"","sources":["../src/scoring.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atrib/recall",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.12.0",
|
|
4
4
|
"description": "MCP server for atrib. Lets agents query their own provable past from the local signed-record mirror with per-record signature verification.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"@modelcontextprotocol/sdk": "^1.12.1",
|
|
12
12
|
"zod": "^4.3.6",
|
|
13
|
-
"@atrib/mcp": "0.
|
|
13
|
+
"@atrib/mcp": "0.11.1"
|
|
14
14
|
},
|
|
15
15
|
"devDependencies": {
|
|
16
16
|
"@types/node": "^25.8.0",
|