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 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-CjKRKZVx.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-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-HyCGJhsK.js";
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
@@ -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":"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"}
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
- return {
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 ctx.get(KEY_TURNS) ?? []).length;
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 ctx.get(KEY_DATA);
676
- const turns = sanitizeTurnsForState(await ctx.get(KEY_TURNS) ?? []);
677
- const runs = sanitizeRunsForState(await ctx.get(KEY_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 ctx.get(KEY_DATA);
754
+ const prior = await loadHeader();
700
755
  const now = await ctx.date.now();
701
- ctx.set(KEY_DATA, {
756
+ writeHeader({
702
757
  ...header,
703
758
  createdAt: prior?.createdAt ?? now,
704
759
  updatedAt: now
705
760
  });
706
- ctx.set(KEY_TURNS, sanitizeTurnsForState(turns));
707
- ctx.set(KEY_RUNS, sanitizeRunsForState(runs));
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
- const existing = sanitizeTurnsForState(await ctx.get(KEY_TURNS) ?? []);
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 sanitizeTurnsForState(await ctx.get(KEY_TURNS) ?? []).slice(from, limit !== void 0 ? from + limit : void 0);
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 = sanitizeRunsForState(await ctx.get(KEY_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
- ctx.set(KEY_RUNS, next);
800
+ writeRuns(next);
743
801
  },
744
802
  async updateStatus(_sessionId, status) {
745
803
  guardSessionId(_sessionId);
746
- const header = await ctx.get(KEY_DATA);
804
+ const header = await loadHeader();
747
805
  const now = await ctx.date.now();
748
- if (header) ctx.set(KEY_DATA, {
806
+ if (header) writeHeader({
749
807
  ...header,
750
808
  status,
751
809
  updatedAt: now
752
810
  });
753
- else ctx.set(KEY_DATA, {
811
+ else writeHeader({
754
812
  id: _sessionId,
755
813
  status,
756
814
  metadata: {},