@rkat/sdk 0.3.4 → 0.4.0

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/dist/client.d.ts CHANGED
@@ -1,103 +1,120 @@
1
1
  /**
2
- * Meerkat client — spawns rkat-rpc subprocess and communicates via JSON-RPC.
2
+ * Meerkat client — spawns rkat-rpc and communicates via JSON-RPC.
3
+ *
4
+ * @example
5
+ * ```ts
6
+ * import { MeerkatClient } from "@rkat/sdk";
7
+ *
8
+ * const client = new MeerkatClient();
9
+ * await client.connect();
10
+ *
11
+ * const session = await client.createSession("Hello!");
12
+ * console.log(session.text);
13
+ *
14
+ * const result = await session.turn("Tell me more");
15
+ * console.log(result.text);
16
+ *
17
+ * for await (const event of session.stream("Explain in detail")) {
18
+ * if (event.type === "text_delta") {
19
+ * process.stdout.write(event.delta);
20
+ * }
21
+ * }
22
+ *
23
+ * await session.archive();
24
+ * await client.close();
25
+ * ```
3
26
  */
4
- import type { WireRunResult, CapabilitiesResponse } from "./generated/types.js";
5
- /** Supplementary discovery metadata for a comms peer. */
6
- export interface PeerMeta {
7
- description?: string;
8
- labels?: Record<string, string>;
27
+ import { Session } from "./session.js";
28
+ import { EventStream } from "./streaming.js";
29
+ import type { Capability, RunResult, SessionInfo, SessionOptions, SkillRef } from "./types.js";
30
+ /** Options for connecting to the rkat-rpc runtime. */
31
+ export interface ConnectOptions {
32
+ realmId?: string;
33
+ instanceId?: string;
34
+ realmBackend?: "jsonl" | "redb";
35
+ isolated?: boolean;
36
+ stateRoot?: string;
37
+ contextRoot?: string;
38
+ userConfigRoot?: string;
9
39
  }
10
40
  export declare class MeerkatClient {
11
41
  private process;
12
42
  private requestId;
13
- private capabilities;
43
+ private _capabilities;
14
44
  private rkatPath;
15
45
  private pendingRequests;
46
+ private eventQueues;
47
+ private rl;
16
48
  constructor(rkatPath?: string);
17
- private static commandPath;
18
- private static resolveCandidatePath;
19
- private static platformTarget;
20
- private static runCommand;
21
- private static extractZip;
22
- private static ensureDownloadedBinary;
23
- private static resolveBinaryPath;
24
- connect(options?: {
25
- realmId?: string;
26
- instanceId?: string;
27
- realmBackend?: "jsonl" | "redb";
28
- isolated?: boolean;
29
- stateRoot?: string;
30
- contextRoot?: string;
31
- userConfigRoot?: string;
32
- }): Promise<this>;
49
+ connect(options?: ConnectOptions): Promise<this>;
33
50
  close(): Promise<void>;
34
- createSession(params: {
35
- prompt: string;
36
- model?: string;
37
- provider?: string;
38
- system_prompt?: string;
39
- max_tokens?: number;
40
- output_schema?: Record<string, unknown>;
41
- structured_output_retries?: number;
42
- hooks_override?: Record<string, unknown>;
43
- enable_builtins?: boolean;
44
- enable_shell?: boolean;
45
- enable_subagents?: boolean;
46
- enable_memory?: boolean;
47
- host_mode?: boolean;
48
- comms_name?: string;
49
- peer_meta?: PeerMeta;
50
- provider_params?: Record<string, unknown>;
51
- preload_skills?: string[];
52
- skill_references?: string[];
53
- }): Promise<WireRunResult>;
54
- startTurn(sessionId: string, prompt: string, options?: {
55
- skill_references?: string[];
56
- }): Promise<WireRunResult>;
57
- interrupt(sessionId: string): Promise<void>;
58
- listSessions(): Promise<unknown[]>;
59
- readSession(sessionId: string): Promise<Record<string, unknown>>;
60
- archiveSession(sessionId: string): Promise<void>;
61
- getCapabilities(): Promise<CapabilitiesResponse>;
62
- hasCapability(capabilityId: string): boolean;
63
- requireCapability(capabilityId: string): void;
64
- getConfig(): Promise<Record<string, unknown>>;
65
- setConfig(config: Record<string, unknown>): Promise<void>;
66
- patchConfig(patch: Record<string, unknown>): Promise<Record<string, unknown>>;
67
51
  /**
68
- * Send a canonical comms command to a session.
52
+ * Create a new session, run the first turn, and return a {@link Session}.
69
53
  *
70
- * @param sessionId - Target session ID
71
- * @param command - Command fields (kind, to, body, intent, params, etc.)
72
- * @returns Receipt info on success
54
+ * @example
55
+ * ```ts
56
+ * const session = await client.createSession("Summarise this project", {
57
+ * model: "claude-sonnet-4-5",
58
+ * });
59
+ * console.log(session.text);
60
+ * ```
73
61
  */
74
- send(sessionId: string, command: Record<string, unknown>): Promise<Record<string, unknown>>;
62
+ createSession(prompt: string, options?: SessionOptions): Promise<Session>;
75
63
  /**
76
- * Send a command and open a stream in one call.
64
+ * Create a new session and stream typed events from the first turn.
77
65
  *
78
- * @param sessionId - Target session ID
79
- * @param command - Command fields (kind, to, body, etc.)
80
- * @returns Receipt and stream info
66
+ * Returns an {@link EventStream} `AsyncIterable<AgentEvent>`.
81
67
  */
82
- sendAndStream(sessionId: string, command: Record<string, unknown>): Promise<Record<string, unknown>>;
83
- /**
84
- * List peers visible to a session's comms runtime.
85
- *
86
- * @param sessionId - Target session ID
87
- * @returns Object with `{ peers: [...] }`
88
- */
89
- peers(sessionId: string): Promise<{
90
- peers: Array<Record<string, unknown>>;
91
- }>;
92
- /**
93
- * Normalize a CapabilityStatus from the wire.
94
- * Available is the string "Available", but other variants are
95
- * externally-tagged objects like {"DisabledByPolicy": {"description": "..."}}.
96
- * We normalize to the variant name string.
97
- */
98
- private static normalizeStatus;
68
+ createSessionStreaming(prompt: string, options?: SessionOptions): EventStream;
69
+ listSessions(): Promise<SessionInfo[]>;
70
+ readSession(sessionId: string): Promise<Record<string, unknown>>;
71
+ get capabilities(): readonly Capability[];
72
+ hasCapability(capabilityId: string): boolean;
73
+ requireCapability(capabilityId: string): void;
74
+ getConfig(): Promise<Record<string, unknown>>;
75
+ setConfig(config: Record<string, unknown>, options?: {
76
+ expectedGeneration?: number;
77
+ }): Promise<void>;
78
+ patchConfig(patch: Record<string, unknown>, options?: {
79
+ expectedGeneration?: number;
80
+ }): Promise<Record<string, unknown>>;
81
+ listSkills(): Promise<Array<Record<string, unknown>>>;
82
+ inspectSkill(id: string, options?: {
83
+ source?: string;
84
+ }): Promise<Record<string, unknown>>;
85
+ /** @internal */
86
+ _startTurn(sessionId: string, prompt: string, options?: {
87
+ skillRefs?: SkillRef[];
88
+ skillReferences?: string[];
89
+ }): Promise<RunResult>;
90
+ /** @internal */
91
+ _startTurnStreaming(sessionId: string, prompt: string, options?: {
92
+ skillRefs?: SkillRef[];
93
+ skillReferences?: string[];
94
+ }, session?: Session): EventStream;
95
+ /** @internal */
96
+ _interrupt(sessionId: string): Promise<void>;
97
+ /** @internal */
98
+ _archive(sessionId: string): Promise<void>;
99
+ /** @internal */
100
+ _send(sessionId: string, command: Record<string, unknown>): Promise<Record<string, unknown>>;
101
+ /** @internal */
102
+ _peers(sessionId: string): Promise<Record<string, unknown>>;
103
+ private handleLine;
99
104
  private request;
100
- private checkVersionCompatible;
101
- private parseRunResult;
105
+ private registerRequest;
106
+ private static normalizeStatus;
107
+ private static parseSkillDiagnostics;
108
+ private static checkVersionCompatible;
109
+ static parseRunResult(data: Record<string, unknown>): RunResult;
110
+ private static buildCreateParams;
111
+ private static commandPath;
112
+ private static resolveCandidatePath;
113
+ private static platformTarget;
114
+ private static runCommand;
115
+ private static extractZip;
116
+ private static ensureDownloadedBinary;
117
+ private static resolveBinaryPath;
118
+ private static buildArgs;
102
119
  }
103
120
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}