@qoder-ai/qoder-agent-sdk 1.0.19 → 1.0.21

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 CHANGED
@@ -47,9 +47,10 @@ const q = query({
47
47
  ```
48
48
 
49
49
  The worker transport uses the runtime installed at
50
- `dist/_worker/qoder-worker-runtime.obf.mjs`. You can instead set
51
- `QODER_WORKER_RUNTIME_PATH` or pass
52
- `new WorkerTransport({ pathToQoderWorkerRuntime })`.
50
+ `dist/_worker/qoder-worker-runtime.obf.mjs`. To use another Worker runtime,
51
+ pass its path explicitly with
52
+ `new WorkerTransport({ pathToQoderWorkerRuntime })`. Environment variables do
53
+ not override the Worker runtime entry.
53
54
 
54
55
  The package includes a `dist/runtime-manifest.json` that records the default
55
56
  runtime and pins the qodercli Worker runtime archive URL. The SDK package itself
@@ -70,14 +71,15 @@ QODER_SKIP_DOWNLOAD=1 npm install @qoder-ai/qoder-agent-sdk zod
70
71
 
71
72
  `QODER_SKIP_DOWNLOAD` only affects install-time downloads. It does not change the
72
73
  package's default runtime. Then point the process transport at an existing
73
- `qodercli`, or point the worker transport at an existing runtime:
74
+ `qodercli`:
74
75
 
75
76
  ```bash
76
77
  export QODERCLI_PATH=/absolute/path/to/qodercli
77
- # or
78
- export QODER_WORKER_RUNTIME_PATH=/absolute/path/to/qoder-worker-runtime.obf.mjs
79
78
  ```
80
79
 
80
+ To use an existing Worker runtime, pass its absolute path through
81
+ `new WorkerTransport({ pathToQoderWorkerRuntime })`.
82
+
81
83
  `query()` is the only query entry point and defaults to Worker. Pass
82
84
  `transport: ProcessTransport.default`,
83
85
  `transport: WorkerTransport.default`, or a custom transport provider when a
@@ -143,7 +145,7 @@ short-lived SATs for qodercli. See the
143
145
  [host callback example](examples/service-account-token-demo/demo.mjs) for a
144
146
  complete Token exchange and query. To reuse a signed-in developer
145
147
  workstation, use `qodercliAuth()`. See the
146
- [SDK authentication guide](docs/public/en/cli/sdk/authentication.mdx) for
148
+ [SDK authentication guide](docs/public/global/cli/sdk/authentication.mdx) for
147
149
  complete setup instructions and security guidance.
148
150
 
149
151
  ## Quick Start
@@ -6,7 +6,9 @@ export declare const SDK_BRAND_CONFIG: {
6
6
  packageName: string;
7
7
  cliCommands: readonly ["qoderclicn", "qodercn"];
8
8
  configDirName: string;
9
+ projectConfigDirName: string;
9
10
  configDirEnv: string;
11
+ configDirNameEnv: string;
10
12
  cliHomeEnv: string;
11
13
  accessTokenEnv: string;
12
14
  serviceAccountEnv: string;
@@ -15,7 +17,9 @@ export declare const SDK_BRAND_CONFIG: {
15
17
  packageName: string;
16
18
  cliCommands: readonly ["qodercli", "qoder"];
17
19
  configDirName: string;
20
+ projectConfigDirName: string;
18
21
  configDirEnv: string;
22
+ configDirNameEnv: string;
19
23
  cliHomeEnv: string;
20
24
  accessTokenEnv: string;
21
25
  serviceAccountEnv: string;
@@ -32,4 +32,12 @@ export declare class ProtocolVersionMismatchError extends Error {
32
32
  readonly cliProtocolVersion: string;
33
33
  readonly sdkProtocolVersion: string;
34
34
  constructor(cliProtocolVersion: string, sdkProtocolVersion: string);
35
+ }
36
+ /**
37
+ * Thrown when an SDK operation requires a protocol capability that the
38
+ * running qodercli process did not advertise in its system/init message.
39
+ */
40
+ export declare class UnsupportedCliCapabilityError extends Error {
41
+ readonly capability: string;
42
+ constructor(capability: string);
35
43
  }
@@ -1,4 +1,4 @@
1
- import type { PluginDetails, InstallPluginResult, UninstallPluginResult } from '../types/plugins.js';
1
+ import type { PluginDetails, InstallPluginResult, PluginValidationReport, ValidatePluginOptions, UninstallPluginResult } from '../types/plugins.js';
2
2
  export declare function listPlugins(opts?: {
3
3
  orgId?: string;
4
4
  cliPath?: string;
@@ -20,4 +20,10 @@ export declare function uninstallPlugin(id: string, opts?: {
20
20
  keepData?: boolean;
21
21
  cliPath?: string;
22
22
  env?: Record<string, string>;
23
- }): Promise<UninstallPluginResult>;
23
+ }): Promise<UninstallPluginResult>;
24
+ /**
25
+ * Statically validate a local plugin without creating a session or executing
26
+ * plugin hooks, MCP servers, or binaries. Invalid plugin content is returned
27
+ * as a report; transport and CLI capability failures reject the promise.
28
+ */
29
+ export declare function validatePlugin(path: string, opts?: ValidatePluginOptions): Promise<PluginValidationReport>;
package/dist/index.d.ts CHANGED
@@ -52,6 +52,9 @@
52
52
  * ```
53
53
  */
54
54
  export { query } from './query/query.js';
55
+ export { startup } from './query/startup.js';
56
+ export type { StartupParams, WarmQuery } from './query/startup.js';
57
+ export { resolveSettings } from './settings/resolve-settings.js';
55
58
  export { DEFAULT_RUNTIME_TRANSPORT, } from './core/default-runtime.js';
56
59
  export { ProcessTransport, QoderCliProcessError, } from './core/process-transport.js';
57
60
  export { hasResolvableQoderWorkerRuntime, QoderWorkerRuntimeError, WorkerTransport, resolveQoderWorkerRuntimePath, } from './core/worker-transport.js';
@@ -66,11 +69,11 @@ export { InMemorySessionStore } from './session/session-store.js';
66
69
  export { importSessionToStore } from './session/session-import.js';
67
70
  export type { ImportSessionToStoreOptions } from './session/session-import.js';
68
71
  export type { SessionKey, SessionStore, SessionStoreEntry, SessionStoreFlush, } from './session/session-store.js';
69
- export { listPlugins, enablePlugin, disablePlugin, installPlugin, uninstallPlugin } from './global/plugins.js';
70
- export type { PluginDetails, PluginResources, InstallPluginResult, UninstallPluginResult } from './types/plugins.js';
72
+ export { listPlugins, enablePlugin, disablePlugin, installPlugin, uninstallPlugin, validatePlugin, } from './global/plugins.js';
73
+ export type { PluginDetails, PluginResources, InstallPluginResult, UninstallPluginResult, PluginValidationSeverity, PluginValidationPhase, PluginValidationPosition, PluginValidationLocation, PluginValidationDiagnostic, PluginValidationReport, ValidatePluginOptions, } from './types/plugins.js';
71
74
  export { submitFeedback } from './feedback.js';
72
75
  export type { SubmitFeedbackParams, SubmitFeedbackOptions, IntegrationMode, } from './feedback.js';
73
- export { AbortError, ModelPolicyTimeoutError, ProtocolVersionMismatchError, } from './core/errors.js';
76
+ export { AbortError, ModelPolicyTimeoutError, ProtocolVersionMismatchError, UnsupportedCliCapabilityError, } from './core/errors.js';
74
77
  export { AuthAccessTokenEnvVarError, AuthServiceAccountEnvVarError, } from './core/runtime-launch-options.js';
75
78
  export { WIRE_PROTOCOL_VERSION } from './protocol/version.js';
76
79
  export type { ModelPromptPatch, ModelPromptPatches, } from './protocol/model-prompt-patches.js';
@@ -83,7 +86,7 @@ export type { AccessTokenInput, AuthOptions, FetchServiceAccountToken, ServiceAc
83
86
  */
84
87
  export type { FetchJobToken, JobTokenAuthOptions, JobTokenRequest, JobTokenResult, } from './types/auth.js';
85
88
  export type { AccountInfo, UsageAddOnQuotaBucket, UsageInfo, UsageOrgResourcePackage, UsageQuotaBucket, SessionCreditsUsage, ApiKeySource, ExitReason, FastModeState, ConfigScope, SettingSource, SDKAssistantMessageError, SDKStatus, EffortLevel, ThinkingAdaptive, ThinkingEnabled, ThinkingDisabled, ThinkingConfig, ModelInfo, ModelSource, ServerModelJson, ServerModelJsonValue, ModelStrategy, ModelPromotion, LocalizedModelText, ModelContextConfig, ModelContextWindowEntry, ModelEffortEntry, ModelThinkingConfig, ModelThinkingDisabled, ModelThinkingEnabled, ModelUsage, NonNullableUsage, SlashCommand, ToolConfig, SdkPluginConfig, } from './types/common.js';
86
- export type { SDKMessage, SDKAssistantMessage, SDKUserMessage, SDKUserMessageReplay, SDKResultMessage, SDKResultSuccess, SDKResultError, SDKSystemMessage, SDKSystemInitMessage, SDKSystemMessageSubtype, SDKSystemMessageBySubtype, SDKPartialAssistantMessage, SDKCompactBoundaryMessage, SDKStatusMessage, SDKAPIRetryMessage, SDKHookStartedMessage, SDKHookProgressMessage, SDKHookResponseMessage, SDKPermissionDeniedMessage, SDKMirrorErrorMessage, SDKTaskNotificationMessage, SDKTaskStartedMessage, SDKTaskProgressMessage, SDKSessionStateChangedMessage, SDKSessionTitleChangedMessage, SDKFilesPersistedEvent, SDKElicitationCompleteMessage, SDKPromptSuggestionMessage, SDKCloudAgentEventMessage, SDKPermissionDenial, } from './types/messages.js';
89
+ export type { SDKMessage, SDKAssistantMessage, SDKUserMessage, SDKUserMessageReplay, SDKResultMessage, SDKResultSuccess, SDKResultError, SDKSystemMessage, SDKSystemInitMessage, SDKSystemMessageSubtype, SDKSystemMessageBySubtype, SDKPartialAssistantMessage, SDKCompactBoundaryMessage, SDKStatusMessage, SDKAPIRetryMessage, SDKHookStartedMessage, SDKHookProgressMessage, SDKHookResponseMessage, SDKPermissionDeniedMessage, SDKMirrorErrorMessage, SDKTaskNotificationMessage, SDKTaskStartedMessage, SDKTaskProgressMessage, SDKTaskUpdatedMessage, SDKBackgroundTasksChangedMessage, SDKSessionStateChangedMessage, SDKSessionTitleChangedMessage, SDKFilesPersistedEvent, SDKElicitationCompleteMessage, SDKPromptSuggestionMessage, SDKCloudAgentEventMessage, SDKPermissionDenial, } from './types/messages.js';
87
90
  export type { DefaultRuntimeTransport, } from './core/default-runtime.js';
88
91
  export type { QueryTransportCreateOptions, QueryTransportProviderOption, } from './core/query-transport.js';
89
92
  export type { ProcessTransportOptions } from './core/process-transport.js';
@@ -95,13 +98,13 @@ export type { SettingSource as SettingSourceFromOptions } from './types/options.
95
98
  export type { PermissionMode, PermissionBehavior, PermissionDecisionClassification, PermissionUpdateDestination, PermissionRuleValue, PermissionUpdate, PermissionResult, CanUseToolOptions, } from './types/permissions.js';
96
99
  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 './types/hooks.js';
97
100
  export type { McpStdioServerConfig, McpSSEServerConfig, McpHttpServerConfig, McpSdkServerConfig, McpSdkServerConfigWithInstance, McpServerConfig, McpServerToolPolicy, McpServerConfigForProcessTransport, McpServerStatus, McpServerStatusConfig, } from './types/mcp.js';
98
- export type { AgentDefinition, AgentInfo, AgentMcpServerSpec, } from './types/agents.js';
99
- export type { SDKSessionInfo, SessionMessage, ListSessionsOptions, GetSessionInfoOptions, GetSessionMessagesOptions, GetSubagentMessagesOptions, ListSubagentsOptions, SessionMutationOptions, ForkSessionOptions, ForkSessionResult, RewindFilesResult, } from './types/session.js';
100
- export type { Settings, ResolvedSettings, ResolvedSettingsSource, } from './types/settings.js';
101
+ export type { AgentDefinition, AgentInfo, AgentMemoryScope, AgentMcpServerSpec, } from './types/agents.js';
102
+ export type { SDKSessionInfo, SessionMessage, ListSessionsOptions, GetSessionInfoOptions, GetSessionMessagesOptions, GetSubagentMessagesOptions, ListSubagentsOptions, SessionMutationOptions, ForkSessionOptions, ForkSessionResult, RewindFilesResult, RewindScope, RewindStatus, RewindFileFailure, RewindResult, } from './types/session.js';
103
+ export type { Settings, ResolveSettingsOptions, ResolvedSettingSource, ResolvedSettings, ResolvedSettingsSource, SettingsProvenanceEntry, } from './types/settings.js';
101
104
  export { filterEscalatingDefaultMode } from './types/settings.js';
102
105
  export type { QoderModelPurpose } from './types/control.js';
103
- export type { SDKControlRequest, SDKControlResponse, SDKControlInterruptResponse, SDKControlInitializeResponse, SDKControlGetContextUsageResponse, SDKControlGetUsageInfoRequest, SDKControlGetUsageInfoResponse, SDKControlAddDirectoriesResponse, SDKControlReloadPluginsResponse, } from './types/control.js';
106
+ export type { SDKControlRequest, SDKControlResponse, SDKControlInterruptResponse, SDKControlInitializeResponse, SDKControlGetContextUsageResponse, SDKControlGetUsageInfoRequest, SDKControlGetUsageInfoResponse, SDKControlAddDirectoriesResponse, SDKControlReloadPluginsResponse, SDKControlStopTaskRequest, SDKControlBackgroundTasksRequest, SDKControlBackgroundTasksResponse, } from './types/control.js';
104
107
  export type { SDKControlGetModelPolicyRequest, SDKControlGetModelPolicyResponse, SDKCapabilities, ModelPolicyContext, ModelPolicyResult, ModelPolicyProvider, } from './types/model-policy-provider.js';
105
108
  export type { SDKControlGetByokConfigRequest, SDKControlGetByokConfigResponse, SDKControlValidateByokModelRequest, SDKControlValidateByokModelResponse, BYOKModelValidationInput, BYOKProviderInfo, BYOKModelTypeInfo, BYOKModelInfo, CustomModel, } from './types/byok.js';
106
- export type { AgentInput, AgentOutput, BashInput, FileReadInput, FileReadOutput, FileEditInput, FileWriteInput, GlobInput, GrepInput, WebFetchInput, WebSearchInput, AskUserQuestionInput, NotebookEditInput, TaskCreateInput, TaskCreateOutput, TaskGetInput, TaskGetOutput, TaskUpdateInput, TaskUpdateOutput, TaskListInput, TaskListOutput, ExitPlanModeInput, TodoWriteInput, ToolInputSchemas, ToolOutputSchemas, } from './types/tools.js';
109
+ export type { AgentInput, AgentOutput, AgentToolCompletionResult, AgentToolBackgroundLaunchResult, AgentToolTeammateSpawnedResult, BashInput, FileReadInput, FileReadOutput, FileEditInput, FileWriteInput, GlobInput, GrepInput, WebFetchInput, WebSearchInput, AskUserQuestionInput, NotebookEditInput, TaskCreateInput, TaskCreateOutput, TaskGetInput, TaskGetOutput, TaskUpdateInput, TaskUpdateOutput, TaskListInput, TaskListOutput, ExitPlanModeInput, TodoWriteInput, ToolInputSchemas, ToolOutputSchemas, } from './types/tools.js';
107
110
  export type { FeedbackResult } from './types/account.js';