@qoder-ai/qoder-agent-sdk 1.0.22 → 1.0.24
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 +24 -0
- package/dist/core/process-transport.d.ts +2 -1
- package/dist/core/runtime-command.d.ts +14 -0
- package/dist/core/runtime-launch-options.d.ts +3 -1
- package/dist/core/security-scan-options.d.ts +7 -0
- package/dist/core/worker-runtime-launch.d.ts +16 -0
- package/dist/core/worker-runtime-path.d.ts +2 -0
- package/dist/core/worker-transport.d.ts +3 -3
- package/dist/index.d.ts +6 -4
- package/dist/index.js +30 -30
- package/dist/memory/memory-options.d.ts +7 -0
- package/dist/protocol/control.d.ts +54 -10
- package/dist/protocol/index.d.ts +3 -2
- package/dist/protocol/index.js +1 -1
- package/dist/protocol/launch.d.ts +4 -0
- package/dist/protocol/memory.d.ts +133 -0
- package/dist/protocol/messages.d.ts +47 -1
- package/dist/query/query-runner.d.ts +21 -2
- package/dist/runtime-manifest.json +5 -5
- package/dist/types/control.d.ts +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/memory.d.ts +59 -0
- package/dist/types/messages.d.ts +2 -1
- package/dist/types/options.d.ts +42 -1
- package/dist/types/plugins.d.ts +1 -0
- package/dist/types/session.d.ts +6 -0
- package/dist/types/tools.d.ts +15 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -213,6 +213,30 @@ for await (const message of q) {
|
|
|
213
213
|
}
|
|
214
214
|
```
|
|
215
215
|
|
|
216
|
+
## Code Security
|
|
217
|
+
|
|
218
|
+
Built-in code security is disabled by default in SDK sessions. Enable only the
|
|
219
|
+
capabilities the integration needs:
|
|
220
|
+
|
|
221
|
+
```ts
|
|
222
|
+
const q = query({
|
|
223
|
+
prompt: "Review this repository for security issues.",
|
|
224
|
+
options: {
|
|
225
|
+
auth: qodercliAuth(),
|
|
226
|
+
cwd: process.cwd(),
|
|
227
|
+
securityScan: {
|
|
228
|
+
l1StaticCheck: true,
|
|
229
|
+
l2LightweightScan: true,
|
|
230
|
+
l3DeepScan: false,
|
|
231
|
+
},
|
|
232
|
+
},
|
|
233
|
+
});
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
Omitted switches remain disabled. The top-level option is authoritative for
|
|
237
|
+
the SDK session. Enabling any switch also makes the native security skill
|
|
238
|
+
available; project and file scans do not have a separate switch.
|
|
239
|
+
|
|
216
240
|
## Tools and Permissions
|
|
217
241
|
|
|
218
242
|
Qoder Agent can use tools such as file reads, file edits, shell commands, and
|
|
@@ -15,7 +15,7 @@ import type { SdkPluginConfig, ToolConfig } from '../types/common.js';
|
|
|
15
15
|
import type { PermissionMode } from '../types/permissions.js';
|
|
16
16
|
import type { McpServerConfigForProcessTransport, McpServerToolPolicy } from '../types/mcp.js';
|
|
17
17
|
import type { InternalAuthOptions } from '../types/auth.js';
|
|
18
|
-
import type { SpawnedProcess, SpawnOptions, SettingSource } from '../types/options.js';
|
|
18
|
+
import type { SecurityScanOptions, SpawnedProcess, SpawnOptions, SettingSource } from '../types/options.js';
|
|
19
19
|
import type { DiagnosticsSink } from './sdk-diagnostics.js';
|
|
20
20
|
export declare class QoderCliProcessError extends Error {
|
|
21
21
|
readonly code: "QODER_CLI_PROCESS_ERROR";
|
|
@@ -93,6 +93,7 @@ export interface ProcessTransportOptions {
|
|
|
93
93
|
allowedMcpServerNames?: string[];
|
|
94
94
|
strictMcpConfig?: boolean;
|
|
95
95
|
settings?: string | Record<string, unknown>;
|
|
96
|
+
securityScan?: SecurityScanOptions;
|
|
96
97
|
settingSources?: SettingSource[];
|
|
97
98
|
additionalDirectories?: string[];
|
|
98
99
|
plugins?: SdkPluginConfig[];
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface RuntimeCommandOptions {
|
|
2
|
+
pathToQoderCLIExecutable?: string;
|
|
3
|
+
cwd?: string;
|
|
4
|
+
env?: Record<string, string | undefined>;
|
|
5
|
+
signal?: AbortSignal;
|
|
6
|
+
timeoutMs?: number;
|
|
7
|
+
}
|
|
8
|
+
export interface RuntimeCommandResult {
|
|
9
|
+
stdout: string;
|
|
10
|
+
stderr: string;
|
|
11
|
+
exitCode: number;
|
|
12
|
+
}
|
|
13
|
+
/** Run a standalone qodercli subcommand using the packaged runtime carrier. */
|
|
14
|
+
export declare function runRuntimeCommand(args: string[], options?: RuntimeCommandOptions): Promise<RuntimeCommandResult>;
|
|
@@ -4,7 +4,7 @@ import type { InternalAuthOptions } from '../types/auth.js';
|
|
|
4
4
|
import type { PermissionMode } from '../types/permissions.js';
|
|
5
5
|
import type { McpServerConfigForProcessTransport } from '../protocol/mcp.js';
|
|
6
6
|
import type { McpServerToolPolicy } from '../types/mcp.js';
|
|
7
|
-
import type { SettingSource } from '../types/options.js';
|
|
7
|
+
import type { SecurityScanOptions, SettingSource } from '../types/options.js';
|
|
8
8
|
export declare class AuthAccessTokenEnvVarError extends Error {
|
|
9
9
|
readonly code: "auth_access_token_env_var_not_configured";
|
|
10
10
|
constructor(envVar: string);
|
|
@@ -50,6 +50,7 @@ export interface RuntimeLaunchOptions {
|
|
|
50
50
|
allowedMcpServerNames?: string[];
|
|
51
51
|
strictMcpConfig?: boolean;
|
|
52
52
|
settings?: string | Record<string, unknown>;
|
|
53
|
+
securityScan?: SecurityScanOptions;
|
|
53
54
|
settingSources?: SettingSource[];
|
|
54
55
|
additionalDirectories?: string[];
|
|
55
56
|
plugins?: SdkPluginConfig[];
|
|
@@ -79,6 +80,7 @@ export declare class RuntimeLaunchOptionsBuilder {
|
|
|
79
80
|
buildArgs(): string[];
|
|
80
81
|
private buildSettingsArg;
|
|
81
82
|
private applyFileCheckpointingSetting;
|
|
83
|
+
private applySecurityScanSetting;
|
|
82
84
|
private applySettingsCompatibility;
|
|
83
85
|
private toQoderDefaultPermissionMode;
|
|
84
86
|
private applyAdditionalDirectories;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { SecurityScanOptions } from '../types/options.js';
|
|
7
|
+
export declare function normalizeSecurityScanOptions(value: SecurityScanOptions): Required<SecurityScanOptions>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { PreparedWorkerRuntimePath } from './worker-runtime-assets.js';
|
|
2
|
+
export declare const WORKER_CWD_ENV = "QODER_WORKER_CWD";
|
|
3
|
+
export interface WorkerRuntimeLaunchContext {
|
|
4
|
+
env: Record<string, string>;
|
|
5
|
+
workerData: Record<string, unknown>;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Build the environment and workerData contract consumed by qoderWorkerRuntime.
|
|
9
|
+
* Query transports and one-shot commands must use the same contract so cwd and
|
|
10
|
+
* sidecar assets resolve identically in both launch modes.
|
|
11
|
+
*/
|
|
12
|
+
export declare function buildWorkerRuntimeLaunchContext(preparedRuntime: PreparedWorkerRuntimePath, options: {
|
|
13
|
+
cwd: string;
|
|
14
|
+
env: Record<string, string>;
|
|
15
|
+
workerData?: Record<string, unknown>;
|
|
16
|
+
}): WorkerRuntimeLaunchContext;
|
|
@@ -11,6 +11,8 @@ import type { ProcessTransportOptions } from './process-transport.js';
|
|
|
11
11
|
import type { StdoutMessage } from '../types/control.js';
|
|
12
12
|
import type { DiagnosticsSink } from './sdk-diagnostics.js';
|
|
13
13
|
import { type RuntimeLaunchOptions } from './runtime-launch-options.js';
|
|
14
|
+
import { hasResolvableQoderWorkerRuntime, resolveQoderWorkerRuntimePath } from './worker-runtime-path.js';
|
|
15
|
+
export { hasResolvableQoderWorkerRuntime, resolveQoderWorkerRuntimePath };
|
|
14
16
|
export declare class QoderWorkerRuntimeError extends Error {
|
|
15
17
|
readonly code: "QODER_WORKER_RUNTIME_ERROR";
|
|
16
18
|
readonly exitCode?: number;
|
|
@@ -93,6 +95,4 @@ export declare class WorkerRuntimeTransport implements Transport {
|
|
|
93
95
|
private cleanupAbortListener;
|
|
94
96
|
private cleanupAuthPayload;
|
|
95
97
|
private fireAuthExpired;
|
|
96
|
-
}
|
|
97
|
-
export declare function resolveQoderWorkerRuntimePath(explicitPath?: string): string;
|
|
98
|
-
export declare function hasResolvableQoderWorkerRuntime(explicitPath?: string): boolean;
|
|
98
|
+
}
|
package/dist/index.d.ts
CHANGED
|
@@ -86,13 +86,14 @@ export type { AccessTokenInput, AuthOptions, FetchServiceAccountToken, ServiceAc
|
|
|
86
86
|
*/
|
|
87
87
|
export type { FetchJobToken, JobTokenAuthOptions, JobTokenRequest, JobTokenResult, } from './types/auth.js';
|
|
88
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';
|
|
89
|
-
export type { SDKMessage, SDKAssistantMessage, SDKToolNonExecutionKind, SDKToolResultMeta, 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';
|
|
89
|
+
export type { SDKMessage, SDKAssistantMessage, SDKToolNonExecutionKind, SDKToolResultMeta, SDKUserMessage, SDKUserMessageReplay, SDKResultMessage, SDKResultSuccess, SDKResultError, SDKSystemMessage, SDKSystemInitMessage, SDKSystemMessageSubtype, SDKSystemMessageBySubtype, SDKPartialAssistantMessage, SDKCompactBoundaryMessage, SDKStatusMessage, SDKAPIRetryMessage, SDKModelQueueStatusMessage, SDKControlRequestProgressMessage, SDKHookStartedMessage, SDKHookProgressMessage, SDKHookResponseMessage, SDKPermissionDeniedMessage, SDKMirrorErrorMessage, SDKTaskNotificationMessage, SDKTaskStartedMessage, SDKTaskProgressMessage, SDKTaskUpdatedMessage, SDKBackgroundTasksChangedMessage, SDKSessionStateChangedMessage, SDKSessionTitleChangedMessage, SDKFilesPersistedEvent, SDKElicitationCompleteMessage, SDKPromptSuggestionMessage, SDKCloudAgentEventMessage, SDKMemoryGenerationMessage, SDKMemoryConsumptionMessage, SDKPermissionDenial, } from './types/messages.js';
|
|
90
90
|
export type { DefaultRuntimeTransport, } from './core/default-runtime.js';
|
|
91
91
|
export type { QueryTransportCreateOptions, QueryTransportProviderOption, } from './core/query-transport.js';
|
|
92
92
|
export type { ProcessTransportOptions } from './core/process-transport.js';
|
|
93
93
|
export type { WorkerRuntimeTransportOptions, WorkerTransportOptions, } from './core/worker-transport.js';
|
|
94
94
|
export type { QueryTransportProvider, Transport, } from './core/transport.js';
|
|
95
|
-
export type { Options, QueryTransportOptions, Query, SpawnOptions, SpawnedProcess, ElicitationRequest, ElicitationResult, OnElicitation, PromptRequest, PromptRequestOption, PromptResponse, CanUseTool, } from './types/options.js';
|
|
95
|
+
export type { Options, QueryTransportOptions, Query, SpawnOptions, SpawnedProcess, ElicitationRequest, ElicitationResult, OnElicitation, PromptRequest, PromptRequestOption, PromptResponse, CanUseTool, SecurityScanOptions, } from './types/options.js';
|
|
96
|
+
export type { EffectiveMemoryConfig, MemoryConsumptionFile, MemoryConsumptionOptions, MemoryConsumptionResult, MemoryGenerationGateInput, MemoryGenerationGateResult, MemoryGenerationOptions, MemoryGenerationFailedFile, MemoryGenerationResult, MemoryMode, MemoryOptions, MemoryRoot, MemoryRootAccess, MemoryShouldGenerate, } from './types/memory.js';
|
|
96
97
|
export type { AgentCreateParams, BetaManagedAgentsAgentToolName, BetaManagedAgentsAgentToolset20260401Params, BetaManagedAgentsCustomSkillParams, BetaManagedAgentsFileResourceParams, BetaManagedAgentsModel, BetaManagedAgentsSkillParams, BetaManagedAgentsURLMCPServerParams, CloudAgentOptions, CloudAgentReference, CloudAgentStreamOptions, CloudSessionResource, CloudSessionCreateParams, CloudSessionCreateReference, CloudSessionExistingReference, CloudSessionReference, SessionCreateParams, } from './types/cloud-agent.js';
|
|
97
98
|
export type { SettingSource as SettingSourceFromOptions } from './types/options.js';
|
|
98
99
|
export type { PermissionMode, PermissionBehavior, PermissionDecisionClassification, PermissionUpdateDestination, PermissionRuleValue, PermissionUpdate, PermissionResult, CanUseToolOptions, } from './types/permissions.js';
|
|
@@ -103,8 +104,9 @@ export type { SDKSessionInfo, SessionMessage, ListSessionsOptions, GetSessionInf
|
|
|
103
104
|
export type { Settings, ResolveSettingsOptions, ResolvedSettingSource, ResolvedSettings, ResolvedSettingsSource, SettingsProvenanceEntry, } from './types/settings.js';
|
|
104
105
|
export { filterEscalatingDefaultMode } from './types/settings.js';
|
|
105
106
|
export type { QoderModelPurpose } from './types/control.js';
|
|
106
|
-
export type { SDKControlRequest, SDKControlResponse, SDKControlInterruptResponse, SDKControlInitializeResponse, SDKControlGetContextUsageResponse, SDKControlGetUsageInfoRequest, SDKControlGetUsageInfoResponse, SDKControlAddDirectoriesResponse, SDKControlReloadPluginsResponse, SDKControlStopTaskRequest, SDKControlBackgroundTasksRequest, SDKControlBackgroundTasksResponse, } from './types/control.js';
|
|
107
|
+
export type { SDKControlRequest, SDKControlResponse, SDKControlInterruptResponse, SDKControlInitializeResponse, SDKControlGetContextUsageResponse, SDKControlGetUsageInfoRequest, SDKControlGetUsageInfoResponse, SideQuestionHistoryEntry, AskSideQuestionOptions, SideQuestionRefusalFallback, SideQuestionResult, SDKControlAddDirectoriesResponse, SDKControlReloadPluginsResponse, SDKControlStopTaskRequest, SDKControlBackgroundTasksRequest, SDKControlBackgroundTasksResponse, } from './types/control.js';
|
|
107
108
|
export type { SDKControlGetModelPolicyRequest, SDKControlGetModelPolicyResponse, SDKCapabilities, ModelPolicyContext, ModelPolicyResult, ModelPolicyProvider, } from './types/model-policy-provider.js';
|
|
108
109
|
export type { SDKControlGetByokConfigRequest, SDKControlGetByokConfigResponse, SDKControlValidateByokModelRequest, SDKControlValidateByokModelResponse, BYOKModelValidationInput, BYOKProviderInfo, BYOKModelTypeInfo, BYOKModelInfo, CustomModel, } from './types/byok.js';
|
|
109
|
-
export
|
|
110
|
+
export { isBashToolBackgroundLaunchResult } from './types/tools.js';
|
|
111
|
+
export type { AgentInput, AgentOutput, AgentToolCompletionResult, AgentToolBackgroundLaunchResult, AgentToolTeammateSpawnedResult, BashInput, BashToolBackgroundLaunchResult, 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';
|
|
110
112
|
export type { FeedbackResult } from './types/account.js';
|