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

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.
@@ -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, 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, 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';
@@ -169,6 +169,8 @@ export type SDKResultError = {
169
169
  modelUsage: Record<string, ModelUsage>;
170
170
  permission_denials: SDKPermissionDenial[];
171
171
  errors: string[];
172
+ /** 服务端业务说明,仅做必要脱敏;缺失时省略,与 CLI 展示文案 errors 独立。 */
173
+ error_message?: string;
172
174
  error_code?: number | string;
173
175
  terminal_reason?: string | null;
174
176
  fast_mode_state?: FastModeState;
@@ -297,6 +299,27 @@ export type SDKCommandLifecycleMessage = {
297
299
  uuid: UUID;
298
300
  session_id: string;
299
301
  };
302
+ /** Existing static configuration diagnostics; no Hook execution is performed.
303
+ * Delivery is scheduled in the background and may follow the refresh response.
304
+ * Each message replaces the previous diagnostics. An empty complete result means
305
+ * no issues were reported by existing checks, not that Hooks can run successfully.
306
+ */
307
+ export type SDKHookDiagnosticsMessage = {
308
+ type: 'system';
309
+ subtype: 'hook_diagnostics';
310
+ read_status: 'complete' | 'partial' | 'failed';
311
+ checked_at: string;
312
+ diagnostics: Array<{
313
+ code: 'hook_validation_error' | 'settings_load_error' | 'plugin_hook_load_error' | 'hook_reload_error';
314
+ message: string;
315
+ event?: string;
316
+ field?: string;
317
+ /** Opaque configuration entry reference; changes when the entry changes. */
318
+ hook_ref?: string;
319
+ }>;
320
+ uuid: UUID;
321
+ session_id: string;
322
+ };
300
323
  export type SDKHookStartedMessage = {
301
324
  type: 'system';
302
325
  subtype: 'hook_started';
@@ -639,4 +662,4 @@ export type SDKToolProgressMessage = {
639
662
  total_lines?: number;
640
663
  preview_truncated?: boolean;
641
664
  };
642
- export type SDKMessage = SDKToolProgressMessage | SDKAgentsMdSizeWarningMessage | SDKAssistantMessage | SDKUserMessage | SDKUserMessageReplay | SDKResultMessage | SDKSystemMessage | SDKArtifactUpdateMessage | SDKAvailableModelsUpdateMessage | SDKCommandsChangedMessage | SDKPermissionDeniedMessage | SDKPartialAssistantMessage | SDKCompactBoundaryMessage | SDKStatusMessage | SDKAPIRetryMessage | SDKModelQueueStatusMessage | SDKControlRequestProgressMessage | SDKCommandLifecycleMessage | SDKHookStartedMessage | SDKHookProgressMessage | SDKHookResponseMessage | SDKTaskNotificationMessage | SDKTaskStartedMessage | SDKTaskProgressMessage | SDKTaskUpdatedMessage | SDKBackgroundTasksChangedMessage | SDKSessionStateChangedMessage | SDKPlanModeChangedMessage | SDKGoalUpdatedMessage | SDKGoalClearedMessage | SDKSessionTitleChangedMessage | SDKFilesPersistedEvent | SDKElicitationCompleteMessage | SDKPromptSuggestionMessage | SDKCloudAgentEventMessage | SDKMemoryGenerationMessage | SDKMemoryConsumptionMessage | SDKSkillEvolutionMessage;
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;
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "version": 1,
3
3
  "brand": "global",
4
- "sdkVersion": "1.0.56",
5
- "qoderCliVersion": "1.1.78",
4
+ "sdkVersion": "1.0.58",
5
+ "qoderCliVersion": "1.1.81",
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.78/qodercli-worker-runtime-{target}.tgz",
11
+ "urlTemplate": "https://download.qoder.com/qodercli/releases/1.1.81/qodercli-worker-runtime-{target}.tgz",
12
12
  "artifactNameTemplate": "qodercli-worker-runtime-{target}.tgz",
13
- "sdkVersion": "1.0.56",
14
- "qoderCliVersion": "1.1.78"
13
+ "sdkVersion": "1.0.58",
14
+ "qoderCliVersion": "1.1.81"
15
15
  }
16
16
  }
@@ -6,12 +6,9 @@ export * from './common.js';
6
6
  export * from './messages.js';
7
7
  export * from './memory.js';
8
8
  export * from './artifacts.js';
9
- export type { DefaultRuntimeTransport } from '../core/default-runtime.js';
10
9
  export type { QueryTransportCreateOptions, QueryTransportProviderOption, } from '../core/query-transport.js';
11
- export type { ProcessTransportOptions } from '../core/process-transport.js';
12
- export type { WorkerRuntimeTransportOptions, WorkerTransportOptions, } from '../core/worker-transport.js';
13
10
  export type { QueryTransportProvider, Transport, } from '../core/transport.js';
14
- export type { ElicitationRequest, ElicitationResult, OnElicitation, PromptRequestOption, PromptRequest, PromptResponse, SecurityScanOptions, Options, QueryTransportOptions, SpawnOptions, SpawnedProcess, Query, } from './options.js';
11
+ export type { ElicitationRequest, ElicitationResult, OnElicitation, PromptRequestOption, PromptRequest, PromptResponse, SecurityScanOptions, Options, QueryTransportOptions, Query, } from './options.js';
15
12
  export * from './permissions.js';
16
13
  export type { HostActionOptions, HostActionParams } from './host-action.js';
17
14
  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';
@@ -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, SDKArtifactInfo, SDKArtifactUpdateMessage, SDKAvailableModelsUpdateMessage, SDKCommandsChangedMessage, SDKResultSuccess, SDKResultError, SDKResultMessage, SDKPartialAssistantMessage, SDKCompactBoundaryMessage, SDKAPIRetryMessage, SDKModelQueueStatusMessage, SDKControlRequestProgressMessage, SDKCommandLifecycleMessage, SDKToolProgressMessage, 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 { 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;
@@ -1,4 +1,4 @@
1
- import type { Readable, Writable } from 'stream';
1
+ import type { Readable, Writable } from 'node:stream';
2
2
  import type { CloseDiagnosticEvent } from './close-diagnostics.js';
3
3
  import type { ElicitResult } from '@modelcontextprotocol/sdk/types.js';
4
4
  import type { AuthOptions, InternalAuthOptions } from './auth.js';
@@ -9,7 +9,7 @@ import type { HookCallbackMatcher, HookEvent } from './hooks.js';
9
9
  import type { McpServerConfig, McpServerStatus, McpSetServersResult, OAuthToken } from './mcp.js';
10
10
  import type { SDKMessage, SDKUserMessage } from './messages.js';
11
11
  import type { Settings } from './settings.js';
12
- import type { SDKControlInterruptResponse, SDKControlInitializeResponse, SDKControlGetContextUsageResponse, SDKControlGenerateSessionTitleResponse, AskSideQuestionOptions, SideQuestionResult, SDKControlAddDirectoriesResponse, SDKControlReloadPluginsResponse, SDKControlReloadSkillsResponse, StdoutMessage } from './control.js';
12
+ import type { SDKControlInterruptResponse, SDKControlInitializeResponse, SDKControlGetContextUsageResponse, SDKControlGenerateSessionTitleResponse, AskSideQuestionOptions, SideQuestionResult, SDKControlAddDirectoriesResponse, SDKControlReloadPluginsResponse, SDKControlReloadSkillsResponse } from './control.js';
13
13
  import type { ModelPolicyProvider } from './model-policy-provider.js';
14
14
  import type { BYOKModelValidationInput, BYOKProviderInfo, ByokConfigCheckResult, ByokConfigInfo, ByokConfigReference, CheckByokConfigInput, CreateByokConfigInput, DeleteByokConfigInput, UpdateByokConfigInput } from './byok.js';
15
15
  import type { RewindFilesResult, RewindResult, RewindScope } from './session.js';
@@ -99,9 +99,9 @@ export type Options = {
99
99
  * - `{ type: 'jobToken', fetchJobToken }` - Internal first-party host
100
100
  * integration. Prefer the `jobToken(fetchJobToken)` helper in host code.
101
101
  *
102
- * Required for direct `query()` sessions. A Query using `options.daemon`
103
- * inherits authentication configured when the daemon was started and must
104
- * omit this field.
102
+ * Required unless `options.daemon` refers to a daemon that was started with
103
+ * its own credentials. Every other query starts the process-wide daemon with
104
+ * these credentials.
105
105
  */
106
106
  auth?: InternalAuthOptions;
107
107
  additionalDirectories?: string[];
@@ -124,13 +124,17 @@ export type Options = {
124
124
  */
125
125
  experimentalCloudAgent?: CloudAgentOptions;
126
126
  /**
127
- * Selects the local query transport.
127
+ * Selects the shared daemon's launch carrier for the first implicit daemon
128
+ * start.
128
129
  *
129
- * - omitted: use the transport baked into the installed SDK package.
130
- * - `ProcessTransport.default`: spawn qodercli as a child process.
131
- * - `WorkerTransport.default`: run qoder-worker-runtime in a Node worker thread.
132
- * - `new WorkerTransport({ ... })`: run worker runtime with provider options.
130
+ * - omitted: the daemon uses the package's `DEFAULT_RUNTIME_TRANSPORT`.
131
+ * - `ProcessTransport.default`: launch qodercli as a process carrier.
132
+ * - `WorkerTransport.default`: launch the bundled worker runtime.
133
+ * - `new WorkerTransport({ ... })`: launch the given worker runtime.
133
134
  * - custom `QueryTransportProvider`: provide a fresh transport per query.
135
+ *
136
+ * Once the daemon is ready, a query with a different launch mode is rejected
137
+ * with `DaemonConfigurationConflictError`.
134
138
  */
135
139
  transport?: QueryTransportOptions;
136
140
  agent?: string;
@@ -245,11 +249,6 @@ export type Options = {
245
249
  * disable.
246
250
  */
247
251
  controlRequestTimeoutMs?: number;
248
- /**
249
- * Grace period in milliseconds before the local transport terminates qodercli
250
- * after closing stdin. Defaults to 2000.
251
- */
252
- closeGraceMs?: number;
253
252
  includePartialMessages?: boolean;
254
253
  includeHookEvents?: boolean;
255
254
  /** Opt in to bounded foreground shell previews via tool_progress on supported daemons. Defaults to off. */
@@ -265,11 +264,10 @@ export type Options = {
265
264
  allowedMcpServerNames?: string[];
266
265
  model?: string;
267
266
  /**
268
- * Path to a local Qoder runtime.
267
+ * Path to the local Qoder CLI entry that the daemon process launches.
269
268
  *
270
- * Native binaries and ordinary JavaScript CLI entries use ProcessTransport.
271
- * Recognized `qoder-worker-runtime*.mjs` entries use WorkerTransport. An
272
- * explicit `transport` provider takes precedence over this automatic choice.
269
+ * Native binaries and JavaScript CLI entries are both supported; a script
270
+ * entry runs through `executable` (or the SDK host's Node binary).
273
271
  */
274
272
  pathToQoderCLIExecutable?: string;
275
273
  permissionMode?: PermissionMode;
@@ -361,6 +359,11 @@ export type Options = {
361
359
  * logging, but is not forwarded to qodercli.
362
360
  */
363
361
  debugFile?: string;
362
+ /**
363
+ * Accepted for compatibility with the former per-query transport. The
364
+ * shared daemon owns process termination, so this value is ignored.
365
+ */
366
+ closeGraceMs?: number;
364
367
  spawnQoderCLIProcess?: (options: SpawnOptions) => SpawnedProcess;
365
368
  };
366
369
  export interface SpawnOptions {
@@ -652,12 +655,4 @@ export interface InternalQuery extends Query {
652
655
  reconnectMcpServer(serverName: string): Promise<void>;
653
656
  mcpClearAuth(serverName: string): Promise<void>;
654
657
  injectMcpToken(serverName: string, token: OAuthToken): Promise<void>;
655
- }
656
- export interface Transport {
657
- initialize(): Promise<void>;
658
- write(data: string): void | Promise<void>;
659
- close(): void;
660
- isReady(): boolean;
661
- readMessages(): AsyncGenerator<StdoutMessage, void, unknown>;
662
- endInput(): void;
663
658
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qoder-ai/qoder-agent-sdk",
3
- "version": "1.0.56",
3
+ "version": "1.0.58",
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.78",
53
+ "qoderCliVersion": "1.1.81",
54
54
  "qoderSdkBrand": "global",
55
55
  "license": "SEE LICENSE IN LICENSE"
56
56
  }