@qoder-ai/qoder-agent-sdk 1.0.4 → 1.0.6

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.
@@ -18,6 +18,7 @@ import type { 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, SlashCommand, SdkPluginConfig, UsageInfo } from './common.js';
21
+ import type { PluginDetails } from '../types/plugins.js';
21
22
  export type SDKControlRequest = {
22
23
  type: 'control_request';
23
24
  request_id: string;
@@ -469,7 +470,13 @@ export type SDKControlMcpClearAuthRequest = {
469
470
  type: 'mcp_clear_auth';
470
471
  serverName: string;
471
472
  };
472
- export type SDKControlRequestInner = SDKControlInterruptRequest | SDKControlPermissionRequest | SDKControlInitializeRequest | SDKControlSetPermissionModeRequest | SDKControlSetModelRequest | SDKControlSetProxyRequest | SDKControlGenerateSessionTitleRequest | SDKControlAddDirectoriesRequest | SDKControlSetMaxThinkingTokensRequest | SDKControlMcpStatusRequest | SDKControlGetContextUsageRequest | SDKControlGetUsageInfoRequest | SDKControlGetModelPolicyRequest | SDKControlAccountInfoRequest | SDKHookCallbackRequest | SDKControlMcpMessageRequest | SDKControlRewindFilesRequest | SDKControlCancelAsyncMessageRequest | SDKControlSeedReadStateRequest | SDKControlMcpSetServersRequest | SDKControlReloadPluginsRequest | SDKControlMcpReconnectRequest | SDKControlMcpToggleRequest | SDKControlApplyFlagSettingsRequest | SDKControlGetSettingsRequest | SDKControlElicitationRequest | SDKControlStopTaskRequest | SDKControlEndSessionRequest | SDKControlChannelEnableRequest | SDKControlMcpInjectTokenRequest | SDKControlMcpAuthenticateRequest | SDKControlMcpOAuthCallbackUrlRequest | SDKControlMcpClearAuthRequest | SDKControlGetByokConfigRequest | SDKControlValidateByokModelRequest;
473
+ export type SDKControlListPluginsRequest = {
474
+ type: 'list_plugins';
475
+ };
476
+ export type SDKControlListPluginsResponse = {
477
+ plugins: PluginDetails[];
478
+ };
479
+ export type SDKControlRequestInner = SDKControlInterruptRequest | SDKControlPermissionRequest | SDKControlInitializeRequest | SDKControlSetPermissionModeRequest | SDKControlSetModelRequest | SDKControlSetProxyRequest | SDKControlGenerateSessionTitleRequest | SDKControlAddDirectoriesRequest | SDKControlSetMaxThinkingTokensRequest | SDKControlMcpStatusRequest | SDKControlGetContextUsageRequest | SDKControlGetUsageInfoRequest | SDKControlGetModelPolicyRequest | SDKControlAccountInfoRequest | SDKHookCallbackRequest | SDKControlMcpMessageRequest | SDKControlRewindFilesRequest | SDKControlCancelAsyncMessageRequest | SDKControlSeedReadStateRequest | SDKControlMcpSetServersRequest | SDKControlReloadPluginsRequest | SDKControlMcpReconnectRequest | SDKControlMcpToggleRequest | SDKControlApplyFlagSettingsRequest | SDKControlGetSettingsRequest | SDKControlElicitationRequest | SDKControlStopTaskRequest | SDKControlEndSessionRequest | SDKControlChannelEnableRequest | SDKControlMcpInjectTokenRequest | SDKControlMcpAuthenticateRequest | SDKControlMcpOAuthCallbackUrlRequest | SDKControlMcpClearAuthRequest | SDKControlGetByokConfigRequest | SDKControlValidateByokModelRequest | SDKControlListPluginsRequest;
473
480
  export type SDKControlInitializeResponse = {
474
481
  commands: SlashCommand[];
475
482
  agents: AgentInfo[];
@@ -13,7 +13,7 @@
13
13
  * `satisfies z.ZodType<X>`.
14
14
  */
15
15
  export { WIRE_PROTOCOL_VERSION, type WireProtocolVersion } from './version.js';
16
- export type { UUID, BetaMessage, BetaRawMessageStreamEvent, BetaUsage, BetaStopReason, MessageParam, NonNullableUsage, AccountInfo, UsageAddOnQuotaBucket, UsageInfo, UsageOrgResourcePackage, UsageQuotaBucket, ApiKeySource, ExitReason, FastModeState, ConfigScope, SettingSource, SDKAssistantMessageError, SDKStatus, EffortLevel, ThinkingAdaptive, ThinkingEnabled, ThinkingDisabled, ThinkingConfig, OutputFormatType, JsonSchemaOutputFormat, OutputFormat, BaseOutputFormat, ModelInfo, ModelSource, ModelStrategy, ModelContextConfig, ModelContextWindowEntry, ModelEffortEntry, ModelThinkingConfig, ModelThinkingDisabled, ModelThinkingEnabled, PluginInfo, ModelUsage, SlashCommand, ToolConfig, SdkPluginConfig, } from './common.js';
16
+ export type { UUID, BetaMessage, BetaRawMessageStreamEvent, BetaUsage, BetaStopReason, MessageParam, NonNullableUsage, AccountInfo, UsageAddOnQuotaBucket, UsageInfo, UsageOrgResourcePackage, UsageQuotaBucket, ApiKeySource, ExitReason, FastModeState, ConfigScope, SettingSource, SDKAssistantMessageError, SDKStatus, EffortLevel, ThinkingAdaptive, ThinkingEnabled, ThinkingDisabled, ThinkingConfig, OutputFormatType, JsonSchemaOutputFormat, OutputFormat, BaseOutputFormat, ModelInfo, ModelSource, ServerModelJson, ServerModelJsonValue, ModelStrategy, ModelPromotion, LocalizedModelText, ModelContextConfig, ModelContextWindowEntry, ModelEffortEntry, ModelThinkingConfig, ModelThinkingDisabled, ModelThinkingEnabled, PluginInfo, ModelUsage, SlashCommand, ToolConfig, SdkPluginConfig, } from './common.js';
17
17
  export type { AICodeTrackingLaunchOptions, QoderAgentLaunchOptions, QoderCliFlagSettings, } from './launch.js';
18
18
  export { buildQoderCliFlagSettings, buildQoderCliFlagSettingsArgs, } from './launch.js';
19
19
  export type { PermissionMode, PermissionBehavior, PermissionDecisionClassification, PermissionUpdateDestination, PermissionRuleValue, PermissionUpdate, PermissionResult, } from './permissions.js';
@@ -22,4 +22,4 @@ export type { SDKAssistantMessage, SDKUserMessage, SDKUserMessageReplay, SDKResu
22
22
  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';
23
23
  export type { AgentMcpServerSpec, AgentDefinition, AgentInfo, } from './agents.js';
24
24
  export { QoderModelPurpose } from './control.js';
25
- export type { SDKControlRequest, SDKControlResponse, SDKControlCancelRequest, SDKControlInterruptRequest, SDKControlPermissionRequest, SDKControlInitializeRequest, SDKControlSetPermissionModeRequest, SDKControlSetModelRequest, SDKControlGenerateSessionTitleRequest, SDKControlGenerateSessionTitleResponse, SDKControlAddDirectoriesRequest, SDKControlAddDirectoriesResponse, SDKControlGetModelPolicyRequest, SDKControlGetModelPolicyResponse, SDKControlSetMaxThinkingTokensRequest, SDKControlMcpStatusRequest, SDKControlGetContextUsageRequest, SDKControlGetUsageInfoRequest, SDKControlGetUsageInfoResponse, SDKControlAccountInfoRequest, SDKHookCallbackRequest, SDKControlMcpMessageRequest, SDKControlRewindFilesRequest, SDKControlCancelAsyncMessageRequest, SDKControlSeedReadStateRequest, SDKControlMcpSetServersRequest, SDKControlReloadPluginsRequest, SDKControlMcpReconnectRequest, SDKControlMcpToggleRequest, SDKControlApplyFlagSettingsRequest, SDKControlGetSettingsRequest, SDKControlElicitationRequest, SDKControlStopTaskRequest, SDKControlEndSessionRequest, SDKControlChannelEnableRequest, SDKControlMcpInjectTokenRequest, SDKControlMcpAuthenticateRequest, SDKControlMcpOAuthCallbackUrlRequest, SDKControlMcpClearAuthRequest, SDKControlRequestInner, SDKControlInitializeResponse, SDKControlGetContextUsageResponse, SDKControlReloadPluginsResponse, SDKControlMcpStatusResponse, SDKControlMcpSetServersResponse, SDKControlMcpAuthenticateResponse, SDKControlGetByokConfigRequest, SDKControlGetByokConfigResponse, SDKControlValidateByokModelRequest, SDKControlValidateByokModelResponse, BYOKModelValidationInput, BYOKProviderInfo, BYOKFieldInfo, BYOKModelTypeInfo, BYOKModelInfo, CustomModel, SDKKeepAliveMessage, StdoutMessage, ControlMcpServerConfig, } from './control.js';
25
+ export type { SDKControlRequest, SDKControlResponse, SDKControlCancelRequest, SDKControlInterruptRequest, SDKControlPermissionRequest, SDKControlInitializeRequest, SDKControlSetPermissionModeRequest, SDKControlSetModelRequest, SDKControlGenerateSessionTitleRequest, SDKControlGenerateSessionTitleResponse, SDKControlAddDirectoriesRequest, SDKControlAddDirectoriesResponse, SDKControlGetModelPolicyRequest, SDKControlGetModelPolicyResponse, SDKControlSetMaxThinkingTokensRequest, SDKControlMcpStatusRequest, SDKControlGetContextUsageRequest, SDKControlGetUsageInfoRequest, SDKControlGetUsageInfoResponse, SDKControlAccountInfoRequest, SDKHookCallbackRequest, SDKControlMcpMessageRequest, SDKControlRewindFilesRequest, SDKControlCancelAsyncMessageRequest, SDKControlSeedReadStateRequest, SDKControlMcpSetServersRequest, SDKControlReloadPluginsRequest, SDKControlMcpReconnectRequest, SDKControlMcpToggleRequest, SDKControlApplyFlagSettingsRequest, SDKControlGetSettingsRequest, SDKControlElicitationRequest, SDKControlStopTaskRequest, SDKControlEndSessionRequest, SDKControlChannelEnableRequest, SDKControlMcpInjectTokenRequest, SDKControlMcpAuthenticateRequest, SDKControlMcpOAuthCallbackUrlRequest, SDKControlMcpClearAuthRequest, SDKControlRequestInner, SDKControlInitializeResponse, SDKControlGetContextUsageResponse, SDKControlReloadPluginsResponse, SDKControlMcpStatusResponse, SDKControlMcpSetServersResponse, SDKControlMcpAuthenticateResponse, SDKControlGetByokConfigRequest, SDKControlGetByokConfigResponse, SDKControlValidateByokModelRequest, SDKControlValidateByokModelResponse, BYOKModelValidationInput, BYOKProviderInfo, BYOKFieldInfo, BYOKModelTypeInfo, BYOKModelInfo, CustomModel, SDKControlListPluginsRequest, SDKControlListPluginsResponse, SDKKeepAliveMessage, StdoutMessage, ControlMcpServerConfig, } from './control.js';
@@ -1 +1 @@
1
- var r="1.0.0";function i(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function s(e={}){let t={...e.settings??{}},o=e.aiCodeTracking?.installGitCommitHook;if(o!==void 0){let n=t.aiCodeTracking;t.aiCodeTracking={...i(n)?n:{},installGitCommitHook:o}}return t}function a(e={}){let t=s(e);return Object.keys(t).length===0?[]:["--settings",JSON.stringify(t)]}var l={Main:"main",Plan:"plan",Task:"task",Compact:"compact",Title:"title",Suggestion:"suggestion",Generate:"generate",HookPrompt:"hook_prompt",Subagent:"subagent",WebFetch:"web_fetch",ImageGen:"image_gen",Compression:"compression",Utility:"utility"};export{l as QoderModelPurpose,r as WIRE_PROTOCOL_VERSION,s as buildQoderCliFlagSettings,a as buildQoderCliFlagSettingsArgs};
1
+ var r="1.0.0";function i(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function s(e={}){let t={...e.settings??{}},o=e.aiCodeTracking?.installGitCommitHook;if(o!==void 0){let n=t.aiCodeTracking;t.aiCodeTracking={...i(n)?n:{},installGitCommitHook:o}}return t}function l(e={}){let t=s(e);return Object.keys(t).length===0?[]:["--settings",JSON.stringify(t)]}var p={Main:"main",Plan:"plan",Task:"task",Compact:"compact",Title:"title",Suggestion:"suggestion",Generate:"generate",HookPrompt:"hook_prompt",Subagent:"subagent",WebFetch:"web_fetch",ImageGen:"image_gen",Compression:"compression",Utility:"utility"};export{p as QoderModelPurpose,r as WIRE_PROTOCOL_VERSION,s as buildQoderCliFlagSettings,l as buildQoderCliFlagSettingsArgs};
@@ -34,6 +34,7 @@ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
34
34
  import type { SdkMcpTransport } from '../mcp/sdk-mcp-transport.js';
35
35
  import { type PendingMcpResponse } from '../mcp/mcp-handler.js';
36
36
  import type { AgentDefinition, AgentInfo } from '../types/agents.js';
37
+ import type { PluginDetails } from '../types/plugins.js';
37
38
  import type { ModelInfo, SlashCommand, AccountInfo, UsageInfo } from '../types/common.js';
38
39
  import type { ModelPolicyProvider } from '../types/model-policy-provider.js';
39
40
  import type { BYOKModelValidationInput, BYOKProviderInfo } from '../types/byok.js';
@@ -258,6 +259,7 @@ export declare class QueryRunner implements InternalQuery {
258
259
  * Reload plugins.
259
260
  */
260
261
  reloadPlugins(): Promise<SDKControlReloadPluginsResponse>;
262
+ listPlugins(): Promise<PluginDetails[]>;
261
263
  /**
262
264
  * Rewind files to a previous user message.
263
265
  */
@@ -5,7 +5,7 @@
5
5
  * 1. Parses the Options object
6
6
  * 2. Resolves the CLI path
7
7
  * 3. Separates SDK MCP servers (in-process) from process-based MCP servers
8
- * 4. Creates a ProcessTransport with all options
8
+ * 4. Creates the configured query transport with all launch options
9
9
  * 5. Creates a QueryRunner with transport and callbacks
10
10
  * 6. If prompt is a string, writes the initial user message
11
11
  * 7. If prompt is an AsyncIterable, calls streamInput to wire it up
@@ -0,0 +1,8 @@
1
+ {
2
+ "version": 1,
3
+ "defaultTransport": "process",
4
+ "workerRuntime": {
5
+ "packaged": false,
6
+ "delivery": "package"
7
+ }
8
+ }
@@ -5,4 +5,4 @@
5
5
  * shim so existing SDK consumer imports (`'./types/common.js'` paths)
6
6
  * keep working.
7
7
  */
8
- export type { UUID, BetaMessage, BetaRawMessageStreamEvent, BetaUsage, BetaStopReason, MessageParam, NonNullableUsage, AccountInfo, UsageAddOnQuotaBucket, UsageInfo, UsageOrgResourcePackage, UsageQuotaBucket, ApiKeySource, ExitReason, FastModeState, ConfigScope, SettingSource, SDKAssistantMessageError, SDKStatus, EffortLevel, ThinkingAdaptive, ThinkingEnabled, ThinkingDisabled, ThinkingConfig, OutputFormatType, JsonSchemaOutputFormat, OutputFormat, BaseOutputFormat, ModelInfo, ModelSource, ModelStrategy, ModelContextConfig, ModelContextWindowEntry, ModelEffortEntry, ModelThinkingConfig, ModelThinkingDisabled, ModelThinkingEnabled, PluginInfo, ModelUsage, SlashCommand, ToolConfig, SdkPluginConfig, } from '../protocol/index.js';
8
+ export type { UUID, BetaMessage, BetaRawMessageStreamEvent, BetaUsage, BetaStopReason, MessageParam, NonNullableUsage, AccountInfo, UsageAddOnQuotaBucket, UsageInfo, UsageOrgResourcePackage, UsageQuotaBucket, ApiKeySource, ExitReason, FastModeState, ConfigScope, SettingSource, SDKAssistantMessageError, SDKStatus, EffortLevel, ThinkingAdaptive, ThinkingEnabled, ThinkingDisabled, ThinkingConfig, OutputFormatType, JsonSchemaOutputFormat, OutputFormat, BaseOutputFormat, ModelInfo, ModelSource, ServerModelJson, ServerModelJsonValue, ModelStrategy, ModelPromotion, LocalizedModelText, ModelContextConfig, ModelContextWindowEntry, ModelEffortEntry, ModelThinkingConfig, ModelThinkingDisabled, ModelThinkingEnabled, PluginInfo, ModelUsage, SlashCommand, ToolConfig, SdkPluginConfig, } from '../protocol/index.js';
@@ -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, SDKControlPermissionRequest, SDKControlInitializeRequest, SDKControlSetPermissionModeRequest, SDKControlSetModelRequest, SDKControlGenerateSessionTitleRequest, SDKControlGenerateSessionTitleResponse, SDKControlAddDirectoriesRequest, SDKControlAddDirectoriesResponse, SDKControlGetModelPolicyRequest, SDKControlGetByokConfigRequest, SDKControlGetByokConfigResponse, SDKControlValidateByokModelRequest, SDKControlValidateByokModelResponse, SDKControlSetMaxThinkingTokensRequest, SDKControlMcpStatusRequest, SDKControlGetContextUsageRequest, SDKControlGetUsageInfoRequest, SDKControlGetUsageInfoResponse, SDKControlAccountInfoRequest, SDKHookCallbackRequest, SDKControlMcpMessageRequest, SDKControlRewindFilesRequest, SDKControlCancelAsyncMessageRequest, SDKControlSeedReadStateRequest, SDKControlMcpSetServersRequest, SDKControlReloadPluginsRequest, SDKControlMcpReconnectRequest, SDKControlMcpToggleRequest, SDKControlApplyFlagSettingsRequest, SDKControlGetSettingsRequest, SDKControlElicitationRequest, SDKControlEndSessionRequest, SDKControlChannelEnableRequest, SDKControlMcpInjectTokenRequest, SDKControlMcpAuthenticateRequest, SDKControlMcpOAuthCallbackUrlRequest, SDKControlMcpClearAuthRequest, SDKControlRequestInner, SDKControlInitializeResponse, SDKControlGetContextUsageResponse, SDKControlReloadPluginsResponse, SDKControlMcpStatusResponse, SDKControlMcpSetServersResponse, SDKKeepAliveMessage, StdoutMessage, ControlMcpServerConfig, BYOKModelValidationInput, } from '../protocol/index.js';
8
+ export type { SDKControlRequest, SDKControlResponse, SDKControlCancelRequest, SDKControlInterruptRequest, SDKControlPermissionRequest, SDKControlInitializeRequest, SDKControlSetPermissionModeRequest, SDKControlSetModelRequest, SDKControlGenerateSessionTitleRequest, SDKControlGenerateSessionTitleResponse, SDKControlAddDirectoriesRequest, SDKControlAddDirectoriesResponse, SDKControlGetModelPolicyRequest, SDKControlGetByokConfigRequest, SDKControlGetByokConfigResponse, SDKControlValidateByokModelRequest, SDKControlValidateByokModelResponse, SDKControlSetMaxThinkingTokensRequest, SDKControlMcpStatusRequest, SDKControlGetContextUsageRequest, SDKControlGetUsageInfoRequest, SDKControlGetUsageInfoResponse, SDKControlAccountInfoRequest, SDKHookCallbackRequest, SDKControlMcpMessageRequest, SDKControlRewindFilesRequest, SDKControlCancelAsyncMessageRequest, SDKControlSeedReadStateRequest, SDKControlMcpSetServersRequest, SDKControlReloadPluginsRequest, SDKControlMcpReconnectRequest, SDKControlMcpToggleRequest, SDKControlApplyFlagSettingsRequest, SDKControlGetSettingsRequest, SDKControlElicitationRequest, SDKControlEndSessionRequest, SDKControlChannelEnableRequest, SDKControlMcpInjectTokenRequest, SDKControlMcpAuthenticateRequest, SDKControlMcpOAuthCallbackUrlRequest, SDKControlMcpClearAuthRequest, SDKControlRequestInner, SDKControlInitializeResponse, SDKControlGetContextUsageResponse, SDKControlReloadPluginsResponse, SDKControlListPluginsRequest, SDKControlListPluginsResponse, 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';
@@ -4,7 +4,12 @@
4
4
  */
5
5
  export * from './common.js';
6
6
  export * from './messages.js';
7
- export type { ElicitationRequest, ElicitationResult, OnElicitation, PromptRequestOption, PromptRequest, PromptResponse, Options, SpawnOptions, SpawnedProcess, Query, Transport, } from './options.js';
7
+ export type { DefaultRuntimeTransport } from '../core/default-runtime.js';
8
+ export type { QueryTransportCreateOptions, QueryTransportProviderOption, } from '../core/query-transport.js';
9
+ export type { ProcessTransportOptions } from '../core/process-transport.js';
10
+ export type { WorkerRuntimeTransportOptions, WorkerTransportOptions, } from '../core/worker-transport.js';
11
+ export type { QueryTransportProvider, Transport, } from '../core/transport.js';
12
+ export type { ElicitationRequest, ElicitationResult, OnElicitation, PromptRequestOption, PromptRequest, PromptResponse, Options, QueryTransportOptions, SpawnOptions, SpawnedProcess, Query, } from './options.js';
8
13
  export * from './permissions.js';
9
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, InstructionsLoadedHookInput, CwdChangedHookInput, FileChangedHookInput, PreToolUseHookSpecificOutput, PostToolUseHookSpecificOutput, PostToolUseFailureHookSpecificOutput, UserPromptSubmitHookSpecificOutput, SessionStartHookSpecificOutput, SubagentStartHookSpecificOutput, PermissionRequestHookSpecificOutput, CwdChangedHookSpecificOutput, FileChangedHookSpecificOutput, } from './hooks.js';
10
15
  export * from './mcp.js';
@@ -13,6 +13,8 @@ import type { ModelPolicyProvider } from './model-policy-provider.js';
13
13
  import type { BYOKModelValidationInput, BYOKProviderInfo } from './byok.js';
14
14
  import type { RewindFilesResult } from './session.js';
15
15
  import type { CloudAgentOptions } from './cloud-agent.js';
16
+ import type { QueryTransportProviderOption } from '../core/query-transport.js';
17
+ import type { PluginDetails } from './plugins.js';
16
18
  export type { CanUseTool };
17
19
  export type { AuthOptions };
18
20
  export type ElicitationRequest = {
@@ -45,6 +47,7 @@ export type PromptResponse = {
45
47
  selected: string;
46
48
  };
47
49
  export type SettingSource = 'user' | 'project' | 'local';
50
+ export type QueryTransportOptions = QueryTransportProviderOption;
48
51
  export type Options = {
49
52
  abortController?: AbortController;
50
53
  /**
@@ -71,6 +74,16 @@ export type Options = {
71
74
  * semver guarantees.
72
75
  */
73
76
  experimentalCloudAgent?: CloudAgentOptions;
77
+ /**
78
+ * Selects the local query transport.
79
+ *
80
+ * - omitted: use `ProcessTransport.default` and spawn qodercli as a child process.
81
+ * - `ProcessTransport.default`: spawn qodercli as a child process.
82
+ * - `WorkerTransport.default`: run qoder-worker-runtime in a Node worker thread.
83
+ * - `new WorkerTransport({ ... })`: run worker runtime with provider options.
84
+ * - custom `QueryTransportProvider`: provide a fresh transport per query.
85
+ */
86
+ transport?: QueryTransportOptions;
74
87
  agent?: string;
75
88
  agents?: Record<string, AgentDefinition>;
76
89
  allowedTools?: string[];
@@ -304,6 +317,7 @@ export interface Query extends AsyncGenerator<SDKMessage, void> {
304
317
  */
305
318
  getUsageInfo(): Promise<UsageInfo | null>;
306
319
  reloadPlugins(): Promise<SDKControlReloadPluginsResponse>;
320
+ listPlugins(): Promise<PluginDetails[]>;
307
321
  accountInfo(): Promise<AccountInfo>;
308
322
  rewindFiles(userMessageId: string, options?: {
309
323
  dryRun?: boolean;
@@ -359,6 +373,7 @@ export interface InternalQuery extends Query {
359
373
  injectMcpToken(serverName: string, token: OAuthToken): Promise<void>;
360
374
  }
361
375
  export interface Transport {
376
+ initialize(): Promise<void>;
362
377
  write(data: string): void | Promise<void>;
363
378
  close(): void;
364
379
  isReady(): boolean;
@@ -0,0 +1,41 @@
1
+ import type { PluginInfo } from '../protocol/common.js';
2
+ export type PluginResources = {
3
+ skills: {
4
+ name: string;
5
+ description?: string;
6
+ argumentHint?: string;
7
+ }[];
8
+ agents: {
9
+ name: string;
10
+ description?: string;
11
+ color?: string;
12
+ }[];
13
+ mcpServers: {
14
+ name: string;
15
+ description?: string;
16
+ type?: string;
17
+ }[];
18
+ commands: {
19
+ name: string;
20
+ description?: string;
21
+ argumentHint?: string;
22
+ }[];
23
+ hooks: {
24
+ event: string;
25
+ matcher?: string;
26
+ type: string;
27
+ }[];
28
+ };
29
+ export type PluginDetails = PluginInfo & {
30
+ id: string;
31
+ source: string;
32
+ version: string;
33
+ scope: string;
34
+ enabled: boolean;
35
+ canDisable: boolean;
36
+ displayName?: string;
37
+ description?: string;
38
+ installedAt?: string;
39
+ lastUpdated?: string;
40
+ resources: PluginResources;
41
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qoder-ai/qoder-agent-sdk",
3
- "version": "1.0.4",
3
+ "version": "1.0.6",
4
4
  "description": "TypeScript SDK for building Qoder-powered coding agents.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -50,6 +50,7 @@
50
50
  "watch": "tsc --watch",
51
51
  "clean": "rm -rf dist",
52
52
  "bundle": "npm run clean && tsc && node scripts/bundle.mjs",
53
+ "bundle:worker": "npm run clean && tsc && node scripts/bundle.mjs --runtime-transport=worker --require-worker-runtime",
53
54
  "build:obfuscated": "npm run bundle",
54
55
  "check:package-version": "node scripts/check-package-version.mjs",
55
56
  "hooks:install": "sh scripts/install-git-hooks.sh",
@@ -62,6 +63,7 @@
62
63
  "demo:minimal": "npm run demo:chat",
63
64
  "demo:image": "node examples/image-input-demo/demo.mjs",
64
65
  "demo:models": "npm run build && node examples/list-models-demo/demo.mjs",
66
+ "demo:usage": "npm run build && node examples/usage-info-demo/demo.mjs",
65
67
  "demo:chat": "npm run build && node examples/interactive-chat-demo/demo.mjs",
66
68
  "demo:mcp-oauth": "npm run build && node examples/mcp-oauth-demo/demo.mjs",
67
69
  "demo:inprocess-mcp": "npm run build && node examples/inprocess-mcp-demo/demo.mjs",
@@ -84,6 +86,7 @@
84
86
  "test:query-working-directory:functional": "npm run build && node --test tests/query-working-directory/functional/*.test.mjs",
85
87
  "test:query-runtime-control:unit": "npm run build && node --test tests/query-runtime-control/unit/*.test.mjs",
86
88
  "test:query-runtime-control:functional": "npm run build && node --test tests/query-runtime-control/functional/*.test.mjs",
89
+ "test:worker-runtime:functional": "npm run build && node --test tests/worker-runtime/functional/*.test.mjs",
87
90
  "test:skills-loading-control:functional": "npm run build && node --test tests/skills-loading-control/functional/*.test.mjs",
88
91
  "test:plugins-loading-control:unit": "npm run build && node --test tests/plugins-loading-control/unit/*.test.mjs",
89
92
  "test:plugins-loading-control:functional": "npm run build && node --test tests/plugins-loading-control/functional/*.test.mjs",
@@ -109,6 +112,6 @@
109
112
  "typescript": "^5.7.0",
110
113
  "zod": "^4.0.0"
111
114
  },
112
- "qoderCliVersion": "1.0.18",
115
+ "qoderCliVersion": "1.0.25",
113
116
  "license": "SEE LICENSE IN LICENSE"
114
117
  }