@qoder-ai/qoder-agent-sdk 1.0.32 → 1.0.33

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.
@@ -251,7 +251,7 @@ export type ModelStrategy = {
251
251
  enabled: boolean;
252
252
  disabled_message_key: string;
253
253
  };
254
- export type ModelSource = 'system' | 'user' | 'organization';
254
+ export type ModelSource = 'system' | 'user' | 'organization' | 'custom';
255
255
  /** JSON-compatible value inside a raw server model entry. */
256
256
  export type ServerModelJsonValue = string | number | boolean | null | ServerModelJsonValue[] | {
257
257
  [key: string]: ServerModelJsonValue;
@@ -302,7 +302,7 @@ export type ModelInfo = {
302
302
  modelId?: string;
303
303
  displayName: string;
304
304
  description: string;
305
- /** `'system'` (Qoder catalog), `'user'` (BYOK), or organization-managed. */
305
+ /** `'system'` (Qoder catalog), `'user'` (BYOK), `'organization'`, or `'custom'` (Custom Provider). */
306
306
  source?: ModelSource;
307
307
  /** Server-designated default for the current scene. */
308
308
  isDefault?: boolean;
@@ -125,9 +125,12 @@ export type SDKControlInitializeRequest = {
125
125
  sdkMcpServers?: string[];
126
126
  sdkMcpToolOverrides?: Record<string, Record<string, McpToolRuntimeOverride>>;
127
127
  promptSuggestions?: boolean;
128
+ goalMaxTurns?: number;
128
129
  supportsCatalogReadyInitialize?: boolean;
129
130
  /** Opts this Host into authoritative model snapshots on the Query stream. */
130
131
  supportsAvailableModelsUpdate?: boolean;
132
+ /** Opts this Host into authoritative command snapshots on the Query stream. */
133
+ supportsCommandsChanged?: boolean;
131
134
  initializeTimeoutMs?: number;
132
135
  agentProgressSummaries?: boolean;
133
136
  memory?: SerializableMemoryConfig;
@@ -396,6 +399,9 @@ export type SDKControlMcpSetServersRequest = {
396
399
  export type SDKControlReloadPluginsRequest = {
397
400
  type: 'reload_plugins';
398
401
  };
402
+ export type SDKControlReloadSkillsRequest = {
403
+ type: 'reload_skills';
404
+ };
399
405
  export type SDKControlMcpReconnectRequest = {
400
406
  type: 'mcp_reconnect';
401
407
  serverName: string;
@@ -479,6 +485,163 @@ export type SDKControlValidateByokModelRequest = BYOKModelValidationInput & {
479
485
  export type SDKControlValidateByokModelResponse = {
480
486
  success: boolean;
481
487
  };
488
+ export type ByokProtocol = 'openai' | 'openai-responses' | 'anthropic';
489
+ export type ByokModelConfigInfo = {
490
+ key: string;
491
+ displayName: string;
492
+ provider: string;
493
+ model: string;
494
+ type?: string;
495
+ baseUrl?: string;
496
+ style?: string;
497
+ vision: boolean;
498
+ reasoning: boolean;
499
+ maxInputTokens: number;
500
+ reasoningEfforts?: string[];
501
+ supportsDisabledReasoning?: boolean;
502
+ reasoningEffort?: string;
503
+ availableContextWindows?: number[];
504
+ contextWindow?: number;
505
+ };
506
+ export type CustomByokProviderConfigInfo = {
507
+ providerId: string;
508
+ displayName: string;
509
+ baseUrl: string;
510
+ providerType: 'openai-compatible' | 'alibaba';
511
+ protocol: ByokProtocol;
512
+ authType: 'bearer' | 'api-key';
513
+ defaultModelId: string;
514
+ models: Array<{
515
+ id: string;
516
+ displayName: string;
517
+ vision: boolean;
518
+ reasoning: boolean;
519
+ maxInputTokens: number;
520
+ maxOutputTokens: number;
521
+ reasoningEfforts?: string[];
522
+ }>;
523
+ };
524
+ /** A secret-free persisted BYOK configuration returned by the CLI. */
525
+ export type ByokConfigInfo = ByokModelConfigInfo | CustomByokProviderConfigInfo;
526
+ export type ByokModelConfigInput = {
527
+ provider: string;
528
+ model: string;
529
+ parameters: Record<string, string>;
530
+ key?: string;
531
+ displayName?: string;
532
+ type?: string;
533
+ baseUrl?: string;
534
+ style?: string;
535
+ reasoningEffort?: string;
536
+ contextWindow?: number;
537
+ };
538
+ export type CustomByokProviderThinkingMode = 'enabled' | 'adaptive';
539
+ export type CustomByokProviderReasoningEffortLevel = 'low' | 'medium' | 'high' | 'xhigh' | 'max';
540
+ export type CustomByokProviderThinkingCapabilitiesInput = {
541
+ modes: CustomByokProviderThinkingMode[];
542
+ preferredMode?: CustomByokProviderThinkingMode;
543
+ requiresBudgetForEnabled?: boolean;
544
+ supportsEffort?: boolean;
545
+ supportedEffortLevels?: CustomByokProviderReasoningEffortLevel[];
546
+ requiredBetasForEffort?: string[];
547
+ };
548
+ export type CustomByokProviderModelCapabilitiesInput = {
549
+ tools?: boolean;
550
+ vision?: boolean;
551
+ cacheControl?: boolean;
552
+ thinking?: CustomByokProviderThinkingCapabilitiesInput;
553
+ };
554
+ export type CustomByokProviderModelInput = {
555
+ model: string;
556
+ displayName?: string;
557
+ contextWindow?: number;
558
+ maxOutputTokens?: number;
559
+ capabilities?: CustomByokProviderModelCapabilitiesInput;
560
+ };
561
+ export type CustomByokProviderConfigInput = {
562
+ providerId: string;
563
+ baseUrl: string;
564
+ apiKey: string;
565
+ type?: 'openai-compatible' | 'alibaba' | 'aliyun-bailian';
566
+ protocol?: ByokProtocol;
567
+ authType?: 'bearer' | 'api-key';
568
+ displayName?: string;
569
+ model?: string;
570
+ models?: CustomByokProviderModelInput[];
571
+ };
572
+ export type CreateByokConfigInput = ByokModelConfigInput | CustomByokProviderConfigInput;
573
+ export type UpdateByokModelConfigInput = {
574
+ key: string;
575
+ parameters?: Record<string, string>;
576
+ displayName?: string;
577
+ baseUrl?: string;
578
+ style?: string;
579
+ reasoningEffort?: string;
580
+ contextWindow?: number;
581
+ };
582
+ export type UpdateCustomByokProviderConfigInput = {
583
+ providerId: string;
584
+ baseUrl?: string;
585
+ apiKey?: string;
586
+ type?: 'openai-compatible' | 'alibaba' | 'aliyun-bailian';
587
+ protocol?: ByokProtocol;
588
+ authType?: 'bearer' | 'api-key';
589
+ displayName?: string;
590
+ model?: string;
591
+ models?: CustomByokProviderModelInput[];
592
+ };
593
+ export type UpdateByokConfigInput = UpdateByokModelConfigInput | UpdateCustomByokProviderConfigInput;
594
+ export type DeleteByokConfigInput = {
595
+ key: string;
596
+ } | {
597
+ providerId: string;
598
+ };
599
+ export type CheckByokConfigInput = CreateByokConfigInput;
600
+ export type ByokConfigReference = {
601
+ key: string;
602
+ } | {
603
+ providerId: string;
604
+ };
605
+ export type ByokConfigCheckResult = {
606
+ success: boolean;
607
+ /** Specific failure reason, with supplied credentials replaced by [REDACTED]. */
608
+ error?: string;
609
+ /** Existing validation/transport code, or BYOK_CHECK_FAILED when unavailable. */
610
+ code?: string;
611
+ /** Control request ID for correlating CLI logs. */
612
+ requestId?: string;
613
+ details?: {
614
+ field?: string;
615
+ httpStatus?: number;
616
+ upstreamCode?: string;
617
+ };
618
+ };
619
+ export type SDKControlListByokConfigsRequest = {
620
+ type: 'list_byok_configs';
621
+ };
622
+ export type SDKControlListByokConfigsResponse = {
623
+ configs: ByokConfigInfo[];
624
+ };
625
+ export type SDKControlCreateByokConfigRequest = {
626
+ type: 'create_byok_config';
627
+ config: CreateByokConfigInput;
628
+ };
629
+ export type SDKControlCreateByokConfigResponse = {
630
+ config: ByokConfigReference;
631
+ };
632
+ export type SDKControlUpdateByokConfigRequest = {
633
+ type: 'update_byok_config';
634
+ config: UpdateByokConfigInput;
635
+ };
636
+ export type SDKControlDeleteByokConfigRequest = {
637
+ type: 'delete_byok_config';
638
+ target: DeleteByokConfigInput;
639
+ };
640
+ export type SDKControlCheckByokConfigRequest = {
641
+ type: 'check_byok_config';
642
+ config: CheckByokConfigInput;
643
+ };
644
+ export type SDKControlCheckByokConfigResponse = ByokConfigCheckResult;
482
645
  /** A third-party LLM provider in the BYOK catalog. */
483
646
  export type BYOKProviderInfo = {
484
647
  /** Provider identifier, e.g. "openai", "deepseek" */
@@ -641,6 +804,17 @@ export type SDKControlSetGoalRequest = {
641
804
  export type SDKControlSetGoalResponse = {
642
805
  goal: SDKGoalSnapshot | null;
643
806
  };
807
+ /**
808
+ * Update the maximum turns copied into Goals created after this request.
809
+ * `null` restores the CLI built-in value. The current Goal is unchanged.
810
+ */
811
+ export type SDKControlSetGoalMaxTurnsRequest = {
812
+ subtype: 'set_goal_max_turns';
813
+ max_turns: number | null;
814
+ };
815
+ export type SDKControlSetGoalMaxTurnsResponse = {
816
+ goal_max_turns: number;
817
+ };
644
818
  export type SDKControlGetGoalRequest = {
645
819
  subtype: 'get_goal';
646
820
  };
@@ -653,7 +827,7 @@ export type SDKControlClearGoalRequest = {
653
827
  export type SDKControlClearGoalResponse = {
654
828
  cleared: boolean;
655
829
  };
656
- export type SDKControlRequestInner = SDKControlInterruptRequest | SDKControlPermissionRequest | SDKControlInitializeRequest | SDKControlSetPermissionModeRequest | SDKControlSetModelRequest | SDKControlSetProxyRequest | SDKControlGenerateSessionTitleRequest | SDKControlSideQuestionRequest | SDKControlAddDirectoriesRequest | SDKControlSetMaxThinkingTokensRequest | SDKControlMcpStatusRequest | SDKControlGetContextUsageRequest | SDKControlGetUsageInfoRequest | SDKControlGetModelPolicyRequest | SDKControlAccountInfoRequest | SDKHookCallbackRequest | SDKControlMcpMessageRequest | SDKControlRewindFilesRequest | SDKControlRewindRequest | SDKControlCancelAsyncMessageRequest | SDKControlSeedReadStateRequest | SDKControlMcpSetServersRequest | SDKControlReloadPluginsRequest | SDKControlMcpReconnectRequest | SDKControlMcpToggleRequest | SDKControlApplyFlagSettingsRequest | SDKControlGetSettingsRequest | SDKControlElicitationRequest | SDKControlEndSessionRequest | SDKControlChannelEnableRequest | SDKControlMcpInjectTokenRequest | SDKControlMcpAuthenticateRequest | SDKControlMcpOAuthCallbackUrlRequest | SDKControlMcpClearAuthRequest | SDKControlGetByokConfigRequest | SDKControlValidateByokModelRequest | SDKControlListPluginsRequest | SDKControlStopTaskRequest | SDKControlBackgroundTasksRequest | SDKControlMemoryShouldGenerateRequest | SDKControlFlushMemoryRequest | SDKControlSkillEvolutionShouldReviewRequest | SDKControlFlushSkillEvolutionRequest | SDKControlRefreshMemoryRequest | SDKControlSetPlanModeRequest | SDKControlGetPlanModeRequest | SDKControlSetGoalRequest | SDKControlGetGoalRequest | SDKControlClearGoalRequest;
830
+ export type SDKControlRequestInner = SDKControlInterruptRequest | SDKControlPermissionRequest | SDKControlInitializeRequest | SDKControlSetPermissionModeRequest | SDKControlSetModelRequest | SDKControlSetProxyRequest | SDKControlGenerateSessionTitleRequest | SDKControlSideQuestionRequest | SDKControlAddDirectoriesRequest | SDKControlSetMaxThinkingTokensRequest | SDKControlMcpStatusRequest | SDKControlGetContextUsageRequest | SDKControlGetUsageInfoRequest | SDKControlGetModelPolicyRequest | SDKControlAccountInfoRequest | SDKHookCallbackRequest | SDKControlMcpMessageRequest | SDKControlRewindFilesRequest | SDKControlRewindRequest | SDKControlCancelAsyncMessageRequest | SDKControlSeedReadStateRequest | SDKControlMcpSetServersRequest | SDKControlReloadPluginsRequest | SDKControlReloadSkillsRequest | SDKControlMcpReconnectRequest | SDKControlMcpToggleRequest | SDKControlApplyFlagSettingsRequest | SDKControlGetSettingsRequest | SDKControlElicitationRequest | SDKControlEndSessionRequest | SDKControlChannelEnableRequest | SDKControlMcpInjectTokenRequest | SDKControlMcpAuthenticateRequest | SDKControlMcpOAuthCallbackUrlRequest | SDKControlMcpClearAuthRequest | SDKControlGetByokConfigRequest | SDKControlValidateByokModelRequest | SDKControlListByokConfigsRequest | SDKControlCreateByokConfigRequest | SDKControlUpdateByokConfigRequest | SDKControlDeleteByokConfigRequest | SDKControlCheckByokConfigRequest | SDKControlListPluginsRequest | SDKControlStopTaskRequest | SDKControlBackgroundTasksRequest | SDKControlMemoryShouldGenerateRequest | SDKControlFlushMemoryRequest | SDKControlSkillEvolutionShouldReviewRequest | SDKControlFlushSkillEvolutionRequest | SDKControlRefreshMemoryRequest | SDKControlSetPlanModeRequest | SDKControlGetPlanModeRequest | SDKControlSetGoalRequest | SDKControlSetGoalMaxTurnsRequest | SDKControlGetGoalRequest | SDKControlClearGoalRequest;
657
831
  export type SDKControlInitializeResponse = {
658
832
  commands: SlashCommand[];
659
833
  agents: AgentInfo[];
@@ -729,6 +903,9 @@ export type SDKControlReloadPluginsResponse = {
729
903
  mcpServers: McpServerStatus[];
730
904
  error_count: number;
731
905
  };
906
+ export type SDKControlReloadSkillsResponse = {
907
+ skills: SlashCommand[];
908
+ };
732
909
  export type SDKControlMcpStatusResponse = {
733
910
  servers: McpServerStatus[];
734
911
  };
@@ -45,6 +45,8 @@ export type PostToolUseFailureHookInput = BaseHookInput & {
45
45
  export type UserPromptSubmitHookInput = BaseHookInput & {
46
46
  hook_event_name: 'UserPromptSubmit';
47
47
  prompt: string;
48
+ /** Resolved HTTP(S) image URLs; omitted when none are available. */
49
+ image_urls?: string[];
48
50
  };
49
51
  export type SessionStartHookInput = BaseHookInput & {
50
52
  hook_event_name: 'SessionStart';
@@ -21,8 +21,8 @@ export type { EffectiveMemoryConfig, MemoryConsumptionFile, MemoryConsumptionRes
21
21
  export type { EffectiveEvolutionConfig, EffectiveSkillEvolutionConfig, SerializableEvolutionConfig, SerializableSkillEvolutionConfig, SerializableSkillEvolutionGenerationOptions, SkillEvolutionGateInput, SkillEvolutionGateResult, SkillEvolutionMode, SkillEvolutionResult, SkillEvolutionSuggestion, } from './skill-evolution.js';
22
22
  export type { PermissionMode, PermissionBehavior, PermissionDecisionClassification, PermissionUpdateDestination, PermissionRuleValue, PermissionUpdate, PermissionResult, } from './permissions.js';
23
23
  export type { McpStdioServerConfig, McpSSEServerConfig, McpHttpServerConfig, McpSdkServerConfig, McpServerConfigForProcessTransport, McpServerStatus, McpServerStatusConfig, McpSetServersResult, OAuthToken, } from './mcp.js';
24
- export type { SDKAssistantMessage, SDKToolNonExecutionKind, SDKToolResultMeta, SDKUserMessage, SDKUserMessageReplay, SDKResultSuccess, SDKResultError, SDKResultMessage, SDKFileAttachment, SDKSystemMessage, SDKArtifactInfo, SDKArtifactUpdateMessage, SDKAvailableModelsUpdateMessage, SDKPartialAssistantMessage, SDKCompactBoundaryMessage, SDKStatusMessage, SDKAPIRetryMessage, SDKModelQueueStatusMessage, SDKControlRequestProgressMessage, SDKCommandLifecycleMessage, SDKHookStartedMessage, SDKHookProgressMessage, SDKHookResponseMessage, SDKTaskNotificationMessage, SDKTaskStartedMessage, SDKTaskProgressMessage, SDKTaskUpdatedMessage, SDKBackgroundTasksChangedMessage, SDKSessionStateChangedMessage, SDKPlanModeChangedMessage, SDKGoalUpdatedMessage, SDKGoalClearedMessage, SDKSessionTitleChangedMessage, SDKFilesPersistedEvent, SDKElicitationCompleteMessage, SDKPromptSuggestionMessage, SDKCloudAgentEventMessage, SDKMemoryGenerationMessage, SDKMemoryConsumptionMessage, SDKSkillEvolutionMessage, SDKPermissionDenial, SDKPermissionDeniedMessage, SDKPermissionDeniedReasonType, SDKMessage, } from './messages.js';
24
+ export type { SDKAssistantMessage, SDKToolNonExecutionKind, SDKToolResultMeta, SDKMessageOrigin, SDKUserMessage, SDKUserMessageReplay, SDKResultSuccess, SDKResultError, SDKResultMessage, SDKFileAttachment, SDKSystemMessage, SDKArtifactInfo, SDKArtifactUpdateMessage, SDKAvailableModelsUpdateMessage, SDKCommandsChangedMessage, SDKPartialAssistantMessage, SDKCompactBoundaryMessage, SDKStatusMessage, SDKAPIRetryMessage, SDKModelQueueStatusMessage, SDKControlRequestProgressMessage, SDKCommandLifecycleMessage, SDKHookStartedMessage, SDKHookProgressMessage, SDKHookResponseMessage, SDKTaskNotificationMessage, SDKTaskStartedMessage, SDKTaskProgressMessage, SDKTaskUpdatedMessage, SDKBackgroundTasksChangedMessage, SDKSessionStateChangedMessage, SDKPlanModeChangedMessage, SDKGoalUpdatedMessage, SDKGoalClearedMessage, SDKSessionTitleChangedMessage, SDKFilesPersistedEvent, SDKElicitationCompleteMessage, SDKPromptSuggestionMessage, SDKCloudAgentEventMessage, SDKMemoryGenerationMessage, SDKMemoryConsumptionMessage, SDKSkillEvolutionMessage, SDKPermissionDenial, SDKPermissionDeniedMessage, SDKPermissionDeniedReasonType, SDKMessage, } from './messages.js';
25
25
  export type { BaseHookInput, PreToolUseHookInput, PostToolUseHookInput, PostToolUseFailureHookInput, UserPromptSubmitHookInput, SessionStartHookInput, SessionEndHookInput, StopHookInput, StopFailureHookInput, SubagentStartHookInput, SubagentStopHookInput, PreCompactHookInput, PostCompactHookInput, PermissionRequestHookInput, PermissionDeniedHookInput, SetupHookInput, TeammateIdleHookInput, TaskCreatedHookInput, TaskCompletedHookInput, ElicitationHookInput, ElicitationResultHookInput, ConfigChangeHookInput, WorktreeCreateHookInput, WorktreeRemoveHookInput, InstructionsLoadedHookInput, CwdChangedHookInput, FileChangedHookInput, HookInput, PreToolUseHookSpecificOutput, PostToolUseHookSpecificOutput, PostToolUseFailureHookSpecificOutput, UserPromptSubmitHookSpecificOutput, SessionStartHookSpecificOutput, SetupHookSpecificOutput, SubagentStartHookSpecificOutput, PermissionRequestHookSpecificOutput, ElicitationHookSpecificOutput, ElicitationResultHookSpecificOutput, CwdChangedHookSpecificOutput, FileChangedHookSpecificOutput, WorktreeCreateHookSpecificOutput, SyncHookJSONOutput, AsyncHookJSONOutput, HookJSONOutput, HookEvent, } from './hooks.js';
26
26
  export type { AgentMcpServerSpec, AgentDefinition, AgentInfo, AgentMemoryScope, } from './agents.js';
27
27
  export { QoderModelPurpose } from './control.js';
28
- export type { SDKControlRequest, SDKControlResponse, SDKControlCancelRequest, DaemonEventMessage, SDKControlInterruptRequest, SDKControlInterruptResponse, SDKControlPermissionRequest, SDKControlInitializeRequest, SDKControlSetPermissionModeRequest, SDKControlSetModelRequest, SDKControlGenerateSessionTitleRequest, SDKControlGenerateSessionTitleResponse, SideQuestionHistoryEntry, AskSideQuestionOptions, SideQuestionRefusalFallback, SideQuestionResult, SDKControlSideQuestionRequest, SDKControlSideQuestionResponse, SDKControlAddDirectoriesRequest, SDKControlAddDirectoriesResponse, SDKControlGetModelPolicyRequest, SDKControlGetModelPolicyResponse, SDKControlSetMaxThinkingTokensRequest, SDKControlMcpStatusRequest, SDKControlGetContextUsageRequest, SDKControlGetUsageInfoRequest, SDKControlGetUsageInfoResponse, SDKControlAccountInfoRequest, SDKHookCallbackRequest, SDKControlMcpMessageRequest, SDKControlRewindFilesRequest, SDKControlRewindRequest, SDKControlCancelAsyncMessageRequest, SDKControlSeedReadStateRequest, SDKControlMcpSetServersRequest, SDKControlReloadPluginsRequest, SDKControlMcpReconnectRequest, SDKControlMcpToggleRequest, SDKControlApplyFlagSettingsRequest, SDKControlGetSettingsRequest, SDKControlElicitationRequest, SDKControlEndSessionRequest, SDKControlChannelEnableRequest, SDKControlMcpInjectTokenRequest, SDKControlMcpAuthenticateRequest, SDKControlMcpOAuthCallbackUrlRequest, SDKControlMcpClearAuthRequest, SDKPlanModeSnapshot, SDKControlSetPlanModeRequest, SDKControlSetPlanModeResponse, SDKControlGetPlanModeRequest, SDKControlGetPlanModeResponse, SDKGoalStatus, SDKGoalSnapshot, SDKControlSetGoalRequest, SDKControlSetGoalResponse, SDKControlGetGoalRequest, SDKControlGetGoalResponse, SDKControlClearGoalRequest, SDKControlClearGoalResponse, SDKControlRequestInner, SDKControlInitializeResponse, SDKControlGetContextUsageResponse, SDKControlReloadPluginsResponse, SDKControlMcpStatusResponse, SDKControlMcpSetServersResponse, SDKControlMcpAuthenticateResponse, SDKControlGetByokConfigRequest, SDKControlGetByokConfigResponse, SDKControlValidateByokModelRequest, SDKControlValidateByokModelResponse, BYOKModelValidationInput, BYOKProviderInfo, BYOKFieldInfo, BYOKModelTypeInfo, BYOKModelInfo, CustomModel, SDKControlListPluginsRequest, SDKControlListPluginsResponse, SDKControlStopTaskRequest, SDKControlBackgroundTasksRequest, SDKControlBackgroundTasksResponse, SDKControlMemoryShouldGenerateRequest, SDKControlFlushMemoryRequest, SDKControlRefreshMemoryRequest, SDKControlSkillEvolutionShouldReviewRequest, SDKControlFlushSkillEvolutionRequest, SDKKeepAliveMessage, StdoutMessage, ControlMcpServerConfig, } from './control.js';
28
+ export type { SDKControlRequest, SDKControlResponse, SDKControlCancelRequest, DaemonEventMessage, SDKControlInterruptRequest, SDKControlInterruptResponse, SDKControlPermissionRequest, SDKControlInitializeRequest, SDKControlSetPermissionModeRequest, SDKControlSetModelRequest, SDKControlGenerateSessionTitleRequest, SDKControlGenerateSessionTitleResponse, SideQuestionHistoryEntry, AskSideQuestionOptions, SideQuestionRefusalFallback, SideQuestionResult, SDKControlSideQuestionRequest, SDKControlSideQuestionResponse, SDKControlAddDirectoriesRequest, SDKControlAddDirectoriesResponse, SDKControlGetModelPolicyRequest, SDKControlGetModelPolicyResponse, SDKControlSetMaxThinkingTokensRequest, SDKControlMcpStatusRequest, SDKControlGetContextUsageRequest, SDKControlGetUsageInfoRequest, SDKControlGetUsageInfoResponse, SDKControlAccountInfoRequest, SDKHookCallbackRequest, SDKControlMcpMessageRequest, SDKControlRewindFilesRequest, SDKControlRewindRequest, SDKControlCancelAsyncMessageRequest, SDKControlSeedReadStateRequest, SDKControlMcpSetServersRequest, SDKControlReloadPluginsRequest, SDKControlReloadSkillsRequest, SDKControlMcpReconnectRequest, SDKControlMcpToggleRequest, SDKControlApplyFlagSettingsRequest, SDKControlGetSettingsRequest, SDKControlElicitationRequest, SDKControlEndSessionRequest, SDKControlChannelEnableRequest, SDKControlMcpInjectTokenRequest, SDKControlMcpAuthenticateRequest, SDKControlMcpOAuthCallbackUrlRequest, SDKControlMcpClearAuthRequest, SDKPlanModeSnapshot, SDKControlSetPlanModeRequest, SDKControlSetPlanModeResponse, SDKControlGetPlanModeRequest, SDKControlGetPlanModeResponse, SDKGoalStatus, SDKGoalSnapshot, SDKControlSetGoalRequest, SDKControlSetGoalResponse, SDKControlSetGoalMaxTurnsRequest, SDKControlSetGoalMaxTurnsResponse, SDKControlGetGoalRequest, SDKControlGetGoalResponse, SDKControlClearGoalRequest, SDKControlClearGoalResponse, SDKControlRequestInner, SDKControlInitializeResponse, SDKControlGetContextUsageResponse, SDKControlReloadPluginsResponse, SDKControlReloadSkillsResponse, SDKControlMcpStatusResponse, SDKControlMcpSetServersResponse, SDKControlMcpAuthenticateResponse, SDKControlGetByokConfigRequest, SDKControlGetByokConfigResponse, SDKControlValidateByokModelRequest, SDKControlValidateByokModelResponse, SDKControlListByokConfigsRequest, SDKControlListByokConfigsResponse, SDKControlCreateByokConfigRequest, SDKControlCreateByokConfigResponse, SDKControlUpdateByokConfigRequest, SDKControlDeleteByokConfigRequest, SDKControlCheckByokConfigRequest, SDKControlCheckByokConfigResponse, BYOKModelValidationInput, BYOKProviderInfo, BYOKFieldInfo, BYOKModelTypeInfo, BYOKModelInfo, ByokProtocol, ByokModelConfigInfo, CustomByokProviderConfigInfo, ByokConfigInfo, ByokModelConfigInput, CustomByokProviderThinkingMode, CustomByokProviderReasoningEffortLevel, CustomByokProviderThinkingCapabilitiesInput, CustomByokProviderModelCapabilitiesInput, CustomByokProviderModelInput, CustomByokProviderConfigInput, CreateByokConfigInput, UpdateByokModelConfigInput, UpdateCustomByokProviderConfigInput, UpdateByokConfigInput, DeleteByokConfigInput, CheckByokConfigInput, ByokConfigReference, ByokConfigCheckResult, CustomModel, SDKControlListPluginsRequest, SDKControlListPluginsResponse, SDKControlStopTaskRequest, SDKControlBackgroundTasksRequest, SDKControlBackgroundTasksResponse, SDKControlMemoryShouldGenerateRequest, SDKControlFlushMemoryRequest, SDKControlRefreshMemoryRequest, SDKControlSkillEvolutionShouldReviewRequest, SDKControlFlushSkillEvolutionRequest, SDKKeepAliveMessage, StdoutMessage, ControlMcpServerConfig, } from './control.js';
@@ -1 +1 @@
1
- var a="1.3.0";var r=["l1StaticCheck","l2LightweightScan","l3DeepScan"];function i(e){if(e===null||typeof e!="object"||Array.isArray(e))throw new TypeError("securityScan must be an object.");let t=new Set(r),n=Object.keys(e).filter(o=>!t.has(o));if(n.length>0)throw new TypeError(`securityScan contains unknown option${n.length===1?"":"s"}: ${n.join(", ")}.`);for(let o of r){let s=e[o];if(s!==void 0&&typeof s!="boolean")throw new TypeError(`securityScan.${o} must be a boolean.`)}return{l1StaticCheck:e.l1StaticCheck??!1,l2LightweightScan:e.l2LightweightScan??!1,l3DeepScan:e.l3DeepScan??!1}}function p(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function l(e={}){let t={...e.settings??{}},n=e.aiCodeTracking?.installGitCommitHook;if(n!==void 0){let o=t.aiCodeTracking;t.aiCodeTracking={...p(o)?o:{},installGitCommitHook:n}}return e.securityScan!==void 0&&(t.securityScan=i(e.securityScan)),t}function u(e={}){let t=l(e);return Object.keys(t).length===0?[]:["--settings",JSON.stringify(t)]}var S={Main:"main",Plan:"plan",Task:"task",Compact:"compact",Title:"title",Suggestion:"suggestion",Generate:"generate",HookPrompt:"hook_prompt",Subagent:"subagent",WebFetch:"web_fetch",ImageGen:"image_gen",Compression:"compression",Utility:"utility"};export{S as QoderModelPurpose,a as WIRE_PROTOCOL_VERSION,l as buildQoderCliFlagSettings,u as buildQoderCliFlagSettingsArgs};
1
+ var a="1.4.0";var r=["l1StaticCheck","l2LightweightScan","l3DeepScan"];function i(e){if(e===null||typeof e!="object"||Array.isArray(e))throw new TypeError("securityScan must be an object.");let o=new Set(r),n=Object.keys(e).filter(t=>!o.has(t));if(n.length>0)throw new TypeError(`securityScan contains unknown option${n.length===1?"":"s"}: ${n.join(", ")}.`);for(let t of r){let s=e[t];if(s!==void 0&&typeof s!="boolean")throw new TypeError(`securityScan.${t} must be a boolean.`)}return{l1StaticCheck:e.l1StaticCheck??!1,l2LightweightScan:e.l2LightweightScan??!1,l3DeepScan:e.l3DeepScan??!1}}function p(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function l(e={}){let o={...e.settings??{}},n=e.aiCodeTracking?.installGitCommitHook;if(n!==void 0){let t=o.aiCodeTracking;o.aiCodeTracking={...p(t)?t:{},installGitCommitHook:n}}return e.securityScan!==void 0&&(o.securityScan=i(e.securityScan)),o}function u(e={}){let o=l(e);return Object.keys(o).length===0?[]:["--settings",JSON.stringify(o)]}var g={Main:"main",Plan:"plan",Task:"task",Compact:"compact",Title:"title",Suggestion:"suggestion",Generate:"generate",HookPrompt:"hook_prompt",Subagent:"subagent",WebFetch:"web_fetch",ImageGen:"image_gen",Compression:"compression",Utility:"utility"};export{g as QoderModelPurpose,a as WIRE_PROTOCOL_VERSION,l as buildQoderCliFlagSettings,u as buildQoderCliFlagSettingsArgs};
@@ -11,7 +11,7 @@
11
11
  * `@google/gemini-cli-core/protocol/schemas` are kept aligned via
12
12
  * `satisfies z.ZodType<...>` against these types.
13
13
  */
14
- import type { BetaMessage, BetaRawMessageStreamEvent, MessageParam, UUID, SDKAssistantMessageError, FastModeState, ApiKeySource, ModelUsage, NonNullableUsage, PluginInfo, ModelInfo, SDKStatus } from './common.js';
14
+ import type { BetaMessage, BetaRawMessageStreamEvent, MessageParam, UUID, SDKAssistantMessageError, FastModeState, ApiKeySource, ModelUsage, NonNullableUsage, PluginInfo, ModelInfo, SlashCommand, SDKStatus } from './common.js';
15
15
  import type { PermissionMode } from './permissions.js';
16
16
  import type { MemoryConsumptionResult, MemoryGenerationResult } from './memory.js';
17
17
  import type { SkillEvolutionResult } from './skill-evolution.js';
@@ -48,6 +48,21 @@ export type SDKToolResultMeta = {
48
48
  non_execution_kind: SDKToolNonExecutionKind;
49
49
  user_feedback?: string;
50
50
  };
51
+ /** 触发一条 SDK 消息的公开来源。内部协调器元数据不会暴露。 */
52
+ export type SDKMessageOrigin = {
53
+ kind: 'task-notification';
54
+ } | {
55
+ kind: 'peer';
56
+ from?: string;
57
+ senderTaskId?: string;
58
+ name?: string;
59
+ body?: string;
60
+ } | {
61
+ kind: 'human';
62
+ } | {
63
+ kind: 'bridge';
64
+ sessionId?: string;
65
+ };
51
66
  export type SDKUserMessage = {
52
67
  type: 'user';
53
68
  message: MessageParam;
@@ -55,6 +70,7 @@ export type SDKUserMessage = {
55
70
  custom_context?: Record<string, string>;
56
71
  file_attachments?: SDKFileAttachment[];
57
72
  isSynthetic?: boolean;
73
+ origin?: SDKMessageOrigin;
58
74
  tool_use_result?: unknown;
59
75
  tool_result_meta?: SDKToolResultMeta[];
60
76
  /**
@@ -78,6 +94,7 @@ export type SDKUserMessageReplay = {
78
94
  parent_tool_use_id: string | null;
79
95
  file_attachments?: SDKFileAttachment[];
80
96
  isSynthetic?: boolean;
97
+ origin?: SDKMessageOrigin;
81
98
  tool_use_result?: unknown;
82
99
  tool_result_meta?: SDKToolResultMeta[];
83
100
  /**
@@ -115,6 +132,7 @@ export type SDKResultSuccess = {
115
132
  deferred_tool_use?: unknown;
116
133
  terminal_reason?: string | null;
117
134
  fast_mode_state?: FastModeState;
135
+ origin?: SDKMessageOrigin;
118
136
  uuid: UUID;
119
137
  session_id: string;
120
138
  };
@@ -136,6 +154,7 @@ export type SDKResultError = {
136
154
  error_code?: number;
137
155
  terminal_reason?: string | null;
138
156
  fast_mode_state?: FastModeState;
157
+ origin?: SDKMessageOrigin;
139
158
  uuid: UUID;
140
159
  session_id: string;
141
160
  };
@@ -544,4 +563,17 @@ export type SDKAvailableModelsUpdateMessage = {
544
563
  uuid: UUID;
545
564
  session_id: string;
546
565
  };
547
- export type SDKMessage = SDKAssistantMessage | SDKUserMessage | SDKUserMessageReplay | SDKResultMessage | SDKSystemMessage | SDKArtifactUpdateMessage | SDKAvailableModelsUpdateMessage | SDKPermissionDeniedMessage | SDKPartialAssistantMessage | SDKCompactBoundaryMessage | SDKStatusMessage | SDKAPIRetryMessage | SDKModelQueueStatusMessage | SDKControlRequestProgressMessage | SDKCommandLifecycleMessage | SDKHookStartedMessage | SDKHookProgressMessage | SDKHookResponseMessage | SDKTaskNotificationMessage | SDKTaskStartedMessage | SDKTaskProgressMessage | SDKTaskUpdatedMessage | SDKBackgroundTasksChangedMessage | SDKSessionStateChangedMessage | SDKPlanModeChangedMessage | SDKGoalUpdatedMessage | SDKGoalClearedMessage | SDKSessionTitleChangedMessage | SDKFilesPersistedEvent | SDKElicitationCompleteMessage | SDKPromptSuggestionMessage | SDKCloudAgentEventMessage | SDKMemoryGenerationMessage | SDKMemoryConsumptionMessage | SDKSkillEvolutionMessage;
566
+ /**
567
+ * Authoritative snapshot of commands available to a running Session.
568
+ *
569
+ * Consumers should replace their local command catalog instead of merging this
570
+ * event, because removed commands are intentionally absent from the snapshot.
571
+ */
572
+ export type SDKCommandsChangedMessage = {
573
+ type: 'system';
574
+ subtype: 'commands_changed';
575
+ commands: SlashCommand[];
576
+ uuid: UUID;
577
+ session_id: string;
578
+ };
579
+ export type SDKMessage = SDKAssistantMessage | SDKUserMessage | SDKUserMessageReplay | SDKResultMessage | SDKSystemMessage | SDKArtifactUpdateMessage | SDKAvailableModelsUpdateMessage | SDKCommandsChangedMessage | SDKPermissionDeniedMessage | SDKPartialAssistantMessage | SDKCompactBoundaryMessage | SDKStatusMessage | SDKAPIRetryMessage | SDKModelQueueStatusMessage | SDKControlRequestProgressMessage | SDKCommandLifecycleMessage | SDKHookStartedMessage | SDKHookProgressMessage | SDKHookResponseMessage | SDKTaskNotificationMessage | SDKTaskStartedMessage | SDKTaskProgressMessage | SDKTaskUpdatedMessage | SDKBackgroundTasksChangedMessage | SDKSessionStateChangedMessage | SDKPlanModeChangedMessage | SDKGoalUpdatedMessage | SDKGoalClearedMessage | SDKSessionTitleChangedMessage | SDKFilesPersistedEvent | SDKElicitationCompleteMessage | SDKPromptSuggestionMessage | SDKCloudAgentEventMessage | SDKMemoryGenerationMessage | SDKMemoryConsumptionMessage | SDKSkillEvolutionMessage;
@@ -21,5 +21,5 @@
21
21
  * `system/init` JSONL message. The SDK validates it against the
22
22
  * version it was built against using semver.
23
23
  */
24
- export declare const WIRE_PROTOCOL_VERSION: "1.3.0";
24
+ export declare const WIRE_PROTOCOL_VERSION: "1.4.0";
25
25
  export type WireProtocolVersion = string;
@@ -0,0 +1 @@
1
+ export declare function assertValidGoalMaxTurns(value: number): void;
@@ -26,7 +26,7 @@ import type { Transport } from '../core/transport.js';
26
26
  import type { SDKMessage, SDKUserMessage } from '../types/messages.js';
27
27
  import type { InternalQuery, OnElicitation } from '../types/options.js';
28
28
  import type { FetchJobToken, FetchServiceAccountToken } from '../types/auth.js';
29
- import type { SDKPlanModeSnapshot, SDKGoalSnapshot, SDKGoalStatus, SDKControlInterruptResponse, SDKControlInitializeResponse, SDKControlGetContextUsageResponse, SDKControlGenerateSessionTitleResponse, AskSideQuestionOptions, SideQuestionResult, SDKControlAddDirectoriesResponse, SDKControlReloadPluginsResponse } from '../types/control.js';
29
+ import type { SDKPlanModeSnapshot, SDKGoalSnapshot, SDKGoalStatus, SDKControlInterruptResponse, SDKControlInitializeResponse, SDKControlGetContextUsageResponse, SDKControlGenerateSessionTitleResponse, AskSideQuestionOptions, SideQuestionResult, SDKControlAddDirectoriesResponse, SDKControlReloadPluginsResponse, SDKControlReloadSkillsResponse } from '../types/control.js';
30
30
  import type { PermissionMode, CanUseTool } from '../types/permissions.js';
31
31
  import type { HookCallbackMatcher } from '../types/hooks.js';
32
32
  import type { HookEvent as InternalHookEvent } from '../protocol/index.js';
@@ -42,7 +42,7 @@ import type { ModelInfo, SlashCommand, AccountInfo, UsageInfo } from '../types/c
42
42
  import type { ModelPolicyProvider } from '../types/model-policy-provider.js';
43
43
  import type { MemoryRuntimeCallbacks, SerializableMemoryConfig } from '../types/memory.js';
44
44
  import type { SkillEvolutionRuntimeCallbacks, SerializableEvolutionConfig } from '../types/skill-evolution.js';
45
- import type { BYOKModelValidationInput, BYOKProviderInfo } from '../types/byok.js';
45
+ import type { BYOKModelValidationInput, BYOKProviderInfo, ByokConfigCheckResult, ByokConfigInfo, ByokConfigReference, CheckByokConfigInput, CreateByokConfigInput, DeleteByokConfigInput, UpdateByokConfigInput } from '../types/byok.js';
46
46
  /** Init config passed to the initialize control request. */
47
47
  type InitConfig = {
48
48
  systemPrompt?: string;
@@ -52,6 +52,7 @@ type InitConfig = {
52
52
  skills?: string[];
53
53
  planMode?: boolean;
54
54
  promptSuggestions?: boolean;
55
+ goalMaxTurns?: number;
55
56
  enableFileCheckpointing?: boolean;
56
57
  memory?: SerializableMemoryConfig;
57
58
  evolution?: SerializableEvolutionConfig;
@@ -71,7 +72,9 @@ export declare class QueryRunner implements InternalQuery {
71
72
  private static readonly BACKGROUND_TASKS_CAPABILITY;
72
73
  private static readonly SIDE_QUESTION_CAPABILITY;
73
74
  private static readonly GOAL_CAPABILITY;
75
+ private static readonly GOAL_MAX_TURNS_CAPABILITY;
74
76
  private static readonly PLAN_MODE_CAPABILITY;
77
+ private static readonly BYOK_CONFIG_MANAGEMENT_CAPABILITY;
75
78
  private static readonly SESSION_STORE_FORK_BARRIER_CAPABILITY;
76
79
  private readonly transport;
77
80
  private readonly inputStream;
@@ -100,6 +103,7 @@ export declare class QueryRunner implements InternalQuery {
100
103
  private readonly memoryCallbacks?;
101
104
  private readonly skillEvolutionCallbacks?;
102
105
  private initResponse?;
106
+ private latestCommands;
103
107
  private initializationPromise?;
104
108
  private resultMessage?;
105
109
  /**
@@ -228,6 +232,8 @@ export declare class QueryRunner implements InternalQuery {
228
232
  * is available, matching the Query interface contract.
229
233
  */
230
234
  initializationResult(): Promise<SDKControlInitializeResponse>;
235
+ private replaceLatestCommands;
236
+ private getLatestCommands;
231
237
  /**
232
238
  * Stream user messages into the session.
233
239
  *
@@ -261,6 +267,11 @@ export declare class QueryRunner implements InternalQuery {
261
267
  status?: SDKGoalStatus;
262
268
  creditsBudget?: number | null;
263
269
  }): Promise<SDKGoalSnapshot | null>;
270
+ /**
271
+ * Update the maximum turns copied into Goals created after this call.
272
+ * The current Goal is unchanged; null restores the CLI built-in value.
273
+ */
274
+ setGoalMaxTurns(maxTurns: number | null): Promise<number>;
264
275
  /** Read the current goal, or null when the session has none. */
265
276
  getGoal(): Promise<SDKGoalSnapshot | null>;
266
277
  /** Clear the session goal. Returns whether a goal was actually cleared. */
@@ -270,6 +281,8 @@ export declare class QueryRunner implements InternalQuery {
270
281
  /** Read the authoritative Plan Mode state from the running CLI session. */
271
282
  getPlanMode(): Promise<SDKPlanModeSnapshot>;
272
283
  private requireCliCapability;
284
+ /** Apply init-only configuration that an attached daemon did not consume. */
285
+ private applyAttachedGoalMaxTurns;
273
286
  /**
274
287
  * Set the permission mode.
275
288
  */
@@ -320,6 +333,11 @@ export declare class QueryRunner implements InternalQuery {
320
333
  * Validate a BYOK provider/model/API-key combination through the CLI.
321
334
  */
322
335
  validateByokModel(input: BYOKModelValidationInput): Promise<boolean | null>;
336
+ listByokConfigs(): Promise<ByokConfigInfo[]>;
337
+ createByokConfig(input: CreateByokConfigInput): Promise<ByokConfigReference>;
338
+ updateByokConfig(input: UpdateByokConfigInput): Promise<void>;
339
+ deleteByokConfig(target: DeleteByokConfigInput): Promise<void>;
340
+ checkByokConfig(input: CheckByokConfigInput): Promise<ByokConfigCheckResult>;
323
341
  /**
324
342
  * Get supported agents.
325
343
  */
@@ -350,6 +368,8 @@ export declare class QueryRunner implements InternalQuery {
350
368
  * Reload plugins.
351
369
  */
352
370
  reloadPlugins(): Promise<SDKControlReloadPluginsResponse>;
371
+ /** Rescan Skills and return the CLI's displayable, user-invocable snapshot. */
372
+ reloadSkills(): Promise<SDKControlReloadSkillsResponse>;
353
373
  listPlugins(): Promise<PluginDetails[]>;
354
374
  /**
355
375
  * Rewind files to a previous user message.
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "version": 1,
3
3
  "brand": "global",
4
- "sdkVersion": "1.0.32",
5
- "qoderCliVersion": "1.1.40",
4
+ "sdkVersion": "1.0.33",
5
+ "qoderCliVersion": "1.1.43",
6
6
  "defaultTransport": "worker",
7
7
  "workerRuntime": {
8
8
  "packaged": false,
9
9
  "delivery": "install",
10
10
  "source": "qodercli-worker-runtime",
11
- "urlTemplate": "https://download.qoder.com/qodercli/releases/1.1.40/qodercli-worker-runtime-{target}.tgz",
11
+ "urlTemplate": "https://download.qoder.com/qodercli/releases/1.1.43/qodercli-worker-runtime-{target}.tgz",
12
12
  "artifactNameTemplate": "qodercli-worker-runtime-{target}.tgz",
13
- "sdkVersion": "1.0.32",
14
- "qoderCliVersion": "1.1.40"
13
+ "sdkVersion": "1.0.33",
14
+ "qoderCliVersion": "1.1.43"
15
15
  }
16
16
  }
@@ -1,13 +1,13 @@
1
1
  /**
2
2
  * BYOK (Bring Your Own Key) types.
3
3
  *
4
- * These types represent the BYOK provider/model catalog returned by the CLI
5
- * when the SDK sends a `get_byok_config` control request, and the per-call
6
- * credential payload the host returns from `resolveModel` to route a
7
- * single LLM call through a third-party provider.
4
+ * These types represent the server BYOK provider/model catalog, persisted
5
+ * BYOK configurations, and the per-call credential payload the host returns
6
+ * from `resolveModel` to route a single LLM call through a third-party
7
+ * provider.
8
8
  *
9
9
  * `CustomModel` is the wire shape shared with the CLI via the protocol
10
10
  * module — defining it once on the protocol avoids snake/camel drift across
11
11
  * SDK and CLI.
12
12
  */
13
- export type { SDKControlGetByokConfigRequest, SDKControlGetByokConfigResponse, SDKControlValidateByokModelRequest, SDKControlValidateByokModelResponse, BYOKModelValidationInput, CustomModel, BYOKProviderInfo, BYOKFieldInfo, BYOKModelTypeInfo, BYOKModelInfo, } from '../protocol/index.js';
13
+ export type { SDKControlGetByokConfigRequest, SDKControlGetByokConfigResponse, SDKControlValidateByokModelRequest, SDKControlValidateByokModelResponse, SDKControlListByokConfigsRequest, SDKControlListByokConfigsResponse, SDKControlCreateByokConfigRequest, SDKControlCreateByokConfigResponse, SDKControlUpdateByokConfigRequest, SDKControlDeleteByokConfigRequest, SDKControlCheckByokConfigRequest, SDKControlCheckByokConfigResponse, BYOKModelValidationInput, CustomModel, BYOKProviderInfo, BYOKFieldInfo, BYOKModelTypeInfo, BYOKModelInfo, ByokProtocol, ByokModelConfigInfo, CustomByokProviderConfigInfo, ByokConfigInfo, ByokModelConfigInput, CustomByokProviderThinkingMode, CustomByokProviderReasoningEffortLevel, CustomByokProviderThinkingCapabilitiesInput, CustomByokProviderModelCapabilitiesInput, CustomByokProviderModelInput, CustomByokProviderConfigInput, CreateByokConfigInput, UpdateByokModelConfigInput, UpdateCustomByokProviderConfigInput, UpdateByokConfigInput, DeleteByokConfigInput, CheckByokConfigInput, ByokConfigReference, ByokConfigCheckResult, } from '../protocol/index.js';
@@ -5,7 +5,7 @@
5
5
  * shim so existing SDK consumer imports keep working.
6
6
  */
7
7
  export type { QoderModelPurpose } from '../protocol/index.js';
8
- export type { SDKControlRequest, SDKControlResponse, SDKControlCancelRequest, SDKControlInterruptRequest, SDKControlInterruptResponse, SDKControlPermissionRequest, SDKControlInitializeRequest, SDKControlSetPermissionModeRequest, SDKControlSetModelRequest, SDKPlanModeSnapshot, SDKControlSetPlanModeRequest, SDKControlSetPlanModeResponse, SDKControlGetPlanModeRequest, SDKControlGetPlanModeResponse, SDKControlSetGoalRequest, SDKControlSetGoalResponse, SDKControlGetGoalRequest, SDKControlGetGoalResponse, SDKControlClearGoalRequest, SDKControlClearGoalResponse, SDKGoalSnapshot, SDKGoalStatus, SDKControlGenerateSessionTitleRequest, SDKControlGenerateSessionTitleResponse, SideQuestionHistoryEntry, AskSideQuestionOptions, SideQuestionRefusalFallback, SideQuestionResult, SDKControlSideQuestionRequest, SDKControlSideQuestionResponse, SDKControlAddDirectoriesRequest, SDKControlAddDirectoriesResponse, SDKControlGetModelPolicyRequest, SDKControlGetByokConfigRequest, SDKControlGetByokConfigResponse, SDKControlValidateByokModelRequest, SDKControlValidateByokModelResponse, SDKControlSetMaxThinkingTokensRequest, SDKControlMcpStatusRequest, SDKControlGetContextUsageRequest, SDKControlGetUsageInfoRequest, SDKControlGetUsageInfoResponse, SDKControlAccountInfoRequest, SDKHookCallbackRequest, SDKControlMcpMessageRequest, SDKControlRewindFilesRequest, SDKControlRewindRequest, SDKControlCancelAsyncMessageRequest, SDKControlSeedReadStateRequest, SDKControlMcpSetServersRequest, SDKControlReloadPluginsRequest, SDKControlMcpReconnectRequest, SDKControlMcpToggleRequest, SDKControlApplyFlagSettingsRequest, SDKControlGetSettingsRequest, SDKControlElicitationRequest, SDKControlEndSessionRequest, SDKControlChannelEnableRequest, SDKControlMcpInjectTokenRequest, SDKControlMcpAuthenticateRequest, SDKControlMcpOAuthCallbackUrlRequest, SDKControlMcpClearAuthRequest, SDKControlRequestInner, SDKControlInitializeResponse, SDKControlGetContextUsageResponse, SDKControlReloadPluginsResponse, SDKControlListPluginsRequest, SDKControlListPluginsResponse, SDKControlStopTaskRequest, SDKControlBackgroundTasksRequest, SDKControlBackgroundTasksResponse, SDKControlMemoryShouldGenerateRequest, SDKControlFlushMemoryRequest, SDKControlRefreshMemoryRequest, SDKControlSkillEvolutionShouldReviewRequest, SDKControlFlushSkillEvolutionRequest, SDKControlMcpStatusResponse, SDKControlMcpSetServersResponse, SDKKeepAliveMessage, StdoutMessage, ControlMcpServerConfig, BYOKModelValidationInput, } from '../protocol/index.js';
8
+ export type { SDKControlRequest, SDKControlResponse, SDKControlCancelRequest, SDKControlInterruptRequest, SDKControlInterruptResponse, SDKControlPermissionRequest, SDKControlInitializeRequest, SDKControlSetPermissionModeRequest, SDKControlSetModelRequest, SDKPlanModeSnapshot, SDKControlSetPlanModeRequest, SDKControlSetPlanModeResponse, SDKControlGetPlanModeRequest, SDKControlGetPlanModeResponse, SDKControlSetGoalRequest, SDKControlSetGoalResponse, SDKControlSetGoalMaxTurnsRequest, SDKControlSetGoalMaxTurnsResponse, SDKControlGetGoalRequest, SDKControlGetGoalResponse, SDKControlClearGoalRequest, SDKControlClearGoalResponse, SDKGoalSnapshot, SDKGoalStatus, SDKControlGenerateSessionTitleRequest, SDKControlGenerateSessionTitleResponse, SideQuestionHistoryEntry, AskSideQuestionOptions, SideQuestionRefusalFallback, SideQuestionResult, SDKControlSideQuestionRequest, SDKControlSideQuestionResponse, SDKControlAddDirectoriesRequest, SDKControlAddDirectoriesResponse, SDKControlGetModelPolicyRequest, SDKControlGetByokConfigRequest, SDKControlGetByokConfigResponse, SDKControlValidateByokModelRequest, SDKControlValidateByokModelResponse, SDKControlListByokConfigsRequest, SDKControlListByokConfigsResponse, SDKControlCreateByokConfigRequest, SDKControlCreateByokConfigResponse, SDKControlUpdateByokConfigRequest, SDKControlDeleteByokConfigRequest, SDKControlCheckByokConfigRequest, SDKControlCheckByokConfigResponse, SDKControlSetMaxThinkingTokensRequest, SDKControlMcpStatusRequest, SDKControlGetContextUsageRequest, SDKControlGetUsageInfoRequest, SDKControlGetUsageInfoResponse, SDKControlAccountInfoRequest, SDKHookCallbackRequest, SDKControlMcpMessageRequest, SDKControlRewindFilesRequest, SDKControlRewindRequest, SDKControlCancelAsyncMessageRequest, SDKControlSeedReadStateRequest, SDKControlMcpSetServersRequest, SDKControlReloadPluginsRequest, SDKControlReloadSkillsRequest, SDKControlMcpReconnectRequest, SDKControlMcpToggleRequest, SDKControlApplyFlagSettingsRequest, SDKControlGetSettingsRequest, SDKControlElicitationRequest, SDKControlEndSessionRequest, SDKControlChannelEnableRequest, SDKControlMcpInjectTokenRequest, SDKControlMcpAuthenticateRequest, SDKControlMcpOAuthCallbackUrlRequest, SDKControlMcpClearAuthRequest, SDKControlRequestInner, SDKControlInitializeResponse, SDKControlGetContextUsageResponse, SDKControlReloadPluginsResponse, SDKControlReloadSkillsResponse, SDKControlListPluginsRequest, SDKControlListPluginsResponse, SDKControlStopTaskRequest, SDKControlBackgroundTasksRequest, SDKControlBackgroundTasksResponse, SDKControlMemoryShouldGenerateRequest, SDKControlFlushMemoryRequest, SDKControlRefreshMemoryRequest, SDKControlSkillEvolutionShouldReviewRequest, SDKControlFlushSkillEvolutionRequest, SDKControlMcpStatusResponse, SDKControlMcpSetServersResponse, SDKKeepAliveMessage, StdoutMessage, ControlMcpServerConfig, BYOKModelValidationInput, } from '../protocol/index.js';
9
9
  /** Wire format for fetch_job_token inbound control request from CLI. */
10
10
  export type FetchJobTokenWireRequest = {
11
11
  subtype: 'fetch_job_token';
@@ -9,13 +9,14 @@ import type { SDKMessage as ProtocolSDKMessage, SDKStatusMessage as ProtocolSDKS
9
9
  import type { MessageParam, UUID } from './common.js';
10
10
  import type { PermissionMode } from './permissions.js';
11
11
  import type { SessionKey } from '../session/session-store.js';
12
- export type { SDKAssistantMessage, SDKArtifactInfo, SDKArtifactUpdateMessage, SDKAvailableModelsUpdateMessage, SDKResultSuccess, SDKResultError, SDKResultMessage, SDKPartialAssistantMessage, SDKCompactBoundaryMessage, SDKAPIRetryMessage, SDKModelQueueStatusMessage, SDKControlRequestProgressMessage, SDKCommandLifecycleMessage, SDKHookStartedMessage, SDKHookProgressMessage, SDKHookResponseMessage, SDKTaskNotificationMessage, SDKTaskStartedMessage, SDKTaskProgressMessage, SDKTaskUpdatedMessage, SDKBackgroundTasksChangedMessage, SDKSessionStateChangedMessage, SDKPlanModeChangedMessage, SDKSessionTitleChangedMessage, SDKFilesPersistedEvent, SDKElicitationCompleteMessage, SDKPromptSuggestionMessage, SDKCloudAgentEventMessage, SDKMemoryGenerationMessage, SDKMemoryConsumptionMessage, SDKSkillEvolutionMessage, SDKPermissionDenial, SDKToolNonExecutionKind, SDKToolResultMeta, } from '../protocol/index.js';
12
+ export type { SDKAssistantMessage, SDKArtifactInfo, SDKArtifactUpdateMessage, SDKAvailableModelsUpdateMessage, SDKCommandsChangedMessage, SDKResultSuccess, SDKResultError, SDKResultMessage, SDKPartialAssistantMessage, SDKCompactBoundaryMessage, SDKAPIRetryMessage, SDKModelQueueStatusMessage, SDKControlRequestProgressMessage, SDKCommandLifecycleMessage, SDKHookStartedMessage, SDKHookProgressMessage, SDKHookResponseMessage, SDKTaskNotificationMessage, SDKTaskStartedMessage, SDKTaskProgressMessage, SDKTaskUpdatedMessage, SDKBackgroundTasksChangedMessage, SDKSessionStateChangedMessage, SDKPlanModeChangedMessage, SDKSessionTitleChangedMessage, SDKFilesPersistedEvent, SDKElicitationCompleteMessage, SDKPromptSuggestionMessage, SDKCloudAgentEventMessage, SDKMemoryGenerationMessage, SDKMemoryConsumptionMessage, SDKSkillEvolutionMessage, SDKPermissionDenial, SDKMessageOrigin, SDKToolNonExecutionKind, SDKToolResultMeta, } from '../protocol/index.js';
13
13
  export type SDKUserMessage = {
14
14
  type: 'user';
15
15
  message: MessageParam;
16
16
  parent_tool_use_id: string | null;
17
17
  custom_context?: Record<string, string>;
18
18
  isSynthetic?: boolean;
19
+ origin?: import('../protocol/index.js').SDKMessageOrigin;
19
20
  tool_use_result?: unknown;
20
21
  /** CLI-stamped display metadata for tool results that did not execute. */
21
22
  tool_result_meta?: import('../protocol/index.js').SDKToolResultMeta[];
@@ -8,9 +8,9 @@ import type { HookCallbackMatcher, HookEvent } from './hooks.js';
8
8
  import type { McpServerConfig, McpServerStatus, McpSetServersResult, OAuthToken } from './mcp.js';
9
9
  import type { SDKMessage, SDKUserMessage } from './messages.js';
10
10
  import type { Settings } from './settings.js';
11
- import type { SDKControlInterruptResponse, SDKControlInitializeResponse, SDKControlGetContextUsageResponse, SDKControlGenerateSessionTitleResponse, AskSideQuestionOptions, SideQuestionResult, SDKControlAddDirectoriesResponse, SDKControlReloadPluginsResponse, StdoutMessage } from './control.js';
11
+ import type { SDKControlInterruptResponse, SDKControlInitializeResponse, SDKControlGetContextUsageResponse, SDKControlGenerateSessionTitleResponse, AskSideQuestionOptions, SideQuestionResult, SDKControlAddDirectoriesResponse, SDKControlReloadPluginsResponse, SDKControlReloadSkillsResponse, StdoutMessage } from './control.js';
12
12
  import type { ModelPolicyProvider } from './model-policy-provider.js';
13
- import type { BYOKModelValidationInput, BYOKProviderInfo } from './byok.js';
13
+ import type { BYOKModelValidationInput, BYOKProviderInfo, ByokConfigCheckResult, ByokConfigInfo, ByokConfigReference, CheckByokConfigInput, CreateByokConfigInput, DeleteByokConfigInput, UpdateByokConfigInput } from './byok.js';
14
14
  import type { RewindFilesResult, RewindResult, RewindScope } from './session.js';
15
15
  import type { CloudAgentOptions } from './cloud-agent.js';
16
16
  import type { QueryTransportProviderOption } from '../core/query-transport.js';
@@ -246,6 +246,12 @@ export type Options = {
246
246
  includePartialMessages?: boolean;
247
247
  includeHookEvents?: boolean;
248
248
  maxTurns?: number;
249
+ /**
250
+ * Maximum turns copied into Goals created later in this Query.
251
+ * This is separate from `maxTurns`, which limits ordinary CLI execution,
252
+ * and does not mutate a Goal restored with the session.
253
+ */
254
+ goalMaxTurns?: number;
249
255
  mcpServers?: Record<string, McpServerConfig>;
250
256
  allowedMcpServerNames?: string[];
251
257
  model?: string;
@@ -419,6 +425,13 @@ export interface Query extends AsyncGenerator<SDKMessage, void> {
419
425
  status?: SDKGoalStatus;
420
426
  creditsBudget?: number | null;
421
427
  }): Promise<SDKGoalSnapshot | null>;
428
+ /**
429
+ * Update the maximum turns copied into Goals created after this call.
430
+ * The current Goal is unchanged; pass `null` to restore the CLI built-in
431
+ * value. Requires the CLI `goal_max_turns_v1` capability. Only present on
432
+ * the local CLI transport; absent on cloud-agent queries.
433
+ */
434
+ setGoalMaxTurns?(maxTurns: number | null): Promise<number>;
422
435
  /** Read the current goal, or null when the session has none. */
423
436
  getGoal?(): Promise<SDKGoalSnapshot | null>;
424
437
  /** Clear the session goal; returns whether a goal was cleared. */
@@ -466,6 +479,7 @@ export interface Query extends AsyncGenerator<SDKMessage, void> {
466
479
  addDirectories(directories: string[]): Promise<SDKControlAddDirectoriesResponse>;
467
480
  applyFlagSettings(settings: Settings): Promise<void>;
468
481
  initializationResult(): Promise<SDKControlInitializeResponse>;
482
+ /** Returns the latest complete command snapshot known to this Query. */
469
483
  supportedCommands(): Promise<SlashCommand[]>;
470
484
  /**
471
485
  * Fetch the available model list from the CLI in real-time.
@@ -490,6 +504,20 @@ export interface Query extends AsyncGenerator<SDKMessage, void> {
490
504
  * control request.
491
505
  */
492
506
  validateByokModel(input: BYOKModelValidationInput): Promise<boolean | null>;
507
+ /**
508
+ * List persisted UID-scoped BYOK models plus User-scope Custom Providers.
509
+ * Credentials are never returned. Use listByokProviders() for the server
510
+ * provider/model catalog.
511
+ */
512
+ listByokConfigs(): Promise<ByokConfigInfo[]>;
513
+ /** Persist a server BYOK model or User-scope Custom Provider. */
514
+ createByokConfig(input: CreateByokConfigInput): Promise<ByokConfigReference>;
515
+ /** Update an existing BYOK entry by its stable storage key/provider id. */
516
+ updateByokConfig(input: UpdateByokConfigInput): Promise<void>;
517
+ /** Delete an existing BYOK entry by its stable storage key/provider id. */
518
+ deleteByokConfig(target: DeleteByokConfigInput): Promise<void>;
519
+ /** Validate a candidate configuration without persisting it. */
520
+ checkByokConfig(input: CheckByokConfigInput): Promise<ByokConfigCheckResult>;
493
521
  supportedAgents(): Promise<AgentInfo[]>;
494
522
  mcpServerStatus(): Promise<McpServerStatus[]>;
495
523
  getContextUsage(): Promise<SDKControlGetContextUsageResponse>;
@@ -499,6 +527,8 @@ export interface Query extends AsyncGenerator<SDKMessage, void> {
499
527
  * account usage endpoint.
500
528
  */
501
529
  getUsageInfo(): Promise<UsageInfo | null>;
530
+ /** Rescans Skills in the connected CLI and returns its Skill-only snapshot. */
531
+ reloadSkills(): Promise<SDKControlReloadSkillsResponse>;
502
532
  reloadPlugins(): Promise<SDKControlReloadPluginsResponse>;
503
533
  listPlugins(): Promise<PluginDetails[]>;
504
534
  accountInfo(): Promise<AccountInfo>;