@buoy-gg/agent-core 7.0.36 → 7.0.39

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 (119) hide show
  1. package/README.md +13 -9
  2. package/lib/commonjs/catalog/catalog.g.js +93 -6
  3. package/lib/commonjs/catalog/catalog.g.js.map +1 -1
  4. package/lib/commonjs/catalog/catalog.source.json +106 -4
  5. package/lib/commonjs/catalog/catalog.types.g.js +3 -3
  6. package/lib/commonjs/catalog/catalog.types.g.js.map +1 -1
  7. package/lib/commonjs/catalog/toProviderTools.js +3 -1
  8. package/lib/commonjs/catalog/toProviderTools.js.map +1 -1
  9. package/lib/commonjs/effects/ledger.js +13 -1
  10. package/lib/commonjs/effects/ledger.js.map +1 -1
  11. package/lib/commonjs/engine/evidence.js +113 -0
  12. package/lib/commonjs/engine/evidence.js.map +1 -0
  13. package/lib/commonjs/engine/historyBudget.js +158 -55
  14. package/lib/commonjs/engine/historyBudget.js.map +1 -1
  15. package/lib/commonjs/engine/retrieve.js +214 -0
  16. package/lib/commonjs/engine/retrieve.js.map +1 -0
  17. package/lib/commonjs/engine/runAgentTurn.js +364 -94
  18. package/lib/commonjs/engine/runAgentTurn.js.map +1 -1
  19. package/lib/commonjs/engine/systemPrompt.js +31 -1
  20. package/lib/commonjs/engine/systemPrompt.js.map +1 -1
  21. package/lib/commonjs/engine/tokenCalibration.js +81 -0
  22. package/lib/commonjs/engine/tokenCalibration.js.map +1 -0
  23. package/lib/commonjs/engine/verify.js +300 -0
  24. package/lib/commonjs/engine/verify.js.map +1 -0
  25. package/lib/commonjs/index.js +16 -0
  26. package/lib/commonjs/index.js.map +1 -1
  27. package/lib/commonjs/providers/anthropic.js +12 -3
  28. package/lib/commonjs/providers/anthropic.js.map +1 -1
  29. package/lib/commonjs/providers/openai.js +11 -3
  30. package/lib/commonjs/providers/openai.js.map +1 -1
  31. package/lib/commonjs/providers/problem.js +98 -0
  32. package/lib/commonjs/providers/problem.js.map +1 -0
  33. package/lib/commonjs/providers/sse.js +6 -5
  34. package/lib/commonjs/providers/sse.js.map +1 -1
  35. package/lib/commonjs/providers/transport.js +20 -4
  36. package/lib/commonjs/providers/transport.js.map +1 -1
  37. package/lib/commonjs/providers/xhrStream.js +3 -0
  38. package/lib/commonjs/providers/xhrStream.js.map +1 -1
  39. package/lib/commonjs/session.js +32 -5
  40. package/lib/commonjs/session.js.map +1 -1
  41. package/lib/module/catalog/catalog.g.js +93 -6
  42. package/lib/module/catalog/catalog.g.js.map +1 -1
  43. package/lib/module/catalog/catalog.source.json +106 -4
  44. package/lib/module/catalog/catalog.types.g.js +3 -3
  45. package/lib/module/catalog/catalog.types.g.js.map +1 -1
  46. package/lib/module/catalog/toProviderTools.js +3 -1
  47. package/lib/module/catalog/toProviderTools.js.map +1 -1
  48. package/lib/module/effects/ledger.js +13 -1
  49. package/lib/module/effects/ledger.js.map +1 -1
  50. package/lib/module/engine/evidence.js +107 -0
  51. package/lib/module/engine/evidence.js.map +1 -0
  52. package/lib/module/engine/historyBudget.js +158 -54
  53. package/lib/module/engine/historyBudget.js.map +1 -1
  54. package/lib/module/engine/retrieve.js +210 -0
  55. package/lib/module/engine/retrieve.js.map +1 -0
  56. package/lib/module/engine/runAgentTurn.js +365 -96
  57. package/lib/module/engine/runAgentTurn.js.map +1 -1
  58. package/lib/module/engine/systemPrompt.js +30 -1
  59. package/lib/module/engine/systemPrompt.js.map +1 -1
  60. package/lib/module/engine/tokenCalibration.js +75 -0
  61. package/lib/module/engine/tokenCalibration.js.map +1 -0
  62. package/lib/module/engine/verify.js +292 -0
  63. package/lib/module/engine/verify.js.map +1 -0
  64. package/lib/module/index.js +2 -0
  65. package/lib/module/index.js.map +1 -1
  66. package/lib/module/providers/anthropic.js +12 -3
  67. package/lib/module/providers/anthropic.js.map +1 -1
  68. package/lib/module/providers/openai.js +11 -3
  69. package/lib/module/providers/openai.js.map +1 -1
  70. package/lib/module/providers/problem.js +92 -0
  71. package/lib/module/providers/problem.js.map +1 -0
  72. package/lib/module/providers/sse.js +6 -5
  73. package/lib/module/providers/sse.js.map +1 -1
  74. package/lib/module/providers/transport.js +20 -4
  75. package/lib/module/providers/transport.js.map +1 -1
  76. package/lib/module/providers/xhrStream.js +3 -0
  77. package/lib/module/providers/xhrStream.js.map +1 -1
  78. package/lib/module/session.js +33 -6
  79. package/lib/module/session.js.map +1 -1
  80. package/lib/typescript/catalog/catalog.g.d.ts +2 -2
  81. package/lib/typescript/catalog/catalog.g.d.ts.map +1 -1
  82. package/lib/typescript/catalog/catalog.types.g.d.ts +3 -3
  83. package/lib/typescript/catalog/catalog.types.g.d.ts.map +1 -1
  84. package/lib/typescript/catalog/toProviderTools.d.ts.map +1 -1
  85. package/lib/typescript/effects/ledger.d.ts +18 -0
  86. package/lib/typescript/effects/ledger.d.ts.map +1 -1
  87. package/lib/typescript/engine/evidence.d.ts +67 -0
  88. package/lib/typescript/engine/evidence.d.ts.map +1 -0
  89. package/lib/typescript/engine/historyBudget.d.ts +31 -8
  90. package/lib/typescript/engine/historyBudget.d.ts.map +1 -1
  91. package/lib/typescript/engine/retrieve.d.ts +32 -0
  92. package/lib/typescript/engine/retrieve.d.ts.map +1 -0
  93. package/lib/typescript/engine/runAgentTurn.d.ts +96 -2
  94. package/lib/typescript/engine/runAgentTurn.d.ts.map +1 -1
  95. package/lib/typescript/engine/systemPrompt.d.ts +39 -0
  96. package/lib/typescript/engine/systemPrompt.d.ts.map +1 -1
  97. package/lib/typescript/engine/tokenCalibration.d.ts +46 -0
  98. package/lib/typescript/engine/tokenCalibration.d.ts.map +1 -0
  99. package/lib/typescript/engine/verify.d.ts +67 -0
  100. package/lib/typescript/engine/verify.d.ts.map +1 -0
  101. package/lib/typescript/index.d.ts +4 -2
  102. package/lib/typescript/index.d.ts.map +1 -1
  103. package/lib/typescript/providers/anthropic.d.ts.map +1 -1
  104. package/lib/typescript/providers/openai.d.ts.map +1 -1
  105. package/lib/typescript/providers/problem.d.ts +50 -0
  106. package/lib/typescript/providers/problem.d.ts.map +1 -0
  107. package/lib/typescript/providers/sse.d.ts +4 -1
  108. package/lib/typescript/providers/sse.d.ts.map +1 -1
  109. package/lib/typescript/providers/transport.d.ts +8 -0
  110. package/lib/typescript/providers/transport.d.ts.map +1 -1
  111. package/lib/typescript/providers/types.d.ts +14 -0
  112. package/lib/typescript/providers/types.d.ts.map +1 -1
  113. package/lib/typescript/providers/xhrStream.d.ts +2 -0
  114. package/lib/typescript/providers/xhrStream.d.ts.map +1 -1
  115. package/lib/typescript/session.d.ts +15 -2
  116. package/lib/typescript/session.d.ts.map +1 -1
  117. package/lib/typescript/types.d.ts +6 -0
  118. package/lib/typescript/types.d.ts.map +1 -1
  119. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["CATALOG","applyDefaults","validateParams","normalizeParams","aliasNote","fromProviderToolName","toProviderTools","hashQueryKey","projectSnapshot","SNAPSHOT_ACTION","isReversible","describeCall","decide","redact","stripSelfTraffic","effectFor","digestOf","buildUiBlock","UI_TOOL_NAME","uiProviderTool","projectReceipt","isAskBlock","ACQUISITION_CALLS","synthesizeAskBlock","synthesizeShortfallBlock","couldBeToolCallEnvelope","parseTextToolCalls","SALVAGE_NOTE","budgetForRequest","MAX_RESULT_CHARS","MAX_TRACE_RESULT_CHARS","LOOP_REPEATS","callSignature","calls","sort","v","Array","isArray","map","o","Object","keys","reduce","a","k","c","name","JSON","stringify","input","join","LOOP_WARNING","DEFAULT_MAX_STEPS","DEFAULT_TURN_MS","findDescriptor","catalog","toolId","action","find","t","actions","URL_PROVENANCE_REJECTION","droppedImageNote","n","encodeResult","value","text","String","length","slice","summarise","undefined","countOf","rec","ok","error","found","tapped","active","key","lists","values","filter","reportsFailure","runAgentTurn","provider","system","systemVolatile","model","maxTokens","dispatch","readSnapshot","storeKeyOwners","ledger","policy","isRelease","requestApproval","signal","messages","tools","availableToolIds","availableActions","push","maxSteps","ledgerGeneration","generation","requestReserve","description","inputSchema","deadline","Date","now","seenUrls","Set","URL_RE","answerStarted","recentSignatures","loopWarned","spoken","offeredTap","attemptedAcquisition","step","aborted","type","block","id","kind","tone","Math","round","label","primary","send","budgeted","droppedRounds","textThisRound","textEvent","delta","opensNewRound","breakBefore","salvagedIds","held","holding","thinking","failed","outcome","incomplete","ev","call","trim","message","usage","role","salvaged","add","reply","toolCalls","said","gap","attempted","asked","blockId","results","realmWillDie","prefetch","Map","safe","every","act","d","effect","descriptor","verdict","raw","params","norm","withDefaults","p","Promise","resolve","catch","e","set","awaiting","stoppedStep","summary","durationMs","planned","mutates","gated","reason","gatedInBatch","some","decided","barrierRun","batchDeclined","runBarrier","has","askedAt","targetDigest","readTargetDigest","approved","toolCallId","content","isError","built","errors","droppedImages","kept","images","img","url","items","item","image","forToolCallId","deadCall","known","normalized","check","aliasTrailer","notes","unrunStep","gatedHere","get","startedAt","before","captureBefore","stateBefore","captureStoreState","stillAllowed","result","requireSnapshot","runAskBuoyAction","cleaned","refused","encodedResult","stateAfter","noteExternalRevert","fx","after","record","receipt","match","ownedKeyNote","err","Error","shift","looping","sig","last","storeName","store","runGatedAction","changes","list","undoneAt","reversible","returned","revertAll","queryHash","queryKey","readAction","startsWith","readParams","instanceId","current","had"],"sourceRoot":"../../../src","sources":["engine/runAgentTurn.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["CATALOG","applyDefaults","validateParams","normalizeParams","aliasNote","fromProviderToolName","toProviderTools","hashQueryKey","projectSnapshot","SNAPSHOT_ACTION","isReversible","describeCall","decide","redact","stripSelfTraffic","effectFor","digestOf","buildUiBlock","UI_TOOL_NAME","uiProviderTool","projectReceipt","isAskBlock","ACQUISITION_CALLS","synthesizeAskBlock","synthesizeShortfallBlock","couldBeToolCallEnvelope","parseTextToolCalls","SALVAGE_NOTE","budgetForRequest","MAX_HISTORY_TOKENS","messageSize","promptTokensOf","TokenCalibration","truncationMarker","retrieveEvidence","verificationTrailer","verifyOutcome","MAX_RESULT_CHARS","MAX_TRACE_RESULT_CHARS","LOOP_REPEATS","callSignature","calls","sort","v","Array","isArray","map","o","Object","keys","reduce","a","k","c","name","JSON","stringify","input","join","LOOP_WARNING","DEFAULT_MAX_STEPS","DEFAULT_TURN_MS","THROTTLE_RETRIES","OVERFLOW_RETRIES","RETRY_BASE_MS","RETRY_JITTER_MS","RETRY_AFTER_CAP_MS","sleep","ms","signal","Promise","resolve","aborted","t","setTimeout","done","clearTimeout","removeEventListener","addEventListener","once","readAnswer","answer","approved","trust","reason","trim","declinedResult","findDescriptor","catalog","toolId","action","find","actions","URL_PROVENANCE_REJECTION","droppedImageNote","n","fullText","value","String","encodeResult","text","ref","length","slice","summarise","undefined","countOf","rec","ok","error","found","tapped","active","key","lists","values","filter","reportsFailure","runAgentTurn","provider","system","systemVolatile","model","maxTokens","dispatch","readSnapshot","storeKeyOwners","ledger","policy","isRelease","requestApproval","evidence","trusted","procedures","declineReasons","Map","calibration","messages","tools","availableToolIds","availableActions","push","maxSteps","ledgerGeneration","generation","fixedChars","description","inputSchema","requestReserve","chars","deadline","Date","now","retries","throttled","overflow","historyCapTokens","seenUrls","Set","URL_RE","answerStarted","recentSignatures","loopWarned","spoken","offeredTap","attemptedAcquisition","step","type","stopReason","block","id","kind","tone","Math","round","label","primary","send","budgeted","charsPerToken","liveCallIds","droppedRounds","droppedPinned","textThisRound","textEvent","delta","opensNewRound","breakBefore","salvagedIds","held","holding","thinking","failed","outcome","incomplete","retryable","sentChars","m","ev","call","message","problem","usage","observe","protocol","maxAttempts","spent","waitMs","min","retryAfterMs","floor","random","giveUp","before","again","after","plain","attempt","inMs","role","salvaged","add","reply","toolCalls","said","gap","attempted","asked","blockId","results","realmWillDie","prefetch","safe","every","act","d","effect","descriptor","verdict","raw","params","norm","withDefaults","p","catch","e","set","awaiting","stoppedStep","summary","durationMs","planned","mutates","gated","gatedInBatch","some","decided","barrierRun","batchDeclined","runBarrier","has","askedAt","targetDigest","readTargetDigest","toolCallId","content","isError","built","errors","droppedImages","kept","images","img","url","items","item","image","forToolCallId","deadCall","known","normalized","check","aliasTrailer","notes","unrunStep","gatedHere","get","startedAt","captureBefore","stateBefore","captureStoreState","stillAllowed","result","requireSnapshot","runAskBuoyAction","cleaned","refused","stash","capturedAt","encodedResult","traceResult","stateAfter","noteExternalRevert","fx","entry","record","callId","receipt","verification","match","ownedKeyNote","err","Error","shift","looping","sig","last","storeName","store","runGatedAction","ids","title","version","requires","body","note","changes","list","undoneAt","reversible","returned","revertAll","queryHash","queryKey","readAction","startsWith","readParams","instanceId","current","had"],"sourceRoot":"../../../src","sources":["engine/runAgentTurn.ts"],"mappings":"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","ignoreList":[]}
@@ -14,6 +14,18 @@
14
14
  * descriptions benefits from being told the rule once, up front.
15
15
  */
16
16
 
17
+ /**
18
+ * A playbook for this app: how to put it into a state, reproduce a ticket,
19
+ * or read something that is not obvious. Written by the app's developers,
20
+ * loaded when the model decides it applies. Borrowed from Strands' AgentSkills
21
+ * (SKILL.md name + description in the prompt, body on activation) — in-memory
22
+ * objects, no filesystem.
23
+ *
24
+ * A procedure GUIDES tool use; it grants nothing. Every step it names still
25
+ * goes through the same catalog, policy, approval card and ledger as any other
26
+ * call, and the outcome checks (engine/verify.ts) still run.
27
+ */
28
+
17
29
  export function buildSystemPrompt(input) {
18
30
  const {
19
31
  context,
@@ -23,7 +35,8 @@ export function buildSystemPrompt(input) {
23
35
  requireApproval,
24
36
  approvalsBypassed,
25
37
  appName,
26
- platform
38
+ platform,
39
+ availableToolIds
27
40
  } = input;
28
41
  const sections = [];
29
42
  sections.push(`You are Ask Buoy, an assistant embedded inside ${appName ? `the ${appName} app` : "a React Native app"} via Buoy devtools${platform ? ` on ${platform}` : ""}.
@@ -33,7 +46,9 @@ The people who talk to you are usually NOT developers — QA testers, customer s
33
46
  You can read the app's live state and change it, through the Buoy tools available to you. Prefer looking before acting: read the relevant state first so your change matches how this app actually stores things, rather than guessing at a shape.`);
34
47
  sections.push(`HOW TO WORK
35
48
  - Chain tools freely to answer one question. Reading is cheap; do it.
49
+ - BIG RESULTS ARE KEPT IN FULL. A result over 24,000 characters is cut, and the cut ends with a marker naming a ref (\`[truncated — …; ref ev_7]\`). Everything past the cut is still here: call ask-buoy.retrieve with that ref — bare, to see the shape; then with a path ("stats.0.base_stat") or a pattern ("base_stat") to read the part you need. Never tell the user a value is unreadable because it sat past the cut, and never ask them for a narrower slice. The same goes for \`[earlier result — …; ref ev_3]\`: that result was compressed out of your memory, and retrieve re-reads EXACTLY what you saw at the time — the value before a write, say — while calling the tool again gives the app's current value. Choose by which one the question is about.
36
50
  - When you change something, say plainly what you changed, in the user's language ("I put the double burger out of stock at store 100"), not in tool terms.
51
+ - A WRITE'S RESULT IS CHECKED, AND THE CHECK TELLS YOU WHAT ACTUALLY HAPPENED. Some writes come back with a trailer: \`[Buoy] Verified: …\` means the app was read back and shows the requested state — say it plainly. \`[Buoy] Unverified: …\` means the write landed but the outcome is not visible yet (an override installed that no request has used) — do the thing the trailer names (a refetch, a visit to the screen) before saying the screen shows it, or say honestly that it will show on the next load. \`[Buoy] Check FAILED: …\` means the app does NOT hold what you wrote: read the current state, work out why, and correct ONCE with a different, targeted change — never repeat the same write, never report the outcome as done.
37
52
  - If a tool returns an empty list, check whether the tool needed to be recording first. Several Buoy tools only capture while something is watching them, so an empty result often means "nothing was recording", not "nothing happened". Say which one it is.
38
53
  - A COUNT IS NOT A BUG UNTIL YOU HAVE CHECKED THE CLOCK. recentRequests and the events timeline accumulate for as long as the app has been open, so "23 calls to /orders/pending" is a polling interval times minutes, not one screen load, until the timestamps say otherwise. Before you call anything a bug, run the one check that would make it NOT one — the timestamps across the window, the query's refetchInterval, whether capture was on the whole time, whether the screen actually shows the wrong thing — and say in the finding what you checked. A finding you did not check is a guess wearing a card, and the person reading it cannot tell the two apart.
39
54
  - WHAT YOU READ IS A RECORD OF WHAT HAS ALREADY HAPPENED, never a list of what this app has. The query cache holds what the app has already fetched THIS SESSION; recentRequests what it has already called; console, events, images and assets only what was recording or has already rendered. So a SHORT list means "nobody has been there yet", not "that is all there is" — and you have to work out which, exactly as you would for an empty one. Four of something is not the answer to "show me all of them". It is four of them, and a gap.
@@ -106,10 +121,24 @@ Still read a live instance when one exists — it is the runtime truth and these
106
121
  if (context?.digest && Object.keys(context.digest).length) {
107
122
  sections.push(`WHAT THIS APP IS MADE OF\nObserved at runtime when this chat opened: route templates, store and slice names, storage and env key names. Use it to find the right names instead of guessing. What is on screen at this moment is in RIGHT NOW, below.\n${JSON.stringify(context.digest)}`);
108
123
  }
124
+ const procedures = listableProcedures(context?.procedures, availableToolIds);
125
+ if (procedures.length) {
126
+ sections.push(`PROCEDURES THIS APP'S DEVELOPERS WROTE
127
+ Playbooks for tasks that take several steps or depend on conventions you cannot see. When a request matches one, call ask-buoy.openProcedure with its id FIRST and follow it — it says which stores and keys are involved, in what order, and what "done" looks like. Do not guess at a task that has a procedure. A procedure guides your tool use; it grants nothing — every step still goes through the same policy and approval as any other call.
128
+ ${procedures.map(p => `- ${p.id} — ${p.summary}`).join("\n")}`);
129
+ }
109
130
  if (context?.extra) sections.push(context.extra);
110
131
  return sections.join("\n\n---\n\n");
111
132
  }
112
133
 
134
+ /** The procedures this device can follow: every `requires` tool installed (or no `requires` at all). */
135
+ export function listableProcedures(procedures, availableToolIds) {
136
+ if (!procedures?.length) return [];
137
+ if (!availableToolIds) return procedures;
138
+ const have = new Set(availableToolIds);
139
+ return procedures.filter(p => (p.requires ?? []).every(t => have.has(t)));
140
+ }
141
+
113
142
  /**
114
143
  * The per-turn block: what the app is showing at the moment the user typed.
115
144
  * Rendered AFTER the cached prompt (see ProviderRequest.systemVolatile), so it
@@ -1 +1 @@
1
- {"version":3,"names":["buildSystemPrompt","input","context","isRelease","readOnly","readOnlySource","requireApproval","approvalsBypassed","appName","platform","sections","push","length","join","notes","map","n","types","Object","keys","entries","name","shape","digest","JSON","stringify","extra","buildLiveBlock","live","changes","has","body","CHANGE_CAP","changeBlock","slice","c","label","undone"],"sourceRoot":"../../../src","sources":["engine/systemPrompt.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["buildSystemPrompt","input","context","isRelease","readOnly","readOnlySource","requireApproval","approvalsBypassed","appName","platform","availableToolIds","sections","push","length","join","notes","map","n","types","Object","keys","entries","name","shape","digest","JSON","stringify","procedures","listableProcedures","p","id","summary","extra","have","Set","filter","requires","every","t","has","buildLiveBlock","live","changes","body","CHANGE_CAP","changeBlock","slice","c","label","undone"],"sourceRoot":"../../../src","sources":["engine/systemPrompt.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * How many characters make a token — measured, not assumed.
5
+ *
6
+ * Every budget in this engine is kept in characters because that is what a
7
+ * string has, but every LIMIT that matters is in tokens: the provider's
8
+ * context window, the reply room, the cost. The conversion was a constant
9
+ * (4) everywhere. English prose does run near 4; the tool results this agent
10
+ * actually sends are JSON, which tokenizes nearer 3 — so a request the budget
11
+ * called 100k tokens could be 130k, on a gateway whose window is 128k. The
12
+ * proactive budget was optimistic in exactly the sessions it exists for.
13
+ *
14
+ * The provider tells us the truth after every request: its usage report
15
+ * carries the prompt's token count, and the engine knows how many characters
16
+ * it sent. One division gives the ratio for THIS conversation on THIS
17
+ * tokenizer; an exponential average smooths a single odd request (a round
18
+ * that was all prose, or all ids). Strands' design 0008 does the same in
19
+ * reverse — a known token baseline plus an estimate of the delta — and its
20
+ * decision record says why: public limits should be in LLM-native units.
21
+ *
22
+ * Clamped, because a wrong sample must not be able to blow the budget wide
23
+ * open (a gateway that reports nonsense usage) or shrink it to nothing.
24
+ */
25
+
26
+ export const DEFAULT_CHARS_PER_TOKEN = 4;
27
+ const MIN_CHARS_PER_TOKEN = 2.5;
28
+ const MAX_CHARS_PER_TOKEN = 5;
29
+ /** Weight of the newest sample once there is history. The first sample replaces the default outright. */
30
+ const EMA_ALPHA = 0.3;
31
+ /** Below this many prompt tokens a sample says more about rounding than about the tokenizer. */
32
+ const MIN_SAMPLE_TOKENS = 500;
33
+ export class TokenCalibration {
34
+ ratio = DEFAULT_CHARS_PER_TOKEN;
35
+ samples = 0;
36
+
37
+ /** Characters per token, as currently believed. */
38
+ get charsPerToken() {
39
+ return this.ratio;
40
+ }
41
+ get sampleCount() {
42
+ return this.samples;
43
+ }
44
+
45
+ /** Fold in one request: what was sent, and what the provider counted. */
46
+ observe(requestChars, promptTokens) {
47
+ if (!(requestChars > 0) || !(promptTokens >= MIN_SAMPLE_TOKENS)) return;
48
+ const sample = Math.min(MAX_CHARS_PER_TOKEN, Math.max(MIN_CHARS_PER_TOKEN, requestChars / promptTokens));
49
+ this.ratio = this.samples === 0 ? sample : this.ratio + EMA_ALPHA * (sample - this.ratio);
50
+ this.samples += 1;
51
+ }
52
+
53
+ /** Characters a token budget allows, at the believed ratio. */
54
+ chars(tokens) {
55
+ return Math.floor(tokens * this.ratio);
56
+ }
57
+ reset() {
58
+ this.ratio = DEFAULT_CHARS_PER_TOKEN;
59
+ this.samples = 0;
60
+ }
61
+ }
62
+
63
+ /**
64
+ * The whole prompt's token count from a usage report.
65
+ *
66
+ * Anthropic reports the cached and freshly-written prefix SEPARATELY from
67
+ * `input`; OpenAI-shaped providers fold `cached_tokens` INTO `prompt_tokens`.
68
+ * See TokenUsage. Adding on the wrong protocol double-counts the cache and
69
+ * halves the believed ratio.
70
+ */
71
+ export function promptTokensOf(usage, protocol) {
72
+ if (protocol === "anthropic") return usage.input + (usage.cacheRead ?? 0) + (usage.cacheWrite ?? 0);
73
+ return usage.input;
74
+ }
75
+ //# sourceMappingURL=tokenCalibration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DEFAULT_CHARS_PER_TOKEN","MIN_CHARS_PER_TOKEN","MAX_CHARS_PER_TOKEN","EMA_ALPHA","MIN_SAMPLE_TOKENS","TokenCalibration","ratio","samples","charsPerToken","sampleCount","observe","requestChars","promptTokens","sample","Math","min","max","chars","tokens","floor","reset","promptTokensOf","usage","protocol","input","cacheRead","cacheWrite"],"sourceRoot":"../../../src","sources":["engine/tokenCalibration.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,OAAO,MAAMA,uBAAuB,GAAG,CAAC;AACxC,MAAMC,mBAAmB,GAAG,GAAG;AAC/B,MAAMC,mBAAmB,GAAG,CAAC;AAC7B;AACA,MAAMC,SAAS,GAAG,GAAG;AACrB;AACA,MAAMC,iBAAiB,GAAG,GAAG;AAE7B,OAAO,MAAMC,gBAAgB,CAAC;EACpBC,KAAK,GAAGN,uBAAuB;EAC/BO,OAAO,GAAG,CAAC;;EAEnB;EACA,IAAIC,aAAaA,CAAA,EAAW;IAC1B,OAAO,IAAI,CAACF,KAAK;EACnB;EAEA,IAAIG,WAAWA,CAAA,EAAW;IACxB,OAAO,IAAI,CAACF,OAAO;EACrB;;EAEA;EACAG,OAAOA,CAACC,YAAoB,EAAEC,YAAoB,EAAQ;IACxD,IAAI,EAAED,YAAY,GAAG,CAAC,CAAC,IAAI,EAAEC,YAAY,IAAIR,iBAAiB,CAAC,EAAE;IACjE,MAAMS,MAAM,GAAGC,IAAI,CAACC,GAAG,CAACb,mBAAmB,EAAEY,IAAI,CAACE,GAAG,CAACf,mBAAmB,EAAEU,YAAY,GAAGC,YAAY,CAAC,CAAC;IACxG,IAAI,CAACN,KAAK,GAAG,IAAI,CAACC,OAAO,KAAK,CAAC,GAAGM,MAAM,GAAG,IAAI,CAACP,KAAK,GAAGH,SAAS,IAAIU,MAAM,GAAG,IAAI,CAACP,KAAK,CAAC;IACzF,IAAI,CAACC,OAAO,IAAI,CAAC;EACnB;;EAEA;EACAU,KAAKA,CAACC,MAAc,EAAU;IAC5B,OAAOJ,IAAI,CAACK,KAAK,CAACD,MAAM,GAAG,IAAI,CAACZ,KAAK,CAAC;EACxC;EAEAc,KAAKA,CAAA,EAAS;IACZ,IAAI,CAACd,KAAK,GAAGN,uBAAuB;IACpC,IAAI,CAACO,OAAO,GAAG,CAAC;EAClB;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASc,cAAcA,CAACC,KAAiB,EAAEC,QAAgC,EAAU;EAC1F,IAAIA,QAAQ,KAAK,WAAW,EAAE,OAAOD,KAAK,CAACE,KAAK,IAAIF,KAAK,CAACG,SAAS,IAAI,CAAC,CAAC,IAAIH,KAAK,CAACI,UAAU,IAAI,CAAC,CAAC;EACnG,OAAOJ,KAAK,CAACE,KAAK;AACpB","ignoreList":[]}