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.
- package/README.md +4 -0
- package/bin/daemon-cli.ts +304 -0
- package/dist/beads/adapter.d.ts +38 -0
- package/dist/beads/adapter.d.ts.map +1 -0
- package/dist/beads/blocked-cache.d.ts +21 -0
- package/dist/beads/blocked-cache.d.ts.map +1 -0
- package/dist/beads/comments.d.ts +21 -0
- package/dist/beads/comments.d.ts.map +1 -0
- package/dist/beads/dependencies.d.ts +58 -0
- package/dist/beads/dependencies.d.ts.map +1 -0
- package/dist/beads/events.d.ts +163 -0
- package/dist/beads/events.d.ts.map +1 -0
- package/dist/beads/flush-manager.d.ts +71 -0
- package/dist/beads/flush-manager.d.ts.map +1 -0
- package/dist/beads/index.d.ts +25 -0
- package/dist/beads/index.d.ts.map +1 -0
- package/dist/beads/jsonl.d.ts +103 -0
- package/dist/beads/jsonl.d.ts.map +1 -0
- package/dist/beads/labels.d.ts +21 -0
- package/dist/beads/labels.d.ts.map +1 -0
- package/dist/beads/merge.d.ts +99 -0
- package/dist/beads/merge.d.ts.map +1 -0
- package/dist/beads/migrations.d.ts +41 -0
- package/dist/beads/migrations.d.ts.map +1 -0
- package/dist/beads/operations.d.ts +56 -0
- package/dist/beads/operations.d.ts.map +1 -0
- package/dist/beads/projections.d.ts +103 -0
- package/dist/beads/projections.d.ts.map +1 -0
- package/dist/beads/queries.d.ts +77 -0
- package/dist/beads/queries.d.ts.map +1 -0
- package/dist/beads/store.d.ts +98 -0
- package/dist/beads/store.d.ts.map +1 -0
- package/dist/beads/validation.d.ts +75 -0
- package/dist/beads/validation.d.ts.map +1 -0
- package/dist/daemon.d.ts +139 -0
- package/dist/daemon.d.ts.map +1 -0
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8314 -4513
- package/dist/pglite.d.ts +78 -5
- package/dist/pglite.d.ts.map +1 -1
- package/dist/socket-adapter.d.ts +78 -0
- package/dist/socket-adapter.d.ts.map +1 -0
- package/dist/streams/debug.d.ts.map +1 -1
- package/dist/streams/effect/ask.integration-test.d.ts +8 -0
- package/dist/streams/effect/ask.integration-test.d.ts.map +1 -0
- package/dist/streams/effect/cursor.integration-test.d.ts +2 -0
- package/dist/streams/effect/cursor.integration-test.d.ts.map +1 -0
- package/dist/streams/index.d.ts.map +1 -1
- package/dist/streams/leader-election.d.ts +44 -0
- package/dist/streams/leader-election.d.ts.map +1 -0
- package/dist/streams/migrations.d.ts +1 -1
- package/dist/streams/migrations.d.ts.map +1 -1
- package/dist/streams/store.d.ts.map +1 -1
- package/dist/streams/store.integration-test.d.ts +2 -0
- package/dist/streams/store.integration-test.d.ts.map +1 -0
- package/dist/types/beads-adapter.d.ts +397 -0
- package/dist/types/beads-adapter.d.ts.map +1 -0
- 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"}
|
package/dist/daemon.d.ts
ADDED
|
@@ -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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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"}
|