@code-yeongyu/senpi 2026.9.4-3 → 2026.9.5

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 (134) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/core/agent-session.d.ts +17 -1
  3. package/dist/core/agent-session.d.ts.map +1 -1
  4. package/dist/core/agent-session.js +62 -2
  5. package/dist/core/agent-session.js.map +1 -1
  6. package/dist/core/extensions/builtin/compaction/model-usability-budget.d.ts +5 -0
  7. package/dist/core/extensions/builtin/compaction/model-usability-budget.d.ts.map +1 -1
  8. package/dist/core/extensions/builtin/compaction/model-usability-budget.js +11 -4
  9. package/dist/core/extensions/builtin/compaction/model-usability-budget.js.map +1 -1
  10. package/dist/core/extensions/builtin/prompt-preset/gpt-6-astra.d.ts +9 -5
  11. package/dist/core/extensions/builtin/prompt-preset/gpt-6-astra.d.ts.map +1 -1
  12. package/dist/core/extensions/builtin/prompt-preset/gpt-6-astra.js +20 -11
  13. package/dist/core/extensions/builtin/prompt-preset/gpt-6-astra.js.map +1 -1
  14. package/dist/core/extensions/builtin/recommended-models/index.d.ts +1 -1
  15. package/dist/core/extensions/builtin/recommended-models/index.d.ts.map +1 -1
  16. package/dist/core/extensions/builtin/recommended-models/index.js +1 -0
  17. package/dist/core/extensions/builtin/recommended-models/index.js.map +1 -1
  18. package/dist/core/extensions/builtin/service-tier.d.ts.map +1 -1
  19. package/dist/core/extensions/builtin/service-tier.js +12 -4
  20. package/dist/core/extensions/builtin/service-tier.js.map +1 -1
  21. package/dist/core/extensions/builtin/terminal/durable-command.d.ts +31 -0
  22. package/dist/core/extensions/builtin/terminal/durable-command.d.ts.map +1 -0
  23. package/dist/core/extensions/builtin/terminal/durable-command.js +96 -0
  24. package/dist/core/extensions/builtin/terminal/durable-command.js.map +1 -0
  25. package/dist/core/extensions/builtin/terminal/durable-file.d.ts +42 -0
  26. package/dist/core/extensions/builtin/terminal/durable-file.d.ts.map +1 -0
  27. package/dist/core/extensions/builtin/terminal/durable-file.js +102 -0
  28. package/dist/core/extensions/builtin/terminal/durable-file.js.map +1 -0
  29. package/dist/core/extensions/builtin/terminal/extension.d.ts.map +1 -1
  30. package/dist/core/extensions/builtin/terminal/extension.js +58 -13
  31. package/dist/core/extensions/builtin/terminal/extension.js.map +1 -1
  32. package/dist/core/extensions/builtin/terminal/monitor-notify.d.ts.map +1 -1
  33. package/dist/core/extensions/builtin/terminal/monitor-notify.js +5 -1
  34. package/dist/core/extensions/builtin/terminal/monitor-notify.js.map +1 -1
  35. package/dist/core/extensions/builtin/terminal/monitor-registry.d.ts +29 -0
  36. package/dist/core/extensions/builtin/terminal/monitor-registry.d.ts.map +1 -1
  37. package/dist/core/extensions/builtin/terminal/monitor-registry.js +49 -0
  38. package/dist/core/extensions/builtin/terminal/monitor-registry.js.map +1 -1
  39. package/dist/core/extensions/builtin/terminal/monitor-status.d.ts.map +1 -1
  40. package/dist/core/extensions/builtin/terminal/monitor-status.js +21 -1
  41. package/dist/core/extensions/builtin/terminal/monitor-status.js.map +1 -1
  42. package/dist/core/extensions/builtin/terminal/prompt.d.ts.map +1 -1
  43. package/dist/core/extensions/builtin/terminal/prompt.js +9 -5
  44. package/dist/core/extensions/builtin/terminal/prompt.js.map +1 -1
  45. package/dist/core/extensions/builtin/terminal/restore.d.ts +13 -0
  46. package/dist/core/extensions/builtin/terminal/restore.d.ts.map +1 -1
  47. package/dist/core/extensions/builtin/terminal/restore.js +31 -3
  48. package/dist/core/extensions/builtin/terminal/restore.js.map +1 -1
  49. package/dist/core/extensions/builtin/terminal/shared.d.ts +25 -0
  50. package/dist/core/extensions/builtin/terminal/shared.d.ts.map +1 -1
  51. package/dist/core/extensions/builtin/terminal/shared.js +25 -0
  52. package/dist/core/extensions/builtin/terminal/shared.js.map +1 -1
  53. package/dist/core/extensions/builtin/terminal/terminal-manifest-model.d.ts +91 -0
  54. package/dist/core/extensions/builtin/terminal/terminal-manifest-model.d.ts.map +1 -0
  55. package/dist/core/extensions/builtin/terminal/terminal-manifest-model.js +14 -0
  56. package/dist/core/extensions/builtin/terminal/terminal-manifest-model.js.map +1 -0
  57. package/dist/core/extensions/builtin/terminal/terminal-manifest.d.ts +29 -77
  58. package/dist/core/extensions/builtin/terminal/terminal-manifest.d.ts.map +1 -1
  59. package/dist/core/extensions/builtin/terminal/terminal-manifest.js +61 -15
  60. package/dist/core/extensions/builtin/terminal/terminal-manifest.js.map +1 -1
  61. package/dist/core/extensions/builtin/terminal/tools/monitor.d.ts.map +1 -1
  62. package/dist/core/extensions/builtin/terminal/tools/monitor.js +59 -11
  63. package/dist/core/extensions/builtin/terminal/tools/monitor.js.map +1 -1
  64. package/dist/core/footer-data-provider.d.ts.map +1 -1
  65. package/dist/core/footer-data-provider.js +18 -1
  66. package/dist/core/footer-data-provider.js.map +1 -1
  67. package/dist/core/retry-fallback/chains.d.ts +1 -13
  68. package/dist/core/retry-fallback/chains.d.ts.map +1 -1
  69. package/dist/core/retry-fallback/chains.js +3 -49
  70. package/dist/core/retry-fallback/chains.js.map +1 -1
  71. package/dist/core/retry-fallback/controller.d.ts.map +1 -1
  72. package/dist/core/retry-fallback/controller.js +4 -9
  73. package/dist/core/retry-fallback/controller.js.map +1 -1
  74. package/dist/core/retry-fallback/expansion.js +1 -1
  75. package/dist/core/retry-fallback/expansion.js.map +1 -1
  76. package/dist/core/retry-fallback/settings.d.ts +2 -4
  77. package/dist/core/retry-fallback/settings.d.ts.map +1 -1
  78. package/dist/core/retry-fallback/settings.js +7 -36
  79. package/dist/core/retry-fallback/settings.js.map +1 -1
  80. package/dist/core/sdk.d.ts.map +1 -1
  81. package/dist/core/sdk.js +1 -1
  82. package/dist/core/sdk.js.map +1 -1
  83. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  84. package/dist/modes/interactive/interactive-mode.js +10 -1
  85. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  86. package/docs/settings.md +1 -0
  87. package/docs/terminal-tools.md +35 -4
  88. package/node_modules/@code-yeongyu/senpi-codemode/CHANGELOG.md +12 -0
  89. package/node_modules/@code-yeongyu/senpi-codemode/README.md +2 -2
  90. package/node_modules/@code-yeongyu/senpi-codemode/package.json +4 -4
  91. package/node_modules/@code-yeongyu/senpi-codemode/src/extension/session-manager.ts +8 -4
  92. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/js/display-image.js +162 -0
  93. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/js/prelude.ts +2 -2
  94. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/js/worker-runtime.js +29 -60
  95. package/node_modules/@code-yeongyu/senpi-codemode/src/kernels/py/prelude.py +66 -1
  96. package/node_modules/@code-yeongyu/senpi-codemode/src/prompt/eval-prompt.ts +3 -3
  97. package/node_modules/@code-yeongyu/senpi-codemode/src/tool/types.ts +2 -2
  98. package/node_modules/@earendil-works/pi-agent-core/package.json +3 -3
  99. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.d.ts +1 -1
  100. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.d.ts.map +1 -1
  101. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.js +3 -1
  102. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.js.map +1 -1
  103. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.d.ts.map +1 -1
  104. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js +14 -9
  105. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js.map +1 -1
  106. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.d.ts +3 -3
  107. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.d.ts.map +1 -1
  108. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.js.map +1 -1
  109. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.d.ts +1 -1
  110. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.d.ts.map +1 -1
  111. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js +6 -4
  112. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js.map +1 -1
  113. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.d.ts +30 -0
  114. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.d.ts.map +1 -1
  115. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js +30 -0
  116. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js.map +1 -1
  117. package/node_modules/@earendil-works/pi-ai/dist/models.d.ts +3 -1
  118. package/node_modules/@earendil-works/pi-ai/dist/models.d.ts.map +1 -1
  119. package/node_modules/@earendil-works/pi-ai/dist/models.js +27 -3
  120. package/node_modules/@earendil-works/pi-ai/dist/models.js.map +1 -1
  121. package/node_modules/@earendil-works/pi-ai/dist/providers/data/.manifest.json +1 -1
  122. package/node_modules/@earendil-works/pi-ai/dist/providers/data/azure-openai-responses.json +1 -1
  123. package/node_modules/@earendil-works/pi-ai/dist/providers/data/fireworks.json +1 -1
  124. package/node_modules/@earendil-works/pi-ai/dist/providers/data/github-copilot.json +1 -1
  125. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openai-codex.json +1 -1
  126. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openai.json +1 -1
  127. package/node_modules/@earendil-works/pi-ai/dist/providers/data/opencode.json +1 -1
  128. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openrouter.json +1 -1
  129. package/node_modules/@earendil-works/pi-ai/dist/providers/data/vercel-ai-gateway.json +1 -1
  130. package/node_modules/@earendil-works/pi-ai/package.json +2 -2
  131. package/node_modules/@earendil-works/pi-pty/package.json +1 -1
  132. package/node_modules/@earendil-works/pi-telemetry/package.json +1 -1
  133. package/node_modules/@earendil-works/pi-tui/package.json +1 -1
  134. package/package.json +7 -7
@@ -1,5 +1,5 @@
1
1
  import OpenAI from "openai";
2
- import { calculateCost, clampThinkingLevel, supportsMax, supportsXhigh } from "../models.js";
2
+ import { calculateCost, clampThinkingLevel, inferOpenAIThinkingLevelMap, supportsMax, supportsXhigh, } from "../models.js";
3
3
  import { formatProviderError, normalizeProviderError } from "../utils/error-body.js";
4
4
  import { AssistantMessageEventStream } from "../utils/event-stream.js";
5
5
  import { shortHash } from "../utils/hash.js";
@@ -62,9 +62,9 @@ const OLLAMA_THINKING_LEVEL_MAP = {
62
62
  max: "high",
63
63
  };
64
64
  function getThinkingLevelMap(model, compat) {
65
- if (model.thinkingLevelMap !== undefined) {
66
- return model.thinkingLevelMap;
67
- }
65
+ const inferred = inferOpenAIThinkingLevelMap(model);
66
+ if (inferred !== undefined)
67
+ return inferred;
68
68
  const id = model.id.toLowerCase();
69
69
  const isKimiK3 = id === "k3" || id.startsWith("k3-") || /(?:^|[/:-])kimi-k3(?:$|[/.:_-])/.test(id);
70
70
  const isDeepSeek = id.includes("deepseek");
@@ -716,12 +716,17 @@ export const streamSimple = (model, context, options) => {
716
716
  const compat = getCompat(model);
717
717
  const thinkingLevelMap = getThinkingLevelMap(model, compat);
718
718
  const thinkingModel = thinkingLevelMap === model.thinkingLevelMap ? model : { ...model, thinkingLevelMap };
719
- const clampedReasoning = options?.reasoning ? clampThinkingLevel(thinkingModel, options.reasoning) : undefined;
720
- const reasoningEffort = clampedReasoning === "off"
719
+ const clampedReasoning = options?.reasoning
720
+ ? clampThinkingLevel(thinkingModel, options.reasoning)
721
+ : model.id.includes("gpt-6-astra")
722
+ ? "off"
723
+ : undefined;
724
+ const normalizedReasoning = clampedReasoning === "off" && model.id.includes("gpt-6-astra") ? "low" : clampedReasoning;
725
+ const reasoningEffort = normalizedReasoning === "off"
721
726
  ? undefined
722
- : clampedReasoning === "max" && supportsMax(thinkingModel)
727
+ : normalizedReasoning === "max" && supportsMax(thinkingModel)
723
728
  ? "max"
724
- : clampMaxForOpenAI(clampedReasoning, supportsXhigh(thinkingModel));
729
+ : clampMaxForOpenAI(normalizedReasoning, supportsXhigh(thinkingModel));
725
730
  return stream(model, context, {
726
731
  ...base,
727
732
  reasoningEffort,
@@ -864,7 +869,7 @@ function buildParams(model, context, options, compat = getCompat(model), cacheRe
864
869
  }
865
870
  if (compat.supportsReasoningEffort) {
866
871
  const requestedEffort = options?.reasoningEffort;
867
- const mappedEffort = requestedEffort ? model.thinkingLevelMap?.[requestedEffort] : model.thinkingLevelMap?.off;
872
+ const mappedEffort = requestedEffort ? thinkingLevelMap?.[requestedEffort] : thinkingLevelMap?.off;
868
873
  const effort = mappedEffort === undefined ? requestedEffort : mappedEffort;
869
874
  if (typeof effort === "string") {
870
875
  basetenParams.reasoning_effort = effort;