@qoder-ai/qoder-agent-sdk 1.0.24 → 1.0.26

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.
@@ -21,6 +21,7 @@ import type { AccountInfo, FastModeState, ModelInfo, SessionCreditsUsage, SlashC
21
21
  import type { PluginDetails } from '../types/plugins.js';
22
22
  import type { ModelPromptPatches } from './model-prompt-patches.js';
23
23
  import type { EffectiveMemoryConfig, MemoryGenerationGateInput, SerializableMemoryConfig } from './memory.js';
24
+ import type { EffectiveEvolutionConfig, SkillEvolutionGateInput, SerializableEvolutionConfig } from './skill-evolution.js';
24
25
  export type SDKControlRequest = {
25
26
  type: 'control_request';
26
27
  request_id: string;
@@ -115,6 +116,7 @@ export type SDKControlInitializeRequest = {
115
116
  initializeTimeoutMs?: number;
116
117
  agentProgressSummaries?: boolean;
117
118
  memory?: SerializableMemoryConfig;
119
+ evolution?: SerializableEvolutionConfig;
118
120
  hooks?: Partial<Record<HookEvent, Array<{
119
121
  hookCallbackIds: string[];
120
122
  timeout?: number;
@@ -133,9 +135,17 @@ export type SDKControlMemoryShouldGenerateRequest = {
133
135
  callbackId: string;
134
136
  input: MemoryGenerationGateInput;
135
137
  };
138
+ export type SDKControlSkillEvolutionShouldReviewRequest = {
139
+ subtype: 'skill_evolution_should_review';
140
+ callbackId: string;
141
+ input: SkillEvolutionGateInput;
142
+ };
136
143
  export type SDKControlFlushMemoryRequest = {
137
144
  type: 'flush_memory';
138
145
  };
146
+ export type SDKControlFlushSkillEvolutionRequest = {
147
+ type: 'flush_skill_evolution';
148
+ };
139
149
  export type SDKControlRefreshMemoryRequest = {
140
150
  type: 'refresh_memory';
141
151
  };
@@ -253,6 +263,10 @@ export type SDKControlGetModelPolicyRequest = {
253
263
  turnIndex: number;
254
264
  /** Current agent ID (for subagent scenarios). */
255
265
  agentId?: string;
266
+ /** Stable agent type (for subagent scenarios). */
267
+ agentType?: string;
268
+ /** Model already selected by the CLI before applying host policy. */
269
+ resolvedModel?: string;
256
270
  /** Context window usage ratio (0~1). */
257
271
  contextUsage?: number;
258
272
  /** Estimated input token count for this prompt. */
@@ -273,8 +287,8 @@ export type SDKControlGetModelPolicyRequest = {
273
287
  */
274
288
  export type SDKControlGetModelPolicyResponse = {
275
289
  type: 'get_model_policy';
276
- /** The model to use for this request. */
277
- model: string;
290
+ /** Optional model override. Omitted means keep the CLI-resolved model. */
291
+ model?: string;
278
292
  /** Optional per-request model policy parameters (contextWindow, reasoningEffort). */
279
293
  parameters?: Record<string, unknown>;
280
294
  /**
@@ -558,7 +572,67 @@ export type SDKControlBackgroundTasksResponse = {
558
572
  /** Present for a targeted tool use. Bulk backgrounding may omit the body. */
559
573
  backgrounded?: boolean;
560
574
  };
561
- 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 | SDKControlRefreshMemoryRequest;
575
+ /** Structured snapshot of the main session's independent Plan Mode state. */
576
+ export type SDKPlanModeSnapshot = {
577
+ active: boolean;
578
+ };
579
+ /** Enter or leave Plan Mode without changing the tool permission mode. */
580
+ export type SDKControlSetPlanModeRequest = {
581
+ subtype: 'set_plan_mode';
582
+ active: boolean;
583
+ };
584
+ export type SDKControlSetPlanModeResponse = {
585
+ plan_mode: SDKPlanModeSnapshot;
586
+ };
587
+ /** Read the authoritative Plan Mode state from the running CLI session. */
588
+ export type SDKControlGetPlanModeRequest = {
589
+ subtype: 'get_plan_mode';
590
+ };
591
+ export type SDKControlGetPlanModeResponse = {
592
+ plan_mode: SDKPlanModeSnapshot;
593
+ };
594
+ /** Lifecycle status of a goal (aligned with the CLI goal state machine). */
595
+ export type SDKGoalStatus = 'active' | 'paused' | 'blocked' | 'usage_limited' | 'budget_limited' | 'complete';
596
+ /** Structured snapshot of the current goal. */
597
+ export type SDKGoalSnapshot = {
598
+ id: string;
599
+ objective: string;
600
+ status: SDKGoalStatus;
601
+ turns_used: number;
602
+ max_turns?: number;
603
+ time_used_seconds: number;
604
+ credits_budget?: number;
605
+ credits_used?: number;
606
+ created_at: number;
607
+ updated_at: number;
608
+ };
609
+ /**
610
+ * Create, redirect, transition, or re-budget the session goal. Omitted fields
611
+ * are left unchanged; `credits_budget: null` explicitly clears the budget.
612
+ * Setting `status: 'active'` while the session is idle starts the goal loop.
613
+ */
614
+ export type SDKControlSetGoalRequest = {
615
+ subtype: 'set_goal';
616
+ objective?: string;
617
+ status?: SDKGoalStatus;
618
+ credits_budget?: number | null;
619
+ };
620
+ export type SDKControlSetGoalResponse = {
621
+ goal: SDKGoalSnapshot | null;
622
+ };
623
+ export type SDKControlGetGoalRequest = {
624
+ subtype: 'get_goal';
625
+ };
626
+ export type SDKControlGetGoalResponse = {
627
+ goal: SDKGoalSnapshot | null;
628
+ };
629
+ export type SDKControlClearGoalRequest = {
630
+ subtype: 'clear_goal';
631
+ };
632
+ export type SDKControlClearGoalResponse = {
633
+ cleared: boolean;
634
+ };
635
+ 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;
562
636
  export type SDKControlInitializeResponse = {
563
637
  commands: SlashCommand[];
564
638
  agents: AgentInfo[];
@@ -575,6 +649,7 @@ export type SDKControlInitializeResponse = {
575
649
  /** Optional features implemented by the connected CLI control channel. */
576
650
  capabilities?: string[];
577
651
  memory?: EffectiveMemoryConfig;
652
+ evolution?: EffectiveEvolutionConfig;
578
653
  };
579
654
  export type SDKControlGetContextUsageResponse = {
580
655
  model: string;
@@ -18,10 +18,11 @@ export type { UUID, BetaMessage, BetaRawMessageStreamEvent, BetaUsage, BetaStopR
18
18
  export type { AICodeTrackingLaunchOptions, QoderAgentLaunchOptions, QoderCliFlagSettings, } from './launch.js';
19
19
  export { buildQoderCliFlagSettings, buildQoderCliFlagSettingsArgs, } from './launch.js';
20
20
  export type { EffectiveMemoryConfig, MemoryConsumptionFile, MemoryConsumptionResult, MemoryGenerationFailedFile, MemoryGenerationGateInput, MemoryGenerationGateResult, MemoryGenerationResult, MemoryMode, MemoryRoot, MemoryRootAccess, SerializableMemoryConfig, SerializableMemoryConsumptionOptions, SerializableMemoryGenerationOptions, } from './memory.js';
21
+ export type { EffectiveEvolutionConfig, EffectiveSkillEvolutionConfig, SerializableEvolutionConfig, SerializableSkillEvolutionConfig, SerializableSkillEvolutionGenerationOptions, SkillEvolutionGateInput, SkillEvolutionGateResult, SkillEvolutionMode, SkillEvolutionResult, SkillEvolutionSuggestion, } from './skill-evolution.js';
21
22
  export type { PermissionMode, PermissionBehavior, PermissionDecisionClassification, PermissionUpdateDestination, PermissionRuleValue, PermissionUpdate, PermissionResult, } from './permissions.js';
22
23
  export type { McpStdioServerConfig, McpSSEServerConfig, McpHttpServerConfig, McpSdkServerConfig, McpServerConfigForProcessTransport, McpServerStatus, McpServerStatusConfig, McpSetServersResult, OAuthToken, } from './mcp.js';
23
- export type { SDKAssistantMessage, SDKToolNonExecutionKind, SDKToolResultMeta, SDKUserMessage, SDKUserMessageReplay, SDKResultSuccess, SDKResultError, SDKResultMessage, SDKFileAttachment, SDKSystemMessage, SDKPartialAssistantMessage, SDKCompactBoundaryMessage, SDKStatusMessage, SDKAPIRetryMessage, SDKModelQueueStatusMessage, SDKControlRequestProgressMessage, SDKHookStartedMessage, SDKHookProgressMessage, SDKHookResponseMessage, SDKTaskNotificationMessage, SDKTaskStartedMessage, SDKTaskProgressMessage, SDKTaskUpdatedMessage, SDKBackgroundTasksChangedMessage, SDKSessionStateChangedMessage, SDKSessionTitleChangedMessage, SDKFilesPersistedEvent, SDKElicitationCompleteMessage, SDKPromptSuggestionMessage, SDKCloudAgentEventMessage, SDKMemoryGenerationMessage, SDKMemoryConsumptionMessage, SDKPermissionDenial, SDKPermissionDeniedMessage, SDKPermissionDeniedReasonType, SDKMessage, } from './messages.js';
24
+ export type { SDKAssistantMessage, SDKToolNonExecutionKind, SDKToolResultMeta, SDKUserMessage, SDKUserMessageReplay, SDKResultSuccess, SDKResultError, SDKResultMessage, SDKFileAttachment, SDKSystemMessage, SDKPartialAssistantMessage, SDKCompactBoundaryMessage, SDKStatusMessage, SDKAPIRetryMessage, SDKModelQueueStatusMessage, SDKControlRequestProgressMessage, 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
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';
25
26
  export type { AgentMcpServerSpec, AgentDefinition, AgentInfo, AgentMemoryScope, } from './agents.js';
26
27
  export { QoderModelPurpose } from './control.js';
27
- export type { SDKControlRequest, SDKControlResponse, SDKControlCancelRequest, 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, 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, SDKKeepAliveMessage, StdoutMessage, ControlMcpServerConfig, } from './control.js';
28
+ export type { SDKControlRequest, SDKControlResponse, SDKControlCancelRequest, 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';
@@ -1 +1 @@
1
- var p="1.2.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),s=Object.keys(e).filter(o=>!t.has(o));if(s.length>0)throw new TypeError(`securityScan contains unknown option${s.length===1?"":"s"}: ${s.join(", ")}.`);for(let o of r){let n=e[o];if(n!==void 0&&typeof n!="boolean")throw new TypeError(`securityScan.${o} must be a boolean.`)}return{l1StaticCheck:e.l1StaticCheck??!1,l2LightweightScan:e.l2LightweightScan??!1,l3DeepScan:e.l3DeepScan??!1}}function a(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function l(e={}){let t={...e.settings??{}},s=e.aiCodeTracking?.installGitCommitHook;if(s!==void 0){let o=t.aiCodeTracking;t.aiCodeTracking={...a(o)?o:{},installGitCommitHook:s}}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,p as WIRE_PROTOCOL_VERSION,l as buildQoderCliFlagSettings,u as buildQoderCliFlagSettingsArgs};
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};
@@ -69,6 +69,10 @@ export type SerializableMemoryConsumptionOptions = {
69
69
  type SerializableMemoryConfigBase = {
70
70
  /** Marks this memory configuration as originating from the Agent SDK. */
71
71
  requester: 'sdk';
72
+ /** Query-level PROJECT-scope override. Omit to use the SDK native default (`true`). */
73
+ projectScope?: boolean;
74
+ /** Query-level USER-scope override. Omit to use the SDK native default (`true`). */
75
+ userScope?: boolean;
72
76
  };
73
77
  export type SerializableMemoryConfig = SerializableMemoryConfigBase & ({
74
78
  mode: 'native';
@@ -14,6 +14,8 @@
14
14
  import type { BetaMessage, BetaRawMessageStreamEvent, MessageParam, UUID, SDKAssistantMessageError, FastModeState, ApiKeySource, ModelUsage, NonNullableUsage, PluginInfo, SDKStatus } from './common.js';
15
15
  import type { PermissionMode } from './permissions.js';
16
16
  import type { MemoryConsumptionResult, MemoryGenerationResult } from './memory.js';
17
+ import type { SkillEvolutionResult } from './skill-evolution.js';
18
+ import type { SDKGoalSnapshot, SDKPlanModeSnapshot } from './control.js';
17
19
  export type SDKAssistantMessage = {
18
20
  type: 'assistant';
19
21
  message: BetaMessage;
@@ -364,6 +366,39 @@ export type SDKBackgroundTasksChangedMessage = {
364
366
  uuid: UUID;
365
367
  session_id: string;
366
368
  };
369
+ /**
370
+ * The main session entered or left Plan Mode.
371
+ * Requires the CLI `plan_mode_v1` capability.
372
+ */
373
+ export type SDKPlanModeChangedMessage = {
374
+ type: 'system';
375
+ subtype: 'plan_mode_changed';
376
+ plan_mode: SDKPlanModeSnapshot;
377
+ uuid: UUID;
378
+ session_id: string;
379
+ };
380
+ /**
381
+ * Goal state changed (created / redirected / transitioned / budget update).
382
+ * Requires the CLI `goal_v1` capability.
383
+ */
384
+ export type SDKGoalUpdatedMessage = {
385
+ type: 'system';
386
+ subtype: 'goal_updated';
387
+ goal: SDKGoalSnapshot;
388
+ /** Why the goal changed, e.g. 'safety-limit' or 'blocked'. */
389
+ reason?: string;
390
+ uuid: UUID;
391
+ session_id: string;
392
+ };
393
+ /** Goal was cleared. Requires the CLI `goal_v1` capability. */
394
+ export type SDKGoalClearedMessage = {
395
+ type: 'system';
396
+ subtype: 'goal_cleared';
397
+ goal_id: string;
398
+ reason?: string;
399
+ uuid: UUID;
400
+ session_id: string;
401
+ };
367
402
  export type SDKSessionStateChangedMessage = {
368
403
  type: 'system';
369
404
  subtype: 'session_state_changed';
@@ -435,6 +470,13 @@ export type SDKMemoryConsumptionMessage = {
435
470
  uuid: UUID;
436
471
  session_id: string;
437
472
  };
473
+ export type SDKSkillEvolutionMessage = {
474
+ type: 'system';
475
+ subtype: 'skill_evolution';
476
+ result: SkillEvolutionResult;
477
+ uuid: UUID;
478
+ session_id: string;
479
+ };
438
480
  export type SDKPermissionDenial = {
439
481
  tool_name: string;
440
482
  tool_use_id: string;
@@ -456,4 +498,4 @@ export type SDKPermissionDeniedMessage = {
456
498
  decision_reason_type?: SDKPermissionDeniedReasonType;
457
499
  decision_reason?: string;
458
500
  };
459
- export type SDKMessage = SDKAssistantMessage | SDKUserMessage | SDKUserMessageReplay | SDKResultMessage | SDKSystemMessage | SDKPermissionDeniedMessage | SDKPartialAssistantMessage | SDKCompactBoundaryMessage | SDKStatusMessage | SDKAPIRetryMessage | SDKModelQueueStatusMessage | SDKControlRequestProgressMessage | SDKHookStartedMessage | SDKHookProgressMessage | SDKHookResponseMessage | SDKTaskNotificationMessage | SDKTaskStartedMessage | SDKTaskProgressMessage | SDKTaskUpdatedMessage | SDKBackgroundTasksChangedMessage | SDKSessionStateChangedMessage | SDKSessionTitleChangedMessage | SDKFilesPersistedEvent | SDKElicitationCompleteMessage | SDKPromptSuggestionMessage | SDKCloudAgentEventMessage | SDKMemoryGenerationMessage | SDKMemoryConsumptionMessage;
501
+ export type SDKMessage = SDKAssistantMessage | SDKUserMessage | SDKUserMessageReplay | SDKResultMessage | SDKSystemMessage | SDKPermissionDeniedMessage | SDKPartialAssistantMessage | SDKCompactBoundaryMessage | SDKStatusMessage | SDKAPIRetryMessage | SDKModelQueueStatusMessage | SDKControlRequestProgressMessage | SDKHookStartedMessage | SDKHookProgressMessage | SDKHookResponseMessage | SDKTaskNotificationMessage | SDKTaskStartedMessage | SDKTaskProgressMessage | SDKTaskUpdatedMessage | SDKBackgroundTasksChangedMessage | SDKSessionStateChangedMessage | SDKPlanModeChangedMessage | SDKGoalUpdatedMessage | SDKGoalClearedMessage | SDKSessionTitleChangedMessage | SDKFilesPersistedEvent | SDKElicitationCompleteMessage | SDKPromptSuggestionMessage | SDKCloudAgentEventMessage | SDKMemoryGenerationMessage | SDKMemoryConsumptionMessage | SDKSkillEvolutionMessage;
@@ -0,0 +1,67 @@
1
+ import type { NonNullableUsage } from './common.js';
2
+ export type SkillEvolutionMode = 'native' | 'custom';
3
+ export type SkillEvolutionGateInput = {
4
+ sessionId: string;
5
+ requestId?: string;
6
+ requestSetId?: string;
7
+ turnIndex: number;
8
+ cwd: string;
9
+ prompt: string;
10
+ response: string;
11
+ };
12
+ export type SkillEvolutionGateResult = {
13
+ run: boolean;
14
+ reason?: string;
15
+ };
16
+ export type SerializableSkillEvolutionGenerationOptions = {
17
+ enabled?: boolean;
18
+ prompt?: string;
19
+ maxSuggestions?: number;
20
+ turnComplete?: {
21
+ enabled?: boolean;
22
+ reviewThreshold?: number;
23
+ shouldReviewCallbackId?: string;
24
+ timeoutMs?: number;
25
+ onGateError?: 'skip' | 'report_failed';
26
+ };
27
+ };
28
+ export type SerializableSkillEvolutionConfig = {
29
+ requester: 'sdk';
30
+ mode: SkillEvolutionMode;
31
+ generation?: SerializableSkillEvolutionGenerationOptions;
32
+ };
33
+ export type SerializableEvolutionConfig = {
34
+ skill?: SerializableSkillEvolutionConfig;
35
+ };
36
+ export type EffectiveSkillEvolutionConfig = {
37
+ enabled: boolean;
38
+ requester: 'sdk';
39
+ mode: SkillEvolutionMode;
40
+ generationEnabled: boolean;
41
+ turnCompleteEnabled: boolean;
42
+ reviewThreshold: number;
43
+ cooldownMs: number;
44
+ maxSuggestions: number;
45
+ };
46
+ export type EffectiveEvolutionConfig = {
47
+ skill?: EffectiveSkillEvolutionConfig;
48
+ };
49
+ export type SkillEvolutionSuggestion = {
50
+ skillName: string;
51
+ action: 'create' | 'update';
52
+ summary: string;
53
+ confidence: number;
54
+ rationale?: string;
55
+ };
56
+ export type SkillEvolutionResult = {
57
+ status: 'suggested' | 'no_change' | 'skipped' | 'failed';
58
+ attemptId: string;
59
+ reason?: string;
60
+ origin: 'turn_complete';
61
+ reviewScore?: number;
62
+ sourceRequestIds?: string[];
63
+ modelRequestIds?: string[];
64
+ suggestions: SkillEvolutionSuggestion[];
65
+ durationMs: number;
66
+ usage?: NonNullableUsage;
67
+ };
@@ -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.2.0";
24
+ export declare const WIRE_PROTOCOL_VERSION: "1.3.0";
25
25
  export type WireProtocolVersion = string;
@@ -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 { 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 } 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';
@@ -41,6 +41,7 @@ import type { PluginDetails } from '../types/plugins.js';
41
41
  import type { ModelInfo, SlashCommand, AccountInfo, UsageInfo } from '../types/common.js';
42
42
  import type { ModelPolicyProvider } from '../types/model-policy-provider.js';
43
43
  import type { MemoryRuntimeCallbacks, SerializableMemoryConfig } from '../types/memory.js';
44
+ import type { SkillEvolutionRuntimeCallbacks, SerializableEvolutionConfig } from '../types/skill-evolution.js';
44
45
  import type { BYOKModelValidationInput, BYOKProviderInfo } from '../types/byok.js';
45
46
  /** Init config passed to the initialize control request. */
46
47
  type InitConfig = {
@@ -49,9 +50,11 @@ type InitConfig = {
49
50
  modelRequestPatches?: ModelPromptPatches;
50
51
  agents?: Record<string, AgentDefinition>;
51
52
  skills?: string[];
53
+ planMode?: boolean;
52
54
  promptSuggestions?: boolean;
53
55
  enableFileCheckpointing?: boolean;
54
56
  memory?: SerializableMemoryConfig;
57
+ evolution?: SerializableEvolutionConfig;
55
58
  customContext?: Record<string, string>;
56
59
  };
57
60
  export declare class QueryRunner implements InternalQuery {
@@ -59,6 +62,8 @@ export declare class QueryRunner implements InternalQuery {
59
62
  private static readonly INITIALIZE_TIMEOUT_MS;
60
63
  private static readonly BACKGROUND_TASKS_CAPABILITY;
61
64
  private static readonly SIDE_QUESTION_CAPABILITY;
65
+ private static readonly GOAL_CAPABILITY;
66
+ private static readonly PLAN_MODE_CAPABILITY;
62
67
  private readonly transport;
63
68
  private readonly inputStream;
64
69
  private readonly pendingRequests;
@@ -84,9 +89,16 @@ export declare class QueryRunner implements InternalQuery {
84
89
  private readonly resolveModelTimeoutMs;
85
90
  private readonly transcriptMirrorBatcher?;
86
91
  private readonly memoryCallbacks?;
92
+ private readonly skillEvolutionCallbacks?;
87
93
  private initResponse?;
88
94
  private initializationPromise?;
89
95
  private resultMessage?;
96
+ /**
97
+ * True only while the latest completed turn is an error result and no newer
98
+ * user or assistant turn has started. A following exit code 1 is the shell
99
+ * status for that structured result, not a second SDK failure.
100
+ */
101
+ private pendingErrorResultExit;
90
102
  private readLoopPromise?;
91
103
  private closed;
92
104
  private authExpiredFired;
@@ -96,9 +108,10 @@ export declare class QueryRunner implements InternalQuery {
96
108
  private firstResultReceived;
97
109
  private firstResultReceivedResolve?;
98
110
  private memoryFlushPromise?;
99
- private memoryEndInputPromise?;
111
+ private endInputFlushPromise?;
112
+ private skillEvolutionFlushPromise?;
100
113
  private closePromise?;
101
- constructor(transport: Transport, isSingleTurn: boolean, canUseTool?: CanUseTool, hooks?: Partial<Record<InternalHookEvent, HookCallbackMatcher[]>>, abortController?: AbortController, sdkMcpServers?: Map<string, McpServer>, initConfig?: InitConfig, onElicitation?: OnElicitation, diagnostics?: DiagnosticsSink, onAuthExpired?: () => void, controlRequestTimeoutMs?: number, sdkMcpTransports?: Map<string, SdkMcpTransport>, pendingMcpResponses?: Map<string, PendingMcpResponse>, fetchJobToken?: FetchJobToken, resolveModel?: ModelPolicyProvider, resolveModelTimeoutMs?: number, sessionStore?: SessionStore, sessionStoreFlush?: SessionStoreFlush, sdkMcpToolOverrides?: Record<string, Record<string, McpToolRuntimeOverride>>, fetchServiceAccountToken?: FetchServiceAccountToken, memoryCallbacks?: MemoryRuntimeCallbacks);
114
+ constructor(transport: Transport, isSingleTurn: boolean, canUseTool?: CanUseTool, hooks?: Partial<Record<InternalHookEvent, HookCallbackMatcher[]>>, abortController?: AbortController, sdkMcpServers?: Map<string, McpServer>, initConfig?: InitConfig, onElicitation?: OnElicitation, diagnostics?: DiagnosticsSink, onAuthExpired?: () => void, controlRequestTimeoutMs?: number, sdkMcpTransports?: Map<string, SdkMcpTransport>, pendingMcpResponses?: Map<string, PendingMcpResponse>, fetchJobToken?: FetchJobToken, resolveModel?: ModelPolicyProvider, resolveModelTimeoutMs?: number, sessionStore?: SessionStore, sessionStoreFlush?: SessionStoreFlush, sdkMcpToolOverrides?: Record<string, Record<string, McpToolRuntimeOverride>>, fetchServiceAccountToken?: FetchServiceAccountToken, memoryCallbacks?: MemoryRuntimeCallbacks, skillEvolutionCallbacks?: SkillEvolutionRuntimeCallbacks);
102
115
  private getRecord;
103
116
  private normalizeLogPreview;
104
117
  private extractMessagePreview;
@@ -120,10 +133,12 @@ export declare class QueryRunner implements InternalQuery {
120
133
  * this method finishes and signals the consumer queue.
121
134
  */
122
135
  private readMessages;
136
+ private isStructuredResultExit;
123
137
  private notifyAuthExpiredIfNeeded;
124
138
  private dispatchMemoryCallbacks;
125
- private flushMemoryBeforeEndInput;
126
- private performFlushMemoryBeforeEndInput;
139
+ private dispatchSkillEvolutionCallbacks;
140
+ private flushBeforeEndInput;
141
+ private performFlushBeforeEndInput;
127
142
  /**
128
143
  * Send a control request to the CLI and wait for the response.
129
144
  *
@@ -221,6 +236,27 @@ export declare class QueryRunner implements InternalQuery {
221
236
  stopTask(taskId: string): Promise<void>;
222
237
  /** Move one or all eligible foreground tasks into the background. */
223
238
  backgroundTasks(toolUseId?: string): Promise<boolean>;
239
+ /**
240
+ * Create, redirect, transition, or re-budget the session goal.
241
+ *
242
+ * Omitted fields are left unchanged; `creditsBudget: null` explicitly
243
+ * clears the credits budget. Setting `status: 'active'` while the session
244
+ * is idle starts the goal loop. Returns the goal snapshot after the change
245
+ * (null only if no goal exists afterwards).
246
+ */
247
+ setGoal(params: {
248
+ objective?: string;
249
+ status?: SDKGoalStatus;
250
+ creditsBudget?: number | null;
251
+ }): Promise<SDKGoalSnapshot | null>;
252
+ /** Read the current goal, or null when the session has none. */
253
+ getGoal(): Promise<SDKGoalSnapshot | null>;
254
+ /** Clear the session goal. Returns whether a goal was actually cleared. */
255
+ clearGoal(): Promise<boolean>;
256
+ /** Enter or leave Plan Mode without changing the current permission mode. */
257
+ setPlanMode(active: boolean): Promise<SDKPlanModeSnapshot>;
258
+ /** Read the authoritative Plan Mode state from the running CLI session. */
259
+ getPlanMode(): Promise<SDKPlanModeSnapshot>;
224
260
  private requireCliCapability;
225
261
  /**
226
262
  * Set the permission mode.
@@ -321,6 +357,9 @@ export declare class QueryRunner implements InternalQuery {
321
357
  */
322
358
  seedReadState(path: string, mtime: number): Promise<void>;
323
359
  flushMemory(): Promise<void>;
360
+ flushSkillEvolution(): Promise<void>;
361
+ private performSkillEvolutionFlush;
362
+ private requireSkillEvolutionEnabled;
324
363
  private performMemoryFlush;
325
364
  refreshMemory(): Promise<void>;
326
365
  private requireSdkMemoryEnabled;
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "version": 1,
3
3
  "brand": "global",
4
- "sdkVersion": "1.0.24",
5
- "qoderCliVersion": "1.1.25",
4
+ "sdkVersion": "1.0.26",
5
+ "qoderCliVersion": "1.1.31",
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.25/qodercli-worker-runtime-{target}.tgz",
11
+ "urlTemplate": "https://download.qoder.com/qodercli/releases/1.1.31/qodercli-worker-runtime-{target}.tgz",
12
12
  "artifactNameTemplate": "qodercli-worker-runtime-{target}.tgz",
13
- "sdkVersion": "1.0.24",
14
- "qoderCliVersion": "1.1.25"
13
+ "sdkVersion": "1.0.26",
14
+ "qoderCliVersion": "1.1.31"
15
15
  }
16
16
  }
@@ -1,4 +1,41 @@
1
- import type { SDKSessionInfo, SessionMessage, ListSessionsOptions, GetSessionInfoOptions, GetSessionMessagesOptions, GetSubagentMessagesOptions, ListSubagentsOptions, SessionMutationOptions } from '../types/session.js';
1
+ import type { SDKSessionInfo, SessionMessage, ListSessionsOptions, GetSessionInfoOptions, GetSessionMessagesOptions, GetSubagentMessagesOptions, ListSubagentsOptions, SessionMutationOptions, SessionMessageView } from '../types/session.js';
2
+ type TranscriptEntry = {
3
+ type: string;
4
+ uuid: string;
5
+ sessionId?: string;
6
+ session_id?: string;
7
+ parentUuid?: string | null;
8
+ logicalParentUuid?: string | null;
9
+ isSidechain?: boolean;
10
+ isMeta?: boolean;
11
+ isCompactSummary?: boolean;
12
+ teamName?: string;
13
+ timestamp?: string;
14
+ subtype?: string;
15
+ message?: unknown;
16
+ isApiErrorMessage?: unknown;
17
+ toolUseResult?: unknown;
18
+ toolDenialKind?: unknown;
19
+ userFeedback?: unknown;
20
+ compactMetadata?: {
21
+ trigger?: 'manual' | 'auto';
22
+ preTokens?: number;
23
+ pre_tokens?: number;
24
+ postTokens?: number;
25
+ post_tokens?: number;
26
+ messagesSummarized?: number;
27
+ messages_summarized?: number;
28
+ durationMs?: number;
29
+ duration_ms?: number;
30
+ preservedSegment?: {
31
+ headUuid?: string;
32
+ anchorUuid?: string;
33
+ tailUuid?: string;
34
+ };
35
+ };
36
+ };
37
+ /** Builds one active transcript lineage for SDK readers and persisted forks. */
38
+ export declare function buildSessionTranscriptChain(entries: readonly unknown[], sessionId: string, view: SessionMessageView): TranscriptEntry[];
2
39
  /**
3
40
  * List sessions with metadata.
4
41
  *
@@ -37,8 +74,8 @@ export declare function getSessionInfo(sessionId: string, options?: GetSessionIn
37
74
  * Parses the JSONL transcript, follows the session's persisted active leaf
38
75
  * (falling back to the latest main leaf for legacy transcripts), and returns
39
76
  * visible user/assistant messages in chronological order. Supports pagination
40
- * via offset/limit. Set `includeSystemMessages` to include chain system entries
41
- * such as compact boundaries.
77
+ * via offset/limit. Runtime view is the default. Historical view crosses
78
+ * compact boundaries while omitting compact boundary and summary records.
42
79
  *
43
80
  * @param sessionId - The session UUID
44
81
  * @param options.dir - Restrict search to this working directory
@@ -99,4 +136,5 @@ export declare function listSubagents(sessionId: string, options?: ListSubagents
99
136
  */
100
137
  export declare function getSubagentMessages(sessionId: string, agentId: string, options?: GetSubagentMessagesOptions): Promise<SessionMessage[]>;
101
138
  /** Delete a session and all child transcripts from a local or external store. */
102
- export declare function deleteSession(sessionId: string, options?: SessionMutationOptions): Promise<void>;
139
+ export declare function deleteSession(sessionId: string, options?: SessionMutationOptions): Promise<void>;
140
+ export {};
@@ -0,0 +1,2 @@
1
+ import type { SkillEvolutionOptions, PreparedSkillEvolutionOptions } from '../types/skill-evolution.js';
2
+ export declare function prepareSkillEvolutionOptions(options: SkillEvolutionOptions | undefined): PreparedSkillEvolutionOptions;
@@ -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, 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, 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, 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';
9
9
  /** Wire format for fetch_job_token inbound control request from CLI. */
10
10
  export type FetchJobTokenWireRequest = {
11
11
  subtype: 'fetch_job_token';
@@ -5,11 +5,11 @@
5
5
  * `../protocol/`. The SDK-local HookEvent/HookInput contract is
6
6
  * intentionally narrowed to events supported by SDK user configuration.
7
7
  */
8
- export type { BaseHookInput, PreToolUseHookInput, PostToolUseHookInput, PostToolUseFailureHookInput, UserPromptSubmitHookInput, SessionStartHookInput, SessionEndHookInput, StopHookInput, SubagentStartHookInput, SubagentStopHookInput, PreCompactHookInput, PostCompactHookInput, PermissionRequestHookInput, PermissionDeniedHookInput, InstructionsLoadedHookInput, CwdChangedHookInput, FileChangedHookInput, PostToolUseFailureHookSpecificOutput, UserPromptSubmitHookSpecificOutput, SessionStartHookSpecificOutput, SubagentStartHookSpecificOutput, PermissionRequestHookSpecificOutput, CwdChangedHookSpecificOutput, FileChangedHookSpecificOutput, } from '../protocol/index.js';
9
- import type { AsyncHookJSONOutput as ProtocolAsyncHookJSONOutput, CwdChangedHookSpecificOutput, FileChangedHookSpecificOutput, HookInput as ProtocolHookInput, PostToolUseHookSpecificOutput as ProtocolPostToolUseHookSpecificOutput, PostToolUseFailureHookSpecificOutput, PreToolUseHookSpecificOutput as ProtocolPreToolUseHookSpecificOutput, PermissionRequestHookSpecificOutput, SessionStartHookSpecificOutput, SubagentStartHookSpecificOutput, SyncHookJSONOutput as ProtocolSyncHookJSONOutput, UserPromptSubmitHookSpecificOutput } from '../protocol/index.js';
8
+ export type { BaseHookInput, PreToolUseHookInput, PostToolUseHookInput, PostToolUseFailureHookInput, UserPromptSubmitHookInput, SessionStartHookInput, SessionEndHookInput, StopHookInput, SubagentStartHookInput, SubagentStopHookInput, PreCompactHookInput, PostCompactHookInput, PermissionRequestHookInput, PermissionDeniedHookInput, InstructionsLoadedHookInput, WorktreeCreateHookInput, WorktreeRemoveHookInput, CwdChangedHookInput, FileChangedHookInput, PostToolUseFailureHookSpecificOutput, UserPromptSubmitHookSpecificOutput, SessionStartHookSpecificOutput, SubagentStartHookSpecificOutput, PermissionRequestHookSpecificOutput, WorktreeCreateHookSpecificOutput, CwdChangedHookSpecificOutput, FileChangedHookSpecificOutput, } from '../protocol/index.js';
9
+ import type { AsyncHookJSONOutput as ProtocolAsyncHookJSONOutput, CwdChangedHookSpecificOutput, FileChangedHookSpecificOutput, HookInput as ProtocolHookInput, PostToolUseHookSpecificOutput as ProtocolPostToolUseHookSpecificOutput, PostToolUseFailureHookSpecificOutput, PreToolUseHookSpecificOutput as ProtocolPreToolUseHookSpecificOutput, PermissionRequestHookSpecificOutput, SessionStartHookSpecificOutput, SubagentStartHookSpecificOutput, WorktreeCreateHookSpecificOutput, SyncHookJSONOutput as ProtocolSyncHookJSONOutput, UserPromptSubmitHookSpecificOutput } from '../protocol/index.js';
10
10
  import type { HookEventConst } from '../core/constants.js';
11
11
  /**
12
- * The 16 publicly supported hook events available to SDK users.
12
+ * The publicly supported hook events available to SDK users.
13
13
  * Internal/experimental events are handled at runtime but not exposed
14
14
  * in the user-facing configuration type.
15
15
  */
@@ -26,7 +26,7 @@ export type PostToolUseHookSpecificOutput = Omit<ProtocolPostToolUseHookSpecific
26
26
  updatedMCPToolOutput?: string;
27
27
  };
28
28
  export type AsyncHookJSONOutput = ProtocolAsyncHookJSONOutput;
29
- export type HookSpecificOutput = PreToolUseHookSpecificOutput | PostToolUseHookSpecificOutput | PostToolUseFailureHookSpecificOutput | UserPromptSubmitHookSpecificOutput | SessionStartHookSpecificOutput | SubagentStartHookSpecificOutput | PermissionRequestHookSpecificOutput | CwdChangedHookSpecificOutput | FileChangedHookSpecificOutput;
29
+ export type HookSpecificOutput = PreToolUseHookSpecificOutput | PostToolUseHookSpecificOutput | PostToolUseFailureHookSpecificOutput | UserPromptSubmitHookSpecificOutput | SessionStartHookSpecificOutput | SubagentStartHookSpecificOutput | PermissionRequestHookSpecificOutput | WorktreeCreateHookSpecificOutput | CwdChangedHookSpecificOutput | FileChangedHookSpecificOutput;
30
30
  export type SyncHookJSONOutput = Omit<ProtocolSyncHookJSONOutput, 'hookSpecificOutput'> & {
31
31
  hookSpecificOutput?: HookSpecificOutput;
32
32
  };
@@ -12,7 +12,7 @@ export type { WorkerRuntimeTransportOptions, WorkerTransportOptions, } from '../
12
12
  export type { QueryTransportProvider, Transport, } from '../core/transport.js';
13
13
  export type { ElicitationRequest, ElicitationResult, OnElicitation, PromptRequestOption, PromptRequest, PromptResponse, SecurityScanOptions, Options, QueryTransportOptions, SpawnOptions, SpawnedProcess, Query, } from './options.js';
14
14
  export * from './permissions.js';
15
- export type { HookEvent, HookPermissionDecision, HookCallback, HookCallbackMatcher, HookInput, HookSpecificOutput, HookJSONOutput, AsyncHookJSONOutput, SyncHookJSONOutput, BaseHookInput, PreToolUseHookInput, PostToolUseHookInput, PostToolUseFailureHookInput, UserPromptSubmitHookInput, SessionStartHookInput, SessionEndHookInput, StopHookInput, SubagentStartHookInput, SubagentStopHookInput, PreCompactHookInput, PostCompactHookInput, PermissionRequestHookInput, InstructionsLoadedHookInput, CwdChangedHookInput, FileChangedHookInput, PreToolUseHookSpecificOutput, PostToolUseHookSpecificOutput, PostToolUseFailureHookSpecificOutput, UserPromptSubmitHookSpecificOutput, SessionStartHookSpecificOutput, SubagentStartHookSpecificOutput, PermissionRequestHookSpecificOutput, CwdChangedHookSpecificOutput, FileChangedHookSpecificOutput, } from './hooks.js';
15
+ export type { HookEvent, HookPermissionDecision, HookCallback, HookCallbackMatcher, HookInput, HookSpecificOutput, HookJSONOutput, AsyncHookJSONOutput, SyncHookJSONOutput, BaseHookInput, PreToolUseHookInput, PostToolUseHookInput, PostToolUseFailureHookInput, UserPromptSubmitHookInput, SessionStartHookInput, SessionEndHookInput, StopHookInput, SubagentStartHookInput, SubagentStopHookInput, PreCompactHookInput, PostCompactHookInput, PermissionRequestHookInput, PermissionDeniedHookInput, InstructionsLoadedHookInput, WorktreeCreateHookInput, WorktreeRemoveHookInput, CwdChangedHookInput, FileChangedHookInput, PreToolUseHookSpecificOutput, PostToolUseHookSpecificOutput, PostToolUseFailureHookSpecificOutput, UserPromptSubmitHookSpecificOutput, SessionStartHookSpecificOutput, SubagentStartHookSpecificOutput, PermissionRequestHookSpecificOutput, WorktreeCreateHookSpecificOutput, CwdChangedHookSpecificOutput, FileChangedHookSpecificOutput, } from './hooks.js';
16
16
  export * from './mcp.js';
17
17
  export * from './agents.js';
18
18
  export * from './session.js';
@@ -40,13 +40,28 @@ export type MemoryConsumptionOptions = {
40
40
  onResult?: (result: MemoryConsumptionResult) => void | Promise<void>;
41
41
  };
42
42
  export type MemoryOptions = {
43
- /** Uses CLI-native generation and consumption. Only result callbacks may be supplied. */
43
+ /** An empty object disables SDK memory, equivalent to omitting options.memory. */
44
+ mode?: never;
45
+ projectScope?: never;
46
+ userScope?: never;
47
+ generation?: never;
48
+ consumption?: never;
49
+ } | {
50
+ /** Uses CLI-native generation and consumption; only scope switches and result callbacks are configurable. */
44
51
  mode: 'native';
52
+ /** Enables or disables the CLI PROJECT scope for this Query. Defaults to `true`. */
53
+ projectScope?: boolean;
54
+ /** Enables or disables the CLI USER scope for this Query. Defaults to `true`. */
55
+ userScope?: boolean;
45
56
  generation?: Pick<MemoryGenerationOptions, 'onResult'>;
46
57
  consumption?: Pick<MemoryConsumptionOptions, 'onResult'>;
47
58
  } | {
48
59
  /** Applies supplied overrides and inherits omitted behavior from the CLI. */
49
60
  mode: 'custom';
61
+ /** Enables or disables the CLI PROJECT scope for inherited native behavior. Defaults to `true`. */
62
+ projectScope?: boolean;
63
+ /** Enables or disables the CLI USER scope for inherited native behavior. Defaults to `true`. */
64
+ userScope?: boolean;
50
65
  /** Memory generation overrides. Omit to use CLI generation defaults. */
51
66
  generation?: MemoryGenerationOptions;
52
67
  /** Memory consumption overrides. Omit to use CLI consumption defaults. */