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

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.
@@ -225,7 +225,7 @@ export type ModelStrategy = {
225
225
  enabled: boolean;
226
226
  disabled_message_key: string;
227
227
  };
228
- export type ModelSource = 'system' | 'user';
228
+ export type ModelSource = 'system' | 'user' | 'organization';
229
229
  /** JSON-compatible value inside a raw server model entry. */
230
230
  export type ServerModelJsonValue = string | number | boolean | null | ServerModelJsonValue[] | {
231
231
  [key: string]: ServerModelJsonValue;
@@ -276,7 +276,7 @@ export type ModelInfo = {
276
276
  modelId?: string;
277
277
  displayName: string;
278
278
  description: string;
279
- /** `'system'` (Qoder catalog) or `'user'` (BYOK). */
279
+ /** `'system'` (Qoder catalog), `'user'` (BYOK), or organization-managed. */
280
280
  source?: ModelSource;
281
281
  /** Server-designated default for the current scene. */
282
282
  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 */
@@ -650,6 +669,8 @@ export type SDKControlInitializeResponse = {
650
669
  capabilities?: string[];
651
670
  memory?: EffectiveMemoryConfig;
652
671
  evolution?: EffectiveEvolutionConfig;
672
+ /** Actual Permission state after initialize. */
673
+ permissionMode?: PermissionMode;
653
674
  };
654
675
  export type SDKControlGetContextUsageResponse = {
655
676
  model: string;
@@ -720,6 +741,7 @@ export type SDKKeepAliveMessage = {
720
741
  /** SDK-internal post-commit transcript frame emitted by local runtimes. */
721
742
  export type TranscriptMirrorMessage = {
722
743
  type: 'transcript_mirror';
744
+ session_id?: string;
723
745
  filePath: string;
724
746
  entries: Array<{
725
747
  type: string;
@@ -21,8 +21,8 @@ export type { EffectiveMemoryConfig, MemoryConsumptionFile, MemoryConsumptionRes
21
21
  export type { EffectiveEvolutionConfig, EffectiveSkillEvolutionConfig, SerializableEvolutionConfig, SerializableSkillEvolutionConfig, SerializableSkillEvolutionGenerationOptions, SkillEvolutionGateInput, SkillEvolutionGateResult, SkillEvolutionMode, SkillEvolutionResult, SkillEvolutionSuggestion, } from './skill-evolution.js';
22
22
  export type { PermissionMode, PermissionBehavior, PermissionDecisionClassification, PermissionUpdateDestination, PermissionRuleValue, PermissionUpdate, PermissionResult, } from './permissions.js';
23
23
  export type { McpStdioServerConfig, McpSSEServerConfig, McpHttpServerConfig, McpSdkServerConfig, McpServerConfigForProcessTransport, McpServerStatus, McpServerStatusConfig, McpSetServersResult, OAuthToken, } from './mcp.js';
24
- export type { SDKAssistantMessage, SDKToolNonExecutionKind, SDKToolResultMeta, SDKUserMessage, SDKUserMessageReplay, SDKResultSuccess, SDKResultError, SDKResultMessage, SDKFileAttachment, SDKSystemMessage, 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.26",
5
- "qoderCliVersion": "1.1.31",
4
+ "sdkVersion": "1.0.28",
5
+ "qoderCliVersion": "1.1.32",
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.32/qodercli-worker-runtime-{target}.tgz",
12
12
  "artifactNameTemplate": "qodercli-worker-runtime-{target}.tgz",
13
- "sdkVersion": "1.0.26",
14
- "qoderCliVersion": "1.1.31"
13
+ "sdkVersion": "1.0.28",
14
+ "qoderCliVersion": "1.1.32"
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>;
@@ -36,11 +36,13 @@ export type AuthOptions = {
36
36
  } | ServiceAccountAuthOptions;
37
37
  export type JobTokenRequest = {
38
38
  requestId: string;
39
- reason: 'initial' | 'unauthorized';
39
+ reason: 'initial' | 'expiring' | 'unauthorized';
40
40
  sessionId?: string;
41
41
  };
42
42
  export type JobTokenResult = {
43
43
  token: string;
44
+ /** Absolute expiration time as a Unix timestamp in milliseconds. */
45
+ expiresAt?: number;
44
46
  };
45
47
  export type FetchJobToken = (request: JobTokenRequest, options: {
46
48
  signal: AbortSignal;
@@ -9,12 +9,13 @@ export type { SDKControlRequest, SDKControlResponse, SDKControlCancelRequest, SD
9
9
  /** Wire format for fetch_job_token inbound control request from CLI. */
10
10
  export type FetchJobTokenWireRequest = {
11
11
  subtype: 'fetch_job_token';
12
- reason: 'initial' | 'unauthorized';
12
+ reason: 'initial' | 'expiring' | 'unauthorized';
13
13
  session_id?: string;
14
14
  };
15
15
  /** Wire format for fetch_job_token success response. */
16
16
  export type FetchJobTokenWireResponse = {
17
17
  token: string;
18
+ expires_at?: number;
18
19
  };
19
20
  /** Wire format for Service Account token requests sent by qodercli. */
20
21
  export type FetchServiceAccountTokenWireRequest = {
@@ -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.26",
3
+ "version": "1.0.28",
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.32",
54
54
  "qoderSdkBrand": "global",
55
55
  "license": "SEE LICENSE IN LICENSE"
56
56
  }