@kodax-ai/kodax 0.7.96 → 0.7.97-alpha.2

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.
Files changed (127) hide show
  1. package/CHANGELOG.md +86 -0
  2. package/README.md +85 -62
  3. package/README_CN.md +57 -67
  4. package/config-templates/config.example.jsonc +0 -14
  5. package/dist/chunks/{agent-7N427EVB.js → agent-J7SHFM5N.js} +1 -1
  6. package/dist/chunks/argument-completer-ZJQOWTIS.js +2 -0
  7. package/dist/chunks/{chunk-ABZDFK2X.js → chunk-2GV6MQ4T.js} +14 -14
  8. package/dist/chunks/{chunk-6QI3GOYG.js → chunk-3PS3YEDS.js} +1 -1
  9. package/dist/chunks/chunk-4VJMQDTH.js +417 -0
  10. package/dist/chunks/{chunk-NI7PBPUR.js → chunk-5DSUVP46.js} +1 -1
  11. package/dist/chunks/chunk-5P7RTSZT.js +21 -0
  12. package/dist/chunks/{chunk-XXNR6S4Q.js → chunk-6ZAQKFIM.js} +1 -1
  13. package/dist/chunks/chunk-7V2QBZ73.js +137 -0
  14. package/dist/chunks/{chunk-C7U542KM.js → chunk-F7DHZH6T.js} +1 -1
  15. package/dist/chunks/{chunk-7IMWOR34.js → chunk-HSRYDDPF.js} +1 -1
  16. package/dist/chunks/chunk-K3DQGSQU.js +372 -0
  17. package/dist/chunks/chunk-NO23K2CB.js +2 -0
  18. package/dist/chunks/{chunk-NKT3B3DR.js → chunk-OT5WHAX4.js} +1 -1
  19. package/dist/chunks/{chunk-YEAUDI6U.js → chunk-QGWHJIO4.js} +1 -1
  20. package/dist/chunks/chunk-QOFFAY5C.js +261 -0
  21. package/dist/chunks/{chunk-4PFZ7BEE.js → chunk-QVDTORL3.js} +11 -11
  22. package/dist/chunks/chunk-QZ4B4AWG.js +473 -0
  23. package/dist/chunks/chunk-RXDS6CNA.js +355 -0
  24. package/dist/chunks/{chunk-WV3DJVW4.js → chunk-VDGPJQL7.js} +135 -135
  25. package/dist/chunks/chunk-VEZ4WHPN.js +641 -0
  26. package/dist/chunks/chunk-ZPPAT25E.js +5 -0
  27. package/dist/chunks/chunk-ZQYWDI4O.js +1 -0
  28. package/dist/chunks/chunk-ZS2GUADU.js +498 -0
  29. package/dist/chunks/{chunk-GN2IY5YE.js → chunk-ZTYZYXGV.js} +1 -1
  30. package/dist/chunks/{chunk-EM4XJBTK.js → chunk-ZZQ4GDVU.js} +1 -1
  31. package/dist/chunks/{client-6WZZTTSV.js → client-MXOJ5XUN.js} +1 -1
  32. package/dist/chunks/{compaction-config-ZMEJU4U7.js → compaction-config-5VZSGKBQ.js} +1 -1
  33. package/dist/chunks/{construction-bootstrap-RX4DMHI7.js → construction-bootstrap-U2ZU2WAT.js} +1 -1
  34. package/dist/chunks/dist-CSLNWLOE.js +2 -0
  35. package/dist/chunks/dist-XXMJMJDU.js +2 -0
  36. package/dist/chunks/host-RUXYZFYN.js +2 -0
  37. package/dist/chunks/readline-helpers-JCVULR4C.js +2 -0
  38. package/dist/chunks/run-manager-DRIM5VNE.js +2 -0
  39. package/dist/chunks/utils-MQEBGKIX.js +2 -0
  40. package/dist/index.d.ts +63 -30
  41. package/dist/index.js +10 -6
  42. package/dist/kodax_bootstrap.js +1 -1
  43. package/dist/kodax_cli.js +1745 -1734
  44. package/dist/kodax_resume.js +32 -35
  45. package/dist/native/win32-x64/kodax-windows-sandbox.exe +0 -0
  46. package/dist/native/win32-x64/kodax-windows-text-transaction.node +0 -0
  47. package/dist/native/win32-x64/manifest.json +2 -2
  48. package/dist/sandbox-network-broker.js +77 -77
  49. package/dist/sdk-a2a.d.ts +33 -18
  50. package/dist/sdk-a2a.js +8 -9
  51. package/dist/sdk-agent.d.ts +33 -26
  52. package/dist/sdk-agent.js +1 -1
  53. package/dist/sdk-client.d.ts +40 -0
  54. package/dist/sdk-client.js +2 -0
  55. package/dist/sdk-coding.d.ts +87 -499
  56. package/dist/sdk-coding.js +1 -1
  57. package/dist/sdk-experimental-memory.d.ts +3 -4
  58. package/dist/sdk-experimental-memory.js +1 -1
  59. package/dist/sdk-llm.d.ts +11 -9
  60. package/dist/sdk-llm.js +1 -1
  61. package/dist/sdk-mcp.d.ts +3 -3
  62. package/dist/sdk-mcp.js +1 -1
  63. package/dist/sdk-media.d.ts +3 -1
  64. package/dist/sdk-media.js +1 -1
  65. package/dist/sdk-repl.d.ts +317 -70
  66. package/dist/sdk-repl.js +2 -2
  67. package/dist/sdk-runtime.d.ts +580 -452
  68. package/dist/sdk-runtime.js +1 -1
  69. package/dist/sdk-sandbox.js +1 -1
  70. package/dist/sdk-session.d.ts +13 -9
  71. package/dist/sdk-session.js +1 -1
  72. package/dist/sdk-skills.js +1 -1
  73. package/dist/semantic-worker.js +57 -57
  74. package/dist/types-chunks/{base.d-Bt9lhwSV.d.ts → base.d-ZBOdjDUT.d.ts} +2 -1
  75. package/dist/types-chunks/{bash-prefix-extractor.d-DWFIMg0v.d.ts → bash-prefix-extractor.d-DvswAXKS.d.ts} +136 -66
  76. package/dist/types-chunks/{capability-learning.d-gRtO03f6.d.ts → capability-learning.d-B4pxKwP4.d.ts} +1 -1
  77. package/dist/types-chunks/{capability.d-Ch5Vos33.d.ts → capability.d-DOF3r0fJ.d.ts} +1 -1
  78. package/dist/types-chunks/{capsule.d-Dj1n6s0Y.d.ts → capsule.d-B4atvlxE.d.ts} +7 -19
  79. package/dist/types-chunks/client-contract-A1jdk6xz.d.ts +1993 -0
  80. package/dist/types-chunks/{controller.d-C0IM1Tud.d.ts → controller.d-BkUJ_3sl.d.ts} +1 -1
  81. package/dist/types-chunks/{controller.d-J2t1q8Ly.d.ts → controller.d-yyKajPTi.d.ts} +140 -1380
  82. package/dist/types-chunks/{cost-tracker.d-BWI4lFWn.d.ts → cost-tracker.d-BeaenODW.d.ts} +2 -47
  83. package/dist/types-chunks/{history-retrieval.d-CPN5PMBV.d.ts → history-retrieval.d-JdFfkeF3.d.ts} +2 -2
  84. package/dist/types-chunks/{manager.d-rtmywU9M.d.ts → manager.d-C_20XqCV.d.ts} +8 -1
  85. package/dist/types-chunks/manifest.d-Bw2i-zQi.d.ts +18 -0
  86. package/dist/types-chunks/provider-credential-context.d-BH2OaB1b.d.ts +47 -0
  87. package/dist/types-chunks/provider-request-observation.d-jL8T6wVO.d.ts +34 -0
  88. package/dist/types-chunks/{public-api.d-amBop8Nk.d.ts → public-api.d-Cq8ILMte.d.ts} +52 -13
  89. package/dist/types-chunks/{resolver.d-BrwLoWNr.d.ts → resolver.d-DLY01RHx.d.ts} +4 -2
  90. package/dist/types-chunks/{types.d-CSv0_cZC.d.ts → review-inbox.d-BeaLRNHx.d.ts} +251 -3
  91. package/dist/types-chunks/{shell-command-sets.d-oejwpP_7.d.ts → review-packet.d-D4bbTbq3.d.ts} +46 -3
  92. package/dist/types-chunks/{exec-policy.d-BPESl90L.d.ts → run-manager.d-C7Q71rin.d.ts} +385 -62
  93. package/dist/types-chunks/runtime-client-info-CxnlZlW5.d.ts +175 -0
  94. package/dist/types-chunks/{sdk-session-B6XjHNU1.d.ts → sdk-session-BDFjCpDn.d.ts} +12 -4
  95. package/dist/types-chunks/{side-query.d-DHWG1JZg.d.ts → side-query.d-DTrhVd_r.d.ts} +4 -3
  96. package/dist/types-chunks/trusted-repl-entry-vbUM8R6P.d.ts +445 -0
  97. package/dist/types-chunks/{types.d-CtO8mR1s.d.ts → types.d-BJTN-RZr.d.ts} +5 -5
  98. package/dist/types-chunks/{types.d-BrQMB-hy.d.ts → types.d-BjOq57-z.d.ts} +6 -0
  99. package/dist/types-chunks/types.d-o7t9dds4.d.ts +1484 -0
  100. package/dist/types-chunks/{utils.d-DcznBeQ3.d.ts → utils.d-CWiMhFfu.d.ts} +202 -36
  101. package/docs/CLIENT_CONTRACT.md +441 -0
  102. package/docs/SDK_MIGRATION.md +123 -0
  103. package/docs/SPACE_SDK_SEAMS.md +139 -0
  104. package/package.json +10 -5
  105. package/public_docs/README.md +12 -133
  106. package/public_docs/configuration/config-files.md +8 -14
  107. package/public_docs/sdk/embedder-guide.md +494 -420
  108. package/dist/chunks/argument-completer-FAIHW7HZ.js +0 -2
  109. package/dist/chunks/chunk-66XN5AFU.js +0 -417
  110. package/dist/chunks/chunk-7O2AIFNE.js +0 -373
  111. package/dist/chunks/chunk-DSXUXUZG.js +0 -5
  112. package/dist/chunks/chunk-GYO73UYQ.js +0 -275
  113. package/dist/chunks/chunk-HPCS3LZ5.js +0 -324
  114. package/dist/chunks/chunk-HZYRLIOC.js +0 -137
  115. package/dist/chunks/chunk-SC2ELSUS.js +0 -675
  116. package/dist/chunks/chunk-TEUD5VPJ.js +0 -471
  117. package/dist/chunks/chunk-TYZ2ZAYL.js +0 -487
  118. package/dist/chunks/dist-3UCCMCYR.js +0 -2
  119. package/dist/chunks/dist-F5IWZSAY.js +0 -2
  120. package/dist/chunks/host-W2JJ3V3Q.js +0 -2
  121. package/dist/chunks/run-manager-RBWU3EVE.js +0 -2
  122. package/dist/chunks/utils-DJ4ZFJGL.js +0 -2
  123. package/dist/runtime-worker.js +0 -5381
  124. package/dist/types-chunks/review-inbox.d-CTeUIKda.d.ts +0 -225
  125. package/dist/types-chunks/run-manager.d-hm1XgEou.d.ts +0 -94
  126. package/dist/types-chunks/trusted-repl-entry-D0w5M0UZ.d.ts +0 -323
  127. package/dist/types-chunks/types.d-B1l9pWyX.d.ts +0 -146
@@ -1,31 +1,116 @@
1
- export { B as BUILTIN_COMMANDS, C as Command, I as InkREPLOptions, a as InkRuntimeRunner, b as InkRuntimeRunnerInput, c as InkRuntimeStatusProvider, d as InkTransientNotice, R as RUNTIME_PERMISSION_PENDING_NOTICE, e as RepLOptions, f as ReplRuntimeAutoModeControl, g as ReplRuntimeAutoModeSettings, h as ReplRuntimePermissionDecision, i as ReplRuntimePermissionGrantSuggestion, j as ReplRuntimePermissionPrompt, k as ReplRuntimePermissionRequest, l as ReplRuntimeRunner, m as ReplRuntimeRunnerInput, n as ReplRuntimeStatusProvider, o as RuntimeStopCallbacks, p as RuntimeStopControl, S as ShellExecutorConfig, q as StandaloneExecPolicyOptions, r as executeCommand, s as executeShellCommand, t as getCommandRegistry, u as isShellCommand, v as isShellCommandSuccess, w as parseCommand, x as processSpecialSyntax, y as runInkInteractiveMode, z as runInteractiveMode, A as toReplRuntimeAutoModeSettings } from './types-chunks/trusted-repl-entry-D0w5M0UZ.js';
1
+ import { bz as ProviderRecoveryEvent, K as KodaXActivityEventMeta, a3 as KodaXManagedTaskStatusEvent, V as KodaXEvents, w as KodaXAgentMode, aa as KodaXOptions, at as KodaXResult } from './types-chunks/bash-prefix-extractor.d-DvswAXKS.js';
2
+ import { u as HistoryItemInfo, j as CreatableHistoryItem, o as HistoryItem, A as AppProps, Q as Message, ay as UIState, av as ToolCall, ax as UIActions, K as KeyInfo, G as KeypressHandler, an as StreamingState, X as PromptEditingMode, I as InputPromptProps, am as StatusBarProps, as as Theme, aw as ToolCallStatus, ao as Suggestion, az as UseTextBufferReturn, H as HistoryEntry, S as PastedContent, U as PermissionMode, h as ConfirmResult } from './types-chunks/public-api.d-Cq8ILMte.js';
3
+ export { a as AppState, b as AppendClientNoticeOptions, C as CANONICAL_PERMISSION_MODES, c as CanonicalPermissionMode, d as CompactSessionOptions, e as CompactSessionResult, f as Completer, g as Completion, i as ConversationPageCacheCapacityError, k as CursorPosition, D as DEFAULT_UI_STATE, l as DeleteSessionResult, F as FileSessionStorage, m as ForkSessionOptions, n as FullTranscriptSessionData, p as HistoryItemAssistant, q as HistoryItemBase, r as HistoryItemError, s as HistoryItemEvent, t as HistoryItemHint, v as HistoryItemSidecar, w as HistoryItemSystem, x as HistoryItemThinking, y as HistoryItemToolGroup, z as HistoryItemType, B as HistoryItemUser, E as KeypressEvent, J as KeypressHandlerPriority, L as LearningBinding, M as LearningSurfaceSnapshot, N as LegacyMessageListProps, O as ListSessionsOptions, P as MemorySessionStorage, R as PERMISSION_MODES, T as PermissionContext, V as PreparedSessionAppendBaseline, W as PreparedSessionTailDelta, Y as PromptSubmitPayload, Z as RewindSessionOptions, _ as RunningSessionInfo, $ as SessionBundleExportDiagnostic, a0 as SessionBundleExportFile, a1 as SessionBundleExportOptions, a2 as SessionBundleExportResult, a3 as SessionBundleExportStatus, a4 as SessionConfirmedIdentityRepairData, a5 as SessionConversationHistoryData, a6 as SessionConversationHistoryEntry, a7 as SessionConversationHistoryIssue, a8 as SessionConversationHistoryIssueCode, a9 as SessionConversationHistoryStatus, aa as SessionConversationMutationBoundary, ab as SessionData, ac as SessionIdentityRepairInput, ad as SessionManager, ae as SessionReadCapture, af as SessionReadError, ag as SessionReadErrorCode, ah as SessionReadOptions, ai as SessionStorage, aj as SessionSummary, ak as SessionTranscriptEntry, al as SessionTranscriptEntryType, ap as TOOL_STATUS_ICONS, aq as TextBuffer, ar as TextBufferOptions, at as ThemeColors, au as ThemeSymbols, aA as VisualCursor, aB as VisualLayout, aC as WatchSessionsCallback, aD as appendClientNotice, aE as archiveSession, aF as canonicalizePermissionMode, aG as compactSession, aH as computeConfirmTools, aI as conversationHistoryFromCapture, aJ as createConversationEntryChain, aK as createMemorySessionStorage, aL as createSessionConversationHistoryRevision, aM as createSessionManager, aN as deleteSession, aO as emptyConversationEntryChain, aP as exportSessionBundle, aQ as extendConversationEntryChain, aR as forkSession, aS as isPermissionMode, aT as listRunningSessions, aU as listSessions, aV as loadFullTranscript, aW as loadSession, aX as normalizePermissionMode, aY as permissionModeDisplayName, aZ as readConversationHistory, a_ as readFullTranscript, a$ as readSessionCapture, b0 as rewindSession, b1 as setActiveEntry, b2 as unarchiveSession, b3 as watchSessions } from './types-chunks/public-api.d-Cq8ILMte.js';
4
+ import { b4 as WorkflowEvent } from './types-chunks/types.d-o7t9dds4.js';
5
+ export { H as HistorySeedSourceMessage, R as RestoreHistoryItemsFromSessionInput, a as RestoredHistorySeed, e as extractHistorySeedsFromMessage, b as extractHistorySeedsFromMessages, c as extractTextContent, d as extractTitle, f as formatMessagePreview, r as restoreHistoryItemsFromSession, s as seedToHistoryItem, t as toolCallSeedToHistoryToolCall, g as trimPersistedUiHistorySnapshot } from './types-chunks/sdk-session-BDFjCpDn.js';
6
+ import { I as InkClientPlane, C as ClientPlaneDialogSurface, k as ReplRuntimePermissionGrantSuggestion } from './types-chunks/trusted-repl-entry-vbUM8R6P.js';
7
+ export { B as BUILTIN_COMMANDS, a as ClientRoundOutcome, b as ClientViewItemMemo, c as Command, d as InkREPLOptions, e as InkRuntimeStatusProvider, f as InkTransientNotice, R as RUNTIME_PERMISSION_PENDING_NOTICE, g as RepLOptions, h as ReplRuntimeAutoModeControl, i as ReplRuntimeAutoModeSettings, j as ReplRuntimePermissionDecision, l as ReplRuntimePermissionPrompt, m as ReplRuntimePermissionRequest, n as ReplRuntimeStatusProvider, o as RuntimeStopCallbacks, p as RuntimeStopControl, S as ShellExecutorConfig, q as StandaloneExecPolicyOptions, r as answerClientPlaneInteraction, s as clientViewToHistoryItems, t as executeCommand, u as executeShellCommand, v as firstActiveRunId, w as getCommandRegistry, x as isShellCommand, y as isShellCommandSuccess, z as mintInkInputId, A as parseCommand, D as processSpecialSyntax, E as runClientPlaneRound, F as runInkInteractiveMode, G as runInteractiveMode, H as toReplRuntimeAutoModeSettings, J as viewRunsActive } from './types-chunks/trusted-repl-entry-vbUM8R6P.js';
2
8
  import React$1, { ReactNode } from 'react';
3
- import { A as AppProps, Q as Message, ay as UIState, j as CreatableHistoryItem, o as HistoryItem, av as ToolCall, ax as UIActions, K as KeyInfo, G as KeypressHandler, an as StreamingState, X as PromptEditingMode, I as InputPromptProps, am as StatusBarProps, as as Theme, aw as ToolCallStatus, ao as Suggestion, az as UseTextBufferReturn, H as HistoryEntry, S as PastedContent, u as HistoryItemInfo, U as PermissionMode } from './types-chunks/public-api.d-amBop8Nk.js';
4
- export { a as AppState, b as AppendClientNoticeOptions, C as CANONICAL_PERMISSION_MODES, c as CanonicalPermissionMode, d as CompactSessionOptions, e as CompactSessionResult, f as Completer, g as Completion, h as ConfirmResult, i as ConversationPageCacheCapacityError, k as CursorPosition, D as DEFAULT_UI_STATE, l as DeleteSessionResult, F as FileSessionStorage, m as ForkSessionOptions, n as FullTranscriptSessionData, p as HistoryItemAssistant, q as HistoryItemBase, r as HistoryItemError, s as HistoryItemEvent, t as HistoryItemHint, v as HistoryItemSidecar, w as HistoryItemSystem, x as HistoryItemThinking, y as HistoryItemToolGroup, z as HistoryItemType, B as HistoryItemUser, E as KeypressEvent, J as KeypressHandlerPriority, L as LearningBinding, M as LearningSurfaceSnapshot, N as LegacyMessageListProps, O as ListSessionsOptions, P as MemorySessionStorage, R as PERMISSION_MODES, T as PermissionContext, V as PreparedSessionAppendBaseline, W as PreparedSessionTailDelta, Y as PromptSubmitPayload, Z as RewindSessionOptions, _ as RunningSessionInfo, $ as SessionBundleExportDiagnostic, a0 as SessionBundleExportFile, a1 as SessionBundleExportOptions, a2 as SessionBundleExportResult, a3 as SessionBundleExportStatus, a4 as SessionConfirmedIdentityRepairData, a5 as SessionConversationHistoryData, a6 as SessionConversationHistoryEntry, a7 as SessionConversationHistoryIssue, a8 as SessionConversationHistoryIssueCode, a9 as SessionConversationHistoryStatus, aa as SessionConversationMutationBoundary, ab as SessionData, ac as SessionIdentityRepairInput, ad as SessionManager, ae as SessionReadCapture, af as SessionReadError, ag as SessionReadErrorCode, ah as SessionReadOptions, ai as SessionStorage, aj as SessionSummary, ak as SessionTranscriptEntry, al as SessionTranscriptEntryType, ap as TOOL_STATUS_ICONS, aq as TextBuffer, ar as TextBufferOptions, at as ThemeColors, au as ThemeSymbols, aA as VisualCursor, aB as VisualLayout, aC as WatchSessionsCallback, aD as appendClientNotice, aE as archiveSession, aF as canonicalizePermissionMode, aG as compactSession, aH as computeConfirmTools, aI as conversationHistoryFromCapture, aJ as createConversationEntryChain, aK as createMemorySessionStorage, aL as createSessionConversationHistoryRevision, aM as createSessionManager, aN as deleteSession, aO as emptyConversationEntryChain, aP as exportSessionBundle, aQ as extendConversationEntryChain, aR as forkSession, aS as isPermissionMode, aT as listRunningSessions, aU as listSessions, aV as loadFullTranscript, aW as loadSession, aX as normalizePermissionMode, aY as permissionModeDisplayName, aZ as readConversationHistory, a_ as readFullTranscript, a$ as readSessionCapture, b0 as rewindSession, b1 as setActiveEntry, b2 as unarchiveSession, b3 as watchSessions } from './types-chunks/public-api.d-amBop8Nk.js';
5
- import { U as KodaXEvents, v as KodaXAgentMode, by as ProviderRecoveryEvent, a9 as KodaXOptions, as as KodaXResult } from './types-chunks/bash-prefix-extractor.d-DWFIMg0v.js';
6
- import { M as MessageDelivery, d as QueuedMessage } from './types-chunks/types.d-B1l9pWyX.js';
7
- export { H as HistorySeedSourceMessage, R as RestoreHistoryItemsFromSessionInput, a as RestoredHistorySeed, e as extractHistorySeedsFromMessage, b as extractHistorySeedsFromMessages, c as extractTextContent, d as extractTitle, f as formatMessagePreview, r as restoreHistoryItemsFromSession, s as seedToHistoryItem, t as toolCallSeedToHistoryToolCall, g as trimPersistedUiHistorySnapshot } from './types-chunks/sdk-session-B6XjHNU1.js';
8
- import { d as CommandInvocationRequest, c as CommandInfo } from './types-chunks/utils.d-DcznBeQ3.js';
9
- export { A as AutoModeSettings, a as CommandCallbacks, g as ConfigEnvironmentSource, h as CurrentConfig, I as InteractiveContext, i as InteractiveMode, K as KODAX_CONFIG_ENV_BINDINGS, j as KODAX_CONFIG_FILE, k as KODAX_DIR, l as KODAX_EXAMPLE_CONFIG_FILE, m as KODAX_INTEGRATION_EXAMPLE_FILES, n as KODAX_SESSIONS_DIR, o as KODAX_VERSION, P as PREVIEW_MAX_LENGTH, R as ResolveAutoModeSettingsInput, p as ResolvedAutoModeSettings, q as RuntimeSurfaceMode, r as RuntimeSurfaceStatus, s as createInteractiveContext, t as ensureExampleConfigFile, u as ensureExampleConfigFiles, v as getGitRoot, w as getProviderList, x as getProviderModel, y as getVersion, z as hydrateProcessEnvFromShell, B as inspectConfigEnvironmentSource, D as isProviderConfigured, E as loadAutoModeSettings, F as loadConfig, G as prepareRuntimeConfig, H as rateLimitedCall, J as registerConfiguredCustomProviders, L as resolveAutoModeSettings, M as resolveRuntimeEffortSelection, N as resolveRuntimeModelSelection, O as resolveRuntimeProviderSelection, Q as saveConfig, S as touchContext } from './types-chunks/utils.d-DcznBeQ3.js';
9
+ import { al as ClientSessionSummary, am as ClientSessionView, X as ClientObservationStatus, E as ClientItemReadOptions, D as ClientItemContent, at as ClientViewItem, ab as ClientSessionActivity } from './types-chunks/client-contract-A1jdk6xz.js';
10
+ import { ab as MessageDelivery, ao as QueuedMessage } from './types-chunks/controller.d-yyKajPTi.js';
11
+ import { a as CommandCallbacks, j as CurrentConfig, e as CommandInvocationRequest, f as CommandPriority, c as CommandExecutionMetadata, d as CommandInfo } from './types-chunks/utils.d-CWiMhFfu.js';
12
+ export { A as AutoModeSettings, i as ConfigEnvironmentSource, I as InteractiveContext, k as InteractiveMode, K as KODAX_CONFIG_ENV_BINDINGS, l as KODAX_CONFIG_FILE, m as KODAX_DIR, n as KODAX_EXAMPLE_CONFIG_FILE, o as KODAX_INTEGRATION_EXAMPLE_FILES, p as KODAX_SESSIONS_DIR, q as KODAX_VERSION, P as PREVIEW_MAX_LENGTH, R as ResolveAutoModeSettingsInput, r as ResolvedAutoModeSettings, s as RuntimeSurfaceMode, t as RuntimeSurfaceStatus, S as SessionCommandBinding, u as SessionCompactBinding, v as SessionGoalBinding, w as applyExecutionConfigEnvironment, x as createInteractiveContext, y as ensureExampleConfigFile, z as ensureExampleConfigFiles, B as getGitRoot, D as getProviderList, E as getProviderModel, F as getProviderReasoningEffortOptions, G as getVersion, H as hydrateProcessEnvFromShell, J as inspectConfigEnvironmentSource, L as isProviderConfigured, M as loadAutoModeSettings, N as loadConfig, O as prepareRuntimeConfig, Q as rateLimitedCall, T as registerConfiguredCustomProviders, U as resolveAutoModeSettings, V as resolveRuntimeEffortSelection, W as resolveRuntimeModelSelection, X as resolveRuntimeProviderSelection, Y as saveConfig, Z as touchContext } from './types-chunks/utils.d-CWiMhFfu.js';
13
+ import readline$1 from 'node:readline';
14
+ import * as readline from 'readline';
10
15
  import { c as SkillContext } from './types-chunks/types.d-Cb8RdrjU.js';
11
- import { d as KodaXCustomProviderConfig } from './types-chunks/types.d-BrQMB-hy.js';
12
- export { U as KodaXTaskResultMetadata, V as KodaXTaskResultSource } from './types-chunks/types.d-BrQMB-hy.js';
16
+ import { e as ReviewPacketMetadata } from './types-chunks/review-packet.d-D4bbTbq3.js';
17
+ export { F as FILE_MODIFICATION_TOOLS, f as collectBashWriteTargets, j as generateSavePattern, k as getBashOutsideProjectWriteRisk, n as getPlanModeBlockReason, q as isAlwaysConfirmPath, r as isBashReadCommand, s as isBashReadCommandAutoAllowed, t as isBashWriteCommand, u as isCommandOnProtectedPath, w as isPathInsideProject, z as isToolCallAllowed } from './types-chunks/review-packet.d-D4bbTbq3.js';
18
+ import { d as KodaXCustomProviderConfig } from './types-chunks/types.d-BjOq57-z.js';
19
+ export { U as KodaXTaskResultMetadata, V as KodaXTaskResultSource } from './types-chunks/types.d-BjOq57-z.js';
13
20
  import { Readable, Writable } from 'node:stream';
14
21
  import { a as McpServerConfig, b as McpServersConfig } from './types-chunks/config.d-CJy1WENT.js';
15
22
  export { E as ExtensionsIntegrationDocument, I as IntegrationConfigConflictError, a as IntegrationConfigController, b as IntegrationConfigDiagnostic, c as IntegrationConfigListener, d as IntegrationConfigSnapshot, e as IntegrationConfigSource, f as IntegrationConfigStatus, g as IntegrationDocumentValidator, h as IntegrationDomain, L as LegacyIntegrationMigrationDomainPlan, i as LegacyIntegrationMigrationPlan, j as LegacyIntegrationMigrationResult, M as McpIntegrationDocument, m as migrateLegacyIntegrationConfig, p as parseExtensionsIntegrationDocument, k as parseMcpIntegrationDocument, l as planLegacyIntegrationMigration, r as readExtensionsIntegration, n as readMcpIntegration, o as resolveIntegrationConfigPath, w as writeIntegrationDocument } from './types-chunks/integration-config.d-BNowXE8k.js';
16
- export { ar as KodaXSessionUiHistoryItem, as as KodaXSessionUiHistoryItemType, at as KodaXSessionUiTextHistoryItem, au as KodaXSessionUiTextHistoryItemType, av as KodaXSessionUiToolCall, aw as KodaXSessionUiToolCallStatus, ax as KodaXSessionUiToolGroupHistoryItem } from './types-chunks/types.d-CSv0_cZC.js';
17
- export { F as FILE_MODIFICATION_TOOLS, c as collectBashWriteTargets, g as generateSavePattern, d as getBashOutsideProjectWriteRisk, j as getPlanModeBlockReason, m as isAlwaysConfirmPath, n as isBashReadCommand, o as isBashReadCommandAutoAllowed, p as isBashWriteCommand, q as isCommandOnProtectedPath, s as isPathInsideProject, v as isToolCallAllowed } from './types-chunks/shell-command-sets.d-oejwpP_7.js';
18
- import { a5 as SignalCollector, e as AutoModeAskUser, i as AutoModeGuardrailConfig, q as AutoModeSharedState, s as AutoModeToolGuardrail } from './types-chunks/exec-policy.d-BPESl90L.js';
19
- import './types-chunks/controller.d-J2t1q8Ly.js';
20
- import './types-chunks/base.d-Bt9lhwSV.js';
21
- import 'node:child_process';
23
+ export { aI as KodaXSessionUiHistoryItem, aJ as KodaXSessionUiHistoryItemType, aK as KodaXSessionUiTextHistoryItem, aL as KodaXSessionUiTextHistoryItemType, aM as KodaXSessionUiToolCall, aN as KodaXSessionUiToolCallStatus, aO as KodaXSessionUiToolGroupHistoryItem } from './types-chunks/review-inbox.d-BeaLRNHx.js';
24
+ import { af as SignalCollector, e as AutoModeAskUser, i as AutoModeGuardrailConfig, q as AutoModeSharedState, s as AutoModeToolGuardrail } from './types-chunks/run-manager.d-C7Q71rin.js';
25
+ import { K as KodaXBaseProvider } from './types-chunks/base.d-ZBOdjDUT.js';
22
26
  import 'vscode-languageserver-protocol';
23
- import './types-chunks/cost-tracker.d-BWI4lFWn.js';
27
+ import './types-chunks/provider-credential-context.d-BH2OaB1b.js';
28
+ import 'node:child_process';
29
+ import './types-chunks/cost-tracker.d-BeaenODW.js';
24
30
  import './types-chunks/types-DDJu9iWX.js';
25
- import './types-chunks/capability.d-Ch5Vos33.js';
26
- import 'readline';
31
+ import './types-chunks/capability.d-DOF3r0fJ.js';
32
+ import './types-chunks/provider-request-observation.d-jL8T6wVO.js';
27
33
  import 'child_process';
28
- import './types-chunks/side-query.d-DHWG1JZg.js';
34
+ import './types-chunks/side-query.d-DTrhVd_r.js';
35
+ import './types-chunks/manifest.d-Bw2i-zQi.js';
36
+
37
+ type CreatableInfoHistoryItem = Omit<HistoryItemInfo, "id" | "timestamp">;
38
+ /**
39
+ * Build the retry info history item shown during automatic provider retries.
40
+ * Keeping this out of InkREPL makes the regression easy to test and avoids
41
+ * falling back to console.log, which gets captured and deferred.
42
+ */
43
+ declare function createRetryHistoryItem(reason: string, attempt: number, maxAttempts: number): CreatableInfoHistoryItem;
44
+ declare function emitRetryHistoryItem(addHistoryItem: (item: CreatableHistoryItem) => void, reason: string, attempt: number, maxAttempts: number): void;
45
+ /**
46
+ * Build a recovery history item from a structured ProviderRecoveryEvent.
47
+ */
48
+ declare function createRecoveryHistoryItem(event: ProviderRecoveryEvent): CreatableInfoHistoryItem;
49
+ declare function emitRecoveryHistoryItem(addHistoryItem: (item: CreatableHistoryItem) => void, event: ProviderRecoveryEvent): void;
50
+
51
+ type ChildActivitySource = "workflow" | "normal";
52
+ type ChildActivityStatus = "running" | "completed";
53
+ type ChildActivityKind = "assistant" | "thinking" | "tool" | "progress" | "prompt" | "stream";
54
+ interface ChildActivityRecord {
55
+ readonly id: string;
56
+ readonly label: string;
57
+ readonly source: ChildActivitySource;
58
+ readonly status: ChildActivityStatus;
59
+ readonly kind: ChildActivityKind;
60
+ readonly detail: string;
61
+ /** Wall-clock ms when this child's activity first appeared, so each row can
62
+ * show its own elapsed. Set once by the feeder and preserved across updates. */
63
+ readonly startedAt?: number;
64
+ }
65
+ type ChildActivityRowKind = "summary" | "activity";
66
+ type ChildActivitySymbolColor = "cyan" | "green" | "dim";
67
+ interface ChildActivityRow {
68
+ readonly kind: ChildActivityRowKind;
69
+ readonly id: string;
70
+ readonly symbol: string;
71
+ readonly symbolColor: ChildActivitySymbolColor;
72
+ readonly text: string;
73
+ readonly isActive: boolean;
74
+ }
75
+ interface ChildActivityViewModel {
76
+ readonly shouldRender: boolean;
77
+ readonly activeCount: number;
78
+ readonly rows: readonly ChildActivityRow[];
79
+ }
80
+ declare function truncateChildActivityDetail(text: string): string;
81
+ declare function childActivityId(meta: KodaXActivityEventMeta): string;
82
+ declare function childActivityLabel(meta: KodaXActivityEventMeta): string;
83
+ declare function childActivitySource(meta: KodaXActivityEventMeta): ChildActivityRecord["source"];
84
+ declare function toolActivityDetail(toolName: string, input?: Record<string, unknown>): string;
85
+ /**
86
+ * Tool-action priority: a churny thinking/assistant/stream update must NOT
87
+ * overwrite a child's last concrete tool action (Grep …/Read …). Returns true
88
+ * when the incoming update should be dropped so the stable tool row stays until
89
+ * the next tool call. Only before the first tool (no existing tool) does thinking
90
+ * show. Zero extra cost — the tool detail already flowed through the stream.
91
+ */
92
+ declare function suppressesChurnOverToolAction(existingKind: ChildActivityKind | undefined, incomingKind: ChildActivityKind): boolean;
93
+
94
+ declare function formatManagedTaskBreadcrumb(status: KodaXManagedTaskStatusEvent, options?: {
95
+ expanded?: boolean;
96
+ }): string | undefined;
97
+
98
+ type WorkflowRunLocale = 'en' | 'zh';
99
+ declare function inferWorkflowLocaleFromParts(...parts: readonly (string | undefined)[]): WorkflowRunLocale;
100
+ declare function formatWorkflowAgentDigest(event: WorkflowEvent, locale?: WorkflowRunLocale, runId?: string): string | undefined;
101
+
102
+ /**
103
+ * FEATURE_200 Phase B.3 (v0.7.45) — InkREPL managed-task live event drafts.
104
+ *
105
+ * Builds the per-round live transcript drafts from a managed-task status
106
+ * event, extracted verbatim from `InkREPL.tsx`. No React, no component state.
107
+ */
108
+
109
+ type ManagedLiveItemDraft = {
110
+ item: HistoryItem;
111
+ persistToHistory: boolean;
112
+ };
113
+ declare function buildManagedLiveEventDrafts(status: KodaXManagedTaskStatusEvent): ManagedLiveItemDraft[];
29
114
 
30
115
  /**
31
116
  * App - KodaX CLI root component.
@@ -80,13 +165,7 @@ interface AppHandle {
80
165
  */
81
166
  declare const replBashPathSignalCollector: SignalCollector;
82
167
 
83
- interface SessionPickerItem {
84
- readonly id: string;
85
- readonly title: string;
86
- readonly msgCount: number;
87
- readonly createdAt?: string;
88
- readonly surface?: string;
89
- }
168
+ type SessionPickerItem = Pick<ClientSessionSummary, 'id' | 'title' | 'msgCount' | 'createdAt' | 'surface'>;
90
169
  interface SessionPickerRunOptions {
91
170
  readonly prepareSelection?: (session: SessionPickerItem) => Promise<void>;
92
171
  }
@@ -492,6 +571,7 @@ interface InputPromptAutocompleteProps extends InputPromptProps {
492
571
  cwd?: string;
493
572
  /** Git root for skill discovery - 技能发现的 Git 根目录 */
494
573
  gitRoot?: string;
574
+ sessionId?: string;
495
575
  /** Whether autocomplete is enabled (default: true) - 是否启用自动补全(默认:true) */
496
576
  autocompleteEnabled?: boolean;
497
577
  }
@@ -569,6 +649,10 @@ interface TranscriptRow {
569
649
  key: string;
570
650
  text: string;
571
651
  itemId?: string;
652
+ /** Original items represented by a tool summary or its detail rows. */
653
+ itemIds?: readonly string[];
654
+ /** UTF-16 position in this item's plain text; present only for original body rows. */
655
+ contentOffset?: number;
572
656
  color?: TranscriptColorToken;
573
657
  /**
574
658
  * Optional row background accent for diff rows. Resolved to
@@ -584,6 +668,8 @@ interface TranscriptRow {
584
668
  }
585
669
  interface TranscriptSection {
586
670
  key: string;
671
+ /** Original item identities retained when adjacent tools share a section. */
672
+ itemIds?: readonly string[];
587
673
  rows: TranscriptRow[];
588
674
  }
589
675
  interface TranscriptRenderModel {
@@ -1075,22 +1161,6 @@ interface BackgroundTaskBarProps {
1075
1161
  }
1076
1162
  declare const BackgroundTaskBar: React$1.FC<BackgroundTaskBarProps>;
1077
1163
 
1078
- type ChildActivityRowKind = "summary" | "activity";
1079
- type ChildActivitySymbolColor = "cyan" | "green" | "dim";
1080
- interface ChildActivityRow {
1081
- readonly kind: ChildActivityRowKind;
1082
- readonly id: string;
1083
- readonly symbol: string;
1084
- readonly symbolColor: ChildActivitySymbolColor;
1085
- readonly text: string;
1086
- readonly isActive: boolean;
1087
- }
1088
- interface ChildActivityViewModel {
1089
- readonly shouldRender: boolean;
1090
- readonly activeCount: number;
1091
- readonly rows: readonly ChildActivityRow[];
1092
- }
1093
-
1094
1164
  interface ChildActivitySurfaceProps {
1095
1165
  readonly viewModel: ChildActivityViewModel;
1096
1166
  }
@@ -1220,11 +1290,22 @@ interface UseInputHistoryReturn {
1220
1290
  declare function useInputHistory(options?: UseInputHistoryOptions): UseInputHistoryReturn;
1221
1291
 
1222
1292
  /**
1223
- * KodaX Autocomplete Module - 自动补全模块
1293
+ * Argument Completer - 参数补全器
1224
1294
  *
1225
- * Provides Tab completion for file paths and commands
1226
- * 提供文件路径和命令的 Tab 补全功能
1295
+ * Provides autocomplete for command arguments based on command definitions.
1296
+ * 基于命令定义为命令参数提供自动补全。
1297
+ *
1298
+ * Trigger: After a command name with space (e.g., /mode <cursor>)
1299
+ * 触发条件: 命令名称后跟空格(如 /mode <光标>)
1300
+ *
1301
+ * Example: /mode ac -> suggests accept-edits, auto
1227
1302
  */
1303
+
1304
+ interface HostArgumentSource {
1305
+ catalog: NonNullable<CommandCallbacks['catalog']>;
1306
+ selection: () => Pick<CurrentConfig, 'provider' | 'model'>;
1307
+ }
1308
+
1228
1309
  /**
1229
1310
  * Completion item - 补全项
1230
1311
  */
@@ -1269,6 +1350,8 @@ interface AutocompleteState {
1269
1350
  * AutocompleteProvider 的配置选项
1270
1351
  */
1271
1352
  interface AutocompleteProviderOptions {
1353
+ hostArguments?: HostArgumentSource;
1354
+ listHostCommands?: CommandCallbacks['listHostCommands'];
1272
1355
  /** Working directory for file completion - 文件补全的工作目录 */
1273
1356
  cwd?: string;
1274
1357
  /** Git root for skill discovery - 技能发现的 Git 根目录 */
@@ -1286,7 +1369,7 @@ interface AutocompleteProviderOptions {
1286
1369
  * Internal options type with required defaults
1287
1370
  * 内部选项类型,包含必需的默认值
1288
1371
  */
1289
- type InternalOptions = Required<Omit<AutocompleteProviderOptions, 'cwd' | 'gitRoot'>> & Pick<AutocompleteProviderOptions, 'cwd' | 'gitRoot'>;
1372
+ type InternalOptions = Required<Omit<AutocompleteProviderOptions, 'cwd' | 'gitRoot' | 'listHostCommands' | 'hostArguments'>> & Pick<AutocompleteProviderOptions, 'cwd' | 'gitRoot' | 'listHostCommands' | 'hostArguments'>;
1290
1373
  /**
1291
1374
  * Autocomplete Provider - Main orchestrator for autocomplete
1292
1375
  * 自动补全提供者 - 自动补全的主要协调器
@@ -1415,10 +1498,11 @@ interface AutocompleteContextValue extends UseAutocompleteReturn {
1415
1498
  * Usage: Wrap your app or component tree with this provider
1416
1499
  * 用法: 用此 provider 包装你的应用或组件树
1417
1500
  */
1418
- declare function AutocompleteContextProvider({ children, cwd, gitRoot, }: {
1501
+ declare function AutocompleteContextProvider({ children, cwd, gitRoot, listHostCommands, }: {
1419
1502
  children: ReactNode;
1420
1503
  cwd?: string;
1421
1504
  gitRoot?: string;
1505
+ listHostCommands?: CommandCallbacks['listHostCommands'];
1422
1506
  }): React.ReactElement;
1423
1507
  /**
1424
1508
  * useAutocompleteContext - access autocomplete context from parent component
@@ -1433,6 +1517,7 @@ declare function useAutocompleteContext(): AutocompleteContextValue | null;
1433
1517
  * useAutocomplete hook 的选项
1434
1518
  */
1435
1519
  interface UseAutocompleteOptions {
1520
+ listHostCommands?: CommandCallbacks['listHostCommands'];
1436
1521
  /** Working directory for file completion - 文件补全的工作目录 */
1437
1522
  cwd?: string;
1438
1523
  /** Git root for skill discovery - 技能发现的 Git 根目录 */
@@ -1781,20 +1866,6 @@ declare function withCaptureSync<T>(fn: () => T): {
1781
1866
  captured: string[];
1782
1867
  };
1783
1868
 
1784
- type CreatableInfoHistoryItem = Omit<HistoryItemInfo, "id" | "timestamp">;
1785
- /**
1786
- * Build the retry info history item shown during automatic provider retries.
1787
- * Keeping this out of InkREPL makes the regression easy to test and avoids
1788
- * falling back to console.log, which gets captured and deferred.
1789
- */
1790
- declare function createRetryHistoryItem(reason: string, attempt: number, maxAttempts: number): CreatableInfoHistoryItem;
1791
- declare function emitRetryHistoryItem(addHistoryItem: (item: CreatableHistoryItem) => void, reason: string, attempt: number, maxAttempts: number): void;
1792
- /**
1793
- * Build a recovery history item from a structured ProviderRecoveryEvent.
1794
- */
1795
- declare function createRecoveryHistoryItem(event: ProviderRecoveryEvent): CreatableInfoHistoryItem;
1796
- declare function emitRecoveryHistoryItem(addHistoryItem: (item: CreatableHistoryItem) => void, event: ProviderRecoveryEvent): void;
1797
-
1798
1869
  /**
1799
1870
  * KeypressParser - Terminal keypress parser - 终端按键解析器
1800
1871
  *
@@ -1930,6 +2001,92 @@ declare function getTheme(name?: string): Theme;
1930
2001
  */
1931
2002
  declare function getThemeNames(): string[];
1932
2003
 
2004
+ /**
2005
+ * FEATURE_298 T18 — console display for plane-bound classic rounds.
2006
+ *
2007
+ * Classic has no React tree; its display authority in plane mode is the
2008
+ * live Host session view. This differ prints, per view push: new items
2009
+ * once, assistant suffixes as the trailing item streams, and tool
2010
+ * lifecycle lines per stage. The first (baseline) view only primes the
2011
+ * tracking so restored history does not reprint.
2012
+ */
2013
+
2014
+ type WriteLine = (line: string) => void;
2015
+ type ReadItem = (id: string, options: ClientItemReadOptions) => Promise<ClientItemContent | null>;
2016
+ /**
2017
+ * Pure differ; the tests drive it directly. `write` receives one formatted
2018
+ * line per change (`kind:text`), the caller owns chalk styling.
2019
+ */
2020
+ declare function createClassicPlaneDisplayDiffer(write: WriteLine, readItem?: ReadItem): (items: readonly ClientViewItem[], activity?: ClientSessionActivity) => Promise<void>;
2021
+ /**
2022
+ * Subscribe the console differ (and, when dialogs are provided, the
2023
+ * interaction answerer) to the live session view; resolves with the stop
2024
+ * function. Dialog answering is serialized - one readline dialog at a
2025
+ * time - and a late answer to a remotely-resolved interaction simply
2026
+ * resolves as not accepted.
2027
+ */
2028
+ declare function attachClassicPlaneDisplay(plane: Pick<InkClientPlane, 'observe' | 'readItem' | 'respondInteraction'>, sessionId: string, options?: {
2029
+ write?: WriteLine;
2030
+ dialogs?: ClientPlaneDialogSurface;
2031
+ onNotice?: (text: string) => void;
2032
+ onView?: (view: ClientSessionView) => void;
2033
+ onStatus?: (status: ClientObservationStatus) => void;
2034
+ differ?: ReturnType<typeof createClassicPlaneDisplayDiffer>;
2035
+ displayQueue?: {
2036
+ pending: Promise<void>;
2037
+ };
2038
+ isCurrent?: () => boolean;
2039
+ }): Promise<() => void>;
2040
+
2041
+ declare function confirmToolExecution(rl: readline.Interface, tool: string, input: Record<string, unknown>, options?: {
2042
+ isOutsideProject?: boolean;
2043
+ reason?: string;
2044
+ isProtectedPath?: boolean;
2045
+ permissionMode?: PermissionMode;
2046
+ runtimeGrantSuggestions?: readonly ReplRuntimePermissionGrantSuggestion[];
2047
+ signal?: AbortSignal;
2048
+ }): Promise<ConfirmResult>;
2049
+
2050
+ /**
2051
+ * FEATURE_298 T18 — readline dialog surface for plane-bound classic rounds.
2052
+ *
2053
+ * Pending Host interactions (question / question_multi / question_input /
2054
+ * permission) are answered through the same answerClientPlaneInteraction
2055
+ * mapping the Ink surface uses; the dialogs here are the classic readline
2056
+ * flows: numbered choices, free-text input, and confirmToolExecution.
2057
+ */
2058
+
2059
+ interface ChoiceOption {
2060
+ readonly label: string;
2061
+ readonly description?: string;
2062
+ readonly value: string;
2063
+ }
2064
+ type ClassicAsk = (prompt: string, signal?: AbortSignal) => Promise<string | undefined>;
2065
+ /**
2066
+ * Interpret one readline answer against a choice list: a 1-based number, an
2067
+ * exact label/value match, or free text (the open-ended custom answer the
2068
+ * AskUser contract defaults to). Empty input cancels.
2069
+ */
2070
+ declare function parseClassicChoice(input: string | undefined, options: readonly ChoiceOption[], allowCustomInput: boolean): {
2071
+ kind: 'value';
2072
+ value: string;
2073
+ } | {
2074
+ kind: 'custom';
2075
+ value: string;
2076
+ } | {
2077
+ kind: 'cancel';
2078
+ };
2079
+ /**
2080
+ * Build the dialog surface over one readline interface. `ask` is injectable
2081
+ * for tests; production uses the shared askInput helper.
2082
+ */
2083
+ declare function createClassicPlaneDialogSurface(input: {
2084
+ readonly rl: readline$1.Interface;
2085
+ readonly ask?: ClassicAsk;
2086
+ readonly permissionMode: () => PermissionMode;
2087
+ readonly confirm?: typeof confirmToolExecution;
2088
+ }): ClientPlaneDialogSurface;
2089
+
1933
2090
  declare function createUserSkillInvocation(name: string, argumentsText: string, context: SkillContext): Promise<CommandInvocationRequest | undefined>;
1934
2091
  declare function resolveUserSkillInvocation(input: string, context: SkillContext): Promise<CommandInvocationRequest | undefined>;
1935
2092
 
@@ -1940,16 +2097,71 @@ interface PreparedInvocation {
1940
2097
  manualOutput?: string;
1941
2098
  finalize: (error?: Error) => Promise<void>;
1942
2099
  }
1943
- declare function prepareInvocationExecution(baseOptions: KodaXOptions, request: CommandInvocationRequest, rawUserInput: string, emit: (text: string) => void): Promise<PreparedInvocation>;
2100
+ declare function prepareInvocationExecution(baseOptions: KodaXOptions, request: CommandInvocationRequest, rawUserInput: string, emit: (text: string) => void, hostOwnsSkill?: boolean): Promise<PreparedInvocation>;
2101
+
2102
+ declare function buildLeanReviewPrompt(agentsPath: string, content: string): string;
2103
+
2104
+ /**
2105
+ * Command discovery for user/project markdown commands.
2106
+ */
2107
+
2108
+ interface DiscoveredCommand {
2109
+ name: string;
2110
+ description: string;
2111
+ aliases?: string[];
2112
+ priority?: CommandPriority;
2113
+ content: string;
2114
+ location: 'user' | 'project';
2115
+ path: string;
2116
+ frontmatter?: Record<string, unknown>;
2117
+ execution: CommandExecutionMetadata;
2118
+ }
2119
+ interface CommandDiscoveryPath {
2120
+ path: string;
2121
+ location: 'user' | 'project';
2122
+ }
2123
+ declare function discoverCommands(baseDirs: Array<string | CommandDiscoveryPath>): DiscoveredCommand[];
1944
2124
 
1945
2125
  /**
1946
2126
  * Public command-system exports.
1947
2127
  */
1948
2128
 
2129
+ /**
2130
+ * FEATURE_298 T37 — the single source of truth for prompt-command discovery
2131
+ * order (project > ~/.kodax > ~/.agents). The Host's prepareCommand consumes
2132
+ * this so its trusted discovery can never drift from the REPL registry.
2133
+ */
2134
+ declare function commandDiscoveryDirs(projectRoot: string): readonly {
2135
+ path: string;
2136
+ location: 'user' | 'project';
2137
+ }[];
1949
2138
  declare function listRegisteredCommands(projectRoot?: string): CommandInfo[];
1950
2139
 
2140
+ interface ReviewInvocation {
2141
+ readonly workflow: boolean;
2142
+ readonly lean: boolean;
2143
+ readonly diffArgs: string[];
2144
+ readonly prompt?: string;
2145
+ readonly error?: string;
2146
+ }
2147
+ declare function parseReviewInvocation(args: readonly string[]): ReviewInvocation;
2148
+ interface ReviewWorkflowRequestOptions {
2149
+ readonly lean?: boolean;
2150
+ readonly customPrompt?: string;
2151
+ readonly packets?: readonly ReviewPacketMetadata[];
2152
+ }
2153
+ declare function buildReviewWorkflowRequest(label: string, options?: ReviewWorkflowRequestOptions): string;
2154
+ interface BuildReviewPromptOptions {
2155
+ readonly label: string;
2156
+ readonly diff: string;
2157
+ readonly lean?: boolean;
2158
+ readonly customPrompt?: string;
2159
+ }
2160
+ declare function buildReviewPrompt(options: BuildReviewPromptOptions): string;
2161
+ declare function buildDisplayName(invocation: ReviewInvocation): string;
2162
+
1951
2163
  declare const CONFIG_TEMPLATES: {
1952
- readonly core: "// Split configs: ~/.kodax/integrations/mcp.json, extensions.json, and a2a.json.\n// KodaX core configuration template.\n// Copy only the fields you need to ~/.kodax/config.json (strict JSON).\n// MCP, A2A, and Extensions live in ~/.kodax/integrations/*.json; use\n// `kodax integrations migrate` to preview legacy declarations.\n{\n // Active provider alias and optional model override. Run `kodax setup` or\n // `/model` instead of editing these manually when possible.\n // \"provider\": \"deepseek\",\n // \"model\": \"deepseek-flash\",\n // Add or reorder model ids shown by `/model` for a provider.\n // \"providerModels\": {\n // \"deepseek\": [\"deepseek-flash\", \"deepseek-v4-pro\"]\n // },\n\n // Interactive Runtime hosting: \"embedded\" (this process) or \"daemon\".\n // \"runtimeMode\": \"embedded\",\n\n // Worker-hosted embedded Runtime options. `configuredA2A` lets a\n // Worker-hosted embedded Runtime load and reconcile\n // ~/.kodax/integrations/a2a.json inside the Worker owner, so configured\n // outbound A2A Agents appear as `external:<name>` and can be dispatched\n // with spawn_agent. Default inline (non-Worker) CLI sessions already load\n // the configured A2A plane automatically; this key switches the embedded\n // session to a Worker-hosted Runtime and loads the plane in that mode.\n // \"worker\": {\n // \"configuredA2A\": true\n // },\n\n // Native model reasoning. `effort` is the preferred explicit depth;\n // `reasoningCeiling` is the session ceiling. `reasoningMode` and `thinking`\n // remain accepted for backward compatibility.\n // \"effort\": \"high\",\n // \"planModeEffort\": \"high\",\n // \"reasoningCeiling\": \"auto\",\n // \"reasoningMode\": \"auto\",\n // \"thinking\": true,\n\n // Agent harness: \"ama\" enables adaptive multi-agent use; \"sa\" forces one\n // agent. Permission profiles are \"plan\", \"accept-edits\", sandbox-first\n // \"auto\", or direct-host \"full-access\". Full Access has no sandbox or\n // approval prompts; built-in dangerous-command fallbacks do not apply.\n // Explicit forbidden rules still block; explicit prompt rules cannot prompt.\n // Exec Policy is separate:\n // ~/.kodax/exec-policy.jsonc (and explicitly trusted project policy).\n // \"agentMode\": \"ama\",\n // \"permissionMode\": \"accept-edits\",\n // User-level Bash allow patterns. Project additions belong in\n // <project>/.kodax/config.local.json. Broad Bash(*) is rejected.\n // \"alwaysAllowTools\": [\"Bash(npm test)\", \"Bash(git status:*)\"],\n // \"autoMode\": {\n // \"classifierModel\": \"provider:model\"\n // },\n // Optional policy body appended to the fixed Auto reviewer contract.\n // Review runs only at a proven host boundary: 90s, then one infra-only 180s retry.\n // \"autoReview\": { \"policy\": \"Prefer reversible, narrowly scoped operations.\" },\n\n // UI/manual locale.\n // \"locale\": \"zh\",\n\n // Custom providers store public connection metadata only. Put the actual\n // credential in the named environment variable, never in this file. Use\n // `kodax setup --custom` for the guided writer.\n // \"customProviders\": [\n // {\n // \"name\": \"my-relay\",\n // \"protocol\": \"openai\",\n // \"baseUrl\": \"https://api.example.com/v1\",\n // \"apiKeyEnv\": \"MY_RELAY_API_KEY\",\n // \"model\": \"provider/model\",\n // \"models\": [\"provider/model\", \"provider/fast-model\"],\n // \"reasoning\": { \"efforts\": [\"off\", \"low\", \"high\"], \"default\": \"high\" },\n // \"userAgentMode\": \"compat\",\n // \"contextWindow\": 128000,\n // \"maxOutputTokens\": 8192,\n // \"maxOutputTokensField\": \"max_completion_tokens\",\n // \"thinkingBudgetCap\": 32000,\n // \"imageInput\": true,\n // \"promptCacheAffinity\": false,\n // \"replayReasoningContent\": false,\n // \"strictThinkingSignature\": false,\n // \"streamMaxDurationMs\": 300000,\n // \"verifyStrategy\": \"models-list\"\n // }\n // ],\n\n // Repository intelligence. Mode: \"auto\", \"full\", \"light\", or \"off\".\n // \"repoIntelligenceMode\": \"auto\",\n // \"repoIntelligenceTrace\": false,\n // \"repoIntelligence\": {\n // \"toolWaitMs\": 250,\n // \"workerTimeoutMs\": 30000,\n // \"workerOldSpaceMb\": 1024,\n // \"storageDir\": \"~/.kodax/repo-intelligence\"\n // },\n\n // Runtime/provider diagnostics and timeouts.\n // \"streamIdleTimeoutMs\": 120000,\n // \"verifierLog\": false,\n // \"stallLog\": false,\n\n // Ordered provider fallback for child tasks and optional model tiers used by\n // workflow/dispatch model hints.\n // \"fallbackProviders\": [\"ark-coding\", \"kimi-code\"],\n // \"fastProvider\": \"openai\",\n // \"fastModel\": \"gpt-5-mini\",\n // \"deepProvider\": \"anthropic\",\n // \"deepModel\": \"claude-opus-4-6\",\n\n // Provider/LSP/ACP process settings.\n // \"maxOutputTokens\": 8192,\n // \"disablePromptCache\": false,\n // \"lsp\": true,\n // \"lspAutoDownload\": false,\n // \"acpLogLevel\": \"info\",\n\n // Automatic large compaction is always enabled. Percentage defaults to 75\n // and is clamped to 15..90. A missing/zero absolute threshold is inactive;\n // otherwise the smaller percentage, absolute, and physical limit wins.\n // \"compaction\": {\n // \"enabled\": true,\n // \"contextWindow\": 128000,\n // \"triggerPercent\": 75,\n // \"triggerTokens\": 0\n // },\n\n // 0 disables automatic session pruning.\n // \"sessionRetentionDays\": 0,\n\n // Workflow host concurrency. The Runtime still applies its system cap.\n // \"workflow\": { \"maxConcurrency\": 8 }\n}\n";
2164
+ readonly core: "// Split configs: ~/.kodax/integrations/mcp.json, extensions.json, and a2a.json.\n// KodaX core configuration template.\n// Copy only the fields you need to ~/.kodax/config.json (strict JSON).\n// MCP, A2A, and Extensions live in ~/.kodax/integrations/*.json; use\n// `kodax integrations migrate` to preview legacy declarations.\n{\n // Active provider alias and optional model override. Run `kodax setup` or\n // `/model` instead of editing these manually when possible.\n // \"provider\": \"deepseek\",\n // \"model\": \"deepseek-flash\",\n // Add or reorder model ids shown by `/model` for a provider.\n // \"providerModels\": {\n // \"deepseek\": [\"deepseek-flash\", \"deepseek-v4-pro\"]\n // },\n\n // Native model reasoning. `effort` is the preferred explicit depth;\n // `reasoningCeiling` is the session ceiling. `reasoningMode` and `thinking`\n // remain accepted for backward compatibility.\n // \"effort\": \"high\",\n // \"planModeEffort\": \"high\",\n // \"reasoningCeiling\": \"auto\",\n // \"reasoningMode\": \"auto\",\n // \"thinking\": true,\n\n // Agent harness: \"ama\" enables adaptive multi-agent use; \"sa\" forces one\n // agent. Permission profiles are \"plan\", \"accept-edits\", sandbox-first\n // \"auto\", or direct-host \"full-access\". Full Access has no sandbox or\n // approval prompts; built-in dangerous-command fallbacks do not apply.\n // Explicit forbidden rules still block; explicit prompt rules cannot prompt.\n // Exec Policy is separate:\n // ~/.kodax/exec-policy.jsonc (and explicitly trusted project policy).\n // \"agentMode\": \"ama\",\n // \"permissionMode\": \"accept-edits\",\n // User-level Bash allow patterns. Project additions belong in\n // <project>/.kodax/config.local.json. Broad Bash(*) is rejected.\n // \"alwaysAllowTools\": [\"Bash(npm test)\", \"Bash(git status:*)\"],\n // \"autoMode\": {\n // \"classifierModel\": \"provider:model\"\n // },\n // Optional policy body appended to the fixed Auto reviewer contract.\n // Review runs only at a proven host boundary: 90s, then one infra-only 180s retry.\n // \"autoReview\": { \"policy\": \"Prefer reversible, narrowly scoped operations.\" },\n\n // UI/manual locale.\n // \"locale\": \"zh\",\n\n // Custom providers store public connection metadata only. Put the actual\n // credential in the named environment variable, never in this file. Use\n // `kodax setup --custom` for the guided writer.\n // \"customProviders\": [\n // {\n // \"name\": \"my-relay\",\n // \"protocol\": \"openai\",\n // \"baseUrl\": \"https://api.example.com/v1\",\n // \"apiKeyEnv\": \"MY_RELAY_API_KEY\",\n // \"model\": \"provider/model\",\n // \"models\": [\"provider/model\", \"provider/fast-model\"],\n // \"reasoning\": { \"efforts\": [\"off\", \"low\", \"high\"], \"default\": \"high\" },\n // \"userAgentMode\": \"compat\",\n // \"contextWindow\": 128000,\n // \"maxOutputTokens\": 8192,\n // \"maxOutputTokensField\": \"max_completion_tokens\",\n // \"thinkingBudgetCap\": 32000,\n // \"imageInput\": true,\n // \"promptCacheAffinity\": false,\n // \"replayReasoningContent\": false,\n // \"strictThinkingSignature\": false,\n // \"streamMaxDurationMs\": 300000,\n // \"verifyStrategy\": \"models-list\"\n // }\n // ],\n\n // Repository intelligence. Mode: \"auto\", \"full\", \"light\", or \"off\".\n // \"repoIntelligenceMode\": \"auto\",\n // \"repoIntelligenceTrace\": false,\n // \"repoIntelligence\": {\n // \"toolWaitMs\": 250,\n // \"workerTimeoutMs\": 30000,\n // \"workerOldSpaceMb\": 1024,\n // \"storageDir\": \"~/.kodax/repo-intelligence\"\n // },\n\n // Runtime/provider diagnostics and timeouts.\n // \"streamIdleTimeoutMs\": 120000,\n // \"verifierLog\": false,\n // \"stallLog\": false,\n\n // Ordered provider fallback for child tasks and optional model tiers used by\n // workflow/dispatch model hints.\n // \"fallbackProviders\": [\"ark-coding\", \"kimi-code\"],\n // \"fastProvider\": \"openai\",\n // \"fastModel\": \"gpt-5-mini\",\n // \"deepProvider\": \"anthropic\",\n // \"deepModel\": \"claude-opus-4-6\",\n\n // Provider/LSP/ACP process settings.\n // \"maxOutputTokens\": 8192,\n // \"disablePromptCache\": false,\n // \"lsp\": true,\n // \"lspAutoDownload\": false,\n // \"acpLogLevel\": \"info\",\n\n // Automatic large compaction is always enabled. Percentage defaults to 75\n // and is clamped to 15..90. A missing/zero absolute threshold is inactive;\n // otherwise the smaller percentage, absolute, and physical limit wins.\n // \"compaction\": {\n // \"enabled\": true,\n // \"contextWindow\": 128000,\n // \"triggerPercent\": 75,\n // \"triggerTokens\": 0\n // },\n\n // 0 disables automatic session pruning.\n // \"sessionRetentionDays\": 0,\n\n // Workflow host concurrency. The Runtime still applies its system cap.\n // \"workflow\": { \"maxConcurrency\": 8 }\n}\n";
1953
2165
  readonly mcp: "// User MCP declarations: ~/.kodax/integrations/mcp.json (strict JSON).\n// The whole file hot-reloads; healthy entries remain active if one new entry\n// fails to prepare. Keep credentials in ${env:NAME} references.\n{\n \"version\": 1,\n \"servers\": {}\n // Example:\n // \"servers\": {\n // \"reporting\": {\n // \"type\": \"streamable-http\",\n // \"url\": \"https://mcp.example.com\",\n // \"headers\": { \"Authorization\": \"Bearer ${env:REPORTING_MCP_TOKEN}\" },\n // \"connect\": \"lazy\"\n // }\n // }\n}\n";
1954
2166
  readonly a2a: "// Bidirectional A2A configuration: ~/.kodax/integrations/a2a.json.\n// `agents` calls many third-party Agents. The optional singleton `server`\n// exposes exactly one KodaX general task Agent; ACP remains the coding/editor\n// protocol. Uncomment only the entries you need; no token value belongs here.\n// Legacy version 1 files remain readable. Non-empty files require an explicit\n// stopped-daemon migration; new/empty files and every later write use version 2.\n{\n \"version\": 2,\n\n // Create this inbound block with `kodax a2a expose`; config never starts a\n // listener by itself. Do not copy private Agent instructions, Runtime Skills,\n // model names, or local paths into the public `published.skills` list.\n // Managed workspaces default below\n // ~/kodax_a2a_server_workspace/<runtime-profile>/contexts/<context-key>/.\n // Native read/grep/glob remains available according to workspace access.\n // Arbitrary shell is never exposed. Skill instructions/assets need no\n // process authority. An exact checked-in scripts/... entry requires\n // process=\"isolated\", skillScripts admission, and `kodax sandbox doctor`.\n // On native protocol 10, isolated Skill Script is POSIX-only. Windows is\n // unavailable because its required per-command denyRead is unsupported.\n // ASRT receives no KodaX credentials or ambient ~/.srt-settings.json and its\n // script quota is observed; hostile tenants also require an outer container/VM.\n //\n // \"server\": {\n // \"execution\": {\n // \"kind\": \"local-agent\",\n // \"agentRef\": { \"source\": \"markdown:user\", \"name\": \"report-agent\" },\n // \"workspace\": { \"mode\": \"managed\" },\n // \"toolPolicy\": {\n // \"workspace\": \"write\",\n // \"process\": \"deny\",\n // \"network\": { \"mode\": \"deny\" },\n // \"tools\": [],\n // \"mcp\": {},\n // \"skillScripts\": {},\n // \"subagents\": \"deny\"\n // }\n // },\n // \"published\": {\n // \"name\": \"KodaX Agent\",\n // \"description\": \"Completes approved general tasks.\",\n // \"version\": \"0.7.71\",\n // \"skills\": [{ \"id\": \"general\", \"name\": \"General\", \"description\": \"Complete general tasks.\", \"tags\": [] }],\n // \"inputModes\": [\"text/plain\"],\n // \"outputModes\": [\"text/plain\"]\n // },\n // \"authentication\": { \"type\": \"bearer-env\", \"tokenEnv\": \"KODAX_A2A_TOKEN\", \"principalId\": \"configured-client\" },\n // \"dataDir\": \"~/.kodax/a2a/tasks\"\n // },\n\n // Production OAuth2 resource-server alternative for the server above. The\n // external Authorization Server issues access tokens and, for JWT tokens,\n // signs them. KodaX holds no issuer signing key; it validates RFC 9068 tokens\n // against the issuer's rotating JWKS, audience, expiry, subject, and scopes.\n // Replace the server.authentication value above with:\n // {\n // \"type\": \"oauth2-jwt\",\n // \"scheme\": \"enterprise-oauth\",\n // \"issuer\": \"https://identity.example.com\",\n // \"audience\": \"https://agent.example.com/a2a\",\n // \"jwksUrl\": \"https://identity.example.com/.well-known/jwks.json\",\n // \"tokenUrl\": \"https://identity.example.com/oauth/token\",\n // \"metadataUrl\": \"https://identity.example.com/.well-known/oauth-authorization-server\",\n // \"requiredScopes\": [\"a2a.invoke\"]\n // }\n\n \"agents\": {\n // Fixed Bearer compatibility example. `enabled` is hot desired state:\n // disabled Agents remain configured but are not candidates for new\n // orchestration, while already admitted remote tasks may finish.\n // \"reporting\": {\n // \"cardUrl\": \"https://agents.example.com/.well-known/agent-card.json\",\n // \"enabled\": true,\n // \"credentialEnv\": \"REPORTING_A2A_TOKEN\",\n // \"effect\": \"read\"\n // },\n\n // Private addresses and plaintext HTTP are separate, default-deny\n // permissions. Exact loopback HTTP needs neither. Private HTTP needs both;\n // private HTTPS needs only allowPrivateAddresses. Prefer TLS whenever it is\n // available. The equivalent CLI flags are `--allow-private` and\n // `--allow-insecure-http`. OAuth token endpoints keep their stricter\n // HTTPS-or-exact-loopback rule even when Agent transport HTTP is allowed.\n // \"intranet\": {\n // \"cardUrl\": \"http://10.20.30.40/.well-known/agent-card.json\",\n // \"enabled\": true,\n // \"network\": {\n // \"allowPrivateAddresses\": true,\n // \"allowInsecureHttp\": true\n // },\n // \"effect\": \"read\"\n // },\n\n // Standards-based machine-to-machine OAuth2 example. The external\n // Authorization Server issues access tokens; KodaX obtains and caches them\n // only in process memory. `tokenUrl` must exactly match the selected Card\n // OAuth2 clientCredentials flow. Use `kodax a2a enable|disable <name>` to\n // mutate `enabled` atomically; the owning Runtime applies it asynchronously.\n // \"reviewer\": {\n // \"cardUrl\": \"https://reviewer.example.com/.well-known/agent-card.json\",\n // \"enabled\": false,\n // \"effect\": \"read\",\n // \"authentication\": {\n // \"type\": \"oauth2-client-credentials\",\n // \"scheme\": \"enterprise-oauth\",\n // \"issuer\": \"https://identity.example.com\",\n // \"tokenUrl\": \"https://identity.example.com/oauth/token\",\n // \"clientId\": \"kodax-reviewer\",\n // \"clientSecretEnv\": \"REVIEWER_CLIENT_SECRET\",\n // \"scopes\": [\"a2a.invoke\"],\n // \"resource\": \"https://reviewer.example.com/\",\n // \"clientAuthentication\": \"client-secret-basic\"\n // }\n // }\n }\n}\n";
1955
2167
  readonly extensions: "// Trusted user Extension paths: ~/.kodax/integrations/extensions.json.\n// Extensions are host code. Reload is whole-domain atomic; use MCP for\n// capabilities that should remain outside the KodaX process.\n{\n \"version\": 1,\n \"paths\": []\n}\n";
@@ -2207,10 +2419,10 @@ declare function withCoreConfigWriteLock<T>(configPath: string, action: () => T)
2207
2419
  * silently deactivate an existing server.
2208
2420
  */
2209
2421
 
2210
- declare function listMcpServers(): McpServersConfig;
2211
- declare function getMcpServerConfig(name: string): McpServerConfig | undefined;
2212
- declare function upsertMcpServer(name: string, config: McpServerConfig): McpServerConfig;
2213
- declare function removeMcpServer(name: string): boolean;
2422
+ declare function listMcpServers(configHome?: string): McpServersConfig;
2423
+ declare function getMcpServerConfig(name: string, configHome?: string): McpServerConfig | undefined;
2424
+ declare function upsertMcpServer(name: string, config: McpServerConfig, configHome?: string): McpServerConfig;
2425
+ declare function removeMcpServer(name: string, configHome?: string): boolean;
2214
2426
  declare function validateMcpServerConfig(name: string, config: McpServerConfig): void;
2215
2427
 
2216
2428
  declare function findMostRecentResumableSession<T extends {
@@ -2349,6 +2561,41 @@ interface AutoModeBootstrapResult {
2349
2561
  /** Build a lazy Auto reviewer without reading legacy auto-rules files. */
2350
2562
  declare function bootstrapAutoMode(deps: AutoModeBootstrapDeps): Promise<AutoModeBootstrapResult>;
2351
2563
 
2564
+ /**
2565
+ * `/provider probe` — proactive reasoning-effort probing.
2566
+ *
2567
+ * Sends a minimal (≈1-token) request per candidate effort and records the ones
2568
+ * the provider HARD-rejects into the capability cache, so a fast-changing model
2569
+ * (GLM / Kimi / MiniMax) can be validated up front instead of waiting for the
2570
+ * passive path to learn it from real traffic. Reuses the exact same
2571
+ * `onReasoningEffortRejected` signal as passive learning — a rejection here is
2572
+ * recorded identically, just with `source: 'probed'`.
2573
+ *
2574
+ * Note: this issues real requests (cost ≈ a few tokens per effort) — it is an
2575
+ * explicit, user-invoked command, never automatic.
2576
+ */
2577
+
2578
+ type ProbeStatus = 'accepted' | 'rejected' | 'error';
2579
+ interface ProbeResult {
2580
+ readonly effort: string;
2581
+ readonly status: ProbeStatus;
2582
+ readonly error?: string;
2583
+ }
2584
+ /**
2585
+ * Probe one provider/model across the given efforts. `resolve` returns the
2586
+ * provider instance (injected so the orchestration is unit-testable without a
2587
+ * live provider). Rejections are persisted via `recordRejectedEffort`.
2588
+ */
2589
+ declare function probeProviderReasoningEfforts(input: {
2590
+ provider: string;
2591
+ model?: string;
2592
+ efforts: readonly string[];
2593
+ resolve: (provider: string) => KodaXBaseProvider;
2594
+ now: () => string;
2595
+ signal?: AbortSignal;
2596
+ configHome?: string;
2597
+ }): Promise<ProbeResult[]>;
2598
+
2352
2599
  declare const KODAX_COMMANDS_DIR: string;
2353
2600
  interface KodaXCommand {
2354
2601
  name: string;
@@ -2366,5 +2613,5 @@ declare function loadCommands(commandDir?: string): Promise<Map<string, KodaXCom
2366
2613
  declare function processCommandCall(commandName: string, args: string | undefined, commands: Map<string, KodaXCommand>, runAgent: (prompt: string) => Promise<KodaXResult>): Promise<string | null>;
2367
2614
  declare function parseCommandCall(input: string): [string, string?] | null;
2368
2615
 
2369
- export { App, AppProps, AutocompleteContextProvider, BackgroundTaskBar, CONFIG_TEMPLATES, ChildActivitySurface, CommandInfo, ConsoleCapturer, CoreConfigWriteConflictError, CreatableHistoryItem, DialogSurface, DotsIndicator, FullscreenTranscriptLayout, HistoryEntry, HistoryItem, HistoryItemInfo, HistoryItemRenderer, InputPrompt, InputPromptProps, KODAX_COMMANDS_DIR, KeyInfo, KeyMatchers, KeypressHandler, KeypressParser, KeypressProvider, LRUCache, LoadingIndicator, Message, MessageActions, MessageList, MessageSelector, NotificationsSurface, PendingInputsIndicator, PermissionMode, ProgressIndicator, PromptComposer, PromptEditingMode, PromptFooter, PromptFooterLeftSide, PromptFooterRightSide, PromptHelpMenu, PromptSuggestionsSurface, ProviderSetupConfigConflictError, ProviderSetupInvalidConfigError, QueuedCommandsSurface, SimpleApp, SimpleInputPrompt, SimpleMessageDisplay, SimpleStatusBar, SingleLineTextInput, Spinner, StashNotice, StatusBar, StatusBarProps, StatusNoticesSurface, StreamingProvider, StreamingState, Suggestion, SuggestionsDisplay, TextInput, Theme, ThinkingIndicator, ToolCall, ToolCallDisplay, ToolCallStatus, ToolGroup, ToolProgressBar, ToolStatusBadge, TranscriptViewport, UIActions, UIState, UIStateProvider, UseTextBufferReturn, _resetQueuedPromptsCacheForTests, bootstrapAutoMode, calculateVisualCursorFromLayout, calculateVisualLayout, coreConfigWriteLockPath, createCliEvents, createHistoryItem, createJsonEvents, createKeyMatcher, createKeypressManager, createRecoveryHistoryItem, createRetryHistoryItem, createStreamingManager, createToolCall, createUserSkillInvocation, darkTheme, dedupeSessions, detectTerminalCapabilities, detectTerminalHostProfile, detectTerminalRenderHost, emitRecoveryHistoryItem, emitRetryHistoryItem, findMostRecentResumableSession, generateId, getCharAtCodePoint, getCodePointLength, getConfigTemplate, getCustomProviderConfig, getDefaultCommandDir, getKeyDisplayName, getMcpServerConfig, getProviderSetupCatalog, getTerminalHostCapabilities, getTerminalWidth, getTheme, getThemeNames, getVisualWidth, getVisualWidthCached, hasCursorUpViewportYankRisk, hasMainScreenRenderScrollRisk, initializeSetupConfiguration, inspectProviderSetupReadiness, isClassicReplForced, isFunctionKey, isOwnedRendererPreferred, isPrintable, isRemoteConptyHost, isScreenReader, isTmuxControlMode, isVsCodeTerminalHostEnv, isWideChar, listCustomProviders, listMcpServers, listRegisteredCommands, loadCommands, measureChildActivitySurfaceRows, minimalTheme, parseCommandCall, parseKeypress, persistProviderSetupChoice, prepareInvocationExecution, processCommandCall, providerSetupRestartInstructions, removeCustomProvider, removeMcpServer, renderSetupGuide, replBashPathSignalCollector, resetTmuxControlModeProbeForTesting, resolveConfiguredTuiRendererMode, resolveEffectiveTuiRendererMode, resolveFullscreenPolicy, resolveInteractiveSurfacePreference, resolveUserSkillInvocation, runProviderSetupWizard, runSessionPicker, splitByCodePoints, supports256Colors, supportsEmoji, supportsTrueColor, supportsUnicode, themes, truncateByVisualWidth, upsertCustomProvider, upsertMcpServer, useAutocomplete, useAutocompleteContext, useInputHistory, useKeypress, useKeypressManager, useQueuedPromptContents, useQueuedPrompts, useStreaming, useStreamingActions, useStreamingState, useTextBuffer, useUI, useUIActions, useUIState, validateMcpServerConfig, visualWidthCache, withCapture, withCaptureSync, withCoreConfigWriteLock };
2370
- export type { AppHandle, AutoModeBootstrapDeps, AutoModeBootstrapResult, BackgroundTaskBarItem, BackgroundTaskBarProps, ChildActivitySurfaceProps, ConfigTemplateName, DialogSelectOption, DialogSurfaceConfirmState, DialogSurfaceProps, DialogSurfaceUIRequestState, DotsIndicatorProps, EffectiveTuiRendererMode, FullscreenPolicy, FullscreenTranscriptLayoutProps, HistoryItemRendererProps, InitializeSetupConfigurationInput, InteractiveSurfacePreference, KeypressManager, KeypressProviderProps, KodaXCommand, KodaXCommandContext, LoadingIndicatorProps, LoadingIndicatorType, MessageActionsProps, MessageListProps, MessageSelectorProps, NotificationSurfaceItem, NotificationsSurfaceProps, PendingInputsIndicatorProps, PersistedProviderSetupChoice, PreparedInvocation, ProgressIndicatorProps, PromptComposerProps, PromptFooterLeftSideProps, PromptFooterProps, PromptFooterRightSideProps, PromptFooterSurfaceItem, PromptHelpMenuProps, PromptSuggestionsSurfaceProps, ProviderSetupCatalogEntry, ProviderSetupChoice, ProviderSetupCustomProviderMetadata, ProviderSetupInteraction, ProviderSetupReadiness, ProviderSetupWizardResult, QueuedCommandsSurfaceProps, RenderSetupGuideInput, ResolvedAutoModeBootstrapSettings, RunProviderSetupWizardInput, SessionDedupeMatch, SessionDedupeMove, SessionDedupeOptions, SessionDedupeReport, SessionDedupeSkip, SessionDedupeSkipReason, SessionPickerItem, SetupConfigDomain, SetupConfigFileKind, SetupConfigFileResult, SetupConfigFileStatus, SetupConfigurationResult, SpinnerProps, StashNoticeProps, StatusNoticesSurfaceProps, StreamingActions, StreamingContextValue, StreamingManager, StreamingProviderProps, StreamingStateListener, SuggestionsDisplayProps, TerminalCapabilities, TerminalHostCapabilities, TerminalHostDetectionOptions, TerminalHostProfile, TerminalRenderHost, TextInputProps, ThinkingIndicatorProps, ToolCallDisplayProps, ToolGroupProps, ToolProgressBarProps, ToolStatusBadgeProps, TranscriptViewportProps, TuiRendererMode, UIStateProviderProps, UseAutocompleteOptions, UseAutocompleteReturn, UseInputHistoryOptions, UseInputHistoryReturn, UseKeypressOptions, UseTextBufferOptions };
2616
+ export { App, AppProps, AutocompleteContextProvider, BackgroundTaskBar, CONFIG_TEMPLATES, ChildActivitySurface, ClientPlaneDialogSurface, CommandCallbacks, CommandInfo, ConfirmResult, ConsoleCapturer, CoreConfigWriteConflictError, CreatableHistoryItem, CurrentConfig, DialogSurface, DotsIndicator, FullscreenTranscriptLayout, HistoryEntry, HistoryItem, HistoryItemInfo, HistoryItemRenderer, InkClientPlane, InputPrompt, InputPromptProps, KODAX_COMMANDS_DIR, KeyInfo, KeyMatchers, KeypressHandler, KeypressParser, KeypressProvider, LRUCache, LoadingIndicator, Message, MessageActions, MessageList, MessageSelector, NotificationsSurface, PendingInputsIndicator, PermissionMode, ProgressIndicator, PromptComposer, PromptEditingMode, PromptFooter, PromptFooterLeftSide, PromptFooterRightSide, PromptHelpMenu, PromptSuggestionsSurface, ProviderSetupConfigConflictError, ProviderSetupInvalidConfigError, QueuedCommandsSurface, ReplRuntimePermissionGrantSuggestion, SimpleApp, SimpleInputPrompt, SimpleMessageDisplay, SimpleStatusBar, SingleLineTextInput, Spinner, StashNotice, StatusBar, StatusBarProps, StatusNoticesSurface, StreamingProvider, StreamingState, Suggestion, SuggestionsDisplay, TextInput, Theme, ThinkingIndicator, ToolCall, ToolCallDisplay, ToolCallStatus, ToolGroup, ToolProgressBar, ToolStatusBadge, TranscriptViewport, UIActions, UIState, UIStateProvider, UseTextBufferReturn, _resetQueuedPromptsCacheForTests, attachClassicPlaneDisplay, bootstrapAutoMode, buildLeanReviewPrompt, buildManagedLiveEventDrafts, buildDisplayName as buildReviewDisplayName, buildReviewPrompt, buildReviewWorkflowRequest, calculateVisualCursorFromLayout, calculateVisualLayout, childActivityId, childActivityLabel, childActivitySource, commandDiscoveryDirs, coreConfigWriteLockPath, createClassicPlaneDialogSurface, createClassicPlaneDisplayDiffer, createCliEvents, createHistoryItem, createJsonEvents, createKeyMatcher, createKeypressManager, createRecoveryHistoryItem, createRetryHistoryItem, createStreamingManager, createToolCall, createUserSkillInvocation, darkTheme, dedupeSessions, detectTerminalCapabilities, detectTerminalHostProfile, detectTerminalRenderHost, discoverCommands, emitRecoveryHistoryItem, emitRetryHistoryItem, findMostRecentResumableSession, formatManagedTaskBreadcrumb, formatWorkflowAgentDigest, generateId, getCharAtCodePoint, getCodePointLength, getConfigTemplate, getCustomProviderConfig, getDefaultCommandDir, getKeyDisplayName, getMcpServerConfig, getProviderSetupCatalog, getTerminalHostCapabilities, getTerminalWidth, getTheme, getThemeNames, getVisualWidth, getVisualWidthCached, hasCursorUpViewportYankRisk, hasMainScreenRenderScrollRisk, inferWorkflowLocaleFromParts, initializeSetupConfiguration, inspectProviderSetupReadiness, isClassicReplForced, isFunctionKey, isOwnedRendererPreferred, isPrintable, isRemoteConptyHost, isScreenReader, isTmuxControlMode, isVsCodeTerminalHostEnv, isWideChar, listCustomProviders, listMcpServers, listRegisteredCommands, loadCommands, measureChildActivitySurfaceRows, minimalTheme, parseClassicChoice, parseCommandCall, parseKeypress, parseReviewInvocation, persistProviderSetupChoice, prepareInvocationExecution, probeProviderReasoningEfforts, processCommandCall, providerSetupRestartInstructions, removeCustomProvider, removeMcpServer, renderSetupGuide, replBashPathSignalCollector, resetTmuxControlModeProbeForTesting, resolveConfiguredTuiRendererMode, resolveEffectiveTuiRendererMode, resolveFullscreenPolicy, resolveInteractiveSurfacePreference, resolveUserSkillInvocation, runProviderSetupWizard, runSessionPicker, splitByCodePoints, supports256Colors, supportsEmoji, supportsTrueColor, supportsUnicode, suppressesChurnOverToolAction, themes, toolActivityDetail, truncateByVisualWidth, truncateChildActivityDetail, upsertCustomProvider, upsertMcpServer, useAutocomplete, useAutocompleteContext, useInputHistory, useKeypress, useKeypressManager, useQueuedPromptContents, useQueuedPrompts, useStreaming, useStreamingActions, useStreamingState, useTextBuffer, useUI, useUIActions, useUIState, validateMcpServerConfig, visualWidthCache, withCapture, withCaptureSync, withCoreConfigWriteLock };
2617
+ export type { AppHandle, AutoModeBootstrapDeps, AutoModeBootstrapResult, BackgroundTaskBarItem, BackgroundTaskBarProps, ChildActivitySurfaceProps, ConfigTemplateName, DialogSelectOption, DialogSurfaceConfirmState, DialogSurfaceProps, DialogSurfaceUIRequestState, DotsIndicatorProps, EffectiveTuiRendererMode, FullscreenPolicy, FullscreenTranscriptLayoutProps, HistoryItemRendererProps, InitializeSetupConfigurationInput, InteractiveSurfacePreference, KeypressManager, KeypressProviderProps, KodaXCommand, KodaXCommandContext, LoadingIndicatorProps, LoadingIndicatorType, MessageActionsProps, MessageListProps, MessageSelectorProps, NotificationSurfaceItem, NotificationsSurfaceProps, PendingInputsIndicatorProps, PersistedProviderSetupChoice, PreparedInvocation, ProbeResult, ProgressIndicatorProps, PromptComposerProps, PromptFooterLeftSideProps, PromptFooterProps, PromptFooterRightSideProps, PromptFooterSurfaceItem, PromptHelpMenuProps, PromptSuggestionsSurfaceProps, ProviderSetupCatalogEntry, ProviderSetupChoice, ProviderSetupCustomProviderMetadata, ProviderSetupInteraction, ProviderSetupReadiness, ProviderSetupWizardResult, QueuedCommandsSurfaceProps, RenderSetupGuideInput, ResolvedAutoModeBootstrapSettings, RunProviderSetupWizardInput, SessionDedupeMatch, SessionDedupeMove, SessionDedupeOptions, SessionDedupeReport, SessionDedupeSkip, SessionDedupeSkipReason, SessionPickerItem, SetupConfigDomain, SetupConfigFileKind, SetupConfigFileResult, SetupConfigFileStatus, SetupConfigurationResult, SpinnerProps, StashNoticeProps, StatusNoticesSurfaceProps, StreamingActions, StreamingContextValue, StreamingManager, StreamingProviderProps, StreamingStateListener, SuggestionsDisplayProps, TerminalCapabilities, TerminalHostCapabilities, TerminalHostDetectionOptions, TerminalHostProfile, TerminalRenderHost, TextInputProps, ThinkingIndicatorProps, ToolCallDisplayProps, ToolGroupProps, ToolProgressBarProps, ToolStatusBadgeProps, TranscriptViewportProps, TuiRendererMode, UIStateProviderProps, UseAutocompleteOptions, UseAutocompleteReturn, UseInputHistoryOptions, UseInputHistoryReturn, UseKeypressOptions, UseTextBufferOptions };