cccc-sdk 0.1.1 → 0.1.2

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
@@ -3,34 +3,58 @@
3
3
  */
4
4
  import type { DaemonEndpoint, DaemonResponse, CCCCClientOptions, CompatibilityOptions, SendOptions, SendCrossGroupOptions, ReplyOptions, ActorAddOptions, ActorUpdateOptions, ActorEnvPrivateUpdateOptions, GroupCreateOptions, GroupUpdateOptions, GroupAutomationUpdateOptions, GroupAutomationManageOptions, GroupAutomationResetBaselineOptions, InboxListOptions, ContextSyncOptions, EventsStreamOptions, EventStreamItem } from './types.js';
5
5
  /**
6
- * CCCC client
6
+ * Client for communicating with the CCCC daemon over IPC (Unix socket or TCP).
7
+ *
8
+ * Use the async factory {@link CCCCClient.create} to instantiate:
9
+ * ```ts
10
+ * const client = await CCCCClient.create();
11
+ * const result = await client.ping();
12
+ * ```
7
13
  */
8
14
  export declare class CCCCClient {
9
15
  private readonly _endpoint;
10
16
  private readonly _timeoutMs;
11
17
  private constructor();
12
18
  /**
13
- * Async factory method: create a client instance
19
+ * Create a new client instance, auto-discovering the daemon endpoint.
20
+ * @param options - Client configuration (ccccHome, endpoint override, timeout).
21
+ * @returns A connected CCCCClient instance.
22
+ * @throws {DaemonUnavailableError} If the daemon endpoint cannot be discovered.
14
23
  */
15
24
  static create(options?: CCCCClientOptions): Promise<CCCCClient>;
16
- /**
17
- * Get the current endpoint
18
- */
25
+ /** The resolved daemon endpoint this client connects to. */
19
26
  get endpoint(): DaemonEndpoint;
20
27
  /**
21
- * Send raw IPC request and return the full response
28
+ * Send a raw IPC request and return the full daemon response envelope.
29
+ * @param op - The IPC operation name (e.g. `'ping'`, `'send'`).
30
+ * @param args - Operation arguments.
31
+ * @returns The complete {@link DaemonResponse} including `ok`, `result`, and `error`.
32
+ * @throws {DaemonAPIError} If the daemon returns `ok: false`.
33
+ * @throws {DaemonUnavailableError} If the connection fails.
22
34
  */
23
35
  callRaw(op: string, args?: Record<string, unknown>): Promise<DaemonResponse>;
24
36
  /**
25
- * Send IPC request and return only result payload
37
+ * Send an IPC request and return only the result payload.
38
+ * @param op - The IPC operation name.
39
+ * @param args - Operation arguments.
40
+ * @returns The `result` field from the daemon response (empty object if absent).
41
+ * @throws {DaemonAPIError} If the daemon returns an error.
42
+ * @throws {DaemonUnavailableError} If the connection fails.
26
43
  */
27
44
  call(op: string, args?: Record<string, unknown>): Promise<Record<string, unknown>>;
28
45
  /**
29
- * Compatibility check
46
+ * Assert that the connected daemon meets the caller's compatibility requirements.
47
+ * Checks IPC version, capabilities, and operation support by probing.
48
+ * @param options - Required IPC version, capabilities, and operations.
49
+ * @returns The ping result from the daemon.
50
+ * @throws {IncompatibleDaemonError} If any compatibility check fails.
51
+ * @throws {DaemonUnavailableError} If the connection fails.
30
52
  */
31
53
  assertCompatible(options?: CompatibilityOptions): Promise<Record<string, unknown>>;
32
54
  /**
33
- * Ping daemon
55
+ * Ping the daemon and return diagnostic information (ipc_v, capabilities, etc.).
56
+ * @returns Daemon ping result.
57
+ * @throws {DaemonUnavailableError} If the daemon is not reachable.
34
58
  */
35
59
  ping(): Promise<Record<string, unknown>>;
36
60
  /**
@@ -98,7 +122,10 @@ export declare class CCCCClient {
98
122
  */
99
123
  actorList(groupId: string): Promise<Record<string, unknown>>;
100
124
  /**
101
- * Add actor
125
+ * Add an actor to a group.
126
+ * @param options - Actor configuration (id, runtime, runner, etc.).
127
+ * @returns The daemon result (includes assigned actor id).
128
+ * @throws {DaemonAPIError} On invalid group or duplicate actor id.
102
129
  */
103
130
  actorAdd(options: ActorAddOptions): Promise<Record<string, unknown>>;
104
131
  /**
@@ -130,7 +157,10 @@ export declare class CCCCClient {
130
157
  */
131
158
  actorEnvPrivateUpdate(options: ActorEnvPrivateUpdateOptions): Promise<Record<string, unknown>>;
132
159
  /**
133
- * Send message
160
+ * Send a chat message to a group.
161
+ * @param options - Message content, recipients, and priority.
162
+ * @returns The daemon result (includes event id).
163
+ * @throws {DaemonAPIError} On invalid group, missing permissions, etc.
134
164
  */
135
165
  send(options: SendOptions): Promise<Record<string, unknown>>;
136
166
  /**
@@ -170,7 +200,12 @@ export declare class CCCCClient {
170
200
  */
171
201
  contextSync(options: ContextSyncOptions): Promise<Record<string, unknown>>;
172
202
  /**
173
- * Subscribe to event stream
203
+ * Subscribe to the group event stream (Server-Sent Events style, long-lived connection).
204
+ * Yields {@link EventStreamItem} objects as they arrive. The socket is destroyed
205
+ * when the generator is returned or thrown.
206
+ * @param options - Group ID, event filters, and optional since cursor.
207
+ * @yields {EventStreamItem} Each event or heartbeat from the stream.
208
+ * @throws {DaemonAPIError} If the handshake fails.
174
209
  */
175
210
  eventsStream(options: EventsStreamOptions): AsyncGenerator<EventStreamItem>;
176
211
  }
@@ -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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"}
package/dist/client.js CHANGED
@@ -4,7 +4,13 @@
4
4
  import { DaemonAPIError, IncompatibleDaemonError, } from './errors.js';
5
5
  import { discoverEndpoint, callDaemon, openEventsStream, readLines, } from './transport.js';
6
6
  /**
7
- * CCCC client
7
+ * Client for communicating with the CCCC daemon over IPC (Unix socket or TCP).
8
+ *
9
+ * Use the async factory {@link CCCCClient.create} to instantiate:
10
+ * ```ts
11
+ * const client = await CCCCClient.create();
12
+ * const result = await client.ping();
13
+ * ```
8
14
  */
9
15
  export class CCCCClient {
10
16
  constructor(endpoint, timeoutMs) {
@@ -12,16 +18,17 @@ export class CCCCClient {
12
18
  this._timeoutMs = timeoutMs;
13
19
  }
14
20
  /**
15
- * Async factory method: create a client instance
21
+ * Create a new client instance, auto-discovering the daemon endpoint.
22
+ * @param options - Client configuration (ccccHome, endpoint override, timeout).
23
+ * @returns A connected CCCCClient instance.
24
+ * @throws {DaemonUnavailableError} If the daemon endpoint cannot be discovered.
16
25
  */
17
26
  static async create(options = {}) {
18
27
  const endpoint = options.endpoint ?? await discoverEndpoint(options.ccccHome);
19
28
  const timeoutMs = options.timeoutMs ?? 30000;
20
29
  return new CCCCClient(endpoint, timeoutMs);
21
30
  }
22
- /**
23
- * Get the current endpoint
24
- */
31
+ /** The resolved daemon endpoint this client connects to. */
25
32
  get endpoint() {
26
33
  return this._endpoint;
27
34
  }
@@ -29,7 +36,12 @@ export class CCCCClient {
29
36
  // Low-level API
30
37
  // ============================================================
31
38
  /**
32
- * Send raw IPC request and return the full response
39
+ * Send a raw IPC request and return the full daemon response envelope.
40
+ * @param op - The IPC operation name (e.g. `'ping'`, `'send'`).
41
+ * @param args - Operation arguments.
42
+ * @returns The complete {@link DaemonResponse} including `ok`, `result`, and `error`.
43
+ * @throws {DaemonAPIError} If the daemon returns `ok: false`.
44
+ * @throws {DaemonUnavailableError} If the connection fails.
33
45
  */
34
46
  async callRaw(op, args) {
35
47
  const request = {
@@ -39,24 +51,38 @@ export class CCCCClient {
39
51
  };
40
52
  const response = await callDaemon(this._endpoint, request, this._timeoutMs);
41
53
  if (!response.ok && response.error) {
42
- throw new DaemonAPIError(response.error.code, response.error.message, response.error.details, response);
54
+ throw new DaemonAPIError(response.error.code ?? 'error', response.error.message ?? 'daemon error', response.error.details ?? {}, response);
43
55
  }
44
56
  return response;
45
57
  }
46
58
  /**
47
- * Send IPC request and return only result payload
59
+ * Send an IPC request and return only the result payload.
60
+ * @param op - The IPC operation name.
61
+ * @param args - Operation arguments.
62
+ * @returns The `result` field from the daemon response (empty object if absent).
63
+ * @throws {DaemonAPIError} If the daemon returns an error.
64
+ * @throws {DaemonUnavailableError} If the connection fails.
48
65
  */
49
66
  async call(op, args) {
50
67
  const response = await this.callRaw(op, args);
51
68
  return response.result ?? {};
52
69
  }
53
70
  /**
54
- * Compatibility check
71
+ * Assert that the connected daemon meets the caller's compatibility requirements.
72
+ * Checks IPC version, capabilities, and operation support by probing.
73
+ * @param options - Required IPC version, capabilities, and operations.
74
+ * @returns The ping result from the daemon.
75
+ * @throws {IncompatibleDaemonError} If any compatibility check fails.
76
+ * @throws {DaemonUnavailableError} If the connection fails.
55
77
  */
56
78
  async assertCompatible(options = {}) {
57
79
  const pingResult = await this.ping();
58
- const ipcV = pingResult['ipc_v'] ?? 0;
59
- const capabilities = pingResult['capabilities'] ?? {};
80
+ const rawIpcV = pingResult['ipc_v'];
81
+ const ipcV = typeof rawIpcV === 'number' ? rawIpcV : 0;
82
+ const rawCaps = pingResult['capabilities'];
83
+ const capabilities = (rawCaps !== null && typeof rawCaps === 'object' && !Array.isArray(rawCaps))
84
+ ? rawCaps
85
+ : {};
60
86
  // Check IPC version
61
87
  const requiredV = options.requireIpcV ?? 1;
62
88
  if (ipcV < requiredV) {
@@ -89,7 +115,9 @@ export class CCCCClient {
89
115
  // Convenience methods: diagnostics
90
116
  // ============================================================
91
117
  /**
92
- * Ping daemon
118
+ * Ping the daemon and return diagnostic information (ipc_v, capabilities, etc.).
119
+ * @returns Daemon ping result.
120
+ * @throws {DaemonUnavailableError} If the daemon is not reachable.
93
121
  */
94
122
  async ping() {
95
123
  return this.call('ping');
@@ -179,7 +207,7 @@ export class CCCCClient {
179
207
  async groupAutomationManage(options) {
180
208
  const actions = options.actions;
181
209
  if (actions.length === 0) {
182
- throw new Error('groupAutomationManage requires a non-empty actions array');
210
+ throw new DaemonAPIError('invalid_args', 'groupAutomationManage requires a non-empty actions array', {});
183
211
  }
184
212
  const args = {
185
213
  group_id: options.groupId,
@@ -234,31 +262,31 @@ export class CCCCClient {
234
262
  return this.call('actor_list', { group_id: groupId });
235
263
  }
236
264
  /**
237
- * Add actor
265
+ * Add an actor to a group.
266
+ * @param options - Actor configuration (id, runtime, runner, etc.).
267
+ * @returns The daemon result (includes assigned actor id).
268
+ * @throws {DaemonAPIError} On invalid group or duplicate actor id.
238
269
  */
239
270
  async actorAdd(options) {
271
+ const optionalFields = {
272
+ actor_id: options.actorId,
273
+ title: options.title,
274
+ runtime: options.runtime,
275
+ runner: options.runner,
276
+ command: options.command,
277
+ env: options.env,
278
+ env_private: options.envPrivate,
279
+ default_scope_key: options.defaultScopeKey,
280
+ submit: options.submit,
281
+ };
240
282
  const args = {
241
283
  group_id: options.groupId,
242
284
  by: options.by ?? 'user',
243
285
  };
244
- if (options.actorId)
245
- args['actor_id'] = options.actorId;
246
- if (options.title)
247
- args['title'] = options.title;
248
- if (options.runtime)
249
- args['runtime'] = options.runtime;
250
- if (options.runner)
251
- args['runner'] = options.runner;
252
- if (options.command)
253
- args['command'] = options.command;
254
- if (options.env)
255
- args['env'] = options.env;
256
- if (options.envPrivate)
257
- args['env_private'] = options.envPrivate;
258
- if (options.defaultScopeKey)
259
- args['default_scope_key'] = options.defaultScopeKey;
260
- if (options.submit)
261
- args['submit'] = options.submit;
286
+ for (const [key, value] of Object.entries(optionalFields)) {
287
+ if (value != null)
288
+ args[key] = value;
289
+ }
262
290
  return this.call('actor_add', args);
263
291
  }
264
292
  /**
@@ -306,20 +334,26 @@ export class CCCCClient {
306
334
  * Update actor private env vars (runtime-only; values are never echoed)
307
335
  */
308
336
  async actorEnvPrivateUpdate(options) {
309
- return this.call('actor_env_private_update', {
337
+ const args = {
310
338
  group_id: options.groupId,
311
339
  actor_id: options.actorId,
312
340
  by: options.by ?? 'user',
313
- set: options.set ?? undefined,
314
- unset: options.unset ?? undefined,
315
341
  clear: options.clear ?? false,
316
- });
342
+ };
343
+ if (options.set)
344
+ args['set'] = options.set;
345
+ if (options.unset)
346
+ args['unset'] = options.unset;
347
+ return this.call('actor_env_private_update', args);
317
348
  }
318
349
  // ============================================================
319
350
  // Convenience methods: messaging
320
351
  // ============================================================
321
352
  /**
322
- * Send message
353
+ * Send a chat message to a group.
354
+ * @param options - Message content, recipients, and priority.
355
+ * @returns The daemon result (includes event id).
356
+ * @throws {DaemonAPIError} On invalid group, missing permissions, etc.
323
357
  */
324
358
  async send(options) {
325
359
  const args = {
@@ -453,7 +487,12 @@ export class CCCCClient {
453
487
  // Event stream
454
488
  // ============================================================
455
489
  /**
456
- * Subscribe to event stream
490
+ * Subscribe to the group event stream (Server-Sent Events style, long-lived connection).
491
+ * Yields {@link EventStreamItem} objects as they arrive. The socket is destroyed
492
+ * when the generator is returned or thrown.
493
+ * @param options - Group ID, event filters, and optional since cursor.
494
+ * @yields {EventStreamItem} Each event or heartbeat from the stream.
495
+ * @throws {DaemonAPIError} If the handshake fails.
457
496
  */
458
497
  async *eventsStream(options) {
459
498
  const args = {
@@ -484,7 +523,10 @@ export class CCCCClient {
484
523
  try {
485
524
  for await (const line of readLines(socket, initialBuffer)) {
486
525
  try {
487
- yield JSON.parse(line);
526
+ const parsed = JSON.parse(line);
527
+ if (parsed !== null && typeof parsed === 'object' && 't' in parsed) {
528
+ yield parsed;
529
+ }
488
530
  }
489
531
  catch {
490
532
  // Skip invalid JSON lines.
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAwBH,OAAO,EACL,cAAc,EACd,uBAAuB,GACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,SAAS,GACV,MAAM,gBAAgB,CAAC;AAExB;;GAEG;AACH,MAAM,OAAO,UAAU;IAIrB,YAAoB,QAAwB,EAAE,SAAiB;QAC7D,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAA6B,EAAE;QACjD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,MAAM,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9E,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAM,CAAC;QAC9C,OAAO,IAAI,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,+DAA+D;IAC/D,gBAAgB;IAChB,+DAA+D;IAE/D;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,EAAU,EAAE,IAA8B;QACtD,MAAM,OAAO,GAAkB;YAC7B,CAAC,EAAE,CAAC;YACJ,EAAE;YACF,IAAI,EAAE,IAAI,IAAI,EAAE;SACjB,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAE5E,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACnC,MAAM,IAAI,cAAc,CACtB,QAAQ,CAAC,KAAK,CAAC,IAAI,EACnB,QAAQ,CAAC,KAAK,CAAC,OAAO,EACtB,QAAQ,CAAC,KAAK,CAAC,OAAO,EACtB,QAAQ,CACT,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,EAAU,EAAE,IAA8B;QACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC9C,OAAO,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,UAAgC,EAAE;QACvD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACrC,MAAM,IAAI,GAAI,UAAU,CAAC,OAAO,CAAY,IAAI,CAAC,CAAC;QAClD,MAAM,YAAY,GAAI,UAAU,CAAC,cAAc,CAA6B,IAAI,EAAE,CAAC;QAEnF,oBAAoB;QACpB,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,IAAI,CAAC,CAAC;QAC3C,IAAI,IAAI,GAAG,SAAS,EAAE,CAAC;YACrB,MAAM,IAAI,uBAAuB,CAAC,eAAe,IAAI,eAAe,SAAS,EAAE,CAAC,CAAC;QACnF,CAAC;QAED,qBAAqB;QACrB,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,IAAI,EAAE,CAAC,EAAE,CAAC;YAChF,IAAI,QAAQ,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,uBAAuB,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QAED,qCAAqC;QACrC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC;QAClF,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;YAC1C,IAAI,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,SAAS;YAClC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAC7B,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,YAAY,cAAc,IAAI,CAAC,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBAC3D,MAAM,IAAI,uBAAuB,CAAC,4BAA4B,EAAE,EAAE,CAAC,CAAC;gBACtE,CAAC;gBACD,mEAAmE;YACrE,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,+DAA+D;IAC/D,mCAAmC;IACnC,+DAA+D;IAE/D;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IAED,+DAA+D;IAC/D,wCAAwC;IACxC,+DAA+D;IAE/D;;OAEG;IACH,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,OAAe;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,UAA8B,EAAE;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YAC/B,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;YAC1B,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;YAC1B,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,MAAM;SACzB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,OAA2B;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YAC/B,QAAQ,EAAE,OAAO,CAAC,OAAO;YACzB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,MAAM;SACzB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,EAAE,GAAG,MAAM;QAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAe,EAAE,IAAY,EAAE,EAAE,GAAG,MAAM;QACvD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,OAAe,EAAE,KAAmC,EAAE,EAAE,GAAG,MAAM;QACnF,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IACxE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CACvB,OAAe,EACf,KAA8B,EAC9B,EAAE,GAAG,MAAM;QAEX,OAAO,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB,CAAC,OAAe,EAAE,EAAE,GAAG,MAAM;QACrD,OAAO,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IACxE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB,CAAC,OAAqC;QAC/D,MAAM,IAAI,GAA4B;YACpC,QAAQ,EAAE,OAAO,CAAC,OAAO;YACzB,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,MAAM;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;SACzB,CAAC;QACF,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YAC1C,IAAI,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;QACrD,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB,CAAC,OAAqC;QAC/D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAC9E,CAAC;QACD,MAAM,IAAI,GAA4B;YACpC,QAAQ,EAAE,OAAO,CAAC,OAAO;YACzB,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,MAAM;YACxB,OAAO;SACR,CAAC;QACF,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS;YAAE,IAAI,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;QAC9F,OAAO,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,4BAA4B,CAAC,OAA4C;QAC7E,MAAM,IAAI,GAA4B;YACpC,QAAQ,EAAE,OAAO,CAAC,OAAO;YACzB,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,MAAM;SACzB,CAAC;QACF,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YAC1C,IAAI,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;QACrD,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,iCAAiC,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,OAAe,EAAE,EAAE,GAAG,MAAM;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,OAAe,EAAE,EAAE,GAAG,MAAM;QAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE,GAAG,MAAM;QAClD,MAAM,IAAI,GAA4B,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;QACnD,IAAI,OAAO;YAAE,IAAI,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC;QACxC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,+DAA+D;IAC/D,wCAAwC;IACxC,+DAA+D;IAE/D;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,OAAe;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAwB;QACrC,MAAM,IAAI,GAA4B;YACpC,QAAQ,EAAE,OAAO,CAAC,OAAO;YACzB,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,MAAM;SACzB,CAAC;QAEF,IAAI,OAAO,CAAC,OAAO;YAAE,IAAI,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;QACxD,IAAI,OAAO,CAAC,KAAK;YAAE,IAAI,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC;QACjD,IAAI,OAAO,CAAC,OAAO;YAAE,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;QACvD,IAAI,OAAO,CAAC,MAAM;YAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;QACpD,IAAI,OAAO,CAAC,OAAO;YAAE,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;QACvD,IAAI,OAAO,CAAC,GAAG;YAAE,IAAI,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;QAC3C,IAAI,OAAO,CAAC,UAAU;YAAE,IAAI,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;QACjE,IAAI,OAAO,CAAC,eAAe;YAAE,IAAI,CAAC,mBAAmB,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;QACjF,IAAI,OAAO,CAAC,MAAM;YAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;QAEpD,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,OAA2B;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YAC/B,QAAQ,EAAE,OAAO,CAAC,OAAO;YACzB,QAAQ,EAAE,OAAO,CAAC,OAAO;YACzB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,MAAM;SACzB,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,OAAe,EAAE,OAAe,EAAE,EAAE,GAAG,MAAM;QAC7D,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IACjF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,OAAe,EAAE,OAAe,EAAE,EAAE,GAAG,MAAM;QAC5D,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IAChF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,OAAe,EAAE,OAAe,EAAE,EAAE,GAAG,MAAM;QAC3D,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,OAAe,EAAE,OAAe,EAAE,EAAE,GAAG,MAAM;QAC9D,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IAClF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CAAC,OAAe,EAAE,OAAe,EAAE,EAAE,GAAG,MAAM;QACrE,OAAO,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB,CAAC,OAAqC;QAC/D,OAAO,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE;YAC3C,QAAQ,EAAE,OAAO,CAAC,OAAO;YACzB,QAAQ,EAAE,OAAO,CAAC,OAAO;YACzB,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,MAAM;YACxB,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,SAAS;YAC7B,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,SAAS;YACjC,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,KAAK;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,+DAA+D;IAC/D,iCAAiC;IACjC,+DAA+D;IAE/D;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,OAAoB;QAC7B,MAAM,IAAI,GAA4B;YACpC,QAAQ,EAAE,OAAO,CAAC,OAAO;YACzB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,MAAM;YACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,QAAQ;YACtC,cAAc,EAAE,OAAO,CAAC,aAAa,IAAI,KAAK;SAC/C,CAAC;QAEF,IAAI,OAAO,CAAC,EAAE;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC;QACxC,IAAI,OAAO,CAAC,IAAI;YAAE,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;QAE9C,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,OAA8B;QACjD,MAAM,IAAI,GAA4B;YACpC,QAAQ,EAAE,OAAO,CAAC,OAAO;YACzB,YAAY,EAAE,OAAO,CAAC,UAAU;YAChC,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,MAAM;YACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,QAAQ;YACtC,cAAc,EAAE,OAAO,CAAC,aAAa,IAAI,KAAK;SAC/C,CAAC;QAEF,IAAI,OAAO,CAAC,EAAE;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC;QAExC,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,OAAqB;QAC/B,MAAM,IAAI,GAA4B;YACpC,QAAQ,EAAE,OAAO,CAAC,OAAO;YACzB,QAAQ,EAAE,OAAO,CAAC,OAAO;YACzB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,MAAM;YACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,QAAQ;YACtC,cAAc,EAAE,OAAO,CAAC,aAAa,IAAI,KAAK;SAC/C,CAAC;QAEF,IAAI,OAAO,CAAC,EAAE;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,EAAE,CAAC;QAExC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CACX,OAAe,EACf,OAAe,EACf,OAAe,EACf,EAAW;QAEX,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAC3B,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,OAAO;YACjB,EAAE,EAAE,EAAE,IAAI,OAAO;SAClB,CAAC,CAAC;IACL,CAAC;IAED,+DAA+D;IAC/D,6BAA6B;IAC7B,+DAA+D;IAE/D;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,OAAyB;QACvC,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YAC7B,QAAQ,EAAE,OAAO,CAAC,OAAO;YACzB,QAAQ,EAAE,OAAO,CAAC,OAAO;YACzB,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,MAAM;YACxB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;YAC1B,WAAW,EAAE,OAAO,CAAC,UAAU,IAAI,KAAK;SACzC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CACjB,OAAe,EACf,OAAe,EACf,OAAe,EACf,EAAE,GAAG,MAAM;QAEX,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAClC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,OAAO;YACjB,EAAE;SACH,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CACpB,OAAe,EACf,OAAe,EACf,EAAE,GAAG,MAAM,EACX,UAAU,GAAG,KAAK;QAElB,OAAO,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;YACtC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,OAAO;YACjB,EAAE;YACF,WAAW,EAAE,UAAU;SACxB,CAAC,CAAC;IACL,CAAC;IAED,+DAA+D;IAC/D,qCAAqC;IACrC,+DAA+D;IAE/D;;OAEG;IACH,KAAK,CAAC,SAAS,CACb,OAAe,EACf,OAAe,EACf,aAAqB,EACrB,EAAW;QAEX,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YAC7B,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,OAAO;YACjB,eAAe,EAAE,aAAa;YAC9B,EAAE,EAAE,EAAE,IAAI,OAAO;SAClB,CAAC,CAAC;IACL,CAAC;IAED,+DAA+D;IAC/D,+BAA+B;IAC/B,+DAA+D;IAE/D;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,OAAe;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,OAA2B;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YAC/B,QAAQ,EAAE,OAAO,CAAC,OAAO;YACzB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,QAAQ;YAC1B,OAAO,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;SACjC,CAAC,CAAC;IACL,CAAC;IAED,+DAA+D;IAC/D,eAAe;IACf,+DAA+D;IAE/D;;OAEG;IACH,KAAK,CAAC,CAAC,YAAY,CAAC,OAA4B;QAC9C,MAAM,IAAI,GAA4B;YACpC,QAAQ,EAAE,OAAO,CAAC,OAAO;YACzB,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,MAAM;SACzB,CAAC;QAEF,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,KAAK,YAAY,GAAG;gBAC1C,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC3B,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;QACpB,CAAC;QACD,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,IAAI,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;QAChD,CAAC;QACD,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;QACrC,CAAC;QAED,MAAM,OAAO,GAAkB;YAC7B,CAAC,EAAE,CAAC;YACJ,EAAE,EAAE,eAAe;YACnB,IAAI;SACL,CAAC;QAEF,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,MAAM,gBAAgB,CACjE,IAAI,CAAC,SAAS,EACd,OAAO,EACP,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,UAAU,CACrC,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC;YAClB,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,cAAc,CACtB,SAAS,CAAC,KAAK,EAAE,IAAI,IAAI,SAAS,EAClC,SAAS,CAAC,KAAK,EAAE,OAAO,IAAI,kBAAkB,EAC9C,SAAS,CAAC,KAAK,EAAE,OAAO,EACxB,SAAS,CACV,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,CAAC;gBAC1D,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAoB,CAAC;gBAC5C,CAAC;gBAAC,MAAM,CAAC;oBACP,2BAA2B;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -3,19 +3,22 @@
3
3
  */
4
4
  import type { DaemonResponse } from './types.js';
5
5
  /**
6
- * Base SDK error
6
+ * Base error class for all CCCC SDK errors.
7
+ * All SDK-specific errors extend this class, so callers can use
8
+ * `catch (e) { if (e instanceof CCCCSDKError) ... }` for broad matching.
7
9
  */
8
10
  export declare class CCCCSDKError extends Error {
9
11
  constructor(message: string);
10
12
  }
11
13
  /**
12
- * Daemon unavailable
14
+ * Thrown when the daemon cannot be reached (connection refused, timeout, write failure, etc.).
13
15
  */
14
16
  export declare class DaemonUnavailableError extends CCCCSDKError {
15
17
  constructor(message: string);
16
18
  }
17
19
  /**
18
- * Daemon API error
20
+ * Thrown when the daemon returns `ok: false` with a structured error payload.
21
+ * Contains the error {@link code}, human-readable {@link message}, and optional {@link details}.
19
22
  */
20
23
  export declare class DaemonAPIError extends CCCCSDKError {
21
24
  readonly code: string;
@@ -25,7 +28,8 @@ export declare class DaemonAPIError extends CCCCSDKError {
25
28
  toString(): string;
26
29
  }
27
30
  /**
28
- * Incompatible daemon version/capabilities
31
+ * Thrown by {@link CCCCClient.assertCompatible} when the daemon does not meet
32
+ * the caller's IPC version, capability, or operation requirements.
29
33
  */
30
34
  export declare class IncompatibleDaemonError extends CCCCSDKError {
31
35
  constructor(message: string);
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM;CAM5B;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,YAAY;gBAC1C,OAAO,EAAE,MAAM;CAI5B;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,YAAY;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,QAAQ,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC;gBAG5B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACrC,GAAG,CAAC,EAAE,cAAc;IAStB,QAAQ,IAAI,MAAM;CAMnB;AAED;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,YAAY;gBAC3C,OAAO,EAAE,MAAM;CAI5B"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM;CAM5B;AAED;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,YAAY;gBAC1C,OAAO,EAAE,MAAM;CAI5B;AAED;;;GAGG;AACH,qBAAa,cAAe,SAAQ,YAAY;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,QAAQ,CAAC,GAAG,CAAC,EAAE,cAAc,CAAC;gBAG5B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACrC,GAAG,CAAC,EAAE,cAAc;IAStB,QAAQ,IAAI,MAAM;CAMnB;AAED;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,YAAY;gBAC3C,OAAO,EAAE,MAAM;CAI5B"}
package/dist/errors.js CHANGED
@@ -2,7 +2,9 @@
2
2
  * CCCC SDK error classes
3
3
  */
4
4
  /**
5
- * Base SDK error
5
+ * Base error class for all CCCC SDK errors.
6
+ * All SDK-specific errors extend this class, so callers can use
7
+ * `catch (e) { if (e instanceof CCCCSDKError) ... }` for broad matching.
6
8
  */
7
9
  export class CCCCSDKError extends Error {
8
10
  constructor(message) {
@@ -13,7 +15,7 @@ export class CCCCSDKError extends Error {
13
15
  }
14
16
  }
15
17
  /**
16
- * Daemon unavailable
18
+ * Thrown when the daemon cannot be reached (connection refused, timeout, write failure, etc.).
17
19
  */
18
20
  export class DaemonUnavailableError extends CCCCSDKError {
19
21
  constructor(message) {
@@ -22,7 +24,8 @@ export class DaemonUnavailableError extends CCCCSDKError {
22
24
  }
23
25
  }
24
26
  /**
25
- * Daemon API error
27
+ * Thrown when the daemon returns `ok: false` with a structured error payload.
28
+ * Contains the error {@link code}, human-readable {@link message}, and optional {@link details}.
26
29
  */
27
30
  export class DaemonAPIError extends CCCCSDKError {
28
31
  constructor(code, message, details = {}, raw) {
@@ -40,7 +43,8 @@ export class DaemonAPIError extends CCCCSDKError {
40
43
  }
41
44
  }
42
45
  /**
43
- * Incompatible daemon version/capabilities
46
+ * Thrown by {@link CCCCClient.assertCompatible} when the daemon does not meet
47
+ * the caller's IPC version, capability, or operation requirements.
44
48
  */
45
49
  export class IncompatibleDaemonError extends CCCCSDKError {
46
50
  constructor(message) {
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,gDAAgD;QAChD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,YAAY;IACtD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,YAAY;IAK9C,YACE,IAAY,EACZ,OAAe,EACf,UAAmC,EAAE,EACrC,GAAoB;QAEpB,KAAK,CAAC,GAAG,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,QAAQ;QACN,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC;YACrD,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG;YACtC,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,GAAG,UAAU,EAAE,CAAC;IACtD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,uBAAwB,SAAQ,YAAY;IACvD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;;GAIG;AACH,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,gDAAgD;QAChD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,YAAY;IACtD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,cAAe,SAAQ,YAAY;IAK9C,YACE,IAAY,EACZ,OAAe,EACf,UAAmC,EAAE,EACrC,GAAoB;QAEpB,KAAK,CAAC,GAAG,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,QAAQ;QACN,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC;YACrD,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG;YACtC,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,GAAG,UAAU,EAAE,CAAC;IACtD,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,uBAAwB,SAAQ,YAAY;IACvD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF"}
@@ -3,16 +3,30 @@
3
3
  */
4
4
  import * as net from 'node:net';
5
5
  import type { DaemonEndpoint, DaemonRequest, DaemonResponse } from './types.js';
6
+ export declare const MAX_LINE_SIZE = 4000000;
7
+ export declare const DEFAULT_TIMEOUT_MS = 30000;
6
8
  /**
7
- * Get default CCCC home path
9
+ * Get the default CCCC home directory path.
10
+ * Uses `$CCCC_HOME` if set, otherwise `~/.cccc`.
11
+ * @returns Absolute path to the CCCC home directory.
8
12
  */
9
13
  export declare function defaultHome(): string;
10
14
  /**
11
- * Discover daemon endpoint
15
+ * Discover the daemon IPC endpoint by reading `ccccd.addr.json`.
16
+ * Falls back to the default Unix socket path if the address file is missing or unreadable.
17
+ * @param home - Optional CCCC home directory override.
18
+ * @returns The resolved {@link DaemonEndpoint} (TCP or Unix).
12
19
  */
13
20
  export declare function discoverEndpoint(home?: string): Promise<DaemonEndpoint>;
14
21
  /**
15
- * Send a single IPC request
22
+ * Send a single IPC request to the daemon and return the response.
23
+ * Opens a new socket, sends the JSON-line request, reads exactly one JSON-line response,
24
+ * then destroys the socket.
25
+ * @param endpoint - The daemon endpoint to connect to.
26
+ * @param request - The IPC request envelope.
27
+ * @param timeoutMs - Connection and response timeout in milliseconds.
28
+ * @returns The parsed {@link DaemonResponse}.
29
+ * @throws {DaemonUnavailableError} On connection, write, or parse failure.
16
30
  */
17
31
  export declare function callDaemon(endpoint: DaemonEndpoint, request: DaemonRequest, timeoutMs?: number): Promise<DaemonResponse>;
18
32
  /** Event stream connection result */
@@ -22,11 +36,22 @@ export interface EventsStreamConnection {
22
36
  initialBuffer: string;
23
37
  }
24
38
  /**
25
- * Open event stream connection
39
+ * Open a long-lived event stream connection to the daemon.
40
+ * Sends the request, reads the handshake response, and returns the socket
41
+ * for continued streaming via {@link readLines}.
42
+ * @param endpoint - The daemon endpoint to connect to.
43
+ * @param request - The IPC request envelope (op should be `events_stream`).
44
+ * @param timeoutMs - Connection and handshake timeout in milliseconds.
45
+ * @returns The socket, handshake response, and any buffered data after the handshake.
46
+ * @throws {DaemonUnavailableError} On connection or handshake failure.
26
47
  */
27
48
  export declare function openEventsStream(endpoint: DaemonEndpoint, request: DaemonRequest, timeoutMs?: number): Promise<EventsStreamConnection>;
28
49
  /**
29
- * Create line reader from socket (async generator)
50
+ * Async generator that yields newline-delimited lines from a socket.
51
+ * Handles buffering and splits on `\n`. Empty/whitespace-only lines are skipped.
52
+ * @param socket - The connected socket to read from.
53
+ * @param initialBuffer - Any data already buffered before this generator starts.
54
+ * @yields Each non-empty line as a string (without the trailing newline).
30
55
  */
31
56
  export declare function readLines(socket: net.Socket, initialBuffer?: string): AsyncGenerator<string>;
32
57
  //# sourceMappingURL=transport.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAIhC,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,cAAc,EAEf,MAAM,YAAY,CAAC;AA0BpB;;GAEG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CA0C7E;AAuDD;;GAEG;AACH,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,aAAa,EACtB,SAAS,GAAE,MAA2B,GACrC,OAAO,CAAC,cAAc,CAAC,CAsDzB;AAMD,qCAAqC;AACrC,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC;IACnB,SAAS,EAAE,cAAc,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,aAAa,EACtB,SAAS,GAAE,MAA2B,GACrC,OAAO,CAAC,sBAAsB,CAAC,CA4DjC;AAED;;GAEG;AACH,wBAAuB,SAAS,CAC9B,MAAM,EAAE,GAAG,CAAC,MAAM,EAClB,aAAa,GAAE,MAAW,GACzB,cAAc,CAAC,MAAM,CAAC,CAyBxB"}
1
+ {"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAIhC,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,cAAc,EAEf,MAAM,YAAY,CAAC;AAOpB,eAAO,MAAM,aAAa,UAAY,CAAC;AACvC,eAAO,MAAM,kBAAkB,QAAS,CAAC;AAoBzC;;;;GAIG;AACH,wBAAgB,WAAW,IAAI,MAAM,CAEpC;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CA0C7E;AAuDD;;;;;;;;;GASG;AACH,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,aAAa,EACtB,SAAS,GAAE,MAA2B,GACrC,OAAO,CAAC,cAAc,CAAC,CA+DzB;AAMD,qCAAqC;AACrC,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC;IACnB,SAAS,EAAE,cAAc,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,aAAa,EACtB,SAAS,GAAE,MAA2B,GACrC,OAAO,CAAC,sBAAsB,CAAC,CAuEjC;AAED;;;;;;GAMG;AACH,wBAAuB,SAAS,CAC9B,MAAM,EAAE,GAAG,CAAC,MAAM,EAClB,aAAa,GAAE,MAAW,GACzB,cAAc,CAAC,MAAM,CAAC,CAyBxB"}
package/dist/transport.js CHANGED
@@ -9,15 +9,17 @@ import { DaemonUnavailableError } from './errors.js';
9
9
  // ============================================================
10
10
  // Constants
11
11
  // ============================================================
12
- const MAX_LINE_SIZE = 4000000; // 4MB
13
- const DEFAULT_TIMEOUT_MS = 30000;
12
+ export const MAX_LINE_SIZE = 4000000; // 4MB
13
+ export const DEFAULT_TIMEOUT_MS = 30000;
14
+ const MAX_PORT = 65535;
14
15
  function normalizeTcpConnectHost(rawHost) {
15
16
  const host = String(rawHost ?? '').trim();
16
17
  if (!host || host === 'localhost' || host === '0.0.0.0') {
17
18
  return '127.0.0.1';
18
19
  }
19
- // Daemon IPC currently uses AF_INET only; avoid writing IPv6 hosts into client dial path.
20
- if (host.includes(':')) {
20
+ // Daemon IPC currently uses AF_INET only; fall back to loopback for
21
+ // IPv6-style addresses (contains ':') or the IPv6 loopback literal.
22
+ if (host.includes(':') || host === '::1') {
21
23
  return '127.0.0.1';
22
24
  }
23
25
  return host;
@@ -26,13 +28,18 @@ function normalizeTcpConnectHost(rawHost) {
26
28
  // Endpoint discovery
27
29
  // ============================================================
28
30
  /**
29
- * Get default CCCC home path
31
+ * Get the default CCCC home directory path.
32
+ * Uses `$CCCC_HOME` if set, otherwise `~/.cccc`.
33
+ * @returns Absolute path to the CCCC home directory.
30
34
  */
31
35
  export function defaultHome() {
32
36
  return process.env['CCCC_HOME'] || path.join(os.homedir(), '.cccc');
33
37
  }
34
38
  /**
35
- * Discover daemon endpoint
39
+ * Discover the daemon IPC endpoint by reading `ccccd.addr.json`.
40
+ * Falls back to the default Unix socket path if the address file is missing or unreadable.
41
+ * @param home - Optional CCCC home directory override.
42
+ * @returns The resolved {@link DaemonEndpoint} (TCP or Unix).
36
43
  */
37
44
  export async function discoverEndpoint(home) {
38
45
  const ccccHome = home || defaultHome();
@@ -43,7 +50,7 @@ export async function discoverEndpoint(home) {
43
50
  if (descriptor.v === 1) {
44
51
  if (descriptor.transport === 'tcp' && descriptor.port) {
45
52
  const port = Number(descriptor.port);
46
- if (!Number.isInteger(port) || port <= 0) {
53
+ if (!Number.isInteger(port) || port <= 0 || port > MAX_PORT) {
47
54
  throw new Error(`invalid daemon tcp port: ${descriptor.port}`);
48
55
  }
49
56
  return {
@@ -119,7 +126,14 @@ function connect(endpoint, timeoutMs) {
119
126
  // IPC calls
120
127
  // ============================================================
121
128
  /**
122
- * Send a single IPC request
129
+ * Send a single IPC request to the daemon and return the response.
130
+ * Opens a new socket, sends the JSON-line request, reads exactly one JSON-line response,
131
+ * then destroys the socket.
132
+ * @param endpoint - The daemon endpoint to connect to.
133
+ * @param request - The IPC request envelope.
134
+ * @param timeoutMs - Connection and response timeout in milliseconds.
135
+ * @returns The parsed {@link DaemonResponse}.
136
+ * @throws {DaemonUnavailableError} On connection, write, or parse failure.
123
137
  */
124
138
  export async function callDaemon(endpoint, request, timeoutMs = DEFAULT_TIMEOUT_MS) {
125
139
  const socket = await connect(endpoint, timeoutMs);
@@ -153,6 +167,7 @@ export async function callDaemon(endpoint, request, timeoutMs = DEFAULT_TIMEOUT_
153
167
  if (!resolved) {
154
168
  resolved = true;
155
169
  cleanup();
170
+ socket.destroy();
156
171
  reject(new DaemonUnavailableError(err.message));
157
172
  }
158
173
  });
@@ -160,22 +175,47 @@ export async function callDaemon(endpoint, request, timeoutMs = DEFAULT_TIMEOUT_
160
175
  if (!resolved) {
161
176
  resolved = true;
162
177
  cleanup();
178
+ socket.destroy();
163
179
  reject(new DaemonUnavailableError('Connection closed unexpectedly'));
164
180
  }
165
181
  });
166
182
  // Send request.
167
183
  const line = JSON.stringify(request) + '\n';
168
- socket.write(line);
184
+ socket.write(line, (err) => {
185
+ if (err && !resolved) {
186
+ resolved = true;
187
+ cleanup();
188
+ socket.destroy();
189
+ reject(new DaemonUnavailableError(`Write failed: ${err.message}`));
190
+ }
191
+ });
169
192
  });
170
193
  }
171
194
  /**
172
- * Open event stream connection
195
+ * Open a long-lived event stream connection to the daemon.
196
+ * Sends the request, reads the handshake response, and returns the socket
197
+ * for continued streaming via {@link readLines}.
198
+ * @param endpoint - The daemon endpoint to connect to.
199
+ * @param request - The IPC request envelope (op should be `events_stream`).
200
+ * @param timeoutMs - Connection and handshake timeout in milliseconds.
201
+ * @returns The socket, handshake response, and any buffered data after the handshake.
202
+ * @throws {DaemonUnavailableError} On connection or handshake failure.
173
203
  */
174
204
  export async function openEventsStream(endpoint, request, timeoutMs = DEFAULT_TIMEOUT_MS) {
175
205
  const socket = await connect(endpoint, timeoutMs);
176
206
  // Send request.
177
207
  const line = JSON.stringify(request) + '\n';
178
- socket.write(line);
208
+ await new Promise((resolve, reject) => {
209
+ socket.write(line, (err) => {
210
+ if (err) {
211
+ socket.destroy();
212
+ reject(new DaemonUnavailableError(`Write failed: ${err.message}`));
213
+ }
214
+ else {
215
+ resolve();
216
+ }
217
+ });
218
+ });
179
219
  // Read handshake response.
180
220
  const { handshake, remainingBuffer } = await new Promise((resolve, reject) => {
181
221
  let buffer = '';
@@ -208,6 +248,7 @@ export async function openEventsStream(endpoint, request, timeoutMs = DEFAULT_TI
208
248
  if (!resolved) {
209
249
  resolved = true;
210
250
  cleanup();
251
+ socket.destroy();
211
252
  reject(new DaemonUnavailableError(err.message));
212
253
  }
213
254
  });
@@ -215,6 +256,7 @@ export async function openEventsStream(endpoint, request, timeoutMs = DEFAULT_TI
215
256
  if (!resolved) {
216
257
  resolved = true;
217
258
  cleanup();
259
+ socket.destroy();
218
260
  reject(new DaemonUnavailableError('Connection closed during handshake'));
219
261
  }
220
262
  });
@@ -224,7 +266,11 @@ export async function openEventsStream(endpoint, request, timeoutMs = DEFAULT_TI
224
266
  return { socket, handshake, initialBuffer: remainingBuffer };
225
267
  }
226
268
  /**
227
- * Create line reader from socket (async generator)
269
+ * Async generator that yields newline-delimited lines from a socket.
270
+ * Handles buffering and splits on `\n`. Empty/whitespace-only lines are skipped.
271
+ * @param socket - The connected socket to read from.
272
+ * @param initialBuffer - Any data already buffered before this generator starts.
273
+ * @yields Each non-empty line as a string (without the trailing newline).
228
274
  */
229
275
  export async function* readLines(socket, initialBuffer = '') {
230
276
  let buffer = initialBuffer;
@@ -1 +1 @@
1
- {"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transport.js","sourceRoot":"","sources":["../src/transport.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cccc-sdk",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "Client SDK for the CCCC daemon (IPC v1)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -37,10 +37,12 @@
37
37
  "dev": "tsc -w",
38
38
  "clean": "rm -rf dist",
39
39
  "typecheck": "tsc --noEmit",
40
+ "test": "node --import tsx --test __tests__/*.test.ts",
40
41
  "prepublishOnly": "npm run clean && npm run build"
41
42
  },
42
43
  "devDependencies": {
43
44
  "@types/node": "^20.0.0",
45
+ "tsx": "^4.21.0",
44
46
  "typescript": "^5.0.0"
45
47
  }
46
- }
48
+ }