greprag 5.74.17 → 5.74.18
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.
|
@@ -180,6 +180,22 @@ function crushField(content, stash, thresholdBytes = exports.DEFAULT_THRESHOLD_B
|
|
|
180
180
|
return `${crushed}\n${ccrMarker(hash)}`;
|
|
181
181
|
}
|
|
182
182
|
// ---------- Message-array walker ----------------------------------------------
|
|
183
|
+
/** Resolve the bash command string from a tool part, regardless of whether
|
|
184
|
+
* the part is a tool_use (carries .input.command) or a tool_result (may
|
|
185
|
+
* carry .name, .tool, or .toolName). Returns an empty string when the
|
|
186
|
+
* command cannot be resolved. */
|
|
187
|
+
function resolveRetrieveCommand(p) {
|
|
188
|
+
const input = p.input;
|
|
189
|
+
if (input && typeof input.command === 'string')
|
|
190
|
+
return input.command;
|
|
191
|
+
const toolName = (typeof p.name === 'string' && p.name) ||
|
|
192
|
+
(typeof p.tool === 'string' && p.tool) ||
|
|
193
|
+
(typeof p.toolName === 'string' && p.toolName);
|
|
194
|
+
// opencode may carry the full command string in .name / .tool
|
|
195
|
+
if (toolName)
|
|
196
|
+
return toolName;
|
|
197
|
+
return '';
|
|
198
|
+
}
|
|
183
199
|
/** Apply crushField to one object's string field, accounting stats and
|
|
184
200
|
* mutating in place on a real crush. When a `memo` is supplied, the heavy
|
|
185
201
|
* crushField path is skipped for content already seen this session — the
|
|
@@ -245,9 +261,11 @@ function processPart(part, stash, thresholdBytes, stats, memo) {
|
|
|
245
261
|
// Skip re-crushing output of greprag retrieve — the original was
|
|
246
262
|
// already stashed once; crushing it again creates an infinite
|
|
247
263
|
// marker→retrieve→same marker loop.
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
264
|
+
// The tool name / command may live on p.input.command (tool_use
|
|
265
|
+
// part) or on p.name / p.tool (tool_result part) depending on
|
|
266
|
+
// the opencode message format version.
|
|
267
|
+
const cmd = resolveRetrieveCommand(p);
|
|
268
|
+
if (cmd && cmd.includes('greprag retrieve')) {
|
|
251
269
|
stats.partsSkipped++;
|
|
252
270
|
}
|
|
253
271
|
else {
|
|
@@ -22,18 +22,18 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
22
22
|
mod
|
|
23
23
|
));
|
|
24
24
|
|
|
25
|
-
// src/opencode-plugin.ts
|
|
25
|
+
// ../greprag/packages/cli/src/opencode-plugin.ts
|
|
26
26
|
var crypto5 = __toESM(require("crypto"));
|
|
27
27
|
var fs7 = __toESM(require("fs"));
|
|
28
28
|
var os2 = __toESM(require("os"));
|
|
29
29
|
var path7 = __toESM(require("path"));
|
|
30
30
|
|
|
31
|
-
// src/opencode-plugin-helpers.ts
|
|
31
|
+
// ../greprag/packages/cli/src/opencode-plugin-helpers.ts
|
|
32
32
|
var crypto = __toESM(require("crypto"));
|
|
33
33
|
var fs = __toESM(require("fs"));
|
|
34
34
|
var path = __toESM(require("path"));
|
|
35
35
|
|
|
36
|
-
// src/proc.ts
|
|
36
|
+
// ../greprag/packages/cli/src/proc.ts
|
|
37
37
|
var import_child_process = require("child_process");
|
|
38
38
|
function safeExecSync(command, options) {
|
|
39
39
|
return (0, import_child_process.execSync)(command, { windowsHide: true, ...options });
|
|
@@ -45,7 +45,7 @@ function safeSpawn(command, argsOrOptions, maybeOptions) {
|
|
|
45
45
|
return (0, import_child_process.spawn)(command, { windowsHide: true, ...argsOrOptions });
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
// src/opencode-plugin-helpers.ts
|
|
48
|
+
// ../greprag/packages/cli/src/opencode-plugin-helpers.ts
|
|
49
49
|
var HOME = process.env.HOME || process.env.USERPROFILE || "";
|
|
50
50
|
function readAnchorFile(filePath) {
|
|
51
51
|
try {
|
|
@@ -272,7 +272,7 @@ async function buildRecapBody(apiUrl, apiKey, anchor, now = /* @__PURE__ */ new
|
|
|
272
272
|
return parts.join("\n");
|
|
273
273
|
}
|
|
274
274
|
|
|
275
|
-
// src/crush/crush-types.ts
|
|
275
|
+
// ../greprag/packages/cli/src/crush/crush-types.ts
|
|
276
276
|
function estimateTokens(text) {
|
|
277
277
|
return Math.ceil(text.length / 4);
|
|
278
278
|
}
|
|
@@ -292,7 +292,7 @@ function makePassthrough(content, sourceType, reason, units = 0) {
|
|
|
292
292
|
};
|
|
293
293
|
}
|
|
294
294
|
|
|
295
|
-
// src/crush/adaptive-sizer.ts
|
|
295
|
+
// ../greprag/packages/cli/src/crush/adaptive-sizer.ts
|
|
296
296
|
function fnv1a(s, seed) {
|
|
297
297
|
let h = (2166136261 ^ seed) >>> 0;
|
|
298
298
|
for (let i = 0; i < s.length; i++) {
|
|
@@ -394,7 +394,7 @@ function computeOptimalK(items, bias, minK, maxK) {
|
|
|
394
394
|
return Math.max(minK, Math.min(k, effectiveMax));
|
|
395
395
|
}
|
|
396
396
|
|
|
397
|
-
// src/crush/crush-keywords.ts
|
|
397
|
+
// ../greprag/packages/cli/src/crush/crush-keywords.ts
|
|
398
398
|
var ERROR_KEYWORDS = [
|
|
399
399
|
"error",
|
|
400
400
|
"exception",
|
|
@@ -467,7 +467,7 @@ function classifyImportance(line) {
|
|
|
467
467
|
return null;
|
|
468
468
|
}
|
|
469
469
|
|
|
470
|
-
// src/crush/search-compressor.ts
|
|
470
|
+
// ../greprag/packages/cli/src/crush/search-compressor.ts
|
|
471
471
|
var DEFAULT_SEARCH_CONFIG = {
|
|
472
472
|
maxMatchesPerFile: 5,
|
|
473
473
|
alwaysKeepFirst: true,
|
|
@@ -630,7 +630,7 @@ function crushSearch(content, query = "", config = {}) {
|
|
|
630
630
|
};
|
|
631
631
|
}
|
|
632
632
|
|
|
633
|
-
// src/crush/log-compressor.ts
|
|
633
|
+
// ../greprag/packages/cli/src/crush/log-compressor.ts
|
|
634
634
|
var DEFAULT_LOG_CONFIG = {
|
|
635
635
|
maxErrors: 10,
|
|
636
636
|
errorContextLines: 3,
|
|
@@ -941,7 +941,7 @@ function crushLog(content, config = {}) {
|
|
|
941
941
|
};
|
|
942
942
|
}
|
|
943
943
|
|
|
944
|
-
// src/crush/json-detectors.ts
|
|
944
|
+
// ../greprag/packages/cli/src/crush/json-detectors.ts
|
|
945
945
|
function classifyArray(items) {
|
|
946
946
|
if (items.length === 0)
|
|
947
947
|
return "empty";
|
|
@@ -1101,7 +1101,7 @@ function detectErrorItems(items) {
|
|
|
1101
1101
|
return out;
|
|
1102
1102
|
}
|
|
1103
1103
|
|
|
1104
|
-
// src/crush/json-crusher.ts
|
|
1104
|
+
// ../greprag/packages/cli/src/crush/json-crusher.ts
|
|
1105
1105
|
var DEFAULT_JSON_CONFIG = {
|
|
1106
1106
|
minItemsToAnalyze: 10,
|
|
1107
1107
|
maxItemsAfterCrush: 15,
|
|
@@ -1312,7 +1312,7 @@ function crushJson(content, config = {}) {
|
|
|
1312
1312
|
};
|
|
1313
1313
|
}
|
|
1314
1314
|
|
|
1315
|
-
// src/crush/code-compressor.ts
|
|
1315
|
+
// ../greprag/packages/cli/src/crush/code-compressor.ts
|
|
1316
1316
|
var DEFAULT_CODE_CONFIG = {
|
|
1317
1317
|
minLines: 8,
|
|
1318
1318
|
maxBodyLines: 3
|
|
@@ -1599,7 +1599,7 @@ function crushCode(content, config = {}) {
|
|
|
1599
1599
|
};
|
|
1600
1600
|
}
|
|
1601
1601
|
|
|
1602
|
-
// src/opencode-plugin-crush.ts
|
|
1602
|
+
// ../greprag/packages/cli/src/opencode-plugin-crush.ts
|
|
1603
1603
|
var CCR_MARKER_HASH_LEN = 16;
|
|
1604
1604
|
function ccrMarker(hash) {
|
|
1605
1605
|
return `<<ccr:${hash.slice(0, CCR_MARKER_HASH_LEN)}>>`;
|
|
@@ -1664,6 +1664,15 @@ function crushField(content, stash, thresholdBytes = DEFAULT_THRESHOLD_BYTES) {
|
|
|
1664
1664
|
return `${crushed}
|
|
1665
1665
|
${ccrMarker(hash)}`;
|
|
1666
1666
|
}
|
|
1667
|
+
function resolveRetrieveCommand(p) {
|
|
1668
|
+
const input = p.input;
|
|
1669
|
+
if (input && typeof input.command === "string")
|
|
1670
|
+
return input.command;
|
|
1671
|
+
const toolName = typeof p.name === "string" && p.name || typeof p.tool === "string" && p.tool || typeof p.toolName === "string" && p.toolName;
|
|
1672
|
+
if (toolName)
|
|
1673
|
+
return toolName;
|
|
1674
|
+
return "";
|
|
1675
|
+
}
|
|
1667
1676
|
function crushAndApply(obj, key, stash, thresholdBytes, stats, memo) {
|
|
1668
1677
|
const content = obj[key];
|
|
1669
1678
|
if (typeof content !== "string")
|
|
@@ -1713,9 +1722,8 @@ function processPart(part, stash, thresholdBytes, stats, memo) {
|
|
|
1713
1722
|
if (p.type === "tool" && p.state && typeof p.state === "object") {
|
|
1714
1723
|
const state = p.state;
|
|
1715
1724
|
if (state.status === "completed" && typeof state.output === "string") {
|
|
1716
|
-
const
|
|
1717
|
-
|
|
1718
|
-
if (cmd.includes("greprag retrieve")) {
|
|
1725
|
+
const cmd = resolveRetrieveCommand(p);
|
|
1726
|
+
if (cmd && cmd.includes("greprag retrieve")) {
|
|
1719
1727
|
stats.partsSkipped++;
|
|
1720
1728
|
} else {
|
|
1721
1729
|
crushAndApply(state, "output", stash, thresholdBytes, stats, memo);
|
|
@@ -1751,7 +1759,7 @@ function crushMessages(messages, opts) {
|
|
|
1751
1759
|
return stats;
|
|
1752
1760
|
}
|
|
1753
1761
|
|
|
1754
|
-
// src/commands/os-primer-reminder.ts
|
|
1762
|
+
// ../greprag/packages/cli/src/commands/os-primer-reminder.ts
|
|
1755
1763
|
function buildOsPrimer(env) {
|
|
1756
1764
|
const spawnEntry = env?.platform === "codex" ? "codex-chip-spawn" : env?.platform === "opencode" ? "chip-bootloader" : "chip-spawn";
|
|
1757
1765
|
return [
|
|
@@ -1771,7 +1779,7 @@ var osPrimerModule = {
|
|
|
1771
1779
|
reminder: () => null
|
|
1772
1780
|
};
|
|
1773
1781
|
|
|
1774
|
-
// src/session-id.ts
|
|
1782
|
+
// ../greprag/packages/cli/src/session-id.ts
|
|
1775
1783
|
function armMonitorCommand(short, ownerPid, assistant = false, mechanic = false) {
|
|
1776
1784
|
const owner = ownerPid ? ` --owner-pid ${ownerPid}` : "";
|
|
1777
1785
|
const role = mechanic ? " --mechanic" : assistant ? " --assistant" : "";
|
|
@@ -1779,7 +1787,7 @@ function armMonitorCommand(short, ownerPid, assistant = false, mechanic = false)
|
|
|
1779
1787
|
return `while true; do ${watch}; case $? in 0|64) break;; esac; sleep 1; done`;
|
|
1780
1788
|
}
|
|
1781
1789
|
|
|
1782
|
-
// src/commands/inbox-primer-reminder.ts
|
|
1790
|
+
// ../greprag/packages/cli/src/commands/inbox-primer-reminder.ts
|
|
1783
1791
|
function buildInboxPrimer(env) {
|
|
1784
1792
|
const codex = env.platform === "codex";
|
|
1785
1793
|
const opencode = env.platform === "opencode";
|
|
@@ -1817,7 +1825,7 @@ var inboxPrimerModule = {
|
|
|
1817
1825
|
reminder: () => null
|
|
1818
1826
|
};
|
|
1819
1827
|
|
|
1820
|
-
// src/commands/load-primer-reminder.ts
|
|
1828
|
+
// ../greprag/packages/cli/src/commands/load-primer-reminder.ts
|
|
1821
1829
|
var LOAD_PRIMER = [
|
|
1822
1830
|
"[greprag load \u2014 on-demand doctrine. greprag ships its own methods inside the CLI; you never need a `.md` file or a CLAUDE.md entry to use them.]",
|
|
1823
1831
|
"\u2022 `greprag load` \u2192 browse the catalog (every doctrine entry + its one-line purpose).",
|
|
@@ -1869,7 +1877,7 @@ var codexChipSpawnPointerModule = {
|
|
|
1869
1877
|
reminder: () => null
|
|
1870
1878
|
};
|
|
1871
1879
|
|
|
1872
|
-
// src/commands/email-primer-reminder.ts
|
|
1880
|
+
// ../greprag/packages/cli/src/commands/email-primer-reminder.ts
|
|
1873
1881
|
var EMAIL_PRIMER = [
|
|
1874
1882
|
"[greprag email \u2014 the agent's REAL mailbox (actual inbound + outbound SMTP), distinct from `greprag send` (internal session mesh, never real email).]",
|
|
1875
1883
|
'\u2022 SEND real mail: `greprag email send --to <addr> --subject "s" (--body "t" | --body-file <f|->)` \u2014 from your <handle>@greprag.com. Flags: --html-file (rich body) \xB7 --attach (repeatable) \xB7 --cc/--bcc \xB7 --reply-to \xB7 --from-name \xB7 --from <your-own-handle> (server rejects any address that isn\'t yours \u2014 no forging).',
|
|
@@ -1886,7 +1894,7 @@ var emailPrimerModule = {
|
|
|
1886
1894
|
reminder: () => null
|
|
1887
1895
|
};
|
|
1888
1896
|
|
|
1889
|
-
// src/commands/corpus-reminder.ts
|
|
1897
|
+
// ../greprag/packages/cli/src/commands/corpus-reminder.ts
|
|
1890
1898
|
function buildCorpusAnnounce(names) {
|
|
1891
1899
|
if (!names || names.length === 0)
|
|
1892
1900
|
return null;
|
|
@@ -1906,7 +1914,7 @@ var corpusAnnounceModule = {
|
|
|
1906
1914
|
reminder: () => null
|
|
1907
1915
|
};
|
|
1908
1916
|
|
|
1909
|
-
// src/commands/doc-pointer-reminder.ts
|
|
1917
|
+
// ../greprag/packages/cli/src/commands/doc-pointer-reminder.ts
|
|
1910
1918
|
var ANNOUNCE_CAP = 20;
|
|
1911
1919
|
function buildDocPointerAnnounce(pointers) {
|
|
1912
1920
|
if (!pointers || pointers.length === 0)
|
|
@@ -1938,7 +1946,7 @@ var docPointerAnnounceModule = {
|
|
|
1938
1946
|
reminder: () => null
|
|
1939
1947
|
};
|
|
1940
1948
|
|
|
1941
|
-
// src/commands/setup-reminder.ts
|
|
1949
|
+
// ../greprag/packages/cli/src/commands/setup-reminder.ts
|
|
1942
1950
|
function setupDetect(env) {
|
|
1943
1951
|
return env.setupWarning ? { tier: "nudge" } : { tier: "silent" };
|
|
1944
1952
|
}
|
|
@@ -1949,7 +1957,7 @@ var setupWarningModule = {
|
|
|
1949
1957
|
reminder: () => null
|
|
1950
1958
|
};
|
|
1951
1959
|
|
|
1952
|
-
// src/commands/assistant-reminder.ts
|
|
1960
|
+
// ../greprag/packages/cli/src/commands/assistant-reminder.ts
|
|
1953
1961
|
function assistantDetect(env) {
|
|
1954
1962
|
return env.assistantDoctrine ? { tier: "ambient" } : { tier: "silent" };
|
|
1955
1963
|
}
|
|
@@ -1960,7 +1968,7 @@ var assistantDoctrineModule = {
|
|
|
1960
1968
|
reminder: () => null
|
|
1961
1969
|
};
|
|
1962
1970
|
|
|
1963
|
-
// src/commands/memory-reflex.ts
|
|
1971
|
+
// ../greprag/packages/cli/src/commands/memory-reflex.ts
|
|
1964
1972
|
function buildMemoryAnnounce() {
|
|
1965
1973
|
return [
|
|
1966
1974
|
"[greprag memory \u2014 this project remembers. Every past session (decisions, bugs, what was discussed, who did what) is captured and searchable.]",
|
|
@@ -1974,7 +1982,7 @@ var memoryPrimerModule = {
|
|
|
1974
1982
|
reminder: () => null
|
|
1975
1983
|
};
|
|
1976
1984
|
|
|
1977
|
-
// src/commands/arm-reminder.ts
|
|
1985
|
+
// ../greprag/packages/cli/src/commands/arm-reminder.ts
|
|
1978
1986
|
function armDetect(env) {
|
|
1979
1987
|
if (env.armed)
|
|
1980
1988
|
return { tier: "silent" };
|
|
@@ -2004,11 +2012,11 @@ var watcherArmModule = {
|
|
|
2004
2012
|
reminder: (d, env) => buildArmReminder(d, env)
|
|
2005
2013
|
};
|
|
2006
2014
|
|
|
2007
|
-
// src/commands/state-trigger.ts
|
|
2015
|
+
// ../greprag/packages/cli/src/commands/state-trigger.ts
|
|
2008
2016
|
var STRESS_ELEVATED = 1;
|
|
2009
2017
|
var STRESS_HIGH = 2;
|
|
2010
2018
|
|
|
2011
|
-
// src/commands/friction-reminder.ts
|
|
2019
|
+
// ../greprag/packages/cli/src/commands/friction-reminder.ts
|
|
2012
2020
|
function quoteForCommand(value) {
|
|
2013
2021
|
return value.replace(/[\r\n]+/g, " ").replace(/"/g, '\\"').trim();
|
|
2014
2022
|
}
|
|
@@ -2073,7 +2081,7 @@ var mechanicFrictionModule = {
|
|
|
2073
2081
|
}
|
|
2074
2082
|
};
|
|
2075
2083
|
|
|
2076
|
-
// src/commands/coordinate-gate.ts
|
|
2084
|
+
// ../greprag/packages/cli/src/commands/coordinate-gate.ts
|
|
2077
2085
|
var RISKY_PATTERNS = [
|
|
2078
2086
|
{ kind: "merge", label: "gh pr merge", re: /^gh\s+pr\s+merge\b/ },
|
|
2079
2087
|
{ kind: "deploy", label: "wrangler deploy", re: /^(?:npx\s+)?wrangler\s+deploy\b/ },
|
|
@@ -2190,7 +2198,7 @@ function buildCoordinateDirective(trigger, peers, myShort, alias) {
|
|
|
2190
2198
|
return `COORDINATE before ${trigger.label}: ${peers.length} peer${plural} live in this repo (${list}). Ping before proceeding. Codex peers: use codex_app.list_threads and codex_app.send_message_to_thread. GrepRAG watcher/cross-harness peers: greprag send "heads up, about to ${trigger.label}" --to ${handle}@greprag.com/<8hex> --from-session ${myShort}`;
|
|
2191
2199
|
}
|
|
2192
2200
|
|
|
2193
|
-
// src/commands/collision-reminder.ts
|
|
2201
|
+
// ../greprag/packages/cli/src/commands/collision-reminder.ts
|
|
2194
2202
|
var collisionMatchModule = {
|
|
2195
2203
|
id: "collision",
|
|
2196
2204
|
source: "command",
|
|
@@ -2215,7 +2223,7 @@ var collisionMatchModule = {
|
|
|
2215
2223
|
}
|
|
2216
2224
|
};
|
|
2217
2225
|
|
|
2218
|
-
// src/commands/version-reminder.ts
|
|
2226
|
+
// ../greprag/packages/cli/src/commands/version-reminder.ts
|
|
2219
2227
|
function buildVersionAnnounce(current, latest) {
|
|
2220
2228
|
return [
|
|
2221
2229
|
`[greprag \u2014 a new release is out: v${latest} (you are on v${current}).]`,
|
|
@@ -2256,7 +2264,7 @@ var versionUpgradeModule = {
|
|
|
2256
2264
|
reminder: () => null
|
|
2257
2265
|
};
|
|
2258
2266
|
|
|
2259
|
-
// src/commands/enrichment-health-reminder.ts
|
|
2267
|
+
// ../greprag/packages/cli/src/commands/enrichment-health-reminder.ts
|
|
2260
2268
|
function buildEnrichmentHealthAnnounce(down) {
|
|
2261
2269
|
if (!down || !down.errorClass)
|
|
2262
2270
|
return null;
|
|
@@ -2275,7 +2283,7 @@ var enrichmentHealthModule = {
|
|
|
2275
2283
|
reminder: () => null
|
|
2276
2284
|
};
|
|
2277
2285
|
|
|
2278
|
-
// src/commands/skill-gain-reminder.ts
|
|
2286
|
+
// ../greprag/packages/cli/src/commands/skill-gain-reminder.ts
|
|
2279
2287
|
function buildSkillGainAnnounce(gains) {
|
|
2280
2288
|
if (!gains || gains.landed.length === 0)
|
|
2281
2289
|
return null;
|
|
@@ -2294,7 +2302,7 @@ var skillGainAnnounceModule = {
|
|
|
2294
2302
|
reminder: () => null
|
|
2295
2303
|
};
|
|
2296
2304
|
|
|
2297
|
-
// src/commands/skill-mirror-reminder.ts
|
|
2305
|
+
// ../greprag/packages/cli/src/commands/skill-mirror-reminder.ts
|
|
2298
2306
|
var SKILL_ACTIVATION_MANIFEST_MAX_CHARS = 64e3;
|
|
2299
2307
|
function renderEntry(skill) {
|
|
2300
2308
|
const description = skill.triggerDescription.trim().replace(/\r\n?/g, "\n");
|
|
@@ -2347,7 +2355,7 @@ var skillMirrorAnnounceModule = {
|
|
|
2347
2355
|
reminder: () => null
|
|
2348
2356
|
};
|
|
2349
2357
|
|
|
2350
|
-
// src/commands/procedure-reminder.ts
|
|
2358
|
+
// ../greprag/packages/cli/src/commands/procedure-reminder.ts
|
|
2351
2359
|
function buildProcedureAnnounce(lines) {
|
|
2352
2360
|
const active = (lines ?? []).map((s) => s.trim()).filter(Boolean);
|
|
2353
2361
|
if (!active.length)
|
|
@@ -2365,7 +2373,7 @@ var procedureAnnounceModule = {
|
|
|
2365
2373
|
reminder: () => null
|
|
2366
2374
|
};
|
|
2367
2375
|
|
|
2368
|
-
// src/commands/loadout-reminder.ts
|
|
2376
|
+
// ../greprag/packages/cli/src/commands/loadout-reminder.ts
|
|
2369
2377
|
function matchLoadouts(promptText, equipped) {
|
|
2370
2378
|
const prompt = (promptText || "").toLowerCase();
|
|
2371
2379
|
if (!prompt.trim() || !equipped || equipped.length === 0)
|
|
@@ -2404,7 +2412,7 @@ var loadoutRegistrarModule = {
|
|
|
2404
2412
|
reminder: (d) => buildLoadoutReminder(d.detail?.matched || [])
|
|
2405
2413
|
};
|
|
2406
2414
|
|
|
2407
|
-
// src/commands/delivery-reminder.ts
|
|
2415
|
+
// ../greprag/packages/cli/src/commands/delivery-reminder.ts
|
|
2408
2416
|
function coordinationLine(platform) {
|
|
2409
2417
|
if (platform === "codex") {
|
|
2410
2418
|
return "Codex: at the merge/deploy gate, call codex_app.list_threads unfiltered, filter to peers in the same repo, then use codex_app.send_message_to_thread once for ready or overlapping work. Delivery owner: rename this task `DEPLOY: <existing title>`; transfer the prefix on handoff; remove the prefix when delivery is done.";
|
|
@@ -2436,7 +2444,7 @@ var deliveryControlModule = {
|
|
|
2436
2444
|
reminder: () => null
|
|
2437
2445
|
};
|
|
2438
2446
|
|
|
2439
|
-
// src/commands/reminder-registry.ts
|
|
2447
|
+
// ../greprag/packages/cli/src/commands/reminder-registry.ts
|
|
2440
2448
|
var REGISTRY = [
|
|
2441
2449
|
osPrimerModule,
|
|
2442
2450
|
// grepragOS constitution — the frame every other primer hangs off; boots FIRST
|
|
@@ -2531,7 +2539,7 @@ function collectAnnounces(env, registry = REGISTRY) {
|
|
|
2531
2539
|
return out;
|
|
2532
2540
|
}
|
|
2533
2541
|
|
|
2534
|
-
// src/commands/opencode-interrupt.ts
|
|
2542
|
+
// ../greprag/packages/cli/src/commands/opencode-interrupt.ts
|
|
2535
2543
|
var opencodeRegistry = harnessModules("opencode");
|
|
2536
2544
|
var OPENCODE_QUOTA_WAITLIST_ANNOUNCE = [
|
|
2537
2545
|
"[GrepRAG quota decision rule]",
|
|
@@ -2570,11 +2578,11 @@ function getOpenCodeReminders(env) {
|
|
|
2570
2578
|
return collectReminders(env, opencodeRegistry);
|
|
2571
2579
|
}
|
|
2572
2580
|
|
|
2573
|
-
// src/procedure.ts
|
|
2581
|
+
// ../greprag/packages/cli/src/procedure.ts
|
|
2574
2582
|
var path2 = __toESM(require("path"));
|
|
2575
2583
|
var fs2 = __toESM(require("fs"));
|
|
2576
2584
|
|
|
2577
|
-
// src/delivery-lifecycle.ts
|
|
2585
|
+
// ../greprag/packages/cli/src/delivery-lifecycle.ts
|
|
2578
2586
|
var DELIVERY_LIFECYCLE_VERBS = [
|
|
2579
2587
|
"commit",
|
|
2580
2588
|
"merge",
|
|
@@ -2587,7 +2595,7 @@ function isDeliveryLifecycleVerb(verb) {
|
|
|
2587
2595
|
return DELIVERY_LIFECYCLE_SET.has((verb || "").trim().toLowerCase());
|
|
2588
2596
|
}
|
|
2589
2597
|
|
|
2590
|
-
// src/procedure.ts
|
|
2598
|
+
// ../greprag/packages/cli/src/procedure.ts
|
|
2591
2599
|
var PROCEDURE_STORE_VERSION = "2";
|
|
2592
2600
|
function stateDir() {
|
|
2593
2601
|
const home = process.env.HOME || process.env.USERPROFILE || "";
|
|
@@ -2828,10 +2836,10 @@ function activeProcedureAnnounces(store) {
|
|
|
2828
2836
|
return lines;
|
|
2829
2837
|
}
|
|
2830
2838
|
|
|
2831
|
-
// src/procedure-runtime.ts
|
|
2839
|
+
// ../greprag/packages/cli/src/procedure-runtime.ts
|
|
2832
2840
|
var crypto4 = __toESM(require("crypto"));
|
|
2833
2841
|
|
|
2834
|
-
// src/project-anchor.ts
|
|
2842
|
+
// ../greprag/packages/cli/src/project-anchor.ts
|
|
2835
2843
|
var path3 = __toESM(require("path"));
|
|
2836
2844
|
var fs3 = __toESM(require("fs"));
|
|
2837
2845
|
var crypto2 = __toESM(require("crypto"));
|
|
@@ -3013,7 +3021,7 @@ function readAnchor2(cwd) {
|
|
|
3013
3021
|
};
|
|
3014
3022
|
}
|
|
3015
3023
|
|
|
3016
|
-
// src/procedure-watch.ts
|
|
3024
|
+
// ../greprag/packages/cli/src/procedure-watch.ts
|
|
3017
3025
|
var path4 = __toESM(require("path"));
|
|
3018
3026
|
var fs4 = __toESM(require("fs"));
|
|
3019
3027
|
var TIER1_LEARN_TRIGGERS = [
|
|
@@ -3074,7 +3082,7 @@ function openWatchIfIdle(projectId, verb, phase, shadowRunId) {
|
|
|
3074
3082
|
return true;
|
|
3075
3083
|
}
|
|
3076
3084
|
|
|
3077
|
-
// src/procedure-shadow.ts
|
|
3085
|
+
// ../greprag/packages/cli/src/procedure-shadow.ts
|
|
3078
3086
|
var crypto3 = __toESM(require("crypto"));
|
|
3079
3087
|
var fs5 = __toESM(require("fs"));
|
|
3080
3088
|
var path5 = __toESM(require("path"));
|
|
@@ -3140,7 +3148,7 @@ function recordMissingLifecycleShadowTrigger(params) {
|
|
|
3140
3148
|
});
|
|
3141
3149
|
}
|
|
3142
3150
|
|
|
3143
|
-
// src/procedure-runtime.ts
|
|
3151
|
+
// ../greprag/packages/cli/src/procedure-runtime.ts
|
|
3144
3152
|
function extractLatestOpenCodeProcedurePrompt(messages) {
|
|
3145
3153
|
let userCount = 0;
|
|
3146
3154
|
let latest = null;
|
|
@@ -3226,7 +3234,7 @@ function runProcedurePromptCheck(params) {
|
|
|
3226
3234
|
}
|
|
3227
3235
|
}
|
|
3228
3236
|
|
|
3229
|
-
// src/archive/glyph-font.ts
|
|
3237
|
+
// ../greprag/packages/cli/src/archive/glyph-font.ts
|
|
3230
3238
|
var GLYPH_W = 8;
|
|
3231
3239
|
var GLYPH_H = 8;
|
|
3232
3240
|
var FIRST_CODE = 32;
|
|
@@ -3350,7 +3358,7 @@ function signatureForRows(bytes) {
|
|
|
3350
3358
|
return bytes.map((b) => (b & 255).toString(16).padStart(2, "0")).join("");
|
|
3351
3359
|
}
|
|
3352
3360
|
|
|
3353
|
-
// src/archive/png-codec.ts
|
|
3361
|
+
// ../greprag/packages/cli/src/archive/png-codec.ts
|
|
3354
3362
|
var zlib = __toESM(require("zlib"));
|
|
3355
3363
|
var PNG_SIGNATURE = Buffer.from([137, 80, 78, 71, 13, 10, 26, 10]);
|
|
3356
3364
|
var crcTable = null;
|
|
@@ -3492,7 +3500,7 @@ function decodePng(buf) {
|
|
|
3492
3500
|
return { width, height, pixels };
|
|
3493
3501
|
}
|
|
3494
3502
|
|
|
3495
|
-
// src/archive/page-renderer.ts
|
|
3503
|
+
// ../greprag/packages/cli/src/archive/page-renderer.ts
|
|
3496
3504
|
var PAGE_SIZE = 1568;
|
|
3497
3505
|
var CELL_W = GLYPH_W;
|
|
3498
3506
|
var CELL_H = 10;
|
|
@@ -3618,7 +3626,7 @@ function verifyRoundTrip(page) {
|
|
|
3618
3626
|
return `length mismatch: rendered ${a.length} decoded ${b.length}`;
|
|
3619
3627
|
}
|
|
3620
3628
|
|
|
3621
|
-
// src/opencode-plugin-png.ts
|
|
3629
|
+
// ../greprag/packages/cli/src/opencode-plugin-png.ts
|
|
3622
3630
|
var CCR_MARKER_HASH_LEN2 = 16;
|
|
3623
3631
|
function ccrPngMarker(hash) {
|
|
3624
3632
|
return `<<ccr:${hash.slice(0, CCR_MARKER_HASH_LEN2)}>>`;
|
|
@@ -3808,7 +3816,7 @@ function recodeMessagesToPng(messages, opts) {
|
|
|
3808
3816
|
return stats;
|
|
3809
3817
|
}
|
|
3810
3818
|
|
|
3811
|
-
// src/skill-activation-manifest.ts
|
|
3819
|
+
// ../greprag/packages/cli/src/skill-activation-manifest.ts
|
|
3812
3820
|
var fs6 = __toESM(require("fs"));
|
|
3813
3821
|
var path6 = __toESM(require("path"));
|
|
3814
3822
|
var MAX_NATIVE_SKILL_FILES = 1500;
|
|
@@ -3909,7 +3917,7 @@ function activationFromApiRows(params) {
|
|
|
3909
3917
|
return buildMirroredSkillActivation(entries, readNativeSkillNames(params));
|
|
3910
3918
|
}
|
|
3911
3919
|
|
|
3912
|
-
// src/opencode-plugin.ts
|
|
3920
|
+
// ../greprag/packages/cli/src/opencode-plugin.ts
|
|
3913
3921
|
var DEBUG_LOG_PATH = path7.join(os2.homedir(), ".greprag", "opencode-plugin-debug.log");
|
|
3914
3922
|
var _debugLogReady = false;
|
|
3915
3923
|
function dlogInit() {
|