@felan-ai/agent-core 0.14.1 → 0.14.3

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/README.md CHANGED
@@ -124,14 +124,17 @@ Explicit thinking changes take precedence for the remainder of the session.
124
124
  Absent the option or the classifier, composition does not enable this feature.
125
125
 
126
126
  With an optional savings reporter, Agent Core reports a heuristic
127
- API-equivalent estimate for any supported model's automatic `high` → `low` or
128
- `high` → `medium` change when the run settles without tool failures and its
129
- first assistant response includes reasoning-token usage. It estimates 5%
130
- extra reasoning output at `high`, keeps observed input, cache and visible-output
131
- usage unchanged, and subtracts reported classifier
132
- cost. Missing classifier pricing leaves that overhead unknown; estimates are
133
- not a complete bill. No change, a return to `high`, other models/levels, missing usage, or a
134
- failed response produces no measurement. The unvalidated cross-model
127
+ API-equivalent estimate for any supported model's automatic selection below a
128
+ user baseline of `high`, `xhigh`, or `max` when the run settles without tool
129
+ failures and its first assistant response includes reasoning-token usage.
130
+ The baseline is the level before the first automatic change, not the previous
131
+ automatic selection. Method `high-effort-reasoning-5pct-heuristic-v2` estimates
132
+ 5% extra reasoning output at that baseline, keeps observed input, cache and
133
+ visible-output usage unchanged, and subtracts reported classifier cost.
134
+ Missing classifier pricing leaves that overhead unknown; estimates are not a
135
+ complete bill. No measurement is emitted without an automatic change, or for
136
+ selections at or above the baseline, unsupported models, below-`high` baselines,
137
+ missing usage, or failed responses. The unvalidated cross-model
135
138
  assumption and quality caveats are in [the public benchmark notes](../../docs/benchmarks/dynamic-thinking-effort.md).
136
139
 
137
140
  Host runtimes expose optional persistent process operations for extensions that
@@ -1,10 +1,10 @@
1
1
  import type { Api, AssistantMessage, Model } from '@earendil-works/pi-ai';
2
2
  import type { SavingsReporter } from '../savings.js';
3
3
  import type { FelanThinkingLevel } from '../thinking.js';
4
- export declare const DYNAMIC_THINKING_SAVINGS_METHOD = "high-effort-reasoning-5pct-heuristic-v1";
5
- export declare function estimateHighEffortOutputTokens(model: Model<Api>, previous: FelanThinkingLevel, selected: FelanThinkingLevel, usage: {
4
+ export declare const DYNAMIC_THINKING_SAVINGS_METHOD = "high-effort-reasoning-5pct-heuristic-v2";
5
+ export declare function estimateHighEffortOutputTokens(model: Model<Api>, baseline: FelanThinkingLevel, selected: FelanThinkingLevel, usage: {
6
6
  readonly output: number;
7
7
  readonly reasoning?: number;
8
- }): number | undefined;
9
- export declare function reportDynamicThinkingSavings(reporter: SavingsReporter | undefined, model: Model<Api>, previous: FelanThinkingLevel, selected: FelanThinkingLevel, message: AssistantMessage, classifierCostUsd?: number): Promise<void>;
8
+ }, supportsNativeThinkingUpdates?: (model: Model<Api>) => boolean): number | undefined;
9
+ export declare function reportDynamicThinkingSavings(reporter: SavingsReporter | undefined, model: Model<Api>, baseline: FelanThinkingLevel, selected: FelanThinkingLevel, message: AssistantMessage, classifierCostUsd?: number, supportsNativeThinkingUpdates?: (model: Model<Api>) => boolean): Promise<void>;
10
10
  //# sourceMappingURL=savings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"savings.d.ts","sourceRoot":"","sources":["../../src/dynamic-thinking/savings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAqB,MAAM,eAAe,CAAC;AACxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAKzD,eAAO,MAAM,+BAA+B,4CAA4C,CAAC;AAEzF,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EACjB,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9D,MAAM,GAAG,SAAS,CAUpB;AAED,wBAAsB,4BAA4B,CAChD,QAAQ,EAAE,eAAe,GAAG,SAAS,EACrC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EACjB,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,gBAAgB,EACzB,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,IAAI,CAAC,CAoCf"}
1
+ {"version":3,"file":"savings.d.ts","sourceRoot":"","sources":["../../src/dynamic-thinking/savings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAqB,MAAM,eAAe,CAAC;AACxE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAMzD,eAAO,MAAM,+BAA+B,4CAA4C,CAAC;AAEzF,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EACjB,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,EAC/D,6BAA6B,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,OAAO,GAC7D,MAAM,GAAG,SAAS,CAapB;AAED,wBAAsB,4BAA4B,CAChD,QAAQ,EAAE,eAAe,GAAG,SAAS,EACrC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,EACjB,QAAQ,EAAE,kBAAkB,EAC5B,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,gBAAgB,EACzB,iBAAiB,CAAC,EAAE,MAAM,EAC1B,6BAA6B,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,OAAO,GAC7D,OAAO,CAAC,IAAI,CAAC,CAoCf"}
@@ -1,8 +1,12 @@
1
1
  import { supportsDynamicThinking } from './selection.js';
2
2
  const HIGH_EFFORT_REASONING_UPLIFT_DENOMINATOR = 20;
3
- export const DYNAMIC_THINKING_SAVINGS_METHOD = 'high-effort-reasoning-5pct-heuristic-v1';
4
- export function estimateHighEffortOutputTokens(model, previous, selected, usage) {
5
- if (!supportsDynamicThinking(model) || previous !== 'high' || (selected !== 'low' && selected !== 'medium')) {
3
+ const EFFORT_LEVELS = ['low', 'medium', 'high', 'xhigh', 'max'];
4
+ export const DYNAMIC_THINKING_SAVINGS_METHOD = 'high-effort-reasoning-5pct-heuristic-v2';
5
+ export function estimateHighEffortOutputTokens(model, baseline, selected, usage, supportsNativeThinkingUpdates) {
6
+ const baselineRank = EFFORT_LEVELS.indexOf(baseline);
7
+ const selectedRank = EFFORT_LEVELS.indexOf(selected);
8
+ if (!supportsDynamicThinking(model, supportsNativeThinkingUpdates)
9
+ || baselineRank < EFFORT_LEVELS.indexOf('high') || selectedRank < 0 || selectedRank >= baselineRank) {
6
10
  return undefined;
7
11
  }
8
12
  const { output, reasoning } = usage;
@@ -13,12 +17,12 @@ export function estimateHighEffortOutputTokens(model, previous, selected, usage)
13
17
  const estimated = output + extra;
14
18
  return extra > 0 && Number.isSafeInteger(estimated) ? estimated : undefined;
15
19
  }
16
- export async function reportDynamicThinkingSavings(reporter, model, previous, selected, message, classifierCostUsd) {
20
+ export async function reportDynamicThinkingSavings(reporter, model, baseline, selected, message, classifierCostUsd, supportsNativeThinkingUpdates) {
17
21
  if (!reporter || (message.stopReason !== 'stop' && message.stopReason !== 'toolUse'))
18
22
  return;
19
23
  const { usage } = message;
20
- const highOutput = estimateHighEffortOutputTokens(model, previous, selected, usage);
21
- if (highOutput === undefined || ![usage.input, usage.output, usage.cacheRead, usage.cacheWrite]
24
+ const baselineOutput = estimateHighEffortOutputTokens(model, baseline, selected, usage, supportsNativeThinkingUpdates);
25
+ if (baselineOutput === undefined || ![usage.input, usage.output, usage.cacheRead, usage.cacheWrite]
22
26
  .every((value) => Number.isSafeInteger(value) && value >= 0)
23
27
  || (usage.cacheWrite1h !== undefined && (!Number.isSafeInteger(usage.cacheWrite1h)
24
28
  || usage.cacheWrite1h < 0 || usage.cacheWrite1h > usage.cacheWrite))
@@ -26,7 +30,7 @@ export async function reportDynamicThinkingSavings(reporter, model, previous, se
26
30
  || !Number.isFinite(usage.cost.output) || usage.cost.output <= 0
27
31
  || (classifierCostUsd !== undefined && (!Number.isFinite(classifierCostUsd) || classifierCostUsd < 0)))
28
32
  return;
29
- const extraCostUsd = (highOutput - usage.output) * usage.cost.output / usage.output;
33
+ const extraCostUsd = (baselineOutput - usage.output) * usage.cost.output / usage.output;
30
34
  if (extraCostUsd <= (classifierCostUsd ?? 0))
31
35
  return;
32
36
  const modelRef = { provider: model.provider, id: model.id };
@@ -42,7 +46,7 @@ export async function reportDynamicThinkingSavings(reporter, model, previous, se
42
46
  category: 'output-optimization',
43
47
  operation: 'dynamic-thinking',
44
48
  baseline: {
45
- model: modelRef, tokens: { ...tokens, output: highOutput },
49
+ model: modelRef, tokens: { ...tokens, output: baselineOutput },
46
50
  costUsd: usage.cost.total + extraCostUsd,
47
51
  },
48
52
  actual: {
@@ -1 +1 @@
1
- {"version":3,"file":"savings.js","sourceRoot":"","sources":["../../src/dynamic-thinking/savings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"savings.js","sourceRoot":"","sources":["../../src/dynamic-thinking/savings.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,MAAM,wCAAwC,GAAG,EAAE,CAAC;AACpD,MAAM,aAAa,GAAkC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AAE/F,MAAM,CAAC,MAAM,+BAA+B,GAAG,yCAAyC,CAAC;AAEzF,MAAM,UAAU,8BAA8B,CAC5C,KAAiB,EACjB,QAA4B,EAC5B,QAA4B,EAC5B,KAA+D,EAC/D,6BAA8D;IAE9D,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrD,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,6BAA6B,CAAC;WAC7D,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,YAAY,GAAG,CAAC,IAAI,YAAY,IAAI,YAAY,EAAE,CAAC;QACtG,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IACpC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,SAAS,KAAK,SAAS;WACtE,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC,IAAI,SAAS,GAAG,MAAM;QAAE,OAAO,SAAS,CAAC;IAChG,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,wCAAwC,CAAC,CAAC;IAC/E,MAAM,SAAS,GAAG,MAAM,GAAG,KAAK,CAAC;IACjC,OAAO,KAAK,GAAG,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,QAAqC,EACrC,KAAiB,EACjB,QAA4B,EAC5B,QAA4B,EAC5B,OAAyB,EACzB,iBAA0B,EAC1B,6BAA8D;IAE9D,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,UAAU,KAAK,MAAM,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC;QAAE,OAAO;IAC7F,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAC1B,MAAM,cAAc,GAAG,8BAA8B,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,6BAA6B,CAAC,CAAC;IACvH,IAAI,cAAc,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,CAAC;SAChG,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;WACzD,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC;eAC7E,KAAK,CAAC,YAAY,GAAG,CAAC,IAAI,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;WACnE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC;WAC1D,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC;WAC7D,CAAC,iBAAiB,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,iBAAiB,GAAG,CAAC,CAAC,CAAC;QAAE,OAAO;IAEjH,MAAM,YAAY,GAAG,CAAC,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IACxF,IAAI,YAAY,IAAI,CAAC,iBAAiB,IAAI,CAAC,CAAC;QAAE,OAAO;IACrD,MAAM,QAAQ,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;IAC5D,MAAM,MAAM,GAAsB;QAChC,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC;KAClF,CAAC;IACF,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,MAAM,CAAC;YACpB,QAAQ,EAAE,qBAAqB;YAC/B,SAAS,EAAE,kBAAkB;YAC7B,QAAQ,EAAE;gBACR,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE;gBAC9D,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,YAAY;aACzC;YACD,MAAM,EAAE;gBACN,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,iBAAiB,IAAI,CAAC,CAAC;aAC9E;YACD,KAAK,EAAE,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,+BAA+B,EAAE;SAC/E,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;AACZ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/dynamic-thinking/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAoB,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAoC,KAAK,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AACzH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AAK5E,eAAO,MAAM,yBAAyB,0CAA0C,CAAC;AAEjF,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,YAAY,EACrB,6BAA6B,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,OAAO,EAC7D,QAAQ,CAAC,EAAE,eAAe,EAC1B,OAAO,GAAE;IAAE,cAAc,CAAC,EAAE,8BAA8B,CAAC;IAAC,kBAAkB,CAAC,EAAE,0BAA0B,CAAA;CAAO,GACjH,eAAe,CA8HjB"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/dynamic-thinking/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAoB,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAoC,KAAK,0BAA0B,EAAE,MAAM,sCAAsC,CAAC;AACzH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AAK5E,eAAO,MAAM,yBAAyB,0CAA0C,CAAC;AAEjF,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,YAAY,EACrB,6BAA6B,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,OAAO,EAC7D,QAAQ,CAAC,EAAE,eAAe,EAC1B,OAAO,GAAE;IAAE,cAAc,CAAC,EAAE,8BAA8B,CAAC;IAAC,kBAAkB,CAAC,EAAE,0BAA0B,CAAA;CAAO,GACjH,eAAe,CAqIjB"}
@@ -11,7 +11,13 @@ export function createDynamicThinkingSession(runtime, supportsNativeThinkingUpda
11
11
  let manualOverride = false;
12
12
  let expectedLevel;
13
13
  let lastAutomaticLevel;
14
+ let baselineLevel;
14
15
  let pendingSavings;
16
+ const resetAutomaticSelection = () => {
17
+ lastAutomaticLevel = undefined;
18
+ baselineLevel = undefined;
19
+ pendingSavings = undefined;
20
+ };
15
21
  const canClassify = (model) => (model.api !== 'openai-codex-responses' && model.api !== 'openai-responses')
16
22
  || supportsNativeThinkingUpdates(model);
17
23
  const local = options.turnClassification ? undefined : createTurnClassificationRegistry(classifier, runtime.logger);
@@ -23,7 +29,7 @@ export function createDynamicThinkingSession(runtime, supportsNativeThinkingUpda
23
29
  factory: (pi) => {
24
30
  options.selectionScope?.onManualThinkingSelection(() => {
25
31
  manualOverride = true;
26
- pendingSavings = undefined;
32
+ resetAutomaticSelection();
27
33
  });
28
34
  pi.on('session_shutdown', () => { pendingSavings = undefined; lifetime.abort(); });
29
35
  pi.on('model_select', () => { pendingSavings = undefined; });
@@ -35,15 +41,14 @@ export function createDynamicThinkingSession(runtime, supportsNativeThinkingUpda
35
41
  return;
36
42
  }
37
43
  expectedLevel = undefined;
38
- lastAutomaticLevel = undefined;
39
- pendingSavings = undefined;
44
+ resetAutomaticSelection();
40
45
  return;
41
46
  }
42
47
  if (!options.selectionScope && event.level === expectedLevel)
43
48
  expectedLevel = undefined;
44
49
  else {
45
50
  manualOverride = true;
46
- pendingSavings = undefined;
51
+ resetAutomaticSelection();
47
52
  }
48
53
  });
49
54
  registry.register({
@@ -56,6 +61,7 @@ export function createDynamicThinkingSession(runtime, supportsNativeThinkingUpda
56
61
  const original = pi.getThinkingLevel();
57
62
  if (lastAutomaticLevel !== undefined && original !== lastAutomaticLevel) {
58
63
  manualOverride = true;
64
+ resetAutomaticSelection();
59
65
  return undefined;
60
66
  }
61
67
  if (!isFelanThinkingLevel(original))
@@ -93,14 +99,16 @@ export function createDynamicThinkingSession(runtime, supportsNativeThinkingUpda
93
99
  if (!decision)
94
100
  return;
95
101
  const sessionId = ctx.sessionManager.getSessionId();
102
+ if (lastAutomaticLevel === undefined)
103
+ baselineLevel = original;
96
104
  expectedLevel = decision.level;
97
105
  if (options.selectionScope)
98
106
  options.selectionScope.run(false, () => pi.setThinkingLevel(decision.level));
99
107
  else
100
108
  pi.setThinkingLevel(decision.level);
101
109
  lastAutomaticLevel = decision.level;
102
- if (reporter && original === 'high' && (decision.level === 'low' || decision.level === 'medium')) {
103
- pendingSavings = { sessionId, model, previous: original, selected: decision.level,
110
+ if (reporter && baselineLevel !== undefined) {
111
+ pendingSavings = { sessionId, model, baseline: baselineLevel, selected: decision.level,
104
112
  ...(decision.classifierCostUsd === undefined ? {} : { classifierCostUsd: decision.classifierCostUsd }) };
105
113
  }
106
114
  });
@@ -132,7 +140,7 @@ export function createDynamicThinkingSession(runtime, supportsNativeThinkingUpda
132
140
  || ctx.model?.api !== pending.model.api || ctx.model?.provider !== pending.model.provider
133
141
  || ctx.model?.id !== pending.model.id || pi.getThinkingLevel() !== pending.selected)
134
142
  return;
135
- await reportDynamicThinkingSavings(reporter, pending.model, pending.previous, pending.selected, pending.firstAssistant, pending.classifierCostUsd);
143
+ await reportDynamicThinkingSavings(reporter, pending.model, pending.baseline, pending.selected, pending.firstAssistant, pending.classifierCostUsd, supportsNativeThinkingUpdates);
136
144
  });
137
145
  },
138
146
  };
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/dynamic-thinking/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/dynamic-thinking/session.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@felan-ai/agent-core",
3
- "version": "0.14.1",
3
+ "version": "0.14.3",
4
4
  "description": "Portable Felan agent contracts and composition",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -33,7 +33,7 @@
33
33
  "@earendil-works/pi-telemetry": "1.4.0",
34
34
  "@earendil-works/pi-tui": "1.4.0",
35
35
  "@lydell/node-pty": "1.2.0-beta.14",
36
- "@felan-ai/session-protocol": "0.3.1"
36
+ "@felan-ai/session-protocol": "0.3.2"
37
37
  },
38
38
  "publishConfig": {
39
39
  "access": "public",