jeopi-cli 16.4.0 → 16.4.1
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/CHANGELOG.md +6 -0
- package/dist/cli.js +1877 -1877
- package/package.json +12 -12
- package/src/session/agent-session.ts +12 -1
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "module",
|
|
3
3
|
"name": "jeopi-cli",
|
|
4
|
-
"version": "16.4.
|
|
4
|
+
"version": "16.4.1",
|
|
5
5
|
"description": "Coding agent CLI with read, bash, edit, write tools and session management",
|
|
6
6
|
"homepage": "https://github.com/akillness/jeopi",
|
|
7
7
|
"author": "Can Boluk",
|
|
@@ -57,17 +57,17 @@
|
|
|
57
57
|
"@agentclientprotocol/sdk": "0.25.0",
|
|
58
58
|
"@babel/parser": "^7.29.7",
|
|
59
59
|
"@mozilla/readability": "^0.6.0",
|
|
60
|
-
"jeopi-hashline": "16.4.
|
|
61
|
-
"jeopi-stats": "16.4.
|
|
62
|
-
"jeopi-agent-core": "16.4.
|
|
63
|
-
"jeopi-ai": "16.4.
|
|
64
|
-
"jeopi-catalog": "16.4.
|
|
65
|
-
"jeopi-mnemopi": "16.4.
|
|
66
|
-
"jeopi-natives": "16.4.
|
|
67
|
-
"jeopi-tui": "16.4.
|
|
68
|
-
"jeopi-utils": "16.4.
|
|
69
|
-
"jeopi-wire": "16.4.
|
|
70
|
-
"jeopi-snapcompact": "16.4.
|
|
60
|
+
"jeopi-hashline": "16.4.1",
|
|
61
|
+
"jeopi-stats": "16.4.1",
|
|
62
|
+
"jeopi-agent-core": "16.4.1",
|
|
63
|
+
"jeopi-ai": "16.4.1",
|
|
64
|
+
"jeopi-catalog": "16.4.1",
|
|
65
|
+
"jeopi-mnemopi": "16.4.1",
|
|
66
|
+
"jeopi-natives": "16.4.1",
|
|
67
|
+
"jeopi-tui": "16.4.1",
|
|
68
|
+
"jeopi-utils": "16.4.1",
|
|
69
|
+
"jeopi-wire": "16.4.1",
|
|
70
|
+
"jeopi-snapcompact": "16.4.1",
|
|
71
71
|
"@opentelemetry/api": "^1.9.1",
|
|
72
72
|
"@opentelemetry/context-async-hooks": "^2.7.1",
|
|
73
73
|
"@opentelemetry/exporter-trace-otlp-proto": "^0.218.0",
|
|
@@ -109,6 +109,7 @@ import {
|
|
|
109
109
|
serviceTierFamily,
|
|
110
110
|
streamSimple,
|
|
111
111
|
} from "jeopi-ai";
|
|
112
|
+
import { renderDemotedThinking } from "jeopi-ai/dialect";
|
|
112
113
|
import * as AIError from "jeopi-ai/error";
|
|
113
114
|
import { toolWireSchema } from "jeopi-ai/utils/schema";
|
|
114
115
|
import { GeminiHeaderRunDetector, isGeminiThinkingModel } from "jeopi-ai/utils/thinking-loop";
|
|
@@ -3327,6 +3328,15 @@ export class AgentSession {
|
|
|
3327
3328
|
* so live render, reload, and Ctrl+L rebuilds keep showing it; `convertToLlm`
|
|
3328
3329
|
* strips the run from the provider request (incomplete/unsigned thinking is
|
|
3329
3330
|
* rejected on resend) when this continuity message follows the assistant turn.
|
|
3331
|
+
*
|
|
3332
|
+
* The reasoning text is rendered through {@link renderDemotedThinking} (keyed
|
|
3333
|
+
* off `message.model`, the model resuming the turn in the overwhelming
|
|
3334
|
+
* majority of cases) before it reaches the template — same disguise every
|
|
3335
|
+
* other thinking-replay site in this codebase already applies before
|
|
3336
|
+
* sending a model's own prior reasoning back to it as plaintext. Raw,
|
|
3337
|
+
* undisguised reasoning wrapped in a "your unfinished internal work state"
|
|
3338
|
+
* frame is exactly the shape Anthropic's `reasoning_extraction` classifier
|
|
3339
|
+
* flags; this was the one remaining site that still shipped it undisguised.
|
|
3330
3340
|
*/
|
|
3331
3341
|
#demoteInterruptedThinkingOnUserInterrupt(
|
|
3332
3342
|
message: AssistantMessage,
|
|
@@ -3335,10 +3345,11 @@ export class AgentSession {
|
|
|
3335
3345
|
const demoted = demoteInterruptedThinking(message);
|
|
3336
3346
|
if (!demoted) return undefined;
|
|
3337
3347
|
const interruptedAt = Date.now();
|
|
3348
|
+
const disguisedReasoning = renderDemotedThinking(message.model, demoted.reasoning).trimEnd();
|
|
3338
3349
|
return {
|
|
3339
3350
|
role: "custom",
|
|
3340
3351
|
customType: INTERRUPTED_THINKING_MESSAGE_TYPE,
|
|
3341
|
-
content: prompt.render(interruptedThinkingTemplate, { reasoning:
|
|
3352
|
+
content: prompt.render(interruptedThinkingTemplate, { reasoning: disguisedReasoning }),
|
|
3342
3353
|
display: false,
|
|
3343
3354
|
details: {
|
|
3344
3355
|
interruptedAt,
|