swarm-mail 0.1.3 → 0.2.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.
Files changed (59) hide show
  1. package/README.md +4 -0
  2. package/bin/daemon-cli.ts +304 -0
  3. package/dist/beads/adapter.d.ts +38 -0
  4. package/dist/beads/adapter.d.ts.map +1 -0
  5. package/dist/beads/blocked-cache.d.ts +21 -0
  6. package/dist/beads/blocked-cache.d.ts.map +1 -0
  7. package/dist/beads/comments.d.ts +21 -0
  8. package/dist/beads/comments.d.ts.map +1 -0
  9. package/dist/beads/dependencies.d.ts +58 -0
  10. package/dist/beads/dependencies.d.ts.map +1 -0
  11. package/dist/beads/events.d.ts +163 -0
  12. package/dist/beads/events.d.ts.map +1 -0
  13. package/dist/beads/flush-manager.d.ts +71 -0
  14. package/dist/beads/flush-manager.d.ts.map +1 -0
  15. package/dist/beads/index.d.ts +25 -0
  16. package/dist/beads/index.d.ts.map +1 -0
  17. package/dist/beads/jsonl.d.ts +103 -0
  18. package/dist/beads/jsonl.d.ts.map +1 -0
  19. package/dist/beads/labels.d.ts +21 -0
  20. package/dist/beads/labels.d.ts.map +1 -0
  21. package/dist/beads/merge.d.ts +99 -0
  22. package/dist/beads/merge.d.ts.map +1 -0
  23. package/dist/beads/migrations.d.ts +41 -0
  24. package/dist/beads/migrations.d.ts.map +1 -0
  25. package/dist/beads/operations.d.ts +56 -0
  26. package/dist/beads/operations.d.ts.map +1 -0
  27. package/dist/beads/projections.d.ts +103 -0
  28. package/dist/beads/projections.d.ts.map +1 -0
  29. package/dist/beads/queries.d.ts +77 -0
  30. package/dist/beads/queries.d.ts.map +1 -0
  31. package/dist/beads/store.d.ts +98 -0
  32. package/dist/beads/store.d.ts.map +1 -0
  33. package/dist/beads/validation.d.ts +75 -0
  34. package/dist/beads/validation.d.ts.map +1 -0
  35. package/dist/daemon.d.ts +139 -0
  36. package/dist/daemon.d.ts.map +1 -0
  37. package/dist/index.d.ts +6 -1
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +8314 -4513
  40. package/dist/pglite.d.ts +78 -5
  41. package/dist/pglite.d.ts.map +1 -1
  42. package/dist/socket-adapter.d.ts +78 -0
  43. package/dist/socket-adapter.d.ts.map +1 -0
  44. package/dist/streams/debug.d.ts.map +1 -1
  45. package/dist/streams/effect/ask.integration-test.d.ts +8 -0
  46. package/dist/streams/effect/ask.integration-test.d.ts.map +1 -0
  47. package/dist/streams/effect/cursor.integration-test.d.ts +2 -0
  48. package/dist/streams/effect/cursor.integration-test.d.ts.map +1 -0
  49. package/dist/streams/index.d.ts.map +1 -1
  50. package/dist/streams/leader-election.d.ts +44 -0
  51. package/dist/streams/leader-election.d.ts.map +1 -0
  52. package/dist/streams/migrations.d.ts +1 -1
  53. package/dist/streams/migrations.d.ts.map +1 -1
  54. package/dist/streams/store.d.ts.map +1 -1
  55. package/dist/streams/store.integration-test.d.ts +2 -0
  56. package/dist/streams/store.integration-test.d.ts.map +1 -0
  57. package/dist/types/beads-adapter.d.ts +397 -0
  58. package/dist/types/beads-adapter.d.ts.map +1 -0
  59. package/package.json +15 -5
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Beads Event Store - Append-only event log for bead operations
3
+ *
4
+ * Integrates bead events (from opencode-swarm-plugin) into the shared
5
+ * swarm-mail event store. Follows same pattern as streams/store.ts but
6
+ * for bead-specific events.
7
+ *
8
+ * ## Architecture
9
+ * - Bead events stored in shared `events` table (same as agent/message events)
10
+ * - Events trigger updateProjections() to update materialized views
11
+ * - Events are NOT replayed for state (hybrid model - projections are source of truth)
12
+ * - Event log provides audit trail and debugging for swarm coordination
13
+ *
14
+ * ## Event Flow
15
+ * 1. appendBeadEvent() -> INSERT INTO events
16
+ * 2. updateProjections() -> UPDATE materialized views (beads, dependencies, labels, etc.)
17
+ * 3. Query operations read from projections (fast)
18
+ *
19
+ * @module beads/store
20
+ */
21
+ import type { DatabaseAdapter } from "../types/database.js";
22
+ import type { BeadEvent } from "./events.js";
23
+ /**
24
+ * Options for reading bead events
25
+ */
26
+ export interface ReadBeadEventsOptions {
27
+ /** Filter by project key */
28
+ projectKey?: string;
29
+ /** Filter by bead ID */
30
+ beadId?: string;
31
+ /** Filter by event types */
32
+ types?: BeadEvent["type"][];
33
+ /** Events after this timestamp */
34
+ since?: number;
35
+ /** Events before this timestamp */
36
+ until?: number;
37
+ /** Events after this sequence number */
38
+ afterSequence?: number;
39
+ /** Maximum number of events to return */
40
+ limit?: number;
41
+ /** Skip this many events (pagination) */
42
+ offset?: number;
43
+ }
44
+ /**
45
+ * Append a bead event to the shared event store
46
+ *
47
+ * Events are stored in the same `events` table as agent/message events.
48
+ * Triggers updateProjections() to update materialized views.
49
+ *
50
+ * @param event - Bead event to append
51
+ * @param projectPath - Optional project path for database location
52
+ * @param dbOverride - Optional database adapter for dependency injection
53
+ * @returns Event with id and sequence number
54
+ */
55
+ export declare function appendBeadEvent(event: BeadEvent, projectPath?: string, dbOverride?: DatabaseAdapter): Promise<BeadEvent & {
56
+ id: number;
57
+ sequence: number;
58
+ }>;
59
+ /**
60
+ * Read bead events with optional filters
61
+ *
62
+ * Queries the shared events table for bead events (type starts with "bead_").
63
+ *
64
+ * @param options - Filter options
65
+ * @param projectPath - Optional project path for database location
66
+ * @param dbOverride - Optional database adapter for dependency injection
67
+ * @returns Array of bead events with id and sequence
68
+ */
69
+ export declare function readBeadEvents(options?: ReadBeadEventsOptions, projectPath?: string, dbOverride?: DatabaseAdapter): Promise<Array<BeadEvent & {
70
+ id: number;
71
+ sequence: number;
72
+ }>>;
73
+ /**
74
+ * Replay bead events to rebuild materialized views
75
+ *
76
+ * Useful for:
77
+ * - Recovering from projection corruption
78
+ * - Migrating to new schema
79
+ * - Debugging state issues
80
+ *
81
+ * Note: Unlike swarm-mail agent events, bead projections are NOT rebuilt
82
+ * from events in normal operation (hybrid CRUD + audit trail model).
83
+ * This function is for recovery/debugging only.
84
+ *
85
+ * @param options - Replay options
86
+ * @param projectPath - Optional project path for database location
87
+ * @param dbOverride - Optional database adapter for dependency injection
88
+ * @returns Stats about replay operation
89
+ */
90
+ export declare function replayBeadEvents(options?: {
91
+ projectKey?: string;
92
+ fromSequence?: number;
93
+ clearViews?: boolean;
94
+ }, projectPath?: string, dbOverride?: DatabaseAdapter): Promise<{
95
+ eventsReplayed: number;
96
+ duration: number;
97
+ }>;
98
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/beads/store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AA+B7C;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,KAAK,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;IAC5B,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,SAAS,EAChB,WAAW,CAAC,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,eAAe,GAC3B,OAAO,CAAC,SAAS,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CA2BvD;AAED;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAClC,OAAO,GAAE,qBAA0B,EACnC,WAAW,CAAC,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,eAAe,GAC3B,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAoF9D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,GAAE;IACP,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CACjB,EACN,WAAW,CAAC,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,eAAe,GAC3B,OAAO,CAAC;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAyEvD"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Bead Validation - Port of steveyegge/beads internal/validation/bead.go
3
+ *
4
+ * Implements validation rules from steveyegge/beads internal/types/types.go Validate() method.
5
+ *
6
+ * ## Business Rules
7
+ * - Title required, max 500 chars
8
+ * - Priority 0-4 (0=critical, 4=low)
9
+ * - Valid status: open, in_progress, blocked, closed, tombstone
10
+ * - Valid type: bug, feature, task, epic, chore, message
11
+ * - closed_at only when status=closed
12
+ * - deleted_at required when status=tombstone
13
+ * - Status transitions enforce state machine
14
+ *
15
+ * ## Status Transition Rules
16
+ * - open -> in_progress, blocked, closed
17
+ * - in_progress -> open, blocked, closed
18
+ * - blocked -> open, in_progress, closed
19
+ * - closed -> open (reopen only)
20
+ * - tombstone -> (no transitions, permanent)
21
+ *
22
+ * Direct transitions to tombstone are prohibited - use delete operation instead.
23
+ */
24
+ import type { BeadStatus, BeadType } from "../types/beads-adapter.js";
25
+ export interface ValidationResult {
26
+ valid: boolean;
27
+ errors: string[];
28
+ }
29
+ export interface CreateBeadOptions {
30
+ title: string;
31
+ type: BeadType;
32
+ priority?: number;
33
+ description?: string;
34
+ parent_id?: string;
35
+ assignee?: string;
36
+ created_by?: string;
37
+ }
38
+ export interface UpdateBeadOptions {
39
+ title?: string;
40
+ description?: string;
41
+ priority?: number;
42
+ assignee?: string;
43
+ }
44
+ /**
45
+ * Validate bead creation options
46
+ *
47
+ * @param options - Bead creation options
48
+ * @returns Validation result with errors if invalid
49
+ */
50
+ export declare function validateCreateBead(options: CreateBeadOptions): ValidationResult;
51
+ /**
52
+ * Validate bead update options
53
+ *
54
+ * @param options - Bead update options
55
+ * @returns Validation result with errors if invalid
56
+ */
57
+ export declare function validateUpdateBead(options: UpdateBeadOptions): ValidationResult;
58
+ /**
59
+ * Validate status transition
60
+ *
61
+ * Enforces state machine rules:
62
+ * - open -> in_progress, blocked, closed
63
+ * - in_progress -> open, blocked, closed
64
+ * - blocked -> open, in_progress, closed
65
+ * - closed -> open (reopen only)
66
+ * - tombstone -> (no transitions, permanent)
67
+ *
68
+ * Direct transitions to tombstone are prohibited - use delete operation.
69
+ *
70
+ * @param currentStatus - Current bead status
71
+ * @param newStatus - Target status
72
+ * @returns Validation result with errors if invalid
73
+ */
74
+ export declare function validateStatusTransition(currentStatus: BeadStatus, newStatus: BeadStatus): ValidationResult;
75
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/beads/validation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAEtE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,iBAAiB,GACzB,gBAAgB,CAmClB;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,iBAAiB,GACzB,gBAAgB,CAyBlB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,UAAU,EACzB,SAAS,EAAE,UAAU,GACpB,gBAAgB,CA+ClB"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * Daemon Lifecycle Management for pglite-server
3
+ *
4
+ * Provides start/stop/health functionality for the pglite-server daemon process.
5
+ * Uses detached child_process for background operation with PID file tracking.
6
+ *
7
+ * ## Usage
8
+ * ```typescript
9
+ * import { startDaemon, stopDaemon, isDaemonRunning, healthCheck } from 'swarm-mail/daemon';
10
+ *
11
+ * // Start daemon
12
+ * const { pid, port } = await startDaemon({ port: 5433 });
13
+ *
14
+ * // Check health
15
+ * const healthy = await healthCheck({ port: 5433 });
16
+ *
17
+ * // Stop daemon
18
+ * await stopDaemon('/path/to/project');
19
+ * ```
20
+ */
21
+ /**
22
+ * Daemon start options
23
+ */
24
+ export interface DaemonOptions {
25
+ /** TCP port to bind (default: 5433) */
26
+ port?: number;
27
+ /** Host to bind (default: 127.0.0.1) */
28
+ host?: string;
29
+ /** Unix socket path (alternative to port/host) */
30
+ path?: string;
31
+ /** Database path (default: project .opencode/streams or ~/.opencode/streams) */
32
+ dbPath?: string;
33
+ /** Project path for PID file location (default: global ~/.opencode) */
34
+ projectPath?: string;
35
+ }
36
+ /**
37
+ * Daemon info returned by startDaemon
38
+ */
39
+ export interface DaemonInfo {
40
+ /** Process ID */
41
+ pid: number;
42
+ /** TCP port (if using TCP) */
43
+ port?: number;
44
+ /** Unix socket path (if using socket) */
45
+ socketPath?: string;
46
+ }
47
+ /**
48
+ * Get PID file path for a project
49
+ *
50
+ * Stores PID file in $TMPDIR alongside the streams database.
51
+ * Path format: `$TMPDIR/opencode-<project-name>-<hash>/pglite-server.pid`
52
+ * Falls back to global `$TMPDIR/opencode-global/pglite-server.pid`
53
+ *
54
+ * @param projectPath - Optional project root path
55
+ * @returns Absolute path to PID file
56
+ */
57
+ export declare function getPidFilePath(projectPath?: string): string;
58
+ /**
59
+ * Check if daemon is running
60
+ *
61
+ * Checks both PID file existence and process liveness.
62
+ *
63
+ * @param projectPath - Optional project root path
64
+ * @returns true if daemon is running
65
+ *
66
+ * @example
67
+ * ```typescript
68
+ * if (!await isDaemonRunning()) {
69
+ * await startDaemon();
70
+ * }
71
+ * ```
72
+ */
73
+ export declare function isDaemonRunning(projectPath?: string): Promise<boolean>;
74
+ /**
75
+ * Health check - verify daemon is responding
76
+ *
77
+ * Connects to the daemon and runs SELECT 1 query.
78
+ * Times out after 5 seconds.
79
+ *
80
+ * @param options - Connection options (port/host or path)
81
+ * @returns true if daemon is healthy
82
+ *
83
+ * @example
84
+ * ```typescript
85
+ * const healthy = await healthCheck({ port: 5433 });
86
+ * if (!healthy) {
87
+ * console.error('Daemon not responding');
88
+ * }
89
+ * ```
90
+ */
91
+ export declare function healthCheck(options: Pick<DaemonOptions, "port" | "host" | "path">): Promise<boolean>;
92
+ /**
93
+ * Start pglite-server daemon
94
+ *
95
+ * Spawns pglite-server as a detached background process.
96
+ * Writes PID file and waits for server to be ready via health check.
97
+ *
98
+ * If daemon is already running, returns existing daemon info.
99
+ *
100
+ * @param options - Daemon configuration
101
+ * @returns Daemon info (PID and connection details)
102
+ * @throws Error if daemon fails to start
103
+ *
104
+ * @example
105
+ * ```typescript
106
+ * // Start with TCP port
107
+ * const { pid, port } = await startDaemon({ port: 5433 });
108
+ *
109
+ * // Start with Unix socket
110
+ * const { pid, socketPath } = await startDaemon({
111
+ * path: '/tmp/swarm-mail-pglite.sock'
112
+ * });
113
+ *
114
+ * // Start with custom database path
115
+ * const { pid, port } = await startDaemon({
116
+ * port: 5433,
117
+ * dbPath: '/custom/path/to/db'
118
+ * });
119
+ * ```
120
+ */
121
+ export declare function startDaemon(options?: DaemonOptions): Promise<DaemonInfo>;
122
+ /**
123
+ * Stop pglite-server daemon
124
+ *
125
+ * Sends SIGTERM to the daemon process and waits for clean shutdown.
126
+ * Cleans up PID file after process exits.
127
+ *
128
+ * If daemon is not running, this is a no-op (not an error).
129
+ *
130
+ * @param projectPath - Optional project root path
131
+ * @throws Error if daemon doesn't stop within timeout
132
+ *
133
+ * @example
134
+ * ```typescript
135
+ * await stopDaemon('/path/to/project');
136
+ * ```
137
+ */
138
+ export declare function stopDaemon(projectPath?: string): Promise<void>;
139
+ //# sourceMappingURL=daemon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../src/daemon.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AASH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gFAAgF;IAChF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,iBAAiB;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAkB3D;AAqGD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,eAAe,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAM5E;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,WAAW,CAC/B,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,GACrD,OAAO,CAAC,OAAO,CAAC,CA2BlB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAsB,WAAW,CAC/B,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,UAAU,CAAC,CAgErB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA4CpE"}
package/dist/index.d.ts CHANGED
@@ -17,6 +17,11 @@
17
17
  export declare const SWARM_MAIL_VERSION = "0.1.0";
18
18
  export { createSwarmMailAdapter } from "./adapter";
19
19
  export type { DatabaseAdapter, SwarmMailAdapter, EventStoreAdapter, AgentAdapter, MessagingAdapter, ReservationAdapter, SchemaAdapter, ReadEventsOptions, InboxOptions, Message, Reservation, Conflict, } from "./types";
20
- export { getSwarmMail, createInMemorySwarmMail, closeSwarmMail, closeAllSwarmMail, getDatabasePath, PGlite, } from "./pglite";
20
+ export { getSwarmMail, getSwarmMailSocket, createInMemorySwarmMail, closeSwarmMail, closeAllSwarmMail, getDatabasePath, getProjectTempDirName, hashProjectPath, PGlite, } from "./pglite";
21
+ export { wrapPostgres, createSocketAdapter, } from "./socket-adapter";
22
+ export type { SocketAdapterOptions } from "./socket-adapter";
21
23
  export * from "./streams";
24
+ export * from "./beads";
25
+ export { startDaemon, stopDaemon, isDaemonRunning, healthCheck, getPidFilePath, } from "./daemon";
26
+ export type { DaemonOptions, DaemonInfo } from "./daemon";
22
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAM1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACnD,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,OAAO,EACP,WAAW,EACX,QAAQ,GACT,MAAM,SAAS,CAAC;AAMjB,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,MAAM,GACP,MAAM,UAAU,CAAC;AAMlB,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAM1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACnD,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,OAAO,EACP,WAAW,EACX,QAAQ,GACT,MAAM,SAAS,CAAC;AAMjB,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,uBAAuB,EACvB,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,MAAM,GACP,MAAM,UAAU,CAAC;AAMlB,OAAO,EACL,YAAY,EACZ,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAM7D,cAAc,WAAW,CAAC;AAM1B,cAAc,SAAS,CAAC;AAMxB,OAAO,EACL,WAAW,EACX,UAAU,EACV,eAAe,EACf,WAAW,EACX,cAAc,GACf,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC"}