agenr 2.1.0 → 3.1.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/CHANGELOG.md +65 -0
- package/LICENSE +21 -661
- package/README.md +48 -25
- package/dist/adapters/openclaw/index.d.ts +1 -1
- package/dist/adapters/openclaw/index.js +533 -2260
- package/dist/adapters/skeln/index.d.ts +1951 -0
- package/dist/adapters/skeln/index.js +3964 -0
- package/dist/chunk-E2DHUFZK.js +2660 -0
- package/dist/{chunk-DGV6D6Q3.js → chunk-EEEL53X4.js} +3547 -4479
- package/dist/chunk-GELCEVFA.js +14 -0
- package/dist/chunk-JSVQILB3.js +1207 -0
- package/dist/{chunk-7TDALVPY.js → chunk-NNO2V4GH.js} +5139 -4635
- package/dist/{chunk-MJIB6J5S.js → chunk-NOIZQRQV.js} +6 -4
- package/dist/{chunk-IMQIJPIP.js → chunk-V5CDMHRN.js} +48 -60
- package/dist/claim-slot-policy-CdrW_1l4.d.ts +13 -0
- package/dist/cli.js +19 -17
- package/dist/core/recall/index.d.ts +5 -14
- package/dist/core/recall/index.js +1 -1
- package/dist/internal-eval-server.js +5 -4
- package/dist/internal-recall-eval-server.js +5 -4
- package/dist/{ports-Nj5nd2Ri.d.ts → ports-CpzWESmZ.d.ts} +208 -2
- package/package.json +8 -6
- /package/dist/{chunk-6T5RXGIR.js → chunk-5LADPJ4C.js} +0 -0
|
@@ -7,10 +7,12 @@ import {
|
|
|
7
7
|
BEFORE_TURN_DEBUG_ARTIFACT_DEFAULT_TOP_K,
|
|
8
8
|
BEFORE_TURN_DEBUG_ARTIFACT_MAX_TOP_K,
|
|
9
9
|
RECALL_DEBUG_ARTIFACT_DEFAULT_TOP_K,
|
|
10
|
-
RECALL_DEBUG_ARTIFACT_MAX_TOP_K
|
|
10
|
+
RECALL_DEBUG_ARTIFACT_MAX_TOP_K
|
|
11
|
+
} from "./chunk-GELCEVFA.js";
|
|
12
|
+
import {
|
|
11
13
|
formatAgenrBeforeTurnRecall,
|
|
12
14
|
runBeforeTurn
|
|
13
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-V5CDMHRN.js";
|
|
14
16
|
import {
|
|
15
17
|
CLAIM_KEY_SOURCES,
|
|
16
18
|
CLAIM_KEY_STATUSES,
|
|
@@ -39,10 +41,10 @@ import {
|
|
|
39
41
|
resolveEmbeddingModel,
|
|
40
42
|
resolveModel,
|
|
41
43
|
runUnifiedRecall
|
|
42
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-NNO2V4GH.js";
|
|
43
45
|
import {
|
|
44
46
|
recall
|
|
45
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-5LADPJ4C.js";
|
|
46
48
|
|
|
47
49
|
// src/internal-eval-server.ts
|
|
48
50
|
import process from "process";
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
projectClaimCentricRecallEntry,
|
|
3
|
-
runProcedureRecall
|
|
4
|
-
|
|
3
|
+
runProcedureRecall,
|
|
4
|
+
truncate
|
|
5
|
+
} from "./chunk-NNO2V4GH.js";
|
|
5
6
|
import {
|
|
6
7
|
recall
|
|
7
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-5LADPJ4C.js";
|
|
8
9
|
|
|
9
10
|
// src/app/before-turn/service.ts
|
|
10
11
|
var DEFAULT_MAX_DURABLE_ENTRIES = 1;
|
|
@@ -355,7 +356,7 @@ function buildCurrentTurnOnlyQuery(currentTurnText, maxChars) {
|
|
|
355
356
|
if (maxChars <= 0) {
|
|
356
357
|
return void 0;
|
|
357
358
|
}
|
|
358
|
-
const query =
|
|
359
|
+
const query = truncate2(normalizeWhitespace(currentTurnText), maxChars);
|
|
359
360
|
return query.length > 0 ? query : void 0;
|
|
360
361
|
}
|
|
361
362
|
function buildContextualAnchorQuery(currentTurnQuery, recentTurns, maxChars) {
|
|
@@ -369,7 +370,7 @@ function buildContextualAnchorQuery(currentTurnQuery, recentTurns, maxChars) {
|
|
|
369
370
|
if (remaining <= 0) {
|
|
370
371
|
return void 0;
|
|
371
372
|
}
|
|
372
|
-
return `${currentTurnQuery}${separator}${prefix}${
|
|
373
|
+
return `${currentTurnQuery}${separator}${prefix}${truncate2(anchor, remaining)}`;
|
|
373
374
|
}
|
|
374
375
|
function buildCompactContextAnchor(recentTurns) {
|
|
375
376
|
const recentTurn = recentTurns[recentTurns.length - 1];
|
|
@@ -377,7 +378,7 @@ function buildCompactContextAnchor(recentTurns) {
|
|
|
377
378
|
return void 0;
|
|
378
379
|
}
|
|
379
380
|
const normalized = normalizeWhitespace(recentTurn.text);
|
|
380
|
-
return normalized.length > 0 ?
|
|
381
|
+
return normalized.length > 0 ? truncate2(normalized, MAX_CONTEXT_ANCHOR_CHARS) : void 0;
|
|
381
382
|
}
|
|
382
383
|
function requiresContextualQuery(currentTurnText) {
|
|
383
384
|
const normalizedTurn = normalizeWhitespace(currentTurnText);
|
|
@@ -401,10 +402,10 @@ function shouldAllowContextualFallback(currentTurnText, recentTurns) {
|
|
|
401
402
|
function buildProcedureQuery(currentTurnText, recentTurns, maxChars) {
|
|
402
403
|
const normalizedCurrentTurn = normalizeWhitespace(currentTurnText);
|
|
403
404
|
if (normalizedCurrentTurn.length > 0) {
|
|
404
|
-
return
|
|
405
|
+
return truncate2(normalizedCurrentTurn, maxChars);
|
|
405
406
|
}
|
|
406
407
|
const recentUserTurn = [...recentTurns].reverse().find((turn) => turn.role === "user");
|
|
407
|
-
return recentUserTurn ?
|
|
408
|
+
return recentUserTurn ? truncate2(normalizeWhitespace(recentUserTurn.text), maxChars) : void 0;
|
|
408
409
|
}
|
|
409
410
|
function applyDirectnessSelection(currentTurnText, items) {
|
|
410
411
|
if (items.length === 0) {
|
|
@@ -748,7 +749,7 @@ function normalizeOptionalString(value) {
|
|
|
748
749
|
function normalizeWhitespace(value) {
|
|
749
750
|
return value.replace(/\s+/g, " ").trim();
|
|
750
751
|
}
|
|
751
|
-
function
|
|
752
|
+
function truncate2(value, maxChars) {
|
|
752
753
|
if (maxChars <= 0) {
|
|
753
754
|
return "";
|
|
754
755
|
}
|
|
@@ -764,7 +765,34 @@ function formatErrorMessage(error) {
|
|
|
764
765
|
return String(error);
|
|
765
766
|
}
|
|
766
767
|
|
|
767
|
-
// src/adapters/
|
|
768
|
+
// src/adapters/shared/injection/entry-lines.ts
|
|
769
|
+
var MAX_CONTENT_CHARS = 220;
|
|
770
|
+
function formatInjectionEntryHeader(item) {
|
|
771
|
+
const metadata = [
|
|
772
|
+
`rank ${item.rank}`,
|
|
773
|
+
item.entry.id,
|
|
774
|
+
item.entry.type,
|
|
775
|
+
item.entry.expiry,
|
|
776
|
+
`importance ${item.entry.importance}`,
|
|
777
|
+
item.score !== void 0 ? `score ${item.score.toFixed(2)}` : void 0
|
|
778
|
+
].filter((value) => value !== void 0);
|
|
779
|
+
return `- [${metadata.join(" | ")}] ${item.entry.subject}`;
|
|
780
|
+
}
|
|
781
|
+
function formatInjectionEntryBodyLines(item) {
|
|
782
|
+
const lines = [` ${truncate(item.entry.content.trim(), MAX_CONTENT_CHARS)}`];
|
|
783
|
+
lines.push(` why: ${item.whySurfaced.summary}`);
|
|
784
|
+
const metadata = [
|
|
785
|
+
item.entry.tags.length > 0 ? `tags: ${item.entry.tags.join(", ")}` : void 0,
|
|
786
|
+
item.freshnessLabel ? `freshness: ${item.freshnessLabel}` : void 0,
|
|
787
|
+
item.provenanceSummary ? `provenance: ${truncate(item.provenanceSummary, MAX_CONTENT_CHARS)}` : void 0
|
|
788
|
+
].filter((value) => value !== void 0);
|
|
789
|
+
if (metadata.length > 0) {
|
|
790
|
+
lines.push(` ${metadata.join(" | ")}`);
|
|
791
|
+
}
|
|
792
|
+
return lines;
|
|
793
|
+
}
|
|
794
|
+
|
|
795
|
+
// src/adapters/shared/injection/memory-context.ts
|
|
768
796
|
var AGENR_MEMORY_CONTEXT_BLOCK_RE = /<agenr-memory-context>[\s\S]*?<\/agenr-memory-context>/giu;
|
|
769
797
|
var AGENR_MEMORY_CONTEXT_OPEN_RE = /<agenr-memory-context>/giu;
|
|
770
798
|
var AGENR_MEMORY_CONTEXT_CLOSE_RE = /<\/agenr-memory-context>/giu;
|
|
@@ -786,8 +814,8 @@ function stripAgenrMemoryContext(content) {
|
|
|
786
814
|
return content.replace(AGENR_MEMORY_CONTEXT_BLOCK_RE, " ").replace(AGENR_MEMORY_CONTEXT_OPEN_RE, " ").replace(AGENR_MEMORY_CONTEXT_CLOSE_RE, " ").replace(AGENR_MEMORY_CONTEXT_NOTE_RE, " ");
|
|
787
815
|
}
|
|
788
816
|
|
|
789
|
-
// src/adapters/
|
|
790
|
-
var
|
|
817
|
+
// src/adapters/shared/injection/before-turn-format.ts
|
|
818
|
+
var MAX_CONTENT_CHARS2 = 220;
|
|
791
819
|
function formatAgenrBeforeTurnRecall(patch) {
|
|
792
820
|
if (patch.durableMemory.length === 0 && !patch.procedure) {
|
|
793
821
|
return "";
|
|
@@ -800,8 +828,8 @@ function formatAgenrBeforeTurnRecall(patch) {
|
|
|
800
828
|
if (patch.durableMemory.length > 0) {
|
|
801
829
|
lines.push("### Relevant Durable Memory");
|
|
802
830
|
for (const item of patch.durableMemory) {
|
|
803
|
-
lines.push(
|
|
804
|
-
lines.push(...
|
|
831
|
+
lines.push(formatInjectionEntryHeader(item));
|
|
832
|
+
lines.push(...formatInjectionEntryBodyLines(item));
|
|
805
833
|
}
|
|
806
834
|
lines.push("");
|
|
807
835
|
}
|
|
@@ -813,30 +841,6 @@ function formatAgenrBeforeTurnRecall(patch) {
|
|
|
813
841
|
}
|
|
814
842
|
return wrapAgenrMemoryContext(lines.join("\n").trim());
|
|
815
843
|
}
|
|
816
|
-
function formatEntryHeader(item) {
|
|
817
|
-
const metadata = [
|
|
818
|
-
`rank ${item.rank}`,
|
|
819
|
-
item.entry.id,
|
|
820
|
-
item.entry.type,
|
|
821
|
-
item.entry.expiry,
|
|
822
|
-
`importance ${item.entry.importance}`,
|
|
823
|
-
`score ${item.score.toFixed(2)}`
|
|
824
|
-
];
|
|
825
|
-
return `- [${metadata.join(" | ")}] ${item.entry.subject}`;
|
|
826
|
-
}
|
|
827
|
-
function formatEntryBodyLines(item) {
|
|
828
|
-
const lines = [` ${truncate2(item.entry.content.trim(), MAX_CONTENT_CHARS)}`];
|
|
829
|
-
lines.push(` why: ${item.whySurfaced.summary}`);
|
|
830
|
-
const metadata = [
|
|
831
|
-
item.entry.tags.length > 0 ? `tags: ${item.entry.tags.join(", ")}` : void 0,
|
|
832
|
-
item.freshnessLabel ? `freshness: ${item.freshnessLabel}` : void 0,
|
|
833
|
-
item.provenanceSummary ? `provenance: ${truncate2(item.provenanceSummary, MAX_CONTENT_CHARS)}` : void 0
|
|
834
|
-
].filter((value) => value !== void 0);
|
|
835
|
-
if (metadata.length > 0) {
|
|
836
|
-
lines.push(` ${metadata.join(" | ")}`);
|
|
837
|
-
}
|
|
838
|
-
return lines;
|
|
839
|
-
}
|
|
840
844
|
function formatProcedureHeader(suggestion) {
|
|
841
845
|
const metadata = [
|
|
842
846
|
suggestion.procedure.id,
|
|
@@ -848,39 +852,23 @@ function formatProcedureHeader(suggestion) {
|
|
|
848
852
|
return `- [${metadata.join(" | ")}] ${suggestion.procedure.title}`;
|
|
849
853
|
}
|
|
850
854
|
function formatProcedureBodyLines(suggestion) {
|
|
851
|
-
const lines = [` goal: ${
|
|
855
|
+
const lines = [` goal: ${truncate(suggestion.procedure.goal.trim(), MAX_CONTENT_CHARS2)}`];
|
|
852
856
|
lines.push(` why: ${suggestion.whySurfaced.summary}`);
|
|
853
857
|
if (suggestion.procedure.when_to_use.length > 0) {
|
|
854
|
-
lines.push(` when to use: ${
|
|
858
|
+
lines.push(` when to use: ${truncate(suggestion.procedure.when_to_use.join("; "), MAX_CONTENT_CHARS2)}`);
|
|
855
859
|
}
|
|
856
860
|
if (suggestion.procedure.verification.length > 0) {
|
|
857
|
-
lines.push(` verification: ${
|
|
861
|
+
lines.push(` verification: ${truncate(suggestion.procedure.verification.join("; "), MAX_CONTENT_CHARS2)}`);
|
|
858
862
|
}
|
|
859
863
|
return lines;
|
|
860
864
|
}
|
|
861
|
-
function truncate2(value, maxChars) {
|
|
862
|
-
if (value.length <= maxChars) {
|
|
863
|
-
return value;
|
|
864
|
-
}
|
|
865
|
-
return `${value.slice(0, maxChars - 3).trimEnd()}...`;
|
|
866
|
-
}
|
|
867
|
-
|
|
868
|
-
// src/app/debug-artifacts/before-turn.ts
|
|
869
|
-
var BEFORE_TURN_DEBUG_ARTIFACT_DEFAULT_TOP_K = 10;
|
|
870
|
-
var BEFORE_TURN_DEBUG_ARTIFACT_MAX_TOP_K = 25;
|
|
871
|
-
|
|
872
|
-
// src/app/debug-artifacts/recall.ts
|
|
873
|
-
var RECALL_DEBUG_ARTIFACT_DEFAULT_TOP_K = 10;
|
|
874
|
-
var RECALL_DEBUG_ARTIFACT_MAX_TOP_K = 25;
|
|
875
865
|
|
|
876
866
|
export {
|
|
877
867
|
runBeforeTurn,
|
|
868
|
+
formatInjectionEntryHeader,
|
|
869
|
+
formatInjectionEntryBodyLines,
|
|
878
870
|
wrapAgenrMemoryContext,
|
|
879
871
|
containsAgenrMemoryContext,
|
|
880
872
|
stripAgenrMemoryContext,
|
|
881
|
-
formatAgenrBeforeTurnRecall
|
|
882
|
-
BEFORE_TURN_DEBUG_ARTIFACT_DEFAULT_TOP_K,
|
|
883
|
-
BEFORE_TURN_DEBUG_ARTIFACT_MAX_TOP_K,
|
|
884
|
-
RECALL_DEBUG_ARTIFACT_DEFAULT_TOP_K,
|
|
885
|
-
RECALL_DEBUG_ARTIFACT_MAX_TOP_K
|
|
873
|
+
formatAgenrBeforeTurnRecall
|
|
886
874
|
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime slot-policy classes used by claim-centric read surfaces.
|
|
3
|
+
*/
|
|
4
|
+
type ClaimSlotPolicy = "exclusive" | "multivalued";
|
|
5
|
+
/**
|
|
6
|
+
* Data-driven slot-policy overrides keyed by canonical claim-key attribute head.
|
|
7
|
+
*/
|
|
8
|
+
interface ClaimSlotPolicyConfig {
|
|
9
|
+
/** Optional attribute-head policy overrides such as `integration -> exclusive`. */
|
|
10
|
+
attributeHeads?: Readonly<Record<string, ClaimSlotPolicy>>;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export type { ClaimSlotPolicyConfig as C, ClaimSlotPolicy as a };
|
package/dist/cli.js
CHANGED
|
@@ -4,6 +4,12 @@ import {
|
|
|
4
4
|
computeProcedureRevisionHash,
|
|
5
5
|
computeProcedureSourceHash
|
|
6
6
|
} from "./chunk-ZYADFKX3.js";
|
|
7
|
+
import {
|
|
8
|
+
deriveOpenClawSessionIdFromFilePath,
|
|
9
|
+
openClawTranscriptParser,
|
|
10
|
+
parseTuiSessionKey,
|
|
11
|
+
readOpenClawSessionsStore
|
|
12
|
+
} from "./chunk-JSVQILB3.js";
|
|
7
13
|
import {
|
|
8
14
|
applyClaimExtractionResultToEntry,
|
|
9
15
|
backfillEpisodeEmbeddings,
|
|
@@ -12,8 +18,7 @@ import {
|
|
|
12
18
|
computeContentHash,
|
|
13
19
|
computeNormContentHash,
|
|
14
20
|
createEpisodeIngestPlan,
|
|
15
|
-
|
|
16
|
-
deriveOpenClawSessionIdFromFilePath,
|
|
21
|
+
createMemoryRepository,
|
|
17
22
|
describeSupersessionRuleFailure,
|
|
18
23
|
detectClaimKeyEntityFamilyCandidates,
|
|
19
24
|
detectClaimKeySingletonAliasCandidates,
|
|
@@ -21,17 +26,14 @@ import {
|
|
|
21
26
|
evaluateClaimKeySupport,
|
|
22
27
|
executeEpisodeIngestPlan,
|
|
23
28
|
normalizeGroundingTags,
|
|
24
|
-
openClawTranscriptParser,
|
|
25
|
-
parseTuiSessionKey,
|
|
26
29
|
prepareEpisodeIngest,
|
|
27
30
|
previewClaimKeyExtraction,
|
|
28
|
-
readOpenClawSessionsStore,
|
|
29
31
|
runBatchClaimExtraction,
|
|
30
32
|
storeEntriesDetailed,
|
|
31
33
|
tokenizeGroundingText,
|
|
32
34
|
validateEntriesWithIndexes,
|
|
33
35
|
validateSupersessionRules
|
|
34
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-EEEL53X4.js";
|
|
35
37
|
import {
|
|
36
38
|
DEFAULT_CLAIM_EXTRACTION_CONCURRENCY,
|
|
37
39
|
DEFAULT_SURGEON_CONTEXT_LIMIT,
|
|
@@ -98,7 +100,7 @@ import {
|
|
|
98
100
|
updateEntry,
|
|
99
101
|
validateTemporalValidityRange,
|
|
100
102
|
writeConfig
|
|
101
|
-
} from "./chunk-
|
|
103
|
+
} from "./chunk-NNO2V4GH.js";
|
|
102
104
|
import {
|
|
103
105
|
compactClaimKey,
|
|
104
106
|
describeClaimKeyNormalizationFailure,
|
|
@@ -109,7 +111,7 @@ import {
|
|
|
109
111
|
normalizeClaimKeySegment,
|
|
110
112
|
recall,
|
|
111
113
|
resolveClaimSlotPolicy
|
|
112
|
-
} from "./chunk-
|
|
114
|
+
} from "./chunk-5LADPJ4C.js";
|
|
113
115
|
|
|
114
116
|
// src/cli/main.ts
|
|
115
117
|
import { Command } from "commander";
|
|
@@ -4007,7 +4009,7 @@ function parseConcurrency(value) {
|
|
|
4007
4009
|
}
|
|
4008
4010
|
|
|
4009
4011
|
// src/cli/commands/setup.ts
|
|
4010
|
-
import { getModels } from "@
|
|
4012
|
+
import { getModels } from "@earendil-works/pi-ai";
|
|
4011
4013
|
|
|
4012
4014
|
// src/cli/ui.ts
|
|
4013
4015
|
import os from "os";
|
|
@@ -5088,7 +5090,7 @@ async function runSetupCore2(options = {}) {
|
|
|
5088
5090
|
}
|
|
5089
5091
|
|
|
5090
5092
|
// src/cli/commands/init/cost-estimator.ts
|
|
5091
|
-
import { getModels as getModels2 } from "@
|
|
5093
|
+
import { getModels as getModels2 } from "@earendil-works/pi-ai";
|
|
5092
5094
|
var CHARS_PER_TOKEN2 = 4;
|
|
5093
5095
|
var EFFECTIVE_CONTENT_RATIO = 0.1;
|
|
5094
5096
|
var OUTPUT_TOKEN_RATIO = 0.1;
|
|
@@ -5904,7 +5906,7 @@ import { InvalidArgumentError as InvalidArgumentError5, Option as Option4 } from
|
|
|
5904
5906
|
import { randomUUID as randomUUID11 } from "crypto";
|
|
5905
5907
|
import { mkdir as mkdir2, writeFile } from "fs/promises";
|
|
5906
5908
|
import path20 from "path";
|
|
5907
|
-
import { getModel } from "@
|
|
5909
|
+
import { getModel } from "@earendil-works/pi-ai";
|
|
5908
5910
|
|
|
5909
5911
|
// src/adapters/db/surgeon-run-log.ts
|
|
5910
5912
|
import { randomUUID as randomUUID2 } from "crypto";
|
|
@@ -7392,7 +7394,7 @@ function createSurgeonPort(executor) {
|
|
|
7392
7394
|
import { randomUUID as randomUUID9 } from "crypto";
|
|
7393
7395
|
import fs10 from "fs";
|
|
7394
7396
|
import path15 from "path";
|
|
7395
|
-
import { runAgentLoop } from "@
|
|
7397
|
+
import { runAgentLoop } from "@earendil-works/pi-agent-core";
|
|
7396
7398
|
|
|
7397
7399
|
// src/core/surgeon/domain/run-presets.ts
|
|
7398
7400
|
var AUTONOMOUS_SURGEON_SEQUENCE = ["claim_key_quality", "proposal_resolution", "supersession", "retirement"];
|
|
@@ -15652,7 +15654,7 @@ import { InvalidArgumentError as InvalidArgumentError6, Option as Option5 } from
|
|
|
15652
15654
|
import { copyFile, mkdir as mkdir3 } from "fs/promises";
|
|
15653
15655
|
import path21 from "path";
|
|
15654
15656
|
import { fileURLToPath as fileURLToPath3 } from "url";
|
|
15655
|
-
import { getModel as getModel2 } from "@
|
|
15657
|
+
import { getModel as getModel2 } from "@earendil-works/pi-ai";
|
|
15656
15658
|
var DEFAULT_SURGEON_PROVIDER = "openai";
|
|
15657
15659
|
var DEFAULT_SURGEON_MODEL = "gpt-5.4-mini";
|
|
15658
15660
|
var getModelWithStrings = getModel2;
|
|
@@ -16814,8 +16816,8 @@ function formatPassContextSummary(event) {
|
|
|
16814
16816
|
// src/cli/commands/trace.ts
|
|
16815
16817
|
import { Option as Option6 } from "commander";
|
|
16816
16818
|
|
|
16817
|
-
// src/app/
|
|
16818
|
-
async function
|
|
16819
|
+
// src/app/memory/inspect.ts
|
|
16820
|
+
async function loadEntryTraceRuntime(input) {
|
|
16819
16821
|
const selector = normalizeTraceSelector(input);
|
|
16820
16822
|
const configPathOverride = normalizeOptionalString13(input.env?.AGENR_CONFIG_PATH);
|
|
16821
16823
|
const config = readConfig({
|
|
@@ -16824,7 +16826,7 @@ async function loadOpenClawEntryTraceRuntime(input) {
|
|
|
16824
16826
|
});
|
|
16825
16827
|
const dbPath = normalizeOptionalString13(input.dbPath) ?? normalizeOptionalString13(input.env?.AGENR_DB_PATH) ?? resolveDbPath(config);
|
|
16826
16828
|
const database = await createDatabase(dbPath);
|
|
16827
|
-
const repository =
|
|
16829
|
+
const repository = createMemoryRepository(database);
|
|
16828
16830
|
try {
|
|
16829
16831
|
const entryId = await resolveTraceEntryId(repository, selector);
|
|
16830
16832
|
const trace = await repository.getEntryTrace(entryId);
|
|
@@ -16876,7 +16878,7 @@ function normalizeOptionalString13(value) {
|
|
|
16876
16878
|
function registerTraceCommand(program2) {
|
|
16877
16879
|
program2.command("trace").description("Inspect one entry's provenance and claim-family lineage").addOption(new Option6("--id <id>", "Entry id to inspect")).addOption(new Option6("--subject <text>", "Subject text to resolve when the id is unknown")).option("--last", "Inspect the most recently created entry").option("--json", "Emit structured JSON output").action(async (options) => {
|
|
16878
16880
|
try {
|
|
16879
|
-
const trace = await
|
|
16881
|
+
const trace = await loadEntryTraceRuntime({
|
|
16880
16882
|
id: options.id,
|
|
16881
16883
|
subject: options.subject,
|
|
16882
16884
|
last: options.last === true,
|
|
@@ -1,17 +1,6 @@
|
|
|
1
|
-
import { E as EntryType, C as CrossEncoderPort, a as Expiry, R as RecallInput, b as RecallPorts, c as RecallOutput } from '../../ports-
|
|
2
|
-
export { D as DEFAULT_NEIGHBORHOOD_BUDGET, d as DEFAULT_SEEDED_RERANK_WEIGHT, e as DEFAULT_STRONG_SEED_SCORE_GAP, f as DEFAULT_STRONG_SEED_TOP_N, g as EntityAttributeKind, h as EntityAttributeQueryShape, i as EntryFilters, j as EntryNeighborhoodRequest, F as FtsCandidate, N as NeighborhoodFamily, k as RecallCandidateEntry, l as RecallRankingProfile, S as SeededRerankCandidate, m as SeededRerankOptions, V as VectorCandidate, s as seededRerank, n as selectStrongSeeds, o as sharesEntryLineage, p as sharesEpisodeLineage, q as sharesProcedureLineage } from '../../ports-
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Runtime slot-policy classes used by claim-centric read surfaces.
|
|
6
|
-
*/
|
|
7
|
-
type ClaimSlotPolicy = "exclusive" | "multivalued";
|
|
8
|
-
/**
|
|
9
|
-
* Data-driven slot-policy overrides keyed by canonical claim-key attribute head.
|
|
10
|
-
*/
|
|
11
|
-
interface ClaimSlotPolicyConfig {
|
|
12
|
-
/** Optional attribute-head policy overrides such as `integration -> exclusive`. */
|
|
13
|
-
attributeHeads?: Readonly<Record<string, ClaimSlotPolicy>>;
|
|
14
|
-
}
|
|
1
|
+
import { E as EntryType, C as CrossEncoderPort, a as Expiry, R as RecallInput, b as RecallPorts, c as RecallOutput } from '../../ports-CpzWESmZ.js';
|
|
2
|
+
export { D as DEFAULT_NEIGHBORHOOD_BUDGET, d as DEFAULT_SEEDED_RERANK_WEIGHT, e as DEFAULT_STRONG_SEED_SCORE_GAP, f as DEFAULT_STRONG_SEED_TOP_N, g as EntityAttributeKind, h as EntityAttributeQueryShape, i as EntryFilters, j as EntryNeighborhoodRequest, F as FtsCandidate, N as NeighborhoodFamily, k as RecallCandidateEntry, l as RecallRankingProfile, S as SeededRerankCandidate, m as SeededRerankOptions, V as VectorCandidate, s as seededRerank, n as selectStrongSeeds, o as sharesEntryLineage, p as sharesEpisodeLineage, q as sharesProcedureLineage } from '../../ports-CpzWESmZ.js';
|
|
3
|
+
import { C as ClaimSlotPolicyConfig } from '../../claim-slot-policy-CdrW_1l4.js';
|
|
15
4
|
|
|
16
5
|
/**
|
|
17
6
|
* Stable reason emitted when recall returns no final results.
|
|
@@ -353,6 +342,7 @@ declare const DEFAULT_CROSS_ENCODER_TOP_K = 10;
|
|
|
353
342
|
* letting prior shaping stages shape the final order.
|
|
354
343
|
*/
|
|
355
344
|
declare const DEFAULT_CROSS_ENCODER_ALPHA = 0.6;
|
|
345
|
+
|
|
356
346
|
/**
|
|
357
347
|
* One input candidate for the cross-encoder rerank helper.
|
|
358
348
|
*
|
|
@@ -549,6 +539,7 @@ declare const DEFAULT_MMR_LAMBDA = 0.7;
|
|
|
549
539
|
* `droppedDuplicateCount` counter; it does not affect the MMR ordering.
|
|
550
540
|
*/
|
|
551
541
|
declare const NEAR_DUPLICATE_SIMILARITY = 0.95;
|
|
542
|
+
|
|
552
543
|
/**
|
|
553
544
|
* Input candidate consumed by the MMR helper.
|
|
554
545
|
*/
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import "./chunk-
|
|
2
|
+
import "./chunk-NOIZQRQV.js";
|
|
3
3
|
import "./chunk-ZYADFKX3.js";
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
4
|
+
import "./chunk-GELCEVFA.js";
|
|
5
|
+
import "./chunk-V5CDMHRN.js";
|
|
6
|
+
import "./chunk-NNO2V4GH.js";
|
|
7
|
+
import "./chunk-5LADPJ4C.js";
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import "./chunk-
|
|
2
|
+
import "./chunk-NOIZQRQV.js";
|
|
3
3
|
import "./chunk-ZYADFKX3.js";
|
|
4
|
-
import "./chunk-
|
|
5
|
-
import "./chunk-
|
|
6
|
-
import "./chunk-
|
|
4
|
+
import "./chunk-GELCEVFA.js";
|
|
5
|
+
import "./chunk-V5CDMHRN.js";
|
|
6
|
+
import "./chunk-NNO2V4GH.js";
|
|
7
|
+
import "./chunk-5LADPJ4C.js";
|