greprag 5.49.8 → 5.49.10
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/dist/commands/collision-reminder.d.ts +14 -0
- package/dist/commands/collision-reminder.js +40 -0
- package/dist/commands/collision-reminder.js.map +1 -0
- package/dist/commands/coordinate-gate.d.ts +12 -6
- package/dist/commands/coordinate-gate.js +24 -10
- package/dist/commands/coordinate-gate.js.map +1 -1
- package/dist/commands/friction-reminder.d.ts +22 -44
- package/dist/commands/friction-reminder.js +45 -63
- package/dist/commands/friction-reminder.js.map +1 -1
- package/dist/commands/init.js +7 -14
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/load-primer-reminder.d.ts +28 -0
- package/dist/commands/load-primer-reminder.js +51 -0
- package/dist/commands/load-primer-reminder.js.map +1 -0
- package/dist/commands/load.d.ts +15 -0
- package/dist/commands/load.js +112 -0
- package/dist/commands/load.js.map +1 -0
- package/dist/commands/memory-reflex.d.ts +17 -104
- package/dist/commands/memory-reflex.js +23 -215
- package/dist/commands/memory-reflex.js.map +1 -1
- package/dist/commands/memory.js +70 -0
- package/dist/commands/memory.js.map +1 -1
- package/dist/commands/reminder-registry.d.ts +12 -1
- package/dist/commands/reminder-registry.js +46 -6
- package/dist/commands/reminder-registry.js.map +1 -1
- package/dist/commands/reminder-types.d.ts +28 -10
- package/dist/commands/version-reminder.d.ts +15 -0
- package/dist/commands/version-reminder.js +34 -0
- package/dist/commands/version-reminder.js.map +1 -0
- package/dist/hook.js +115 -246
- package/dist/hook.js.map +1 -1
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/skill/templates/chip-leader.md +188 -0
- package/skill/templates/chip-spawn.md +4 -4
|
@@ -1,226 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/** memory-
|
|
3
|
-
*
|
|
4
|
-
*
|
|
2
|
+
/** memory-primer — the SessionStart announce that teaches greprag's episodic memory
|
|
3
|
+
* as a capability the agent operates on its OWN judgment (`greprag memory search` /
|
|
4
|
+
* `recap`). A PRIMER (full doctrine inline), nothing else.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* result is its own precision filter and the reflex never becomes wallpaper (the
|
|
16
|
-
* banner-blindness failure mode, fix `16a29a8b`). PURE module: the hook owns the search
|
|
17
|
-
* (I/O) + frames the hit via `buildMemoryInjection`, then routes the string through env —
|
|
18
|
-
* exactly the front-desk module's shape.
|
|
19
|
-
*
|
|
20
|
-
* EXCESSIVENESS is the watched risk (operator's call 2026-06-20): two filters bound it —
|
|
21
|
-
* high-precision keyword phrases (low fire rate) + the confidence gate (low inject rate) —
|
|
22
|
-
* and every fire is tallied (`MemoryReflexStats`) so /mechanic can monitor the rate and the
|
|
23
|
-
* inject/fire ratio, and auto-quiet if it turns noisy. adr: adr/memory-reflex.md */
|
|
6
|
+
* HISTORY: this module once also did per-turn AUTO-INJECTION — recall-intent keyword
|
|
7
|
+
* match → inline memory search → surface a hit. That was DROPPED 2026-06-22. Two
|
|
8
|
+
* reasons: (1) it was knowledge injection, NOT a behavioral reminder — a different,
|
|
9
|
+
* undeveloped system that was jammed into the reminder registry for lack of a slot;
|
|
10
|
+
* (2) it collided with the agent's own, better-targeted `greprag memory search` (the
|
|
11
|
+
* auto-search just threw the raw prompt at the index). Same call that retired the
|
|
12
|
+
* `[[recall:]]` self-report marker: prefer a strong primer + agent judgment over a
|
|
13
|
+
* passive auto-surface. If a real "knowledge injection" system is built later, it gets
|
|
14
|
+
* its own home — it is not a reminder. docs/reminder-interrupt.md (the landed map). */
|
|
24
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
-
exports.
|
|
26
|
-
exports.hasRecallIntent = hasRecallIntent;
|
|
27
|
-
exports.selectGatedHits = selectGatedHits;
|
|
28
|
-
exports.gatedHitText = gatedHitText;
|
|
29
|
-
exports.buildMemoryInjection = buildMemoryInjection;
|
|
16
|
+
exports.memoryPrimerModule = void 0;
|
|
30
17
|
exports.buildMemoryAnnounce = buildMemoryAnnounce;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
exports.tallyMemoryUsed = tallyMemoryUsed;
|
|
34
|
-
exports.quietCacheSaysSilent = quietCacheSaysSilent;
|
|
35
|
-
// ---------- Layer 1: keyword trigger (free, same-turn) -----------------------
|
|
36
|
-
/** High-precision recall-intent phrases — MULTI-WORD by design (a single word like
|
|
37
|
-
* "previously" over-fires). Each strongly implies the agent needs recalled project
|
|
38
|
-
* context it may not hold. Tuned conservatively; the /mechanic monitor reports the
|
|
39
|
-
* false-fire rate and this list is where we'd loosen/tighten. */
|
|
40
|
-
const RECALL_PHRASES = [
|
|
41
|
-
'last time', 'we decided', 'we agreed', 'we chose', 'we discussed',
|
|
42
|
-
'we talked about', 'you said', 'you mentioned', 'you told me',
|
|
43
|
-
'remember when', 'remember that', 'what did we', 'what was our',
|
|
44
|
-
'as we discussed', 'as i mentioned', 'earlier you', 'earlier we',
|
|
45
|
-
'refresh my memory', 'catch me up', 'where did we leave',
|
|
46
|
-
'the bug we', 'that bug we', 'the plan we', 'did we ever', 'how did we',
|
|
47
|
-
];
|
|
48
|
-
const RECALL_RE = new RegExp(`\\b(${RECALL_PHRASES.join('|').replace(/ /g, '\\s+')})\\b`, 'i');
|
|
49
|
-
/** Does this prompt signal a recall need? Pure, total — the hook gates the inline search
|
|
50
|
-
* on it. The query handed to the search is the prompt itself (the search is built for
|
|
51
|
-
* natural queries; fragile noun-extraction buys nothing). */
|
|
52
|
-
function hasRecallIntent(prompt) {
|
|
53
|
-
return !!prompt && RECALL_RE.test(prompt);
|
|
54
|
-
}
|
|
55
|
-
/** Confidence gate — a hit must clear this to be injected. Below it, the reflex stays
|
|
56
|
-
* silent (the search result IS the precision filter). Reranked hits carry a calibrated
|
|
57
|
-
* `confidence` (0-1); unreranked hits fall back to a raw-score floor. */
|
|
58
|
-
exports.MEMORY_CONFIDENCE_GATE = 0.5;
|
|
59
|
-
const RAW_SCORE_FLOOR = 0.15;
|
|
60
|
-
/** Hard cap — never inject more than this many hits (context-bloat discipline; we just
|
|
61
|
-
* spent a session draining the heap). */
|
|
62
|
-
const MAX_INJECTED = 2;
|
|
63
|
-
/** Per-hit trim — keep each injected snippet tight. */
|
|
64
|
-
const HIT_TRIM = 280;
|
|
65
|
-
function passesGate(h) {
|
|
66
|
-
return typeof h.confidence === 'number'
|
|
67
|
-
? h.confidence >= exports.MEMORY_CONFIDENCE_GATE
|
|
68
|
-
: h.score >= RAW_SCORE_FLOOR;
|
|
69
|
-
}
|
|
70
|
-
/** The hits that clear the gate, capped — the SINGLE source of "what gets shown", shared by the
|
|
71
|
-
* injection framing AND the efficacy capture, so the overlap is scored against exactly what
|
|
72
|
-
* was injected. */
|
|
73
|
-
function selectGatedHits(hits) {
|
|
74
|
-
return (hits || []).filter(passesGate).slice(0, MAX_INJECTED);
|
|
75
|
-
}
|
|
76
|
-
/** Raw content of the gated hits (no framing boilerplate) — stashed at inject-time so the
|
|
77
|
-
* Stop-hook overlap scores the response against the actual memory, not the frame. */
|
|
78
|
-
function gatedHitText(hits) {
|
|
79
|
-
return selectGatedHits(hits).map(h => h.content || '').join('\n');
|
|
80
|
-
}
|
|
81
|
-
function trim(s, n) {
|
|
82
|
-
const t = (s || '').replace(/\s+/g, ' ').trim();
|
|
83
|
-
return t.length > n ? t.slice(0, n - 1) + '…' : t;
|
|
84
|
-
}
|
|
85
|
-
/** Frame the gated top hits into the inline injection block; null when nothing clears the
|
|
86
|
-
* gate (→ the module stays silent that turn). Tier is ambient (soft context, never a
|
|
87
|
-
* forced-decision directive). Tight + capped by design. */
|
|
88
|
-
function buildMemoryInjection(hits) {
|
|
89
|
-
const passing = selectGatedHits(hits);
|
|
90
|
-
if (passing.length === 0)
|
|
91
|
-
return null;
|
|
92
|
-
const lines = ['[📁 greprag memory — possibly relevant, auto-surfaced (pull more: `greprag memory search`):'];
|
|
93
|
-
for (const h of passing) {
|
|
94
|
-
const meta = [h.shape, h.createdAt ? h.createdAt.slice(0, 10) : null, h.projectName]
|
|
95
|
-
.filter(Boolean).join(', ');
|
|
96
|
-
lines.push(` · ${trim(h.content, HIT_TRIM)}${meta ? ` (${meta})` : ''}`);
|
|
97
|
-
}
|
|
98
|
-
lines.push(']');
|
|
99
|
-
return lines.join('\n');
|
|
100
|
-
}
|
|
101
|
-
// ---------- SessionStart announce (teach the capability once) -----------------
|
|
102
|
-
/** The business card, loaded once. Teaches the auto-surface AND the on-demand pull.
|
|
103
|
-
* Action-first, token-minimal, per the reminder-interrupt authoring rules. */
|
|
18
|
+
/** The business card, loaded once. Teaches the on-demand search/recap reflex —
|
|
19
|
+
* action-first, token-minimal, per the reminder-interrupt authoring rules. */
|
|
104
20
|
function buildMemoryAnnounce() {
|
|
105
21
|
return [
|
|
106
22
|
'[greprag memory — this project remembers. Every past session (decisions, bugs, what was discussed, who did what) is captured and searchable.]',
|
|
107
|
-
'
|
|
108
|
-
'On demand, any time you need more than surfaced: `greprag memory search "<topic>"` (semantic — ask in natural language), `greprag memory recap` to catch up on the session, `greprag memory recap --last N` for deeper history. Reach for it the moment you suspect this project knows something you don\'t — searching is cheap.',
|
|
23
|
+
'On demand, the moment you suspect this project knows something you don\'t: `greprag memory search "<topic>"` (semantic — ask in natural language), `greprag memory recap` to catch up on the session, `greprag memory recap --last N` for deeper history. Searching is cheap — reach for it rather than guessing or asking the operator to re-explain.',
|
|
109
24
|
].join('\n');
|
|
110
25
|
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
* zero cost + zero latency. */
|
|
119
|
-
const USED_MIN_TERMS = 2;
|
|
120
|
-
const MIN_TERM_LEN = 4;
|
|
121
|
-
const TERM_STOPWORDS = new Set([
|
|
122
|
-
'this', 'that', 'with', 'from', 'have', 'were', 'your', 'they', 'them', 'then', 'than',
|
|
123
|
-
'will', 'would', 'could', 'should', 'about', 'there', 'their', 'what', 'when', 'which',
|
|
124
|
-
'into', 'over', 'also', 'been', 'more', 'most', 'some', 'such', 'only', 'just', 'like',
|
|
125
|
-
'here', 'where', 'these', 'those', 'them', 'because',
|
|
126
|
-
// injection-frame boilerplate — never count these as "used":
|
|
127
|
-
'greprag', 'memory', 'relevant', 'surfaced', 'auto', 'session', 'project', 'search', 'recap', 'pull',
|
|
128
|
-
]);
|
|
129
|
-
function contentTerms(text) {
|
|
130
|
-
const out = new Set();
|
|
131
|
-
for (const raw of (text || '').toLowerCase().split(/[^a-z0-9]+/)) {
|
|
132
|
-
if (raw.length >= MIN_TERM_LEN && !TERM_STOPWORDS.has(raw))
|
|
133
|
-
out.add(raw);
|
|
134
|
-
}
|
|
135
|
-
return out;
|
|
136
|
-
}
|
|
137
|
-
/** Did the agent's response reuse distinctive content from the injection? Pure, total. */
|
|
138
|
-
function injectionWasUsed(hitText, prompt, response) {
|
|
139
|
-
const hitTerms = contentTerms(hitText);
|
|
140
|
-
if (hitTerms.size === 0)
|
|
141
|
-
return false;
|
|
142
|
-
const promptTerms = contentTerms(prompt);
|
|
143
|
-
const respTerms = contentTerms(response);
|
|
144
|
-
let used = 0;
|
|
145
|
-
for (const t of hitTerms) {
|
|
146
|
-
if (promptTerms.has(t))
|
|
147
|
-
continue; // not distinctive — already in the prompt
|
|
148
|
-
if (respTerms.has(t) && ++used >= USED_MIN_TERMS)
|
|
149
|
-
return true;
|
|
150
|
-
}
|
|
151
|
-
return false;
|
|
152
|
-
}
|
|
153
|
-
function normalizeStats(prior) {
|
|
154
|
-
const p = (prior && typeof prior === 'object') ? prior : {};
|
|
155
|
-
const bt = (p.byTrigger && typeof p.byTrigger === 'object') ? p.byTrigger : {};
|
|
156
|
-
return {
|
|
157
|
-
fires: Number.isFinite(p.fires) ? p.fires : 0,
|
|
158
|
-
injected: Number.isFinite(p.injected) ? p.injected : 0,
|
|
159
|
-
silent: Number.isFinite(p.silent) ? p.silent : 0,
|
|
160
|
-
used: Number.isFinite(p.used) ? p.used : 0,
|
|
161
|
-
byTrigger: {
|
|
162
|
-
keyword: Number.isFinite(bt.keyword) ? bt.keyword : 0,
|
|
163
|
-
flash: Number.isFinite(bt.flash) ? bt.flash : 0,
|
|
164
|
-
},
|
|
165
|
-
firstFiredAt: p.firstFiredAt,
|
|
166
|
-
lastFiredAt: p.lastFiredAt,
|
|
167
|
-
lastTurnCount: p.lastTurnCount,
|
|
168
|
-
};
|
|
169
|
-
}
|
|
170
|
-
/** Tally one fire — PURE (the hook supplies the clock). `didInject` splits the
|
|
171
|
-
* fire into injected vs silent so the monitor can read the inject/fire ratio. */
|
|
172
|
-
function tallyMemoryFire(prior, trigger, didInject, turnCount, nowIso) {
|
|
173
|
-
const s = normalizeStats(prior);
|
|
174
|
-
s.fires += 1;
|
|
175
|
-
if (didInject)
|
|
176
|
-
s.injected += 1;
|
|
177
|
-
else
|
|
178
|
-
s.silent += 1;
|
|
179
|
-
s.byTrigger[trigger] += 1;
|
|
180
|
-
s.firstFiredAt = s.firstFiredAt || nowIso;
|
|
181
|
-
s.lastFiredAt = nowIso;
|
|
182
|
-
if (Number.isFinite(turnCount))
|
|
183
|
-
s.lastTurnCount = turnCount;
|
|
184
|
-
return s;
|
|
185
|
-
}
|
|
186
|
-
/** Record that an injection was USED (the efficacy numerator) — PURE; bumped at Stop when the
|
|
187
|
-
* overlap proxy (or, later, the Flash-Lite judge) finds the response drew on the injection.
|
|
188
|
-
* Never decrements; `used ≤ injected` by construction of the call sites. */
|
|
189
|
-
function tallyMemoryUsed(prior) {
|
|
190
|
-
const s = normalizeStats(prior);
|
|
191
|
-
s.used += 1;
|
|
192
|
-
return s;
|
|
193
|
-
}
|
|
194
|
-
// ---------- Auto-quiet (server efficacy verdict, cached locally) --------------
|
|
195
|
-
/** The server (the Flash-Lite judge, `@greprag/core` memory-efficacy) owns the
|
|
196
|
-
* auto-quiet THRESHOLD and ships its verdict on the /v1/memory/query response.
|
|
197
|
-
* The hook caches that boolean and honors it with a TTL — how long to trust a
|
|
198
|
-
* cached verdict before re-probing. While quiet the reflex skips the search, so
|
|
199
|
-
* no fresh verdict arrives and the cache ages; once stale the reflex fires again
|
|
200
|
-
* to re-probe and the server re-judges. That gives auto-quiet TEETH (a real
|
|
201
|
-
* silent window) while staying self-healing — a reflex that recovers is never
|
|
202
|
-
* permanently silenced (unlike the hard, manual mechanicKilled() switch). */
|
|
203
|
-
exports.MEMORY_QUIET_CACHE_TTL_MS = 12 * 60 * 60 * 1000; // 12h
|
|
204
|
-
/** Does the locally-cached server verdict say "stay silent THIS turn"? PURE +
|
|
205
|
-
* total. Silent only when the cache is present, says quiet, and is still fresh.
|
|
206
|
-
* Fail-open everywhere else (missing / malformed / stale → NOT silent) so a bad
|
|
207
|
-
* cache can never permanently kill the reflex. */
|
|
208
|
-
function quietCacheSaysSilent(cache, nowMs) {
|
|
209
|
-
if (!cache || cache.quiet !== true || typeof cache.cachedAt !== 'string')
|
|
210
|
-
return false;
|
|
211
|
-
const t = Date.parse(cache.cachedAt);
|
|
212
|
-
if (!Number.isFinite(t))
|
|
213
|
-
return false;
|
|
214
|
-
return (nowMs - t) < exports.MEMORY_QUIET_CACHE_TTL_MS;
|
|
215
|
-
}
|
|
216
|
-
// ---------- The registry module ----------------------------------------------
|
|
217
|
-
/** memory-reflex as a reminder-interrupt module. announce teaches memory once; reminder
|
|
218
|
-
* routes the hook-supplied injection (env.memoryHit); detect gates on its presence. PURE —
|
|
219
|
-
* the hook owns the keyword gate + the search + the framing + the tally. */
|
|
220
|
-
exports.memoryReflexModule = {
|
|
221
|
-
id: 'memory-reflex',
|
|
222
|
-
detect: (env) => (env.memoryHit ? { tier: 'ambient' } : { tier: 'silent' }),
|
|
223
|
-
announce: () => buildMemoryAnnounce(),
|
|
224
|
-
reminder: (_d, env) => env.memoryHit ?? null,
|
|
26
|
+
/** memory-primer as a reminder-interrupt module: announce-only (a PRIMER). detect →
|
|
27
|
+
* silent, reminder → null. PURE. */
|
|
28
|
+
exports.memoryPrimerModule = {
|
|
29
|
+
id: 'memory-primer',
|
|
30
|
+
detect: (_env) => ({ tier: 'silent' }),
|
|
31
|
+
announce: (_env) => buildMemoryAnnounce(),
|
|
32
|
+
reminder: () => null,
|
|
225
33
|
};
|
|
226
34
|
//# sourceMappingURL=memory-reflex.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-reflex.js","sourceRoot":"","sources":["../../src/commands/memory-reflex.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"memory-reflex.js","sourceRoot":"","sources":["../../src/commands/memory-reflex.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;wFAYwF;;;AAMxF,kDAKC;AAPD;+EAC+E;AAC/E,SAAgB,mBAAmB;IACjC,OAAO;QACL,+IAA+I;QAC/I,wVAAwV;KACzV,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;qCACqC;AACxB,QAAA,kBAAkB,GAAmB;IAChD,EAAE,EAAE,eAAe;IACnB,MAAM,EAAE,CAAC,IAAiB,EAAa,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC9D,QAAQ,EAAE,CAAC,IAAiB,EAAiB,EAAE,CAAC,mBAAmB,EAAE;IACrE,QAAQ,EAAE,GAAkB,EAAE,CAAC,IAAI;CACpC,CAAC"}
|
package/dist/commands/memory.js
CHANGED
|
@@ -548,6 +548,18 @@ Subcommands:
|
|
|
548
548
|
on schedule (hourly / 03:00 UTC daily);
|
|
549
549
|
this is for backfill.
|
|
550
550
|
|
|
551
|
+
delete Bulk-delete memory nodes by filters, combinable.
|
|
552
|
+
DRY RUN by default — prints the count that would
|
|
553
|
+
be deleted; pass --yes to actually delete. At
|
|
554
|
+
least one filter is required (a bare delete is
|
|
555
|
+
refused).
|
|
556
|
+
[--project <name>] Narrow to one project (default: all projects).
|
|
557
|
+
[--shape <name>] turn / hourly / daily / weekly / checkpoint /
|
|
558
|
+
ship-event.
|
|
559
|
+
[--from ISO] [--to ISO] Created-at range (half-open: >= from, < to).
|
|
560
|
+
[--session <id>] One session's external id.
|
|
561
|
+
[--yes] Execute the delete (omit for a dry run).
|
|
562
|
+
|
|
551
563
|
Aliases (silent back-compat):
|
|
552
564
|
briefing → recap (renamed in v5.16.0 — recap matches the SessionStart
|
|
553
565
|
hook verb and reads more intuitively to operators)
|
|
@@ -563,11 +575,68 @@ Examples:
|
|
|
563
575
|
greprag memory turns --last 5
|
|
564
576
|
greprag memory ships --last 20
|
|
565
577
|
greprag memory compact day --now 2026-05-25T00:00:00Z
|
|
578
|
+
greprag memory delete --project sift --shape turn --to 2026-01-01T00:00:00Z # dry run
|
|
579
|
+
greprag memory delete --session 0896b0dc --yes # execute
|
|
566
580
|
|
|
567
581
|
# search came back weak / doc-heavy? switch to a time pull:
|
|
568
582
|
greprag memory search "corpus freshness" --shape daily # summaries only
|
|
569
583
|
greprag memory recap # or catch up by time
|
|
570
584
|
`.trim();
|
|
585
|
+
// ---------- delete --------------------------------------------------------
|
|
586
|
+
/** Bulk-delete episodic memories by filters (project / shape / date / session),
|
|
587
|
+
* combinable. Dry-run by default — prints the count that WOULD be deleted and
|
|
588
|
+
* refuses to touch rows until `--yes` is passed. A filter typo on a destructive
|
|
589
|
+
* bulk op is the obvious footgun, so the safe path is the default path. */
|
|
590
|
+
async function deleteCmd(args) {
|
|
591
|
+
const cfg = getConfig();
|
|
592
|
+
if (!cfg.apiKey)
|
|
593
|
+
abortNotConfigured();
|
|
594
|
+
const shape = getFlag(args, '--shape');
|
|
595
|
+
const from = getFlag(args, '--from');
|
|
596
|
+
const to = getFlag(args, '--to');
|
|
597
|
+
const session = getFlag(args, '--session');
|
|
598
|
+
const projectArg = getFlag(args, '--project');
|
|
599
|
+
const confirmed = args.includes('--yes');
|
|
600
|
+
if (!shape && !from && !to && !session && !projectArg) {
|
|
601
|
+
console.error('Usage: greprag memory delete [--project <name>] [--shape <turn|hourly|daily|weekly|checkpoint|ship-event>] [--from ISO] [--to ISO] [--session <id>] [--yes]');
|
|
602
|
+
console.error('At least one filter is required (a bare delete is refused).');
|
|
603
|
+
process.exit(1);
|
|
604
|
+
}
|
|
605
|
+
let projectId;
|
|
606
|
+
let projectLabel = 'all projects';
|
|
607
|
+
if (projectArg) {
|
|
608
|
+
const resolved = await resolveProject(args, cfg.apiUrl, cfg.apiKey);
|
|
609
|
+
projectId = resolved.projectId;
|
|
610
|
+
projectLabel = resolved.projectName;
|
|
611
|
+
}
|
|
612
|
+
const filters = {};
|
|
613
|
+
if (projectId)
|
|
614
|
+
filters.projectId = projectId;
|
|
615
|
+
if (shape)
|
|
616
|
+
filters.shape = shape;
|
|
617
|
+
if (from)
|
|
618
|
+
filters.from = from;
|
|
619
|
+
if (to)
|
|
620
|
+
filters.to = to;
|
|
621
|
+
if (session)
|
|
622
|
+
filters.sessionId = session;
|
|
623
|
+
const where = [
|
|
624
|
+
`project=${projectLabel}`,
|
|
625
|
+
shape ? `shape=${shape}` : null,
|
|
626
|
+
from ? `from=${from}` : null,
|
|
627
|
+
to ? `to=${to}` : null,
|
|
628
|
+
session ? `session=${session}` : null,
|
|
629
|
+
].filter(Boolean).join(' ');
|
|
630
|
+
const result = await apiPost(`${cfg.apiUrl}/v1/memory/delete`, cfg.apiKey, { ...filters, dryRun: !confirmed });
|
|
631
|
+
if (!result.ok)
|
|
632
|
+
throw new Error(result.error || 'delete failed');
|
|
633
|
+
if (!confirmed) {
|
|
634
|
+
console.log(`\nDRY RUN — ${result.count ?? 0} memory node(s) match: ${where}`);
|
|
635
|
+
console.log(`Nothing deleted. Re-run with --yes to delete these ${result.count ?? 0} node(s).\n`);
|
|
636
|
+
return;
|
|
637
|
+
}
|
|
638
|
+
console.log(`\nDeleted ${result.deleted ?? 0} memory node(s): ${where}\n`);
|
|
639
|
+
}
|
|
571
640
|
async function runMemory(args) {
|
|
572
641
|
const sub = args[0];
|
|
573
642
|
const rest = args.slice(1);
|
|
@@ -584,6 +653,7 @@ async function runMemory(args) {
|
|
|
584
653
|
case 'ship-event':
|
|
585
654
|
case 'ship-events': return queryShape(rest, 'ship-event');
|
|
586
655
|
case 'compact': return compactCmd(rest);
|
|
656
|
+
case 'delete': return deleteCmd(rest);
|
|
587
657
|
case undefined:
|
|
588
658
|
case 'help':
|
|
589
659
|
case '--help':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/commands/memory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/commands/memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,11 @@ import { ReminderEnv, ReminderModule, Detection } from './reminder-types';
|
|
|
11
11
|
* loud, action-first modules last (watcher-arm → mechanic) so they read most-recent at
|
|
12
12
|
* SessionStart. Add a module here to wire it into BOTH surfaces at once. */
|
|
13
13
|
export declare const REGISTRY: ReminderModule[];
|
|
14
|
+
/** Split the registry by READ surface (docs/reminder-interrupt.md). UserPromptSubmit
|
|
15
|
+
* evaluates `prompt`-source modules (the default); PreToolUse evaluates `command`-source
|
|
16
|
+
* modules (they read env.toolCommand). Announces are always prompt-side (SessionStart). */
|
|
17
|
+
export declare const promptModules: (registry?: ReminderModule[]) => ReminderModule[];
|
|
18
|
+
export declare const commandModules: (registry?: ReminderModule[]) => ReminderModule[];
|
|
14
19
|
export interface FiredReminder {
|
|
15
20
|
id: string;
|
|
16
21
|
tier: Detection['tier'];
|
|
@@ -20,5 +25,11 @@ export interface FiredReminder {
|
|
|
20
25
|
* Stacking — a turn may carry several. A detector or reminder that throws drops that
|
|
21
26
|
* module for the turn; it never blocks the others or the turn. */
|
|
22
27
|
export declare function collectReminders(env: ReminderEnv, registry?: ReminderModule[]): FiredReminder[];
|
|
23
|
-
/**
|
|
28
|
+
/** Boot-sequence sort: a STABLE topological order over `dependsOn` (docs/load-system.md).
|
|
29
|
+
* Registry array order is the tie-breaker, so a dependency-free registry is emitted
|
|
30
|
+
* verbatim; declared deps only ever pull a module EARLIER. A missing/cyclic dep degrades
|
|
31
|
+
* gracefully to array order (never throws — a boot order is not worth crashing a turn). */
|
|
32
|
+
export declare function bootOrder(registry: ReminderModule[]): ReminderModule[];
|
|
33
|
+
/** SessionStart: every module's announce (skipping null), in BOOT-SEQUENCE order
|
|
34
|
+
* (dependsOn topo-sort, array order as tie-breaker). */
|
|
24
35
|
export declare function collectAnnounces(env: ReminderEnv, registry?: ReminderModule[]): string[];
|
|
@@ -5,18 +5,21 @@
|
|
|
5
5
|
* PURE over ReminderEnv — the hook assembles env (i/o) and emits the returned lines;
|
|
6
6
|
* a broken module never blocks a turn (fail-open per module). */
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.REGISTRY = void 0;
|
|
8
|
+
exports.commandModules = exports.promptModules = exports.REGISTRY = void 0;
|
|
9
9
|
exports.collectReminders = collectReminders;
|
|
10
|
+
exports.bootOrder = bootOrder;
|
|
10
11
|
exports.collectAnnounces = collectAnnounces;
|
|
11
12
|
const inbox_primer_reminder_1 = require("./inbox-primer-reminder");
|
|
13
|
+
const load_primer_reminder_1 = require("./load-primer-reminder");
|
|
12
14
|
const corpus_reminder_1 = require("./corpus-reminder");
|
|
13
15
|
const setup_reminder_1 = require("./setup-reminder");
|
|
14
16
|
const frontdesk_reminder_1 = require("./frontdesk-reminder");
|
|
15
|
-
const checkpoint_reminder_1 = require("./checkpoint-reminder");
|
|
16
17
|
const assistant_reminder_1 = require("./assistant-reminder");
|
|
17
18
|
const memory_reflex_1 = require("./memory-reflex");
|
|
18
19
|
const arm_reminder_1 = require("./arm-reminder");
|
|
19
20
|
const friction_reminder_1 = require("./friction-reminder");
|
|
21
|
+
const collision_reminder_1 = require("./collision-reminder");
|
|
22
|
+
const version_reminder_1 = require("./version-reminder");
|
|
20
23
|
/** Registry order = display order. THE single agent-facing announce/reminder assembly:
|
|
21
24
|
* the hook does I/O → fills ReminderEnv → collectAnnounces (SessionStart) / collectReminders
|
|
22
25
|
* (per turn) render every module here in this order. Order preserves the historical recap
|
|
@@ -25,15 +28,25 @@ const friction_reminder_1 = require("./friction-reminder");
|
|
|
25
28
|
* SessionStart. Add a module here to wire it into BOTH surfaces at once. */
|
|
26
29
|
exports.REGISTRY = [
|
|
27
30
|
inbox_primer_reminder_1.inboxPrimerModule,
|
|
31
|
+
load_primer_reminder_1.loadPrimerModule,
|
|
32
|
+
load_primer_reminder_1.chipSpawnPointerModule,
|
|
28
33
|
corpus_reminder_1.corpusAnnounceModule,
|
|
29
34
|
setup_reminder_1.setupWarningModule,
|
|
35
|
+
version_reminder_1.versionUpgradeModule, // Deficiency-gated announce — silent unless a newer release exists
|
|
30
36
|
frontdesk_reminder_1.frontDeskModule,
|
|
31
|
-
checkpoint_reminder_1.checkpointModule,
|
|
32
37
|
assistant_reminder_1.assistantDoctrineModule,
|
|
33
|
-
memory_reflex_1.
|
|
38
|
+
memory_reflex_1.memoryPrimerModule,
|
|
34
39
|
arm_reminder_1.watcherArmModule,
|
|
35
40
|
friction_reminder_1.mechanicFrictionModule,
|
|
41
|
+
collision_reminder_1.collisionMatchModule, // source: 'command' — evaluated at PreToolUse, not UserPromptSubmit
|
|
36
42
|
];
|
|
43
|
+
/** Split the registry by READ surface (docs/reminder-interrupt.md). UserPromptSubmit
|
|
44
|
+
* evaluates `prompt`-source modules (the default); PreToolUse evaluates `command`-source
|
|
45
|
+
* modules (they read env.toolCommand). Announces are always prompt-side (SessionStart). */
|
|
46
|
+
const promptModules = (registry = exports.REGISTRY) => registry.filter((m) => (m.source ?? 'prompt') === 'prompt');
|
|
47
|
+
exports.promptModules = promptModules;
|
|
48
|
+
const commandModules = (registry = exports.REGISTRY) => registry.filter((m) => m.source === 'command');
|
|
49
|
+
exports.commandModules = commandModules;
|
|
37
50
|
/** Per-turn: every module's live reminder line (skipping silent), in registry order.
|
|
38
51
|
* Stacking — a turn may carry several. A detector or reminder that throws drops that
|
|
39
52
|
* module for the turn; it never blocks the others or the turn. */
|
|
@@ -61,10 +74,37 @@ function collectReminders(env, registry = exports.REGISTRY) {
|
|
|
61
74
|
}
|
|
62
75
|
return out;
|
|
63
76
|
}
|
|
64
|
-
/**
|
|
77
|
+
/** Boot-sequence sort: a STABLE topological order over `dependsOn` (docs/load-system.md).
|
|
78
|
+
* Registry array order is the tie-breaker, so a dependency-free registry is emitted
|
|
79
|
+
* verbatim; declared deps only ever pull a module EARLIER. A missing/cyclic dep degrades
|
|
80
|
+
* gracefully to array order (never throws — a boot order is not worth crashing a turn). */
|
|
81
|
+
function bootOrder(registry) {
|
|
82
|
+
const byId = new Map(registry.map((m) => [m.id, m]));
|
|
83
|
+
const ordered = [];
|
|
84
|
+
const placed = new Set();
|
|
85
|
+
const visiting = new Set();
|
|
86
|
+
const visit = (m) => {
|
|
87
|
+
if (placed.has(m.id) || visiting.has(m.id))
|
|
88
|
+
return; // placed, or a cycle → bail
|
|
89
|
+
visiting.add(m.id);
|
|
90
|
+
for (const dep of m.dependsOn ?? []) {
|
|
91
|
+
const d = byId.get(dep);
|
|
92
|
+
if (d)
|
|
93
|
+
visit(d); // unknown dep id → ignored (graceful)
|
|
94
|
+
}
|
|
95
|
+
visiting.delete(m.id);
|
|
96
|
+
placed.add(m.id);
|
|
97
|
+
ordered.push(m);
|
|
98
|
+
};
|
|
99
|
+
for (const m of registry)
|
|
100
|
+
visit(m);
|
|
101
|
+
return ordered;
|
|
102
|
+
}
|
|
103
|
+
/** SessionStart: every module's announce (skipping null), in BOOT-SEQUENCE order
|
|
104
|
+
* (dependsOn topo-sort, array order as tie-breaker). */
|
|
65
105
|
function collectAnnounces(env, registry = exports.REGISTRY) {
|
|
66
106
|
const out = [];
|
|
67
|
-
for (const m of registry) {
|
|
107
|
+
for (const m of bootOrder(registry)) {
|
|
68
108
|
let a = null;
|
|
69
109
|
try {
|
|
70
110
|
a = m.announce(env);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reminder-registry.js","sourceRoot":"","sources":["../../src/commands/reminder-registry.ts"],"names":[],"mappings":";AAAA;;;;kEAIkE;;;
|
|
1
|
+
{"version":3,"file":"reminder-registry.js","sourceRoot":"","sources":["../../src/commands/reminder-registry.ts"],"names":[],"mappings":"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"}
|