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.
@@ -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-IMQIJPIP.js";
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-7TDALVPY.js";
44
+ } from "./chunk-NNO2V4GH.js";
43
45
  import {
44
46
  recall
45
- } from "./chunk-6T5RXGIR.js";
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
- } from "./chunk-7TDALVPY.js";
3
+ runProcedureRecall,
4
+ truncate
5
+ } from "./chunk-NNO2V4GH.js";
5
6
  import {
6
7
  recall
7
- } from "./chunk-6T5RXGIR.js";
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 = truncate(normalizeWhitespace(currentTurnText), maxChars);
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}${truncate(anchor, remaining)}`;
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 ? truncate(normalized, MAX_CONTEXT_ANCHOR_CHARS) : void 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 truncate(normalizedCurrentTurn, maxChars);
405
+ return truncate2(normalizedCurrentTurn, maxChars);
405
406
  }
406
407
  const recentUserTurn = [...recentTurns].reverse().find((turn) => turn.role === "user");
407
- return recentUserTurn ? truncate(normalizeWhitespace(recentUserTurn.text), maxChars) : void 0;
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 truncate(value, maxChars) {
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/openclaw/format/memory-context.ts
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/openclaw/format/before-turn-format.ts
790
- var MAX_CONTENT_CHARS = 220;
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(formatEntryHeader(item));
804
- lines.push(...formatEntryBodyLines(item));
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: ${truncate2(suggestion.procedure.goal.trim(), MAX_CONTENT_CHARS)}`];
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: ${truncate2(suggestion.procedure.when_to_use.join("; "), MAX_CONTENT_CHARS)}`);
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: ${truncate2(suggestion.procedure.verification.join("; "), MAX_CONTENT_CHARS)}`);
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
- createOpenClawRepository,
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-DGV6D6Q3.js";
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-7TDALVPY.js";
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-6T5RXGIR.js";
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 "@mariozechner/pi-ai";
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 "@mariozechner/pi-ai";
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 "@mariozechner/pi-ai";
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 "@mariozechner/pi-agent-core";
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 "@mariozechner/pi-ai";
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/openclaw/inspect.ts
16818
- async function loadOpenClawEntryTraceRuntime(input) {
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 = createOpenClawRepository(database);
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 loadOpenClawEntryTraceRuntime({
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-Nj5nd2Ri.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-Nj5nd2Ri.js';
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
  */
@@ -28,7 +28,7 @@ import {
28
28
  sharesEpisodeLineage,
29
29
  sharesProcedureLineage,
30
30
  tokenize
31
- } from "../../chunk-6T5RXGIR.js";
31
+ } from "../../chunk-5LADPJ4C.js";
32
32
  export {
33
33
  DEFAULT_CROSS_ENCODER_ALPHA,
34
34
  DEFAULT_CROSS_ENCODER_TOP_K,
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env node
2
- import "./chunk-MJIB6J5S.js";
2
+ import "./chunk-NOIZQRQV.js";
3
3
  import "./chunk-ZYADFKX3.js";
4
- import "./chunk-IMQIJPIP.js";
5
- import "./chunk-7TDALVPY.js";
6
- import "./chunk-6T5RXGIR.js";
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-MJIB6J5S.js";
2
+ import "./chunk-NOIZQRQV.js";
3
3
  import "./chunk-ZYADFKX3.js";
4
- import "./chunk-IMQIJPIP.js";
5
- import "./chunk-7TDALVPY.js";
6
- import "./chunk-6T5RXGIR.js";
4
+ import "./chunk-GELCEVFA.js";
5
+ import "./chunk-V5CDMHRN.js";
6
+ import "./chunk-NNO2V4GH.js";
7
+ import "./chunk-5LADPJ4C.js";