@caupulican/pi-adaptative 0.81.19 → 0.81.21

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 (38) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/core/agent-session.d.ts.map +1 -1
  3. package/dist/core/agent-session.js +17 -0
  4. package/dist/core/agent-session.js.map +1 -1
  5. package/dist/core/doctor.d.ts.map +1 -1
  6. package/dist/core/doctor.js +4 -1
  7. package/dist/core/doctor.js.map +1 -1
  8. package/dist/core/local-runtime-controller.d.ts +2 -0
  9. package/dist/core/local-runtime-controller.d.ts.map +1 -1
  10. package/dist/core/local-runtime-controller.js +92 -6
  11. package/dist/core/local-runtime-controller.js.map +1 -1
  12. package/dist/core/models/context-sizing.d.ts.map +1 -1
  13. package/dist/core/models/context-sizing.js +18 -26
  14. package/dist/core/models/context-sizing.js.map +1 -1
  15. package/dist/core/models/local-runtime.d.ts +57 -4
  16. package/dist/core/models/local-runtime.d.ts.map +1 -1
  17. package/dist/core/models/local-runtime.js +307 -30
  18. package/dist/core/models/local-runtime.js.map +1 -1
  19. package/dist/core/models/perf-profile.d.ts +3 -0
  20. package/dist/core/models/perf-profile.d.ts.map +1 -1
  21. package/dist/core/models/perf-profile.js +42 -13
  22. package/dist/core/models/perf-profile.js.map +1 -1
  23. package/dist/core/models/runtime-arbiter.d.ts +45 -0
  24. package/dist/core/models/runtime-arbiter.d.ts.map +1 -1
  25. package/dist/core/models/runtime-arbiter.js +115 -0
  26. package/dist/core/models/runtime-arbiter.js.map +1 -1
  27. package/dist/modes/interactive/local-model-commands.d.ts.map +1 -1
  28. package/dist/modes/interactive/local-model-commands.js +24 -6
  29. package/dist/modes/interactive/local-model-commands.js.map +1 -1
  30. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  31. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  32. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  33. package/examples/extensions/sandbox/package-lock.json +2 -2
  34. package/examples/extensions/sandbox/package.json +1 -1
  35. package/examples/extensions/with-deps/package-lock.json +2 -2
  36. package/examples/extensions/with-deps/package.json +1 -1
  37. package/npm-shrinkwrap.json +12 -12
  38. package/package.json +4 -4
@@ -31,6 +31,7 @@ import { deriveModelCapabilityProfile, filterToolNamesForCapability, } from "./m
31
31
  import { formatModelRouterModel, ModelRouterController } from "./model-router-controller.js";
32
32
  import { ModelSelectionController } from "./model-selection-controller.js";
33
33
  import { ModelAdaptationStore } from "./models/adaptation-store.js";
34
+ import { HF_TRANSFORMERS_PROVIDER, OLLAMA_PROVIDER } from "./models/local-registration.js";
34
35
  import { DEFAULT_ADAPTIVE_STREAM_IDLE_CEILING_MS, estimateContextPromptTokens, resolveAdaptiveStreamIdleOptions, withModelPerfProfile, } from "./models/perf-profile.js";
35
36
  import { ProfileFilterController } from "./profile-filter-controller.js";
36
37
  import { expandPromptTemplate } from "./prompt-templates.js";
@@ -266,6 +267,7 @@ export class AgentSession {
266
267
  base: { ...DEFAULT_STREAM_IDLE, ...configured },
267
268
  profile,
268
269
  promptTokens: estimateContextPromptTokens(context),
270
+ localClass: this._isWarmableLocalModel(model),
269
271
  ceilingMs: httpIdleTimeoutMs === 0
270
272
  ? DEFAULT_ADAPTIVE_STREAM_IDLE_CEILING_MS
271
273
  : Math.max(DEFAULT_STREAM_IDLE.quietIdleMs, httpIdleTimeoutMs - 60_000),
@@ -659,6 +661,21 @@ export class AgentSession {
659
661
  options.apiKey = auth.apiKey;
660
662
  options.headers = auth.headers;
661
663
  }
664
+ if (controller.signal.aborted)
665
+ return;
666
+ if (model.provider === OLLAMA_PROVIDER || model.provider === HF_TRANSFORMERS_PROVIDER) {
667
+ await this._localRuntimeController.ensureRouteModelReady({
668
+ decision: {
669
+ tier: "cheap",
670
+ risk: "read-only",
671
+ confidence: 1,
672
+ reasonCode: "prefix_warmer",
673
+ reasons: ["prefix warmer residency"],
674
+ model: `${model.provider}/${model.id}`,
675
+ },
676
+ model,
677
+ });
678
+ }
662
679
  if (controller.signal.aborted)
663
680
  return;
664
681
  const stream = await this.agent.streamFn(model, {