@leanandmean/coding-agent 0.74.1-scramjet.43 → 0.74.1-scramjet.45

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 (49) hide show
  1. package/dist/cli/initial-message.d.ts +1 -0
  2. package/dist/cli/initial-message.d.ts.map +1 -1
  3. package/dist/cli/initial-message.js +3 -0
  4. package/dist/cli/initial-message.js.map +1 -1
  5. package/dist/cli/list-models.d.ts +1 -1
  6. package/dist/cli/list-models.d.ts.map +1 -1
  7. package/dist/cli/list-models.js +1 -5
  8. package/dist/cli/list-models.js.map +1 -1
  9. package/dist/core/agent-session.d.ts.map +1 -1
  10. package/dist/core/agent-session.js +12 -13
  11. package/dist/core/agent-session.js.map +1 -1
  12. package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  13. package/dist/core/compaction/branch-summarization.js +22 -18
  14. package/dist/core/compaction/branch-summarization.js.map +1 -1
  15. package/dist/core/compaction/compaction.d.ts +3 -5
  16. package/dist/core/compaction/compaction.d.ts.map +1 -1
  17. package/dist/core/compaction/compaction.js +42 -10
  18. package/dist/core/compaction/compaction.js.map +1 -1
  19. package/dist/core/extensions/types.d.ts +5 -7
  20. package/dist/core/extensions/types.d.ts.map +1 -1
  21. package/dist/core/extensions/types.js.map +1 -1
  22. package/dist/core/model-registry.d.ts +3 -2
  23. package/dist/core/model-registry.d.ts.map +1 -1
  24. package/dist/core/model-registry.js +34 -31
  25. package/dist/core/model-registry.js.map +1 -1
  26. package/dist/core/model-resolver.d.ts.map +1 -1
  27. package/dist/core/model-resolver.js +3 -2
  28. package/dist/core/model-resolver.js.map +1 -1
  29. package/dist/core/sdk.d.ts.map +1 -1
  30. package/dist/core/sdk.js +9 -2
  31. package/dist/core/sdk.js.map +1 -1
  32. package/dist/main.d.ts.map +1 -1
  33. package/dist/main.js +2 -2
  34. package/dist/main.js.map +1 -1
  35. package/dist/modes/interactive/components/footer.d.ts +1 -1
  36. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  37. package/dist/modes/interactive/components/footer.js +4 -9
  38. package/dist/modes/interactive/components/footer.js.map +1 -1
  39. package/dist/modes/rpc/rpc-client.d.ts +3 -2
  40. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  41. package/dist/modes/rpc/rpc-client.js.map +1 -1
  42. package/docs/compaction.md +10 -4
  43. package/docs/custom-provider.md +9 -2
  44. package/docs/extensions.md +2 -2
  45. package/docs/models.md +22 -5
  46. package/docs/rpc.md +3 -5
  47. package/docs/sdk.md +8 -0
  48. package/examples/extensions/border-status-editor.ts +1 -6
  49. package/package.json +4 -4
package/docs/rpc.md CHANGED
@@ -263,7 +263,7 @@ List all configured models.
263
263
  {"type": "get_available_models"}
264
264
  ```
265
265
 
266
- Response contains an array of full [Model](#model) objects. `RpcClient.getAvailableModels()` projects these to `ModelInfo`, including optional `contextWindowBudget` when present; there is no separate runtime mapping:
266
+ Response contains an array of full [Model](#model) objects. `RpcClient.getAvailableModels()` types these as `ModelInfo`, including optional `maxInputTokens`; there is no runtime projection:
267
267
  ```json
268
268
  {
269
269
  "type": "response",
@@ -527,14 +527,13 @@ Response:
527
527
  "contextUsage": {
528
528
  "tokens": 60000,
529
529
  "contextWindow": 200000,
530
- "contextWindowBudget": 200000,
531
530
  "percent": 30
532
531
  }
533
532
  }
534
533
  }
535
534
  ```
536
535
 
537
- `tokens` contains assistant usage totals for the current session state. `contextUsage.contextWindow` is advertised model capacity, `contextWindowBudget` is the resolved operational budget, and `percent` uses that budget as its denominator. Compaction also uses the operational budget.
536
+ `tokens` contains assistant usage totals for the current session state. `contextUsage.contextWindow` is maximum supported total context and the denominator of `percent`. Compaction uses this same context value with the configured reserve. `contextWindowBudget` has been removed from both model and usage transport contracts; clients must read `contextWindow` instead. See [models.md](models.md#breaking-migration-from-context-budgets).
538
537
 
539
538
  `contextUsage` is omitted when no model or context window is available. `contextUsage.tokens` and `contextUsage.percent` are `null` immediately after compaction until a fresh post-compaction assistant response provides valid usage data.
540
539
 
@@ -1218,7 +1217,6 @@ Source files:
1218
1217
  "reasoning": true,
1219
1218
  "input": ["text", "image"],
1220
1219
  "contextWindow": 200000,
1221
- "contextWindowBudget": 180000,
1222
1220
  "maxTokens": 16384,
1223
1221
  "cost": {
1224
1222
  "input": 3.0,
@@ -1229,7 +1227,7 @@ Source files:
1229
1227
  }
1230
1228
  ```
1231
1229
 
1232
- `contextWindowBudget` is optional on transported models. When absent, consumers use `contextWindow` as the operational budget.
1230
+ `contextWindow` is maximum supported total context. An optional `maxInputTokens` represents only an independently evidenced provider input constraint; it is not another context denominator. The removed budget field is not emitted.
1233
1231
 
1234
1232
  ### UserMessage
1235
1233
 
package/docs/sdk.md CHANGED
@@ -435,6 +435,14 @@ For each built-in provider request, `createAgentSession()` binds the current ext
435
435
 
436
436
  > See [examples/sdk/02-custom-model.ts](../examples/sdk/02-custom-model.ts)
437
437
 
438
+ ### Context and output allocation
439
+
440
+ Models and usage expose one authoritative total `contextWindow`; `contextWindowBudget` and `getContextWindowBudget()` are removed. See [the migration guide](models.md#breaking-migration-from-context-budgets) before updating external model definitions or consumers.
441
+
442
+ The `createAgentSession()` stream path checks the current request's estimated input against any genuine `maxInputTokens`, then bounds output by remaining total context and the applicable output maximum. It does not subtract compaction reserve again. The same accounting applies to both built-in summarizer implementations. These are approximate checks, not exact serialized-payload tokenization; custom stream functions and later payload rewrites must honor their own constraints.
443
+
444
+ OpenRouter's implicit aggregate output maximum is omitted because it can exclude the long-context endpoint; explicit summary output limits are retained. Vercel's Anthropic route still requires an output limit. Codex still omits `max_output_tokens`. Aggregate route compatibility is not guaranteed by scalar metadata. Anthropic/Bedrock simple adapters treat explicit `maxTokens` as a combined output ceiling including thinking, rather than increasing it for reasoning.
445
+
438
446
  ### API Keys and OAuth
439
447
 
440
448
  API key resolution priority (handled by AuthStorage):
@@ -52,12 +52,7 @@ function formatContext(ctx: ExtensionContext): string {
52
52
  if (!usage || usage.percent === null) {
53
53
  return "ctx ?";
54
54
  }
55
- // SCRAMJET-DIVERGENCE: Show the expanded capacity/budget ContextUsage contract (issue 398).
56
- const capacity =
57
- usage.contextWindowBudget === usage.contextWindow
58
- ? ""
59
- : ` (${(usage.contextWindow / 1000).toFixed(0)}k capacity)`;
60
- return `ctx ${Math.round(usage.percent)}%/${(usage.contextWindowBudget / 1000).toFixed(0)}k${capacity}`;
55
+ return `ctx ${Math.round(usage.percent)}%/${(usage.contextWindow / 1000).toFixed(0)}k`;
61
56
  }
62
57
 
63
58
  function formatThinking(level: string): string {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leanandmean/coding-agent",
3
- "version": "0.74.1-scramjet.43",
3
+ "version": "0.74.1-scramjet.45",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -37,9 +37,9 @@
37
37
  "test": "vitest --run --passWithNoTests"
38
38
  },
39
39
  "dependencies": {
40
- "@leanandmean/agent": "0.74.1-scramjet.22",
41
- "@leanandmean/ai": "0.74.1-scramjet.18",
42
- "@leanandmean/tui": "0.74.1-scramjet.15",
40
+ "@leanandmean/agent": "0.74.1-scramjet.24",
41
+ "@leanandmean/ai": "0.74.1-scramjet.20",
42
+ "@leanandmean/tui": "0.74.1-scramjet.17",
43
43
  "@silvia-odwyer/photon-node": "^0.3.4",
44
44
  "chalk": "^5.5.0",
45
45
  "dictionary-en": "^4.0.0",