@caupulican/pi-adaptative 0.81.2 → 0.81.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.
Files changed (81) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/core/agent-session.d.ts +1 -23
  3. package/dist/core/agent-session.d.ts.map +1 -1
  4. package/dist/core/agent-session.js +117 -131
  5. package/dist/core/agent-session.js.map +1 -1
  6. package/dist/core/background-lane-controller.d.ts +2 -0
  7. package/dist/core/background-lane-controller.d.ts.map +1 -1
  8. package/dist/core/background-lane-controller.js +3 -0
  9. package/dist/core/background-lane-controller.js.map +1 -1
  10. package/dist/core/billing-failover-controller.d.ts +31 -0
  11. package/dist/core/billing-failover-controller.d.ts.map +1 -0
  12. package/dist/core/billing-failover-controller.js +72 -0
  13. package/dist/core/billing-failover-controller.js.map +1 -0
  14. package/dist/core/billing-failover.d.ts +25 -0
  15. package/dist/core/billing-failover.d.ts.map +1 -0
  16. package/dist/core/billing-failover.js +21 -0
  17. package/dist/core/billing-failover.js.map +1 -0
  18. package/dist/core/context-pipeline.d.ts +1 -0
  19. package/dist/core/context-pipeline.d.ts.map +1 -1
  20. package/dist/core/context-pipeline.js +51 -14
  21. package/dist/core/context-pipeline.js.map +1 -1
  22. package/dist/core/model-router/config-diagnostics.d.ts +1 -1
  23. package/dist/core/model-router/config-diagnostics.d.ts.map +1 -1
  24. package/dist/core/model-router/config-diagnostics.js +29 -1
  25. package/dist/core/model-router/config-diagnostics.js.map +1 -1
  26. package/dist/core/model-router/fitness-gate.d.ts +23 -0
  27. package/dist/core/model-router/fitness-gate.d.ts.map +1 -0
  28. package/dist/core/model-router/fitness-gate.js +33 -0
  29. package/dist/core/model-router/fitness-gate.js.map +1 -0
  30. package/dist/core/model-router/status.d.ts +25 -1
  31. package/dist/core/model-router/status.d.ts.map +1 -1
  32. package/dist/core/model-router/status.js +27 -4
  33. package/dist/core/model-router/status.js.map +1 -1
  34. package/dist/core/model-router-controller.d.ts +10 -1
  35. package/dist/core/model-router-controller.d.ts.map +1 -1
  36. package/dist/core/model-router-controller.js +108 -27
  37. package/dist/core/model-router-controller.js.map +1 -1
  38. package/dist/core/runtime-builder.d.ts +16 -0
  39. package/dist/core/runtime-builder.d.ts.map +1 -1
  40. package/dist/core/runtime-builder.js +88 -1
  41. package/dist/core/runtime-builder.js.map +1 -1
  42. package/dist/core/scout-controller.d.ts +44 -0
  43. package/dist/core/scout-controller.d.ts.map +1 -0
  44. package/dist/core/scout-controller.js +165 -0
  45. package/dist/core/scout-controller.js.map +1 -0
  46. package/dist/core/settings-manager.d.ts +16 -0
  47. package/dist/core/settings-manager.d.ts.map +1 -1
  48. package/dist/core/settings-manager.js +35 -3
  49. package/dist/core/settings-manager.js.map +1 -1
  50. package/dist/core/tools/context-scout.d.ts +19 -0
  51. package/dist/core/tools/context-scout.d.ts.map +1 -0
  52. package/dist/core/tools/context-scout.js +47 -0
  53. package/dist/core/tools/context-scout.js.map +1 -0
  54. package/dist/core/tools/index.d.ts +1 -0
  55. package/dist/core/tools/index.d.ts.map +1 -1
  56. package/dist/core/tools/index.js +1 -0
  57. package/dist/core/tools/index.js.map +1 -1
  58. package/dist/main.d.ts.map +1 -1
  59. package/dist/main.js +1 -1
  60. package/dist/main.js.map +1 -1
  61. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  62. package/dist/modes/interactive/components/settings-selector.js +77 -7
  63. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  64. package/dist/modes/interactive/local-model-commands.d.ts +5 -2
  65. package/dist/modes/interactive/local-model-commands.d.ts.map +1 -1
  66. package/dist/modes/interactive/local-model-commands.js +115 -1
  67. package/dist/modes/interactive/local-model-commands.js.map +1 -1
  68. package/docs/index.md +1 -0
  69. package/docs/providers.md +2 -0
  70. package/docs/scout.md +71 -0
  71. package/docs/settings.md +14 -3
  72. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  73. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  74. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  75. package/examples/extensions/sandbox/package-lock.json +2 -2
  76. package/examples/extensions/sandbox/package.json +1 -1
  77. package/examples/extensions/with-deps/package-lock.json +2 -2
  78. package/examples/extensions/with-deps/package.json +1 -1
  79. package/examples/sdk/12-full-control.ts +1 -1
  80. package/npm-shrinkwrap.json +12 -12
  81. package/package.json +4 -4
@@ -243,9 +243,18 @@ function normalizeModelRouterSettings(value) {
243
243
  return undefined;
244
244
  const input = value;
245
245
  const settings = {};
246
- if (typeof input.enabled === "boolean")
247
- settings.enabled = input.enabled;
248
- for (const key of ["cheapModel", "mediumModel", "expensiveModel", "learningModel"]) {
246
+ for (const key of ["enabled", "judgeEnabled", "fitnessGate"]) {
247
+ if (typeof input[key] === "boolean")
248
+ settings[key] = input[key];
249
+ }
250
+ for (const key of [
251
+ "cheapModel",
252
+ "mediumModel",
253
+ "expensiveModel",
254
+ "learningModel",
255
+ "judgeModel",
256
+ "executorModel",
257
+ ]) {
249
258
  const candidate = input[key];
250
259
  if (typeof candidate !== "string")
251
260
  continue;
@@ -253,6 +262,17 @@ function normalizeModelRouterSettings(value) {
253
262
  if (trimmed)
254
263
  settings[key] = trimmed;
255
264
  }
265
+ for (const key of [
266
+ "cheapThinking",
267
+ "mediumThinking",
268
+ "expensiveThinking",
269
+ "executorThinking",
270
+ "judgeThinking",
271
+ ]) {
272
+ const candidate = input[key];
273
+ if (isThinkingLevel(candidate))
274
+ settings[key] = candidate;
275
+ }
256
276
  return Object.keys(settings).length > 0 ? settings : undefined;
257
277
  }
258
278
  function parseProfileFileDefinition(content) {
@@ -1469,6 +1489,9 @@ export class SettingsManager {
1469
1489
  action: this.settings.costGuard?.action ?? "warn",
1470
1490
  };
1471
1491
  }
1492
+ getFailoverSettings() {
1493
+ return { subscriptionHop: this.settings.failover?.subscriptionHop ?? true };
1494
+ }
1472
1495
  getProfileModelRouterSettings() {
1473
1496
  const activeProfileNames = this.getActiveResourceProfileNames();
1474
1497
  if (activeProfileNames.length === 0)
@@ -1501,6 +1524,7 @@ export class SettingsManager {
1501
1524
  expensiveModel: this.settings.modelRouter?.expensiveModel?.trim() || undefined,
1502
1525
  learningModel: this.settings.modelRouter?.learningModel?.trim() || undefined,
1503
1526
  judgeEnabled: this.settings.modelRouter?.judgeEnabled ?? true,
1527
+ fitnessGate: this.settings.modelRouter?.fitnessGate ?? false,
1504
1528
  judgeModel: this.settings.modelRouter?.judgeModel?.trim() || undefined,
1505
1529
  executorModel: this.settings.modelRouter?.executorModel?.trim() || undefined,
1506
1530
  // Not yet profile-overridable (same as judgeModel/executorModel above): validated here so a
@@ -1528,6 +1552,7 @@ export class SettingsManager {
1528
1552
  expensiveModel: profileSettings?.expensiveModel?.trim() || settings.expensiveModel,
1529
1553
  learningModel: profileSettings?.learningModel?.trim() || settings.learningModel,
1530
1554
  judgeEnabled: profileSettings?.judgeEnabled ?? settings.judgeEnabled,
1555
+ fitnessGate: profileSettings?.fitnessGate ?? settings.fitnessGate,
1531
1556
  judgeModel: profileSettings?.judgeModel?.trim() || settings.judgeModel,
1532
1557
  executorModel: profileSettings?.executorModel?.trim() || settings.executorModel,
1533
1558
  cheapThinking: settings.cheapThinking,
@@ -1545,6 +1570,7 @@ export class SettingsManager {
1545
1570
  expensiveModel: settings.expensiveModel?.trim() || undefined,
1546
1571
  learningModel: settings.learningModel?.trim() || undefined,
1547
1572
  judgeEnabled: settings.judgeEnabled ?? true,
1573
+ fitnessGate: settings.fitnessGate ?? false,
1548
1574
  judgeModel: settings.judgeModel?.trim() || undefined,
1549
1575
  executorModel: settings.executorModel?.trim() || undefined,
1550
1576
  cheapThinking: isThinkingLevel(settings.cheapThinking) ? settings.cheapThinking : undefined,
@@ -1576,6 +1602,12 @@ export class SettingsManager {
1576
1602
  triggerPercent: this.getCompactionTriggerPercent(),
1577
1603
  };
1578
1604
  }
1605
+ getScoutSettings() {
1606
+ return {
1607
+ enabled: this.settings.scout?.enabled ?? false,
1608
+ model: this.settings.scout?.model ?? "auto",
1609
+ };
1610
+ }
1579
1611
  getContextGcSettings() {
1580
1612
  return {
1581
1613
  enabled: this.settings.contextGc?.enabled ?? true,