@polpo-ai/core 0.15.132 → 0.15.134

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.
Files changed (117) hide show
  1. package/README.md +40 -7
  2. package/dist/__tests__/brain-local.test.js +149 -1
  3. package/dist/__tests__/brain-local.test.js.map +1 -1
  4. package/dist/__tests__/memory-store-policy.test.js +216 -0
  5. package/dist/__tests__/memory-store-policy.test.js.map +1 -1
  6. package/dist/__tests__/project-layout.test.js +5 -0
  7. package/dist/__tests__/project-layout.test.js.map +1 -1
  8. package/dist/brain/contracts.d.ts.map +1 -1
  9. package/dist/brain/contracts.js +36 -0
  10. package/dist/brain/contracts.js.map +1 -1
  11. package/dist/brain/in-memory-store.d.ts +2 -1
  12. package/dist/brain/in-memory-store.d.ts.map +1 -1
  13. package/dist/brain/in-memory-store.js +118 -60
  14. package/dist/brain/in-memory-store.js.map +1 -1
  15. package/dist/brain/index.d.ts +6 -3
  16. package/dist/brain/index.d.ts.map +1 -1
  17. package/dist/brain/index.js +2 -1
  18. package/dist/brain/index.js.map +1 -1
  19. package/dist/brain/ingestion-worker.d.ts +33 -0
  20. package/dist/brain/ingestion-worker.d.ts.map +1 -0
  21. package/dist/brain/ingestion-worker.js +222 -0
  22. package/dist/brain/ingestion-worker.js.map +1 -0
  23. package/dist/brain/ingestion-worker.test.d.ts +2 -0
  24. package/dist/brain/ingestion-worker.test.d.ts.map +1 -0
  25. package/dist/brain/ingestion-worker.test.js +355 -0
  26. package/dist/brain/ingestion-worker.test.js.map +1 -0
  27. package/dist/brain/ports.d.ts +4 -1
  28. package/dist/brain/ports.d.ts.map +1 -1
  29. package/dist/brain/retrieval.d.ts +5 -0
  30. package/dist/brain/retrieval.d.ts.map +1 -1
  31. package/dist/brain/retrieval.js +59 -1
  32. package/dist/brain/retrieval.js.map +1 -1
  33. package/dist/brain/stores.d.ts +3 -1
  34. package/dist/brain/stores.d.ts.map +1 -1
  35. package/dist/brain/types.d.ts +20 -0
  36. package/dist/brain/types.d.ts.map +1 -1
  37. package/dist/canonical-turn-dispatcher.d.ts +30 -0
  38. package/dist/canonical-turn-dispatcher.d.ts.map +1 -0
  39. package/dist/canonical-turn-dispatcher.js +50 -0
  40. package/dist/canonical-turn-dispatcher.js.map +1 -0
  41. package/dist/canonical-turn-dispatcher.test.d.ts +2 -0
  42. package/dist/canonical-turn-dispatcher.test.d.ts.map +1 -0
  43. package/dist/canonical-turn-dispatcher.test.js +118 -0
  44. package/dist/canonical-turn-dispatcher.test.js.map +1 -0
  45. package/dist/canonical-turn.d.ts +36 -0
  46. package/dist/canonical-turn.d.ts.map +1 -0
  47. package/dist/canonical-turn.js +132 -0
  48. package/dist/canonical-turn.js.map +1 -0
  49. package/dist/canonical-turn.test.d.ts +2 -0
  50. package/dist/canonical-turn.test.d.ts.map +1 -0
  51. package/dist/canonical-turn.test.js +64 -0
  52. package/dist/canonical-turn.test.js.map +1 -0
  53. package/dist/index.d.ts +4 -1
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +3 -0
  56. package/dist/index.js.map +1 -1
  57. package/dist/memory/extraction.d.ts +10 -0
  58. package/dist/memory/extraction.d.ts.map +1 -1
  59. package/dist/memory/extraction.js +7 -1
  60. package/dist/memory/extraction.js.map +1 -1
  61. package/dist/memory/extraction.test.js +27 -0
  62. package/dist/memory/extraction.test.js.map +1 -1
  63. package/dist/memory/in-memory-extraction-store.d.ts +2 -0
  64. package/dist/memory/in-memory-extraction-store.d.ts.map +1 -1
  65. package/dist/memory/in-memory-extraction-store.js +37 -0
  66. package/dist/memory/in-memory-extraction-store.js.map +1 -1
  67. package/dist/memory/in-memory-store.d.ts +15 -2
  68. package/dist/memory/in-memory-store.d.ts.map +1 -1
  69. package/dist/memory/in-memory-store.js +209 -4
  70. package/dist/memory/in-memory-store.js.map +1 -1
  71. package/dist/memory/index.d.ts +6 -3
  72. package/dist/memory/index.d.ts.map +1 -1
  73. package/dist/memory/index.js +2 -1
  74. package/dist/memory/index.js.map +1 -1
  75. package/dist/memory/learning.d.ts +113 -0
  76. package/dist/memory/learning.d.ts.map +1 -0
  77. package/dist/memory/learning.js +310 -0
  78. package/dist/memory/learning.js.map +1 -0
  79. package/dist/memory/learning.test.d.ts +2 -0
  80. package/dist/memory/learning.test.d.ts.map +1 -0
  81. package/dist/memory/learning.test.js +274 -0
  82. package/dist/memory/learning.test.js.map +1 -0
  83. package/dist/memory/store-types.d.ts +21 -0
  84. package/dist/memory/store-types.d.ts.map +1 -1
  85. package/dist/memory/tool-settings.d.ts +16 -0
  86. package/dist/memory/tool-settings.d.ts.map +1 -1
  87. package/dist/memory/tool-settings.js +53 -1
  88. package/dist/memory/tool-settings.js.map +1 -1
  89. package/dist/memory/tool-settings.test.js +33 -0
  90. package/dist/memory/tool-settings.test.js.map +1 -1
  91. package/dist/model-runtime.d.ts +1 -1
  92. package/dist/model-runtime.d.ts.map +1 -1
  93. package/dist/model-runtime.js.map +1 -1
  94. package/dist/runtime-context/composite-provider.d.ts.map +1 -1
  95. package/dist/runtime-context/composite-provider.js +27 -2
  96. package/dist/runtime-context/composite-provider.js.map +1 -1
  97. package/dist/runtime-context/composite-provider.test.js +20 -1
  98. package/dist/runtime-context/composite-provider.test.js.map +1 -1
  99. package/dist/semantic-retrieval-quality.test.d.ts +2 -0
  100. package/dist/semantic-retrieval-quality.test.d.ts.map +1 -0
  101. package/dist/semantic-retrieval-quality.test.js +319 -0
  102. package/dist/semantic-retrieval-quality.test.js.map +1 -0
  103. package/dist/semantic-retrieval.d.ts +245 -0
  104. package/dist/semantic-retrieval.d.ts.map +1 -0
  105. package/dist/semantic-retrieval.js +662 -0
  106. package/dist/semantic-retrieval.js.map +1 -0
  107. package/dist/semantic-retrieval.test.d.ts +2 -0
  108. package/dist/semantic-retrieval.test.d.ts.map +1 -0
  109. package/dist/semantic-retrieval.test.js +138 -0
  110. package/dist/semantic-retrieval.test.js.map +1 -0
  111. package/dist/session-continuation.d.ts +2 -0
  112. package/dist/session-continuation.d.ts.map +1 -1
  113. package/dist/session-continuation.js.map +1 -1
  114. package/dist/session-store.d.ts +33 -0
  115. package/dist/session-store.d.ts.map +1 -1
  116. package/dist/session-store.js.map +1 -1
  117. package/package.json +13 -1
@@ -1,4 +1,5 @@
1
1
  import type { MemoryDedupeInput, MemoryItem, MemoryKind, MemoryScope, MemoryScopeAccess, MemoryStatus } from "./types.js";
2
+ import type { HybridRetrievalMode, TextEmbeddingProvider, TextReranker } from "../semantic-retrieval.js";
2
3
  export type MemoryWriteSurface = "api" | "chat" | "task" | "loop" | "schedule" | "channel" | "system";
3
4
  export interface MemoryStoreContext {
4
5
  /** Host-owned hard isolation boundary, normally a project id. */
@@ -46,12 +47,32 @@ export interface MemorySearchQuery {
46
47
  readonly tokenBudget?: number;
47
48
  readonly maxResults?: number;
48
49
  readonly now?: Date | string;
50
+ readonly signal?: AbortSignal;
49
51
  }
50
52
  export interface MemorySearchResult {
51
53
  readonly item: MemoryItem;
52
54
  readonly score: number;
53
55
  readonly matchedTerms: readonly string[];
54
56
  readonly estimatedTokens: number;
57
+ readonly scores?: {
58
+ readonly lexical?: number;
59
+ readonly semantic?: number;
60
+ readonly rerank?: number;
61
+ };
62
+ readonly ranks?: {
63
+ readonly lexical?: number;
64
+ readonly semantic?: number;
65
+ };
66
+ readonly retrievalMode?: HybridRetrievalMode;
67
+ readonly fallbackReason?: string;
68
+ }
69
+ export interface MemorySemanticRetrievalOptions {
70
+ readonly embeddingProvider?: TextEmbeddingProvider;
71
+ readonly embeddingFailureMode?: "fallback" | "strict";
72
+ readonly reranker?: TextReranker;
73
+ readonly rerankLimit?: number;
74
+ readonly rerankTimeoutMs?: number;
75
+ readonly rerankFailureMode?: "fallback" | "strict";
55
76
  }
56
77
  export type MemoryUsageEventType = "retrieved" | "written" | "updated" | "superseded" | "forgotten";
57
78
  export interface MemoryUsageEvent {
@@ -1 +1 @@
1
- {"version":3,"file":"store-types.d.ts","sourceRoot":"","sources":["../../src/memory/store-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store-types.d.ts","sourceRoot":"","sources":["../../src/memory/store-types.ts"],"names":[],"mappings":"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"}
@@ -9,8 +9,19 @@ export interface AgentMemoryToolSettings {
9
9
  readonly writeScope?: MemoryToolWriteScope;
10
10
  readonly writableKinds?: readonly MemoryKind[];
11
11
  }
12
+ export declare const MEMORY_LEARNING_MODES: readonly ["off", "suggest", "automatic"];
13
+ export type MemoryLearningMode = (typeof MEMORY_LEARNING_MODES)[number];
14
+ export declare const MEMORY_LEARNING_SURFACES: readonly ["chat", "channel"];
15
+ export type MemoryLearningSurface = (typeof MEMORY_LEARNING_SURFACES)[number];
16
+ export declare const DEFAULT_MEMORY_LEARNING_KINDS: readonly ["fact", "preference", "open_thread", "style"];
17
+ export interface AgentMemoryLearningSettings {
18
+ readonly mode?: MemoryLearningMode;
19
+ readonly surfaces?: readonly MemoryLearningSurface[];
20
+ readonly kinds?: readonly MemoryKind[];
21
+ }
12
22
  export interface AgentMemorySettings {
13
23
  readonly tools?: AgentMemoryToolSettings;
24
+ readonly learning?: AgentMemoryLearningSettings;
14
25
  }
15
26
  export interface NormalizedAgentMemoryToolSettings {
16
27
  readonly search: boolean;
@@ -22,6 +33,11 @@ export interface NormalizedAgentMemoryToolSettings {
22
33
  }
23
34
  export interface NormalizedAgentMemorySettings {
24
35
  readonly tools: NormalizedAgentMemoryToolSettings;
36
+ readonly learning: {
37
+ readonly mode: MemoryLearningMode;
38
+ readonly surfaces: readonly MemoryLearningSurface[];
39
+ readonly kinds: readonly MemoryKind[];
40
+ };
25
41
  }
26
42
  export declare function normalizeAgentMemorySettings(value: unknown): NormalizedAgentMemorySettings;
27
43
  //# sourceMappingURL=tool-settings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-settings.d.ts","sourceRoot":"","sources":["../../src/memory/tool-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,UAAU,EAChB,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,wBAAwB,uCAG3B,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAC9B,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5C,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;CAChD;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,uBAAuB,CAAC;CAC1C;AAED,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,SAAS,UAAU,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,KAAK,EAAE,iCAAiC,CAAC;CACnD;AA8BD,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,OAAO,GACb,6BAA6B,CAiE/B"}
1
+ {"version":3,"file":"tool-settings.d.ts","sourceRoot":"","sources":["../../src/memory/tool-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,UAAU,EAChB,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,wBAAwB,uCAG3B,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAC9B,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5C,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAC3C,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;CAChD;AAED,eAAO,MAAM,qBAAqB,0CAIxB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAC5B,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzC,eAAO,MAAM,wBAAwB,8BAG3B,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAC/B,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5C,eAAO,MAAM,6BAA6B,yDAKA,CAAC;AAE3C,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC;IACnC,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACrD,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,uBAAuB,CAAC;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,2BAA2B,CAAC;CACjD;AAED,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,SAAS,UAAU,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,KAAK,EAAE,iCAAiC,CAAC;IAClD,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;QAClC,QAAQ,CAAC,QAAQ,EAAE,SAAS,qBAAqB,EAAE,CAAC;QACpD,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAC;KACvC,CAAC;CACH;AAgCD,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,OAAO,GACb,6BAA6B,CAoG/B"}
@@ -3,8 +3,25 @@ export const MEMORY_TOOL_WRITE_SCOPES = [
3
3
  "invocation-user",
4
4
  "agent",
5
5
  ];
6
+ export const MEMORY_LEARNING_MODES = [
7
+ "off",
8
+ "suggest",
9
+ "automatic",
10
+ ];
11
+ export const MEMORY_LEARNING_SURFACES = [
12
+ "chat",
13
+ "channel",
14
+ ];
15
+ export const DEFAULT_MEMORY_LEARNING_KINDS = [
16
+ "fact",
17
+ "preference",
18
+ "open_thread",
19
+ "style",
20
+ ];
6
21
  const memoryKinds = new Set(MEMORY_KINDS);
7
22
  const writeScopes = new Set(MEMORY_TOOL_WRITE_SCOPES);
23
+ const learningModes = new Set(MEMORY_LEARNING_MODES);
24
+ const learningSurfaces = new Set(MEMORY_LEARNING_SURFACES);
8
25
  function objectValue(value, path) {
9
26
  if (value === null || typeof value !== "object" || Array.isArray(value)) {
10
27
  throw new TypeError(`${path} must be an object`);
@@ -34,10 +51,15 @@ export function normalizeAgentMemorySettings(value) {
34
51
  writeScope: "invocation-user",
35
52
  writableKinds: Object.freeze([]),
36
53
  }),
54
+ learning: Object.freeze({
55
+ mode: "off",
56
+ surfaces: Object.freeze([...MEMORY_LEARNING_SURFACES]),
57
+ kinds: Object.freeze([...DEFAULT_MEMORY_LEARNING_KINDS]),
58
+ }),
37
59
  });
38
60
  }
39
61
  const memory = objectValue(value, "memory");
40
- rejectUnknownFields(memory, ["tools"], "memory");
62
+ rejectUnknownFields(memory, ["tools", "learning"], "memory");
41
63
  const rawTools = memory.tools === undefined
42
64
  ? {}
43
65
  : objectValue(memory.tools, "memory.tools");
@@ -72,6 +94,16 @@ export function normalizeAgentMemorySettings(value) {
72
94
  if ((remember || update || forget) && writableKinds.length === 0) {
73
95
  throw new TypeError("memory.tools.writableKinds must contain at least one kind when writes are enabled");
74
96
  }
97
+ const rawLearning = memory.learning === undefined
98
+ ? {}
99
+ : objectValue(memory.learning, "memory.learning");
100
+ rejectUnknownFields(rawLearning, ["mode", "surfaces", "kinds"], "memory.learning");
101
+ const mode = rawLearning.mode ?? "off";
102
+ if (typeof mode !== "string" || !learningModes.has(mode)) {
103
+ throw new TypeError("memory.learning.mode is invalid");
104
+ }
105
+ const surfaces = normalizedSelection(rawLearning.surfaces, MEMORY_LEARNING_SURFACES, learningSurfaces, "memory.learning.surfaces");
106
+ const learningKinds = normalizedSelection(rawLearning.kinds, DEFAULT_MEMORY_LEARNING_KINDS, memoryKinds, "memory.learning.kinds");
75
107
  return Object.freeze({
76
108
  tools: Object.freeze({
77
109
  search,
@@ -81,6 +113,26 @@ export function normalizeAgentMemorySettings(value) {
81
113
  writeScope: writeScope,
82
114
  writableKinds: Object.freeze(writableKinds),
83
115
  }),
116
+ learning: Object.freeze({
117
+ mode: mode,
118
+ surfaces: Object.freeze(surfaces),
119
+ kinds: Object.freeze(learningKinds),
120
+ }),
84
121
  });
85
122
  }
123
+ function normalizedSelection(value, defaults, allowed, path) {
124
+ if (value === undefined)
125
+ return [...defaults];
126
+ if (!Array.isArray(value) || value.length === 0) {
127
+ throw new TypeError(`${path} must be a non-empty array`);
128
+ }
129
+ const selected = new Set();
130
+ for (const [index, entry] of value.entries()) {
131
+ if (typeof entry !== "string" || !allowed.has(entry)) {
132
+ throw new TypeError(`${path}[${index}] is invalid`);
133
+ }
134
+ selected.add(entry);
135
+ }
136
+ return defaults.filter((entry) => selected.has(entry));
137
+ }
86
138
  //# sourceMappingURL=tool-settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-settings.js","sourceRoot":"","sources":["../../src/memory/tool-settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-settings.js","sourceRoot":"","sources":["../../src/memory/tool-settings.ts"],"names":[],"mappings":"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"}
@@ -12,10 +12,17 @@ describe("normalizeAgentMemorySettings", () => {
12
12
  writeScope: "invocation-user",
13
13
  writableKinds: [],
14
14
  },
15
+ learning: {
16
+ mode: "off",
17
+ surfaces: ["chat", "channel"],
18
+ kinds: ["fact", "preference", "open_thread", "style"],
19
+ },
15
20
  });
16
21
  expect(Object.isFrozen(normalized)).toBe(true);
17
22
  expect(Object.isFrozen(normalized.tools)).toBe(true);
18
23
  expect(Object.isFrozen(normalized.tools.writableKinds)).toBe(true);
24
+ expect(Object.isFrozen(normalized.learning)).toBe(true);
25
+ expect(Object.isFrozen(normalized.learning.surfaces)).toBe(true);
19
26
  });
20
27
  it("normalizes and freezes an explicit read/write capability", () => {
21
28
  const normalized = normalizeAgentMemorySettings({
@@ -37,9 +44,29 @@ describe("normalizeAgentMemorySettings", () => {
37
44
  writeScope: "invocation-user",
38
45
  writableKinds: ["preference", "fact"],
39
46
  },
47
+ learning: {
48
+ mode: "off",
49
+ surfaces: ["chat", "channel"],
50
+ kinds: ["fact", "preference", "open_thread", "style"],
51
+ },
40
52
  });
41
53
  expect(Object.isFrozen(normalized.tools.writableKinds)).toBe(true);
42
54
  });
55
+ it("normalizes automatic learning independently from typed tools", () => {
56
+ const normalized = normalizeAgentMemorySettings({
57
+ learning: {
58
+ mode: "suggest",
59
+ surfaces: ["channel", "chat", "channel"],
60
+ kinds: ["preference", "fact", "preference"],
61
+ },
62
+ });
63
+ expect(normalized.learning).toEqual({
64
+ mode: "suggest",
65
+ surfaces: ["chat", "channel"],
66
+ kinds: ["fact", "preference"],
67
+ });
68
+ expect(normalized.tools.search).toBe(false);
69
+ });
43
70
  it("allows the advanced agent write scope only when explicitly selected", () => {
44
71
  expect(normalizeAgentMemorySettings({
45
72
  tools: {
@@ -61,6 +88,12 @@ describe("normalizeAgentMemorySettings", () => {
61
88
  { tools: { writableKinds: ["secret"] } },
62
89
  { tools: { remember: true } },
63
90
  { tools: { update: true, writableKinds: [] } },
91
+ { learning: { mode: "enabled" } },
92
+ { learning: { surfaces: ["task"] } },
93
+ { learning: { surfaces: [] } },
94
+ { learning: { kinds: ["instruction"] } },
95
+ { learning: { kinds: [] } },
96
+ { learning: { mode: "automatic", threshold: 0.9 } },
64
97
  ])("rejects malformed or under-authorized settings %#", (value) => {
65
98
  expect(() => normalizeAgentMemorySettings(value)).toThrow();
66
99
  });
@@ -1 +1 @@
1
- {"version":3,"file":"tool-settings.test.js","sourceRoot":"","sources":["../../src/memory/tool-settings.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-settings.test.js","sourceRoot":"","sources":["../../src/memory/tool-settings.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  export declare const MODEL_RUNTIME_MODES: readonly ["provider", "gateway"];
2
2
  export type ModelRuntimeMode = (typeof MODEL_RUNTIME_MODES)[number];
3
- export type ModelOperation = "chat" | "embed" | "image.generate" | "image.analyze" | "video.generate" | "audio.transcribe" | "audio.speak" | "realtime";
3
+ export type ModelOperation = "chat" | "embed" | "rerank" | "image.generate" | "image.analyze" | "video.generate" | "audio.transcribe" | "audio.speak" | "realtime";
4
4
  export type CostSource = "gateway-metadata" | "provider-metadata" | "catalog-estimate" | "configured-rate" | "none" | "unknown";
5
5
  export type BillingOwner = "platform" | "external" | "none";
6
6
  export type CredentialType = "platform" | "project" | "external" | "none";
@@ -1 +1 @@
1
- {"version":3,"file":"model-runtime.d.ts","sourceRoot":"","sources":["../src/model-runtime.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,kCAAmC,CAAC;AAEpE,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,OAAO,GACP,gBAAgB,GAChB,eAAe,GACf,gBAAgB,GAChB,kBAAkB,GAClB,aAAa,GACb,UAAU,CAAC;AAEf,MAAM,MAAM,UAAU,GAClB,kBAAkB,GAClB,mBAAmB,GACnB,kBAAkB,GAClB,iBAAiB,GACjB,MAAM,GACN,SAAS,CAAC;AAEd,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;AAE5D,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;AAE1E,MAAM,MAAM,qBAAqB,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEzE,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,gBAAgB,CAAC;IACvB,SAAS,EAAE,cAAc,CAAC;IAC1B,SAAS,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,sBAAsB,CAAC;IAChC,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,UAAU,CAAC,EAAE,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EACD,MAAM,GACN,YAAY,GACZ,YAAY,GACZ,SAAS,GACT,aAAa,GACb,iBAAiB,GACjB,iBAAiB,GACjB,gBAAgB,GAChB,WAAW,GACX,SAAS,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,YAAY,GAAG,UAAU,GAAG,gBAAgB,CAAC;IAC5E,UAAU,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,WAAW,CAAC;IACjD,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,MAAM,WAAW,sBAAsB;IACrC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,qBAAsB,SAAQ,oBAAoB;IACjE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,gBAAgB,CAAC;IACvB,SAAS,EAAE,cAAc,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,MAAM,EAAE,qBAAqB,CAAC;IAC9B,UAAU,CAAC,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAE5E"}
1
+ {"version":3,"file":"model-runtime.d.ts","sourceRoot":"","sources":["../src/model-runtime.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"model-runtime.js","sourceRoot":"","sources":["../src/model-runtime.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,UAAU,EAAE,SAAS,CAAU,CAAC;AAoIpE,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,mBAAyC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACjG,CAAC"}
1
+ {"version":3,"file":"model-runtime.js","sourceRoot":"","sources":["../src/model-runtime.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,UAAU,EAAE,SAAS,CAAU,CAAC;AAqIpE,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,mBAAyC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACjG,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"composite-provider.d.ts","sourceRoot":"","sources":["../../src/runtime-context/composite-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,sBAAsB,EAGvB,MAAM,YAAY,CAAC;AAIpB,MAAM,WAAW,4CAA4C;IAC3D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,SAAS,sBAAsB,EAAE,CAAC;CACvD;AAqCD,wBAAgB,qCAAqC,CACnD,OAAO,EAAE,4CAA4C,GACpD,sBAAsB,CAuCxB"}
1
+ {"version":3,"file":"composite-provider.d.ts","sourceRoot":"","sources":["../../src/runtime-context/composite-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,sBAAsB,EAGvB,MAAM,YAAY,CAAC;AAIpB,MAAM,WAAW,4CAA4C;IAC3D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,SAAS,sBAAsB,EAAE,CAAC;CACvD;AAgED,wBAAgB,qCAAqC,CACnD,OAAO,EAAE,4CAA4C,GACpD,sBAAsB,CA2CxB"}
@@ -22,6 +22,30 @@ function mergeLegacyMemory(results) {
22
22
  ...(shared ? { shared: "replace" } : {}),
23
23
  });
24
24
  }
25
+ function allocateProviderBudgets(providers, available) {
26
+ const configured = providers.map((provider) => provider.tokenBudget);
27
+ const total = configured.reduce((sum, value) => sum + value, 0);
28
+ if (available === 0 || total === 0)
29
+ return configured.map(() => 0);
30
+ if (available >= total)
31
+ return configured;
32
+ const exact = configured.map((value) => value * available / total);
33
+ const allocated = exact.map(Math.floor);
34
+ let remainder = available - allocated.reduce((sum, value) => sum + value, 0);
35
+ const order = exact.map((value, index) => ({
36
+ index,
37
+ fraction: value - allocated[index],
38
+ })).sort((left, right) => (right.fraction - left.fraction || left.index - right.index));
39
+ for (const { index } of order) {
40
+ if (remainder === 0)
41
+ break;
42
+ if (allocated[index] < configured[index]) {
43
+ allocated[index] = allocated[index] + 1;
44
+ remainder -= 1;
45
+ }
46
+ }
47
+ return allocated;
48
+ }
25
49
  export function createCompositeRuntimeContextProvider(options) {
26
50
  if (!options || typeof options !== "object" || Array.isArray(options)) {
27
51
  throw new Error("Composite runtime context options are required");
@@ -45,9 +69,10 @@ export function createCompositeRuntimeContextProvider(options) {
45
69
  if (input.signal?.aborted)
46
70
  throw abortError();
47
71
  const active = providers.filter((provider) => provider.tokenBudget > 0);
48
- const results = await Promise.all(active.map((provider) => provider.retrieve(Object.freeze({
72
+ const budgets = allocateProviderBudgets(active, Math.min(input.tokenBudget, totalBudget));
73
+ const results = await Promise.all(active.map((provider, index) => provider.retrieve(Object.freeze({
49
74
  ...input,
50
- tokenBudget: Math.min(input.tokenBudget, provider.tokenBudget),
75
+ tokenBudget: budgets[index],
51
76
  }))));
52
77
  if (input.signal?.aborted)
53
78
  throw abortError();
@@ -1 +1 @@
1
- {"version":3,"file":"composite-provider.js","sourceRoot":"","sources":["../../src/runtime-context/composite-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"composite-provider.js","sourceRoot":"","sources":["../../src/runtime-context/composite-provider.ts"],"names":[],"mappings":"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"}
@@ -83,7 +83,7 @@ describe("createCompositeRuntimeContextProvider", () => {
83
83
  shared: "replace",
84
84
  },
85
85
  });
86
- expect(calls).toEqual(["memory:400", "brain:900"]);
86
+ expect(calls).toEqual(["memory:308", "brain:692"]);
87
87
  });
88
88
  it("skips disabled providers and preserves an empty replacement directive", async () => {
89
89
  const disabled = vi.fn();
@@ -124,5 +124,24 @@ describe("createCompositeRuntimeContextProvider", () => {
124
124
  await expect(composite.retrieve(input(100, controller.signal))).rejects.toMatchObject({ name: "AbortError" });
125
125
  expect(retrieve).not.toHaveBeenCalled();
126
126
  });
127
+ it("never allocates more than the request budget and preserves every corpus deterministically", async () => {
128
+ const budgets = [];
129
+ const composite = createCompositeRuntimeContextProvider({
130
+ tokenBudget: 1_000,
131
+ providers: [
132
+ provider(400, async (value) => {
133
+ budgets.push(value.tokenBudget);
134
+ return { segments: [] };
135
+ }),
136
+ provider(900, async (value) => {
137
+ budgets.push(value.tokenBudget);
138
+ return { segments: [] };
139
+ }),
140
+ ],
141
+ });
142
+ await composite.retrieve(input(100));
143
+ expect(budgets).toEqual([31, 69]);
144
+ expect(budgets.reduce((sum, value) => sum + value, 0)).toBe(100);
145
+ });
127
146
  });
128
147
  //# sourceMappingURL=composite-provider.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"composite-provider.test.js","sourceRoot":"","sources":["../../src/runtime-context/composite-provider.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EACL,qCAAqC,GACtC,MAAM,yBAAyB,CAAC;AAMjC,SAAS,KAAK,CACZ,WAAW,GAAG,KAAK,EACnB,MAAoB;IAEpB,OAAO;QACL,SAAS,EAAE,SAAS;QACpB,KAAK,EAAE,wBAAwB;QAC/B,OAAO,EAAE,OAAO;QAChB,MAAM,EAAE,SAAS;QACjB,WAAW;QACX,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9B,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CACf,WAAmB,EACnB,QAA4C;IAE5C,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;AACnC,CAAC;AAED,QAAQ,CAAC,uCAAuC,EAAE,GAAG,EAAE;IACrD,EAAE,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;QAC7F,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,aAA0B,CAAC;QAC/B,IAAI,YAAyB,CAAC;QAC9B,MAAM,WAAW,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAChD,aAAa,GAAG,OAAO,CAAC;QAC1B,CAAC,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC/C,YAAY,GAAG,OAAO,CAAC;QACzB,CAAC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,KAAmC,EAAE,EAAE;YACjE,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;YAC1C,aAAa,EAAE,CAAC;YAChB,MAAM,UAAU,CAAC;YACjB,OAAO;gBACL,QAAQ,EAAE,CAAC;wBACT,IAAI,EAAE,QAAiB;wBACvB,OAAO,EAAE,CAAC;gCACR,EAAE,EAAE,UAAU;gCACd,OAAO,EAAE,0BAA0B;gCACnC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,EAAE,EAAE,UAAU,EAAE;gCACnD,SAAS,EAAE,0BAA0B;gCACrC,KAAK,EAAE,eAAwB;6BAChC,CAAC;qBACH,CAAC;gBACF,YAAY,EAAE,EAAE,KAAK,EAAE,SAAkB,EAAE;aAC5C,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,KAAmC,EAAE,EAAE;YAChE,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;YACzC,YAAY,EAAE,CAAC;YACf,MAAM,WAAW,CAAC;YAClB,OAAO;gBACL,QAAQ,EAAE,CAAC;wBACT,IAAI,EAAE,OAAgB;wBACtB,OAAO,EAAE,CAAC;gCACR,EAAE,EAAE,SAAS;gCACb,OAAO,EAAE,2BAA2B;gCACpC,MAAM,EAAE,EAAE,IAAI,EAAE,OAAgB,EAAE,EAAE,EAAE,UAAU,EAAE;gCAClD,SAAS,EAAE,0BAA0B;gCACrC,OAAO,EAAE,IAAI;gCACb,KAAK,EAAE,SAAkB;gCACzB,QAAQ,EAAE;oCACR,MAAM,EAAE,qBAAqB;oCAC7B,QAAQ,EAAE,UAAU;oCACpB,OAAO,EAAE,IAAI;iCACd;6BACF,CAAC;qBACH,CAAC;gBACF,YAAY,EAAE,EAAE,MAAM,EAAE,SAAkB,EAAE;aAC7C,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,qCAAqC,CAAC;YACtD,WAAW,EAAE,KAAK;YAClB,SAAS,EAAE;gBACT,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;gBACrB,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC;aACrB;SACF,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;YACpE,QAAQ,EAAE;gBACR,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE;gBACjD,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE;aAChD;YACD,YAAY,EAAE;gBACZ,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE,SAAS;aAClB;SACF,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAChC,QAAQ,EAAE,EAAE;YACZ,YAAY,EAAE,EAAE,MAAM,EAAE,SAAkB,EAAE;SAC7C,CAAC,CAAC,CAAC;QACJ,MAAM,SAAS,GAAG,qCAAqC,CAAC;YACtD,WAAW,EAAE,GAAG;YAChB,SAAS,EAAE;gBACT,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC;gBACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;aACtB;SACF,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC5D,QAAQ,EAAE,EAAE;YACZ,YAAY,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;SACpC,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,CAAC,GAAG,EAAE,CAAC,qCAAqC,CAAC;YACjD,WAAW,EAAE,CAAC,CAAC;YACf,SAAS,EAAE,EAAE;SACd,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC3B,MAAM,CAAC,GAAG,EAAE,CAAC,qCAAqC,CAAC;YACjD,WAAW,EAAE,GAAG;YAChB,SAAS,EAAE,CAAC,IAAyC,CAAC;SACvD,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAE5B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,UAAU,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QACzB,MAAM,SAAS,GAAG,qCAAqC,CAAC;YACtD,WAAW,EAAE,GAAG;YAChB,SAAS,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;SACrC,CAAC,CAAC;QACH,MAAM,MAAM,CACV,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAClD,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;QAChD,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"composite-provider.test.js","sourceRoot":"","sources":["../../src/runtime-context/composite-provider.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=semantic-retrieval-quality.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"semantic-retrieval-quality.test.d.ts","sourceRoot":"","sources":["../src/semantic-retrieval-quality.test.ts"],"names":[],"mappings":""}