@tyvm/knowhow 0.0.119 → 0.0.120

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tyvm/knowhow",
3
- "version": "0.0.119",
3
+ "version": "0.0.120",
4
4
  "description": "ai cli with plugins and agents",
5
5
  "main": "ts_build/src/index.js",
6
6
  "bin": {
@@ -220,21 +220,26 @@ export class CustomVariables {
220
220
 
221
221
  /**
222
222
  * Creates a message processor function that substitutes variables in messages
223
+ *
224
+ * CACHING NOTE: To preserve Anthropic prefix-cache stability, we only apply
225
+ * variable substitution to the *last* (most-recently-added) message in the
226
+ * modifiedMessages array. Historical messages have already been processed on
227
+ * prior turns; mutating them would change their content mid-conversation and
228
+ * instantly bust the entire downstream cache window.
223
229
  */
224
230
  createProcessor(
225
231
  filterFn?: (msg: Message) => boolean
226
232
  ): MessageProcessorFunction {
227
233
  return async (originalMessages: Message[], modifiedMessages: Message[]) => {
228
- // Process messages in place - substitute variables before tool calls are executed
229
- for (let i = 0; i < modifiedMessages.length; i++) {
230
- const message = modifiedMessages[i];
231
-
232
- if (filterFn && !filterFn(message)) {
233
- continue;
234
- }
235
-
236
- // Apply variable substitution
237
- modifiedMessages[i] = this.processMessage(message);
234
+ // Only process the last message (the newly added one).
235
+ // Processing historical messages would mutate already-committed content
236
+ // and destroy Anthropic's prefix-cache match from that point onwards.
237
+ const lastIndex = modifiedMessages.length - 1;
238
+ if (lastIndex < 0) return;
239
+
240
+ const message = modifiedMessages[lastIndex];
241
+ if (!filterFn || filterFn(message)) {
242
+ modifiedMessages[lastIndex] = this.processMessage(message);
238
243
  }
239
244
  };
240
245
  }
@@ -357,6 +362,13 @@ export class CustomVariables {
357
362
  * This helps the LLM discover that it can avoid re-outputting long strings
358
363
  * (e.g. JWTs, file contents) by storing them once with setVariable or
359
364
  * storeToolCallToVariable and then referencing them via {{varName}}.
365
+ *
366
+ * CACHING NOTE: To protect Anthropic prefix-cache stability this processor
367
+ * keeps at most ONE hint message in the array. Before injecting a new hint
368
+ * it removes the previous one (identified by a stable sentinel prefix) so
369
+ * the total message count — and therefore every cache breakpoint — stays
370
+ * constant. The hint content is also kept deterministic (no per-call
371
+ * volatile numbers) so that re-injecting the same hint is a cache no-op.
360
372
  */
361
373
  createRepetitionHintProcessor(options: {
362
374
  minLength?: number; // Minimum string length to consider (default: 50)
@@ -377,11 +389,26 @@ export class CustomVariables {
377
389
  // ~100 base + 30 per example = ~190 tokens for the hint message itself
378
390
  const hintMessageTokens = options.hintMessageTokens ?? (100 + maxExamples * 30);
379
391
 
380
- // Throttle state: track message count at last hint emission
392
+ // Stable sentinel that uniquely identifies hint messages injected by this processor.
393
+ // Must be a fixed string so the cache sees identical bytes on re-injection.
394
+ const HINT_SENTINEL = "⚠️ [knowhow:repetition-hint]";
395
+
396
+ // Throttle state: track the index of the message that was current when we
397
+ // last evaluated (ignoring the hint message itself in the count).
381
398
  let lastHintAtMessageCount = -Infinity;
382
399
 
383
400
  return async (originalMessages: Message[], modifiedMessages: Message[]) => {
384
- // Throttle: only emit hint if enough new messages have been added since last hint
401
+ // Remove any previously injected hint so we never accumulate duplicates
402
+ // and so the message array length stays predictable for cache breakpoints.
403
+ const existingHintIndex = modifiedMessages.findIndex(
404
+ (m) => typeof m.content === "string" && m.content.startsWith(HINT_SENTINEL)
405
+ );
406
+ if (existingHintIndex !== -1) {
407
+ modifiedMessages.splice(existingHintIndex, 1);
408
+ }
409
+
410
+ // Throttle: only re-evaluate if enough *real* messages have arrived since last hint.
411
+ // We exclude the hint message itself from the count (already removed above).
385
412
  const currentMessageCount = modifiedMessages.length;
386
413
  if (currentMessageCount - lastHintAtMessageCount < throttleMessages) {
387
414
  return;
@@ -480,22 +507,20 @@ export class CustomVariables {
480
507
  }
481
508
 
482
509
  // Build example variable suggestions
483
- const examples = repeatedEntries.slice(0, maxExamples).map(({ str, count, toolNames }, i) => {
510
+ // Use stable previews (fixed 80-char slices) to keep hint content
511
+ // deterministic across calls — volatile token counts are omitted so
512
+ // re-injecting the same hint does not bust the Anthropic prefix cache.
513
+ const examples = repeatedEntries.slice(0, maxExamples).map(({ str, toolNames }, i) => {
484
514
  const preview = str.trim().slice(0, 80).replace(/\s+/g, " ");
485
515
  const ellipsis = str.length > 80 ? "…" : "";
486
516
  const varName = `var${i + 1}`;
487
- const charsSaved = (count - 1) * str.length;
488
- const tokensSaved = Math.round(charsSaved / 4);
489
- return (
490
- ` • \`${varName}\` (used ${count}x in ${[...toolNames].join(", ")}, ~${tokensSaved} tokens saveable): "${preview}${ellipsis}"`
491
- );
517
+ return ` • \`${varName}\` (in ${[...toolNames].join(", ")}): "${preview}${ellipsis}"`;
492
518
  });
493
519
 
494
520
  modifiedMessages.push({
495
521
  role: "user",
496
522
  content:
497
- `⚠️ Tool inputs have large repetitions detected in: ${repeatedTools.join(", ")} ` +
498
- `(~${grossTokensSaved} tokens saveable, ~${netTokensSaved} net after this reminder). ` +
523
+ `${HINT_SENTINEL} Tool inputs have large repetitions detected in: ${repeatedTools.join(", ")}. ` +
499
524
  `Consider storing repeated values with \`setVariable\` or \`storeToolCallToVariable\`, ` +
500
525
  `then reference them via {{variableName}} in future tool calls.\n` +
501
526
  `Top repeated values to consider storing as variables:\n` +
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tyvm/knowhow",
3
- "version": "0.0.119",
3
+ "version": "0.0.120",
4
4
  "description": "ai cli with plugins and agents",
5
5
  "main": "ts_build/src/index.js",
6
6
  "bin": {
@@ -138,12 +138,12 @@ class CustomVariables {
138
138
  }
139
139
  createProcessor(filterFn) {
140
140
  return async (originalMessages, modifiedMessages) => {
141
- for (let i = 0; i < modifiedMessages.length; i++) {
142
- const message = modifiedMessages[i];
143
- if (filterFn && !filterFn(message)) {
144
- continue;
145
- }
146
- modifiedMessages[i] = this.processMessage(message);
141
+ const lastIndex = modifiedMessages.length - 1;
142
+ if (lastIndex < 0)
143
+ return;
144
+ const message = modifiedMessages[lastIndex];
145
+ if (!filterFn || filterFn(message)) {
146
+ modifiedMessages[lastIndex] = this.processMessage(message);
147
147
  }
148
148
  };
149
149
  }
@@ -232,8 +232,13 @@ class CustomVariables {
232
232
  const throttleMessages = options.throttleMessages ?? 5;
233
233
  const maxExamples = options.maxExamples ?? 3;
234
234
  const hintMessageTokens = options.hintMessageTokens ?? (100 + maxExamples * 30);
235
+ const HINT_SENTINEL = "⚠️ [knowhow:repetition-hint]";
235
236
  let lastHintAtMessageCount = -Infinity;
236
237
  return async (originalMessages, modifiedMessages) => {
238
+ const existingHintIndex = modifiedMessages.findIndex((m) => typeof m.content === "string" && m.content.startsWith(HINT_SENTINEL));
239
+ if (existingHintIndex !== -1) {
240
+ modifiedMessages.splice(existingHintIndex, 1);
241
+ }
237
242
  const currentMessageCount = modifiedMessages.length;
238
243
  if (currentMessageCount - lastHintAtMessageCount < throttleMessages) {
239
244
  return;
@@ -307,18 +312,15 @@ class CustomVariables {
307
312
  if (netTokensSaved <= 0) {
308
313
  return;
309
314
  }
310
- const examples = repeatedEntries.slice(0, maxExamples).map(({ str, count, toolNames }, i) => {
315
+ const examples = repeatedEntries.slice(0, maxExamples).map(({ str, toolNames }, i) => {
311
316
  const preview = str.trim().slice(0, 80).replace(/\s+/g, " ");
312
317
  const ellipsis = str.length > 80 ? "…" : "";
313
318
  const varName = `var${i + 1}`;
314
- const charsSaved = (count - 1) * str.length;
315
- const tokensSaved = Math.round(charsSaved / 4);
316
- return (` • \`${varName}\` (used ${count}x in ${[...toolNames].join(", ")}, ~${tokensSaved} tokens saveable): "${preview}${ellipsis}"`);
319
+ return ` • \`${varName}\` (in ${[...toolNames].join(", ")}): "${preview}${ellipsis}"`;
317
320
  });
318
321
  modifiedMessages.push({
319
322
  role: "user",
320
- content: `⚠️ Tool inputs have large repetitions detected in: ${repeatedTools.join(", ")} ` +
321
- `(~${grossTokensSaved} tokens saveable, ~${netTokensSaved} net after this reminder). ` +
323
+ content: `${HINT_SENTINEL} Tool inputs have large repetitions detected in: ${repeatedTools.join(", ")}. ` +
322
324
  `Consider storing repeated values with \`setVariable\` or \`storeToolCallToVariable\`, ` +
323
325
  `then reference them via {{variableName}} in future tool calls.\n` +
324
326
  `Top repeated values to consider storing as variables:\n` +
@@ -1 +1 @@
1
- {"version":3,"file":"CustomVariables.js","sourceRoot":"","sources":["../../../src/processors/CustomVariables.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CustomVariables.js","sourceRoot":"","sources":["../../../src/processors/CustomVariables.ts"],"names":[],"mappings":"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"}