@qoder-ai/qoder-agent-sdk 1.0.58 → 1.0.59

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.
@@ -188,6 +188,7 @@ export type SDKControlSetProxyRequest = {
188
188
  proxy: string | null;
189
189
  };
190
190
  export type SDKControlGenerateSessionTitleRequest = {
191
+ source_user_message_id?: string;
191
192
  type: 'generate_session_title';
192
193
  description: string;
193
194
  persist?: boolean;
@@ -22,7 +22,7 @@ export type { EffectiveMemoryConfig, MemoryConsumptionFile, MemoryConsumptionRes
22
22
  export type { EffectiveEvolutionConfig, EffectiveSkillEvolutionConfig, SerializableEvolutionConfig, SerializableSkillEvolutionConfig, SerializableSkillEvolutionGenerationOptions, SkillEvolutionGateInput, SkillEvolutionGateResult, SkillEvolutionMode, SkillEvolutionResult, SkillEvolutionSuggestion, } from './skill-evolution.js';
23
23
  export type { PermissionMode, PermissionBehavior, PermissionScope, CanUseToolPermissionKind, CanUseToolPermissionOption, CanUseToolPermissionDetails, PermissionDecisionClassification, PermissionUpdateDestination, PermissionRuleValue, PermissionUpdate, PermissionResult, } from './permissions.js';
24
24
  export type { McpStdioServerConfig, McpSSEServerConfig, McpHttpServerConfig, McpSdkServerConfig, McpServerConfigForProcessTransport, McpServerStatus, McpServerStatusConfig, McpSetServersResult, OAuthToken, } from './mcp.js';
25
- export type { SDKAssistantMessage, SDKToolNonExecutionKind, SDKToolResultMeta, SDKMessageOrigin, SDKSelectedSkill, SDKUserMessage, SDKUserMessageReplay, SDKResultSuccess, SDKResultError, SDKResultMessage, SDKFileAttachment, SDKSystemMessage, SDKArtifactInfo, SDKArtifactUpdateMessage, SDKAvailableModelsUpdateMessage, SDKCommandsChangedMessage, SDKPartialAssistantMessage, SDKCompactBoundaryMessage, SDKStatusMessage, SDKAPIRetryMessage, SDKModelQueueStatusMessage, SDKControlRequestProgressMessage, SDKCommandLifecycleMessage, SDKToolProgressMessage, SDKHookDiagnosticsMessage, SDKHookStartedMessage, SDKHookProgressMessage, SDKHookResponseMessage, SDKTaskNotificationMessage, SDKTaskStartedMessage, SDKTaskProgressMessage, SDKTaskUpdatedMessage, SDKBackgroundTasksChangedMessage, SDKSessionStateChangedMessage, SDKPlanModeChangedMessage, SDKGoalUpdatedMessage, SDKGoalClearedMessage, SDKSessionTitleChangedMessage, SDKFilesPersistedEvent, SDKElicitationCompleteMessage, SDKPromptSuggestionMessage, SDKCloudAgentEventMessage, SDKMemoryGenerationMessage, SDKMemoryConsumptionMessage, SDKSkillEvolutionMessage, SDKAgentsMdSizeWarningMessage, SDKPermissionDenial, SDKPermissionDeniedMessage, SDKPermissionDeniedReasonType, SDKMessage, } from './messages.js';
25
+ export type { SDKAssistantMessage, SDKHostToolUseMessage, SDKHostToolResultMessage, SDKCodeModeHostResult, SDKToolNonExecutionKind, SDKToolResultMeta, SDKMessageOrigin, SDKSelectedSkill, SDKUserMessage, SDKUserMessageReplay, SDKResultSuccess, SDKResultError, SDKResultMessage, SDKFileAttachment, SDKSystemMessage, SDKArtifactInfo, SDKArtifactUpdateMessage, SDKAvailableModelsUpdateMessage, SDKCommandsChangedMessage, SDKPartialAssistantMessage, SDKCompactBoundaryMessage, SDKStatusMessage, SDKAPIRetryMessage, SDKModelQueueStatusMessage, SDKControlRequestProgressMessage, SDKCommandLifecycleMessage, SDKToolProgressMessage, SDKHookDiagnosticsMessage, SDKHookStartedMessage, SDKHookProgressMessage, SDKHookResponseMessage, SDKTaskNotificationMessage, SDKTaskStartedMessage, SDKTaskProgressMessage, SDKTaskUpdatedMessage, SDKBackgroundTasksChangedMessage, SDKSessionStateChangedMessage, SDKPlanModeChangedMessage, SDKGoalUpdatedMessage, SDKGoalClearedMessage, SDKSessionTitleChangedMessage, SDKFilesPersistedEvent, SDKElicitationCompleteMessage, SDKPromptSuggestionMessage, SDKCloudAgentEventMessage, SDKMemoryGenerationMessage, SDKMemoryConsumptionMessage, SDKSkillEvolutionMessage, SDKAgentsMdSizeWarningMessage, SDKPermissionDenial, SDKPermissionDeniedMessage, SDKPermissionDeniedReasonType, SDKMessage, } from './messages.js';
26
26
  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';
27
27
  export type { AgentMcpServerSpec, AgentDefinition, AgentInfo, AgentMemoryScope, } from './agents.js';
28
28
  export { QoderModelPurpose } 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, ModelInfo, SlashCommand, SDKStatus } from './common.js';
14
+ import type { BetaMessage, BetaRawMessageStreamEvent, MessageParam, UUID, SDKAssistantMessageError, FastModeState, ApiKeySource, ModelUsage, NonNullableUsage, ContentBlock, 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';
@@ -73,6 +73,8 @@ export type SDKUserMessage = {
73
73
  message: MessageParam;
74
74
  parent_tool_use_id: string | null;
75
75
  custom_context?: Record<string, string>;
76
+ /** Additional Qoder headers for this input's first main-model request and its retries. */
77
+ extra_headers?: Record<string, string>;
76
78
  /** SDK telemetry metadata; started_at_ms/submitted_at_ms use Unix milliseconds. */
77
79
  extra?: Record<string, unknown>;
78
80
  /** The client has resolved slash commands, so a leading slash is literal input. */
@@ -239,6 +241,14 @@ export type SDKCompactBoundaryMessage = {
239
241
  tail_uuid: UUID;
240
242
  };
241
243
  };
244
+ /** 本次压缩的累计用量,包含失败尝试和重试;缺失 credits 表示未知。 */
245
+ usage?: {
246
+ context_usage_ratio?: number;
247
+ credits?: number;
248
+ };
249
+ /** 用于费用去重和归因的全部压缩请求 ID。 */
250
+ modelRequestIds?: string[];
251
+ agent_id?: string;
242
252
  uuid: UUID;
243
253
  session_id: string;
244
254
  };
@@ -247,6 +257,14 @@ export type SDKStatusMessage = {
247
257
  subtype: 'status';
248
258
  status: SDKStatus;
249
259
  permissionMode?: PermissionMode;
260
+ /** 本次压缩的累计用量,包含失败尝试和重试;缺失 credits 表示未知。 */
261
+ usage?: {
262
+ context_usage_ratio?: number;
263
+ credits?: number;
264
+ };
265
+ /** 用于费用去重和归因的全部压缩请求 ID。 */
266
+ modelRequestIds?: string[];
267
+ agent_id?: string;
250
268
  uuid: UUID;
251
269
  session_id: string;
252
270
  };
@@ -661,5 +679,55 @@ export type SDKToolProgressMessage = {
661
679
  /** Omitted when the preview is truncated and the producer only has an estimate. */
662
680
  total_lines?: number;
663
681
  preview_truncated?: boolean;
682
+ /** Native MCP progress for the call identified by tool_use_id. */
683
+ mcp?: {
684
+ server_name: string;
685
+ progress: number;
686
+ total?: number;
687
+ message?: string;
688
+ };
689
+ };
690
+ /** Native child tool result for the host, optionally persisted in a CodeMode call delta. */
691
+ export type SDKCodeModeHostResult = {
692
+ content: string | ContentBlock[];
693
+ is_error?: boolean;
694
+ tool_use_result?: unknown;
695
+ tool_result_meta?: SDKToolResultMeta[];
696
+ };
697
+ type SDKHostToolEnvelope = {
698
+ type: 'system';
699
+ code_mode_tool_use_id: string;
700
+ uuid: UUID;
701
+ session_id: string;
702
+ parent_tool_use_id: string | null;
703
+ };
704
+ /** Host notification for a child tool call. Model usage and stop information belong to assistant messages. */
705
+ export type SDKHostToolUseMessage = SDKHostToolEnvelope & {
706
+ subtype: 'host_tool_use';
707
+ message: {
708
+ role: 'assistant';
709
+ content: [
710
+ {
711
+ type: 'tool_use';
712
+ id: string;
713
+ name: string;
714
+ input: Record<string, unknown>;
715
+ }
716
+ ];
717
+ };
718
+ };
719
+ /** Output-only notification for a child tool result. */
720
+ export type SDKHostToolResultMessage = SDKHostToolEnvelope & Pick<SDKCodeModeHostResult, 'tool_use_result' | 'tool_result_meta'> & {
721
+ subtype: 'host_tool_result';
722
+ message: {
723
+ role: 'user';
724
+ content: [
725
+ {
726
+ type: 'tool_result';
727
+ tool_use_id: string;
728
+ } & Pick<SDKCodeModeHostResult, 'content' | 'is_error'>
729
+ ];
730
+ };
664
731
  };
665
- export type SDKMessage = SDKToolProgressMessage | SDKAgentsMdSizeWarningMessage | SDKAssistantMessage | SDKUserMessage | SDKUserMessageReplay | SDKResultMessage | SDKSystemMessage | SDKArtifactUpdateMessage | SDKAvailableModelsUpdateMessage | SDKCommandsChangedMessage | SDKPermissionDeniedMessage | SDKPartialAssistantMessage | SDKCompactBoundaryMessage | SDKStatusMessage | SDKAPIRetryMessage | SDKModelQueueStatusMessage | SDKControlRequestProgressMessage | SDKCommandLifecycleMessage | SDKHookDiagnosticsMessage | SDKHookStartedMessage | SDKHookProgressMessage | SDKHookResponseMessage | SDKTaskNotificationMessage | SDKTaskStartedMessage | SDKTaskProgressMessage | SDKTaskUpdatedMessage | SDKBackgroundTasksChangedMessage | SDKSessionStateChangedMessage | SDKPlanModeChangedMessage | SDKGoalUpdatedMessage | SDKGoalClearedMessage | SDKSessionTitleChangedMessage | SDKFilesPersistedEvent | SDKElicitationCompleteMessage | SDKPromptSuggestionMessage | SDKCloudAgentEventMessage | SDKMemoryGenerationMessage | SDKMemoryConsumptionMessage | SDKSkillEvolutionMessage;
732
+ export type SDKMessage = SDKHostToolUseMessage | SDKHostToolResultMessage | SDKToolProgressMessage | SDKAgentsMdSizeWarningMessage | SDKAssistantMessage | SDKUserMessage | SDKUserMessageReplay | SDKResultMessage | SDKSystemMessage | SDKArtifactUpdateMessage | SDKAvailableModelsUpdateMessage | SDKCommandsChangedMessage | SDKPermissionDeniedMessage | SDKPartialAssistantMessage | SDKCompactBoundaryMessage | SDKStatusMessage | SDKAPIRetryMessage | SDKModelQueueStatusMessage | SDKControlRequestProgressMessage | SDKCommandLifecycleMessage | SDKHookDiagnosticsMessage | SDKHookStartedMessage | SDKHookProgressMessage | SDKHookResponseMessage | SDKTaskNotificationMessage | SDKTaskStartedMessage | SDKTaskProgressMessage | SDKTaskUpdatedMessage | SDKBackgroundTasksChangedMessage | SDKSessionStateChangedMessage | SDKPlanModeChangedMessage | SDKGoalUpdatedMessage | SDKGoalClearedMessage | SDKSessionTitleChangedMessage | SDKFilesPersistedEvent | SDKElicitationCompleteMessage | SDKPromptSuggestionMessage | SDKCloudAgentEventMessage | SDKMemoryGenerationMessage | SDKMemoryConsumptionMessage | SDKSkillEvolutionMessage;
733
+ export {};
@@ -47,9 +47,10 @@ import type { MemoryRuntimeCallbacks, SerializableMemoryConfig } from '../types/
47
47
  import type { SkillEvolutionRuntimeCallbacks, SerializableEvolutionConfig } from '../types/skill-evolution.js';
48
48
  import type { ResolveSessionArtifacts } from '../types/artifacts.js';
49
49
  import type { BYOKModelValidationInput, BYOKProviderInfo, ByokConfigCheckResult, ByokConfigInfo, ByokConfigReference, CheckByokConfigInput, CreateByokConfigInput, DeleteByokConfigInput, UpdateByokConfigInput } from '../types/byok.js';
50
- /** Init config passed to the initialize control request. */
50
+ /** Query initialization and input settings. */
51
51
  type InitConfig = {
52
52
  sdkStartedAtMs?: number;
53
+ extraHeaders?: Record<string, string>;
53
54
  systemPrompt?: string;
54
55
  appendSystemPrompt?: string;
55
56
  modelRequestPatches?: ModelPromptPatches;
@@ -80,6 +81,7 @@ type InitConfig = {
80
81
  };
81
82
  export declare class QueryRunner implements InternalQuery {
82
83
  private readonly hostActionDirect;
84
+ private extraHeadersSent;
83
85
  private static readonly CUSTOM_CONTEXT_CAPABILITY;
84
86
  private static readonly SELECTED_SKILLS_CAPABILITY;
85
87
  private static readonly INITIALIZE_TIMEOUT_MS;
@@ -349,6 +351,7 @@ export declare class QueryRunner implements InternalQuery {
349
351
  generateSessionTitle(description: string, options?: {
350
352
  persist?: boolean;
351
353
  customContext?: Record<string, string>;
354
+ sourceUserMessageId?: string;
352
355
  }): Promise<SDKControlGenerateSessionTitleResponse['title']>;
353
356
  askSideQuestion(question: string, options?: AskSideQuestionOptions): Promise<SideQuestionResult | null>;
354
357
  /**
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "version": 1,
3
3
  "brand": "global",
4
- "sdkVersion": "1.0.58",
5
- "qoderCliVersion": "1.1.81",
4
+ "sdkVersion": "1.0.59",
5
+ "qoderCliVersion": "1.1.83",
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.81/qodercli-worker-runtime-{target}.tgz",
11
+ "urlTemplate": "https://download.qoder.com/qodercli/releases/1.1.83/qodercli-worker-runtime-{target}.tgz",
12
12
  "artifactNameTemplate": "qodercli-worker-runtime-{target}.tgz",
13
- "sdkVersion": "1.0.58",
14
- "qoderCliVersion": "1.1.81"
13
+ "sdkVersion": "1.0.59",
14
+ "qoderCliVersion": "1.1.83"
15
15
  }
16
16
  }
@@ -9,12 +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, SDKCommandsChangedMessage, SDKResultSuccess, SDKResultError, SDKResultMessage, SDKPartialAssistantMessage, SDKCompactBoundaryMessage, SDKAPIRetryMessage, SDKModelQueueStatusMessage, SDKControlRequestProgressMessage, SDKCommandLifecycleMessage, SDKToolProgressMessage, SDKHookDiagnosticsMessage, SDKHookStartedMessage, SDKHookProgressMessage, SDKHookResponseMessage, SDKTaskNotificationMessage, SDKTaskStartedMessage, SDKTaskProgressMessage, SDKTaskUpdatedMessage, SDKBackgroundTasksChangedMessage, SDKSessionStateChangedMessage, SDKPlanModeChangedMessage, SDKSessionTitleChangedMessage, SDKFilesPersistedEvent, SDKElicitationCompleteMessage, SDKPromptSuggestionMessage, SDKCloudAgentEventMessage, SDKMemoryGenerationMessage, SDKMemoryConsumptionMessage, SDKSkillEvolutionMessage, SDKAgentsMdSizeWarningMessage, SDKPermissionDenial, SDKMessageOrigin, SDKSelectedSkill, SDKToolNonExecutionKind, SDKToolResultMeta, } from '../protocol/index.js';
12
+ export type { SDKHostToolUseMessage, SDKHostToolResultMessage, SDKCodeModeHostResult, SDKAssistantMessage, SDKArtifactInfo, SDKArtifactUpdateMessage, SDKAvailableModelsUpdateMessage, SDKCommandsChangedMessage, SDKResultSuccess, SDKResultError, SDKResultMessage, SDKPartialAssistantMessage, SDKCompactBoundaryMessage, SDKAPIRetryMessage, SDKModelQueueStatusMessage, SDKControlRequestProgressMessage, SDKCommandLifecycleMessage, SDKToolProgressMessage, SDKHookDiagnosticsMessage, SDKHookStartedMessage, SDKHookProgressMessage, SDKHookResponseMessage, SDKTaskNotificationMessage, SDKTaskStartedMessage, SDKTaskProgressMessage, SDKTaskUpdatedMessage, SDKBackgroundTasksChangedMessage, SDKSessionStateChangedMessage, SDKPlanModeChangedMessage, SDKSessionTitleChangedMessage, SDKFilesPersistedEvent, SDKElicitationCompleteMessage, SDKPromptSuggestionMessage, SDKCloudAgentEventMessage, SDKMemoryGenerationMessage, SDKMemoryConsumptionMessage, SDKSkillEvolutionMessage, SDKAgentsMdSizeWarningMessage, SDKPermissionDenial, SDKMessageOrigin, SDKSelectedSkill, 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
+ /** Additional Qoder headers for this input's first main-model request and its retries. */
19
+ extra_headers?: Record<string, string>;
18
20
  /** SDK telemetry metadata; started_at_ms/submitted_at_ms use Unix milliseconds. */
19
21
  extra?: Record<string, unknown>;
20
22
  /**
@@ -67,6 +67,16 @@ export type SecurityScanOptions = {
67
67
  l3DeepScan?: boolean;
68
68
  };
69
69
  export type Options = {
70
+ /** 当前 Query 的业务类型;产品身份在 initDaemon/startDaemon 中配置。 */
71
+ business?: {
72
+ type: string;
73
+ };
74
+ /**
75
+ * Additional Qoder inference headers for the first main-model request of the
76
+ * first queryable input, including network retries. Later requests and
77
+ * subagents do not inherit them. Existing built-in headers take precedence.
78
+ */
79
+ extraHeaders?: Record<string, string>;
70
80
  /**
71
81
  * Optional controller for defining when the host ends the session. Calling
72
82
  * `abort()` closes the session and ends message iteration.
@@ -514,6 +524,9 @@ export interface Query extends AsyncGenerator<SDKMessage, void> {
514
524
  */
515
525
  generateSessionTitle(description: string, options?: {
516
526
  persist?: boolean;
527
+ /** 原用户消息的 uuid;标题正文不参与业务归属匹配。 */
528
+ sourceUserMessageId?: string;
529
+ customContext?: Record<string, string>;
517
530
  }): Promise<SDKControlGenerateSessionTitleResponse['title']>;
518
531
  /**
519
532
  * Ask a one-off question using the current conversation context without
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qoder-ai/qoder-agent-sdk",
3
- "version": "1.0.58",
3
+ "version": "1.0.59",
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.81",
53
+ "qoderCliVersion": "1.1.83",
54
54
  "qoderSdkBrand": "global",
55
55
  "license": "SEE LICENSE IN LICENSE"
56
56
  }