@vincemakes/kiso-code 0.16.5 → 0.16.7
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/dist/chat.js +20 -8
- package/dist/index.js +6 -1
- package/package.json +14 -14
package/dist/chat.js
CHANGED
|
@@ -508,10 +508,10 @@ submitTurn) {
|
|
|
508
508
|
let prevTotal = null;
|
|
509
509
|
let missed = null;
|
|
510
510
|
// v3 §02: the recap line derives ENTIRELY from the local event stream
|
|
511
|
-
// (zero tokens)
|
|
511
|
+
// (zero tokens). R3g: what it derives is the turn's COST — wall
|
|
512
|
+
// seconds, usage, ctx left. The turn's WORK is the fold line's, said
|
|
513
|
+
// once, where the work happened.
|
|
512
514
|
const turnStart = Date.now();
|
|
513
|
-
let toolCount = 0;
|
|
514
|
-
let editCount = 0;
|
|
515
515
|
// W14: the thinking event carries NO timestamp — the CLI wall-clocks
|
|
516
516
|
// the thinking window: it opens at the first thinking event and closes
|
|
517
517
|
// at the first non-thinking event (the fold needs the seconds).
|
|
@@ -561,9 +561,6 @@ submitTurn) {
|
|
|
561
561
|
body.thinkingAppend(ev.text);
|
|
562
562
|
break;
|
|
563
563
|
case "tool_call_end":
|
|
564
|
-
toolCount += 1;
|
|
565
|
-
if (ev.name === "edit_file")
|
|
566
|
-
editCount += 1;
|
|
567
564
|
body.toolStart(ev.name, ev.callId, ev.input ?? {});
|
|
568
565
|
// TUI2-R1 (C): the command is the sidecar key's other half —
|
|
569
566
|
// remembered here, used when the execution actually starts.
|
|
@@ -762,6 +759,14 @@ submitTurn) {
|
|
|
762
759
|
// honest notice rides after the partial answer, before the
|
|
763
760
|
// recap (the truncation-guard philosophy: the cut is visible
|
|
764
761
|
// in the scrollback, the model's own text intact).
|
|
762
|
+
// R3d: the TURN LIMIT is named. `max_turns` was the one
|
|
763
|
+
// terminal outcome that ended a run without saying so — the
|
|
764
|
+
// session simply stopped, mid-task, and read as a hang. A
|
|
765
|
+
// guardrail that fires silently is indistinguishable from a
|
|
766
|
+
// crash, which is the one thing this product must never be.
|
|
767
|
+
if (ev.outcome.kind === "max_turns") {
|
|
768
|
+
body.notice(`stopped at the ${ev.outcome.turns}-turn limit — the work is durable; say "continue" to carry on`);
|
|
769
|
+
}
|
|
765
770
|
if (ev.outcome.kind === "max_tokens") {
|
|
766
771
|
// R2 (law 1.1): the notice was wearing a box corner. A notice
|
|
767
772
|
// is a sentence addressed to a human; it needs no edge.
|
|
@@ -769,8 +774,15 @@ submitTurn) {
|
|
|
769
774
|
}
|
|
770
775
|
bodyLog(renderRecap({
|
|
771
776
|
seconds: Math.round((Date.now() - turnStart) / 1000),
|
|
772
|
-
|
|
773
|
-
|
|
777
|
+
// R3g: the work terms are NOT passed — the fold line
|
|
778
|
+
// says what the turn did, once, where it happened and
|
|
779
|
+
// with the key that reopens it. This row is the turn's
|
|
780
|
+
// cost: how long it took and what it spent.
|
|
781
|
+
// R3g: `?? 80` is NOT enough — a PTY opened without a
|
|
782
|
+
// winsize reports 0 columns, and 0 is not nullish, so
|
|
783
|
+
// the recap cut itself down to one character. A width
|
|
784
|
+
// that is not a positive number is not a width.
|
|
785
|
+
width: process.stdout.columns > 0 ? process.stdout.columns : 80,
|
|
774
786
|
usage,
|
|
775
787
|
// R-C item 4: only an above-floor miss is surfaced —
|
|
776
788
|
// the recap gains "· miss N" on the cache segment.
|
package/dist/index.js
CHANGED
|
@@ -518,7 +518,12 @@ async function makeAgent(sessionId, input, modelFlag) {
|
|
|
518
518
|
microcompact: { thresholdTokens: contextWindowTokens() / 2 },
|
|
519
519
|
// E6: the run-start context policy — OFF unless env-armed (beats the microcompact default when both fire).
|
|
520
520
|
...(contextPolicy !== undefined ? { contextPolicy } : {}),
|
|
521
|
-
|
|
521
|
+
// R3e (owner ruling, 2026-08-28): NO turn limit on an interactive
|
|
522
|
+
// session. This was `maxTurns: 20`, hardcoded on 2026-08-03 with no
|
|
523
|
+
// stated reason and no way to change it — and it was the thing that
|
|
524
|
+
// stopped a real 43-call session dead, mid-task, in silence. The
|
|
525
|
+
// field survives for the callers that want a bound (subagents, the
|
|
526
|
+
// SDK, `kiso run`); the interactive front door does not set one.
|
|
522
527
|
// Modes: the five tiers join at the CHAIN HEAD, before the user/
|
|
523
528
|
// project extensions (the deny>ask>allow composition keeps a user
|
|
524
529
|
// deny winning over any mode tier — bypass included).
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vincemakes/kiso-code",
|
|
3
|
-
"version": "0.16.
|
|
3
|
+
"version": "0.16.7",
|
|
4
4
|
"description": "kiso CLI — the durable coding agent that survives kill -9: kiso chat / kiso resume / kiso sessions.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -18,19 +18,19 @@
|
|
|
18
18
|
"test": "vitest run"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@vincemakes/kiso-ask-ext": "0.16.
|
|
22
|
-
"@vincemakes/kiso-core": "0.16.
|
|
23
|
-
"@vincemakes/kiso-evals": "0.16.
|
|
24
|
-
"@vincemakes/kiso-mcp-ext": "0.16.
|
|
25
|
-
"@vincemakes/kiso-provider-anthropic": "0.16.
|
|
26
|
-
"@vincemakes/kiso-provider-openai": "0.16.
|
|
27
|
-
"@vincemakes/kiso-runtime": "0.16.
|
|
28
|
-
"@vincemakes/kiso-skills-ext": "0.16.
|
|
29
|
-
"@vincemakes/kiso-subagent-ext": "0.16.
|
|
30
|
-
"@vincemakes/kiso-task-ext": "0.16.
|
|
31
|
-
"@vincemakes/kiso-tools-node": "0.16.
|
|
32
|
-
"@vincemakes/kiso-tui": "0.16.
|
|
33
|
-
"@vincemakes/kiso-tui-cells": "0.16.
|
|
21
|
+
"@vincemakes/kiso-ask-ext": "0.16.7",
|
|
22
|
+
"@vincemakes/kiso-core": "0.16.7",
|
|
23
|
+
"@vincemakes/kiso-evals": "0.16.7",
|
|
24
|
+
"@vincemakes/kiso-mcp-ext": "0.16.7",
|
|
25
|
+
"@vincemakes/kiso-provider-anthropic": "0.16.7",
|
|
26
|
+
"@vincemakes/kiso-provider-openai": "0.16.7",
|
|
27
|
+
"@vincemakes/kiso-runtime": "0.16.7",
|
|
28
|
+
"@vincemakes/kiso-skills-ext": "0.16.7",
|
|
29
|
+
"@vincemakes/kiso-subagent-ext": "0.16.7",
|
|
30
|
+
"@vincemakes/kiso-task-ext": "0.16.7",
|
|
31
|
+
"@vincemakes/kiso-tools-node": "0.16.7",
|
|
32
|
+
"@vincemakes/kiso-tui": "0.16.7",
|
|
33
|
+
"@vincemakes/kiso-tui-cells": "0.16.7"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@types/node": "^26.1.2",
|