@qoder-ai/qoder-agent-sdk 1.0.34 → 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 CHANGED
@@ -457,27 +457,46 @@ supports the built-in Process and Worker transports. Use
457
457
  `importSessionToStore(sessionId, store, options)` to copy an existing local main
458
458
  transcript, child-agent transcripts, and metadata into a store.
459
459
 
460
- For a shared daemon, implement `DaemonSessionStore`, which adds
461
- `listAllSessions()`, and bind it once at daemon startup:
460
+ A Query can replace the CLI Artifact snapshot with an App-owned cumulative
461
+ snapshot. Configure the callback on that Query:
462
462
 
463
463
  ```ts
464
- const daemon = await startDaemon({
465
- auth: qodercliAuth(),
466
- capacity: 4,
467
- sessionStore,
464
+ import { join } from "node:path";
465
+ import {
466
+ qodercliAuth,
467
+ query,
468
+ type ResolveSessionArtifacts,
469
+ } from "@qoder-ai/qoder-agent-sdk";
470
+
471
+ const resolveSessionArtifacts: ResolveSessionArtifacts = async (
472
+ localSessionId,
473
+ cwd,
474
+ ) => ({
475
+ artifacts: [
476
+ {
477
+ path: join(cwd, "outputs/report.pdf"),
478
+ displayPath: "outputs/report.pdf",
479
+ name: "report.pdf",
480
+ kind: "presented",
481
+ group: { key: "outputs", name: "Outputs" },
482
+ relativePath: "report.pdf",
483
+ },
484
+ ],
468
485
  });
469
486
 
470
487
  const running = query({
471
- prompt,
472
- options: { daemon, cwd: "/path/to/project" },
488
+ prompt: "Create a report.",
489
+ options: {
490
+ auth: qodercliAuth(),
491
+ cwd: "/path/to/project",
492
+ resolveSessionArtifacts,
493
+ },
473
494
  });
474
495
  ```
475
496
 
476
- `listAllSessions()` returns only main Sessions owned by that Host Store. Each
477
- summary contains the exact stored `key`, a non-empty title, an ISO timestamp,
478
- and the canonical working directory. Daemon-bound Queries reuse this one Store
479
- and cannot override it per Query. Registration sends summaries only; transcript
480
- entries are loaded lazily when a Worker needs to resume the Session.
497
+ The callback receives the local Session ID and working directory. Return the
498
+ current full snapshot; `artifacts: []` clears it. If the callback is omitted or
499
+ rejects, the CLI snapshot remains in effect.
481
500
 
482
501
  ### Production stores
483
502
 
@@ -0,0 +1,2 @@
1
+ import type { ResolveSessionArtifactsResult } from '../types/artifacts.js';
2
+ export declare function normalizeResolveSessionArtifactsResult(value: unknown): ResolveSessionArtifactsResult;
@@ -17,7 +17,6 @@ import type { McpServerConfigForProcessTransport, McpServerToolPolicy } from '..
17
17
  import type { InternalAuthOptions } from '../types/auth.js';
18
18
  import type { SecurityScanOptions, SpawnedProcess, SpawnOptions, SettingSource } from '../types/options.js';
19
19
  import type { DiagnosticsSink } from './sdk-diagnostics.js';
20
- import type { SessionExtra } from '../daemon/session-metadata.js';
21
20
  export declare class QoderCliProcessError extends Error {
22
21
  readonly code: "QODER_CLI_PROCESS_ERROR";
23
22
  readonly exitCode?: number | null;
@@ -74,8 +73,6 @@ export interface ProcessTransportOptions {
74
73
  /** SDK-internal diagnostics sink. This is not forwarded to qodercli. */
75
74
  diagnostics?: DiagnosticsSink;
76
75
  agent?: string;
77
- /** SDK-internal Session metadata consumed by the shared daemon. */
78
- extra?: SessionExtra;
79
76
  sessionId?: string;
80
77
  continue?: boolean;
81
78
  resume?: string;
@@ -1,9 +1,3 @@
1
1
  import type { InternalAuthOptions } from '../types/auth.js';
2
2
  import { type DaemonRequestHandler } from './daemon-connection.js';
3
- export declare function createDaemonAuthRequestHandler(auth: InternalAuthOptions, callbackTimeoutMs?: number): DaemonRequestHandler;
4
- export declare function createDaemonRequestHandler(options: {
5
- auth: InternalAuthOptions;
6
- sessionStoreHandler?: DaemonRequestHandler;
7
- remoteSessionLaunchHandler?: DaemonRequestHandler;
8
- callbackTimeoutMs?: number;
9
- }): DaemonRequestHandler;
3
+ export declare function createDaemonAuthRequestHandler(auth: InternalAuthOptions, callbackTimeoutMs?: number): DaemonRequestHandler;
@@ -1,5 +1,5 @@
1
1
  import type { Readable, Writable } from "node:stream";
2
- import { type DaemonControlRequestFrame, type DaemonEventFrame, type DaemonWireSessionMessage, type JsonObject, type JsonValue, type EnableRemoteControlParams, type EnableRemoteControlResult, type OpenSessionParams, type RenameSessionResult, type SubscribeSessionResult, type UpdateSessionMetadataResult } from "./protocol.js";
2
+ import { type DaemonControlRequestFrame, type DaemonWireSessionMessage, type JsonObject, type JsonValue, type OpenSessionParams, type RenameSessionResult } from "./protocol.js";
3
3
  import { DaemonSessionTransport, type DaemonSessionTransportOptions } from "./daemon-session-transport.js";
4
4
  export declare const SESSION_STORE_FILE_CHECKPOINTING_CAPABILITY = "session_store_file_checkpointing_v1";
5
5
  export declare const SESSION_STORE_FORK_BARRIER_CAPABILITY = "session_store_fork_barrier_v1";
@@ -10,10 +10,6 @@ export interface DaemonConnectionOptions {
10
10
  maxFrameBytes?: number;
11
11
  }
12
12
  export type DaemonRequestHandler = (request: DaemonControlRequestFrame) => Promise<JsonValue>;
13
- export type RemoteControlFailure = {
14
- environmentId: string;
15
- error: DaemonRpcError;
16
- };
17
13
  export declare class DaemonRpcError extends Error {
18
14
  readonly code: string;
19
15
  readonly retryable: boolean;
@@ -57,29 +53,18 @@ export declare class DaemonConnection {
57
53
  private readonly capabilities;
58
54
  private stopping;
59
55
  private failure;
60
- private remoteControlFailureListener;
61
- private readonly daemonEventListeners;
62
56
  private readonly failureListeners;
63
57
  constructor(options: DaemonConnectionOptions);
64
58
  initialize(sdkVersion: string, optionalCapabilitiesOrTimeout?: readonly string[] | number, timeoutMs?: number): Promise<void>;
65
59
  createSessionTransport(options: DaemonSessionTransportOptions): DaemonSessionTransport;
66
60
  supportsCapability(capability: string): boolean;
67
- createAttachedSessionTransport(remoteSessionId: string): DaemonSessionTransport;
68
- onRemoteControlFailure(listener: (failure: RemoteControlFailure) => void): void;
69
- onDaemonEvent(listener: (event: DaemonEventFrame) => void): () => void;
70
61
  onFailure(listener: (error: Error) => void): () => void;
71
62
  openSession(params: OpenSessionParams, transport: DaemonSessionTransport): Promise<string>;
72
- subscribeSession(remoteSessionId: string, transport: DaemonSessionTransport): Promise<SubscribeSessionResult>;
73
- enableRemoteControl(params: EnableRemoteControlParams): Promise<EnableRemoteControlResult>;
74
63
  listSessions(): Promise<import("./protocol.js").DaemonSessionInfo[]>;
75
64
  renameSession(sessionId: string, title: string): Promise<RenameSessionResult>;
76
- disableRemoteControl(): Promise<void>;
77
- syncSessionRegistrations(localSessionIds: string[]): Promise<void>;
78
- updateSessionMetadata(sessionId: string, extra: JsonObject): Promise<UpdateSessionMetadataResult>;
79
65
  sendSessionMessage(message: DaemonWireSessionMessage): Promise<void>;
80
66
  closeSession(sessionId: string): Promise<void>;
81
67
  deleteSession(localSessionId: string): Promise<void>;
82
- unsubscribeSession(sessionId: string): Promise<void>;
83
68
  shutdown(timeoutMs?: number): Promise<void>;
84
69
  fail(error: unknown, notifyListeners?: boolean): void;
85
70
  private request;
@@ -97,7 +82,6 @@ export declare class DaemonConnection {
97
82
  private rejectLegacyInitialize;
98
83
  private acceptRequest;
99
84
  private writeInboundError;
100
- private acceptEvent;
101
- private acceptRemoteControlEvent;
85
+ private acceptSessionUpdatedStatusEvent;
102
86
  private writeFrame;
103
87
  }
@@ -1,22 +1,12 @@
1
1
  import type { Transport } from '../core/transport.js';
2
2
  import type { StdoutMessage } from '../types/control.js';
3
- import type { DaemonWireSessionMessage, JsonObject } from './protocol.js';
3
+ import type { DaemonWireSessionMessage } from './protocol.js';
4
4
  import type { DaemonConnection } from './daemon-connection.js';
5
- import type { SessionExtra } from './session-metadata.js';
6
5
  export type DaemonSessionTransportOptions = {
7
6
  workerArgs: string[];
8
7
  cwd?: string;
9
8
  configDir?: string;
10
- extra?: SessionExtra;
11
9
  cleanup?: () => void;
12
- remoteSessionId?: never;
13
- } | {
14
- remoteSessionId: string;
15
- workerArgs?: never;
16
- cwd?: never;
17
- configDir?: never;
18
- extra?: never;
19
- cleanup?: never;
20
10
  };
21
11
  export declare class DaemonSessionTransport implements Transport {
22
12
  private readonly connection;
@@ -34,11 +24,8 @@ export declare class DaemonSessionTransport implements Transport {
34
24
  private cleaned;
35
25
  private releasePromise;
36
26
  private closePromise;
37
- private subscribeResult;
38
- private readonly remoteSessionId;
39
27
  constructor(connection: DaemonConnection, options: DaemonSessionTransportOptions);
40
28
  initialize(): Promise<void>;
41
- initializationResult(): Promise<JsonObject>;
42
29
  write(data: string): void;
43
30
  readMessages(): AsyncGenerator<StdoutMessage, void, unknown>;
44
31
  endInput(): void;
@@ -0,0 +1,24 @@
1
+ import type { InternalAuthOptions } from '../types/auth.js';
2
+ import { type Daemon } from './start-daemon.js';
3
+ export interface InitDaemonOptions {
4
+ auth: InternalAuthOptions;
5
+ /** Idle Worker timeout in milliseconds. Set to 0 to disable reclamation. */
6
+ workerIdleTimeoutMs?: number;
7
+ cwd?: string;
8
+ pathToQoderCLIExecutable?: string;
9
+ proxy?: string;
10
+ env?: Record<string, string | undefined>;
11
+ }
12
+ export type DaemonFallbackReason = 'protocol_version_mismatch' | 'daemon_unavailable';
13
+ export type DaemonInitResult = {
14
+ mode: 'daemon';
15
+ daemon: Daemon;
16
+ } | {
17
+ mode: 'direct';
18
+ reason: DaemonFallbackReason;
19
+ };
20
+ export declare class DaemonConfigurationConflictError extends Error {
21
+ constructor();
22
+ }
23
+ export declare function initDaemon(options: InitDaemonOptions): Promise<DaemonInitResult>;
24
+ export declare function shutdownDaemon(): Promise<void>;
@@ -41,11 +41,15 @@ export interface DaemonErrorResponseFrame {
41
41
  };
42
42
  }
43
43
  export type DaemonControlResponseFrame = DaemonSuccessResponseFrame | DaemonErrorResponseFrame;
44
- export interface DaemonEventFrame {
45
- type: "event";
46
- event: string;
47
- session_id?: string;
48
- data: JsonObject;
44
+ /** Daemon-private Session failure notification consumed by the SDK transport. */
45
+ export interface DaemonSessionUpdatedStatusEventFrame {
46
+ type: "status_event";
47
+ status: "daemon.session_updated";
48
+ data: {
49
+ local_session_id: string;
50
+ state: "failed";
51
+ error: JsonObject;
52
+ };
49
53
  }
50
54
  export interface KeepAliveFrame {
51
55
  type: "keep_alive";
@@ -55,7 +59,7 @@ export type DaemonWireSessionMessage = JsonObject & {
55
59
  type: string;
56
60
  session_id?: string;
57
61
  };
58
- export type DaemonProtocolFrame = DaemonControlRequestFrame | DaemonControlResponseFrame | DaemonEventFrame | KeepAliveFrame | DaemonWireSessionMessage;
62
+ export type DaemonProtocolFrame = DaemonControlRequestFrame | DaemonControlResponseFrame | DaemonSessionUpdatedStatusEventFrame | KeepAliveFrame | DaemonWireSessionMessage;
59
63
  export type InitializeDaemonParams = {
60
64
  daemon_protocol_version: typeof DAEMON_PROTOCOL_VERSION;
61
65
  sdk_version: string;
@@ -70,27 +74,15 @@ export type OpenSessionParams = {
70
74
  worker_args: string[];
71
75
  cwd?: string;
72
76
  config_dir?: string;
73
- extra?: JsonObject;
74
77
  };
75
78
  export type OpenSessionResult = {
76
79
  session_id: string;
77
80
  };
78
- export type SubscribeSessionParams = {
79
- remote_session_id: string;
80
- };
81
- export type SubscribeSessionResult = {
82
- session_id: string;
83
- initialization_result: JsonObject;
84
- };
85
- export type UnsubscribeSessionParams = Record<string, never>;
86
81
  export type SessionRuntimeState = "pending" | "ready" | "inactive" | "failed";
87
82
  export type DaemonSessionInfo = {
88
83
  local_session_id: string;
89
- remote_session_id?: string;
90
- environment_id?: string;
91
84
  title: string;
92
85
  cwd?: string;
93
- extra?: JsonObject;
94
86
  state: SessionRuntimeState;
95
87
  created_at: string;
96
88
  updated_at: string;
@@ -105,58 +97,27 @@ export type RenameSessionParams = {
105
97
  export type RenameSessionResult = {
106
98
  session: DaemonSessionInfo;
107
99
  };
108
- export type EnableRemoteControlParams = {
109
- external_id: string;
110
- environment_type: string;
111
- name?: string;
112
- metadata?: JsonObject;
113
- };
114
- export type EnableRemoteControlResult = {
115
- environment_id: string;
116
- };
117
- export type DisableRemoteControlParams = Record<string, never>;
118
- export type SyncSessionRegistrationsParams = {
119
- local_session_ids: string[];
120
- };
121
- export type UpdateSessionMetadataParams = {
122
- extra: JsonObject;
123
- };
124
- export type UpdateSessionMetadataResult = {
125
- session: DaemonSessionInfo;
126
- };
127
100
  export type CloseSessionParams = Record<string, never>;
128
101
  export type DeleteSessionParams = {
129
102
  local_session_id: string;
130
103
  };
131
104
  export type ShutdownParams = Record<string, never>;
132
- export type DaemonCommandMethod = "initialize" | "open_session" | "list_sessions" | "rename_session" | "subscribe_session" | "unsubscribe_session" | "enable_remote_control" | "sync_session_registrations" | "update_session_metadata" | "disable_remote_control" | "close_session" | "delete_session" | "shutdown";
105
+ export type DaemonCommandMethod = "initialize" | "open_session" | "list_sessions" | "rename_session" | "close_session" | "delete_session" | "shutdown";
133
106
  export interface DaemonCommandParamsMap {
134
107
  initialize: InitializeDaemonParams;
135
108
  open_session: OpenSessionParams;
136
109
  list_sessions: ListSessionsParams;
137
110
  rename_session: RenameSessionParams;
138
- subscribe_session: SubscribeSessionParams;
139
- unsubscribe_session: UnsubscribeSessionParams;
140
- enable_remote_control: EnableRemoteControlParams;
141
- sync_session_registrations: SyncSessionRegistrationsParams;
142
- update_session_metadata: UpdateSessionMetadataParams;
143
- disable_remote_control: DisableRemoteControlParams;
144
111
  close_session: CloseSessionParams;
145
112
  delete_session: DeleteSessionParams;
146
113
  shutdown: ShutdownParams;
147
114
  }
148
- export type DaemonCommandRequest = DaemonControlRequestFrame<"initialize", InitializeDaemonParams> | DaemonControlRequestFrame<"open_session", OpenSessionParams> | DaemonControlRequestFrame<"list_sessions", ListSessionsParams> | DaemonControlRequestFrame<"rename_session", RenameSessionParams> | DaemonControlRequestFrame<"subscribe_session", SubscribeSessionParams> | DaemonControlRequestFrame<"unsubscribe_session", UnsubscribeSessionParams> | DaemonControlRequestFrame<"enable_remote_control", EnableRemoteControlParams> | DaemonControlRequestFrame<"sync_session_registrations", SyncSessionRegistrationsParams> | DaemonControlRequestFrame<"update_session_metadata", UpdateSessionMetadataParams> | DaemonControlRequestFrame<"disable_remote_control", DisableRemoteControlParams> | DaemonControlRequestFrame<"close_session", CloseSessionParams> | DaemonControlRequestFrame<"delete_session", DeleteSessionParams> | DaemonControlRequestFrame<"shutdown", ShutdownParams>;
115
+ export type DaemonCommandRequest = DaemonControlRequestFrame<"initialize", InitializeDaemonParams> | DaemonControlRequestFrame<"open_session", OpenSessionParams> | DaemonControlRequestFrame<"list_sessions", ListSessionsParams> | DaemonControlRequestFrame<"rename_session", RenameSessionParams> | DaemonControlRequestFrame<"close_session", CloseSessionParams> | DaemonControlRequestFrame<"delete_session", DeleteSessionParams> | DaemonControlRequestFrame<"shutdown", ShutdownParams>;
149
116
  export interface DaemonCommandResultMap {
150
117
  initialize: InitializeDaemonResult;
151
118
  open_session: OpenSessionResult;
152
119
  list_sessions: ListSessionsResult;
153
120
  rename_session: RenameSessionResult;
154
- subscribe_session: SubscribeSessionResult;
155
- unsubscribe_session: null;
156
- enable_remote_control: EnableRemoteControlResult;
157
- sync_session_registrations: null;
158
- update_session_metadata: UpdateSessionMetadataResult;
159
- disable_remote_control: null;
160
121
  close_session: null;
161
122
  delete_session: null;
162
123
  shutdown: null;
@@ -1,96 +1,35 @@
1
1
  import type { InternalAuthOptions } from '../types/auth.js';
2
- import type { Query, OnElicitation } from '../types/options.js';
3
- import type { CanUseTool } from '../types/permissions.js';
4
2
  import type { ProcessTransportOptions } from '../core/process-transport.js';
5
3
  import type { QueryTransportProvider } from '../core/transport.js';
6
- import { type DaemonSessionStore } from './session-store-rpc.js';
7
- import { type ResolveRemoteSessionLaunch, type SessionExtra, type SessionMetadataUpdate } from './session-metadata.js';
8
4
  export type DaemonState = 'ready' | 'stopping' | 'stopped' | 'failed';
9
- export type RemoteControlState = 'ready' | 'stopping' | 'stopped' | 'failed';
10
- export interface EnableRemoteControlOptions {
11
- externalId: string;
12
- /**
13
- * Remote Manager-registered push-family Environment type for this Host.
14
- * The value is an Environment identity component and must remain stable.
15
- */
16
- environmentType: string;
17
- name?: string;
18
- metadata?: Record<string, unknown>;
19
- }
20
- export interface RemoteControl {
21
- readonly environmentId: string;
22
- readonly state: RemoteControlState;
23
- disable(): Promise<void>;
24
- }
25
- export interface AttachSessionOptions {
26
- canUseTool?: CanUseTool;
27
- onElicitation?: OnElicitation;
28
- }
29
5
  export type SessionRuntimeState = 'pending' | 'ready' | 'inactive' | 'failed';
30
6
  export interface DaemonSessionInfo {
31
7
  localSessionId: string;
32
- remoteSessionId?: string;
33
- environmentId?: string;
34
8
  title: string;
35
9
  cwd?: string;
36
- extra?: SessionExtra;
37
10
  state: SessionRuntimeState;
38
11
  createdAt: string;
39
12
  updatedAt: string;
40
13
  }
41
14
  export interface StartDaemonOptions {
42
15
  auth: InternalAuthOptions;
43
- capacity: number;
44
16
  /** Idle Worker timeout in milliseconds. Set to 0 to disable reclamation. */
45
17
  workerIdleTimeoutMs?: number;
46
18
  cwd?: string;
47
19
  pathToQoderCLIExecutable?: string;
48
20
  proxy?: string;
49
21
  env?: Record<string, string | undefined>;
50
- sessionStore?: DaemonSessionStore;
51
- /** Resolves a remotely-created Session to trusted local launch paths. */
52
- resolveRemoteSessionLaunch?: ResolveRemoteSessionLaunch;
53
22
  }
54
- export type DaemonEvent = {
55
- type: 'daemonStateChanged';
56
- previousState: DaemonState;
57
- state: DaemonState;
58
- error?: Error;
59
- } | {
60
- type: 'remoteControlStateChanged';
61
- environmentId?: string;
62
- previousState: RemoteControlState;
63
- state: RemoteControlState;
64
- error?: Error;
65
- } | {
66
- type: 'sessionDiscovered';
67
- session: DaemonSessionInfo;
68
- } | {
69
- type: 'sessionUpdated';
70
- session: DaemonSessionInfo;
71
- previousState?: SessionRuntimeState;
72
- } | {
73
- type: 'sessionDeleted';
74
- localSessionId: string;
75
- };
76
- export type DaemonEventCallback = (event: DaemonEvent) => void;
77
23
  export interface Daemon {
78
24
  readonly state: DaemonState;
79
25
  listSessions(): Promise<DaemonSessionInfo[]>;
80
- onEvent(callback: DaemonEventCallback): () => void;
81
26
  renameSession(localSessionId: string, title: string): Promise<DaemonSessionInfo>;
82
- updateSessionMetadata(localSessionId: string, update: SessionMetadataUpdate): Promise<DaemonSessionInfo>;
83
27
  deleteSession(localSessionId: string): Promise<void>;
84
- enableRemoteControl(options: EnableRemoteControlOptions): Promise<RemoteControl>;
85
- attachSession(remoteSessionId: string, options?: AttachSessionOptions): Promise<Query>;
86
28
  stop(): Promise<void>;
87
29
  }
88
30
  interface InternalDaemonRuntime {
89
31
  readonly auth: InternalAuthOptions;
90
32
  readonly transportProvider: QueryTransportProvider<ProcessTransportOptions>;
91
- readonly sessionStore?: DaemonSessionStore;
92
- readonly supportsSessionStoreFileCheckpointing: boolean;
93
- readonly supportsSessionStoreForkBarrier: boolean;
94
33
  }
95
34
  export declare function getDaemonRuntime(daemon: Daemon): InternalDaemonRuntime | undefined;
96
35
  export declare function startDaemon(options: StartDaemonOptions): Promise<Daemon>;
package/dist/index.d.ts CHANGED
@@ -55,11 +55,10 @@ export { query } from './query/query.js';
55
55
  export { startup } from './query/startup.js';
56
56
  export type { StartupParams, WarmQuery } from './query/startup.js';
57
57
  export { resolveSettings } from './settings/resolve-settings.js';
58
+ export { initDaemon, shutdownDaemon } from './daemon/global-daemon.js';
59
+ export type { DaemonFallbackReason, DaemonInitResult, InitDaemonOptions, } from './daemon/global-daemon.js';
58
60
  export { startDaemon } from './daemon/start-daemon.js';
59
- export type { Daemon, DaemonEvent, DaemonEventCallback, DaemonState, AttachSessionOptions, DaemonSessionInfo, SessionRuntimeState, EnableRemoteControlOptions, RemoteControl, RemoteControlState, StartDaemonOptions, } from './daemon/start-daemon.js';
60
- export type { RemoteSessionLaunch, RemoteSessionLaunchRequest, ResolveRemoteSessionLaunch, SessionExtra, SessionExtraValue, SessionMetadataUpdate, } from './daemon/session-metadata.js';
61
- export type { DaemonSessionStore, DaemonSessionSummary, } from './daemon/session-store-rpc.js';
62
- export { DEFAULT_SESSION_STORE_MAX_PAYLOAD_BYTES, measureSessionStoreEntryPayloadBytes, } from './daemon/session-store-rpc.js';
61
+ export type { Daemon, DaemonState, DaemonSessionInfo, SessionRuntimeState, StartDaemonOptions, } from './daemon/start-daemon.js';
63
62
  export { DEFAULT_RUNTIME_TRANSPORT, } from './core/default-runtime.js';
64
63
  export { ProcessTransport, QoderCliProcessError, } from './core/process-transport.js';
65
64
  export { hasResolvableQoderWorkerRuntime, QoderWorkerRuntimeError, WorkerTransport, resolveQoderWorkerRuntimePath, } from './core/worker-transport.js';
@@ -98,13 +97,14 @@ export type { QueryTransportCreateOptions, QueryTransportProviderOption, } from
98
97
  export type { ProcessTransportOptions } from './core/process-transport.js';
99
98
  export type { WorkerRuntimeTransportOptions, WorkerTransportOptions, } from './core/worker-transport.js';
100
99
  export type { QueryTransportProvider, Transport, } from './core/transport.js';
101
- export type { Options, QueryTransportOptions, Query, SpawnOptions, SpawnedProcess, ElicitationRequest, ElicitationResult, OnElicitation, PromptRequest, PromptRequestOption, PromptResponse, CanUseTool, SecurityScanOptions, } from './types/options.js';
100
+ export type { Options, QueryTransportOptions, Query, RemoteProjectionEnableOptions, RemoteProjectionCheckpoint, SpawnOptions, SpawnedProcess, ElicitationRequest, ElicitationResult, OnElicitation, PromptRequest, PromptRequestOption, PromptResponse, CanUseTool, SecurityScanOptions, } from './types/options.js';
101
+ export type { ArtifactGroup, SessionArtifactBase, SessionArtifact, ResolveSessionArtifactsResult, ResolveSessionArtifacts, } from './types/artifacts.js';
102
102
  export type { EffectiveMemoryConfig, MemoryConsumptionFile, MemoryConsumptionOptions, MemoryConsumptionResult, MemoryGenerationGateInput, MemoryGenerationGateResult, MemoryGenerationOptions, MemoryGenerationFailedFile, MemoryGenerationResult, MemoryMode, MemoryOptions, MemoryRoot, MemoryRootAccess, MemoryShouldGenerate, } from './types/memory.js';
103
103
  export type { EffectiveEvolutionConfig, EffectiveSkillEvolutionConfig, EvolutionOptions, SkillEvolutionGateInput, SkillEvolutionGateResult, SkillEvolutionGenerationOptions, SkillEvolutionMode, SkillEvolutionOptions, SkillEvolutionResult, SkillEvolutionShouldReview, SkillEvolutionSuggestion, } from './types/skill-evolution.js';
104
104
  export { MAX_SKILL_EVOLUTION_REVIEW_THRESHOLD } from './types/skill-evolution.js';
105
105
  export type { AgentCreateParams, BetaManagedAgentsAgentToolName, BetaManagedAgentsAgentToolset20260401Params, BetaManagedAgentsCustomSkillParams, BetaManagedAgentsFileResourceParams, BetaManagedAgentsModel, BetaManagedAgentsSkillParams, BetaManagedAgentsURLMCPServerParams, CloudAgentOptions, CloudAgentReference, CloudAgentStreamOptions, CloudSessionResource, CloudSessionCreateParams, CloudSessionCreateReference, CloudSessionExistingReference, CloudSessionReference, SessionCreateParams, } from './types/cloud-agent.js';
106
106
  export type { SettingSource as SettingSourceFromOptions } from './types/options.js';
107
- export type { PermissionMode, PermissionBehavior, PermissionDecisionClassification, PermissionUpdateDestination, PermissionRuleValue, PermissionUpdate, PermissionResult, CanUseToolOptions, } from './types/permissions.js';
107
+ export type { PermissionMode, PermissionBehavior, PermissionScope, CanUseToolPermissionKind, CanUseToolPermissionOption, CanUseToolPermissionDetails, PermissionDecisionClassification, PermissionUpdateDestination, PermissionRuleValue, PermissionUpdate, PermissionResult, CanUseToolOptions, } from './types/permissions.js';
108
108
  export type { HookEvent, HookPermissionDecision, HookCallback, HookCallbackMatcher, HookInput, HookSpecificOutput, HookJSONOutput, AsyncHookJSONOutput, SyncHookJSONOutput, BaseHookInput, PreToolUseHookInput, PostToolUseHookInput, PostToolUseFailureHookInput, UserPromptSubmitHookInput, SessionStartHookInput, SessionEndHookInput, StopHookInput, SubagentStartHookInput, SubagentStopHookInput, PreCompactHookInput, PostCompactHookInput, PermissionRequestHookInput, PermissionDeniedHookInput, InstructionsLoadedHookInput, WorktreeCreateHookInput, WorktreeRemoveHookInput, CwdChangedHookInput, FileChangedHookInput, PreToolUseHookSpecificOutput, PostToolUseHookSpecificOutput, PostToolUseFailureHookSpecificOutput, UserPromptSubmitHookSpecificOutput, SessionStartHookSpecificOutput, SubagentStartHookSpecificOutput, PermissionRequestHookSpecificOutput, WorktreeCreateHookSpecificOutput, CwdChangedHookSpecificOutput, FileChangedHookSpecificOutput, } from './types/hooks.js';
109
109
  export type { McpStdioServerConfig, McpSSEServerConfig, McpHttpServerConfig, McpSdkServerConfig, McpSdkServerConfigWithInstance, McpServerConfig, McpServerToolPolicy, McpServerConfigForProcessTransport, McpServerStatus, McpServerStatusConfig, } from './types/mcp.js';
110
110
  export type { AgentDefinition, AgentInfo, AgentMemoryScope, AgentMcpServerSpec, } from './types/agents.js';
@@ -114,7 +114,7 @@ export { filterEscalatingDefaultMode } from './types/settings.js';
114
114
  export type { QoderModelPurpose } from './types/control.js';
115
115
  export type { SDKControlRequest, SDKControlResponse, SDKControlInterruptResponse, SDKControlInitializeResponse, SDKControlGetContextUsageResponse, SDKControlGetUsageInfoRequest, SDKControlGetUsageInfoResponse, SideQuestionHistoryEntry, AskSideQuestionOptions, SideQuestionRefusalFallback, SideQuestionResult, SDKControlAddDirectoriesResponse, SDKControlReloadPluginsResponse, SDKControlReloadSkillsRequest, SDKControlReloadSkillsResponse, SDKControlStopTaskRequest, SDKControlBackgroundTasksRequest, SDKControlBackgroundTasksResponse, SDKPlanModeSnapshot, } from './types/control.js';
116
116
  export type { SDKControlGetModelPolicyRequest, SDKControlGetModelPolicyResponse, SDKCapabilities, ModelPolicyContext, ModelPolicyResult, ModelPolicyProvider, } from './types/model-policy-provider.js';
117
- export type { SDKControlGetByokConfigRequest, SDKControlGetByokConfigResponse, SDKControlValidateByokModelRequest, SDKControlValidateByokModelResponse, SDKControlListByokConfigsRequest, SDKControlListByokConfigsResponse, SDKControlCreateByokConfigRequest, SDKControlCreateByokConfigResponse, SDKControlUpdateByokConfigRequest, SDKControlDeleteByokConfigRequest, SDKControlCheckByokConfigRequest, SDKControlCheckByokConfigResponse, BYOKModelValidationInput, BYOKProviderInfo, BYOKModelTypeInfo, BYOKModelInfo, ByokProtocol, ByokModelConfigInfo, CustomByokProviderConfigInfo, ByokConfigInfo, ByokModelConfigInput, CustomByokProviderThinkingMode, CustomByokProviderReasoningEffortLevel, CustomByokProviderThinkingCapabilitiesInput, CustomByokProviderModelCapabilitiesInput, CustomByokProviderModelInput, CustomByokProviderConfigInput, CreateByokConfigInput, UpdateByokModelConfigInput, UpdateCustomByokProviderConfigInput, UpdateByokConfigInput, DeleteByokConfigInput, CheckByokConfigInput, ByokConfigReference, ByokConfigCheckResult, CustomModel, } from './types/byok.js';
117
+ export type { SDKControlGetByokConfigRequest, SDKControlGetByokConfigResponse, SDKControlValidateByokModelRequest, SDKControlValidateByokModelResponse, SDKControlListByokConfigsRequest, SDKControlListByokConfigsResponse, SDKControlCreateByokConfigRequest, SDKControlCreateByokConfigResponse, SDKControlUpdateByokConfigRequest, SDKControlDeleteByokConfigRequest, SDKControlCheckByokConfigRequest, SDKControlCheckByokConfigResponse, BYOKModelValidationInput, BYOKLocalizedName, BYOKProviderInfo, BYOKModelTypeInfo, BYOKModelInfo, ByokProtocol, ByokModelConfigInfo, CustomByokProviderConfigInfo, ByokConfigInfo, ByokModelConfigInput, CustomByokProviderThinkingMode, CustomByokProviderReasoningEffortLevel, CustomByokProviderThinkingCapabilitiesInput, CustomByokProviderModelCapabilitiesInput, CustomByokProviderModelInput, CustomByokProviderConfigInput, CreateByokConfigInput, UpdateByokModelConfigInput, UpdateCustomByokProviderConfigInput, UpdateByokConfigInput, DeleteByokConfigInput, CheckByokConfigInput, ByokConfigReference, ByokConfigCheckResult, CustomModel, } from './types/byok.js';
118
118
  export { isBashToolBackgroundLaunchResult } from './types/tools.js';
119
119
  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';
120
120
  export type { FeedbackResult } from './types/account.js';