hippo-memory 1.59.0 → 1.60.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/dist/api.d.ts +2 -0
- package/dist/api.js +25 -9
- package/dist/audit.js +1 -0
- package/dist/autolearn.js +5 -2
- package/dist/capture.js +8 -6
- package/dist/cli.d.ts +355 -0
- package/dist/cli.js +1236 -1081
- package/dist/compaction-record.js +7 -6
- package/dist/config.js +12 -11
- package/dist/connectors/github/cli-impl.js +1 -0
- package/dist/consolidate.js +4 -3
- package/dist/dag.js +7 -7
- package/dist/dashboard.js +4 -2
- package/dist/db.js +16 -3
- package/dist/delivery-recorder.js +1 -0
- package/dist/doctor.js +1 -0
- package/dist/dormant.js +1 -0
- package/dist/embedding-provider.js +3 -2
- package/dist/embeddings.js +10 -7
- package/dist/extract.js +4 -3
- package/dist/graph.js +3 -8
- package/dist/handoff.js +3 -0
- package/dist/hooks.js +3 -0
- package/dist/importers.js +6 -3
- package/dist/incidents.js +1 -0
- package/dist/judgment.js +5 -2
- package/dist/mcp/server.d.ts +5 -0
- package/dist/mcp/server.js +32 -13
- package/dist/memory.d.ts +5 -3
- package/dist/processes.js +1 -0
- package/dist/project-identity.d.ts +1 -1
- package/dist/project-identity.js +9 -4
- package/dist/raw-archive-mirror-cleanup.js +2 -1
- package/dist/recall-trace.d.ts +2 -2
- package/dist/recall-trace.js +10 -14
- package/dist/refine-llm.js +18 -10
- package/dist/rerankers/clef.d.ts +2 -2
- package/dist/rerankers/clef.js +68 -27
- package/dist/rerankers/cross-encoder.js +6 -4
- package/dist/rerankers/jev.d.ts +3 -1
- package/dist/rerankers/jev.js +20 -15
- package/dist/rerankers/llm.js +3 -3
- package/dist/same-text.d.ts +2 -0
- package/dist/same-text.js +4 -0
- package/dist/scheduler.js +1 -0
- package/dist/search.js +4 -2
- package/dist/secret-detect.js +1 -0
- package/dist/server.js +29 -12
- package/dist/shared.js +21 -19
- package/dist/stdin.js +1 -0
- package/dist/store.d.ts +33 -1
- package/dist/store.js +117 -16
- package/dist/token-ledger.js +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/extensions/openclaw-plugin/openclaw.plugin.json +1 -1
- package/extensions/openclaw-plugin/package.json +1 -1
- package/openclaw.plugin.json +1 -1
- package/package.json +2 -1
package/dist/api.d.ts
CHANGED
|
@@ -95,6 +95,8 @@ export { classifyOriginProject } from './project-identity.js';
|
|
|
95
95
|
* flagged rows with no project origin never ambient-inject.
|
|
96
96
|
*/
|
|
97
97
|
export declare function ambientSecretAdmit(e: MemoryEntry, currentProjectName: string): boolean;
|
|
98
|
+
/** Most rows per store a no-query context reads; past it, ranking and ambientState see the strongest by decay. */
|
|
99
|
+
export declare const CONTEXT_CANDIDATE_CAP = 2000;
|
|
98
100
|
export declare function oneCopyPerMemory(local: readonly MemoryEntry[], global: readonly MemoryEntry[], now: Date): [MemoryEntry[], MemoryEntry[]];
|
|
99
101
|
export interface RememberOpts {
|
|
100
102
|
content: string;
|
package/dist/api.js
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
import { openHippoDb, closeHippoDb } from './db.js';
|
|
10
10
|
import { BadRequestError, ConflictError, ForbiddenError, NotFoundError } from './api-errors.js';
|
|
11
11
|
export { ApiError, BadRequestError, ConflictError, ForbiddenError, NotFoundError } from './api-errors.js';
|
|
12
|
-
import { writeEntry, writeEntryDbOnly, strengthenRetrieved, stampOriginProject, writeEntryMirrors, readEntry, deleteEntry, loadRecallSearchEntries, loadEntriesByIds, loadChildrenOf, loadFreshRawMemories, loadSessionRawMemories, countSessionRawMemories, DEFAULT_SEARCH_CANDIDATE_LIMIT, removeEntryMirrors, loadActiveTaskSnapshot, loadFreshActiveTaskSnapshot, loadLatestHandoff, listSessionEvents, SNAPSHOT_AMBIENT_MAX_AGE_MS, loadIndex, saveIndex, loadAllEntries, loadAmbientCandidates, updateStats, isInitialized, markSummaryDirtyInTx, auditRejectionRefusal, memoriesBackingObjects, } from './store.js';
|
|
12
|
+
import { writeEntry, writeEntryDbOnly, strengthenRetrieved, stampOriginProject, writeEntryMirrors, readEntry, deleteEntry, loadRecallSearchEntries, loadEntriesByIds, loadChildrenOf, loadFreshRawMemories, loadSessionRawMemories, countSessionRawMemories, DEFAULT_SEARCH_CANDIDATE_LIMIT, removeEntryMirrors, loadActiveTaskSnapshot, loadFreshActiveTaskSnapshot, loadLatestHandoff, listSessionEvents, SNAPSHOT_AMBIENT_MAX_AGE_MS, loadIndex, saveIndex, loadAllEntries, loadAmbientCandidates, loadContextCandidates, updateStats, isInitialized, markSummaryDirtyInTx, auditRejectionRefusal, memoriesBackingObjects, } from './store.js';
|
|
13
13
|
import { RejectedValueError } from './rejection.js';
|
|
14
14
|
import { rejectValue, unrejectValue, listRejectionsForTenant } from './reject-flow.js';
|
|
15
15
|
import { listDormantRows, readDormantSnapshot, deleteDormantRow, hasDormantRow, } from './dormant.js';
|
|
@@ -17,6 +17,7 @@ import { recordTokenUse, summarizeTokenUse } from './token-ledger.js';
|
|
|
17
17
|
import { detectInstruction } from './instruction-detect.js';
|
|
18
18
|
import { quarantineScopeFor, recordQuarantine, getQuarantineRow, listQuarantineRows, approveQuarantineRow, rejectQuarantineRow, } from './quarantine.js';
|
|
19
19
|
import { summarizeFailures } from './failure-log.js';
|
|
20
|
+
import { log } from './log.js';
|
|
20
21
|
import { formatHandoffEvidenceLine } from './handoff.js';
|
|
21
22
|
import { createMemory, createSuccessor, applyOutcome, calculateStrength, markRetrieved, CHURN_STALE_TAG, COMPACTION_MEMORY_TAG, } from './memory.js';
|
|
22
23
|
import { appendAuditEvent, reportAuditWriteFailure, auditQueryFields, queryAuditEvents, auditMemories, isContentWorthStoring, } from './audit.js';
|
|
@@ -128,10 +129,15 @@ export function ambientSecretAdmit(e, currentProjectName) {
|
|
|
128
129
|
return false;
|
|
129
130
|
return origin === currentProjectName;
|
|
130
131
|
}
|
|
132
|
+
/** Most rows per store a no-query context reads; past it, ranking and ambientState see the strongest by decay. */
|
|
133
|
+
export const CONTEXT_CANDIDATE_CAP = 2000;
|
|
131
134
|
// The pinned-only branch needs pins and recent-N candidates, not the corpus; `recall` applies there only.
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
+
// Without `window` the whole store loads: a local-only query searches every local row.
|
|
136
|
+
function loadAmbientEntries(hippoRoot, tenantId, pinnedOnly, includeRecent, admit, recall, onQualityDrop, window) {
|
|
137
|
+
if (!pinnedOnly) {
|
|
138
|
+
const rows = window ? loadContextCandidates(hippoRoot, tenantId, window) : loadAllEntries(hippoRoot, tenantId);
|
|
139
|
+
return { entries: rows.filter(admit) };
|
|
140
|
+
}
|
|
135
141
|
// DF3's quality floor runs on the recent-N slice AFTER this load, so the load
|
|
136
142
|
// counts by it too, or it stops short of a store whose newest rows are junk.
|
|
137
143
|
const admitAmbient = (e) => {
|
|
@@ -1314,7 +1320,7 @@ export function supersede(ctx, oldId, newContent) {
|
|
|
1314
1320
|
writeEntryMirrors(ctx.hippoRoot, newEntry);
|
|
1315
1321
|
}
|
|
1316
1322
|
catch (mirrorErr) {
|
|
1317
|
-
|
|
1323
|
+
log.error(`supersede: mirror write failed (non-fatal, will self-heal): ${mirrorErr instanceof Error ? mirrorErr.message : String(mirrorErr)}`);
|
|
1318
1324
|
}
|
|
1319
1325
|
}
|
|
1320
1326
|
finally {
|
|
@@ -1359,7 +1365,7 @@ export function archiveRaw(ctx, id, reason, opts = {}) {
|
|
|
1359
1365
|
mirrorOk = true;
|
|
1360
1366
|
}
|
|
1361
1367
|
catch (mirrorErr) {
|
|
1362
|
-
|
|
1368
|
+
log.error(`archiveRaw: mirror cleanup failed for ${id} (will retry via reaper on next openHippoDb): ${mirrorErr instanceof Error ? mirrorErr.message : String(mirrorErr)}`);
|
|
1363
1369
|
}
|
|
1364
1370
|
if (mirrorOk) {
|
|
1365
1371
|
// Stamp mirror_cleaned_at now so the next openHippoDb reaper SELECT
|
|
@@ -1694,12 +1700,22 @@ export async function getContext(ctx, opts = {}) {
|
|
|
1694
1700
|
const admit = (e) => !e.superseded_by && !isOwnCompactionItem(e) && ambientAdmit(e);
|
|
1695
1701
|
const loadAdmit = obs ? obs.watchAdmit(admit) : admit;
|
|
1696
1702
|
const qualityDrop = (isGlobal) => obs && !promptRecallPending ? (e) => obs.qualityDropped(e, isGlobal) : undefined;
|
|
1703
|
+
// The window's predicates are ones admit applies anyway, so below the cap the admitted rows are unchanged.
|
|
1704
|
+
const searchesLocalRows = query !== '*' && !(hasGlobal && !primaryIsGlobal);
|
|
1705
|
+
const window = pinnedOnly || searchesLocalRows
|
|
1706
|
+
? undefined
|
|
1707
|
+
: {
|
|
1708
|
+
exactScope,
|
|
1709
|
+
project: includeCrossProject || currentProjectName === '' ? undefined : currentProjectName,
|
|
1710
|
+
cap: CONTEXT_CANDIDATE_CAP,
|
|
1711
|
+
now: evalNow(),
|
|
1712
|
+
};
|
|
1697
1713
|
// Tenant-scoped loads (v1.11.1 lesson: NEVER resolveTenantId({}) here).
|
|
1698
1714
|
const localLoad = hasLocal
|
|
1699
|
-
? loadAmbientEntries(ctx.hippoRoot, ctx.tenantId, pinnedOnly, includeRecent, loadAdmit, recallRequest, qualityDrop(primaryIsGlobal))
|
|
1715
|
+
? loadAmbientEntries(ctx.hippoRoot, ctx.tenantId, pinnedOnly, includeRecent, loadAdmit, recallRequest, qualityDrop(primaryIsGlobal), window)
|
|
1700
1716
|
: { entries: [] };
|
|
1701
1717
|
const globalLoad = hasGlobal && !primaryIsGlobal
|
|
1702
|
-
? loadAmbientEntries(globalRoot, ctx.tenantId, pinnedOnly, includeRecent, loadAdmit, recallRequest, qualityDrop(true))
|
|
1718
|
+
? loadAmbientEntries(globalRoot, ctx.tenantId, pinnedOnly, includeRecent, loadAdmit, recallRequest, qualityDrop(true), window)
|
|
1703
1719
|
: { entries: [] };
|
|
1704
1720
|
let localEntries = localLoad.entries;
|
|
1705
1721
|
let globalEntries = globalLoad.entries;
|
|
@@ -2402,7 +2418,7 @@ export function quarantineApprove(ctx, id) {
|
|
|
2402
2418
|
writeEntryMirrors(ctx.hippoRoot, restored);
|
|
2403
2419
|
}
|
|
2404
2420
|
catch (err) {
|
|
2405
|
-
|
|
2421
|
+
log.error(`quarantine: mirror rewrite failed for ${id}: ${err instanceof Error ? err.message : String(err)}`);
|
|
2406
2422
|
}
|
|
2407
2423
|
}
|
|
2408
2424
|
/** Keep a quarantined memory hidden for good. Admin only; the raw row is untouched (append-only). */
|
package/dist/audit.js
CHANGED
package/dist/autolearn.js
CHANGED
|
@@ -8,6 +8,7 @@ import { loadAllEntries } from './store.js';
|
|
|
8
8
|
import { textOverlap } from './search.js';
|
|
9
9
|
import { isContentWorthStoring } from './audit.js';
|
|
10
10
|
import { redactSecretsStrict } from './secret-detect.js';
|
|
11
|
+
import { log } from './log.js';
|
|
11
12
|
/** A memory of a failed command, "Command '<cmd>' failed: <truncated stderr>"; no store is in reach, so `hippo watch` re-derives its half-life from the store's config. */
|
|
12
13
|
export function captureError(exitCode, stderr, command, tenantId) {
|
|
13
14
|
// Truncate to first 500 chars to avoid storing megabytes of build logs
|
|
@@ -154,7 +155,8 @@ export function isGitRepo(cwd) {
|
|
|
154
155
|
});
|
|
155
156
|
return raw.trim() === 'true';
|
|
156
157
|
}
|
|
157
|
-
catch {
|
|
158
|
+
catch (err) {
|
|
159
|
+
log.debug(`autolearn: not a git repo: ${err instanceof Error ? err.message : String(err)}`);
|
|
158
160
|
return false;
|
|
159
161
|
}
|
|
160
162
|
}
|
|
@@ -169,7 +171,8 @@ export function fetchGitLog(cwd, days) {
|
|
|
169
171
|
], { encoding: 'utf8', cwd, timeout: 10000, stdio: ['pipe', 'pipe', 'pipe'], windowsHide: true });
|
|
170
172
|
return raw;
|
|
171
173
|
}
|
|
172
|
-
catch {
|
|
174
|
+
catch (err) {
|
|
175
|
+
log.debug(`autolearn: git log unavailable: ${err instanceof Error ? err.message : String(err)}`);
|
|
173
176
|
return '';
|
|
174
177
|
}
|
|
175
178
|
}
|
package/dist/capture.js
CHANGED
|
@@ -26,6 +26,7 @@ import { openHippoDb, closeHippoDb } from './db.js';
|
|
|
26
26
|
import { loadConfig } from './config.js';
|
|
27
27
|
import { classifyOriginProject } from './project-identity.js';
|
|
28
28
|
import { isObjectLike, isStringValue, readClaudeCodePreCompact } from './capture-contract.js';
|
|
29
|
+
import { log } from './log.js';
|
|
29
30
|
// Sentence-level patterns
|
|
30
31
|
//
|
|
31
32
|
// T1 (DF2): each pattern now carries TWO capture groups — group 1 is the
|
|
@@ -521,7 +522,7 @@ export function collectSessionTurns(jsonl, visit) {
|
|
|
521
522
|
entry = JSON.parse(line);
|
|
522
523
|
}
|
|
523
524
|
catch {
|
|
524
|
-
continue;
|
|
525
|
+
continue; // a torn or partial transcript line carries no turn
|
|
525
526
|
}
|
|
526
527
|
if (!isObjectLike(entry) || !('type' in entry))
|
|
527
528
|
continue;
|
|
@@ -660,7 +661,7 @@ export function resolveLastSessionTranscript(explicit, stdinText, opts) {
|
|
|
660
661
|
}
|
|
661
662
|
}
|
|
662
663
|
catch {
|
|
663
|
-
return null;
|
|
664
|
+
return null; // an unlistable projects dir means no transcript to find; the caller prints that
|
|
664
665
|
}
|
|
665
666
|
return newest?.path ?? null;
|
|
666
667
|
}
|
|
@@ -698,7 +699,7 @@ function beginLogTee(logFile) {
|
|
|
698
699
|
fs.appendFileSync(logFile, `[hippo] ${new Date().toISOString()} capturing session...\n`, 'utf8');
|
|
699
700
|
}
|
|
700
701
|
catch (err) {
|
|
701
|
-
|
|
702
|
+
log.warn(`could not open log file ${logFile}: ${errorMessage(err)}`);
|
|
702
703
|
return () => { };
|
|
703
704
|
}
|
|
704
705
|
const origStdoutWrite = process.stdout.write.bind(process.stdout);
|
|
@@ -734,6 +735,7 @@ function beginLogTee(logFile) {
|
|
|
734
735
|
process.stderr.write = origStderrWrite;
|
|
735
736
|
};
|
|
736
737
|
}
|
|
738
|
+
// Console lines here are the `hippo capture` command's printed result, so they stay off the logger.
|
|
737
739
|
function cmdCaptureCore(hippoRoot, options) {
|
|
738
740
|
const useGlobal = options.global;
|
|
739
741
|
const targetRoot = useGlobal ? getGlobalRoot() : hippoRoot;
|
|
@@ -993,7 +995,7 @@ function lastPlainUserMessage(jsonl) {
|
|
|
993
995
|
entry = JSON.parse(lines[i]);
|
|
994
996
|
}
|
|
995
997
|
catch {
|
|
996
|
-
continue;
|
|
998
|
+
continue; // the tail read can start mid-line; skip the torn fragment
|
|
997
999
|
}
|
|
998
1000
|
if (!isObjectLike(entry))
|
|
999
1001
|
continue;
|
|
@@ -1023,7 +1025,7 @@ function lastAssistantTextBlock(jsonl) {
|
|
|
1023
1025
|
entry = JSON.parse(lines[i]);
|
|
1024
1026
|
}
|
|
1025
1027
|
catch {
|
|
1026
|
-
continue;
|
|
1028
|
+
continue; // the tail read can start mid-line; skip the torn fragment
|
|
1027
1029
|
}
|
|
1028
1030
|
if (!isObjectLike(entry))
|
|
1029
1031
|
continue;
|
|
@@ -1085,7 +1087,7 @@ function isReadableFile(filePath) {
|
|
|
1085
1087
|
return true;
|
|
1086
1088
|
}
|
|
1087
1089
|
catch {
|
|
1088
|
-
return false;
|
|
1090
|
+
return false; // missing and unreadable both mean "no file" to the caller
|
|
1089
1091
|
}
|
|
1090
1092
|
}
|
|
1091
1093
|
/** PreCompact stdout is the summariser's instructions; sent before the snapshot work because a locked store can run the hook past its 30 s limit, and via writeSync because process.exit drops buffered pipe output. */
|
package/dist/cli.d.ts
CHANGED
|
@@ -36,6 +36,7 @@
|
|
|
36
36
|
import { MemoryEntry } from './memory.js';
|
|
37
37
|
/** Test-only: reset the module-level recall-history Map. Call from beforeEach. */
|
|
38
38
|
export declare function __resetSessionRecallHistoryCli(): void;
|
|
39
|
+
import { type CliFlags } from './cli/shared.js';
|
|
39
40
|
export declare const BOOLEAN_FLAGS: ReadonlySet<string>;
|
|
40
41
|
export declare const KNOWN_FLAGS: ReadonlySet<string>;
|
|
41
42
|
export declare function parseArgs(argv: string[]): {
|
|
@@ -54,7 +55,361 @@ export declare function printContextMarkdown(items: Array<{
|
|
|
54
55
|
showStrength?: boolean;
|
|
55
56
|
heading?: string;
|
|
56
57
|
}): void;
|
|
58
|
+
interface CommandContext {
|
|
59
|
+
readonly hippoRoot: string;
|
|
60
|
+
readonly args: string[];
|
|
61
|
+
readonly flags: CliFlags;
|
|
62
|
+
}
|
|
63
|
+
declare function handleRemember({ hippoRoot, args, flags }: CommandContext): Promise<void>;
|
|
64
|
+
declare function handleRecall({ hippoRoot, args, flags }: CommandContext): Promise<void>;
|
|
65
|
+
declare function handleDrill({ hippoRoot, args, flags }: CommandContext): void;
|
|
66
|
+
declare function handleAssemble({ hippoRoot, args, flags }: CommandContext): void;
|
|
67
|
+
declare function handleSupersede({ hippoRoot, args, flags }: CommandContext): void;
|
|
68
|
+
declare function handleExplain({ hippoRoot, args, flags }: CommandContext): Promise<void>;
|
|
69
|
+
declare function handleEval({ hippoRoot, args, flags }: CommandContext): Promise<void>;
|
|
70
|
+
declare function handleTrace({ hippoRoot, args, flags }: CommandContext): void;
|
|
71
|
+
declare function handlePreCompact({ hippoRoot, flags }: CommandContext): Promise<void>;
|
|
72
|
+
declare function handlePostCompact({ hippoRoot, flags }: CommandContext): Promise<void>;
|
|
73
|
+
declare function handleCaptureError({ hippoRoot }: CommandContext): Promise<void>;
|
|
74
|
+
declare function handleCompactResume({ hippoRoot }: CommandContext): Promise<void>;
|
|
75
|
+
declare function handleAudit({ hippoRoot, args, flags }: CommandContext): void;
|
|
76
|
+
declare function handleCorrectionLatency({ hippoRoot, flags }: CommandContext): void;
|
|
77
|
+
declare function handleProvenance({ hippoRoot, flags }: CommandContext): void;
|
|
78
|
+
declare function handleDoctor({ flags }: CommandContext): void;
|
|
79
|
+
declare function handleSupportBundle({ flags }: CommandContext): void;
|
|
80
|
+
declare function handleForget({ hippoRoot, args, flags }: CommandContext): Promise<void>;
|
|
81
|
+
declare function handleInspect({ hippoRoot, args }: CommandContext): void;
|
|
82
|
+
declare function handleContext({ hippoRoot, args, flags }: CommandContext): Promise<void>;
|
|
83
|
+
declare function handleWatch({ hippoRoot, args }: CommandContext): Promise<void>;
|
|
84
|
+
declare function handlePromote({ hippoRoot, args }: CommandContext): Promise<void>;
|
|
85
|
+
declare function handleShare({ hippoRoot, args, flags }: CommandContext): void;
|
|
86
|
+
declare function handlePeers({ flags }: CommandContext): void;
|
|
87
|
+
declare function handleExport({ hippoRoot, args, flags }: CommandContext): void;
|
|
88
|
+
declare function handleCapture({ hippoRoot, flags }: CommandContext): Promise<void>;
|
|
89
|
+
declare function handleDashboard({ hippoRoot, flags }: CommandContext): Promise<void>;
|
|
90
|
+
declare function handleMcp(): Promise<void>;
|
|
91
|
+
declare function handleServe({ hippoRoot, flags }: CommandContext): Promise<void>;
|
|
92
|
+
declare function handleInvalidate({ hippoRoot, args, flags }: CommandContext): void;
|
|
93
|
+
/** Every verb main() dispatches, keyed by name, with its handler, aliases and help blocks. */
|
|
94
|
+
export declare const COMMANDS: {
|
|
95
|
+
init: {
|
|
96
|
+
run: ({ hippoRoot, flags }: CommandContext) => void;
|
|
97
|
+
usage: string[];
|
|
98
|
+
};
|
|
99
|
+
remember: {
|
|
100
|
+
run: typeof handleRemember;
|
|
101
|
+
usage: string[];
|
|
102
|
+
};
|
|
103
|
+
recall: {
|
|
104
|
+
run: typeof handleRecall;
|
|
105
|
+
usage: string[];
|
|
106
|
+
};
|
|
107
|
+
drill: {
|
|
108
|
+
run: typeof handleDrill;
|
|
109
|
+
usage: string[];
|
|
110
|
+
};
|
|
111
|
+
assemble: {
|
|
112
|
+
run: typeof handleAssemble;
|
|
113
|
+
usage: string[];
|
|
114
|
+
};
|
|
115
|
+
supersede: {
|
|
116
|
+
run: typeof handleSupersede;
|
|
117
|
+
usage: string[];
|
|
118
|
+
};
|
|
119
|
+
explain: {
|
|
120
|
+
run: typeof handleExplain;
|
|
121
|
+
usage: string[];
|
|
122
|
+
};
|
|
123
|
+
eval: {
|
|
124
|
+
run: typeof handleEval;
|
|
125
|
+
usage: string[];
|
|
126
|
+
};
|
|
127
|
+
trace: {
|
|
128
|
+
run: typeof handleTrace;
|
|
129
|
+
usage: string[];
|
|
130
|
+
};
|
|
131
|
+
refine: {
|
|
132
|
+
run: ({ hippoRoot, flags }: CommandContext) => Promise<void>;
|
|
133
|
+
usage: string[];
|
|
134
|
+
};
|
|
135
|
+
sleep: {
|
|
136
|
+
run: ({ hippoRoot, flags }: CommandContext) => Promise<void>;
|
|
137
|
+
usage: string[];
|
|
138
|
+
};
|
|
139
|
+
'last-sleep': {
|
|
140
|
+
run: ({ flags }: CommandContext) => void;
|
|
141
|
+
usage: string[];
|
|
142
|
+
};
|
|
143
|
+
'session-end': {
|
|
144
|
+
run: ({ hippoRoot, flags }: CommandContext) => Promise<void>;
|
|
145
|
+
usage: string[];
|
|
146
|
+
};
|
|
147
|
+
'__session-end-worker': {
|
|
148
|
+
run: ({ hippoRoot, flags }: CommandContext) => Promise<void>;
|
|
149
|
+
usage: never[];
|
|
150
|
+
};
|
|
151
|
+
'pre-compact': {
|
|
152
|
+
run: typeof handlePreCompact;
|
|
153
|
+
usage: string[];
|
|
154
|
+
};
|
|
155
|
+
'post-compact': {
|
|
156
|
+
run: typeof handlePostCompact;
|
|
157
|
+
usage: string[];
|
|
158
|
+
};
|
|
159
|
+
'capture-error': {
|
|
160
|
+
run: typeof handleCaptureError;
|
|
161
|
+
usage: string[];
|
|
162
|
+
};
|
|
163
|
+
'compact-resume': {
|
|
164
|
+
run: typeof handleCompactResume;
|
|
165
|
+
usage: string[];
|
|
166
|
+
};
|
|
167
|
+
'codex-run': {
|
|
168
|
+
run: ({ hippoRoot, args }: CommandContext) => void;
|
|
169
|
+
usage: string[];
|
|
170
|
+
};
|
|
171
|
+
'__codex-session-end-worker': {
|
|
172
|
+
run: ({ hippoRoot, flags }: CommandContext) => Promise<void>;
|
|
173
|
+
usage: never[];
|
|
174
|
+
};
|
|
175
|
+
dedup: {
|
|
176
|
+
run: ({ hippoRoot, flags }: CommandContext) => void;
|
|
177
|
+
usage: string[];
|
|
178
|
+
};
|
|
179
|
+
dag: {
|
|
180
|
+
run: ({ hippoRoot, flags }: CommandContext) => void;
|
|
181
|
+
usage: string[];
|
|
182
|
+
};
|
|
183
|
+
auth: {
|
|
184
|
+
run: ({ hippoRoot, args, flags }: CommandContext) => void;
|
|
185
|
+
usage: string[];
|
|
186
|
+
};
|
|
187
|
+
goal: {
|
|
188
|
+
run: ({ hippoRoot, args, flags }: CommandContext) => void;
|
|
189
|
+
usage: string[];
|
|
190
|
+
};
|
|
191
|
+
slack: {
|
|
192
|
+
run: ({ hippoRoot, args, flags }: CommandContext) => void;
|
|
193
|
+
usage: string[];
|
|
194
|
+
};
|
|
195
|
+
github: {
|
|
196
|
+
run: ({ hippoRoot, args, flags }: CommandContext) => Promise<void>;
|
|
197
|
+
usage: string[];
|
|
198
|
+
};
|
|
199
|
+
audit: {
|
|
200
|
+
run: typeof handleAudit;
|
|
201
|
+
usage: string[];
|
|
202
|
+
};
|
|
203
|
+
'correction-latency': {
|
|
204
|
+
run: typeof handleCorrectionLatency;
|
|
205
|
+
usage: string[];
|
|
206
|
+
};
|
|
207
|
+
provenance: {
|
|
208
|
+
run: typeof handleProvenance;
|
|
209
|
+
usage: string[];
|
|
210
|
+
};
|
|
211
|
+
status: {
|
|
212
|
+
run: ({ hippoRoot }: CommandContext) => void;
|
|
213
|
+
usage: string[];
|
|
214
|
+
};
|
|
215
|
+
outcome: {
|
|
216
|
+
run: ({ hippoRoot, flags }: CommandContext) => void;
|
|
217
|
+
usage: string[];
|
|
218
|
+
};
|
|
219
|
+
conflicts: {
|
|
220
|
+
run: ({ hippoRoot, flags }: CommandContext) => void;
|
|
221
|
+
usage: string[];
|
|
222
|
+
};
|
|
223
|
+
resolve: {
|
|
224
|
+
run: ({ hippoRoot, args, flags }: CommandContext) => void;
|
|
225
|
+
usage: string[];
|
|
226
|
+
};
|
|
227
|
+
reject: {
|
|
228
|
+
run: ({ hippoRoot, args, flags }: CommandContext) => void;
|
|
229
|
+
usage: string[];
|
|
230
|
+
};
|
|
231
|
+
rejections: {
|
|
232
|
+
run: ({ hippoRoot, flags }: CommandContext) => void;
|
|
233
|
+
usage: string[];
|
|
234
|
+
};
|
|
235
|
+
unreject: {
|
|
236
|
+
run: ({ hippoRoot, args, flags }: CommandContext) => void;
|
|
237
|
+
usage: string[];
|
|
238
|
+
};
|
|
239
|
+
dormant: {
|
|
240
|
+
run: ({ hippoRoot, args, flags }: CommandContext) => void;
|
|
241
|
+
usage: string[];
|
|
242
|
+
};
|
|
243
|
+
projects: {
|
|
244
|
+
run: ({ hippoRoot, args, flags }: CommandContext) => Promise<void>;
|
|
245
|
+
usage: string[];
|
|
246
|
+
};
|
|
247
|
+
quarantine: {
|
|
248
|
+
run: ({ hippoRoot, args, flags }: CommandContext) => void;
|
|
249
|
+
usage: string[];
|
|
250
|
+
};
|
|
251
|
+
tokens: {
|
|
252
|
+
run: ({ hippoRoot, flags }: CommandContext) => void;
|
|
253
|
+
usage: string[];
|
|
254
|
+
};
|
|
255
|
+
failures: {
|
|
256
|
+
run: ({ hippoRoot, flags }: CommandContext) => void;
|
|
257
|
+
usage: string[];
|
|
258
|
+
};
|
|
259
|
+
doctor: {
|
|
260
|
+
run: typeof handleDoctor;
|
|
261
|
+
usage: string[];
|
|
262
|
+
};
|
|
263
|
+
'support-bundle': {
|
|
264
|
+
run: typeof handleSupportBundle;
|
|
265
|
+
usage: string[];
|
|
266
|
+
};
|
|
267
|
+
snapshot: {
|
|
268
|
+
run: ({ hippoRoot, args, flags }: CommandContext) => void;
|
|
269
|
+
usage: string[];
|
|
270
|
+
};
|
|
271
|
+
session: {
|
|
272
|
+
run: ({ hippoRoot, args, flags }: CommandContext) => void;
|
|
273
|
+
usage: string[];
|
|
274
|
+
};
|
|
275
|
+
handoff: {
|
|
276
|
+
run: ({ hippoRoot, args, flags }: CommandContext) => void;
|
|
277
|
+
usage: string[];
|
|
278
|
+
};
|
|
279
|
+
card: {
|
|
280
|
+
run: ({ hippoRoot, args, flags }: CommandContext) => void;
|
|
281
|
+
usage: string[];
|
|
282
|
+
};
|
|
283
|
+
predict: {
|
|
284
|
+
run: ({ hippoRoot, args, flags }: CommandContext) => void;
|
|
285
|
+
usage: string[];
|
|
286
|
+
};
|
|
287
|
+
current: {
|
|
288
|
+
run: ({ hippoRoot, args, flags }: CommandContext) => void;
|
|
289
|
+
usage: string[];
|
|
290
|
+
};
|
|
291
|
+
forget: {
|
|
292
|
+
run: typeof handleForget;
|
|
293
|
+
usage: string[];
|
|
294
|
+
};
|
|
295
|
+
inspect: {
|
|
296
|
+
run: typeof handleInspect;
|
|
297
|
+
usage: string[];
|
|
298
|
+
};
|
|
299
|
+
context: {
|
|
300
|
+
run: typeof handleContext;
|
|
301
|
+
usage: string[];
|
|
302
|
+
};
|
|
303
|
+
hook: {
|
|
304
|
+
run: ({ args, flags }: CommandContext) => void;
|
|
305
|
+
usage: string[];
|
|
306
|
+
};
|
|
307
|
+
setup: {
|
|
308
|
+
run: ({ flags }: CommandContext) => void;
|
|
309
|
+
usage: string[];
|
|
310
|
+
};
|
|
311
|
+
'daily-runner': {
|
|
312
|
+
run: () => void;
|
|
313
|
+
usage: string[];
|
|
314
|
+
};
|
|
315
|
+
embed: {
|
|
316
|
+
run: ({ hippoRoot, flags }: CommandContext) => Promise<void>;
|
|
317
|
+
usage: string[];
|
|
318
|
+
};
|
|
319
|
+
watch: {
|
|
320
|
+
run: typeof handleWatch;
|
|
321
|
+
usage: string[];
|
|
322
|
+
};
|
|
323
|
+
learn: {
|
|
324
|
+
run: ({ hippoRoot, flags }: CommandContext) => void;
|
|
325
|
+
usage: string[];
|
|
326
|
+
};
|
|
327
|
+
promote: {
|
|
328
|
+
run: typeof handlePromote;
|
|
329
|
+
usage: string[];
|
|
330
|
+
};
|
|
331
|
+
sync: {
|
|
332
|
+
run: ({ hippoRoot, flags }: CommandContext) => void;
|
|
333
|
+
usage: string[];
|
|
334
|
+
};
|
|
335
|
+
share: {
|
|
336
|
+
run: typeof handleShare;
|
|
337
|
+
usage: string[];
|
|
338
|
+
};
|
|
339
|
+
peers: {
|
|
340
|
+
run: typeof handlePeers;
|
|
341
|
+
usage: string[];
|
|
342
|
+
};
|
|
343
|
+
import: {
|
|
344
|
+
run: ({ hippoRoot, args, flags }: CommandContext) => void;
|
|
345
|
+
usage: string[];
|
|
346
|
+
};
|
|
347
|
+
export: {
|
|
348
|
+
run: typeof handleExport;
|
|
349
|
+
usage: string[];
|
|
350
|
+
};
|
|
351
|
+
capture: {
|
|
352
|
+
run: typeof handleCapture;
|
|
353
|
+
usage: string[];
|
|
354
|
+
};
|
|
355
|
+
dashboard: {
|
|
356
|
+
run: typeof handleDashboard;
|
|
357
|
+
usage: string[];
|
|
358
|
+
};
|
|
359
|
+
wm: {
|
|
360
|
+
run: ({ hippoRoot, args, flags }: CommandContext) => void;
|
|
361
|
+
usage: string[];
|
|
362
|
+
};
|
|
363
|
+
mcp: {
|
|
364
|
+
run: typeof handleMcp;
|
|
365
|
+
usage: string[];
|
|
366
|
+
};
|
|
367
|
+
serve: {
|
|
368
|
+
run: typeof handleServe;
|
|
369
|
+
usage: string[];
|
|
370
|
+
};
|
|
371
|
+
invalidate: {
|
|
372
|
+
run: typeof handleInvalidate;
|
|
373
|
+
usage: string[];
|
|
374
|
+
};
|
|
375
|
+
decide: {
|
|
376
|
+
run: ({ hippoRoot, args, flags }: CommandContext) => void;
|
|
377
|
+
usage: string[];
|
|
378
|
+
};
|
|
379
|
+
incident: {
|
|
380
|
+
run: ({ hippoRoot, args, flags }: CommandContext) => void;
|
|
381
|
+
usage: string[];
|
|
382
|
+
};
|
|
383
|
+
process: {
|
|
384
|
+
run: ({ hippoRoot, args, flags }: CommandContext) => void;
|
|
385
|
+
usage: string[];
|
|
386
|
+
};
|
|
387
|
+
policy: {
|
|
388
|
+
run: ({ hippoRoot, args, flags }: CommandContext) => void;
|
|
389
|
+
usage: string[];
|
|
390
|
+
};
|
|
391
|
+
skill: {
|
|
392
|
+
run: ({ hippoRoot, args, flags }: CommandContext) => void;
|
|
393
|
+
usage: string[];
|
|
394
|
+
};
|
|
395
|
+
brief: {
|
|
396
|
+
run: ({ hippoRoot, args, flags }: CommandContext) => void;
|
|
397
|
+
aliases: string[];
|
|
398
|
+
usage: string[];
|
|
399
|
+
};
|
|
400
|
+
note: {
|
|
401
|
+
run: ({ hippoRoot, args, flags }: CommandContext) => void;
|
|
402
|
+
aliases: string[];
|
|
403
|
+
usage: string[];
|
|
404
|
+
};
|
|
405
|
+
graph: {
|
|
406
|
+
run: ({ hippoRoot, args, flags }: CommandContext) => void;
|
|
407
|
+
usage: string[];
|
|
408
|
+
};
|
|
409
|
+
};
|
|
57
410
|
export declare function usageText(): string;
|
|
411
|
+
/** One verb's help blocks as `hippo <verb> --help` prints them, or null for a verb with none. */
|
|
58
412
|
export declare function verbUsage(verb: string): string | null;
|
|
59
413
|
export declare function runCli(argv?: string[]): Promise<void>;
|
|
414
|
+
export {};
|
|
60
415
|
//# sourceMappingURL=cli.d.ts.map
|