zidane 5.14.1 → 5.14.3
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.d.ts +1 -1
- package/dist/chat.js +1 -1
- package/dist/restate.d.ts +27 -2
- package/dist/restate.d.ts.map +1 -1
- package/dist/restate.js +80 -22
- package/dist/restate.js.map +1 -1
- package/dist/{transcript-anchors-CjKRKZVx.d.ts → transcript-anchors-BHIgMlPq.d.ts} +2 -2
- package/dist/transcript-anchors-BHIgMlPq.d.ts.map +1 -0
- package/dist/{transcript-anchors-HyCGJhsK.js → transcript-anchors-DsoBHg43.js} +8 -1
- package/dist/transcript-anchors-DsoBHg43.js.map +1 -0
- package/dist/tui.d.ts +7 -1
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +383 -73
- package/dist/tui.js.map +1 -1
- package/docs/RESTATE.md +8 -0
- package/docs/TUI.md +1 -0
- package/package.json +1 -1
- package/dist/transcript-anchors-CjKRKZVx.d.ts.map +0 -1
- package/dist/transcript-anchors-HyCGJhsK.js.map +0 -1
package/dist/chat.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { Br as ContextMcpGroup, Fr as ContextBreakdownOptions, Hr as ContextUsag
|
|
|
2
2
|
import { B as McpCredentialEntry, V as McpCredentialStore, t as Preset } from "./index-BtzE3Uaq.js";
|
|
3
3
|
import { a as effectiveContextWindow, i as OUTPUT_RESERVE_TOKENS, n as AutoCompactDecision, o as shouldAutoCompact, r as AutoCompactInput, t as AUTO_COMPACT_MIN_GROWTH_FRACTION } from "./policy-DcGlpaNs.js";
|
|
4
4
|
import { _ as SourcedScanPath } from "./index-tSzOaWNt.js";
|
|
5
|
-
import { $ as useInteractionsQueue, $t as mergeKeybindings, A as InteractionsProvider, At as loadState, B as QuestionPayload, Bt as KEYBINDING_DEFS, C as ASK_USER_TOOL, Ct as TuiState, D as InteractionRequest, Dt as eventsFromTurns, E as CreateInteractionToolsOptions, Et as deriveSessionTitle, F as PlanRequest, Ft as titleFromTurns, G as TextQuestion, Gt as KeyBindingSection, H as QuestionResponse, Ht as KEYBINDING_KEY_COL_WIDTH, I as PlanResponse, It as toolCallPreview, J as isInteractionTool, Jt as ensureKeybindingsFile, K as buildResumedToolResultsTurn, Kt as KeyBindings, L as PlanStep, Lt as toolResultText, M as PendingInteractionEntry, Mt as saveState, N as PlanDecision, Nt as stripSpawnTokensLine, O as InteractionResponse, Ot as lastContextSizeFromTurns, P as PlanPayload, Pt as sumRunCosts, Q as useInteractionsActions, Qt as matchesBinding, R as Question, Rt as updateToolEventOutcomes, S as splitMarkdownCodeBlocks, St as StateStoreApi, T as ConfirmQuestion, Tt as createStateStore, U as QuestionType, Ut as KeyAction, V as QuestionRequest, Vt as KEYBINDING_DEF_BY_ACTION, W as SelectQuestion, Wt as KeyBindingDef, X as pendingInteractionsFromTurns, Xt as groupBindings, Y as makeRequestInteraction, Yt as formatBindingForDisplay, Z as serializeInteractionResponse, Zt as keybindingsPath, _ as SessionExportTarget, _n as DEFAULT_PERSIST_EXCLUDE_TOOLS, _t as ResolveStorageDirsOptions, a as ChipColorMap, an as EMPTY_HINTS, at as DiscoveryResult, b as writeSessionExport, bn as resolveAgentId, bt as StorageSlot, c as SyntaxTokenStyle, cn as hintsLength, ct as discoverProjectMcps, d as ThemeSelect, dn as AgentProfile, dt as ChatOptions, en as parseBindingSpec, et as EnabledAllowlistKey, f as ThemeSurfaces, fn as AgentRegistry, ft as ProviderRegistry, g as SessionExportFormat, gn as DEFAULT_BUDGET_EXCLUDE_TOOLS, gt as resolveStoragePaths, h as SessionExportAnchor, hn as DEFAULT_AGENT_ID, ht as resolveConfig, i as ChipColor, in as useCompletion, it as DiscoveryError, j as PRESENT_PLAN_TOOL, jt as marginTopFor, k as InteractionsActions, kt as listSessionMeta, l as Theme, ln as truncateTrailing, lt as parseMcpsFile, m as resolveTheme, mn as BUILTIN_AGENTS, mt as ResolvedPaths, n as computeTurnAnchors, nn as stripJsonComments, nt as useEnabledToggleSet, o as DEFAULT_THEME, on as Hint, ot as buildMcpServers, p as resolveChipColor, pn as BUILD_AGENT, pt as ResolvedConfig, q as createInteractionTools, qt as ParsedBinding, r as BUILTIN_THEMES, rn as CompletionState, rt as DiscoveredMcp, s as SyntaxStyles, sn as clipHintsToWidth, st as defaultMcpsConfigPaths, t as TranscriptItem, tn as readKeybindings, tt as EnabledToggleSet, u as ThemeColors, un as AgentAccent, ut as AutoUpdateConfig, v as renderSession, vn as PLAN_AGENT, vt as StorageDirs, w as AnswerValue, wt as compactSummaryEvent, x as MarkdownSegment, xn as singleAgentRegistry, xt as resolveStorageDirs, y as resolveSessionExportTarget, yn as accentColor, yt as StorageMode, z as QuestionChoice, zt as DEFAULT_KEYBINDINGS } from "./transcript-anchors-
|
|
5
|
+
import { $ as useInteractionsQueue, $t as mergeKeybindings, A as InteractionsProvider, At as loadState, B as QuestionPayload, Bt as KEYBINDING_DEFS, C as ASK_USER_TOOL, Ct as TuiState, D as InteractionRequest, Dt as eventsFromTurns, E as CreateInteractionToolsOptions, Et as deriveSessionTitle, F as PlanRequest, Ft as titleFromTurns, G as TextQuestion, Gt as KeyBindingSection, H as QuestionResponse, Ht as KEYBINDING_KEY_COL_WIDTH, I as PlanResponse, It as toolCallPreview, J as isInteractionTool, Jt as ensureKeybindingsFile, K as buildResumedToolResultsTurn, Kt as KeyBindings, L as PlanStep, Lt as toolResultText, M as PendingInteractionEntry, Mt as saveState, N as PlanDecision, Nt as stripSpawnTokensLine, O as InteractionResponse, Ot as lastContextSizeFromTurns, P as PlanPayload, Pt as sumRunCosts, Q as useInteractionsActions, Qt as matchesBinding, R as Question, Rt as updateToolEventOutcomes, S as splitMarkdownCodeBlocks, St as StateStoreApi, T as ConfirmQuestion, Tt as createStateStore, U as QuestionType, Ut as KeyAction, V as QuestionRequest, Vt as KEYBINDING_DEF_BY_ACTION, W as SelectQuestion, Wt as KeyBindingDef, X as pendingInteractionsFromTurns, Xt as groupBindings, Y as makeRequestInteraction, Yt as formatBindingForDisplay, Z as serializeInteractionResponse, Zt as keybindingsPath, _ as SessionExportTarget, _n as DEFAULT_PERSIST_EXCLUDE_TOOLS, _t as ResolveStorageDirsOptions, a as ChipColorMap, an as EMPTY_HINTS, at as DiscoveryResult, b as writeSessionExport, bn as resolveAgentId, bt as StorageSlot, c as SyntaxTokenStyle, cn as hintsLength, ct as discoverProjectMcps, d as ThemeSelect, dn as AgentProfile, dt as ChatOptions, en as parseBindingSpec, et as EnabledAllowlistKey, f as ThemeSurfaces, fn as AgentRegistry, ft as ProviderRegistry, g as SessionExportFormat, gn as DEFAULT_BUDGET_EXCLUDE_TOOLS, gt as resolveStoragePaths, h as SessionExportAnchor, hn as DEFAULT_AGENT_ID, ht as resolveConfig, i as ChipColor, in as useCompletion, it as DiscoveryError, j as PRESENT_PLAN_TOOL, jt as marginTopFor, k as InteractionsActions, kt as listSessionMeta, l as Theme, ln as truncateTrailing, lt as parseMcpsFile, m as resolveTheme, mn as BUILTIN_AGENTS, mt as ResolvedPaths, n as computeTurnAnchors, nn as stripJsonComments, nt as useEnabledToggleSet, o as DEFAULT_THEME, on as Hint, ot as buildMcpServers, p as resolveChipColor, pn as BUILD_AGENT, pt as ResolvedConfig, q as createInteractionTools, qt as ParsedBinding, r as BUILTIN_THEMES, rn as CompletionState, rt as DiscoveredMcp, s as SyntaxStyles, sn as clipHintsToWidth, st as defaultMcpsConfigPaths, t as TranscriptItem, tn as readKeybindings, tt as EnabledToggleSet, u as ThemeColors, un as AgentAccent, ut as AutoUpdateConfig, v as renderSession, vn as PLAN_AGENT, vt as StorageDirs, w as AnswerValue, wt as compactSummaryEvent, x as MarkdownSegment, xn as singleAgentRegistry, xt as resolveStorageDirs, y as resolveSessionExportTarget, yn as accentColor, yt as StorageMode, z as QuestionChoice, zt as DEFAULT_KEYBINDINGS } from "./transcript-anchors-BHIgMlPq.js";
|
|
6
6
|
import { $ as cerebrasDescriptor, A as SessionMeta, B as collectReferences, C as EditHunk, D as Owner, E as EditPayload, F as CompletionContext, G as ProviderKey, H as mergeReferences, I as CompletionItem, J as CustomField, K as detectAuth, L as CompletionProvider, M as StreamEvent, N as ToolCallDisplay, O as Picked, P as ActiveTrigger, Q as anthropicDescriptor, R as CompletionReference, S as EditDiffDisplay, T as EditOutcomeKind, U as AuthMethod, V as findActiveTrigger, W as ProviderAuth, X as ModelOption, Y as ModelInfo, Z as ProviderDescriptor, _ as isEditErrorResult, a as formatToolCall, at as modelOptionsFor, b as selectableTurnIds, c as splitPromptSegments, ct as openaiDescriptor, d as RequestApproval, dt as restoreModelOptions, et as credKeyOf, f as SafeModeActions, h as useSafeModeQueue, i as displayNameFor, it as localDescriptor, j as Settings, k as Screen, l as ApprovalDecision, lt as openrouterDescriptor, m as useSafeModeActions, n as ToolDisplayMeta, nt as getContextWindow, o as PromptSegment, ot as modelSupportsReasoning, p as SafeModeProvider, q as BUILTIN_PROVIDERS, r as ToolFormatLine, rt as getModelInfo, s as PromptSegmentRef, st as modelsForDescriptor, t as TOOL_DISPLAY, tt as enabledModelOptions, u as ApprovalRequest, ut as piIdOf, v as isTurnHighlighted, w as EditOutcome, x as turnSelectionOwnership, y as isVisible, z as applyInsert } from "./tool-formatters-C6iLgc9f.js";
|
|
7
7
|
import { $ as uniqueFilesFromReferences, A as buildUnifiedDiff, B as buildEditOutcomesAnnotation, C as EditSummary, D as PreviewResult, E as InlineSegment, F as previewEditPayload, G as rewriteMultiEditHeader, H as mergeApprovalAndBodyOutcomes, I as splitLines, J as SKILLS_TRIGGER, K as stripEditOutcomesAnnotation, L as summarizeEditPayload, M as computeLineDiff, N as extractEditPayload, O as applyEditPayload, P as filetypeFromPath, Q as createFilesCompletionProvider, R as tokenize, S as EditHunkSummary, T as InlineDiff, U as parseEditOutcomesFromResult, V as maskToOutcomeKinds, W as resolveApprovalForPayload, X as uniqueSkillNamesFromReferences, Y as createSkillsCompletionProvider, Z as FILES_TRIGGER, _ as formatTaskSummary, a as finalizeStreamingMarkdown, at as ChatReferenceEntry, b as DiffLine, c as CatalogEntry, ct as createChatsCompletionProvider, d as indexOfEntry, dt as buildLinearRamp, et as FileEntry, f as ageString, g as formatTaskStatus, h as formatDuration, i as turnAsText, it as ChatReferenceData, j as computeInlineDiff, k as buildContextualDiff, l as buildModelCatalog, lt as uniqueChatIdsFromReferences, m as fmtTokens, n as deleteTurnSafely, nt as listProjectFiles, o as finalizeStreamingMarkdownForOwner, ot as ChatReferenceScope, p as compactPath, q as summarizeOutcomes, r as truncateTurnsAt, rt as CHATS_TRIGGER, s as turnContextSize, st as chatReferenceTokensFromText, t as countNeighbors, tt as ListProjectFilesOptions, u as filterModelCatalog, ut as blendHsl, v as previewLine, w as HunkResolution, x as DiffOp, y as shortId, z as ResolvedApproval } from "./turn-operations-Dw02ZoSQ.js";
|
|
8
8
|
import { Hookable } from "hookable";
|
package/dist/chat.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $ as useMcpAuthDispatch, $n as COMMUNICATION_DOCTRINE, $t as KEYBINDING_DEFS, A as runOAuthLogin, An as BUILTIN_AGENTS, At as SettingsProvider, B as refreshMcpToolsCatalog, Bn as TODOWRITE_TOOL, Bt as CATPPUCCIN_FRAPPE, C as projectsFilePath, Cn as performSelfUpdate, Cr as stripSpawnTokensLine, Ct as shortChord, D as formatPathForCwd, Dn as renderAgentsMdBlock, Dr as toolResultText, Dt as SETTINGS_CATEGORIES, E as writeProjects, En as discoverAgentsMd, Er as toolCallPreview, Et as DEFAULT_SETTINGS, F as parseMcpsFile, Fn as accentColor, Ft as resolveChipColor, G as useMcpToolToggleSet, Gn as getTodosForRun, Gt as DiscoveryProvider, H as subscribeMcpToolsCache, Hn as TODO_WRITE_COUNTS_METADATA_KEY, Ht as CATPPUCCIN_MACCHIATO, I as projectUserPaths, In as resolveAgentId, It as resolveTheme, J as parentServerName, Jn as pruneTodosByRun, Jt as ConfigProvider, K as buildVisibleMcpRows, Kn as isTodoTool, Kt as useDiscovery, L as clearMcpToolsCache, Ln as singleAgentRegistry, Lt as VAPORWAVE_THEME, M as buildMcpServers, Mn as DEFAULT_BUDGET_EXCLUDE_TOOLS, Mt as useSettings, N as defaultMcpsConfigPaths, Nn as DEFAULT_PERSIST_EXCLUDE_TOOLS, Nt as BUILTIN_THEMES, O as fetchOAuthRedirect, On as findGitRoot, Or as updateToolEventOutcomes, Ot as SETTINGS_CHOICES, P as discoverProjectMcps, Pn as PLAN_AGENT, Pt as DEFAULT_THEME, Q as McpAuthProvider, Qn as ACTIONS_WITH_CARE_DOCTRINE, Qt as DEFAULT_KEYBINDINGS, R as loadMcpToolsCache, Rn as TODOREAD_TOOL, Rt as GRUVBOX_DARK, S as matchesSafelistEntry, Sn as performInPlaceSelfUpdate, St as buildHints, T as suggestSafelistEntries, Tn as chatAutoCompactBehavior, Tr as titleFromTurns, Tt as useEnabledToggleSet, U as buildToolToggle, Un as createTodoTools, Ut as CATPPUCCIN_MOCHA, V as saveMcpToolsCache, Vn as TODO_STATUS_GLYPHS, Vt as CATPPUCCIN_LATTE, W as useMcpToolToggleMap, Wn as getArchivedTodosForRun, Wt as createDiscoverySlot, X as mcpCredentialsPath, Xn as setTodosForRun, Xt as resolveConfig, Y as createFileMcpCredentialStore, Yn as selectActiveTodos, Yt as useConfig, Z as patchMcpCredential, Zn as useActiveTodos, Zt as resolveStoragePaths, _ as useSafeModeQueue, _n as checkForUpdate, _r as lastContextSizeFromTurns, _t as clipHintsToWidth, a as useSurfaces, an as keybindingsPath, ar as PLAN_MODE_DOCTRINE_NO_PROMPTS, at as ASK_USER_TOOL, b as getSafelist, bn as detectPackageManager, br as marginTopFor, bt as cleanTitle, c as useStreamBuffer, cn as parseBindingSpec, cr as buildBuildSystem, ct as buildResumedToolResultsTurn, d as discoverProjectSkills, dn as useCompletion, dr as chatReferenceTokensForPrompt, dt as makeRequestInteraction, en as KEYBINDING_DEF_BY_ACTION, er as DOING_TASKS_DOCTRINE, et as useMcpAuthState, f as renderSession, fn as tryOpenBrowser, fr as createChatTurnsReadTool, ft as pendingInteractionsFromTurns, g as useSafeModeActions, gn as useUpdateCheck, gr as eventsFromTurns, gt as EMPTY_HINTS, h as SafeModeProvider, hn as buildUpdateHint, hr as deriveSessionTitle, ht as useInteractionsQueue, i as useSelectStyle, in as groupBindings, ir as PLAN_MODE_DOCTRINE, it as splitMarkdownCodeBlocks, j as supportsOAuth, jn as DEFAULT_AGENT_ID, k as oauthUsesManualCodePaste, kn as BUILD_AGENT, kt as SETTINGS_TOGGLES, l as buildSkillsConfig, ln as readKeybindings, lr as buildPlanSystem, lt as createInteractionTools, m as writeSessionExport, mn as bootTick, mr as createStateStore, mt as useInteractionsActions, n as ThemeProvider, nn as ensureKeybindingsFile, nr as INTERACTION_GUIDANCE, nt as reduceMcpAuth, o as useSyntaxStyles, on as matchesBinding, or as SUBAGENT_GUIDANCE, ot as InteractionsProvider, p as resolveSessionExportTarget, pn as bootProfileEnabled, pr as compactSummaryEvent, pt as serializeInteractionResponse, q as indexOfServerRow, qn as pickActiveRunId, qt as useDiscoveryOptional, r as useColors, rn as formatBindingForDisplay, rr as INTERACTION_GUIDANCE_NO_PROMPTS, s as useTheme, sn as mergeKeybindings, sr as TOKEN_DISCIPLINE_DOCTRINE, st as PRESENT_PLAN_TOOL, t as computeTurnAnchors, tn as KEYBINDING_KEY_COL_WIDTH, tr as IDENTITY_PREFIX, tt as getMcpAuthStatus, u as defaultSkillScanPaths, un as stripJsonComments, ur as envSection, ut as isInteractionTool, v as IMPLICITLY_SAFE_TOOLS, vn as compareSemver, vr as listSessionMeta, vt as hintsLength, w as readProjects, wn as resolvePlatformPackage, wr as sumRunCosts, wt as listProjectFiles, x as isOnSafelist, xn as parseSemver, xr as saveState, xt as generateSessionTitle, y as addToSafelist, yn as detectLibc, yr as loadState, yt as truncateTrailing, z as mcpToolsCachePath, zn as TODOS_METADATA_KEY, zt as GRUVBOX_LIGHT } from "./transcript-anchors-
|
|
1
|
+
import { $ as useMcpAuthDispatch, $n as COMMUNICATION_DOCTRINE, $t as KEYBINDING_DEFS, A as runOAuthLogin, An as BUILTIN_AGENTS, At as SettingsProvider, B as refreshMcpToolsCatalog, Bn as TODOWRITE_TOOL, Bt as CATPPUCCIN_FRAPPE, C as projectsFilePath, Cn as performSelfUpdate, Cr as stripSpawnTokensLine, Ct as shortChord, D as formatPathForCwd, Dn as renderAgentsMdBlock, Dr as toolResultText, Dt as SETTINGS_CATEGORIES, E as writeProjects, En as discoverAgentsMd, Er as toolCallPreview, Et as DEFAULT_SETTINGS, F as parseMcpsFile, Fn as accentColor, Ft as resolveChipColor, G as useMcpToolToggleSet, Gn as getTodosForRun, Gt as DiscoveryProvider, H as subscribeMcpToolsCache, Hn as TODO_WRITE_COUNTS_METADATA_KEY, Ht as CATPPUCCIN_MACCHIATO, I as projectUserPaths, In as resolveAgentId, It as resolveTheme, J as parentServerName, Jn as pruneTodosByRun, Jt as ConfigProvider, K as buildVisibleMcpRows, Kn as isTodoTool, Kt as useDiscovery, L as clearMcpToolsCache, Ln as singleAgentRegistry, Lt as VAPORWAVE_THEME, M as buildMcpServers, Mn as DEFAULT_BUDGET_EXCLUDE_TOOLS, Mt as useSettings, N as defaultMcpsConfigPaths, Nn as DEFAULT_PERSIST_EXCLUDE_TOOLS, Nt as BUILTIN_THEMES, O as fetchOAuthRedirect, On as findGitRoot, Or as updateToolEventOutcomes, Ot as SETTINGS_CHOICES, P as discoverProjectMcps, Pn as PLAN_AGENT, Pt as DEFAULT_THEME, Q as McpAuthProvider, Qn as ACTIONS_WITH_CARE_DOCTRINE, Qt as DEFAULT_KEYBINDINGS, R as loadMcpToolsCache, Rn as TODOREAD_TOOL, Rt as GRUVBOX_DARK, S as matchesSafelistEntry, Sn as performInPlaceSelfUpdate, St as buildHints, T as suggestSafelistEntries, Tn as chatAutoCompactBehavior, Tr as titleFromTurns, Tt as useEnabledToggleSet, U as buildToolToggle, Un as createTodoTools, Ut as CATPPUCCIN_MOCHA, V as saveMcpToolsCache, Vn as TODO_STATUS_GLYPHS, Vt as CATPPUCCIN_LATTE, W as useMcpToolToggleMap, Wn as getArchivedTodosForRun, Wt as createDiscoverySlot, X as mcpCredentialsPath, Xn as setTodosForRun, Xt as resolveConfig, Y as createFileMcpCredentialStore, Yn as selectActiveTodos, Yt as useConfig, Z as patchMcpCredential, Zn as useActiveTodos, Zt as resolveStoragePaths, _ as useSafeModeQueue, _n as checkForUpdate, _r as lastContextSizeFromTurns, _t as clipHintsToWidth, a as useSurfaces, an as keybindingsPath, ar as PLAN_MODE_DOCTRINE_NO_PROMPTS, at as ASK_USER_TOOL, b as getSafelist, bn as detectPackageManager, br as marginTopFor, bt as cleanTitle, c as useStreamBuffer, cn as parseBindingSpec, cr as buildBuildSystem, ct as buildResumedToolResultsTurn, d as discoverProjectSkills, dn as useCompletion, dr as chatReferenceTokensForPrompt, dt as makeRequestInteraction, en as KEYBINDING_DEF_BY_ACTION, er as DOING_TASKS_DOCTRINE, et as useMcpAuthState, f as renderSession, fn as tryOpenBrowser, fr as createChatTurnsReadTool, ft as pendingInteractionsFromTurns, g as useSafeModeActions, gn as useUpdateCheck, gr as eventsFromTurns, gt as EMPTY_HINTS, h as SafeModeProvider, hn as buildUpdateHint, hr as deriveSessionTitle, ht as useInteractionsQueue, i as useSelectStyle, in as groupBindings, ir as PLAN_MODE_DOCTRINE, it as splitMarkdownCodeBlocks, j as supportsOAuth, jn as DEFAULT_AGENT_ID, k as oauthUsesManualCodePaste, kn as BUILD_AGENT, kt as SETTINGS_TOGGLES, l as buildSkillsConfig, ln as readKeybindings, lr as buildPlanSystem, lt as createInteractionTools, m as writeSessionExport, mn as bootTick, mr as createStateStore, mt as useInteractionsActions, n as ThemeProvider, nn as ensureKeybindingsFile, nr as INTERACTION_GUIDANCE, nt as reduceMcpAuth, o as useSyntaxStyles, on as matchesBinding, or as SUBAGENT_GUIDANCE, ot as InteractionsProvider, p as resolveSessionExportTarget, pn as bootProfileEnabled, pr as compactSummaryEvent, pt as serializeInteractionResponse, q as indexOfServerRow, qn as pickActiveRunId, qt as useDiscoveryOptional, r as useColors, rn as formatBindingForDisplay, rr as INTERACTION_GUIDANCE_NO_PROMPTS, s as useTheme, sn as mergeKeybindings, sr as TOKEN_DISCIPLINE_DOCTRINE, st as PRESENT_PLAN_TOOL, t as computeTurnAnchors, tn as KEYBINDING_KEY_COL_WIDTH, tr as IDENTITY_PREFIX, tt as getMcpAuthStatus, u as defaultSkillScanPaths, un as stripJsonComments, ur as envSection, ut as isInteractionTool, v as IMPLICITLY_SAFE_TOOLS, vn as compareSemver, vr as listSessionMeta, vt as hintsLength, w as readProjects, wn as resolvePlatformPackage, wr as sumRunCosts, wt as listProjectFiles, x as isOnSafelist, xn as parseSemver, xr as saveState, xt as generateSessionTitle, y as addToSafelist, yn as detectLibc, yr as loadState, yt as truncateTrailing, z as mcpToolsCachePath, zn as TODOS_METADATA_KEY, zt as GRUVBOX_LIGHT } from "./transcript-anchors-DsoBHg43.js";
|
|
2
2
|
import { Q as shouldAutoCompact, X as OUTPUT_RESERVE_TOKENS, Y as AUTO_COMPACT_MIN_GROWTH_FRACTION, Z as effectiveContextWindow } from "./agent-Cch2ayTt.js";
|
|
3
3
|
import { t as buildContextBreakdown } from "./context-breakdown-kO-pDsay.js";
|
|
4
4
|
import { a as formatTaskStatus, c as shortId, i as formatDuration, n as compactPath, o as formatTaskSummary, r as fmtTokens, s as previewLine, t as ageString } from "./format-BNOXpl-1.js";
|
package/dist/restate.d.ts
CHANGED
|
@@ -211,6 +211,25 @@ declare function restateAwakeableTool<T = unknown>(options: RestateAwakeableTool
|
|
|
211
211
|
declare function restateBehavior(overrides?: AgentBehavior): AgentBehavior;
|
|
212
212
|
//#endregion
|
|
213
213
|
//#region src/restate/clock.d.ts
|
|
214
|
+
interface RestateClockOptions {
|
|
215
|
+
/**
|
|
216
|
+
* Coalesce `ctx.date.now()` journaling to cut Restate suspensions.
|
|
217
|
+
*
|
|
218
|
+
* - `false` / omitted (default): every `now()` journals a fresh
|
|
219
|
+
* `ctx.date.now()` — wall-accurate, one suspension per call.
|
|
220
|
+
* - `true`: enable coalescing with the default re-anchor cadence
|
|
221
|
+
* ({@link DEFAULT_REANCHOR_EVERY}).
|
|
222
|
+
* - `{ reanchorEvery: n }`: enable coalescing and re-anchor against the
|
|
223
|
+
* real clock every `n` calls (`n` floored to a positive integer; falls
|
|
224
|
+
* back to the default otherwise).
|
|
225
|
+
*
|
|
226
|
+
* See the module docstring for the determinism guarantees and the
|
|
227
|
+
* timestamp-precision tradeoff.
|
|
228
|
+
*/
|
|
229
|
+
coalesce?: boolean | {
|
|
230
|
+
reanchorEvery?: number;
|
|
231
|
+
};
|
|
232
|
+
}
|
|
214
233
|
/**
|
|
215
234
|
* Wrap a Restate context's `date.now()` + `rand.uuidv4()` into the
|
|
216
235
|
* {@link AgentClock} shape Zidane consumes for journaled metadata.
|
|
@@ -218,8 +237,14 @@ declare function restateBehavior(overrides?: AgentBehavior): AgentBehavior;
|
|
|
218
237
|
* The returned clock is a thin live view onto `ctx` — each call hits
|
|
219
238
|
* the SDK afresh. No caching, no closure-captured values. Restate's
|
|
220
239
|
* journal handles determinism on its end.
|
|
240
|
+
*
|
|
241
|
+
* With `{ coalesce }` set, the clock instead journals a real anchor
|
|
242
|
+
* periodically and derives a monotonic logical sequence in between — see
|
|
243
|
+
* the module docstring for the suspension/precision tradeoff. Do not reuse a
|
|
244
|
+
* coalescing clock across invocations: the anchor/counter state is
|
|
245
|
+
* per-invocation.
|
|
221
246
|
*/
|
|
222
|
-
declare function restateClock(ctx: RestateContextLike): AgentClock;
|
|
247
|
+
declare function restateClock(ctx: RestateContextLike, options?: RestateClockOptions): AgentClock;
|
|
223
248
|
//#endregion
|
|
224
249
|
//#region src/restate/errors.d.ts
|
|
225
250
|
/**
|
|
@@ -818,5 +843,5 @@ declare function restateWaitBackground(options: RestateWaitBackgroundOptions): (
|
|
|
818
843
|
signal?: AbortSignal;
|
|
819
844
|
}) => Promise<TaskExitInfo | null>;
|
|
820
845
|
//#endregion
|
|
821
|
-
export { type AwakeableWithTimeoutOptions, type ReplayDoneHooks, type ReplayTracker, type ReplayTrackerOptions, type RestateAwakeable, type RestateAwakeableToolOptions, type RestateContextLike, type RestateDurableStart, type RestateDurableWait, type RestateMcpToolWrapOptions, type RestateObjectContextLike, type RestatePromiseAllLike, type RestatePromiseLike, type RestatePromiseRaceLike, type RestateProviderOptions, type RestateRunOptions, type RestateToolBatchExecutorOptions, type RestateToolOptions, type RestateWaitBackgroundOptions, awakeableWithTimeout, createReplayTracker, replayAwareAbort, restateAwakeableTool, restateBehavior, restateClock, restateMcpToolWrap, restateProvider, restateSessionStore, restateTool, restateToolBatchExecutor, restateWaitBackground, shouldRethrowRestateControlError, wrapAgentTools };
|
|
846
|
+
export { type AwakeableWithTimeoutOptions, type ReplayDoneHooks, type ReplayTracker, type ReplayTrackerOptions, type RestateAwakeable, type RestateAwakeableToolOptions, type RestateClockOptions, type RestateContextLike, type RestateDurableStart, type RestateDurableWait, type RestateMcpToolWrapOptions, type RestateObjectContextLike, type RestatePromiseAllLike, type RestatePromiseLike, type RestatePromiseRaceLike, type RestateProviderOptions, type RestateRunOptions, type RestateToolBatchExecutorOptions, type RestateToolOptions, type RestateWaitBackgroundOptions, awakeableWithTimeout, createReplayTracker, replayAwareAbort, restateAwakeableTool, restateBehavior, restateClock, restateMcpToolWrap, restateProvider, restateSessionStore, restateTool, restateToolBatchExecutor, restateWaitBackground, shouldRethrowRestateControlError, wrapAgentTools };
|
|
822
847
|
//# sourceMappingURL=restate.d.ts.map
|
package/dist/restate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restate.d.ts","names":[],"sources":["../src/restate/types.ts","../src/restate/awakeable.ts","../src/restate/awakeable-tool.ts","../src/restate/behavior.ts","../src/restate/clock.ts","../src/restate/errors.ts","../src/restate/replay.ts","../src/restate/mcp.ts","../src/restate/parallel.ts","../src/restate/provider.ts","../src/restate/session.ts","../src/restate/tool.ts","../src/restate/wait-background.ts"],"mappings":";;;;;;;;AAmBA;;;;;;;;;;;AAYO;AAUP;;UAtBiB,iBAAA;EAwBC;EAtBhB,gBAAA;EAqBA;EAnBA,gBAAA;EAoBS;EAlBT,oBAAA;EAkBkB;EAhBlB,gBAAA;EAuCe;EArCf,mBAAA;EAqCiC;EAnCjC,KAAA;AAAA;;;;;;;;UAUe,gBAAA;EACf,EAAA;EACA,OAAA,EAAS,OAAO,CAAC,CAAA;AAAA;;;;;;;;;;;;;;;;;;;;;UAuBF,kBAAA;EACf,GAAA,MACE,IAAA,UACA,EAAA,QAAU,OAAA,CAAQ,CAAA,IAAK,CAAA,EACvB,OAAA,GAAU,iBAAA,KACP,OAAA,CAAQ,CAAA;EACb,IAAA;IAAQ,GAAA,QAAW,OAAA;EAAA;EACnB,IAAA;IAAQ,MAAA;EAAA;EACR,SAAA,WAAoB,gBAAA,CAAiB,CAAA;EA0BP;;;;;;;;;;;;EAb9B,KAAA,GAAQ,MAAA,aAAmB,OAAA;AAAA;;;;;;AAcP;;UAJL,wBAAA,SAAiC,kBAAA;EAChD,GAAA;EACA,GAAA,MAAS,IAAA,aAAiB,OAAA,CAAQ,CAAA;EAClC,GAAA,MAAS,IAAA,UAAc,KAAA,EAAO,CAAA;EAC9B,KAAA,GAAQ,IAAA;AAAA;;;;;AAtEH;AAUP;;;;;UClBiB,sBAAA,kBAAwC,OAAA,YAAmB,OAAA;EAC1E,IAAA,GAAO,MAAA,WAAiB,QAAA,OAAe,OAAA;AAAA;AAAA,UAGxB,2BAAA,kBAA6C,OAAA,YAAmB,OAAA;EDgB7D;AAAA;AAuBpB;;EClCE,SAAA;EDqCoB;;;;;;;EC7BpB,QAAA,GAAW,sBAAA,CAAuB,QAAA;AAAA;;;;;;;;;;;;;;;;;iBAmBpB,oBAAA,qBAAyC,OAAA,YAAmB,OAAA,UAAA,CAC1E,GAAA,EAAK,kBAAA,EACL,OAAA,GAAS,2BAAA,CAA4B,QAAA,IACpC,gBAAA,CAAiB,CAAA;;;UC5BH,2BAAA;EFgCA;EE9Bf,IAAA;EF8BiC;EE5BjC,WAAA;EF+BY;EE7BZ,WAAA,EAAa,MAAA;EF8BD;EE5BZ,GAAA,EAAK,kBAAA;EF6BA;;;;;EEvBL,MAAA,GAAS,IAAA;IACP,WAAA;IACA,KAAA,EAAO,MAAA;IACP,OAAA,EAAS,WAAA;EAAA,aACE,OAAA;EFiBD;;;;EEZZ,QAAA,IAAY,KAAA,EAAO,CAAA,EAAG,KAAA,EAAO,MAAA,+BAAqC,iBAAA;EFahE;;;;EERF,UAAA,GAAa,iBAAA;EFUM;;;;EELnB,iBAAA;AAAA;;;;;;AFoBkC;AAUpC;;iBEnBgB,oBAAA,aAAA,CACd,OAAA,EAAS,2BAAA,CAA4B,CAAA,IACpC,OAAA;;;;;;AF7DH;;;;;;;;;;;iBGFgB,eAAA,CAAgB,SAAA,GAAW,aAAA,GAAqB,aAAa
|
|
1
|
+
{"version":3,"file":"restate.d.ts","names":[],"sources":["../src/restate/types.ts","../src/restate/awakeable.ts","../src/restate/awakeable-tool.ts","../src/restate/behavior.ts","../src/restate/clock.ts","../src/restate/errors.ts","../src/restate/replay.ts","../src/restate/mcp.ts","../src/restate/parallel.ts","../src/restate/provider.ts","../src/restate/session.ts","../src/restate/tool.ts","../src/restate/wait-background.ts"],"mappings":"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"}
|
package/dist/restate.js
CHANGED
|
@@ -127,6 +127,8 @@ function restateBehavior(overrides = {}) {
|
|
|
127
127
|
}
|
|
128
128
|
//#endregion
|
|
129
129
|
//#region src/restate/clock.ts
|
|
130
|
+
/** Default re-anchor cadence for the coalescing clock (see {@link RestateClockOptions}). */
|
|
131
|
+
const DEFAULT_REANCHOR_EVERY = 8;
|
|
130
132
|
/**
|
|
131
133
|
* Wrap a Restate context's `date.now()` + `rand.uuidv4()` into the
|
|
132
134
|
* {@link AgentClock} shape Zidane consumes for journaled metadata.
|
|
@@ -134,12 +136,38 @@ function restateBehavior(overrides = {}) {
|
|
|
134
136
|
* The returned clock is a thin live view onto `ctx` — each call hits
|
|
135
137
|
* the SDK afresh. No caching, no closure-captured values. Restate's
|
|
136
138
|
* journal handles determinism on its end.
|
|
139
|
+
*
|
|
140
|
+
* With `{ coalesce }` set, the clock instead journals a real anchor
|
|
141
|
+
* periodically and derives a monotonic logical sequence in between — see
|
|
142
|
+
* the module docstring for the suspension/precision tradeoff. Do not reuse a
|
|
143
|
+
* coalescing clock across invocations: the anchor/counter state is
|
|
144
|
+
* per-invocation.
|
|
137
145
|
*/
|
|
138
|
-
function restateClock(ctx) {
|
|
139
|
-
|
|
146
|
+
function restateClock(ctx, options = {}) {
|
|
147
|
+
const { coalesce } = options;
|
|
148
|
+
if (!coalesce) return {
|
|
140
149
|
now: () => ctx.date.now(),
|
|
141
150
|
randomUUID: () => ctx.rand.uuidv4()
|
|
142
151
|
};
|
|
152
|
+
const requested = typeof coalesce === "object" ? coalesce.reanchorEvery : void 0;
|
|
153
|
+
const reanchorEvery = typeof requested === "number" && Number.isFinite(requested) && requested >= 1 ? Math.floor(requested) : DEFAULT_REANCHOR_EVERY;
|
|
154
|
+
let anchor;
|
|
155
|
+
let callsSinceAnchor = 0;
|
|
156
|
+
let lastReturned = -1;
|
|
157
|
+
return {
|
|
158
|
+
now: async () => {
|
|
159
|
+
if (anchor === void 0 || callsSinceAnchor >= reanchorEvery) {
|
|
160
|
+
anchor = await ctx.date.now();
|
|
161
|
+
callsSinceAnchor = 0;
|
|
162
|
+
}
|
|
163
|
+
const candidate = anchor + callsSinceAnchor;
|
|
164
|
+
callsSinceAnchor += 1;
|
|
165
|
+
const value = candidate > lastReturned ? candidate : lastReturned + 1;
|
|
166
|
+
lastReturned = value;
|
|
167
|
+
return value;
|
|
168
|
+
},
|
|
169
|
+
randomUUID: () => ctx.rand.uuidv4()
|
|
170
|
+
};
|
|
143
171
|
}
|
|
144
172
|
//#endregion
|
|
145
173
|
//#region src/restate/soft-errors.ts
|
|
@@ -652,13 +680,40 @@ const KEY_RUNS = "session-runs";
|
|
|
652
680
|
function restateSessionStore(ctx) {
|
|
653
681
|
let nextTurnSeq;
|
|
654
682
|
let warnedMismatch = false;
|
|
683
|
+
let headerCache;
|
|
684
|
+
let turnsCache;
|
|
685
|
+
let runsCache;
|
|
686
|
+
async function loadHeader() {
|
|
687
|
+
if (headerCache === void 0) headerCache = await ctx.get(KEY_DATA);
|
|
688
|
+
return headerCache;
|
|
689
|
+
}
|
|
690
|
+
async function loadTurns() {
|
|
691
|
+
if (turnsCache === void 0) turnsCache = sanitizeTurnsForState(await ctx.get(KEY_TURNS) ?? []);
|
|
692
|
+
return turnsCache;
|
|
693
|
+
}
|
|
694
|
+
async function loadRuns() {
|
|
695
|
+
if (runsCache === void 0) runsCache = sanitizeRunsForState(await ctx.get(KEY_RUNS) ?? []);
|
|
696
|
+
return runsCache;
|
|
697
|
+
}
|
|
698
|
+
function writeHeader(header) {
|
|
699
|
+
headerCache = header;
|
|
700
|
+
ctx.set(KEY_DATA, header);
|
|
701
|
+
}
|
|
702
|
+
function writeTurns(turns) {
|
|
703
|
+
turnsCache = turns;
|
|
704
|
+
ctx.set(KEY_TURNS, turns);
|
|
705
|
+
}
|
|
706
|
+
function writeRuns(runs) {
|
|
707
|
+
runsCache = runs;
|
|
708
|
+
ctx.set(KEY_RUNS, runs);
|
|
709
|
+
}
|
|
655
710
|
function guardSessionId(sessionId) {
|
|
656
711
|
if (warnedMismatch || sessionId === ctx.key) return;
|
|
657
712
|
warnedMismatch = true;
|
|
658
713
|
process.stderr.write(`[zidane/restate] restateSessionStore: sessionId "${sessionId}" != bound object key "${ctx.key}". This store ignores the sessionId and operates on the bound object — pass createSession({ id: ctx.key }) to silence this.\n`);
|
|
659
714
|
}
|
|
660
715
|
async function generateTurnId() {
|
|
661
|
-
if (nextTurnSeq === void 0) nextTurnSeq = (await
|
|
716
|
+
if (nextTurnSeq === void 0) nextTurnSeq = (await loadTurns()).length;
|
|
662
717
|
nextTurnSeq += 1;
|
|
663
718
|
return `turn_${nextTurnSeq}`;
|
|
664
719
|
}
|
|
@@ -672,15 +727,15 @@ function restateSessionStore(ctx) {
|
|
|
672
727
|
generateTurnId,
|
|
673
728
|
async load(_sessionId) {
|
|
674
729
|
guardSessionId(_sessionId);
|
|
675
|
-
const header = await
|
|
676
|
-
const turns =
|
|
677
|
-
const runs =
|
|
730
|
+
const header = await loadHeader();
|
|
731
|
+
const turns = await loadTurns();
|
|
732
|
+
const runs = await loadRuns();
|
|
678
733
|
if (!header) {
|
|
679
734
|
if (turns.length === 0 && runs.length === 0) return null;
|
|
680
735
|
return {
|
|
681
736
|
id: _sessionId,
|
|
682
|
-
turns,
|
|
683
|
-
runs,
|
|
737
|
+
turns: [...turns],
|
|
738
|
+
runs: [...runs],
|
|
684
739
|
status: inferStatus(runs),
|
|
685
740
|
metadata: {},
|
|
686
741
|
createdAt: inferCreatedAt(turns, runs),
|
|
@@ -689,28 +744,32 @@ function restateSessionStore(ctx) {
|
|
|
689
744
|
}
|
|
690
745
|
return {
|
|
691
746
|
...header,
|
|
692
|
-
turns,
|
|
693
|
-
runs
|
|
747
|
+
turns: [...turns],
|
|
748
|
+
runs: [...runs]
|
|
694
749
|
};
|
|
695
750
|
},
|
|
696
751
|
async save(session) {
|
|
697
752
|
guardSessionId(session.id);
|
|
698
753
|
const { turns, runs, ...header } = session;
|
|
699
|
-
const prior = await
|
|
754
|
+
const prior = await loadHeader();
|
|
700
755
|
const now = await ctx.date.now();
|
|
701
|
-
|
|
756
|
+
writeHeader({
|
|
702
757
|
...header,
|
|
703
758
|
createdAt: prior?.createdAt ?? now,
|
|
704
759
|
updatedAt: now
|
|
705
760
|
});
|
|
706
|
-
|
|
707
|
-
|
|
761
|
+
writeTurns(sanitizeTurnsForState(turns));
|
|
762
|
+
writeRuns(sanitizeRunsForState(runs));
|
|
708
763
|
},
|
|
709
764
|
async delete(_sessionId) {
|
|
710
765
|
guardSessionId(_sessionId);
|
|
711
766
|
ctx.clear(KEY_DATA);
|
|
712
767
|
ctx.clear(KEY_TURNS);
|
|
713
768
|
ctx.clear(KEY_RUNS);
|
|
769
|
+
headerCache = null;
|
|
770
|
+
turnsCache = [];
|
|
771
|
+
runsCache = [];
|
|
772
|
+
nextTurnSeq = void 0;
|
|
714
773
|
},
|
|
715
774
|
/**
|
|
716
775
|
* Always empty — virtual objects don't support cross-key
|
|
@@ -722,16 +781,15 @@ function restateSessionStore(ctx) {
|
|
|
722
781
|
},
|
|
723
782
|
async appendTurns(_sessionId, turns) {
|
|
724
783
|
guardSessionId(_sessionId);
|
|
725
|
-
|
|
726
|
-
ctx.set(KEY_TURNS, [...existing, ...sanitizeTurnsForState(turns)]);
|
|
784
|
+
writeTurns([...await loadTurns(), ...sanitizeTurnsForState(turns)]);
|
|
727
785
|
},
|
|
728
786
|
async getTurns(_sessionId, from = 0, limit) {
|
|
729
787
|
guardSessionId(_sessionId);
|
|
730
|
-
return
|
|
788
|
+
return (await loadTurns()).slice(from, limit !== void 0 ? from + limit : void 0);
|
|
731
789
|
},
|
|
732
790
|
async updateRun(_sessionId, run) {
|
|
733
791
|
guardSessionId(_sessionId);
|
|
734
|
-
const runs =
|
|
792
|
+
const runs = await loadRuns();
|
|
735
793
|
const idx = runs.findIndex((r) => r.id === run.id);
|
|
736
794
|
const next = [...runs];
|
|
737
795
|
if (idx >= 0) next[idx] = {
|
|
@@ -739,18 +797,18 @@ function restateSessionStore(ctx) {
|
|
|
739
797
|
startedAt: runs[idx].startedAt
|
|
740
798
|
};
|
|
741
799
|
else next.push(sanitizeRunForState(run));
|
|
742
|
-
|
|
800
|
+
writeRuns(next);
|
|
743
801
|
},
|
|
744
802
|
async updateStatus(_sessionId, status) {
|
|
745
803
|
guardSessionId(_sessionId);
|
|
746
|
-
const header = await
|
|
804
|
+
const header = await loadHeader();
|
|
747
805
|
const now = await ctx.date.now();
|
|
748
|
-
if (header)
|
|
806
|
+
if (header) writeHeader({
|
|
749
807
|
...header,
|
|
750
808
|
status,
|
|
751
809
|
updatedAt: now
|
|
752
810
|
});
|
|
753
|
-
else
|
|
811
|
+
else writeHeader({
|
|
754
812
|
id: _sessionId,
|
|
755
813
|
status,
|
|
756
814
|
metadata: {},
|