@qoder-ai/qoder-agent-sdk 1.0.27 → 1.0.29

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.
@@ -9,6 +9,29 @@
9
9
  * Anything callback-shaped or carrying a runtime instance lives in the SDK
10
10
  * package, not here.
11
11
  */
12
+ export type Base64ImageSource = {
13
+ type: 'base64';
14
+ media_type: string;
15
+ data: string;
16
+ };
17
+ export type UrlImageSource = {
18
+ type: 'url';
19
+ url: string;
20
+ };
21
+ /** Image sources accepted on input and observed in projected user messages. */
22
+ export type ImageSource = Base64ImageSource | UrlImageSource;
23
+ /**
24
+ * Typed image block for SDK Hosts.
25
+ *
26
+ * Hosts typically send local images as `base64`. A projected or restored user
27
+ * message may contain an uploaded `url`, so renderers must handle both
28
+ * variants.
29
+ */
30
+ export type ImageContentBlock = {
31
+ type: 'image';
32
+ source: ImageSource;
33
+ [key: string]: unknown;
34
+ };
12
35
  export type ContentBlock = {
13
36
  type: string;
14
37
  text?: string;
@@ -225,7 +248,7 @@ export type ModelStrategy = {
225
248
  enabled: boolean;
226
249
  disabled_message_key: string;
227
250
  };
228
- export type ModelSource = 'system' | 'user';
251
+ export type ModelSource = 'system' | 'user' | 'organization';
229
252
  /** JSON-compatible value inside a raw server model entry. */
230
253
  export type ServerModelJsonValue = string | number | boolean | null | ServerModelJsonValue[] | {
231
254
  [key: string]: ServerModelJsonValue;
@@ -276,7 +299,7 @@ export type ModelInfo = {
276
299
  modelId?: string;
277
300
  displayName: string;
278
301
  description: string;
279
- /** `'system'` (Qoder catalog) or `'user'` (BYOK). */
302
+ /** `'system'` (Qoder catalog), `'user'` (BYOK), or organization-managed. */
280
303
  source?: ModelSource;
281
304
  /** Server-designated default for the current scene. */
282
305
  isDefault?: boolean;
@@ -25,6 +25,7 @@ import type { EffectiveEvolutionConfig, SkillEvolutionGateInput, SerializableEvo
25
25
  export type SDKControlRequest = {
26
26
  type: 'control_request';
27
27
  request_id: string;
28
+ session_id?: string;
28
29
  request: SDKControlRequestInner;
29
30
  };
30
31
  type ControlSuccessResponse = {
@@ -37,15 +38,25 @@ type ControlErrorResponse = {
37
38
  request_id: string;
38
39
  error: string;
39
40
  code?: string;
41
+ retryable?: boolean;
42
+ details?: Record<string, unknown>;
40
43
  pending_permission_requests?: SDKControlRequest[];
41
44
  };
42
45
  export type SDKControlResponse = {
43
46
  type: 'control_response';
47
+ session_id?: string;
44
48
  response: ControlSuccessResponse | ControlErrorResponse;
45
49
  };
46
50
  export type SDKControlCancelRequest = {
47
51
  type: 'control_cancel_request' | 'control_cancel';
48
52
  request_id: string;
53
+ session_id?: string;
54
+ };
55
+ export type DaemonEventMessage = {
56
+ type: 'event';
57
+ event: string;
58
+ session_id?: string;
59
+ data: Record<string, unknown>;
49
60
  };
50
61
  export type SDKControlInterruptRequest = {
51
62
  type: 'interrupt';
@@ -107,12 +118,16 @@ export type SDKControlInitializeRequest = {
107
118
  modelRequestPatches?: ModelPromptPatches;
108
119
  excludeDynamicSections?: boolean;
109
120
  permissionMode?: PermissionMode;
121
+ /** Internal shared-daemon marker; not part of the public Query API. */
122
+ independentPlanModeControls?: boolean;
110
123
  maxThinkingTokens?: number;
111
124
  enableFileCheckpointing?: boolean;
112
125
  sdkMcpServers?: string[];
113
126
  sdkMcpToolOverrides?: Record<string, Record<string, McpToolRuntimeOverride>>;
114
127
  promptSuggestions?: boolean;
115
128
  supportsCatalogReadyInitialize?: boolean;
129
+ /** Opts this Host into authoritative model snapshots on the Query stream. */
130
+ supportsAvailableModelsUpdate?: boolean;
116
131
  initializeTimeoutMs?: number;
117
132
  agentProgressSummaries?: boolean;
118
133
  memory?: SerializableMemoryConfig;
@@ -152,6 +167,8 @@ export type SDKControlRefreshMemoryRequest = {
152
167
  export type SDKControlSetPermissionModeRequest = {
153
168
  type: 'set_permission_mode';
154
169
  mode: PermissionMode;
170
+ /** SDK wire compatibility marker; not part of the public Query API. */
171
+ preservePlanMode?: boolean;
155
172
  };
156
173
  export type SDKControlSetModelRequest = {
157
174
  type: 'set_model';
@@ -468,6 +485,8 @@ export type BYOKProviderInfo = {
468
485
  key: string;
469
486
  /** Display name (may be localized object or plain string) */
470
487
  display_name: string;
488
+ /** Server-defined provider origin metadata, e.g. "custom". */
489
+ source?: string;
471
490
  /** URL where the user can obtain an API key */
472
491
  api_key_url: string;
473
492
  /** Base URL for inference requests */
@@ -528,6 +547,8 @@ export type CustomModel = {
528
547
  url?: string;
529
548
  /** Provider wire format. The SDK defaults this to "openai" before forwarding. */
530
549
  style?: string;
550
+ /** Whether the custom model accepts multimodal/vision input. */
551
+ isVl?: boolean;
531
552
  };
532
553
  export type SDKControlMcpInjectTokenRequest = {
533
554
  type: 'mcp_inject_token';
@@ -650,6 +671,8 @@ export type SDKControlInitializeResponse = {
650
671
  capabilities?: string[];
651
672
  memory?: EffectiveMemoryConfig;
652
673
  evolution?: EffectiveEvolutionConfig;
674
+ /** Actual Permission state after initialize. */
675
+ permissionMode?: PermissionMode;
653
676
  };
654
677
  export type SDKControlGetContextUsageResponse = {
655
678
  model: string;
@@ -720,6 +743,7 @@ export type SDKKeepAliveMessage = {
720
743
  /** SDK-internal post-commit transcript frame emitted by local runtimes. */
721
744
  export type TranscriptMirrorMessage = {
722
745
  type: 'transcript_mirror';
746
+ session_id?: string;
723
747
  filePath: string;
724
748
  entries: Array<{
725
749
  type: string;
@@ -14,15 +14,15 @@
14
14
  */
15
15
  export { WIRE_PROTOCOL_VERSION, type WireProtocolVersion } from './version.js';
16
16
  export type { ModelPromptPatch, ModelPromptPatches, } from './model-prompt-patches.js';
17
- export type { UUID, BetaMessage, BetaRawMessageStreamEvent, BetaUsage, BetaStopReason, MessageParam, NonNullableUsage, AccountInfo, UsageAddOnQuotaBucket, UsageInfo, UsageOrgResourcePackage, UsageQuotaBucket, SessionCreditsUsage, ApiKeySource, ExitReason, FastModeState, ConfigScope, SettingSource, SDKAssistantMessageError, SDKStatus, EffortLevel, ThinkingAdaptive, ThinkingEnabled, ThinkingDisabled, ThinkingConfig, ModelInfo, ModelSource, ServerModelJson, ServerModelJsonValue, ModelStrategy, ModelPromotion, LocalizedModelText, ModelContextConfig, ModelContextWindowEntry, ModelEffortEntry, ModelThinkingConfig, ModelThinkingDisabled, ModelThinkingEnabled, PluginInfo, ModelUsage, SlashCommand, ToolConfig, SdkPluginConfig, } from './common.js';
17
+ export type { UUID, Base64ImageSource, UrlImageSource, ImageSource, ImageContentBlock, ContentBlock, BetaMessage, BetaRawMessageStreamEvent, BetaUsage, BetaStopReason, MessageParam, NonNullableUsage, AccountInfo, UsageAddOnQuotaBucket, UsageInfo, UsageOrgResourcePackage, UsageQuotaBucket, SessionCreditsUsage, ApiKeySource, ExitReason, FastModeState, ConfigScope, SettingSource, SDKAssistantMessageError, SDKStatus, EffortLevel, ThinkingAdaptive, ThinkingEnabled, ThinkingDisabled, ThinkingConfig, ModelInfo, ModelSource, ServerModelJson, ServerModelJsonValue, ModelStrategy, ModelPromotion, LocalizedModelText, ModelContextConfig, ModelContextWindowEntry, ModelEffortEntry, ModelThinkingConfig, ModelThinkingDisabled, ModelThinkingEnabled, PluginInfo, ModelUsage, SlashCommand, ToolConfig, SdkPluginConfig, } from './common.js';
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
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, 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
+ 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';
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, 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, 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';
@@ -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, SDKStatus } from './common.js';
14
+ import type { BetaMessage, BetaRawMessageStreamEvent, MessageParam, UUID, SDKAssistantMessageError, FastModeState, ApiKeySource, ModelUsage, NonNullableUsage, PluginInfo, ModelInfo, 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';
@@ -252,6 +252,14 @@ export type SDKControlRequestProgressMessage = {
252
252
  uuid: UUID;
253
253
  session_id: string;
254
254
  };
255
+ /** Delivery state for one UUID-stamped user command in a Session queue. */
256
+ export type SDKCommandLifecycleMessage = {
257
+ type: 'command_lifecycle';
258
+ command_uuid: string;
259
+ state: 'queued' | 'started' | 'completed' | 'cancelled' | 'discarded';
260
+ uuid: UUID;
261
+ session_id: string;
262
+ };
255
263
  export type SDKHookStartedMessage = {
256
264
  type: 'system';
257
265
  subtype: 'hook_started';
@@ -498,4 +506,42 @@ export type SDKPermissionDeniedMessage = {
498
506
  decision_reason_type?: SDKPermissionDeniedReasonType;
499
507
  decision_reason?: string;
500
508
  };
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;
509
+ export type SDKArtifactInfo = {
510
+ path: string;
511
+ display_path: string;
512
+ name: string;
513
+ relative_path?: string;
514
+ size?: number;
515
+ mime?: string;
516
+ mtime?: number;
517
+ } & ({
518
+ kind: 'changed';
519
+ additions: number;
520
+ deletions: number;
521
+ is_new: boolean;
522
+ } | {
523
+ kind: 'presented';
524
+ });
525
+ export type SDKArtifactUpdateMessage = {
526
+ type: 'system';
527
+ subtype: 'artifacts_update';
528
+ artifacts: readonly SDKArtifactInfo[];
529
+ uuid: string;
530
+ session_id: string;
531
+ };
532
+ /**
533
+ * Authoritative snapshot of the models available to a running Session.
534
+ *
535
+ * The CLI emits this after the active model or model catalog changes. Daemon
536
+ * transports replay the latest snapshot when a Host attaches to an existing
537
+ * Session, so consumers should replace their local view rather than merge it.
538
+ */
539
+ export type SDKAvailableModelsUpdateMessage = {
540
+ type: 'system';
541
+ subtype: 'available_models_update';
542
+ models: ModelInfo[];
543
+ currentModel: string;
544
+ uuid: UUID;
545
+ session_id: string;
546
+ };
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;
@@ -0,0 +1,9 @@
1
+ import type { PermissionMode } from '../types/permissions.js';
2
+ /**
3
+ * Normalize the public SDK Permission union to the shared-daemon contract.
4
+ *
5
+ * Shared-daemon Sessions expose four authoritative values. `yolo` remains an
6
+ * accepted SDK input alias, but is never sent to the CLI or projected as
7
+ * Session state.
8
+ */
9
+ export declare function normalizeDaemonPermissionMode(mode: unknown): PermissionMode | undefined;
@@ -56,6 +56,12 @@ type InitConfig = {
56
56
  memory?: SerializableMemoryConfig;
57
57
  evolution?: SerializableEvolutionConfig;
58
58
  customContext?: Record<string, string>;
59
+ /** Keep Permission and Plan independent on shared-daemon control calls. */
60
+ independentPlanModeControls?: boolean;
61
+ /** Initial shared-daemon Permission, applied as part of initialize. */
62
+ permissionMode?: PermissionMode;
63
+ /** Use the daemon subscribe result instead of issuing Query initialize. */
64
+ attachedInitialization?: Promise<SDKControlInitializeResponse>;
59
65
  };
60
66
  export declare class QueryRunner implements InternalQuery {
61
67
  private static readonly CUSTOM_CONTEXT_CAPABILITY;
@@ -435,4 +441,10 @@ export declare class QueryRunner implements InternalQuery {
435
441
  */
436
442
  [Symbol.asyncDispose](): Promise<void>;
437
443
  }
444
+ export declare function createAttachedQueryRunner(options: {
445
+ transport: Transport;
446
+ initialization: Promise<SDKControlInitializeResponse>;
447
+ canUseTool?: CanUseTool;
448
+ onElicitation?: OnElicitation;
449
+ }): InternalQuery;
438
450
  export {};
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "version": 1,
3
3
  "brand": "global",
4
- "sdkVersion": "1.0.27",
5
- "qoderCliVersion": "1.1.31",
4
+ "sdkVersion": "1.0.29",
5
+ "qoderCliVersion": "1.1.34",
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.31/qodercli-worker-runtime-{target}.tgz",
11
+ "urlTemplate": "https://download.qoder.com/qodercli/releases/1.1.34/qodercli-worker-runtime-{target}.tgz",
12
12
  "artifactNameTemplate": "qodercli-worker-runtime-{target}.tgz",
13
- "sdkVersion": "1.0.27",
14
- "qoderCliVersion": "1.1.31"
13
+ "sdkVersion": "1.0.29",
14
+ "qoderCliVersion": "1.1.34"
15
15
  }
16
16
  }
@@ -3,6 +3,7 @@ import type { SDKMirrorErrorMessage } from '../types/messages.js';
3
3
  import type { SessionKey, SessionStore, SessionStoreEntry, SessionStoreFlush } from './session-store.js';
4
4
  export type TranscriptMirrorMessage = {
5
5
  type: 'transcript_mirror';
6
+ session_id?: string;
6
7
  filePath: string;
7
8
  entries: SessionStoreEntry[];
8
9
  };
@@ -16,7 +17,6 @@ export declare class TranscriptMirrorBatcher {
16
17
  onMirrorError: (message: SDKMirrorErrorMessage) => void;
17
18
  diagnostics?: DiagnosticsSink;
18
19
  appendTimeoutMs?: number;
19
- retryDelaysMs?: readonly number[];
20
20
  });
21
21
  enqueue(message: TranscriptMirrorMessage): void;
22
22
  flush(): Promise<void>;
@@ -5,4 +5,4 @@
5
5
  * shim so existing SDK consumer imports (`'./types/common.js'` paths)
6
6
  * keep working.
7
7
  */
8
- export type { UUID, BetaMessage, BetaRawMessageStreamEvent, BetaUsage, BetaStopReason, MessageParam, NonNullableUsage, AccountInfo, UsageAddOnQuotaBucket, UsageInfo, UsageOrgResourcePackage, UsageQuotaBucket, SessionCreditsUsage, ApiKeySource, ExitReason, FastModeState, ConfigScope, SettingSource, SDKAssistantMessageError, SDKStatus, EffortLevel, ThinkingAdaptive, ThinkingEnabled, ThinkingDisabled, ThinkingConfig, ModelInfo, ModelSource, ServerModelJson, ServerModelJsonValue, ModelStrategy, ModelPromotion, LocalizedModelText, ModelContextConfig, ModelContextWindowEntry, ModelEffortEntry, ModelThinkingConfig, ModelThinkingDisabled, ModelThinkingEnabled, PluginInfo, ModelUsage, SlashCommand, ToolConfig, SdkPluginConfig, } from '../protocol/index.js';
8
+ export type { UUID, Base64ImageSource, UrlImageSource, ImageSource, ImageContentBlock, ContentBlock, BetaMessage, BetaRawMessageStreamEvent, BetaUsage, BetaStopReason, MessageParam, NonNullableUsage, AccountInfo, UsageAddOnQuotaBucket, UsageInfo, UsageOrgResourcePackage, UsageQuotaBucket, SessionCreditsUsage, ApiKeySource, ExitReason, FastModeState, ConfigScope, SettingSource, SDKAssistantMessageError, SDKStatus, EffortLevel, ThinkingAdaptive, ThinkingEnabled, ThinkingDisabled, ThinkingConfig, ModelInfo, ModelSource, ServerModelJson, ServerModelJsonValue, ModelStrategy, ModelPromotion, LocalizedModelText, ModelContextConfig, ModelContextWindowEntry, ModelEffortEntry, ModelThinkingConfig, ModelThinkingDisabled, ModelThinkingEnabled, PluginInfo, ModelUsage, SlashCommand, ToolConfig, SdkPluginConfig, } from '../protocol/index.js';
@@ -9,7 +9,7 @@ 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, SDKResultSuccess, SDKResultError, SDKResultMessage, SDKPartialAssistantMessage, SDKCompactBoundaryMessage, SDKAPIRetryMessage, SDKModelQueueStatusMessage, SDKControlRequestProgressMessage, 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, 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';
13
13
  export type SDKUserMessage = {
14
14
  type: 'user';
15
15
  message: MessageParam;
@@ -20,6 +20,8 @@ import type { ModelPromptPatches } from '../protocol/model-prompt-patches.js';
20
20
  import type { MemoryOptions } from './memory.js';
21
21
  import type { EvolutionOptions } from './skill-evolution.js';
22
22
  import type { SDKGoalSnapshot, SDKGoalStatus, SDKPlanModeSnapshot } from '../protocol/control.js';
23
+ import type { Daemon } from '../daemon/start-daemon.js';
24
+ import type { SessionExtra } from '../daemon/session-metadata.js';
23
25
  export type { CanUseTool };
24
26
  export type { AuthOptions };
25
27
  export type ElicitationRequest = {
@@ -68,6 +70,10 @@ export type Options = {
68
70
  * `abort()` closes the session and ends message iteration.
69
71
  */
70
72
  abortController?: AbortController;
73
+ /** Route this Query through a shared local daemon started by startDaemon(). */
74
+ daemon?: Daemon;
75
+ /** Opaque, JSON-safe metadata attached to this daemon-backed Session. */
76
+ extra?: SessionExtra;
71
77
  /**
72
78
  * Authentication configuration for the qodercli child process.
73
79
  *
@@ -87,8 +93,8 @@ export type Options = {
87
93
  * - `{ type: 'jobToken', fetchJobToken }` - Internal first-party host
88
94
  * integration. Prefer the `jobToken(fetchJobToken)` helper in host code.
89
95
  *
90
- * Required for `query()` sessions. If omitted, `query()` throws an
91
- * `auth_not_configured` error before spawning qodercli.
96
+ * Required for direct `query()` sessions. A Query using `options.daemon`
97
+ * reuses the authentication bound by `startDaemon()` and must omit this field.
92
98
  */
93
99
  auth?: InternalAuthOptions;
94
100
  additionalDirectories?: string[];
@@ -3,7 +3,6 @@ export type AgentInput = {
3
3
  description: string;
4
4
  prompt: string;
5
5
  subagent_type?: string;
6
- model?: string;
7
6
  mode?: PermissionMode;
8
7
  run_in_background?: boolean;
9
8
  name?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qoder-ai/qoder-agent-sdk",
3
- "version": "1.0.27",
3
+ "version": "1.0.29",
4
4
  "description": "TypeScript SDK for building Qoder-powered coding agents.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -50,7 +50,7 @@
50
50
  "peerDependencies": {
51
51
  "zod": "^3.25.0 || ^4.0.0"
52
52
  },
53
- "qoderCliVersion": "1.1.31",
53
+ "qoderCliVersion": "1.1.34",
54
54
  "qoderSdkBrand": "global",
55
55
  "license": "SEE LICENSE IN LICENSE"
56
56
  }