@qoder-ai/qoder-agent-sdk 1.0.35 → 1.0.36
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.
- package/README.md +32 -13
- package/dist/artifacts/session-artifacts.d.ts +2 -0
- package/dist/core/process-transport.d.ts +0 -3
- package/dist/daemon/daemon-auth-rpc.d.ts +1 -7
- package/dist/daemon/daemon-connection.d.ts +2 -18
- package/dist/daemon/daemon-session-transport.d.ts +1 -14
- package/dist/daemon/global-daemon.d.ts +24 -0
- package/dist/daemon/protocol.d.ts +12 -51
- package/dist/daemon/start-daemon.d.ts +0 -61
- package/dist/index.d.ts +7 -7
- package/dist/index.js +31 -31
- package/dist/protocol/control.d.ts +36 -9
- package/dist/protocol/index.d.ts +2 -2
- package/dist/protocol/messages.d.ts +4 -0
- package/dist/protocol/permissions.d.ts +18 -0
- package/dist/query/query-runner.d.ts +23 -19
- package/dist/runtime-manifest.json +2 -2
- package/dist/types/artifacts.d.ts +31 -0
- package/dist/types/byok.d.ts +1 -1
- package/dist/types/control.d.ts +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/options.d.ts +32 -5
- package/dist/types/permissions.d.ts +6 -2
- package/package.json +1 -1
- package/dist/daemon/remote-session-launch-rpc.d.ts +0 -3
- package/dist/daemon/session-metadata.d.ts +0 -19
- package/dist/daemon/session-registration-store.d.ts +0 -10
- package/dist/daemon/session-store-rpc.d.ts +0 -45
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
import type { JSONRPCMessage } from '@modelcontextprotocol/sdk/types.js';
|
|
15
15
|
import type { HookEvent, HookInput } from './hooks.js';
|
|
16
16
|
import type { McpServerStatus, McpSetServersResult, McpServerConfigForCliTransport, McpToolRuntimeOverride, OAuthToken } from './mcp.js';
|
|
17
|
-
import type { PermissionMode, PermissionUpdate } from './permissions.js';
|
|
17
|
+
import type { CanUseToolPermissionDetails, CanUseToolPermissionKind, CanUseToolPermissionOption, PermissionMode, PermissionUpdate } from './permissions.js';
|
|
18
18
|
import type { SDKMessage } from './messages.js';
|
|
19
19
|
import type { AgentDefinition, AgentInfo } from './agents.js';
|
|
20
20
|
import type { AccountInfo, FastModeState, ModelInfo, SessionCreditsUsage, SlashCommand, SdkPluginConfig, UsageInfo } from './common.js';
|
|
@@ -52,12 +52,6 @@ export type SDKControlCancelRequest = {
|
|
|
52
52
|
request_id: string;
|
|
53
53
|
session_id?: string;
|
|
54
54
|
};
|
|
55
|
-
export type DaemonEventMessage = {
|
|
56
|
-
type: 'event';
|
|
57
|
-
event: string;
|
|
58
|
-
session_id?: string;
|
|
59
|
-
data: Record<string, unknown>;
|
|
60
|
-
};
|
|
61
55
|
export type SDKControlInterruptRequest = {
|
|
62
56
|
type: 'interrupt';
|
|
63
57
|
/**
|
|
@@ -93,6 +87,9 @@ export type SDKControlPermissionRequest = {
|
|
|
93
87
|
description?: string;
|
|
94
88
|
tool_use_id: string;
|
|
95
89
|
agent_id?: string;
|
|
90
|
+
permission_kind?: CanUseToolPermissionKind;
|
|
91
|
+
options?: CanUseToolPermissionOption[];
|
|
92
|
+
details?: CanUseToolPermissionDetails;
|
|
96
93
|
};
|
|
97
94
|
/**
|
|
98
95
|
* Wire form of MCP server config sent by SDK in `initialize` and
|
|
@@ -131,6 +128,8 @@ export type SDKControlInitializeRequest = {
|
|
|
131
128
|
supportsAvailableModelsUpdate?: boolean;
|
|
132
129
|
/** Opts this Host into authoritative command snapshots on the Query stream. */
|
|
133
130
|
supportsCommandsChanged?: boolean;
|
|
131
|
+
/** Announces a Query-scoped App Artifact resolver to a shared-daemon Worker. */
|
|
132
|
+
resolveSessionArtifacts?: boolean;
|
|
134
133
|
initializeTimeoutMs?: number;
|
|
135
134
|
agentProgressSummaries?: boolean;
|
|
136
135
|
memory?: SerializableMemoryConfig;
|
|
@@ -148,6 +147,11 @@ export type SDKControlInitializeRequest = {
|
|
|
148
147
|
*/
|
|
149
148
|
scene?: string;
|
|
150
149
|
};
|
|
150
|
+
export type SDKControlResolveSessionArtifactsRequest = {
|
|
151
|
+
subtype: 'resolve_session_artifacts';
|
|
152
|
+
local_session_id: string;
|
|
153
|
+
cwd: string;
|
|
154
|
+
};
|
|
151
155
|
export type SDKControlMemoryShouldGenerateRequest = {
|
|
152
156
|
type: 'memory_should_generate';
|
|
153
157
|
callbackId: string;
|
|
@@ -445,6 +449,18 @@ export type SDKControlChannelEnableRequest = {
|
|
|
445
449
|
channel: string;
|
|
446
450
|
enabled: boolean;
|
|
447
451
|
};
|
|
452
|
+
/** Enable Remote Control event projection for this worker session. */
|
|
453
|
+
export type SDKControlEnableRemoteProjectionRequest = {
|
|
454
|
+
type: 'enable_remote_projection';
|
|
455
|
+
remote_session_id: string;
|
|
456
|
+
suppress_initial_idle_state_events?: boolean;
|
|
457
|
+
skip_initial_flush?: boolean;
|
|
458
|
+
from_sequence_num?: number;
|
|
459
|
+
};
|
|
460
|
+
/** Disable Remote Control event projection for this worker session. */
|
|
461
|
+
export type SDKControlDisableRemoteProjectionRequest = {
|
|
462
|
+
type: 'disable_remote_projection';
|
|
463
|
+
};
|
|
448
464
|
/**
|
|
449
465
|
* SDK requests the CLI's BYOK (Bring Your Own Key) configuration.
|
|
450
466
|
* The CLI responds with the server-side provider/model catalog.
|
|
@@ -642,12 +658,19 @@ export type SDKControlCheckByokConfigRequest = {
|
|
|
642
658
|
config: CheckByokConfigInput;
|
|
643
659
|
};
|
|
644
660
|
export type SDKControlCheckByokConfigResponse = ByokConfigCheckResult;
|
|
661
|
+
/** 服务端下发的双语名称,由宿主按界面语言选择;空字符串表示该语言未提供名称。 */
|
|
662
|
+
export type BYOKLocalizedName = {
|
|
663
|
+
en_us: string;
|
|
664
|
+
cn_zh: string;
|
|
665
|
+
};
|
|
645
666
|
/** A third-party LLM provider in the BYOK catalog. */
|
|
646
667
|
export type BYOKProviderInfo = {
|
|
647
668
|
/** Provider identifier, e.g. "openai", "deepseek" */
|
|
648
669
|
key: string;
|
|
649
|
-
/**
|
|
670
|
+
/** 兼容旧宿主的显示名称,保持 CLI 既有的英文优先回退规则。 */
|
|
650
671
|
display_name: string;
|
|
672
|
+
/** 可选双语名称;旧版 CLI 或服务端仅提供字符串时缺省。 */
|
|
673
|
+
display_name_i18n?: BYOKLocalizedName;
|
|
651
674
|
/** Server-defined provider origin metadata, e.g. "custom". */
|
|
652
675
|
source?: string;
|
|
653
676
|
/** URL where the user can obtain an API key */
|
|
@@ -663,6 +686,8 @@ export type BYOKProviderInfo = {
|
|
|
663
686
|
export type BYOKFieldInfo = {
|
|
664
687
|
key: string;
|
|
665
688
|
display_name: string;
|
|
689
|
+
/** 服务端提供的双语字段名称,由宿主选择展示语言。 */
|
|
690
|
+
display_name_i18n?: BYOKLocalizedName;
|
|
666
691
|
type: string;
|
|
667
692
|
/** Whether the user must fill this field. */
|
|
668
693
|
mandatory?: boolean;
|
|
@@ -672,6 +697,8 @@ export type BYOKModelTypeInfo = {
|
|
|
672
697
|
/** Group identifier, e.g. "cp" (coding plan), "tp" (token plan), "pg" (pay-as-you-go). */
|
|
673
698
|
key?: string;
|
|
674
699
|
display_name: string;
|
|
700
|
+
/** 服务端提供的双语分组名称,由宿主选择展示语言。 */
|
|
701
|
+
display_name_i18n?: BYOKLocalizedName;
|
|
675
702
|
models: BYOKModelInfo[];
|
|
676
703
|
};
|
|
677
704
|
/** A specific model offered by a BYOK provider. */
|
|
@@ -827,7 +854,7 @@ export type SDKControlClearGoalRequest = {
|
|
|
827
854
|
export type SDKControlClearGoalResponse = {
|
|
828
855
|
cleared: boolean;
|
|
829
856
|
};
|
|
830
|
-
export type SDKControlRequestInner = SDKControlInterruptRequest | SDKControlPermissionRequest | SDKControlInitializeRequest | SDKControlSetPermissionModeRequest | SDKControlSetModelRequest | SDKControlSetProxyRequest | SDKControlGenerateSessionTitleRequest | SDKControlSideQuestionRequest | SDKControlAddDirectoriesRequest | SDKControlSetMaxThinkingTokensRequest | SDKControlMcpStatusRequest | SDKControlGetContextUsageRequest | SDKControlGetUsageInfoRequest | SDKControlGetModelPolicyRequest | SDKControlAccountInfoRequest | SDKHookCallbackRequest | SDKControlMcpMessageRequest | SDKControlRewindFilesRequest | SDKControlRewindRequest | SDKControlCancelAsyncMessageRequest | SDKControlSeedReadStateRequest | SDKControlMcpSetServersRequest | SDKControlReloadPluginsRequest | SDKControlReloadSkillsRequest | SDKControlMcpReconnectRequest | SDKControlMcpToggleRequest | SDKControlApplyFlagSettingsRequest | SDKControlGetSettingsRequest | SDKControlElicitationRequest | SDKControlEndSessionRequest | SDKControlChannelEnableRequest | SDKControlMcpInjectTokenRequest | SDKControlMcpAuthenticateRequest | SDKControlMcpOAuthCallbackUrlRequest | SDKControlMcpClearAuthRequest | SDKControlGetByokConfigRequest | SDKControlValidateByokModelRequest | SDKControlListByokConfigsRequest | SDKControlCreateByokConfigRequest | SDKControlUpdateByokConfigRequest | SDKControlDeleteByokConfigRequest | SDKControlCheckByokConfigRequest | SDKControlListPluginsRequest | SDKControlStopTaskRequest | SDKControlBackgroundTasksRequest | SDKControlMemoryShouldGenerateRequest | SDKControlFlushMemoryRequest | SDKControlSkillEvolutionShouldReviewRequest | SDKControlFlushSkillEvolutionRequest | SDKControlRefreshMemoryRequest | SDKControlSetPlanModeRequest | SDKControlGetPlanModeRequest | SDKControlSetGoalRequest | SDKControlSetGoalMaxTurnsRequest | SDKControlGetGoalRequest | SDKControlClearGoalRequest;
|
|
857
|
+
export type SDKControlRequestInner = SDKControlInterruptRequest | SDKControlPermissionRequest | SDKControlInitializeRequest | SDKControlResolveSessionArtifactsRequest | SDKControlSetPermissionModeRequest | SDKControlSetModelRequest | SDKControlSetProxyRequest | SDKControlGenerateSessionTitleRequest | SDKControlSideQuestionRequest | SDKControlAddDirectoriesRequest | SDKControlSetMaxThinkingTokensRequest | SDKControlMcpStatusRequest | SDKControlGetContextUsageRequest | SDKControlGetUsageInfoRequest | SDKControlGetModelPolicyRequest | SDKControlAccountInfoRequest | SDKHookCallbackRequest | SDKControlMcpMessageRequest | SDKControlRewindFilesRequest | SDKControlRewindRequest | SDKControlCancelAsyncMessageRequest | SDKControlSeedReadStateRequest | SDKControlMcpSetServersRequest | SDKControlReloadPluginsRequest | SDKControlReloadSkillsRequest | SDKControlMcpReconnectRequest | SDKControlMcpToggleRequest | SDKControlApplyFlagSettingsRequest | SDKControlGetSettingsRequest | SDKControlElicitationRequest | SDKControlEndSessionRequest | SDKControlChannelEnableRequest | SDKControlEnableRemoteProjectionRequest | SDKControlDisableRemoteProjectionRequest | SDKControlMcpInjectTokenRequest | SDKControlMcpAuthenticateRequest | SDKControlMcpOAuthCallbackUrlRequest | SDKControlMcpClearAuthRequest | SDKControlGetByokConfigRequest | SDKControlValidateByokModelRequest | SDKControlListByokConfigsRequest | SDKControlCreateByokConfigRequest | SDKControlUpdateByokConfigRequest | SDKControlDeleteByokConfigRequest | SDKControlCheckByokConfigRequest | SDKControlListPluginsRequest | SDKControlStopTaskRequest | SDKControlBackgroundTasksRequest | SDKControlMemoryShouldGenerateRequest | SDKControlFlushMemoryRequest | SDKControlSkillEvolutionShouldReviewRequest | SDKControlFlushSkillEvolutionRequest | SDKControlRefreshMemoryRequest | SDKControlSetPlanModeRequest | SDKControlGetPlanModeRequest | SDKControlSetGoalRequest | SDKControlSetGoalMaxTurnsRequest | SDKControlGetGoalRequest | SDKControlClearGoalRequest;
|
|
831
858
|
export type SDKControlInitializeResponse = {
|
|
832
859
|
commands: SlashCommand[];
|
|
833
860
|
agents: AgentInfo[];
|
package/dist/protocol/index.d.ts
CHANGED
|
@@ -19,10 +19,10 @@ export type { AICodeTrackingLaunchOptions, QoderAgentLaunchOptions, QoderCliFlag
|
|
|
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
|
-
export type { PermissionMode, PermissionBehavior, PermissionDecisionClassification, PermissionUpdateDestination, PermissionRuleValue, PermissionUpdate, PermissionResult, } from './permissions.js';
|
|
22
|
+
export type { PermissionMode, PermissionBehavior, PermissionScope, CanUseToolPermissionKind, CanUseToolPermissionOption, CanUseToolPermissionDetails, 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
24
|
export type { SDKAssistantMessage, SDKToolNonExecutionKind, SDKToolResultMeta, SDKMessageOrigin, SDKUserMessage, SDKUserMessageReplay, SDKResultSuccess, SDKResultError, SDKResultMessage, SDKFileAttachment, SDKSystemMessage, SDKArtifactInfo, SDKArtifactUpdateMessage, SDKAvailableModelsUpdateMessage, SDKCommandsChangedMessage, 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,
|
|
28
|
+
export type { SDKControlRequest, SDKControlResponse, SDKControlCancelRequest, SDKControlInterruptRequest, SDKControlInterruptResponse, SDKControlPermissionRequest, SDKControlInitializeRequest, SDKControlResolveSessionArtifactsRequest, 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, SDKControlReloadSkillsRequest, SDKControlMcpReconnectRequest, SDKControlMcpToggleRequest, SDKControlApplyFlagSettingsRequest, SDKControlGetSettingsRequest, SDKControlElicitationRequest, SDKControlEndSessionRequest, SDKControlChannelEnableRequest, SDKControlEnableRemoteProjectionRequest, SDKControlDisableRemoteProjectionRequest, SDKControlMcpInjectTokenRequest, SDKControlMcpAuthenticateRequest, SDKControlMcpOAuthCallbackUrlRequest, SDKControlMcpClearAuthRequest, SDKPlanModeSnapshot, SDKControlSetPlanModeRequest, SDKControlSetPlanModeResponse, SDKControlGetPlanModeRequest, SDKControlGetPlanModeResponse, SDKGoalStatus, SDKGoalSnapshot, SDKControlSetGoalRequest, SDKControlSetGoalResponse, SDKControlSetGoalMaxTurnsRequest, SDKControlSetGoalMaxTurnsResponse, SDKControlGetGoalRequest, SDKControlGetGoalResponse, SDKControlClearGoalRequest, SDKControlClearGoalResponse, SDKControlRequestInner, SDKControlInitializeResponse, SDKControlGetContextUsageResponse, SDKControlReloadPluginsResponse, SDKControlReloadSkillsResponse, SDKControlMcpStatusResponse, SDKControlMcpSetServersResponse, SDKControlMcpAuthenticateResponse, SDKControlGetByokConfigRequest, SDKControlGetByokConfigResponse, SDKControlValidateByokModelRequest, SDKControlValidateByokModelResponse, SDKControlListByokConfigsRequest, SDKControlListByokConfigsResponse, SDKControlCreateByokConfigRequest, SDKControlCreateByokConfigResponse, SDKControlUpdateByokConfigRequest, SDKControlDeleteByokConfigRequest, SDKControlCheckByokConfigRequest, SDKControlCheckByokConfigResponse, BYOKModelValidationInput, BYOKLocalizedName, BYOKProviderInfo, BYOKFieldInfo, BYOKModelTypeInfo, BYOKModelInfo, ByokProtocol, ByokModelConfigInfo, CustomByokProviderConfigInfo, ByokConfigInfo, ByokModelConfigInput, CustomByokProviderThinkingMode, CustomByokProviderReasoningEffortLevel, CustomByokProviderThinkingCapabilitiesInput, CustomByokProviderModelCapabilitiesInput, CustomByokProviderModelInput, CustomByokProviderConfigInput, CreateByokConfigInput, UpdateByokModelConfigInput, UpdateCustomByokProviderConfigInput, UpdateByokConfigInput, DeleteByokConfigInput, CheckByokConfigInput, ByokConfigReference, ByokConfigCheckResult, CustomModel, SDKControlListPluginsRequest, SDKControlListPluginsResponse, SDKControlStopTaskRequest, SDKControlBackgroundTasksRequest, SDKControlBackgroundTasksResponse, SDKControlMemoryShouldGenerateRequest, SDKControlFlushMemoryRequest, SDKControlRefreshMemoryRequest, SDKControlSkillEvolutionShouldReviewRequest, SDKControlFlushSkillEvolutionRequest, SDKKeepAliveMessage, StdoutMessage, ControlMcpServerConfig, } from './control.js';
|
|
@@ -11,6 +11,23 @@
|
|
|
11
11
|
*/
|
|
12
12
|
export type PermissionMode = 'default' | 'acceptEdits' | 'bypassPermissions' | 'yolo' | 'plan' | 'dontAsk' | 'auto';
|
|
13
13
|
export type PermissionBehavior = 'allow' | 'deny' | 'ask';
|
|
14
|
+
export type PermissionScope = 'once' | 'session' | 'persist';
|
|
15
|
+
export type CanUseToolPermissionKind = 'repeated_tool_call';
|
|
16
|
+
export type CanUseToolPermissionOption = {
|
|
17
|
+
outcome: 'proceed_once' | 'proceed_always' | 'proceed_always_and_save' | 'cancel';
|
|
18
|
+
name: string;
|
|
19
|
+
allowed: boolean;
|
|
20
|
+
};
|
|
21
|
+
export type CanUseToolPermissionDetails = {
|
|
22
|
+
type: 'repeated_tool_call';
|
|
23
|
+
title: string;
|
|
24
|
+
toolName: string;
|
|
25
|
+
repeatCount: number;
|
|
26
|
+
threshold: number;
|
|
27
|
+
inputPreview: string;
|
|
28
|
+
} | (Record<string, unknown> & {
|
|
29
|
+
type: string;
|
|
30
|
+
});
|
|
14
31
|
export type PermissionDecisionClassification = 'user_temporary' | 'user_permanent' | 'user_reject';
|
|
15
32
|
export type PermissionUpdateDestination = 'userSettings' | 'projectSettings' | 'localSettings' | 'session' | 'cliArg';
|
|
16
33
|
export type PermissionRuleValue = {
|
|
@@ -47,6 +64,7 @@ export type PermissionUpdate = {
|
|
|
47
64
|
};
|
|
48
65
|
export type PermissionResult = {
|
|
49
66
|
behavior: 'allow';
|
|
67
|
+
permissionScope?: PermissionScope;
|
|
50
68
|
updatedInput?: Record<string, unknown>;
|
|
51
69
|
updatedPermissions?: PermissionUpdate[];
|
|
52
70
|
toolUseID?: string;
|
|
@@ -20,11 +20,11 @@
|
|
|
20
20
|
*
|
|
21
21
|
* 3. Implements all Query interface methods for the consumer.
|
|
22
22
|
*/
|
|
23
|
-
import type
|
|
23
|
+
import { type DiagnosticsSink } from '../core/sdk-diagnostics.js';
|
|
24
24
|
import type { ModelPromptPatches } from '../protocol/model-prompt-patches.js';
|
|
25
25
|
import type { Transport } from '../core/transport.js';
|
|
26
26
|
import type { SDKMessage, SDKUserMessage } from '../types/messages.js';
|
|
27
|
-
import type { InternalQuery, OnElicitation } from '../types/options.js';
|
|
27
|
+
import type { InternalQuery, OnElicitation, RemoteProjectionCheckpoint, RemoteProjectionEnableOptions } from '../types/options.js';
|
|
28
28
|
import type { FetchJobToken, FetchServiceAccountToken } from '../types/auth.js';
|
|
29
29
|
import type { SDKPlanModeSnapshot, SDKGoalSnapshot, SDKGoalStatus, SDKControlInterruptResponse, SDKControlInitializeResponse, SDKControlGetContextUsageResponse, SDKControlGenerateSessionTitleResponse, AskSideQuestionOptions, SideQuestionResult, SDKControlAddDirectoriesResponse, SDKControlReloadPluginsResponse, SDKControlReloadSkillsResponse } from '../types/control.js';
|
|
30
30
|
import type { PermissionMode, CanUseTool } from '../types/permissions.js';
|
|
@@ -42,6 +42,7 @@ import type { ModelInfo, SlashCommand, AccountInfo, UsageInfo } from '../types/c
|
|
|
42
42
|
import type { ModelPolicyProvider } from '../types/model-policy-provider.js';
|
|
43
43
|
import type { MemoryRuntimeCallbacks, SerializableMemoryConfig } from '../types/memory.js';
|
|
44
44
|
import type { SkillEvolutionRuntimeCallbacks, SerializableEvolutionConfig } from '../types/skill-evolution.js';
|
|
45
|
+
import type { ResolveSessionArtifacts } from '../types/artifacts.js';
|
|
45
46
|
import type { BYOKModelValidationInput, BYOKProviderInfo, ByokConfigCheckResult, ByokConfigInfo, ByokConfigReference, CheckByokConfigInput, CreateByokConfigInput, DeleteByokConfigInput, UpdateByokConfigInput } from '../types/byok.js';
|
|
46
47
|
/** Init config passed to the initialize control request. */
|
|
47
48
|
type InitConfig = {
|
|
@@ -61,8 +62,13 @@ type InitConfig = {
|
|
|
61
62
|
independentPlanModeControls?: boolean;
|
|
62
63
|
/** Initial shared-daemon Permission, applied as part of initialize. */
|
|
63
64
|
permissionMode?: PermissionMode;
|
|
64
|
-
/**
|
|
65
|
-
|
|
65
|
+
/** Resolves transport-specific initialization settings before initialize. */
|
|
66
|
+
beforeInitialize?: () => Promise<void>;
|
|
67
|
+
/**
|
|
68
|
+
* 远端创建的会话:不向 worker 发 initialize 控制帧,
|
|
69
|
+
* 初始化结果从流中的 init 帧解析(daemon 侧负责驱动 worker 初始化)。
|
|
70
|
+
*/
|
|
71
|
+
resolveInitializationFromStream?: boolean;
|
|
66
72
|
/** Resolve initialization only after the Fork transcript is durable. */
|
|
67
73
|
requireSessionStoreForkBarrier?: boolean;
|
|
68
74
|
};
|
|
@@ -74,8 +80,9 @@ export declare class QueryRunner implements InternalQuery {
|
|
|
74
80
|
private static readonly GOAL_CAPABILITY;
|
|
75
81
|
private static readonly GOAL_MAX_TURNS_CAPABILITY;
|
|
76
82
|
private static readonly PLAN_MODE_CAPABILITY;
|
|
77
|
-
private static readonly BYOK_CONFIG_MANAGEMENT_CAPABILITY;
|
|
78
83
|
private static readonly SESSION_STORE_FORK_BARRIER_CAPABILITY;
|
|
84
|
+
private static readonly BYOK_CONFIG_MANAGEMENT_CAPABILITY;
|
|
85
|
+
private static readonly REMOTE_PROJECTION_REQUEST_ID_PREFIX;
|
|
79
86
|
private readonly transport;
|
|
80
87
|
private readonly inputStream;
|
|
81
88
|
private readonly pendingRequests;
|
|
@@ -102,6 +109,8 @@ export declare class QueryRunner implements InternalQuery {
|
|
|
102
109
|
private readonly transcriptMirrorBatcher?;
|
|
103
110
|
private readonly memoryCallbacks?;
|
|
104
111
|
private readonly skillEvolutionCallbacks?;
|
|
112
|
+
private readonly resolveSessionArtifacts?;
|
|
113
|
+
private resolveStreamInitialization;
|
|
105
114
|
private initResponse?;
|
|
106
115
|
private latestCommands;
|
|
107
116
|
private initializationPromise?;
|
|
@@ -125,7 +134,7 @@ export declare class QueryRunner implements InternalQuery {
|
|
|
125
134
|
private skillEvolutionFlushPromise?;
|
|
126
135
|
private closePromise?;
|
|
127
136
|
private sessionStoreForkBarrierComplete;
|
|
128
|
-
constructor(transport: Transport, isSingleTurn: boolean, canUseTool?: CanUseTool, hooks?: Partial<Record<InternalHookEvent, HookCallbackMatcher[]>>, abortController?: AbortController, sdkMcpServers?: Map<string, McpServer>, initConfig?: InitConfig, onElicitation?: OnElicitation, diagnostics?: DiagnosticsSink, onAuthExpired?: () => void, controlRequestTimeoutMs?: number, sdkMcpTransports?: Map<string, SdkMcpTransport>, pendingMcpResponses?: Map<string, PendingMcpResponse>, fetchJobToken?: FetchJobToken, resolveModel?: ModelPolicyProvider, resolveModelTimeoutMs?: number, sessionStore?: SessionStore, sessionStoreFlush?: SessionStoreFlush, sdkMcpToolOverrides?: Record<string, Record<string, McpToolRuntimeOverride>>, fetchServiceAccountToken?: FetchServiceAccountToken, memoryCallbacks?: MemoryRuntimeCallbacks, skillEvolutionCallbacks?: SkillEvolutionRuntimeCallbacks);
|
|
137
|
+
constructor(transport: Transport, isSingleTurn: boolean, canUseTool?: CanUseTool, hooks?: Partial<Record<InternalHookEvent, HookCallbackMatcher[]>>, abortController?: AbortController, sdkMcpServers?: Map<string, McpServer>, initConfig?: InitConfig, onElicitation?: OnElicitation, diagnostics?: DiagnosticsSink, onAuthExpired?: () => void, controlRequestTimeoutMs?: number, sdkMcpTransports?: Map<string, SdkMcpTransport>, pendingMcpResponses?: Map<string, PendingMcpResponse>, fetchJobToken?: FetchJobToken, resolveModel?: ModelPolicyProvider, resolveModelTimeoutMs?: number, sessionStore?: SessionStore, sessionStoreFlush?: SessionStoreFlush, sdkMcpToolOverrides?: Record<string, Record<string, McpToolRuntimeOverride>>, fetchServiceAccountToken?: FetchServiceAccountToken, memoryCallbacks?: MemoryRuntimeCallbacks, skillEvolutionCallbacks?: SkillEvolutionRuntimeCallbacks, resolveSessionArtifacts?: ResolveSessionArtifacts);
|
|
129
138
|
private getRecord;
|
|
130
139
|
private normalizeLogPreview;
|
|
131
140
|
private extractMessagePreview;
|
|
@@ -234,6 +243,8 @@ export declare class QueryRunner implements InternalQuery {
|
|
|
234
243
|
initializationResult(): Promise<SDKControlInitializeResponse>;
|
|
235
244
|
private replaceLatestCommands;
|
|
236
245
|
private getLatestCommands;
|
|
246
|
+
/** 远端创建的会话:等流中的 init 帧,不向 worker 发 initialize。 */
|
|
247
|
+
private waitForStreamInitialization;
|
|
237
248
|
/**
|
|
238
249
|
* Stream user messages into the session.
|
|
239
250
|
*
|
|
@@ -267,10 +278,6 @@ export declare class QueryRunner implements InternalQuery {
|
|
|
267
278
|
status?: SDKGoalStatus;
|
|
268
279
|
creditsBudget?: number | null;
|
|
269
280
|
}): Promise<SDKGoalSnapshot | null>;
|
|
270
|
-
/**
|
|
271
|
-
* Update the maximum turns copied into Goals created after this call.
|
|
272
|
-
* The current Goal is unchanged; null restores the CLI built-in value.
|
|
273
|
-
*/
|
|
274
281
|
setGoalMaxTurns(maxTurns: number | null): Promise<number>;
|
|
275
282
|
/** Read the current goal, or null when the session has none. */
|
|
276
283
|
getGoal(): Promise<SDKGoalSnapshot | null>;
|
|
@@ -281,8 +288,6 @@ export declare class QueryRunner implements InternalQuery {
|
|
|
281
288
|
/** Read the authoritative Plan Mode state from the running CLI session. */
|
|
282
289
|
getPlanMode(): Promise<SDKPlanModeSnapshot>;
|
|
283
290
|
private requireCliCapability;
|
|
284
|
-
/** Apply init-only configuration that an attached daemon did not consume. */
|
|
285
|
-
private applyAttachedGoalMaxTurns;
|
|
286
291
|
/**
|
|
287
292
|
* Set the permission mode.
|
|
288
293
|
*/
|
|
@@ -292,6 +297,12 @@ export declare class QueryRunner implements InternalQuery {
|
|
|
292
297
|
* Set the model.
|
|
293
298
|
*/
|
|
294
299
|
setModel(model?: string): Promise<void>;
|
|
300
|
+
/** 启用当前 worker 会话的 Remote Control 事件投影。 */
|
|
301
|
+
enableRemoteProjection(remoteSessionId: string, options?: RemoteProjectionEnableOptions): Promise<void>;
|
|
302
|
+
/** 关闭当前 worker 会话的 Remote Control 事件投影。 */
|
|
303
|
+
disableRemoteProjection(options?: {
|
|
304
|
+
timeoutMs?: number;
|
|
305
|
+
}): Promise<RemoteProjectionCheckpoint | undefined>;
|
|
295
306
|
setProxy(proxy?: string | null): Promise<void>;
|
|
296
307
|
/**
|
|
297
308
|
* Generate a concise display title for the current session.
|
|
@@ -368,7 +379,6 @@ export declare class QueryRunner implements InternalQuery {
|
|
|
368
379
|
* Reload plugins.
|
|
369
380
|
*/
|
|
370
381
|
reloadPlugins(): Promise<SDKControlReloadPluginsResponse>;
|
|
371
|
-
/** Rescan Skills and return the CLI's displayable, user-invocable snapshot. */
|
|
372
382
|
reloadSkills(): Promise<SDKControlReloadSkillsResponse>;
|
|
373
383
|
listPlugins(): Promise<PluginDetails[]>;
|
|
374
384
|
/**
|
|
@@ -467,10 +477,4 @@ export declare class QueryRunner implements InternalQuery {
|
|
|
467
477
|
*/
|
|
468
478
|
[Symbol.asyncDispose](): Promise<void>;
|
|
469
479
|
}
|
|
470
|
-
export declare function createAttachedQueryRunner(options: {
|
|
471
|
-
transport: Transport;
|
|
472
|
-
initialization: Promise<SDKControlInitializeResponse>;
|
|
473
|
-
canUseTool?: CanUseTool;
|
|
474
|
-
onElicitation?: OnElicitation;
|
|
475
|
-
}): InternalQuery;
|
|
476
480
|
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 1,
|
|
3
3
|
"brand": "global",
|
|
4
|
-
"sdkVersion": "1.0.
|
|
4
|
+
"sdkVersion": "1.0.36",
|
|
5
5
|
"qoderCliVersion": "1.1.46",
|
|
6
6
|
"defaultTransport": "worker",
|
|
7
7
|
"workerRuntime": {
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"source": "qodercli-worker-runtime",
|
|
11
11
|
"urlTemplate": "https://download.qoder.com/qodercli/releases/1.1.46/qodercli-worker-runtime-{target}.tgz",
|
|
12
12
|
"artifactNameTemplate": "qodercli-worker-runtime-{target}.tgz",
|
|
13
|
-
"sdkVersion": "1.0.
|
|
13
|
+
"sdkVersion": "1.0.36",
|
|
14
14
|
"qoderCliVersion": "1.1.46"
|
|
15
15
|
}
|
|
16
16
|
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export interface ArtifactGroup {
|
|
2
|
+
key: string;
|
|
3
|
+
name: string;
|
|
4
|
+
}
|
|
5
|
+
export interface SessionArtifactBase {
|
|
6
|
+
path: string;
|
|
7
|
+
displayPath: string;
|
|
8
|
+
name: string;
|
|
9
|
+
group?: ArtifactGroup;
|
|
10
|
+
relativePath?: string;
|
|
11
|
+
size?: number;
|
|
12
|
+
mime?: string;
|
|
13
|
+
mtime?: number;
|
|
14
|
+
}
|
|
15
|
+
export type SessionArtifact = SessionArtifactBase & ({
|
|
16
|
+
kind: 'presented';
|
|
17
|
+
} | {
|
|
18
|
+
kind: 'changed';
|
|
19
|
+
additions: number;
|
|
20
|
+
deletions: number;
|
|
21
|
+
isNew: boolean;
|
|
22
|
+
});
|
|
23
|
+
export interface ResolveSessionArtifactsResult {
|
|
24
|
+
artifacts: readonly SessionArtifact[];
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Returns the App-owned cumulative Artifact snapshot for a daemon-backed
|
|
28
|
+
* Session. A successful result replaces the CLI snapshot; an empty array
|
|
29
|
+
* clears it. Throwing or rejecting leaves the CLI snapshot in effect.
|
|
30
|
+
*/
|
|
31
|
+
export type ResolveSessionArtifacts = (localSessionId: string, cwd: string) => ResolveSessionArtifactsResult | Promise<ResolveSessionArtifactsResult>;
|
package/dist/types/byok.d.ts
CHANGED
|
@@ -10,4 +10,4 @@
|
|
|
10
10
|
* module — defining it once on the protocol avoids snake/camel drift across
|
|
11
11
|
* SDK and CLI.
|
|
12
12
|
*/
|
|
13
|
-
export type { SDKControlGetByokConfigRequest, SDKControlGetByokConfigResponse, SDKControlValidateByokModelRequest, SDKControlValidateByokModelResponse, SDKControlListByokConfigsRequest, SDKControlListByokConfigsResponse, SDKControlCreateByokConfigRequest, SDKControlCreateByokConfigResponse, SDKControlUpdateByokConfigRequest, SDKControlDeleteByokConfigRequest, SDKControlCheckByokConfigRequest, SDKControlCheckByokConfigResponse, BYOKModelValidationInput, CustomModel, BYOKProviderInfo, BYOKFieldInfo, BYOKModelTypeInfo, BYOKModelInfo, ByokProtocol, ByokModelConfigInfo, CustomByokProviderConfigInfo, ByokConfigInfo, ByokModelConfigInput, CustomByokProviderThinkingMode, CustomByokProviderReasoningEffortLevel, CustomByokProviderThinkingCapabilitiesInput, CustomByokProviderModelCapabilitiesInput, CustomByokProviderModelInput, CustomByokProviderConfigInput, CreateByokConfigInput, UpdateByokModelConfigInput, UpdateCustomByokProviderConfigInput, UpdateByokConfigInput, DeleteByokConfigInput, CheckByokConfigInput, ByokConfigReference, ByokConfigCheckResult, } from '../protocol/index.js';
|
|
13
|
+
export type { SDKControlGetByokConfigRequest, SDKControlGetByokConfigResponse, SDKControlValidateByokModelRequest, SDKControlValidateByokModelResponse, SDKControlListByokConfigsRequest, SDKControlListByokConfigsResponse, SDKControlCreateByokConfigRequest, SDKControlCreateByokConfigResponse, SDKControlUpdateByokConfigRequest, SDKControlDeleteByokConfigRequest, SDKControlCheckByokConfigRequest, SDKControlCheckByokConfigResponse, BYOKModelValidationInput, CustomModel, BYOKLocalizedName, BYOKProviderInfo, BYOKFieldInfo, BYOKModelTypeInfo, BYOKModelInfo, ByokProtocol, ByokModelConfigInfo, CustomByokProviderConfigInfo, ByokConfigInfo, ByokModelConfigInput, CustomByokProviderThinkingMode, CustomByokProviderReasoningEffortLevel, CustomByokProviderThinkingCapabilitiesInput, CustomByokProviderModelCapabilitiesInput, CustomByokProviderModelInput, CustomByokProviderConfigInput, CreateByokConfigInput, UpdateByokModelConfigInput, UpdateCustomByokProviderConfigInput, UpdateByokConfigInput, DeleteByokConfigInput, CheckByokConfigInput, ByokConfigReference, ByokConfigCheckResult, } from '../protocol/index.js';
|
package/dist/types/control.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* shim so existing SDK consumer imports keep working.
|
|
6
6
|
*/
|
|
7
7
|
export type { QoderModelPurpose } from '../protocol/index.js';
|
|
8
|
-
export type { SDKControlRequest, SDKControlResponse, SDKControlCancelRequest, SDKControlInterruptRequest, SDKControlInterruptResponse, SDKControlPermissionRequest, SDKControlInitializeRequest, SDKControlSetPermissionModeRequest, SDKControlSetModelRequest, SDKPlanModeSnapshot, SDKControlSetPlanModeRequest, SDKControlSetPlanModeResponse, SDKControlGetPlanModeRequest, SDKControlGetPlanModeResponse, SDKControlSetGoalRequest, SDKControlSetGoalResponse, SDKControlSetGoalMaxTurnsRequest, SDKControlSetGoalMaxTurnsResponse, SDKControlGetGoalRequest, SDKControlGetGoalResponse, SDKControlClearGoalRequest, SDKControlClearGoalResponse, SDKGoalSnapshot, SDKGoalStatus, SDKControlGenerateSessionTitleRequest, SDKControlGenerateSessionTitleResponse, SideQuestionHistoryEntry, AskSideQuestionOptions, SideQuestionRefusalFallback, SideQuestionResult, SDKControlSideQuestionRequest, SDKControlSideQuestionResponse, SDKControlAddDirectoriesRequest, SDKControlAddDirectoriesResponse, SDKControlGetModelPolicyRequest, SDKControlGetByokConfigRequest, SDKControlGetByokConfigResponse, SDKControlValidateByokModelRequest, SDKControlValidateByokModelResponse, SDKControlListByokConfigsRequest, SDKControlListByokConfigsResponse, SDKControlCreateByokConfigRequest, SDKControlCreateByokConfigResponse, SDKControlUpdateByokConfigRequest, SDKControlDeleteByokConfigRequest, SDKControlCheckByokConfigRequest, SDKControlCheckByokConfigResponse, SDKControlSetMaxThinkingTokensRequest, SDKControlMcpStatusRequest, SDKControlGetContextUsageRequest, SDKControlGetUsageInfoRequest, SDKControlGetUsageInfoResponse, SDKControlAccountInfoRequest, SDKHookCallbackRequest, SDKControlMcpMessageRequest, SDKControlRewindFilesRequest, SDKControlRewindRequest, SDKControlCancelAsyncMessageRequest, SDKControlSeedReadStateRequest, SDKControlMcpSetServersRequest, SDKControlReloadPluginsRequest, SDKControlReloadSkillsRequest, SDKControlMcpReconnectRequest, SDKControlMcpToggleRequest, SDKControlApplyFlagSettingsRequest, SDKControlGetSettingsRequest, SDKControlElicitationRequest, SDKControlEndSessionRequest, SDKControlChannelEnableRequest, SDKControlMcpInjectTokenRequest, SDKControlMcpAuthenticateRequest, SDKControlMcpOAuthCallbackUrlRequest, SDKControlMcpClearAuthRequest, SDKControlRequestInner, SDKControlInitializeResponse, SDKControlGetContextUsageResponse, SDKControlReloadPluginsResponse, SDKControlReloadSkillsResponse, SDKControlListPluginsRequest, SDKControlListPluginsResponse, SDKControlStopTaskRequest, SDKControlBackgroundTasksRequest, SDKControlBackgroundTasksResponse, SDKControlMemoryShouldGenerateRequest, SDKControlFlushMemoryRequest, SDKControlRefreshMemoryRequest, SDKControlSkillEvolutionShouldReviewRequest, SDKControlFlushSkillEvolutionRequest, SDKControlMcpStatusResponse, SDKControlMcpSetServersResponse, SDKKeepAliveMessage, StdoutMessage, ControlMcpServerConfig, BYOKModelValidationInput, } from '../protocol/index.js';
|
|
8
|
+
export type { SDKControlRequest, SDKControlResponse, SDKControlCancelRequest, SDKControlInterruptRequest, SDKControlInterruptResponse, SDKControlPermissionRequest, SDKControlInitializeRequest, SDKControlResolveSessionArtifactsRequest, SDKControlSetPermissionModeRequest, SDKControlSetModelRequest, SDKPlanModeSnapshot, SDKControlSetPlanModeRequest, SDKControlSetPlanModeResponse, SDKControlGetPlanModeRequest, SDKControlGetPlanModeResponse, SDKControlSetGoalRequest, SDKControlSetGoalResponse, SDKControlSetGoalMaxTurnsRequest, SDKControlSetGoalMaxTurnsResponse, SDKControlGetGoalRequest, SDKControlGetGoalResponse, SDKControlClearGoalRequest, SDKControlClearGoalResponse, SDKGoalSnapshot, SDKGoalStatus, SDKControlGenerateSessionTitleRequest, SDKControlGenerateSessionTitleResponse, SideQuestionHistoryEntry, AskSideQuestionOptions, SideQuestionRefusalFallback, SideQuestionResult, SDKControlSideQuestionRequest, SDKControlSideQuestionResponse, SDKControlAddDirectoriesRequest, SDKControlAddDirectoriesResponse, SDKControlGetModelPolicyRequest, SDKControlGetByokConfigRequest, SDKControlGetByokConfigResponse, SDKControlValidateByokModelRequest, SDKControlValidateByokModelResponse, SDKControlListByokConfigsRequest, SDKControlListByokConfigsResponse, SDKControlCreateByokConfigRequest, SDKControlCreateByokConfigResponse, SDKControlUpdateByokConfigRequest, SDKControlDeleteByokConfigRequest, SDKControlCheckByokConfigRequest, SDKControlCheckByokConfigResponse, SDKControlSetMaxThinkingTokensRequest, SDKControlMcpStatusRequest, SDKControlGetContextUsageRequest, SDKControlGetUsageInfoRequest, SDKControlGetUsageInfoResponse, SDKControlAccountInfoRequest, SDKHookCallbackRequest, SDKControlMcpMessageRequest, SDKControlRewindFilesRequest, SDKControlRewindRequest, SDKControlCancelAsyncMessageRequest, SDKControlSeedReadStateRequest, SDKControlMcpSetServersRequest, SDKControlReloadPluginsRequest, SDKControlReloadSkillsRequest, SDKControlMcpReconnectRequest, SDKControlMcpToggleRequest, SDKControlApplyFlagSettingsRequest, SDKControlGetSettingsRequest, SDKControlElicitationRequest, SDKControlEndSessionRequest, SDKControlChannelEnableRequest, SDKControlEnableRemoteProjectionRequest, SDKControlDisableRemoteProjectionRequest, SDKControlMcpInjectTokenRequest, SDKControlMcpAuthenticateRequest, SDKControlMcpOAuthCallbackUrlRequest, SDKControlMcpClearAuthRequest, SDKControlRequestInner, SDKControlInitializeResponse, SDKControlGetContextUsageResponse, SDKControlReloadPluginsResponse, SDKControlReloadSkillsResponse, SDKControlListPluginsRequest, SDKControlListPluginsResponse, SDKControlStopTaskRequest, SDKControlBackgroundTasksRequest, SDKControlBackgroundTasksResponse, SDKControlMemoryShouldGenerateRequest, SDKControlFlushMemoryRequest, SDKControlRefreshMemoryRequest, SDKControlSkillEvolutionShouldReviewRequest, SDKControlFlushSkillEvolutionRequest, SDKControlMcpStatusResponse, SDKControlMcpSetServersResponse, SDKKeepAliveMessage, StdoutMessage, ControlMcpServerConfig, BYOKModelValidationInput, } from '../protocol/index.js';
|
|
9
9
|
/** Wire format for fetch_job_token inbound control request from CLI. */
|
|
10
10
|
export type FetchJobTokenWireRequest = {
|
|
11
11
|
subtype: 'fetch_job_token';
|
package/dist/types/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
export * from './common.js';
|
|
6
6
|
export * from './messages.js';
|
|
7
7
|
export * from './memory.js';
|
|
8
|
+
export * from './artifacts.js';
|
|
8
9
|
export type { DefaultRuntimeTransport } from '../core/default-runtime.js';
|
|
9
10
|
export type { QueryTransportCreateOptions, QueryTransportProviderOption, } from '../core/query-transport.js';
|
|
10
11
|
export type { ProcessTransportOptions } from '../core/process-transport.js';
|
package/dist/types/options.d.ts
CHANGED
|
@@ -21,7 +21,7 @@ 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
23
|
import type { Daemon } from '../daemon/start-daemon.js';
|
|
24
|
-
import type {
|
|
24
|
+
import type { ResolveSessionArtifacts } from './artifacts.js';
|
|
25
25
|
export type { CanUseTool };
|
|
26
26
|
export type { AuthOptions };
|
|
27
27
|
export type ElicitationRequest = {
|
|
@@ -70,10 +70,14 @@ export type Options = {
|
|
|
70
70
|
* `abort()` closes the session and ends message iteration.
|
|
71
71
|
*/
|
|
72
72
|
abortController?: AbortController;
|
|
73
|
-
/** Route this Query through a
|
|
73
|
+
/** Route this Query through a caller-provided daemon instance. */
|
|
74
74
|
daemon?: Daemon;
|
|
75
|
-
/**
|
|
76
|
-
|
|
75
|
+
/**
|
|
76
|
+
* Resolve the App-owned cumulative Artifact snapshot for this daemon-backed
|
|
77
|
+
* Query. A successful result replaces the CLI snapshot; a rejected callback
|
|
78
|
+
* falls back to the CLI snapshot.
|
|
79
|
+
*/
|
|
80
|
+
resolveSessionArtifacts?: ResolveSessionArtifacts;
|
|
77
81
|
/**
|
|
78
82
|
* Authentication configuration for the qodercli child process.
|
|
79
83
|
*
|
|
@@ -94,7 +98,8 @@ export type Options = {
|
|
|
94
98
|
* integration. Prefer the `jobToken(fetchJobToken)` helper in host code.
|
|
95
99
|
*
|
|
96
100
|
* Required for direct `query()` sessions. A Query using `options.daemon`
|
|
97
|
-
*
|
|
101
|
+
* inherits authentication configured when the daemon was started and must
|
|
102
|
+
* omit this field.
|
|
98
103
|
*/
|
|
99
104
|
auth?: InternalAuthOptions;
|
|
100
105
|
additionalDirectories?: string[];
|
|
@@ -369,6 +374,18 @@ export interface SpawnedProcess {
|
|
|
369
374
|
off(event: 'exit', listener: (code: number | null, signal: NodeJS.Signals | null) => void): void;
|
|
370
375
|
off(event: 'error', listener: (error: Error) => void): void;
|
|
371
376
|
}
|
|
377
|
+
/** 控制 worker 级远程事件投影的启用选项。 */
|
|
378
|
+
export interface RemoteProjectionEnableOptions {
|
|
379
|
+
suppressInitialIdleStateEvents?: boolean;
|
|
380
|
+
skipInitialFlush?: boolean;
|
|
381
|
+
fromSequenceNum?: number;
|
|
382
|
+
timeoutMs?: number;
|
|
383
|
+
}
|
|
384
|
+
/** 关闭远程事件投影时返回的可恢复游标。 */
|
|
385
|
+
export interface RemoteProjectionCheckpoint {
|
|
386
|
+
remoteSessionId: string;
|
|
387
|
+
lastSequenceNum: number;
|
|
388
|
+
}
|
|
372
389
|
/**
|
|
373
390
|
* Query 公开接口。
|
|
374
391
|
*
|
|
@@ -446,6 +463,16 @@ export interface Query extends AsyncGenerator<SDKMessage, void> {
|
|
|
446
463
|
getPlanMode?(): Promise<SDKPlanModeSnapshot>;
|
|
447
464
|
setPermissionMode(mode: PermissionMode): Promise<void>;
|
|
448
465
|
setModel(model?: string): Promise<void>;
|
|
466
|
+
/**
|
|
467
|
+
* 启用该会话的远程事件投影。仅支持广告此控制能力的本地 CLI transport。
|
|
468
|
+
*/
|
|
469
|
+
enableRemoteProjection?(remoteSessionId: string, options?: RemoteProjectionEnableOptions): Promise<void>;
|
|
470
|
+
/**
|
|
471
|
+
* 关闭该会话的远程事件投影,并返回可用于恢复投影的游标(若 worker 提供)。
|
|
472
|
+
*/
|
|
473
|
+
disableRemoteProjection?(options?: {
|
|
474
|
+
timeoutMs?: number;
|
|
475
|
+
}): Promise<RemoteProjectionCheckpoint | undefined>;
|
|
449
476
|
/**
|
|
450
477
|
* Set or clear the proxy for the running qodercli session.
|
|
451
478
|
*
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* `../protocol/`. This file adds SDK-local types — the `CanUseTool`
|
|
6
6
|
* callback shape — which never crosses the JSONL boundary.
|
|
7
7
|
*/
|
|
8
|
-
export type { PermissionBehavior, PermissionDecisionClassification, PermissionUpdateDestination, PermissionRuleValue, } from '../protocol/index.js';
|
|
9
|
-
import type { PermissionBehavior, PermissionDecisionClassification, PermissionUpdateDestination, PermissionRuleValue } from '../protocol/index.js';
|
|
8
|
+
export type { PermissionBehavior, PermissionScope, CanUseToolPermissionKind, CanUseToolPermissionOption, CanUseToolPermissionDetails, PermissionDecisionClassification, PermissionUpdateDestination, PermissionRuleValue, } from '../protocol/index.js';
|
|
9
|
+
import type { PermissionBehavior, PermissionScope, CanUseToolPermissionKind, CanUseToolPermissionOption, CanUseToolPermissionDetails, PermissionDecisionClassification, PermissionUpdateDestination, PermissionRuleValue } from '../protocol/index.js';
|
|
10
10
|
/**
|
|
11
11
|
* Permission mode for controlling how tool executions are handled.
|
|
12
12
|
*/
|
|
@@ -41,6 +41,7 @@ export type PermissionUpdate = {
|
|
|
41
41
|
};
|
|
42
42
|
export type PermissionResult = {
|
|
43
43
|
behavior: 'allow';
|
|
44
|
+
permissionScope?: PermissionScope;
|
|
44
45
|
updatedInput?: Record<string, unknown>;
|
|
45
46
|
updatedPermissions?: PermissionUpdate[];
|
|
46
47
|
toolUseID?: string;
|
|
@@ -62,5 +63,8 @@ export type CanUseToolOptions = {
|
|
|
62
63
|
description?: string;
|
|
63
64
|
toolUseID: string;
|
|
64
65
|
agentID?: string;
|
|
66
|
+
permissionKind?: CanUseToolPermissionKind;
|
|
67
|
+
permissionOptions?: CanUseToolPermissionOption[];
|
|
68
|
+
details?: CanUseToolPermissionDetails;
|
|
65
69
|
};
|
|
66
70
|
export type CanUseTool = (toolName: string, input: Record<string, unknown>, options: CanUseToolOptions) => Promise<PermissionResult>;
|
package/package.json
CHANGED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { type DaemonRequestHandler } from './daemon-connection.js';
|
|
2
|
-
import { type ResolveRemoteSessionLaunch } from './session-metadata.js';
|
|
3
|
-
export declare function createRemoteSessionLaunchRequestHandler(resolveLaunch: ResolveRemoteSessionLaunch, callbackTimeoutMs?: number): DaemonRequestHandler;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export type SessionExtraValue = string | number | boolean | null | readonly SessionExtraValue[] | {
|
|
2
|
-
readonly [key: string]: SessionExtraValue;
|
|
3
|
-
};
|
|
4
|
-
/** Opaque, JSON-safe metadata owned by the Host application. */
|
|
5
|
-
export type SessionExtra = Readonly<Record<string, SessionExtraValue>>;
|
|
6
|
-
/** Replaces the complete metadata snapshot for one Session. */
|
|
7
|
-
export interface SessionMetadataUpdate {
|
|
8
|
-
extra: SessionExtra;
|
|
9
|
-
}
|
|
10
|
-
export interface RemoteSessionLaunchRequest {
|
|
11
|
-
remoteSessionId: string;
|
|
12
|
-
extra?: SessionExtra;
|
|
13
|
-
}
|
|
14
|
-
export interface RemoteSessionLaunch {
|
|
15
|
-
cwd: string;
|
|
16
|
-
additionalDirectories?: readonly string[];
|
|
17
|
-
}
|
|
18
|
-
export type ResolveRemoteSessionLaunch = (request: RemoteSessionLaunchRequest) => Promise<RemoteSessionLaunch>;
|
|
19
|
-
export declare function normalizeSessionExtra(value: SessionExtra, path?: string): SessionExtra;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { DaemonSessionStore } from "./session-store-rpc.js";
|
|
2
|
-
export interface SessionRegistrationStore {
|
|
3
|
-
readonly store: DaemonSessionStore;
|
|
4
|
-
flush(): Promise<void>;
|
|
5
|
-
dispose(): void;
|
|
6
|
-
}
|
|
7
|
-
export declare function createSessionRegistrationStore(store: DaemonSessionStore, options: {
|
|
8
|
-
sync: (localSessionIds: string[]) => Promise<void>;
|
|
9
|
-
retryDelaysMs?: readonly number[];
|
|
10
|
-
}): SessionRegistrationStore;
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import type { SessionKey, SessionStore, SessionStoreEntry } from "../session/session-store.js";
|
|
2
|
-
import { DaemonRequestError, type DaemonRequestHandler } from "./daemon-connection.js";
|
|
3
|
-
import type { JsonObject } from "./protocol.js";
|
|
4
|
-
import { type SessionExtra, type SessionMetadataUpdate } from "./session-metadata.js";
|
|
5
|
-
export declare const DEFAULT_SESSION_STORE_MAX_PAYLOAD_BYTES: number;
|
|
6
|
-
export interface DaemonSessionStore extends SessionStore {
|
|
7
|
-
listAllSessions(): Promise<readonly DaemonSessionSummary[]>;
|
|
8
|
-
/**
|
|
9
|
-
* Persists a complete replacement of one Session's metadata. Implementations
|
|
10
|
-
* must use upsert semantics: the daemon may call this before the first
|
|
11
|
-
* transcript entry exists, and listAllSessions() must later return the same
|
|
12
|
-
* extra snapshot.
|
|
13
|
-
*/
|
|
14
|
-
updateSessionMetadata?(key: Omit<SessionKey, "subpath">, update: SessionMetadataUpdate): Promise<void>;
|
|
15
|
-
}
|
|
16
|
-
export interface DaemonSessionSummary {
|
|
17
|
-
key: SessionKey;
|
|
18
|
-
title: string;
|
|
19
|
-
lastActiveAt: string;
|
|
20
|
-
cwd: string;
|
|
21
|
-
extra?: SessionExtra;
|
|
22
|
-
}
|
|
23
|
-
export interface DaemonSessionStoreRpcOptions {
|
|
24
|
-
callbackTimeoutMs?: number;
|
|
25
|
-
maxEntriesPerPage?: number;
|
|
26
|
-
maxPayloadBytes?: number;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Returns the UTF-8 wire size of one SessionStore entry when transported as a
|
|
30
|
-
* single-item page or append batch, including the surrounding array brackets.
|
|
31
|
-
*/
|
|
32
|
-
export declare function measureSessionStoreEntryPayloadBytes(entry: SessionStoreEntry): number;
|
|
33
|
-
export type DaemonSessionStoreRequestHandler = DaemonRequestHandler & {
|
|
34
|
-
dispose(): Promise<void>;
|
|
35
|
-
};
|
|
36
|
-
export declare class DaemonSessionStoreRpcError extends DaemonRequestError {
|
|
37
|
-
constructor(options: {
|
|
38
|
-
code: string;
|
|
39
|
-
message: string;
|
|
40
|
-
retryable?: boolean;
|
|
41
|
-
operation?: string;
|
|
42
|
-
details?: JsonObject;
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
export declare function createDaemonSessionStoreRequestHandler(store: DaemonSessionStore, options?: DaemonSessionStoreRpcOptions): DaemonSessionStoreRequestHandler;
|