@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 +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 +5 -5
- 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 +2 -2
- 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
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
|
-
|
|
461
|
-
|
|
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
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
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: {
|
|
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
|
-
|
|
477
|
-
|
|
478
|
-
|
|
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
|
|
|
@@ -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
|
|
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
|
|
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
|
|
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
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
data:
|
|
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 |
|
|
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" | "
|
|
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<"
|
|
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,
|
|
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';
|