@rkat/sdk 0.3.4 → 0.4.1

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,156 @@
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 { type McpAddParams, type McpLiveOpResponse, type McpReloadParams, type McpRemoveParams } from "./generated/types.js";
28
+ import { Session } from "./session.js";
29
+ import { CommsEventStream, EventStream } from "./streaming.js";
30
+ import type { Capability, RunResult, SessionInfo, SessionOptions, SkillRef, TurnToolOverlay } from "./types.js";
31
+ /** Options for connecting to the rkat-rpc runtime. */
32
+ export interface ConnectOptions {
33
+ realmId?: string;
34
+ instanceId?: string;
35
+ realmBackend?: "jsonl" | "redb";
36
+ isolated?: boolean;
37
+ stateRoot?: string;
38
+ contextRoot?: string;
39
+ userConfigRoot?: string;
9
40
  }
10
41
  export declare class MeerkatClient {
11
42
  private process;
12
43
  private requestId;
13
- private capabilities;
44
+ private _capabilities;
14
45
  private rkatPath;
15
46
  private pendingRequests;
47
+ private eventQueues;
48
+ private commsStreamQueues;
49
+ private pendingStreamQueue;
50
+ private pendingStreamRequestId;
51
+ private unmatchedStreamBuffer;
52
+ private rl;
16
53
  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>;
54
+ connect(options?: ConnectOptions): Promise<this>;
33
55
  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
- /**
68
- * Send a canonical comms command to a session.
69
- *
70
- * @param sessionId - Target session ID
71
- * @param command - Command fields (kind, to, body, intent, params, etc.)
72
- * @returns Receipt info on success
73
- */
74
- send(sessionId: string, command: Record<string, unknown>): Promise<Record<string, unknown>>;
75
56
  /**
76
- * Send a command and open a stream in one call.
57
+ * Create a new session, run the first turn, and return a {@link Session}.
77
58
  *
78
- * @param sessionId - Target session ID
79
- * @param command - Command fields (kind, to, body, etc.)
80
- * @returns Receipt and stream info
59
+ * @example
60
+ * ```ts
61
+ * const session = await client.createSession("Summarise this project", {
62
+ * model: "claude-sonnet-4-5",
63
+ * });
64
+ * console.log(session.text);
65
+ * ```
81
66
  */
82
- sendAndStream(sessionId: string, command: Record<string, unknown>): Promise<Record<string, unknown>>;
67
+ createSession(prompt: string, options?: SessionOptions): Promise<Session>;
83
68
  /**
84
- * List peers visible to a session's comms runtime.
69
+ * Create a new session and stream typed events from the first turn.
85
70
  *
86
- * @param sessionId - Target session ID
87
- * @returns Object with `{ peers: [...] }`
71
+ * Returns an {@link EventStream} `AsyncIterable<AgentEvent>`.
88
72
  */
89
- peers(sessionId: string): Promise<{
90
- peers: Array<Record<string, unknown>>;
73
+ createSessionStreaming(prompt: string, options?: SessionOptions): EventStream;
74
+ listSessions(): Promise<SessionInfo[]>;
75
+ readSession(sessionId: string): Promise<Record<string, unknown>>;
76
+ get capabilities(): readonly Capability[];
77
+ hasCapability(capabilityId: string): boolean;
78
+ requireCapability(capabilityId: string): void;
79
+ getConfig(): Promise<Record<string, unknown>>;
80
+ setConfig(config: Record<string, unknown>, options?: {
81
+ expectedGeneration?: number;
82
+ }): Promise<Record<string, unknown>>;
83
+ patchConfig(patch: Record<string, unknown>, options?: {
84
+ expectedGeneration?: number;
85
+ }): Promise<Record<string, unknown>>;
86
+ mcpAdd(params: McpAddParams): Promise<McpLiveOpResponse>;
87
+ mcpRemove(params: McpRemoveParams): Promise<McpLiveOpResponse>;
88
+ mcpReload(params: McpReloadParams): Promise<McpLiveOpResponse>;
89
+ mcp_add(params: McpAddParams): Promise<McpLiveOpResponse>;
90
+ mcp_remove(params: McpRemoveParams): Promise<McpLiveOpResponse>;
91
+ mcp_reload(params: McpReloadParams): Promise<McpLiveOpResponse>;
92
+ listSkills(): Promise<Array<Record<string, unknown>>>;
93
+ inspectSkill(id: string, options?: {
94
+ source?: string;
95
+ }): Promise<Record<string, unknown>>;
96
+ listMobPrefabs(): Promise<Array<Record<string, unknown>>>;
97
+ list_mob_prefabs(): Promise<Array<Record<string, unknown>>>;
98
+ listMobTools(): Promise<Array<Record<string, unknown>>>;
99
+ callMobTool(name: string, argumentsPayload?: Record<string, unknown>): Promise<Record<string, unknown>>;
100
+ /** @internal */
101
+ _startTurn(sessionId: string, prompt: string, options?: {
102
+ skillRefs?: SkillRef[];
103
+ skillReferences?: string[];
104
+ flowToolOverlay?: TurnToolOverlay;
105
+ }): Promise<RunResult>;
106
+ /** @internal */
107
+ _startTurnStreaming(sessionId: string, prompt: string, options?: {
108
+ skillRefs?: SkillRef[];
109
+ skillReferences?: string[];
110
+ flowToolOverlay?: TurnToolOverlay;
111
+ }, session?: Session): EventStream;
112
+ /** @internal */
113
+ _interrupt(sessionId: string): Promise<void>;
114
+ /** @internal */
115
+ _archive(sessionId: string): Promise<void>;
116
+ /** @internal */
117
+ _send(sessionId: string, command: Record<string, unknown>): Promise<Record<string, unknown>>;
118
+ /** @internal */
119
+ _peers(sessionId: string): Promise<Record<string, unknown>>;
120
+ send(sessionId: string, command: Record<string, unknown>): Promise<Record<string, unknown>>;
121
+ peers(sessionId: string): Promise<Record<string, unknown>>;
122
+ openCommsStream(sessionId: string, options?: {
123
+ scope?: "session" | "interaction";
124
+ interactionId?: string;
125
+ }): Promise<CommsEventStream>;
126
+ open_comms_stream(sessionId: string, options?: {
127
+ scope?: "session" | "interaction";
128
+ interactionId?: string;
129
+ }): Promise<CommsEventStream>;
130
+ sendAndStream(sessionId: string, command: Record<string, unknown>): Promise<{
131
+ receipt: Record<string, unknown>;
132
+ stream: CommsEventStream;
91
133
  }>;
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;
134
+ send_and_stream(sessionId: string, command: Record<string, unknown>): Promise<{
135
+ receipt: Record<string, unknown>;
136
+ stream: CommsEventStream;
137
+ }>;
138
+ private handleLine;
99
139
  private request;
100
- private checkVersionCompatible;
101
- private parseRunResult;
140
+ private registerRequest;
141
+ private static normalizeStatus;
142
+ private static parseSkillDiagnostics;
143
+ private static checkVersionCompatible;
144
+ static parseRunResult(data: Record<string, unknown>): RunResult;
145
+ private static parseMcpLiveOpResponse;
146
+ private static buildCreateParams;
147
+ private static commandPath;
148
+ private static resolveCandidatePath;
149
+ private static platformTarget;
150
+ private static runCommand;
151
+ private static extractZip;
152
+ private static ensureDownloadedBinary;
153
+ private static resolveBinaryPath;
154
+ private static buildArgs;
102
155
  }
103
156
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAcH,OAAO,KAAK,EACV,aAAa,EACb,oBAAoB,EAErB,MAAM,sBAAsB,CAAC;AAa9B,yDAAyD;AACzD,MAAM,WAAW,QAAQ;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAaD,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,YAAY,CAAqC;IACzD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,eAAe,CAGnB;gBAEQ,QAAQ,SAAa;IAIjC,OAAO,CAAC,MAAM,CAAC,WAAW;IA+B1B,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAQnC,OAAO,CAAC,MAAM,CAAC,cAAc;mBAsDR,UAAU;mBA4BV,UAAU;mBAgBV,sBAAsB;mBA+CtB,iBAAiB;IAsDhC,OAAO,CAAC,OAAO,CAAC,EAAE;QACtB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;QAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC,IAAI,CAAC;IAuHX,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAOtB,aAAa,CAAC,MAAM,EAAE;QAC1B,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACxC,yBAAyB,CAAC,EAAE,MAAM,CAAC;QACnC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACzC,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,QAAQ,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;QAC1B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;KAC7B,GAAG,OAAO,CAAC,aAAa,CAAC;IAQpB,SAAS,CACb,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GACxC,OAAO,CAAC,aAAa,CAAC;IASnB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,YAAY,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAQlC,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAMhE,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,eAAe,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAYtD,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;IAO5C,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAWvC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAI7C,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAOnF;;;;;;OAMG;IACG,IAAI,CACR,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAOnC;;;;;;OAMG;IACG,aAAa,CACjB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAQnC;;;;;OAKG;IACG,KAAK,CACT,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;KAAE,CAAC;IAQrD;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAS9B,OAAO,CAAC,OAAO;IAoBf,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,cAAc;CAwBvB"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}