@superblocksteam/vite-plugin-file-sync 2.0.43-next.8 → 2.0.48-next.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.
Files changed (204) hide show
  1. package/dist/ai-service/agent/subagents/apis/api-executor.d.ts +57 -0
  2. package/dist/ai-service/agent/subagents/apis/api-executor.d.ts.map +1 -0
  3. package/dist/ai-service/agent/subagents/apis/api-executor.js +284 -0
  4. package/dist/ai-service/agent/subagents/apis/api-executor.js.map +1 -0
  5. package/dist/ai-service/agent/subagents/apis/context.d.ts +12 -0
  6. package/dist/ai-service/agent/subagents/apis/context.d.ts.map +1 -0
  7. package/dist/ai-service/agent/subagents/apis/context.js +18 -0
  8. package/dist/ai-service/agent/subagents/apis/context.js.map +1 -0
  9. package/dist/ai-service/agent/subagents/apis/generate-api-source.d.ts +37 -31
  10. package/dist/ai-service/agent/subagents/apis/generate-api-source.d.ts.map +1 -1
  11. package/dist/ai-service/agent/subagents/apis/generate-api-source.js +355 -479
  12. package/dist/ai-service/agent/subagents/apis/generate-api-source.js.map +1 -1
  13. package/dist/ai-service/agent/subagents/apis/state.d.ts +40 -0
  14. package/dist/ai-service/agent/subagents/apis/state.d.ts.map +1 -0
  15. package/dist/ai-service/agent/subagents/apis/state.js +25 -0
  16. package/dist/ai-service/agent/subagents/apis/state.js.map +1 -0
  17. package/dist/ai-service/agent/subagents/apis/types.d.ts +5 -0
  18. package/dist/ai-service/agent/subagents/apis/types.d.ts.map +1 -0
  19. package/dist/ai-service/agent/subagents/apis/types.js +2 -0
  20. package/dist/ai-service/agent/subagents/apis/types.js.map +1 -0
  21. package/dist/ai-service/agent/tool-message-utils.d.ts.map +1 -1
  22. package/dist/ai-service/agent/tool-message-utils.js +8 -24
  23. package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
  24. package/dist/ai-service/agent/tools/apis/build-api.d.ts +20 -0
  25. package/dist/ai-service/agent/tools/apis/build-api.d.ts.map +1 -0
  26. package/dist/ai-service/agent/tools/apis/build-api.js +170 -0
  27. package/dist/ai-service/agent/tools/apis/build-api.js.map +1 -0
  28. package/dist/ai-service/agent/tools/apis/finalize-api.d.ts +15 -0
  29. package/dist/ai-service/agent/tools/apis/finalize-api.d.ts.map +1 -0
  30. package/dist/ai-service/agent/tools/apis/finalize-api.js +103 -0
  31. package/dist/ai-service/agent/tools/apis/finalize-api.js.map +1 -0
  32. package/dist/ai-service/agent/tools/build-finalize.d.ts +1 -22
  33. package/dist/ai-service/agent/tools/build-finalize.d.ts.map +1 -1
  34. package/dist/ai-service/agent/tools/build-finalize.js +27 -18
  35. package/dist/ai-service/agent/tools/build-finalize.js.map +1 -1
  36. package/dist/ai-service/agent/tools/integrations/execute-request.d.ts +1 -1
  37. package/dist/ai-service/agent/tools/integrations/execute-request.d.ts.map +1 -1
  38. package/dist/ai-service/agent/tools/integrations/index.d.ts +1 -1
  39. package/dist/ai-service/agent/tools/integrations/index.d.ts.map +1 -1
  40. package/dist/ai-service/agent/tools/integrations/index.js +1 -1
  41. package/dist/ai-service/agent/tools/integrations/index.js.map +1 -1
  42. package/dist/ai-service/agent/tools/integrations/internal.d.ts +1 -1
  43. package/dist/ai-service/agent/tools/integrations/internal.d.ts.map +1 -1
  44. package/dist/ai-service/agent/tools/integrations/internal.js +12 -1
  45. package/dist/ai-service/agent/tools/integrations/internal.js.map +1 -1
  46. package/dist/ai-service/agent/tools/integrations/metadata.d.ts +1 -1
  47. package/dist/ai-service/agent/tools/integrations/metadata.d.ts.map +1 -1
  48. package/dist/ai-service/agent/tools/integrations/metadata.js +1 -1
  49. package/dist/ai-service/agent/tools/integrations/metadata.js.map +1 -1
  50. package/dist/ai-service/agent/tools/integrations/run-code.d.ts +1 -1
  51. package/dist/ai-service/agent/tools/integrations/run-code.d.ts.map +1 -1
  52. package/dist/ai-service/agent/tools/study-current-app-state.d.ts +1 -0
  53. package/dist/ai-service/agent/tools/study-current-app-state.d.ts.map +1 -1
  54. package/dist/ai-service/agent/tools2/access-control.d.ts.map +1 -1
  55. package/dist/ai-service/agent/tools2/access-control.js +5 -2
  56. package/dist/ai-service/agent/tools2/access-control.js.map +1 -1
  57. package/dist/ai-service/agent/tools2/registry.d.ts +2 -1
  58. package/dist/ai-service/agent/tools2/registry.d.ts.map +1 -1
  59. package/dist/ai-service/agent/tools2/registry.js +4 -4
  60. package/dist/ai-service/agent/tools2/registry.js.map +1 -1
  61. package/dist/ai-service/agent/tools2/types.d.ts +17 -3
  62. package/dist/ai-service/agent/tools2/types.d.ts.map +1 -1
  63. package/dist/ai-service/agent/tools2/types.js +21 -0
  64. package/dist/ai-service/agent/tools2/types.js.map +1 -1
  65. package/dist/ai-service/agent/utils.d.ts +1 -0
  66. package/dist/ai-service/agent/utils.d.ts.map +1 -1
  67. package/dist/ai-service/agent/utils.js +1 -0
  68. package/dist/ai-service/agent/utils.js.map +1 -1
  69. package/dist/ai-service/integrations/metadata/database.d.ts.map +1 -1
  70. package/dist/ai-service/integrations/metadata/database.js +61 -20
  71. package/dist/ai-service/integrations/metadata/database.js.map +1 -1
  72. package/dist/ai-service/integrations/metadata/databricks.d.ts.map +1 -1
  73. package/dist/ai-service/integrations/metadata/databricks.js +5 -5
  74. package/dist/ai-service/integrations/metadata/databricks.js.map +1 -1
  75. package/dist/ai-service/integrations/metadata/graphql-based.d.ts +2 -0
  76. package/dist/ai-service/integrations/metadata/graphql-based.d.ts.map +1 -1
  77. package/dist/ai-service/integrations/metadata/graphql-based.js +95 -14
  78. package/dist/ai-service/integrations/metadata/graphql-based.js.map +1 -1
  79. package/dist/ai-service/integrations/metadata/llm-utils.d.ts +24 -0
  80. package/dist/ai-service/integrations/metadata/llm-utils.d.ts.map +1 -0
  81. package/dist/ai-service/integrations/metadata/llm-utils.js +45 -0
  82. package/dist/ai-service/integrations/metadata/llm-utils.js.map +1 -0
  83. package/dist/ai-service/integrations/store.d.ts +5 -5
  84. package/dist/ai-service/integrations/store.d.ts.map +1 -1
  85. package/dist/ai-service/integrations/store.js +52 -53
  86. package/dist/ai-service/integrations/store.js.map +1 -1
  87. package/dist/ai-service/llm/context/constants.d.ts +7 -6
  88. package/dist/ai-service/llm/context/constants.d.ts.map +1 -1
  89. package/dist/ai-service/llm/context/constants.js +7 -6
  90. package/dist/ai-service/llm/context/constants.js.map +1 -1
  91. package/dist/ai-service/llm/context/context-handle.d.ts +106 -0
  92. package/dist/ai-service/llm/context/context-handle.d.ts.map +1 -0
  93. package/dist/ai-service/llm/context/context-handle.js +134 -0
  94. package/dist/ai-service/llm/context/context-handle.js.map +1 -0
  95. package/dist/ai-service/llm/context/context-lock.d.ts +144 -0
  96. package/dist/ai-service/llm/context/context-lock.d.ts.map +1 -0
  97. package/dist/ai-service/llm/context/context-lock.js +221 -0
  98. package/dist/ai-service/llm/context/context-lock.js.map +1 -0
  99. package/dist/ai-service/llm/context/context.d.ts +18 -19
  100. package/dist/ai-service/llm/context/context.d.ts.map +1 -1
  101. package/dist/ai-service/llm/context/context.js +78 -129
  102. package/dist/ai-service/llm/context/context.js.map +1 -1
  103. package/dist/ai-service/llm/context/index.d.ts +4 -0
  104. package/dist/ai-service/llm/context/index.d.ts.map +1 -1
  105. package/dist/ai-service/llm/context/index.js +5 -0
  106. package/dist/ai-service/llm/context/index.js.map +1 -1
  107. package/dist/ai-service/llm/context/internal-types.d.ts +0 -2
  108. package/dist/ai-service/llm/context/internal-types.d.ts.map +1 -1
  109. package/dist/ai-service/llm/context/internal-types.js.map +1 -1
  110. package/dist/ai-service/llm/context/levels/l1.d.ts.map +1 -1
  111. package/dist/ai-service/llm/context/levels/l1.js +3 -5
  112. package/dist/ai-service/llm/context/levels/l1.js.map +1 -1
  113. package/dist/ai-service/llm/context/manager.d.ts +60 -11
  114. package/dist/ai-service/llm/context/manager.d.ts.map +1 -1
  115. package/dist/ai-service/llm/context/manager.js +113 -37
  116. package/dist/ai-service/llm/context/manager.js.map +1 -1
  117. package/dist/ai-service/llm/context/utils/content-compaction.d.ts +2 -2
  118. package/dist/ai-service/llm/context/utils/content-compaction.d.ts.map +1 -1
  119. package/dist/ai-service/llm/context/utils/content-compaction.js +6 -3
  120. package/dist/ai-service/llm/context/utils/content-compaction.js.map +1 -1
  121. package/dist/ai-service/llm/context/utils/index.d.ts +1 -1
  122. package/dist/ai-service/llm/context/utils/index.d.ts.map +1 -1
  123. package/dist/ai-service/llm/context/utils/index.js +1 -1
  124. package/dist/ai-service/llm/context/utils/index.js.map +1 -1
  125. package/dist/ai-service/llm/context/utils/message-utils.d.ts +17 -7
  126. package/dist/ai-service/llm/context/utils/message-utils.d.ts.map +1 -1
  127. package/dist/ai-service/llm/context/utils/message-utils.js +31 -18
  128. package/dist/ai-service/llm/context/utils/message-utils.js.map +1 -1
  129. package/dist/ai-service/llmobs/helpers.d.ts +9 -2
  130. package/dist/ai-service/llmobs/helpers.d.ts.map +1 -1
  131. package/dist/ai-service/llmobs/helpers.js +17 -4
  132. package/dist/ai-service/llmobs/helpers.js.map +1 -1
  133. package/dist/ai-service/llmobs/middleware/retry.d.ts +51 -0
  134. package/dist/ai-service/llmobs/middleware/retry.d.ts.map +1 -0
  135. package/dist/ai-service/llmobs/middleware/retry.js +147 -0
  136. package/dist/ai-service/llmobs/middleware/retry.js.map +1 -0
  137. package/dist/ai-service/llmobs/middleware/stream-text.d.ts.map +1 -1
  138. package/dist/ai-service/llmobs/middleware/stream-text.js +1 -0
  139. package/dist/ai-service/llmobs/middleware/stream-text.js.map +1 -1
  140. package/dist/ai-service/llmobs/tracer.d.ts +4 -0
  141. package/dist/ai-service/llmobs/tracer.d.ts.map +1 -1
  142. package/dist/ai-service/llmobs/tracer.js +11 -0
  143. package/dist/ai-service/llmobs/tracer.js.map +1 -1
  144. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ButtonPropsDocs.js +1 -1
  145. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/CheckboxPropsDocs.js +1 -1
  146. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ColumnPropsDocs.js +1 -1
  147. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ContainerPropsDocs.js +1 -1
  148. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/DatePickerPropsDocs.js +1 -1
  149. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/DropdownPropsDocs.js +1 -1
  150. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/IconPropsDocs.js +1 -1
  151. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ImagePropsDocs.js +1 -1
  152. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/InputPropsDocs.js +1 -1
  153. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/ModalPropsDocs.js +1 -1
  154. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/PagePropsDocs.js +1 -1
  155. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SectionPropsDocs.js +1 -1
  156. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SlideoutPropsDocs.js +1 -1
  157. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/SwitchPropsDocs.js +1 -1
  158. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/TablePropsDocs.js +1 -1
  159. package/dist/ai-service/prompt-builder-service/static-fragments/library-components/TextPropsDocs.js +1 -1
  160. package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/Dim.js +1 -1
  161. package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/EventFlow.js +1 -1
  162. package/dist/ai-service/prompt-builder-service/static-fragments/library-typedefs/TextStyleWithVariant.js +1 -1
  163. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/full-examples.js +1 -1
  164. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-api.js +1 -1
  165. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-components-rules.js +1 -1
  166. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-custom-components.js +1 -1
  167. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-data-filtering.js +1 -1
  168. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-event-flow.js +1 -1
  169. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-forms.js +1 -1
  170. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-layouts.js +1 -1
  171. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-page.js +1 -1
  172. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-rbac.js +1 -1
  173. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-routes.js +1 -1
  174. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-state.js +1 -1
  175. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/superblocks-theming-chakra-new.js +1 -1
  176. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-base.js +1 -1
  177. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-incremental.js +1 -1
  178. package/dist/ai-service/prompt-builder-service/static-fragments/platform-parts/system-specific-edit.js +1 -1
  179. package/dist/ai-service/state-machine/clark-fsm.d.ts +2 -0
  180. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  181. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  182. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  183. package/dist/ai-service/state-machine/handlers/llm-generating.js +363 -336
  184. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  185. package/dist/ai-service/util/retry-on-timeout.d.ts +93 -0
  186. package/dist/ai-service/util/retry-on-timeout.d.ts.map +1 -0
  187. package/dist/ai-service/util/retry-on-timeout.js +153 -0
  188. package/dist/ai-service/util/retry-on-timeout.js.map +1 -0
  189. package/dist/ai-service/util/stop-condition.d.ts +4 -1
  190. package/dist/ai-service/util/stop-condition.d.ts.map +1 -1
  191. package/dist/ai-service/util/stop-condition.js +14 -2
  192. package/dist/ai-service/util/stop-condition.js.map +1 -1
  193. package/dist/sync-service/download.d.ts.map +1 -1
  194. package/dist/sync-service/download.js +28 -7
  195. package/dist/sync-service/download.js.map +1 -1
  196. package/dist/util/logger.d.ts +13 -0
  197. package/dist/util/logger.d.ts.map +1 -1
  198. package/dist/util/logger.js +21 -0
  199. package/dist/util/logger.js.map +1 -1
  200. package/package.json +11 -9
  201. package/dist/ai-service/llm/context/logger.d.ts +0 -17
  202. package/dist/ai-service/llm/context/logger.d.ts.map +0 -1
  203. package/dist/ai-service/llm/context/logger.js +0 -26
  204. package/dist/ai-service/llm/context/logger.js.map +0 -1
@@ -46,15 +46,16 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn,
46
46
  if (target) Object.defineProperty(target, contextIn.name, descriptor);
47
47
  done = true;
48
48
  };
49
+ import { getPrefixedLogger } from "../../../util/logger.js";
49
50
  import llmobs from "../../llmobs/index.js";
50
51
  import { safeJsonStringify } from "../../util/safe-stringify.js";
51
52
  import { CACHE_BREAKPOINT_PROVIDER_OPTIONS, } from "./caching/index.js";
52
53
  import { UserPromptTooLargeError, ContextLimitExceededError, } from "./errors.js";
53
54
  import { L1Turn, L2Turn, L3Turn } from "./levels/index.js";
54
- import { createPrefixedLogger } from "./logger.js";
55
55
  import { withContextDefaults, withLoggingDefaults, } from "./options.js";
56
+ import { compactContent } from "./utils/content-compaction.js";
56
57
  import { estimateTokenCount, countChars, normalizeToolResultOutput, } from "./utils/index.js";
57
- import { prependReasoningBlockIfNeeded } from "./utils/message-utils.js";
58
+ import { isEmpty, prependReasoningBlockIfNeeded, } from "./utils/message-utils.js";
58
59
  import { renderContext, } from "./utils/visualization.js";
59
60
  /**
60
61
  * Context manages conversation history with automatic compaction.
@@ -81,8 +82,6 @@ let Context = (() => {
81
82
  // num responses received in active turn
82
83
  // need to track this to dedup responses from streamText.onStepFinish
83
84
  activeTurnNumResponses = 0;
84
- // links split turns
85
- continuations = new WeakMap();
86
85
  // start time of current turn
87
86
  // so we can show turn durations in viz
88
87
  turnStartMs = 0;
@@ -107,7 +106,7 @@ let Context = (() => {
107
106
  }
108
107
  get logger() {
109
108
  if (!this._logger) {
110
- this._logger = createPrefixedLogger(this.logPrefix(), this.logging.verbose);
109
+ this._logger = getPrefixedLogger(this.logPrefix(), this.logging.verbose);
111
110
  }
112
111
  return this._logger;
113
112
  }
@@ -140,14 +139,19 @@ let Context = (() => {
140
139
  options: this.options.caching,
141
140
  });
142
141
  this.logger.debug(`Cache: ${breakPoints.length} breakpoints`);
143
- const messages = this.allMessages.map((msg, index, msgs) => {
142
+ const messages = this.allMessages.flatMap((msg, index, msgs) => {
144
143
  if (breakPoints.includes(index)) {
145
144
  msg.hasBreakPoint = true;
146
145
  }
147
146
  else if (msg.hasBreakPoint) {
148
147
  delete msg.hasBreakPoint;
149
148
  }
150
- return this.toModelMessage(msg, index, msgs);
149
+ const message = this.sanitize(msg, index, msgs);
150
+ if (isEmpty(message)) {
151
+ this.logger.warn(`Skipping empty message at index ${index}`);
152
+ return [];
153
+ }
154
+ return [message];
151
155
  });
152
156
  for (const idx of breakPoints) {
153
157
  messages[idx].providerOptions = CACHE_BREAKPOINT_PROVIDER_OPTIONS;
@@ -192,16 +196,14 @@ let Context = (() => {
192
196
  return this.activeTurn?.steps.at(-1);
193
197
  }
194
198
  /**
195
- * All turn messages (L3 + L2 + L1), excluding continuation markers.
199
+ * All turn messages (L3 + L2 + L1).
196
200
  */
197
201
  get turnMessages() {
198
202
  const messages = [];
199
203
  messages.push(...this.l3Turns.flatMap((turn) => turn.messages));
200
204
  messages.push(...this.l2Turns.flatMap((turn) => turn.messages));
201
205
  messages.push(...this.l1Turns.flatMap((turn) => turn.messages));
202
- // filter out continuation marker messages
203
- return messages.filter((msg) => msg.role !== "user" ||
204
- msg.originalUserMessage == undefined);
206
+ return messages;
205
207
  }
206
208
  /**
207
209
  * All messages including system prompt.
@@ -224,7 +226,7 @@ let Context = (() => {
224
226
  tokenCount: this.estimateTokenCount(message),
225
227
  };
226
228
  this.logger.debug(`Set system prompt with ${this.systemPromptTokenCount} tokens`);
227
- this.compact(this.options.maxTokens);
229
+ this.compactIfNeeded();
228
230
  }
229
231
  /**
230
232
  * Retrieves the current system prompt (if any).
@@ -259,7 +261,7 @@ let Context = (() => {
259
261
  }
260
262
  const newTurn = new L1Turn(tokenizedUser);
261
263
  this.l1Turns.push(newTurn);
262
- this.compact(this.options.maxTokens);
264
+ this.compactIfNeeded();
263
265
  void this.persist();
264
266
  }
265
267
  /**
@@ -293,9 +295,7 @@ let Context = (() => {
293
295
  this.updateCharsPerTokenEstimate(usage);
294
296
  }
295
297
  this.activeStep.push(...newResponses.map((msg) => this.withTokenCount(msg)));
296
- // Split old steps from active turn if needed (keep recent steps active)
297
- this.splitActiveTurn();
298
- this.compact(this.options.maxTokens);
298
+ this.compactIfNeeded();
299
299
  this.printState({ message: "endStep", usage });
300
300
  void this.persist();
301
301
  }
@@ -310,7 +310,7 @@ let Context = (() => {
310
310
  const durationMs = Date.now() - this.turnStartMs;
311
311
  this.activeTurnNumResponses = 0;
312
312
  this.logger.debug(`Ending active turn`);
313
- this.compact(this.options.maxTokens, false);
313
+ this.compactIfNeeded(false);
314
314
  this.printState({ message: "endTurn", usage, durationMs });
315
315
  }
316
316
  /**
@@ -343,31 +343,37 @@ let Context = (() => {
343
343
  }
344
344
  this.logger.debug(`Recalculated context token count: ${this.tokenCount} tokens`);
345
345
  }
346
+ /**
347
+ * Execute compaction if needed based on trigger threshold.
348
+ */
349
+ compactIfNeeded(lastTurnIsActive = true) {
350
+ const { trigger } = this.options.compaction;
351
+ // Skip compaction only if under trigger
352
+ if (this.tokenCount < trigger) {
353
+ this.logger.debug(`Skipping compaction: ${this.tokenCount} < ${trigger} tokens`);
354
+ return;
355
+ }
356
+ this.compact(lastTurnIsActive);
357
+ }
346
358
  /**
347
359
  * Main compaction algorithm.
348
360
  *
349
361
  * Triggers when context exceeds compactionTrigger threshold.
350
- * Demotes/drops turns to reach compactionTarget.
362
+ * Demotes/drops/trims turns to reach compactionTarget.
351
363
  * TODO(matt): add final AI summary level
352
364
  *
353
- * @param maxTokens - Hard token limit
354
365
  * @param lastTurnIsActive - Whether last L1 turn is active (protected from demotion)
355
366
  */
356
- compact(maxTokens, lastTurnIsActive = true) {
357
- const effectiveTrigger = Math.min(this.options.compaction.trigger, maxTokens);
358
- const effectiveTarget = Math.min(this.options.compaction.target, maxTokens);
359
- // Skip compaction only if under trigger
360
- if (this.tokenCount < effectiveTrigger) {
361
- this.logger.debug(`Skipping compaction: ${this.tokenCount} < ${effectiveTrigger} tokens`);
362
- return;
363
- }
367
+ compact(lastTurnIsActive = true) {
368
+ const { maxTokens } = this.options;
369
+ const { trigger, target } = this.options.compaction;
364
370
  const initialTokenCount = this.tokenCount;
365
371
  const l1Count = this.l1Turns.length;
366
372
  const l2Count = this.l2Turns.length;
367
373
  const l3Count = this.l3Turns.length;
368
- this.logger.info(`Compaction triggered: ${this.tokenCount} tokens (trigger: ${effectiveTrigger}, target: ${effectiveTarget}) | L1=${l1Count} L2=${l2Count} L3=${l3Count}`);
374
+ this.logger.info(`Compaction triggered: ${this.tokenCount} tokens (trigger: ${trigger}, target: ${target}) | L1=${l1Count} L2=${l2Count} L3=${l3Count}`);
369
375
  const { l1, l2, l3 } = this.options.compaction.budgets;
370
- const budgets = this.calculateLevelBudgets(effectiveTarget);
376
+ const budgets = this.calculateLevelBudgets(target);
371
377
  this.logger.debug(`Level targets - L1: ${budgets.l1} (${(l1 * 100).toPrecision(2)}%), L2: ${budgets.l2} (${(l2 * 100).toPrecision(2)}%), L3: ${budgets.l3} (${(l3 * 100).toPrecision(2)}%)`);
372
378
  // Compact each level to its target
373
379
  this.compactL1ToTarget(budgets.l1, lastTurnIsActive);
@@ -434,24 +440,16 @@ let Context = (() => {
434
440
  const getL1Tokens = () => this.l1Turns.reduce((sum, turn) => sum + turn.tokenCount, 0);
435
441
  const l1Before = getL1Tokens();
436
442
  let demoted = 0;
437
- // Splits old steps out from active turn so they can be demoted if needed
438
- this.splitActiveTurn();
439
443
  while (getL1Tokens() > target &&
440
444
  this.l1Turns.length > (lastTurnIsActive ? 1 : 0)) {
441
445
  const turn = this.l1Turns.shift();
442
446
  const compacted = turn.compact(this.options.charsPerToken);
443
- // If this is a continuation user message, try to merge with previous L2 turn
444
- if (compacted.user.originalUserMessage && this.l2Turns.length > 0) {
445
- const lastL2 = this.l2Turns.at(-1);
446
- lastL2.responses.push(...compacted.responses);
447
- lastL2.user.originalUserMessage = undefined; // Clear originalUserMessage since it's now merged
448
- }
449
- else {
450
- compacted.user = compacted.user.originalUserMessage ?? compacted.user;
451
- this.l2Turns.push(compacted);
452
- }
447
+ this.l2Turns.push(compacted);
453
448
  demoted++;
454
449
  }
450
+ if (getL1Tokens() > target) {
451
+ this.trimActiveTurn(target);
452
+ }
455
453
  if (demoted > 0) {
456
454
  this.logger.debug(`L1 compaction: ${demoted} turns demoted, ${l1Before}→${getL1Tokens()} tokens`);
457
455
  }
@@ -481,26 +479,13 @@ let Context = (() => {
481
479
  const l3Before = getL3Tokens();
482
480
  let dropped = 0;
483
481
  while (getL3Tokens() > target && this.l3Turns.length > 0) {
484
- const turn = this.l3Turns.shift();
485
- this.patchContinuationBeforeDrop(turn.user);
482
+ this.l3Turns.shift();
486
483
  dropped++;
487
484
  }
488
485
  if (dropped > 0) {
489
486
  this.logger.debug(`L3 compaction: ${dropped} turns dropped, ${l3Before}→${getL3Tokens()} tokens`);
490
487
  }
491
488
  }
492
- /*
493
- * Restore original user message to next continuation before dropping turn.
494
- */
495
- patchContinuationBeforeDrop(user) {
496
- if (!this.continuations.has(user)) {
497
- return;
498
- }
499
- const next = this.continuations.get(user);
500
- next.content = next.originalUserMessage.content;
501
- next.tokenCount = this.estimateTokenCount(next);
502
- this.continuations.delete(user);
503
- }
504
489
  /**
505
490
  * Performs aggressive compaction when still over target after level-based compaction.
506
491
  */
@@ -512,8 +497,6 @@ let Context = (() => {
512
497
  const l1Count = this.l1Turns.length;
513
498
  const l2Count = this.l2Turns.length;
514
499
  const l3Count = this.l3Turns.length;
515
- // split all but two most recent steps out from active turn
516
- this.splitActiveTurn(2);
517
500
  while (this.tokenCount > target) {
518
501
  if (this.l1Turns.length > 1) {
519
502
  const turn = this.l1Turns.shift();
@@ -528,13 +511,15 @@ let Context = (() => {
528
511
  continue;
529
512
  }
530
513
  if (this.l3Turns.length) {
531
- const turn = this.l3Turns.shift();
532
- this.patchContinuationBeforeDrop(turn.user);
514
+ this.l3Turns.shift();
533
515
  aggressiveDemotions++;
534
516
  continue;
535
517
  }
536
518
  break;
537
519
  }
520
+ if (this.tokenCount > target) {
521
+ this.trimActiveTurn(target, 1);
522
+ }
538
523
  const finalL1 = this.l1Turns.length;
539
524
  const finalL2 = this.l2Turns.length;
540
525
  const finalL3 = this.l3Turns.length;
@@ -543,66 +528,26 @@ let Context = (() => {
543
528
  }
544
529
  }
545
530
  /**
546
- * Splits old steps from active turn into a completed L1 turn when appropriate.
531
+ * Trims content from older steps in the active turn to reduce token usage.
547
532
  *
548
533
  * Strategy:
549
- * - Split when turn has more than `prioritizedSteps` steps
550
- * - Merge with previous split turn if it exists (via continuations map)
551
- *
552
- * This keeps recent steps in the active turn while moving older steps
553
- * to a completed turn that can be cached and potentially compacted.
554
- */
555
- splitActiveTurn(stepsToKeep) {
556
- if (!this.activeTurn)
557
- return;
558
- const minSteps = stepsToKeep ?? this.options.compaction.prioritizedSteps;
559
- // Need more than minSteps to split
560
- if (this.activeTurn.steps.length <= minSteps) {
561
- return;
562
- }
563
- const stepsToSplit = this.activeTurn.steps.length - minSteps;
564
- this.performSplit(stepsToSplit);
565
- }
566
- /**
567
- * Performs the actual split operation.
534
+ * - Preserve the most recent `stepsToPreserve` steps at full fidelity
535
+ * - Compact content in older steps using compactContent()
536
+ * - Continue until token count is under target or all trimmable steps are processed
568
537
  *
569
- * If a previous split turn exists (linked via continuations), merges steps into it.
570
- * Otherwise creates a new completed turn.
538
+ * This keeps recent interactions detailed while reducing token usage from
539
+ * earlier steps in long-running turns.
571
540
  */
572
- performSplit(stepsToCacheable) {
541
+ trimActiveTurn(target, stepsToPreserve = this.options.compaction.prioritizedSteps) {
573
542
  if (!this.activeTurn)
574
543
  return;
575
- const initialStepCount = this.activeTurn.steps.length;
576
- const initialTokens = this.activeTurn.tokenCount;
577
- // Extract old steps
578
- const oldSteps = this.activeTurn.steps.splice(0, stepsToCacheable);
579
- // Check if previous turn is a continuation from same user message
580
- const prevTurn = this.l1Turns[this.l1Turns.length - 2]; // -2 because active is at -1
581
- if (prevTurn &&
582
- this.continuations.get(prevTurn.user) === this.activeTurn.user) {
583
- // Merge: append steps to existing split turn
584
- prevTurn.steps.push(...oldSteps);
585
- this.logger.info(`Merged ${stepsToCacheable} steps into existing split turn (${initialStepCount}→${this.activeTurn.steps.length} steps in active turn, ${initialTokens}→${this.activeTurn.tokenCount} tokens)`);
586
- }
587
- else {
588
- // Create new split turn
589
- const completedTurn = new L1Turn(this.activeTurn.user);
590
- completedTurn.steps = oldSteps;
591
- // Insert the completed turn before the active turn
592
- this.l1Turns.splice(this.l1Turns.length - 1, 0, completedTurn);
593
- // Replace active turn's user message with continuation marker (if not already)
594
- if (!this.activeTurn.user.originalUserMessage) {
595
- const continuationUser = {
596
- role: "user",
597
- content: "[Continuing previous interaction...]",
598
- originalUserMessage: this.activeTurn.user,
599
- tokenCount: 0,
600
- };
601
- continuationUser.tokenCount = this.estimateTokenCount(continuationUser);
602
- this.activeTurn.user = continuationUser;
603
- }
604
- this.continuations.set(completedTurn.user, this.activeTurn.user);
605
- this.logger.info(`Split ${stepsToCacheable} old steps into new L1 turn (${initialStepCount}→${this.activeTurn.steps.length} steps in active turn, ${initialTokens}→${this.activeTurn.tokenCount} tokens)`);
544
+ for (let i = 0; this.activeTurn.tokenCount > target &&
545
+ i < this.activeTurn.steps.length - stepsToPreserve; i++) {
546
+ const step = this.activeTurn.steps[i];
547
+ step.forEach((msg) => {
548
+ msg.content = compactContent(msg.content);
549
+ msg.tokenCount = this.estimateTokenCount(msg);
550
+ });
606
551
  }
607
552
  }
608
553
  withTokenCount(message) {
@@ -614,21 +559,18 @@ let Context = (() => {
614
559
  estimateTokenCount(message) {
615
560
  return estimateTokenCount(message, this.options.charsPerToken);
616
561
  }
617
- toModelMessage(msg, index, messages) {
618
- const { tokenCount, ...message } = msg;
619
- if (message.role === "system") {
620
- return { ...message, role: "system" };
621
- }
562
+ /**
563
+ * Sanitizes outgoing messages into clean ModelMessages for LLM input.
564
+ * Performs any necessary repairs (e.g. removing orphaned tool calls).
565
+ */
566
+ sanitize(message, index, messages) {
622
567
  if (message.role === "assistant") {
623
- // repair any broken tool-uses
568
+ // repair any broken tool-uses in-place
624
569
  this.repairBrokenToolCalls(message, index, messages);
625
- return {
626
- ...prependReasoningBlockIfNeeded(message),
627
- role: "assistant",
628
- };
570
+ prependReasoningBlockIfNeeded(message);
629
571
  }
630
- if (message.role === "tool") {
631
- const content = Array.isArray(message.content)
572
+ else if (message.role === "tool") {
573
+ message.content = Array.isArray(message.content)
632
574
  ? message.content.map((part) => {
633
575
  if (part.type === "tool-result" &&
634
576
  typeof part.output === "object" &&
@@ -641,9 +583,9 @@ let Context = (() => {
641
583
  return part;
642
584
  })
643
585
  : message.content;
644
- return { ...message, content, role: "tool" };
645
586
  }
646
- return { ...message, role: "user" };
587
+ const { tokenCount, hasBreakPoint, ...msg } = message;
588
+ return msg;
647
589
  }
648
590
  /**
649
591
  * Removes tool-call parts from assistant messages if their results aren't present later in the context.
@@ -654,7 +596,7 @@ let Context = (() => {
654
596
  */
655
597
  repairBrokenToolCalls(assistant, index, messages) {
656
598
  if (typeof assistant.content === "string") {
657
- return;
599
+ return assistant;
658
600
  }
659
601
  const toolResultIds = new Set();
660
602
  const toolCallIds = assistant.content.flatMap((part) => {
@@ -667,7 +609,7 @@ let Context = (() => {
667
609
  return [];
668
610
  });
669
611
  if (toolCallIds.length === 0) {
670
- return;
612
+ return assistant;
671
613
  }
672
614
  for (let i = index + 1; i < messages.length; i++) {
673
615
  const msg = messages[i];
@@ -683,12 +625,19 @@ let Context = (() => {
683
625
  }
684
626
  });
685
627
  }
628
+ // Remove tool-call parts without corresponding tool-result
629
+ const before = assistant.content.length;
686
630
  assistant.content = assistant.content.filter((part) => {
687
631
  if (part.type === "tool-call") {
688
632
  return toolResultIds.has(part.toolCallId);
689
633
  }
690
634
  return true;
691
635
  });
636
+ const removed = before - assistant.content.length;
637
+ if (removed > 0) {
638
+ this.logger.debug(`Removed ${removed} orphaned tool calls from assistant message at index ${index}`);
639
+ assistant.tokenCount = this.estimateTokenCount(assistant);
640
+ }
692
641
  }
693
642
  /**
694
643
  * Serializes context for persistence.
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/context/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/context/context.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,13 @@
4
4
  * This module provides a three-level compaction system for managing
5
5
  * LLM conversation context within token limits while preserving
6
6
  * conversation history and important details.
7
+ *
8
+ * Thread-safe ownership ensures exclusive access in concurrent environments.
7
9
  */
8
10
  export { Context } from "./context.js";
9
11
  export { ContextManager } from "./manager.js";
12
+ export { ContextHandle, tryAcquireWithRetries, type AcquireContextOptions, } from "./context-handle.js";
13
+ export { ContextLockManager, ContextLockError, ContextNotOwnedError, type ContextLock, } from "./context-lock.js";
10
14
  export { loadContextConfigFromEnv, type ContextConfig } from "./config.js";
11
15
  export { UserPromptTooLargeError, ContextLimitExceededError, } from "./errors.js";
12
16
  export * from "./types.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/context/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9C,OAAO,EAAE,wBAAwB,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAG3E,OAAO,EACL,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AAGrB,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/context/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9C,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,KAAK,qBAAqB,GAC3B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,WAAW,GACjB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,wBAAwB,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAG3E,OAAO,EACL,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AAGrB,cAAc,YAAY,CAAC"}
@@ -4,10 +4,15 @@
4
4
  * This module provides a three-level compaction system for managing
5
5
  * LLM conversation context within token limits while preserving
6
6
  * conversation history and important details.
7
+ *
8
+ * Thread-safe ownership ensures exclusive access in concurrent environments.
7
9
  */
8
10
  // Main classes
9
11
  export { Context } from "./context.js";
10
12
  export { ContextManager } from "./manager.js";
13
+ // Thread-safe components
14
+ export { ContextHandle, tryAcquireWithRetries, } from "./context-handle.js";
15
+ export { ContextLockManager, ContextLockError, ContextNotOwnedError, } from "./context-lock.js";
11
16
  // Configuration
12
17
  export { loadContextConfigFromEnv } from "./config.js";
13
18
  // Error classes
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/context/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAe;AACf,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,gBAAgB;AAChB,OAAO,EAAE,wBAAwB,EAAsB,MAAM,aAAa,CAAC;AAE3E,gBAAgB;AAChB,OAAO,EACL,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AAErB,eAAe;AACf,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/context/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAe;AACf,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,yBAAyB;AACzB,OAAO,EACL,aAAa,EACb,qBAAqB,GAEtB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,GAErB,MAAM,mBAAmB,CAAC;AAE3B,gBAAgB;AAChB,OAAO,EAAE,wBAAwB,EAAsB,MAAM,aAAa,CAAC;AAE3E,gBAAgB;AAChB,OAAO,EACL,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AAErB,eAAe;AACf,cAAc,YAAY,CAAC"}
@@ -16,8 +16,6 @@ export type TokenizedMessage = ModelMessage & {
16
16
  /** User message with cached token count */
17
17
  export type TokenizedUserMessage = TokenizedMessage & {
18
18
  role: "user";
19
- /** Original user message for split turn continuations */
20
- originalUserMessage?: TokenizedUserMessage;
21
19
  };
22
20
  /** Assistant message with cached token count */
23
21
  export type TokenizedAssistantMessage = TokenizedMessage & {
@@ -1 +1 @@
1
- {"version":3,"file":"internal-types.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/context/internal-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EACV,YAAY,EACZ,qBAAqB,EACrB,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,cAAc,EACf,MAAM,IAAI,CAAC;AAEZ,sEAAsE;AACtE,MAAM,MAAM,IAAI,GAAG,wBAAwB,EAAE,CAAC;AAE9C,yDAAyD;AACzD,MAAM,MAAM,WAAW,GACnB,QAAQ,GACR,QAAQ,GACR,aAAa,GACb,YAAY,GACZ,cAAc,CAAC;AAEnB,MAAM,MAAM,eAAe,GAAG,qBAAqB,GAAG,gBAAgB,CAAC;AAEvE,sCAAsC;AACtC,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,2CAA2C;AAC3C,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,GAAG;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,mBAAmB,CAAC,EAAE,oBAAoB,CAAC;CAC5C,CAAC;AAEF,gDAAgD;AAChD,MAAM,MAAM,yBAAyB,GAAG,gBAAgB,GAAG;IACzD,IAAI,EAAE,WAAW,CAAC;CACnB,CAAC;AAEF,6CAA6C;AAC7C,MAAM,MAAM,sBAAsB,GAAG,gBAAgB,GAAG;IACtD,IAAI,EAAE,QAAQ,CAAC;CAChB,CAAC;AAEF,2CAA2C;AAC3C,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,GAAG;IACpD,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,2CAA2C;AAC3C,MAAM,MAAM,wBAAwB,GAChC,yBAAyB,GACzB,oBAAoB,CAAC;AAEzB;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,gBAAgB,GACpB,GAAG,IAAI,wBAAwB,CAEjC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,gBAAgB,GACpB,GAAG,IAAI,yBAAyB,CAElC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,gBAAgB,GACpB,GAAG,IAAI,oBAAoB,CAE7B;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,gBAAgB,GACpB,GAAG,IAAI,oBAAoB,CAE7B"}
1
+ {"version":3,"file":"internal-types.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/llm/context/internal-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EACV,YAAY,EACZ,qBAAqB,EACrB,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,cAAc,EACf,MAAM,IAAI,CAAC;AAEZ,sEAAsE;AACtE,MAAM,MAAM,IAAI,GAAG,wBAAwB,EAAE,CAAC;AAE9C,yDAAyD;AACzD,MAAM,MAAM,WAAW,GACnB,QAAQ,GACR,QAAQ,GACR,aAAa,GACb,YAAY,GACZ,cAAc,CAAC;AAEnB,MAAM,MAAM,eAAe,GAAG,qBAAqB,GAAG,gBAAgB,CAAC;AAEvE,sCAAsC;AACtC,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,2CAA2C;AAC3C,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,GAAG;IACpD,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,gDAAgD;AAChD,MAAM,MAAM,yBAAyB,GAAG,gBAAgB,GAAG;IACzD,IAAI,EAAE,WAAW,CAAC;CACnB,CAAC;AAEF,6CAA6C;AAC7C,MAAM,MAAM,sBAAsB,GAAG,gBAAgB,GAAG;IACtD,IAAI,EAAE,QAAQ,CAAC;CAChB,CAAC;AAEF,2CAA2C;AAC3C,MAAM,MAAM,oBAAoB,GAAG,gBAAgB,GAAG;IACpD,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,2CAA2C;AAC3C,MAAM,MAAM,wBAAwB,GAChC,yBAAyB,GACzB,oBAAoB,CAAC;AAEzB;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,gBAAgB,GACpB,GAAG,IAAI,wBAAwB,CAEjC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,gBAAgB,GACpB,GAAG,IAAI,yBAAyB,CAElC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,gBAAgB,GACpB,GAAG,IAAI,oBAAoB,CAE7B;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,gBAAgB,GACpB,GAAG,IAAI,oBAAoB,CAE7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"internal-types.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/context/internal-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AA2DH;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,GAAqB;IAErB,OAAO,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,GAAqB;IAErB,OAAO,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,GAAqB;IAErB,OAAO,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,GAAqB;IAErB,OAAO,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"internal-types.js","sourceRoot":"","sources":["../../../../src/ai-service/llm/context/internal-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAyDH;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,GAAqB;IAErB,OAAO,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,GAAqB;IAErB,OAAO,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,GAAqB;IAErB,OAAO,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,GAAqB;IAErB,OAAO,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC;AAC7B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"l1.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context/levels/l1.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,EACV,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,oBAAoB,EACpB,gBAAgB,EAChB,IAAI,EACL,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD;;;;;;;;GAQG;AACH,qBAAa,MAAM;IACjB,IAAI,EAAE,oBAAoB,CAAC;IAC3B,KAAK,EAAE,IAAI,EAAE,CAAM;gBAEP,IAAI,EAAE,oBAAoB;IAKtC;;OAEG;IACH,IAAI,UAAU,IAAI,MAAM,CAQvB;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,yBAAyB,EAAE,CAM3C;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,oBAAoB,EAAE,CAIlC;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,gBAAgB,EAAE,CAEjC;IAED;;OAEG;IACH,OAAO,CAAC,SAAS,EAAE,wBAAwB,EAAE;IAK7C;;OAEG;IACH,gBAAgB,IAAI,OAAO;IAI3B;;;;;;;;;OASG;IACH,OAAO,CAAC,kBAAkB,EAAE,MAAM,GAAG,MAAM;IAY3C;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAc/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAiB1B;;OAEG;IACH,QAAQ,IAAI,YAAY;IAOxB;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM;CAKhD"}
1
+ {"version":3,"file":"l1.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context/levels/l1.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,EACV,oBAAoB,EACpB,wBAAwB,EACxB,yBAAyB,EACzB,oBAAoB,EACpB,gBAAgB,EAChB,IAAI,EACL,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD;;;;;;;;GAQG;AACH,qBAAa,MAAM;IACjB,IAAI,EAAE,oBAAoB,CAAC;IAC3B,KAAK,EAAE,IAAI,EAAE,CAAM;gBAEP,IAAI,EAAE,oBAAoB;IAKtC;;OAEG;IACH,IAAI,UAAU,IAAI,MAAM,CAQvB;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,yBAAyB,EAAE,CAM3C;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,oBAAoB,EAAE,CAIlC;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,gBAAgB,EAAE,CAEjC;IAED;;OAEG;IACH,OAAO,CAAC,SAAS,EAAE,wBAAwB,EAAE;IAK7C;;OAEG;IACH,gBAAgB,IAAI,OAAO;IAI3B;;;;;;;;;OASG;IACH,OAAO,CAAC,kBAAkB,EAAE,MAAM,GAAG,MAAM;IAY3C;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAW/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAiB1B;;OAEG;IACH,QAAQ,IAAI,YAAY;IAOxB;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM;CAKhD"}
@@ -9,7 +9,7 @@
9
9
  *
10
10
  * This level is used for active and recent turns where full context is critical.
11
11
  */
12
- import { estimateTokenCount, compactContentParts } from "../utils/index.js";
12
+ import { estimateTokenCount, compactContent } from "../utils/index.js";
13
13
  import { L2Turn } from "./l2.js";
14
14
  /**
15
15
  * L1 Turn - Full detail preservation level.
@@ -100,9 +100,7 @@ export class L1Turn {
100
100
  * Compacts an assistant message by removing tool call inputs & outputs
101
101
  */
102
102
  compactAssistantMessage(message, charactersPerToken) {
103
- const content = typeof message.content === "string"
104
- ? message.content
105
- : compactContentParts(message.content);
103
+ const content = compactContent(message.content);
106
104
  const compacted = { ...message, content };
107
105
  compacted.tokenCount = estimateTokenCount(compacted, charactersPerToken);
108
106
  return compacted;
@@ -111,7 +109,7 @@ export class L1Turn {
111
109
  * Compacts a tool message by removing inputs and outputs
112
110
  */
113
111
  compactToolMessage(message, charactersPerToken) {
114
- const compactedContent = compactContentParts(message.content);
112
+ const compactedContent = compactContent(message.content);
115
113
  const compacted = {
116
114
  ...message,
117
115
  content: compactedContent,
@@ -1 +1 @@
1
- {"version":3,"file":"l1.js","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context/levels/l1.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"l1.js","sourceRoot":"","sources":["../../../../../src/ai-service/llm/context/levels/l1.ts"],"names":[],"mappings":"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"}