swarm-mail 1.4.0 → 1.5.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.
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAgCxD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,eAAe,EACnB,UAAU,EAAE,MAAM,GACjB,gBAAgB,CA4QlB"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AA0CxD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,eAAe,EACnB,UAAU,EAAE,MAAM,GACjB,gBAAgB,CA4QlB"}
@@ -0,0 +1,46 @@
1
+ import type { DatabaseAdapter } from "./types/database.js";
2
+ /**
3
+ * Analytics query definition for pre-built queries.
4
+ * Based on Google's Four Golden Signals: Latency, Traffic, Errors, Saturation.
5
+ */
6
+ export interface AnalyticsQuery {
7
+ /** Short name for CLI reference (e.g., "latency", "traffic") */
8
+ name: string;
9
+ /** Human-readable description */
10
+ description: string;
11
+ /** Parameterized SQL query (use ? placeholders for since/until) */
12
+ sql: string;
13
+ /** Format query results as string (table/json/csv handled by caller) */
14
+ format: (rows: unknown[]) => string;
15
+ }
16
+ /**
17
+ * Pre-built analytics queries for swarm-db CLI.
18
+ * Based on Four Golden Signals monitoring framework.
19
+ */
20
+ export declare const ANALYTICS_QUERIES: AnalyticsQuery[];
21
+ /**
22
+ * Run a pre-built analytics query against the database.
23
+ *
24
+ * @param db Database adapter
25
+ * @param queryName Name of the query to run (e.g., "latency", "traffic")
26
+ * @param options Query options
27
+ * @param options.since Filter events after this timestamp
28
+ * @param options.until Filter events before this timestamp
29
+ * @param options.format Output format: "table" (default), "json", or "csv"
30
+ * @returns Formatted query results as string
31
+ *
32
+ * @throws Error if query name is not found
33
+ *
34
+ * @example
35
+ * ```typescript
36
+ * const db = await createInMemoryDatabaseAdapter();
37
+ * const result = await runAnalyticsQuery(db, "latency", { format: "json" });
38
+ * console.log(result);
39
+ * ```
40
+ */
41
+ export declare function runAnalyticsQuery(db: DatabaseAdapter, queryName: string, options?: {
42
+ since?: Date;
43
+ until?: Date;
44
+ format?: "table" | "json" | "csv";
45
+ }): Promise<string>;
46
+ //# sourceMappingURL=analytics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../src/analytics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC9B,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,GAAG,EAAE,MAAM,CAAC;IACZ,wEAAwE;IACxE,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,MAAM,CAAC;CACpC;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,cAAc,EAuH7C,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,iBAAiB,CACtC,EAAE,EAAE,eAAe,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE;IACT,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,KAAK,CAAC,EAAE,IAAI,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;CAClC,GACC,OAAO,CAAC,MAAM,CAAC,CA2CjB"}
@@ -0,0 +1,24 @@
1
+ import { Effect } from "effect";
2
+ /**
3
+ * Wraps an Effect operation with retry logic for SQLite BUSY/LOCKED errors
4
+ *
5
+ * Retries on:
6
+ * - SQLITE_BUSY: database is locked by another connection
7
+ * - SQLITE_LOCKED: database table is locked
8
+ *
9
+ * Fails immediately on:
10
+ * - SQLITE_CONSTRAINT: constraint violation (e.g., unique, foreign key)
11
+ * - SQLITE_MISMATCH: type mismatch
12
+ * - Other errors
13
+ *
14
+ * Uses exponential backoff: 100ms, 200ms, 400ms (3 retries max)
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * const operation = Effect.tryPromise(() => db.execute("INSERT ..."));
19
+ * const withRetry = withSqliteRetry(operation);
20
+ * await Effect.runPromise(withRetry);
21
+ * ```
22
+ */
23
+ export declare const withSqliteRetry: <A, E>(operation: Effect.Effect<A, E>) => Effect.Effect<A, E>;
24
+ //# sourceMappingURL=retry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/db/retry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAY,MAAM,QAAQ,CAAC;AAyB1C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,eAAe,GAAI,CAAC,EAAE,CAAC,EACnC,WAAW,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAC5B,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CASpB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -33,8 +33,10 @@ export { createEvent } from "./streams/events";
33
33
  export { appendEvent, clearAdapterCache, getActiveReservations, getAgent, getEvalRecords, getEvalStats, getOldProjectDbPaths, readEvents, } from "./streams/index";
34
34
  export type { EvalRecord } from "./streams/projections-drizzle";
35
35
  export { acknowledgeSwarmMessage, checkSwarmHealth as checkSwarmMailHealth, getSwarmInbox, initSwarmAgent, readSwarmMessage, releaseSwarmFiles, reserveSwarmFiles, sendSwarmMessage, } from "./streams/swarm-mail";
36
- export { agentActivity, checkpointFrequency, failedDecompositions, formatCSV, formatJSON, formatJSONL, formatTable, humanFeedback, lockContention, messageLatency, QueryBuilder, recoverySuccess, scopeViolations, strategySuccessRates, taskDuration, } from "./analytics";
37
- export type { AgentActivityFilters, AnalyticsQuery, FailedDecompositionsFilters, LockContentionFilters, MessageLatencyFilters, OutputFormat, QueryResult, StrategySuccessRatesFilters, } from "./analytics";
36
+ export { agentActivity, checkpointFrequency, failedDecompositions, formatCSV, formatJSON, formatJSONL, formatTable, humanFeedback, lockContention, messageLatency, QueryBuilder, recoverySuccess, scopeViolations, strategySuccessRates, taskDuration, } from "./analytics/index.js";
37
+ export type { AgentActivityFilters, FailedDecompositionsFilters, LockContentionFilters, MessageLatencyFilters, OutputFormat, QueryResult, StrategySuccessRatesFilters, } from "./analytics/index.js";
38
+ export { ANALYTICS_QUERIES, runAnalyticsQuery } from "./analytics.js";
39
+ export type { AnalyticsQuery } from "./analytics/types.js";
38
40
  export * from "./hive";
39
41
  export { createMemoryAdapter } from "./memory/adapter";
40
42
  export type { MigrationOptions, MigrationResult, } from "./memory/migrate-legacy";
@@ -50,6 +52,7 @@ export { createTestMemoryDb } from "./memory/test-utils";
50
52
  export type { SwarmDb } from "./db";
51
53
  export { closeDb, createInMemoryDb, getDb } from "./db";
52
54
  export { createDrizzleClient } from "./db/drizzle";
55
+ export { withSqliteRetry } from "./db/retry";
53
56
  export { toDrizzleDb, toSwarmDb } from "./libsql.convenience";
54
57
  export { type MigrationOptions as PGliteMigrationOptions, type MigrationResult as PGliteMigrationResult, migratePGliteToLibSQL, pgliteExists, } from "./migrate-pglite-to-libsql";
55
58
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}