@sogni-ai/sogni-intelligence-client 4.7.2 → 4.8.1

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.
@@ -24,6 +24,13 @@ export interface TrimConversationResult {
24
24
  summaryTokens: number;
25
25
  summaryTokenBudget: number;
26
26
  }
27
+ export declare class ContextBudgetExceededError extends Error {
28
+ readonly estimatedTokens: number;
29
+ readonly inputBudget: number;
30
+ readonly code: "CONTEXT_BUDGET_EXCEEDED";
31
+ constructor(estimatedTokens: number, inputBudget: number);
32
+ }
33
+ export declare function assertContextFitsBudget(result: Pick<TrimConversationResult, 'afterTokens' | 'inputBudget'>): void;
27
34
  export interface TrimConversationOptions {
28
35
  minProtectedGroups?: number;
29
36
  unmaskableTools?: ReadonlySet<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,yBAAyB,OAAQ,CAAC;AAC/C,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAC5C,eAAO,MAAM,wBAAwB,IAAI,CAAC;AA4B1C,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,uBAAuB,CAAC;AAE9F,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,uBAAuB,CAAC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,uBAAuB;IACtC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACtC,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AA8DD,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,uBAAuB,GAChC,MAAM,CAER;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,WAAW,EAAE,EACvB,OAAO,CAAC,EAAE,uBAAuB,GAChC,MAAM,CAER;AAcD,MAAM,WAAW,kBAAkB;IAEjC,aAAa,EAAE,MAAM,CAAC;IAEtB,YAAY,EAAE,MAAM,CAAC;IAErB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,6BAA6B,OAAQ,CAAC;AACnD,eAAO,MAAM,0BAA0B,QAAS,CAAC;AAEjD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,kBAAkB,GAAG,mBAAmB,CAcnF;AA6RD,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,WAAW,EAAE,EACvB,aAAa,EAAE,WAAW,EAC1B,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,uBAA4B,GACpC,sBAAsB,CAuJxB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_TOOL_SCHEMA_TOKENS = exports.DEFAULT_CONTEXT_SAFETY_MARGIN = exports.DEFAULT_MESSAGE_OVERHEAD = exports.DEFAULT_IMAGE_TOKENS_LOW = exports.DEFAULT_IMAGE_TOKENS_HIGH = exports.DEFAULT_CHARS_PER_TOKEN = void 0;
3
+ exports.DEFAULT_TOOL_SCHEMA_TOKENS = exports.DEFAULT_CONTEXT_SAFETY_MARGIN = exports.ContextBudgetExceededError = exports.DEFAULT_MESSAGE_OVERHEAD = exports.DEFAULT_IMAGE_TOKENS_LOW = exports.DEFAULT_IMAGE_TOKENS_HIGH = exports.DEFAULT_CHARS_PER_TOKEN = void 0;
4
+ exports.assertContextFitsBudget = assertContextFitsBudget;
4
5
  exports.estimateMessageTokens = estimateMessageTokens;
5
6
  exports.estimateTotalTokens = estimateTotalTokens;
6
7
  exports.computeContextBudget = computeContextBudget;
@@ -32,6 +33,25 @@ const DEFAULT_UNMASKABLE_TOOLS = new Set([
32
33
  'analyze_image',
33
34
  'analyze_video',
34
35
  ]);
36
+ class ContextBudgetExceededError extends Error {
37
+ constructor(estimatedTokens, inputBudget) {
38
+ super('This conversation is too large for the selected model. Shorten the request or start a new conversation.');
39
+ this.estimatedTokens = estimatedTokens;
40
+ this.inputBudget = inputBudget;
41
+ this.code = 'CONTEXT_BUDGET_EXCEEDED';
42
+ this.name = 'ContextBudgetExceededError';
43
+ }
44
+ }
45
+ exports.ContextBudgetExceededError = ContextBudgetExceededError;
46
+ function assertContextFitsBudget(result) {
47
+ if (!Number.isFinite(result.afterTokens) || result.afterTokens < 0
48
+ || !Number.isFinite(result.inputBudget) || result.inputBudget < 0) {
49
+ throw new RangeError('Context token estimates and input budget must be finite, nonnegative numbers.');
50
+ }
51
+ if (result.afterTokens > result.inputBudget) {
52
+ throw new ContextBudgetExceededError(result.afterTokens, result.inputBudget);
53
+ }
54
+ }
35
55
  function buildTokenEstimator(options = {}) {
36
56
  const charsPerToken = options.charsPerToken ?? exports.DEFAULT_CHARS_PER_TOKEN;
37
57
  const imageTokensHigh = options.imageTokensHigh ?? exports.DEFAULT_IMAGE_TOKENS_HIGH;
@@ -179,46 +199,17 @@ function truncateSummaryPrompt(prompt, maxChars) {
179
199
  const tailChars = Math.max(0, available - headChars);
180
200
  return `${prompt.slice(0, headChars)} ... ${tailChars > 0 ? prompt.slice(-tailChars) : ''}`;
181
201
  }
182
- function extractUserIntentsFromTrimmedGroups(trimmedGroups, options) {
183
- const maxIntents = options.maxUserIntents ?? 0;
184
- const maxChars = options.maxUserIntentChars ?? 0;
185
- if (maxIntents <= 0 || maxChars <= 0)
186
- return [];
187
- const intents = [];
188
- for (const group of trimmedGroups) {
189
- if (intents.length >= maxIntents)
190
- break;
191
- for (const message of group.messages) {
192
- if (message.role !== 'user')
193
- continue;
194
- let text = '';
195
- if (typeof message.content === 'string') {
196
- text = message.content;
197
- }
198
- else if (Array.isArray(message.content)) {
199
- text = message.content
200
- .filter((part) => part.type === 'text')
201
- .map((part) => part.text || '')
202
- .join(' ');
203
- }
204
- const cleaned = text
205
- .replace(/\[Earlier:[^\]]*\]/g, '')
206
- .replace(/\s+/g, ' ')
207
- .trim();
208
- if (!cleaned)
209
- continue;
210
- const sentenceEnd = cleaned.search(/[.!?](\s|$)/);
211
- const firstSentence = sentenceEnd > 0 ? cleaned.slice(0, sentenceEnd + 1) : cleaned;
212
- const truncated = firstSentence.length > maxChars
213
- ? `${firstSentence.slice(0, Math.max(0, maxChars - 1)).trim()}…`
214
- : firstSentence;
215
- if (truncated)
216
- intents.push(truncated);
217
- if (intents.length >= maxIntents)
218
- break;
219
- }
220
- }
221
- return intents;
202
+ function preserveUserText(group) {
203
+ return group.messages.flatMap((message) => {
204
+ if (message.role !== 'user')
205
+ return [];
206
+ if (typeof message.content === 'string')
207
+ return [message];
208
+ if (!Array.isArray(message.content))
209
+ return [];
210
+ const textParts = message.content.filter((part) => part.type === 'text');
211
+ return textParts.length > 0 ? [{ ...message, content: textParts }] : [];
212
+ });
222
213
  }
223
214
  function buildEnrichedSummary(trimmedGroups, options, mediaTools) {
224
215
  const events = [];
@@ -294,25 +285,21 @@ function buildEnrichedSummary(trimmedGroups, options, mediaTools) {
294
285
  events.push('User uploaded media');
295
286
  if (generatedItems.length > 0)
296
287
  events.push(`Generated: ${generatedItems.join(', ')}`);
297
- const userIntents = extractUserIntentsFromTrimmedGroups(trimmedGroups, options);
298
- if (userIntents.length > 0) {
299
- events.push(`Conversation thread: ${userIntents.join(' | ')}`);
300
- }
301
288
  if (events.length === 0)
302
289
  return null;
303
290
  return {
304
- role: 'user',
291
+ role: 'assistant',
305
292
  content: `[Earlier: ${events.join('. ')}. Details trimmed.]`,
306
293
  };
307
294
  }
308
295
  function buildBoundedEnrichedSummary(trimmedGroups, maxSummaryTokens, mediaTools, estimator) {
309
296
  const candidates = [
310
- { maxPromptChars: 1200, maxGeneratedItems: 60, maxUserIntents: 12, maxUserIntentChars: 160 },
311
- { maxPromptChars: 800, maxGeneratedItems: 50, maxUserIntents: 10, maxUserIntentChars: 120 },
312
- { maxPromptChars: 400, maxGeneratedItems: 40, maxUserIntents: 8, maxUserIntentChars: 100 },
313
- { maxPromptChars: 200, maxGeneratedItems: 32, maxUserIntents: 6, maxUserIntentChars: 80 },
314
- { maxPromptChars: 80, maxGeneratedItems: 24, maxUserIntents: 4, maxUserIntentChars: 60 },
315
- { maxPromptChars: 0, maxGeneratedItems: 20, maxUserIntents: 0, maxUserIntentChars: 0 },
297
+ { maxPromptChars: 1200, maxGeneratedItems: 60 },
298
+ { maxPromptChars: 800, maxGeneratedItems: 50 },
299
+ { maxPromptChars: 400, maxGeneratedItems: 40 },
300
+ { maxPromptChars: 200, maxGeneratedItems: 32 },
301
+ { maxPromptChars: 80, maxGeneratedItems: 24 },
302
+ { maxPromptChars: 0, maxGeneratedItems: 20 },
316
303
  ];
317
304
  for (const candidate of candidates) {
318
305
  const summary = buildEnrichedSummary(trimmedGroups, candidate, mediaTools);
@@ -323,7 +310,7 @@ function buildBoundedEnrichedSummary(trimmedGroups, maxSummaryTokens, mediaTools
323
310
  }
324
311
  const trimmedMessageCount = trimmedGroups.reduce((sum, group) => sum + group.messages.length, 0);
325
312
  const fallback = {
326
- role: 'user',
313
+ role: 'assistant',
327
314
  content: `[Earlier: ${trimmedMessageCount} older messages were compacted to stay within context. Details trimmed.]`,
328
315
  };
329
316
  const fallbackTokens = estimator.estimateMessageTokens(fallback);
@@ -407,14 +394,18 @@ function trimConversation(messages, systemMessage, inputBudget, options = {}) {
407
394
  protectedTokens += group.tokens;
408
395
  let dropCount = 0;
409
396
  let trimmableTotal = trimmable.reduce((sum, group) => sum + group.tokens, 0);
397
+ const retainedUserMessages = trimmable.map(preserveUserText);
398
+ const retainedUserTokens = retainedUserMessages.map((messages) => estimator.estimateTotalTokens(messages));
399
+ let preservedTokens = 0;
410
400
  const summaryTokenBudget = getSummaryTokenBudget(inputBudget);
411
401
  let summaryTokens = 0;
412
402
  while (dropCount < trimmable.length) {
413
403
  const summaryResult = buildBoundedEnrichedSummary(trimmable.slice(0, dropCount), summaryTokenBudget, mediaTools, estimator);
414
404
  summaryTokens = summaryResult.tokens;
415
- if (protectedTokens + trimmableTotal + summaryTokens <= inputBudget)
405
+ if (protectedTokens + trimmableTotal + preservedTokens + summaryTokens <= inputBudget)
416
406
  break;
417
407
  trimmableTotal -= trimmable[dropCount].tokens;
408
+ preservedTokens += retainedUserTokens[dropCount];
418
409
  dropCount += 1;
419
410
  }
420
411
  if (protectedTokens > inputBudget) {
@@ -422,17 +413,21 @@ function trimConversation(messages, systemMessage, inputBudget, options = {}) {
422
413
  }
423
414
  const trimmedGroups = trimmable.slice(0, dropCount);
424
415
  const keptTrimmable = trimmable.slice(dropCount);
425
- const trimmedCount = trimmedGroups.reduce((sum, group) => sum + group.messages.length, 0);
426
- const summaryResult = buildBoundedEnrichedSummary(trimmedGroups, summaryTokenBudget, mediaTools, estimator);
416
+ const preservedUserMessages = retainedUserMessages.slice(0, dropCount).flat();
417
+ const trimmedCount = trimmedGroups.reduce((sum, group) => sum + group.messages.length, 0)
418
+ - preservedUserMessages.length;
419
+ const retainedTokens = protectedTokens
420
+ + keptTrimmable.reduce((sum, group) => sum + group.tokens, 0)
421
+ + preservedTokens;
422
+ const summaryResult = buildBoundedEnrichedSummary(trimmedGroups, Math.max(0, Math.min(summaryTokenBudget, inputBudget - retainedTokens)), mediaTools, estimator);
427
423
  const summary = summaryResult.summary;
428
424
  summaryTokens = summaryResult.tokens;
429
- const finalTotal = protectedTokens
430
- + keptTrimmable.reduce((sum, group) => sum + group.tokens, 0)
431
- + summaryTokens;
425
+ const finalTotal = retainedTokens + summaryTokens;
432
426
  if (finalTotal > inputBudget) {
433
427
  console.warn(`[CONTEXT] Trimmed payload (${finalTotal} tokens) exceeds input budget (${inputBudget}) after preserving full prompt manifest`);
434
428
  }
435
429
  const result = [];
430
+ result.push(...preservedUserMessages);
436
431
  if (summary)
437
432
  result.push(summary);
438
433
  for (const group of keptTrimmable)
@@ -451,7 +446,7 @@ function trimConversation(messages, systemMessage, inputBudget, options = {}) {
451
446
  action: 'trimmed',
452
447
  messageCountAfter: result.length,
453
448
  groupCountBefore: groups.length,
454
- groupCountAfter: keptTrimmable.length + protectedGroups.length + (summary ? 1 : 0),
449
+ groupCountAfter: preservedUserMessages.length + keptTrimmable.length + protectedGroups.length + (summary ? 1 : 0),
455
450
  trimmedGroups: trimmedGroups.length,
456
451
  keptGroups: keptTrimmable.length,
457
452
  protectedGroups: protectedGroups.length,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":";;;AA+HA,sDAKC;AAED,kDAKC;AAoCD,oDAcC;AA6RD,4CA4JC;AApnBY,QAAA,uBAAuB,GAAG,CAAC,CAAC;AAC5B,QAAA,yBAAyB,GAAG,IAAK,CAAC;AAClC,QAAA,wBAAwB,GAAG,GAAG,CAAC;AAC/B,QAAA,wBAAwB,GAAG,CAAC,CAAC;AAC1C,MAAM,4BAA4B,GAAG,CAAC,CAAC;AACvC,MAAM,oBAAoB,GAAG,IAAK,CAAC;AACnC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAErC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IAClC,eAAe;IACf,cAAc;IACd,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,eAAe;IACf,cAAc;IACd,aAAa;IACb,eAAe;IACf,eAAe;CAChB,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IAClC,gBAAgB;IAChB,iBAAiB;CAClB,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC;IACvC,eAAe;IACf,eAAe;CAChB,CAAC,CAAC;AAwDH,SAAS,mBAAmB,CAAC,UAAmC,EAAE;IAChE,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,+BAAuB,CAAC;IACvE,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,iCAAyB,CAAC;IAC7E,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,gCAAwB,CAAC;IAC1E,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,gCAAwB,CAAC;IAE5E,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC;IAE5F,MAAM,qBAAqB,GAAG,CAAC,OAAoB,EAAU,EAAE;QAC7D,IAAI,MAAM,GAAG,eAAe,CAAC;QAE7B,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACxC,MAAM,IAAI,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1C,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACnC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC1D,MAAM,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1C,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;oBACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAA6D,CAAC;oBACpF,MAAM,MAAM,GAAG,QAAQ,EAAE,MAAM,IAAI,MAAM,CAAC;oBAC1C,MAAM,IAAI,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC;gBAChE,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,aAAa,CAAC,CAAC;QACjF,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,OAAO;QACL,qBAAqB;QACrB,mBAAmB,CAAC,QAAuB;YACzC,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,GAAG,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QACpF,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,qBAAqB,CACnC,OAAoB,EACpB,OAAiC;IAEjC,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;AACrE,CAAC;AAED,SAAgB,mBAAmB,CACjC,QAAuB,EACvB,OAAiC;IAEjC,OAAO,mBAAmB,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;AACpE,CAAC;AAiCY,QAAA,6BAA6B,GAAG,IAAK,CAAC;AACtC,QAAA,0BAA0B,GAAG,KAAM,CAAC;AAEjD,SAAgB,oBAAoB,CAAC,KAAyB;IAC5D,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,qCAA6B,CAAC;IACzE,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,IAAI,kCAA0B,CAAC;IAC9E,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAC1B,CAAC,EACD,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,YAAY,GAAG,YAAY,GAAG,gBAAgB,CAC3E,CAAC;IACF,OAAO;QACL,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,YAAY;QACZ,gBAAgB;QAChB,WAAW;KACZ,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,OAAoB;IAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAClD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,aAAa,CAAC,QAAuB,EAAE,SAAyB;IACvE,MAAM,MAAM,GAAmB,EAAE,CAAC;IAClC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAE5B,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;YAC/D,MAAM,KAAK,GAAkB,CAAC,OAAO,CAAC,CAAC;YACvC,IAAI,MAAM,GAAG,SAAS,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;YACtD,MAAM,aAAa,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;YAC/C,CAAC,IAAI,CAAC,CAAC;YAEP,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC1D,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxB,MAAM,IAAI,SAAS,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvD,CAAC,IAAI,CAAC,CAAC;YACT,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC;gBACV,QAAQ,EAAE,CAAC,OAAO,CAAC;gBACnB,MAAM,EAAE,SAAS,CAAC,qBAAqB,CAAC,OAAO,CAAC;gBAChD,QAAQ,EAAE,eAAe,CAAC,OAAO,CAAC;aACnC,CAAC,CAAC;YACH,CAAC,IAAI,CAAC,CAAC;QACT,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CACzB,MAAsB,EACtB,cAAsB,EACtB,eAAoC,EACpC,SAAyB;IAEzB,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,GAAG,cAAc,CAAC;IACpD,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACrC,IAAI,CAAC,IAAI,YAAY;YAAE,OAAO,KAAK,CAAC;QAEpC,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,MAAM,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACpD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;gBAAE,OAAO,OAAO,CAAC;YAC5C,IAAI,OAAO,CAAC,IAAI,IAAI,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;gBAAE,OAAO,OAAO,CAAC;YAEtE,MAAM,cAAc,GAAG,SAAS,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;YAChE,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACtF,IAAI,IAAI,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,IAAI,CAAC;oBAAE,OAAO,OAAO,CAAC;gBAEtE,MAAM,OAAO,GAA4B,MAAM,CAAC,KAAK;oBACnD,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE;oBACpC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC;gBAC7C,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS;oBAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC;gBACnE,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS;oBAAE,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,eAAe,CAAC;gBAE9E,MAAM,aAAa,GAAgB,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpF,gBAAgB,IAAI,cAAc,GAAG,SAAS,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;gBACpF,OAAO,aAAa,CAAC;YACvB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,OAAO,CAAC;YACjB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,WAAW,IAAI,gBAAgB,CAAC;QAChC,OAAO;YACL,QAAQ,EAAE,cAAc;YACxB,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,gBAAgB;YACvC,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AACzC,CAAC;AAED,SAAS,qBAAqB,CAAC,WAAmB;IAChD,IAAI,WAAW,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC;IAC1F,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,wBAAwB,EAAE,WAAW,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC;AAC9G,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAc,EAAE,QAAgB;IAC7D,IAAI,QAAQ,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAC7B,IAAI,MAAM,CAAC,MAAM,IAAI,QAAQ;QAAE,OAAO,MAAM,CAAC;IAC7C,IAAI,QAAQ,IAAI,EAAE;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,QAAQ,GAAG,CAAC,CAAC;IAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC,CAAC;IACrD,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,QAAQ,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AAC9F,CAAC;AAWD,SAAS,mCAAmC,CAC1C,aAA6B,EAC7B,OAAuB;IAEvB,MAAM,UAAU,GAAG,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,kBAAkB,IAAI,CAAC,CAAC;IACjD,IAAI,UAAU,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IAEhD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;QAClC,IAAI,OAAO,CAAC,MAAM,IAAI,UAAU;YAAE,MAAM;QACxC,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACrC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;gBAAE,SAAS;YACtC,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACxC,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;YACzB,CAAC;iBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1C,IAAI,GAAI,OAAO,CAAC,OAAkD;qBAC/D,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;qBACtC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;qBAC9B,IAAI,CAAC,GAAG,CAAC,CAAC;YACf,CAAC;YACD,MAAM,OAAO,GAAG,IAAI;iBACjB,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC;iBAClC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;iBACpB,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAClD,MAAM,aAAa,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACpF,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,GAAG,QAAQ;gBAC/C,CAAC,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG;gBAChE,CAAC,CAAC,aAAa,CAAC;YAClB,IAAI,SAAS;gBAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACvC,IAAI,OAAO,CAAC,MAAM,IAAI,UAAU;gBAAE,MAAM;QAC1C,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,oBAAoB,CAC3B,aAA6B,EAC7B,OAAuB,EACvB,UAAgF;IAEhF,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,IAAI,qBAAqB,GAAG,CAAC,CAAC;IAE9B,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;QAClC,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACrC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAAE,SAAS;YACtH,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9D,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC,EAAE,CAAC;oBAC9D,SAAS,GAAG,IAAI,CAAC;gBACnB,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,gBAAgB,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAC1C,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,MAAM,CACxE,CAAC;QACF,MAAM,aAAa,GAAG,IAAI,GAAG,EAAuB,CAAC;QACrD,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACrC,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,YAAY;gBAAE,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACxG,CAAC;QAED,IAAI,CAAC,gBAAgB,EAAE,UAAU;YAAE,SAAS;QAE5C,KAAK,MAAM,QAAQ,IAAI,gBAAgB,CAAC,UAAU,EAAE,CAAC;YACnD,IAAI,cAAc,CAAC,MAAM,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;gBACvD,qBAAqB,IAAI,CAAC,CAAC;gBAC3B,SAAS;YACX,CAAC;YAED,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC9C,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;YACpC,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,UAA8B,CAAC;YACnC,IAAI,eAAmC,CAAC;YAExC,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACpF,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,EAAE,KAAK,KAAK;wBAAE,SAAS;oBAClD,KAAK,GAAG,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;oBAC5C,UAAU,GAAG,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC;oBAC3C,eAAe,GAAG,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,eAAe,CAAC;gBACxD,CAAC;gBAAC,MAAM,CAAC;gBAET,CAAC;YACH,CAAC;YAED,IAAI,UAAU,GAAG,EAAE,CAAC;YACpB,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACrD,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBACpC,UAAU,GAAG,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;gBACjF,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;YAET,CAAC;YAED,MAAM,SAAS,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC/C,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;YACxD,MAAM,mBAAmB,GAAG,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YAC3G,MAAM,UAAU,GAAG,mBAAmB,KAAK,SAAS;gBAClD,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,mBAAmB,IAAI,mBAAmB,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,mBAAmB,EAAE,CAAC;gBAC1G,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,KAAK,GAAG,GAAG,KAAK,IAAI,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,CAAC;YAC1E,cAAc,CAAC,IAAI,CACjB,UAAU;gBACR,CAAC,CAAC,GAAG,KAAK,KAAK,IAAI,YAAY,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG;gBAC5D,CAAC,CAAC,GAAG,KAAK,KAAK,IAAI,GAAG,CACzB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,qBAAqB,GAAG,CAAC,EAAE,CAAC;QAC9B,cAAc,CAAC,IAAI,CAAC,GAAG,qBAAqB,yBAAyB,qBAAqB,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC;IACrI,CAAC;IAED,IAAI,SAAS;QAAE,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAClD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,cAAc,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEtF,MAAM,WAAW,GAAG,mCAAmC,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAChF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,wBAAwB,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAErC,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,aAAa,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB;KAC7D,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAClC,aAA6B,EAC7B,gBAAwB,EACxB,UAAgF,EAChF,SAAyB;IAEzB,MAAM,UAAU,GAAqB;QACnC,EAAE,cAAc,EAAE,IAAK,EAAE,iBAAiB,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,kBAAkB,EAAE,GAAG,EAAE;QAC7F,EAAE,cAAc,EAAE,GAAG,EAAE,iBAAiB,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,kBAAkB,EAAE,GAAG,EAAE;QAC3F,EAAE,cAAc,EAAE,GAAG,EAAE,iBAAiB,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,kBAAkB,EAAE,GAAG,EAAE;QAC1F,EAAE,cAAc,EAAE,GAAG,EAAE,iBAAiB,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAAE;QACzF,EAAE,cAAc,EAAE,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAAE;QACxF,EAAE,cAAc,EAAE,CAAC,EAAE,iBAAiB,EAAE,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE;KACvF,CAAC;IAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,oBAAoB,CAAC,aAAa,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAC3E,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,OAAO,IAAI,MAAM,IAAI,gBAAgB,EAAE,CAAC;YAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,MAAM,mBAAmB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACjG,MAAM,QAAQ,GAAgB;QAC5B,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,aAAa,mBAAmB,0EAA0E;KACpH,CAAC;IACF,MAAM,cAAc,GAAG,SAAS,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACjE,OAAO,cAAc,IAAI,gBAAgB;QACvC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE;QAC/C,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AACnC,CAAC;AAED,SAAgB,gBAAgB,CAC9B,QAAuB,EACvB,aAA0B,EAC1B,WAAmB,EACnB,UAAmC,EAAE;IAErC,MAAM,SAAS,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,IAAI,4BAA4B,CAAC;IACtF,MAAM,UAAU,GAAG;QACjB,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,mBAAmB;QACrD,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,mBAAmB;KACtD,CAAC;IACF,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,IAAI,wBAAwB,CAAC;IAC5E,MAAM,YAAY,GAAG,SAAS,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;IACpE,MAAM,WAAW,GAAG,YAAY,GAAG,SAAS,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC3E,MAAM,UAAU,GAAG;QACjB,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,WAAW;QACzB,WAAW,EAAE,WAAW;QACxB,eAAe,EAAE,WAAW,GAAG,WAAW;QAC1C,WAAW;QACX,MAAM,EAAE,MAAiC;QACzC,kBAAkB,EAAE,QAAQ,CAAC,MAAM;QACnC,iBAAiB,EAAE,QAAQ,CAAC,MAAM;QAClC,aAAa,EAAE,CAAC;QAChB,UAAU,EAAE,CAAC;QACb,eAAe,EAAE,CAAC;QAClB,aAAa,EAAE,CAAC;QAChB,kBAAkB,EAAE,qBAAqB,CAAC,WAAW,CAAC;KACvD,CAAC;IAEF,IAAI,WAAW,IAAI,WAAW,EAAE,CAAC;QAC/B,OAAO;YACL,GAAG,UAAU;YACb,QAAQ;YACR,YAAY,EAAE,CAAC;YACf,eAAe,EAAE,KAAK;SACvB,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,MAAM,IAAI,kBAAkB,EAAE,CAAC;QACxC,OAAO;YACL,GAAG,UAAU;YACb,QAAQ;YACR,YAAY,EAAE,CAAC;YACf,eAAe,EAAE,KAAK;YACtB,MAAM,EAAE,uBAAuB;YAC/B,gBAAgB,EAAE,MAAM,CAAC,MAAM;YAC/B,eAAe,EAAE,MAAM,CAAC,MAAM;YAC9B,eAAe,EAAE,MAAM,CAAC,MAAM;SAC/B,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACnE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,kBAAkB,CAC9D,MAAM,EACN,cAAc,EACd,eAAe,EACf,SAAS,CACV,CAAC;IAEF,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,uCAAuC,WAAW,SAAS,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,WAAW,GAAG,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC9F,IAAI,WAAW,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACvE,OAAO;YACL,GAAG,UAAU;YACb,QAAQ,EAAE,cAAc;YACxB,YAAY,EAAE,CAAC;YACf,eAAe,EAAE,KAAK;YACtB,WAAW;YACX,WAAW,EAAE,WAAW;YACxB,eAAe,EAAE,WAAW,GAAG,WAAW;YAC1C,MAAM,EAAE,QAAQ;YAChB,iBAAiB,EAAE,cAAc,CAAC,MAAM;YACxC,gBAAgB,EAAE,MAAM,CAAC,MAAM;YAC/B,eAAe,EAAE,YAAY,CAAC,MAAM;YACpC,eAAe,EAAE,cAAc;SAChC,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC;IAC9E,MAAM,eAAe,GAAG,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC;IAEjF,IAAI,eAAe,GAAG,YAAY,CAAC;IACnC,KAAK,MAAM,KAAK,IAAI,eAAe;QAAE,eAAe,IAAI,KAAK,CAAC,MAAM,CAAC;IAErE,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC7E,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAC9D,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,OAAO,SAAS,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;QACpC,MAAM,aAAa,GAAG,2BAA2B,CAC/C,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,EAC7B,kBAAkB,EAClB,UAAU,EACV,SAAS,CACV,CAAC;QACF,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC;QACrC,IAAI,eAAe,GAAG,cAAc,GAAG,aAAa,IAAI,WAAW;YAAE,MAAM;QAC3E,cAAc,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC;QAC9C,SAAS,IAAI,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,eAAe,GAAG,WAAW,EAAE,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,+BAA+B,eAAe,iCAAiC,WAAW,+BAA+B,CAAC,CAAC;IAC1I,CAAC;IAED,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IACpD,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAC1F,MAAM,aAAa,GAAG,2BAA2B,CAC/C,aAAa,EACb,kBAAkB,EAClB,UAAU,EACV,SAAS,CACV,CAAC;IACF,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;IACtC,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC;IACrC,MAAM,UAAU,GAAG,eAAe;UAC9B,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;UAC3D,aAAa,CAAC;IAElB,IAAI,UAAU,GAAG,WAAW,EAAE,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,8BAA8B,UAAU,kCAAkC,WAAW,yCAAyC,CAAC,CAAC;IAC/I,CAAC;IAED,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,IAAI,OAAO;QAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,KAAK,MAAM,KAAK,IAAI,aAAa;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClE,KAAK,MAAM,KAAK,IAAI,eAAe;QAAE,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEpE,OAAO,CAAC,GAAG,CAAC,qBAAqB,YAAY,4BAA4B,aAAa,CAAC,MAAM,oBAAoB,aAAa,CAAC,MAAM,QAAQ,CAAC,CAAC;IAE/I,OAAO;QACL,GAAG,UAAU;QACb,QAAQ,EAAE,MAAM;QAChB,YAAY;QACZ,eAAe,EAAE,OAAO,CAAC,OAAO,CAAC;QACjC,WAAW;QACX,WAAW,EAAE,UAAU;QACvB,eAAe,EAAE,WAAW,GAAG,UAAU;QACzC,MAAM,EAAE,SAAS;QACjB,iBAAiB,EAAE,MAAM,CAAC,MAAM;QAChC,gBAAgB,EAAE,MAAM,CAAC,MAAM;QAC/B,eAAe,EAAE,aAAa,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClF,aAAa,EAAE,aAAa,CAAC,MAAM;QACnC,UAAU,EAAE,aAAa,CAAC,MAAM;QAChC,eAAe,EAAE,eAAe,CAAC,MAAM;QACvC,aAAa;QACb,kBAAkB;KACnB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,24 @@ const DEFAULT_UNMASKABLE_TOOLS = new Set([
25
25
  'analyze_image',
26
26
  'analyze_video',
27
27
  ]);
28
+ export class ContextBudgetExceededError extends Error {
29
+ constructor(estimatedTokens, inputBudget) {
30
+ super('This conversation is too large for the selected model. Shorten the request or start a new conversation.');
31
+ this.estimatedTokens = estimatedTokens;
32
+ this.inputBudget = inputBudget;
33
+ this.code = 'CONTEXT_BUDGET_EXCEEDED';
34
+ this.name = 'ContextBudgetExceededError';
35
+ }
36
+ }
37
+ export function assertContextFitsBudget(result) {
38
+ if (!Number.isFinite(result.afterTokens) || result.afterTokens < 0
39
+ || !Number.isFinite(result.inputBudget) || result.inputBudget < 0) {
40
+ throw new RangeError('Context token estimates and input budget must be finite, nonnegative numbers.');
41
+ }
42
+ if (result.afterTokens > result.inputBudget) {
43
+ throw new ContextBudgetExceededError(result.afterTokens, result.inputBudget);
44
+ }
45
+ }
28
46
  function buildTokenEstimator(options = {}) {
29
47
  const charsPerToken = options.charsPerToken ?? DEFAULT_CHARS_PER_TOKEN;
30
48
  const imageTokensHigh = options.imageTokensHigh ?? DEFAULT_IMAGE_TOKENS_HIGH;
@@ -172,46 +190,17 @@ function truncateSummaryPrompt(prompt, maxChars) {
172
190
  const tailChars = Math.max(0, available - headChars);
173
191
  return `${prompt.slice(0, headChars)} ... ${tailChars > 0 ? prompt.slice(-tailChars) : ''}`;
174
192
  }
175
- function extractUserIntentsFromTrimmedGroups(trimmedGroups, options) {
176
- const maxIntents = options.maxUserIntents ?? 0;
177
- const maxChars = options.maxUserIntentChars ?? 0;
178
- if (maxIntents <= 0 || maxChars <= 0)
179
- return [];
180
- const intents = [];
181
- for (const group of trimmedGroups) {
182
- if (intents.length >= maxIntents)
183
- break;
184
- for (const message of group.messages) {
185
- if (message.role !== 'user')
186
- continue;
187
- let text = '';
188
- if (typeof message.content === 'string') {
189
- text = message.content;
190
- }
191
- else if (Array.isArray(message.content)) {
192
- text = message.content
193
- .filter((part) => part.type === 'text')
194
- .map((part) => part.text || '')
195
- .join(' ');
196
- }
197
- const cleaned = text
198
- .replace(/\[Earlier:[^\]]*\]/g, '')
199
- .replace(/\s+/g, ' ')
200
- .trim();
201
- if (!cleaned)
202
- continue;
203
- const sentenceEnd = cleaned.search(/[.!?](\s|$)/);
204
- const firstSentence = sentenceEnd > 0 ? cleaned.slice(0, sentenceEnd + 1) : cleaned;
205
- const truncated = firstSentence.length > maxChars
206
- ? `${firstSentence.slice(0, Math.max(0, maxChars - 1)).trim()}…`
207
- : firstSentence;
208
- if (truncated)
209
- intents.push(truncated);
210
- if (intents.length >= maxIntents)
211
- break;
212
- }
213
- }
214
- return intents;
193
+ function preserveUserText(group) {
194
+ return group.messages.flatMap((message) => {
195
+ if (message.role !== 'user')
196
+ return [];
197
+ if (typeof message.content === 'string')
198
+ return [message];
199
+ if (!Array.isArray(message.content))
200
+ return [];
201
+ const textParts = message.content.filter((part) => part.type === 'text');
202
+ return textParts.length > 0 ? [{ ...message, content: textParts }] : [];
203
+ });
215
204
  }
216
205
  function buildEnrichedSummary(trimmedGroups, options, mediaTools) {
217
206
  const events = [];
@@ -287,25 +276,21 @@ function buildEnrichedSummary(trimmedGroups, options, mediaTools) {
287
276
  events.push('User uploaded media');
288
277
  if (generatedItems.length > 0)
289
278
  events.push(`Generated: ${generatedItems.join(', ')}`);
290
- const userIntents = extractUserIntentsFromTrimmedGroups(trimmedGroups, options);
291
- if (userIntents.length > 0) {
292
- events.push(`Conversation thread: ${userIntents.join(' | ')}`);
293
- }
294
279
  if (events.length === 0)
295
280
  return null;
296
281
  return {
297
- role: 'user',
282
+ role: 'assistant',
298
283
  content: `[Earlier: ${events.join('. ')}. Details trimmed.]`,
299
284
  };
300
285
  }
301
286
  function buildBoundedEnrichedSummary(trimmedGroups, maxSummaryTokens, mediaTools, estimator) {
302
287
  const candidates = [
303
- { maxPromptChars: 1200, maxGeneratedItems: 60, maxUserIntents: 12, maxUserIntentChars: 160 },
304
- { maxPromptChars: 800, maxGeneratedItems: 50, maxUserIntents: 10, maxUserIntentChars: 120 },
305
- { maxPromptChars: 400, maxGeneratedItems: 40, maxUserIntents: 8, maxUserIntentChars: 100 },
306
- { maxPromptChars: 200, maxGeneratedItems: 32, maxUserIntents: 6, maxUserIntentChars: 80 },
307
- { maxPromptChars: 80, maxGeneratedItems: 24, maxUserIntents: 4, maxUserIntentChars: 60 },
308
- { maxPromptChars: 0, maxGeneratedItems: 20, maxUserIntents: 0, maxUserIntentChars: 0 },
288
+ { maxPromptChars: 1200, maxGeneratedItems: 60 },
289
+ { maxPromptChars: 800, maxGeneratedItems: 50 },
290
+ { maxPromptChars: 400, maxGeneratedItems: 40 },
291
+ { maxPromptChars: 200, maxGeneratedItems: 32 },
292
+ { maxPromptChars: 80, maxGeneratedItems: 24 },
293
+ { maxPromptChars: 0, maxGeneratedItems: 20 },
309
294
  ];
310
295
  for (const candidate of candidates) {
311
296
  const summary = buildEnrichedSummary(trimmedGroups, candidate, mediaTools);
@@ -316,7 +301,7 @@ function buildBoundedEnrichedSummary(trimmedGroups, maxSummaryTokens, mediaTools
316
301
  }
317
302
  const trimmedMessageCount = trimmedGroups.reduce((sum, group) => sum + group.messages.length, 0);
318
303
  const fallback = {
319
- role: 'user',
304
+ role: 'assistant',
320
305
  content: `[Earlier: ${trimmedMessageCount} older messages were compacted to stay within context. Details trimmed.]`,
321
306
  };
322
307
  const fallbackTokens = estimator.estimateMessageTokens(fallback);
@@ -400,14 +385,18 @@ export function trimConversation(messages, systemMessage, inputBudget, options =
400
385
  protectedTokens += group.tokens;
401
386
  let dropCount = 0;
402
387
  let trimmableTotal = trimmable.reduce((sum, group) => sum + group.tokens, 0);
388
+ const retainedUserMessages = trimmable.map(preserveUserText);
389
+ const retainedUserTokens = retainedUserMessages.map((messages) => estimator.estimateTotalTokens(messages));
390
+ let preservedTokens = 0;
403
391
  const summaryTokenBudget = getSummaryTokenBudget(inputBudget);
404
392
  let summaryTokens = 0;
405
393
  while (dropCount < trimmable.length) {
406
394
  const summaryResult = buildBoundedEnrichedSummary(trimmable.slice(0, dropCount), summaryTokenBudget, mediaTools, estimator);
407
395
  summaryTokens = summaryResult.tokens;
408
- if (protectedTokens + trimmableTotal + summaryTokens <= inputBudget)
396
+ if (protectedTokens + trimmableTotal + preservedTokens + summaryTokens <= inputBudget)
409
397
  break;
410
398
  trimmableTotal -= trimmable[dropCount].tokens;
399
+ preservedTokens += retainedUserTokens[dropCount];
411
400
  dropCount += 1;
412
401
  }
413
402
  if (protectedTokens > inputBudget) {
@@ -415,17 +404,21 @@ export function trimConversation(messages, systemMessage, inputBudget, options =
415
404
  }
416
405
  const trimmedGroups = trimmable.slice(0, dropCount);
417
406
  const keptTrimmable = trimmable.slice(dropCount);
418
- const trimmedCount = trimmedGroups.reduce((sum, group) => sum + group.messages.length, 0);
419
- const summaryResult = buildBoundedEnrichedSummary(trimmedGroups, summaryTokenBudget, mediaTools, estimator);
407
+ const preservedUserMessages = retainedUserMessages.slice(0, dropCount).flat();
408
+ const trimmedCount = trimmedGroups.reduce((sum, group) => sum + group.messages.length, 0)
409
+ - preservedUserMessages.length;
410
+ const retainedTokens = protectedTokens
411
+ + keptTrimmable.reduce((sum, group) => sum + group.tokens, 0)
412
+ + preservedTokens;
413
+ const summaryResult = buildBoundedEnrichedSummary(trimmedGroups, Math.max(0, Math.min(summaryTokenBudget, inputBudget - retainedTokens)), mediaTools, estimator);
420
414
  const summary = summaryResult.summary;
421
415
  summaryTokens = summaryResult.tokens;
422
- const finalTotal = protectedTokens
423
- + keptTrimmable.reduce((sum, group) => sum + group.tokens, 0)
424
- + summaryTokens;
416
+ const finalTotal = retainedTokens + summaryTokens;
425
417
  if (finalTotal > inputBudget) {
426
418
  console.warn(`[CONTEXT] Trimmed payload (${finalTotal} tokens) exceeds input budget (${inputBudget}) after preserving full prompt manifest`);
427
419
  }
428
420
  const result = [];
421
+ result.push(...preservedUserMessages);
429
422
  if (summary)
430
423
  result.push(summary);
431
424
  for (const group of keptTrimmable)
@@ -444,7 +437,7 @@ export function trimConversation(messages, systemMessage, inputBudget, options =
444
437
  action: 'trimmed',
445
438
  messageCountAfter: result.length,
446
439
  groupCountBefore: groups.length,
447
- groupCountAfter: keptTrimmable.length + protectedGroups.length + (summary ? 1 : 0),
440
+ groupCountAfter: preservedUserMessages.length + keptTrimmable.length + protectedGroups.length + (summary ? 1 : 0),
448
441
  trimmedGroups: trimmedGroups.length,
449
442
  keptGroups: keptTrimmable.length,
450
443
  protectedGroups: protectedGroups.length,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sogni-ai/sogni-intelligence-client",
3
- "version": "4.7.2",
3
+ "version": "4.8.1",
4
4
  "description": "Public Sogni Intelligence client — Node.js convenience wrapper for the Sogni SDK plus the public-safe subset of @sogni/creative-agent contracts (ContractRegistry, AssetManifest, RunRecord, tool envelopes). For agent builders, third-party integrations, and downstream SDKs.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -167,7 +167,7 @@
167
167
  "dev": "tsc --watch",
168
168
  "prepare": "npm run codegen && husky",
169
169
  "prepublishOnly": "npm run build",
170
- "test": "node --import tsx test/basic-tests.ts && node --import tsx --test test/replay-redaction.test.ts test/chat-run-model-media.test.ts test/durable-workflow-content-filter.test.ts test/gpt-image-25.test.ts test/video-estimate-context.test.ts test/video-reference-detail.test.ts test/prompt-limits.test.ts test/reconnect-and-retry.test.ts test/batch-prompt-preservation.test.ts",
170
+ "test": "node --import tsx test/basic-tests.ts && node --import tsx --test test/replay-redaction.test.ts test/chat-run-model-media.test.ts test/durable-workflow-content-filter.test.ts test/gpt-image-25.test.ts test/video-estimate-context.test.ts test/video-reference-detail.test.ts test/prompt-limits.test.ts test/reconnect-and-retry.test.ts test/batch-prompt-preservation.test.ts test/context-budget-check.test.ts test/context-user-history.test.ts",
171
171
  "test:e2e": "node --import tsx test/e2e-test.ts",
172
172
  "test:e2e:llm": "SOGNI_E2E_SCOPE=llm node --import tsx test/e2e-test.ts",
173
173
  "typecheck:examples": "tsc --noEmit -p tsconfig.examples.json",