zidane 6.4.2 → 6.4.4
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/README.md +7 -5
- package/dist/{acp-Ba4OzG71.js → acp-BLO58K3F.js} +5 -5
- package/dist/{acp-Ba4OzG71.js.map → acp-BLO58K3F.js.map} +1 -1
- package/dist/acp-cli.js +6 -6
- package/dist/acp.d.ts +1 -1
- package/dist/acp.js +1 -1
- package/dist/{agent-BMJKrD84.js → agent-8sUadp5M.js} +72 -9
- package/dist/{agent-BMJKrD84.js.map → agent-8sUadp5M.js.map} +1 -1
- package/dist/agent.d.ts +1 -1
- package/dist/agent.js +2 -2
- package/dist/{anthropic-BJhMEi7x.js → anthropic-D3lkw5mv.js} +3 -3
- package/dist/{anthropic-BJhMEi7x.js.map → anthropic-D3lkw5mv.js.map} +1 -1
- package/dist/{auth-C2Hmb0tt.js → auth-BzYbbdN_.js} +95 -5
- package/dist/auth-BzYbbdN_.js.map +1 -0
- package/dist/chat/pure.d.ts +3 -3
- package/dist/chat/pure.js +1 -1
- package/dist/chat.d.ts +4 -4
- package/dist/chat.js +4 -4
- package/dist/{context-transport-CwJZxs56.js → context-transport-D29WvHcm.js} +3 -3
- package/dist/{context-transport-CwJZxs56.js.map → context-transport-D29WvHcm.js.map} +1 -1
- package/dist/contexts/daytona.d.ts +1 -1
- package/dist/contexts/e2b.d.ts +1 -1
- package/dist/eval.d.ts +1 -1
- package/dist/eval.js +1 -1
- package/dist/extensions.d.ts +1 -1
- package/dist/extensions.js +1 -1
- package/dist/headless.d.ts +1 -1
- package/dist/headless.js +3 -3
- package/dist/{index-Gy9wi80M.d.ts → index-C-Nd2ZbV.d.ts} +343 -2
- package/dist/index-C-Nd2ZbV.d.ts.map +1 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +11 -10
- package/dist/index.js.map +1 -1
- package/dist/{login-llWTV13a.js → login-CMVVnAHS.js} +2 -2
- package/dist/{login-llWTV13a.js.map → login-CMVVnAHS.js.map} +1 -1
- package/dist/{mcp-IaEpSauj.js → mcp-3GXUBwur.js} +3 -3
- package/dist/{mcp-IaEpSauj.js.map → mcp-3GXUBwur.js.map} +1 -1
- package/dist/mcp.d.ts +1 -1
- package/dist/mcp.js +1 -1
- package/dist/{messages-D1EryrDs.js → messages-C01kKGj0.js} +2 -2
- package/dist/{messages-D1EryrDs.js.map → messages-C01kKGj0.js.map} +1 -1
- package/dist/{openai-compat-0MJq4-g9.js → openai-compat-B3c_hzwf.js} +42 -2
- package/dist/openai-compat-B3c_hzwf.js.map +1 -0
- package/dist/output/stream-json.d.ts +1 -1
- package/dist/output/terminal.d.ts +1 -1
- package/dist/presets.d.ts +1 -1
- package/dist/presets.js +1 -1
- package/dist/providers/anthropic.d.ts +1 -1
- package/dist/providers/anthropic.js +1 -1
- package/dist/providers/arcee.d.ts +1 -1
- package/dist/providers/arcee.js +1 -1
- package/dist/providers/baseten.d.ts +1 -1
- package/dist/providers/baseten.js +1 -1
- package/dist/providers/cerebras.d.ts +1 -1
- package/dist/providers/cerebras.js +1 -1
- package/dist/providers/local.d.ts +1 -1
- package/dist/providers/local.js +1 -1
- package/dist/providers/openai-compat.d.ts +1 -1
- package/dist/providers/openai-compat.js +1 -1
- package/dist/providers/openai.d.ts +1 -1
- package/dist/providers/openai.js +2 -2
- package/dist/providers/openrouter.d.ts +1 -1
- package/dist/providers/openrouter.js +1 -1
- package/dist/providers/xai.d.ts +1 -1
- package/dist/providers/xai.js +1 -1
- package/dist/{providers-BSrJx0Tn.js → providers-z1vU0b2Q.js} +100 -4
- package/dist/providers-z1vU0b2Q.js.map +1 -0
- package/dist/providers.d.ts +2 -2
- package/dist/providers.js +5 -5
- package/dist/restate.d.ts +52 -2
- package/dist/restate.d.ts.map +1 -1
- package/dist/restate.js +151 -33
- package/dist/restate.js.map +1 -1
- package/dist/session/sqlite.d.ts +1 -1
- package/dist/{session-B40flcj7.js → session-cr9VdoEO.js} +2 -2
- package/dist/{session-B40flcj7.js.map → session-cr9VdoEO.js.map} +1 -1
- package/dist/session.d.ts +1 -1
- package/dist/session.js +2 -2
- package/dist/skills.d.ts +1 -1
- package/dist/{stdio-D-02FOVT.js → stdio-BvL8HGYW.js} +2 -2
- package/dist/{stdio-D-02FOVT.js.map → stdio-BvL8HGYW.js.map} +1 -1
- package/dist/{stdio-loader-Byqw5KjJ.js → stdio-loader-CjfoqBle.js} +2 -2
- package/dist/{stdio-loader-Byqw5KjJ.js.map → stdio-loader-CjfoqBle.js.map} +1 -1
- package/dist/{tool-formatters-CU0memLh.d.ts → tool-formatters-DPQjso_C.d.ts} +2 -2
- package/dist/{tool-formatters-CU0memLh.d.ts.map → tool-formatters-DPQjso_C.d.ts.map} +1 -1
- package/dist/{read-state-Dt7UbVsd.js → tool-state-DTs-3ZHH.js} +218 -2
- package/dist/tool-state-DTs-3ZHH.js.map +1 -0
- package/dist/tools/fetch-url.d.ts +1 -1
- package/dist/tools/web-search.d.ts +1 -1
- package/dist/tools.d.ts +1 -1
- package/dist/tools.js +2 -2
- package/dist/{transcript-anchors-4IdT10xC.d.ts → transcript-anchors-BCUpbNxc.d.ts} +2 -2
- package/dist/{transcript-anchors-4IdT10xC.d.ts.map → transcript-anchors-BCUpbNxc.d.ts.map} +1 -1
- package/dist/{transcript-anchors-CJ4gJn1T.js → transcript-anchors-CgDzYin1.js} +5 -5
- package/dist/{transcript-anchors-CJ4gJn1T.js.map → transcript-anchors-CgDzYin1.js.map} +1 -1
- package/dist/tui.d.ts +19 -3
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +90 -54
- package/dist/tui.js.map +1 -1
- package/dist/{turn-operations-B08dE8kH.d.ts → turn-operations-Bu2Hkinw.d.ts} +3 -3
- package/dist/{turn-operations-B08dE8kH.d.ts.map → turn-operations-Bu2Hkinw.d.ts.map} +1 -1
- package/dist/{turn-operations-CBdrdYiF.js → turn-operations-CAvi8NYt.js} +67 -2
- package/dist/{turn-operations-CBdrdYiF.js.map → turn-operations-CAvi8NYt.js.map} +1 -1
- package/dist/types.d.ts +2 -2
- package/dist/{xai-CpPbCGWO.js → xai-BPwMQSuF.js} +2 -2
- package/dist/{xai-CpPbCGWO.js.map → xai-BPwMQSuF.js.map} +1 -1
- package/docs/ARCHITECTURE.md +2 -0
- package/docs/RESTATE.md +66 -2
- package/package.json +8 -8
- package/dist/auth-C2Hmb0tt.js.map +0 -1
- package/dist/index-Gy9wi80M.d.ts.map +0 -1
- package/dist/openai-compat-0MJq4-g9.js.map +0 -1
- package/dist/providers-BSrJx0Tn.js.map +0 -1
- package/dist/read-state-Dt7UbVsd.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Bu as Owner, Gu as StreamEvent,
|
|
2
|
-
import { B as ApprovalDecision } from "./tool-formatters-
|
|
1
|
+
import { Bu as Owner, Gu as StreamEvent, Jm as TurnUsage, Lu as EditOutcome, Om as SessionTurn, bh as SkillConfig, el as CompletionProvider, ll as Command, tl as CompletionReference, zm as ToolResultContent, zu as EditPayload } from "./index-C-Nd2ZbV.js";
|
|
2
|
+
import { B as ApprovalDecision } from "./tool-formatters-DPQjso_C.js";
|
|
3
3
|
|
|
4
4
|
//#region src/chat/color-gradient.d.ts
|
|
5
5
|
/**
|
|
@@ -684,4 +684,4 @@ declare function countNeighbors(turnIds: readonly string[], turnId: string): {
|
|
|
684
684
|
} | null;
|
|
685
685
|
//#endregion
|
|
686
686
|
export { uniqueFilesFromReferences as $, buildUnifiedDiff as A, buildEditOutcomesAnnotation as B, EditSummary as C, PreviewResult as D, InlineSegment as E, previewEditPayload as F, rewriteMultiEditHeader as G, mergeApprovalAndBodyOutcomes as H, splitLines as I, SKILLS_TRIGGER as J, stripEditOutcomesAnnotation as K, summarizeEditPayload as L, computeLineDiff as M, extractEditPayload as N, applyEditPayload as O, filetypeFromPath as P, createFilesCompletionProvider as Q, tokenize as R, EditHunkSummary as S, InlineDiff as T, parseEditOutcomesFromResult as U, maskToOutcomeKinds as V, resolveApprovalForPayload as W, uniqueSkillNamesFromReferences as X, createSkillsCompletionProvider as Y, FILES_TRIGGER as Z, formatTaskSummary as _, MAX_TRANSCRIPT_EVENTS as a, CHATS_TRIGGER as at, DiffLine as b, finalizeStreamingMarkdown as c, ChatReferenceScope as ct, ageString as d, uniqueChatIdsFromReferences as dt, FileEntry as et, compactPath as f, blendHsl as ft, formatTaskStatus as g, formatDuration as h, turnAsText as i, createCommandsCompletionProvider as it, computeInlineDiff as j, buildContextualDiff as k, finalizeStreamingMarkdownForOwner as l, chatReferenceTokensFromText as lt, fmtTokens as m, deleteTurnSafely as n, listProjectFiles as nt, TRANSCRIPT_TRIM_TO_EVENTS as o, ChatReferenceData as ot, fmtCost as p, buildLinearRamp as pt, summarizeOutcomes as q, truncateTurnsAt as r, COMMANDS_TRIGGER as rt, capTranscriptEvents as s, ChatReferenceEntry as st, countNeighbors as t, ListProjectFilesOptions as tt, turnContextSize as u, createChatsCompletionProvider as ut, previewLine as v, HunkResolution as w, DiffOp as x, shortId as y, ResolvedApproval as z };
|
|
687
|
-
//# sourceMappingURL=turn-operations-
|
|
687
|
+
//# sourceMappingURL=turn-operations-Bu2Hkinw.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turn-operations-
|
|
1
|
+
{"version":3,"file":"turn-operations-Bu2Hkinw.d.ts","names":[],"sources":["../src/chat/color-gradient.ts","../src/chat/completion-chats.ts","../src/chat/completion-commands.ts","../src/chat/files-discovery.ts","../src/chat/completion-files.ts","../src/chat/completion-skills.ts","../src/chat/edit-approval.ts","../src/tools/edit-utils.ts","../src/chat/edit-diff.ts","../src/chat/format.ts","../src/chat/streaming-pure.ts","../src/chat/turn-operations.ts"],"mappings":"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"}
|
|
@@ -2158,6 +2158,71 @@ function stripFenceIndent(line, columns) {
|
|
|
2158
2158
|
while (i < columns && line[i] === " ") i++;
|
|
2159
2159
|
return line.slice(i);
|
|
2160
2160
|
}
|
|
2161
|
+
/**
|
|
2162
|
+
* Terminate a code fence left open at the end of `text`.
|
|
2163
|
+
*
|
|
2164
|
+
* A model whose run ends mid-fence (cancelled, truncated, out of tokens) leaves
|
|
2165
|
+
* an unterminated fence, and the TUI keys the fenced-code chrome off whether the
|
|
2166
|
+
* fence closed — an open one stays a bare body so streaming updates can land in
|
|
2167
|
+
* place. Closing it at finalization is what lets the `[lang] … [copy]` header
|
|
2168
|
+
* appear on a fence the model never closed.
|
|
2169
|
+
*
|
|
2170
|
+
* Returns `text` unchanged when nothing is open, which is the common case.
|
|
2171
|
+
*/
|
|
2172
|
+
function closeDanglingCodeFence(text) {
|
|
2173
|
+
const lines = text.split("\n");
|
|
2174
|
+
let fenceChar = "";
|
|
2175
|
+
let fenceLen = 0;
|
|
2176
|
+
for (const line of lines) {
|
|
2177
|
+
if (fenceChar) {
|
|
2178
|
+
if (isFenceClose(line, fenceChar, fenceLen)) {
|
|
2179
|
+
fenceChar = "";
|
|
2180
|
+
fenceLen = 0;
|
|
2181
|
+
}
|
|
2182
|
+
continue;
|
|
2183
|
+
}
|
|
2184
|
+
const open = parseFenceOpen(line);
|
|
2185
|
+
if (open) {
|
|
2186
|
+
fenceChar = open.char;
|
|
2187
|
+
fenceLen = open.length;
|
|
2188
|
+
}
|
|
2189
|
+
}
|
|
2190
|
+
if (!fenceChar) return text;
|
|
2191
|
+
return `${text.endsWith("\n") ? text : `${text}\n`}${fenceChar.repeat(fenceLen)}`;
|
|
2192
|
+
}
|
|
2193
|
+
/**
|
|
2194
|
+
* Whether a marked `code` token's raw text carries its closing fence.
|
|
2195
|
+
*
|
|
2196
|
+
* marked keeps the closing delimiter in `token.raw` only once the fence has
|
|
2197
|
+
* terminated, so this separates "still streaming the body" from "done". Callers
|
|
2198
|
+
* use it to decide whether a fenced block is safe to decorate — see the
|
|
2199
|
+
* fenced-code chrome in the TUI, which has to stay off an open fence so the
|
|
2200
|
+
* renderer can keep updating it in place.
|
|
2201
|
+
*
|
|
2202
|
+
* Indented (non-fenced) code blocks have no delimiter to wait for and report as
|
|
2203
|
+
* closed.
|
|
2204
|
+
*
|
|
2205
|
+
* Hot path: runs per code token per streamed delta, so it scans in place rather
|
|
2206
|
+
* than building a regex or trimming a copy of the whole token.
|
|
2207
|
+
*/
|
|
2208
|
+
function codeTokenHasClosingFence(raw) {
|
|
2209
|
+
const char = raw[0];
|
|
2210
|
+
if (char !== "`" && char !== "~") return true;
|
|
2211
|
+
let openLen = 0;
|
|
2212
|
+
while (raw[openLen] === char) openLen++;
|
|
2213
|
+
let end = raw.length;
|
|
2214
|
+
while (end > 0 && isSpaceOrBreak(raw[end - 1])) end--;
|
|
2215
|
+
let start = end;
|
|
2216
|
+
while (start > 0 && raw[start - 1] !== "\n") start--;
|
|
2217
|
+
if (start === 0) return false;
|
|
2218
|
+
while (start < end && (raw[start] === " " || raw[start] === " ")) start++;
|
|
2219
|
+
if (end - start < openLen) return false;
|
|
2220
|
+
for (let i = start; i < end; i++) if (raw[i] !== char) return false;
|
|
2221
|
+
return true;
|
|
2222
|
+
}
|
|
2223
|
+
function isSpaceOrBreak(ch) {
|
|
2224
|
+
return ch === "\n" || ch === "\r" || ch === " " || ch === " ";
|
|
2225
|
+
}
|
|
2161
2226
|
//#endregion
|
|
2162
2227
|
//#region src/chat/model-catalog.ts
|
|
2163
2228
|
/**
|
|
@@ -2873,6 +2938,6 @@ function countNeighbors(turnIds, turnId) {
|
|
|
2873
2938
|
};
|
|
2874
2939
|
}
|
|
2875
2940
|
//#endregion
|
|
2876
|
-
export {
|
|
2941
|
+
export { buildContextualDiff as $, createSkillsCompletionProvider as A, EDIT_TOOL_NAMES as B, chunkMarkdownForRender as C, splitMarkdownCodeBlocks as D, normalizeMarkdownCodeFences as E, COMMANDS_TRIGGER as F, isVisibleDuringSearch as G, isTurnHighlighted as H, createCommandsCompletionProvider as I, selectableTurnIds as J, promptHistoryFromEvents as K, blendHsl as L, FILES_TRIGGER as M, createFilesCompletionProvider as N, stripHtmlCommentsOutsideCode as O, uniqueFilesFromReferences as P, applyEditPayload as Q, buildLinearRamp as R, MARKDOWN_RENDER_CHUNK_TARGET_BYTES as S, codeTokenHasClosingFence as T, isUserBashEvent as U, isEditErrorResult as V, isVisible as W, streamEventSearchText as X, selectionAfterTurnRemoval as Y, turnSelectionOwnership as Z, turnContextSize as _, summarizeOutcomes as _t, TOOL_DISPLAY as a, filetypeFromPath as at, filterModelCatalog as b, createChatsCompletionProvider as bt, MAX_TRANSCRIPT_EVENTS as c, summarizeEditPayload as ct, finalizeStreamingMarkdown as d, maskToOutcomeKinds as dt, buildUnifiedDiff as et, finalizeStreamingMarkdownForOwner as f, mergeApprovalAndBodyOutcomes as ft, revealEarlierTranscriptEvents as g, stripEditOutcomesAnnotation as gt, replaceTranscriptTurnEvents as h, rewriteMultiEditHeader as ht, turnAsText as i, extractEditPayload as it, uniqueSkillNamesFromReferences as j, SKILLS_TRIGGER as k, TRANSCRIPT_TRIM_TO_EVENTS as l, tokenize as lt, ownerOf as m, resolveApprovalForPayload as mt, deleteTurnSafely as n, computeInlineDiff as nt, displayNameFor as o, previewEditPayload as ot, hiddenEarlierTranscriptCount as p, parseEditOutcomesFromResult as pt, retagUserPromptEvents as q, truncateTurnsAt as r, computeLineDiff as rt, formatToolCall as s, splitLines as st, countNeighbors as t, clipDiffForRender as tt, capTranscriptEvents as u, buildEditOutcomesAnnotation as ut, splitPromptSegments as v, CHATS_TRIGGER as vt, closeDanglingCodeFence as w, indexOfEntry as x, uniqueChatIdsFromReferences as xt, buildModelCatalog as y, chatReferenceTokensFromText as yt, BASH_CALL_ID_PREFIX as z };
|
|
2877
2942
|
|
|
2878
|
-
//# sourceMappingURL=turn-operations-
|
|
2943
|
+
//# sourceMappingURL=turn-operations-CAvi8NYt.js.map
|