@fleettools/events 0.1.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/dist/helpers.d.ts +72 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.js +4816 -0
- package/dist/projections/index.d.ts +16 -0
- package/dist/projections/pilots.d.ts +19 -0
- package/dist/replay.d.ts +19 -0
- package/dist/src/helpers.d.ts +73 -0
- package/dist/src/helpers.d.ts.map +1 -0
- package/dist/src/index.d.ts +11 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/projections/index.d.ts +17 -0
- package/dist/src/projections/index.d.ts.map +1 -0
- package/dist/src/projections/pilots.d.ts +20 -0
- package/dist/src/projections/pilots.d.ts.map +1 -0
- package/dist/src/replay.d.ts +20 -0
- package/dist/src/replay.d.ts.map +1 -0
- package/dist/src/store.d.ts +61 -0
- package/dist/src/store.d.ts.map +1 -0
- package/dist/src/types/base.d.ts +33 -0
- package/dist/src/types/base.d.ts.map +1 -0
- package/dist/src/types/checkpoints.d.ts +255 -0
- package/dist/src/types/checkpoints.d.ts.map +1 -0
- package/dist/src/types/coordination.d.ts +364 -0
- package/dist/src/types/coordination.d.ts.map +1 -0
- package/dist/src/types/index.d.ts +1692 -0
- package/dist/src/types/index.d.ts.map +1 -0
- package/dist/src/types/messages.d.ts +295 -0
- package/dist/src/types/messages.d.ts.map +1 -0
- package/dist/src/types/missions.d.ts +258 -0
- package/dist/src/types/missions.d.ts.map +1 -0
- package/dist/src/types/pilots.d.ts +153 -0
- package/dist/src/types/pilots.d.ts.map +1 -0
- package/dist/src/types/reservations.d.ts +173 -0
- package/dist/src/types/reservations.d.ts.map +1 -0
- package/dist/src/types/sorties.d.ts +372 -0
- package/dist/src/types/sorties.d.ts.map +1 -0
- package/dist/store.d.ts +56 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types/base.d.ts +32 -0
- package/dist/types/checkpoints.d.ts +254 -0
- package/dist/types/coordination.d.ts +363 -0
- package/dist/types/index.d.ts +1691 -0
- package/dist/types/messages.d.ts +294 -0
- package/dist/types/missions.d.ts +257 -0
- package/dist/types/pilots.d.ts +152 -0
- package/dist/types/reservations.d.ts +172 -0
- package/dist/types/sorties.d.ts +371 -0
- package/package.json +37 -0
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FleetTools Projection Index
|
|
3
|
+
*
|
|
4
|
+
* Unified projection handler for all event types.
|
|
5
|
+
*/
|
|
6
|
+
import type { DrizzleDB } from '@fleettools/db';
|
|
7
|
+
import type { FleetEvent } from '../types/index.js';
|
|
8
|
+
/**
|
|
9
|
+
* Handle an event and update appropriate projections
|
|
10
|
+
*/
|
|
11
|
+
export declare function handleEvent(db: DrizzleDB, event: FleetEvent, projectKey: string): Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* Handle multiple events in sequence
|
|
14
|
+
*/
|
|
15
|
+
export declare function handleEvents(db: DrizzleDB, events: FleetEvent[], projectKey: string): Promise<void>;
|
|
16
|
+
export * from './pilots.js';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FleetTools Pilot Projection (Simplified)
|
|
3
|
+
*
|
|
4
|
+
* Updates pilots table from pilot events using raw SQL.
|
|
5
|
+
*/
|
|
6
|
+
import type { DrizzleDB } from '@fleettools/db';
|
|
7
|
+
import type { PilotRegisteredEvent, PilotActiveEvent, PilotDeregisteredEvent } from '../types/pilots.js';
|
|
8
|
+
/**
|
|
9
|
+
* Handle pilot registered event
|
|
10
|
+
*/
|
|
11
|
+
export declare function handlePilotRegistered(db: DrizzleDB, event: PilotRegisteredEvent, projectKey: string): Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* Handle pilot active event
|
|
14
|
+
*/
|
|
15
|
+
export declare function handlePilotActive(db: DrizzleDB, event: PilotActiveEvent, projectKey: string): Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* Handle pilot deregistered event
|
|
18
|
+
*/
|
|
19
|
+
export declare function handlePilotDeregistered(db: DrizzleDB, event: PilotDeregisteredEvent, projectKey: string): Promise<void>;
|
package/dist/replay.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FleetTools Event Replay
|
|
3
|
+
*
|
|
4
|
+
* Event replay functionality for rebuilding projections.
|
|
5
|
+
*/
|
|
6
|
+
import type { DrizzleDB } from '@fleettools/db';
|
|
7
|
+
import type { FleetEvent } from './types/index.js';
|
|
8
|
+
/**
|
|
9
|
+
* Replay events from history to rebuild projections
|
|
10
|
+
*/
|
|
11
|
+
export declare function replayEvents(db: DrizzleDB, events?: FleetEvent[], projectKey?: string): Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* Replay events from a specific sequence number
|
|
14
|
+
*/
|
|
15
|
+
export declare function replayEventsFromSequence(db: DrizzleDB, projectKey: string, fromSequence: number): Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* Replay events within a time range
|
|
18
|
+
*/
|
|
19
|
+
export declare function replayEventsInTimeRange(db: DrizzleDB, projectKey: string, fromTimestamp: string, toTimestamp: string): Promise<void>;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FleetTools Event Helpers
|
|
3
|
+
*
|
|
4
|
+
* Utility functions for event creation, validation, and type guards.
|
|
5
|
+
*/
|
|
6
|
+
import { FleetEventSchema, type FleetEvent } from './types/index.js';
|
|
7
|
+
export { FleetEventSchema };
|
|
8
|
+
/**
|
|
9
|
+
* Create a typed event with validation
|
|
10
|
+
*/
|
|
11
|
+
export declare function createEvent<T extends FleetEvent>(type: T['type'], data: T['data'], options?: {
|
|
12
|
+
id?: string;
|
|
13
|
+
project_key?: string;
|
|
14
|
+
timestamp?: string;
|
|
15
|
+
sequence?: number;
|
|
16
|
+
}): T;
|
|
17
|
+
/**
|
|
18
|
+
* Validate an event using the FleetEvent schema
|
|
19
|
+
*/
|
|
20
|
+
export declare function validateEvent(event: unknown): FleetEvent;
|
|
21
|
+
/**
|
|
22
|
+
* Safe event validation that returns a result
|
|
23
|
+
*/
|
|
24
|
+
export declare function safeValidateEvent(event: unknown): {
|
|
25
|
+
success: boolean;
|
|
26
|
+
data?: FleetEvent;
|
|
27
|
+
error?: string;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Type guard for specific event types
|
|
31
|
+
*/
|
|
32
|
+
export declare function isEventType<T extends FleetEvent>(event: FleetEvent, type: T['type']): event is T;
|
|
33
|
+
/**
|
|
34
|
+
* Type guard for pilot events
|
|
35
|
+
*/
|
|
36
|
+
export declare function isPilotEvent(event: FleetEvent): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Type guard for message events
|
|
39
|
+
*/
|
|
40
|
+
export declare function isMessageEvent(event: FleetEvent): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Type guard for reservation events
|
|
43
|
+
*/
|
|
44
|
+
export declare function isReservationEvent(event: FleetEvent): boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Type guard for sortie events
|
|
47
|
+
*/
|
|
48
|
+
export declare function isSortieEvent(event: FleetEvent): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Type guard for mission events
|
|
51
|
+
*/
|
|
52
|
+
export declare function isMissionEvent(event: FleetEvent): boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Type guard for checkpoint events
|
|
55
|
+
*/
|
|
56
|
+
export declare function isCheckpointEvent(event: FleetEvent): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Type guard for coordination events
|
|
59
|
+
*/
|
|
60
|
+
export declare function isCoordinationEvent(event: FleetEvent): boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Extract event data with proper typing
|
|
63
|
+
*/
|
|
64
|
+
export declare function getEventData<T extends FleetEvent>(event: T): T['data'];
|
|
65
|
+
/**
|
|
66
|
+
* Get event type information
|
|
67
|
+
*/
|
|
68
|
+
export declare function getEventInfo(event: FleetEvent): {
|
|
69
|
+
category: 'pilot' | 'message' | 'reservation' | 'sortie' | 'mission' | 'checkpoint' | 'coordination';
|
|
70
|
+
isAggregateEvent: boolean;
|
|
71
|
+
isSystemEvent: boolean;
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGrE,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAI5B;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,UAAU,EAC9C,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EACf,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EACf,OAAO,GAAE;IACP,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACd,GACL,CAAC,CAiBH;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,CAMxD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG;IACjD,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAUA;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,UAAU,EAC9C,KAAK,EAAE,UAAU,EACjB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,GACd,KAAK,IAAI,CAAC,CAEZ;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAMvD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAQzD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAM7D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CASxD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAOzD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAO5D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAS9D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,UAAU,EAC/C,KAAK,EAAE,CAAC,GACP,CAAC,CAAC,MAAM,CAAC,CAEX;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG;IAC/C,QAAQ,EAAE,OAAO,GAAG,SAAS,GAAG,aAAa,GAAG,QAAQ,GAAG,SAAS,GAAG,YAAY,GAAG,cAAc,CAAC;IACrG,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;CACxB,CAYA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FleetTools Events Package
|
|
3
|
+
*
|
|
4
|
+
* Event types, validation, and storage for FleetTools event sourcing.
|
|
5
|
+
*/
|
|
6
|
+
export * from './types/index.js';
|
|
7
|
+
export * from './helpers.js';
|
|
8
|
+
export * from './store.js';
|
|
9
|
+
export * from './projections/index.js';
|
|
10
|
+
export * from './replay.js';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,cAAc,kBAAkB,CAAC;AAGjC,cAAc,cAAc,CAAC;AAG7B,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FleetTools Projection Index
|
|
3
|
+
*
|
|
4
|
+
* Unified projection handler for all event types.
|
|
5
|
+
*/
|
|
6
|
+
import type { DrizzleDB } from '@fleettools/db';
|
|
7
|
+
import type { FleetEvent } from '../types/index.js';
|
|
8
|
+
/**
|
|
9
|
+
* Handle an event and update appropriate projections
|
|
10
|
+
*/
|
|
11
|
+
export declare function handleEvent(db: DrizzleDB, event: FleetEvent, projectKey: string): Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* Handle multiple events in sequence
|
|
14
|
+
*/
|
|
15
|
+
export declare function handleEvents(db: DrizzleDB, events: FleetEvent[], projectKey: string): Promise<void>;
|
|
16
|
+
export * from './pilots.js';
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/projections/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAKpD;;GAEG;AACH,wBAAsB,WAAW,CAC/B,EAAE,EAAE,SAAS,EACb,KAAK,EAAE,UAAU,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAkBf;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,EAAE,EAAE,SAAS,EACb,MAAM,EAAE,UAAU,EAAE,EACpB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAIf;AAGD,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FleetTools Pilot Projection (Simplified)
|
|
3
|
+
*
|
|
4
|
+
* Updates pilots table from pilot events using raw SQL.
|
|
5
|
+
*/
|
|
6
|
+
import type { DrizzleDB } from '@fleettools/db';
|
|
7
|
+
import type { PilotRegisteredEvent, PilotActiveEvent, PilotDeregisteredEvent } from '../types/pilots.js';
|
|
8
|
+
/**
|
|
9
|
+
* Handle pilot registered event
|
|
10
|
+
*/
|
|
11
|
+
export declare function handlePilotRegistered(db: DrizzleDB, event: PilotRegisteredEvent, projectKey: string): Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* Handle pilot active event
|
|
14
|
+
*/
|
|
15
|
+
export declare function handlePilotActive(db: DrizzleDB, event: PilotActiveEvent, projectKey: string): Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* Handle pilot deregistered event
|
|
18
|
+
*/
|
|
19
|
+
export declare function handlePilotDeregistered(db: DrizzleDB, event: PilotDeregisteredEvent, projectKey: string): Promise<void>;
|
|
20
|
+
//# sourceMappingURL=pilots.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pilots.d.ts","sourceRoot":"","sources":["../../../src/projections/pilots.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EACV,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAU5B;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,EAAE,EAAE,SAAS,EACb,KAAK,EAAE,oBAAoB,EAC3B,UAAU,EAAE,MAAM,iBAuCnB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,SAAS,EACb,KAAK,EAAE,gBAAgB,EACvB,UAAU,EAAE,MAAM,iBAgBnB;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,SAAS,EACb,KAAK,EAAE,sBAAsB,EAC7B,UAAU,EAAE,MAAM,iBAanB"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FleetTools Event Replay
|
|
3
|
+
*
|
|
4
|
+
* Event replay functionality for rebuilding projections.
|
|
5
|
+
*/
|
|
6
|
+
import type { DrizzleDB } from '@fleettools/db';
|
|
7
|
+
import type { FleetEvent } from './types/index.js';
|
|
8
|
+
/**
|
|
9
|
+
* Replay events from history to rebuild projections
|
|
10
|
+
*/
|
|
11
|
+
export declare function replayEvents(db: DrizzleDB, events?: FleetEvent[], projectKey?: string): Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* Replay events from a specific sequence number
|
|
14
|
+
*/
|
|
15
|
+
export declare function replayEventsFromSequence(db: DrizzleDB, projectKey: string, fromSequence: number): Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* Replay events within a time range
|
|
18
|
+
*/
|
|
19
|
+
export declare function replayEventsInTimeRange(db: DrizzleDB, projectKey: string, fromTimestamp: string, toTimestamp: string): Promise<void>;
|
|
20
|
+
//# sourceMappingURL=replay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../../src/replay.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGnD;;GAEG;AACH,wBAAsB,YAAY,CAChC,EAAE,EAAE,SAAS,EACb,MAAM,CAAC,EAAE,UAAU,EAAE,EACrB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAcf;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,EAAE,EAAE,SAAS,EACb,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,SAAS,EACb,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAWf"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FleetTools Event Store
|
|
3
|
+
*
|
|
4
|
+
* Simplified append-only event store using raw SQL for compatibility.
|
|
5
|
+
*/
|
|
6
|
+
import type { DrizzleDB } from '@fleettools/db';
|
|
7
|
+
import { type FleetEvent } from './types/index.js';
|
|
8
|
+
/**
|
|
9
|
+
* Options for querying events
|
|
10
|
+
*/
|
|
11
|
+
export interface QueryEventsOptions {
|
|
12
|
+
project_key: string;
|
|
13
|
+
type?: string | string[];
|
|
14
|
+
from_sequence?: number;
|
|
15
|
+
to_sequence?: number;
|
|
16
|
+
from_timestamp?: string;
|
|
17
|
+
to_timestamp?: string;
|
|
18
|
+
limit?: number;
|
|
19
|
+
offset?: number;
|
|
20
|
+
order?: 'asc' | 'desc';
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Event store class for append-only storage and retrieval
|
|
24
|
+
*/
|
|
25
|
+
export declare class EventStore {
|
|
26
|
+
private db;
|
|
27
|
+
constructor(db: DrizzleDB);
|
|
28
|
+
/**
|
|
29
|
+
* Get the underlying SQLite database for raw SQL access
|
|
30
|
+
*/
|
|
31
|
+
private getSQLiteDb;
|
|
32
|
+
/**
|
|
33
|
+
* Append an event to store
|
|
34
|
+
*/
|
|
35
|
+
append(event: FleetEvent, projectKey: string): Promise<FleetEvent>;
|
|
36
|
+
/**
|
|
37
|
+
* Ensure events table exists
|
|
38
|
+
*/
|
|
39
|
+
private ensureTablesExist;
|
|
40
|
+
/**
|
|
41
|
+
* Query events with filtering options
|
|
42
|
+
*/
|
|
43
|
+
query(options: QueryEventsOptions): Promise<FleetEvent[]>;
|
|
44
|
+
/**
|
|
45
|
+
* Get the latest event for a project
|
|
46
|
+
*/
|
|
47
|
+
getLatest(projectKey: string): Promise<FleetEvent | null>;
|
|
48
|
+
/**
|
|
49
|
+
* Get the latest sequence number for a project
|
|
50
|
+
*/
|
|
51
|
+
getLatestSequence(projectKey: string): Promise<number>;
|
|
52
|
+
/**
|
|
53
|
+
* Count events matching the criteria
|
|
54
|
+
*/
|
|
55
|
+
count(projectKey: string, options?: Partial<QueryEventsOptions>): Promise<number>;
|
|
56
|
+
/**
|
|
57
|
+
* Create an EventStore instance from a database connection
|
|
58
|
+
*/
|
|
59
|
+
static fromDb(db: DrizzleDB): EventStore;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAGrE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,qBAAa,UAAU;IACT,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,SAAS;IAEjC;;OAEG;IACH,OAAO,CAAC,WAAW;IAKnB;;OAEG;IACG,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAqCxE;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAsBzB;;OAEG;IACG,KAAK,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAoF/D;;OAEG;IACG,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAqC/D;;OAEG;IACG,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAiB5D;;OAEG;IACG,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,OAAO,CAAC,kBAAkB,CAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAkC3F;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,GAAG,UAAU;CAGzC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FleetTools Base Event Schema
|
|
3
|
+
*
|
|
4
|
+
* Base event schema with common fields for all FleetTools events.
|
|
5
|
+
*/
|
|
6
|
+
import { z } from 'zod';
|
|
7
|
+
/**
|
|
8
|
+
* Base event schema with common fields
|
|
9
|
+
*/
|
|
10
|
+
export declare const BaseEventSchema: z.ZodObject<{
|
|
11
|
+
id: z.ZodString;
|
|
12
|
+
type: z.ZodString;
|
|
13
|
+
project_key: z.ZodString;
|
|
14
|
+
timestamp: z.ZodString;
|
|
15
|
+
sequence: z.ZodNumber;
|
|
16
|
+
data: z.ZodUnknown;
|
|
17
|
+
}, "strip", z.ZodTypeAny, {
|
|
18
|
+
id: string;
|
|
19
|
+
type: string;
|
|
20
|
+
project_key: string;
|
|
21
|
+
timestamp: string;
|
|
22
|
+
sequence: number;
|
|
23
|
+
data?: unknown;
|
|
24
|
+
}, {
|
|
25
|
+
id: string;
|
|
26
|
+
type: string;
|
|
27
|
+
project_key: string;
|
|
28
|
+
timestamp: string;
|
|
29
|
+
sequence: number;
|
|
30
|
+
data?: unknown;
|
|
31
|
+
}>;
|
|
32
|
+
export type BaseEvent = z.infer<typeof BaseEventSchema>;
|
|
33
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/types/base.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;EAO1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FleetTools Checkpoint Event Schemas
|
|
3
|
+
*
|
|
4
|
+
* Zod schemas for checkpoint-related events.
|
|
5
|
+
*/
|
|
6
|
+
import { z } from 'zod';
|
|
7
|
+
/**
|
|
8
|
+
* Checkpoint created event
|
|
9
|
+
*/
|
|
10
|
+
export declare const CheckpointCreatedSchema: z.ZodObject<{
|
|
11
|
+
id: z.ZodString;
|
|
12
|
+
project_key: z.ZodString;
|
|
13
|
+
timestamp: z.ZodString;
|
|
14
|
+
sequence: z.ZodNumber;
|
|
15
|
+
} & {
|
|
16
|
+
type: z.ZodLiteral<"checkpoint_created">;
|
|
17
|
+
data: z.ZodObject<{
|
|
18
|
+
checkpoint_id: z.ZodString;
|
|
19
|
+
mission_id: z.ZodOptional<z.ZodString>;
|
|
20
|
+
sortie_id: z.ZodOptional<z.ZodString>;
|
|
21
|
+
callsign: z.ZodString;
|
|
22
|
+
trigger: z.ZodString;
|
|
23
|
+
progress_percent: z.ZodOptional<z.ZodNumber>;
|
|
24
|
+
summary: z.ZodOptional<z.ZodString>;
|
|
25
|
+
context_data: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
26
|
+
}, "strip", z.ZodTypeAny, {
|
|
27
|
+
callsign: string;
|
|
28
|
+
checkpoint_id: string;
|
|
29
|
+
trigger: string;
|
|
30
|
+
sortie_id?: string | undefined;
|
|
31
|
+
mission_id?: string | undefined;
|
|
32
|
+
summary?: string | undefined;
|
|
33
|
+
progress_percent?: number | undefined;
|
|
34
|
+
context_data?: Record<string, unknown> | undefined;
|
|
35
|
+
}, {
|
|
36
|
+
callsign: string;
|
|
37
|
+
checkpoint_id: string;
|
|
38
|
+
trigger: string;
|
|
39
|
+
sortie_id?: string | undefined;
|
|
40
|
+
mission_id?: string | undefined;
|
|
41
|
+
summary?: string | undefined;
|
|
42
|
+
progress_percent?: number | undefined;
|
|
43
|
+
context_data?: Record<string, unknown> | undefined;
|
|
44
|
+
}>;
|
|
45
|
+
}, "strip", z.ZodTypeAny, {
|
|
46
|
+
id: string;
|
|
47
|
+
type: "checkpoint_created";
|
|
48
|
+
project_key: string;
|
|
49
|
+
timestamp: string;
|
|
50
|
+
sequence: number;
|
|
51
|
+
data: {
|
|
52
|
+
callsign: string;
|
|
53
|
+
checkpoint_id: string;
|
|
54
|
+
trigger: string;
|
|
55
|
+
sortie_id?: string | undefined;
|
|
56
|
+
mission_id?: string | undefined;
|
|
57
|
+
summary?: string | undefined;
|
|
58
|
+
progress_percent?: number | undefined;
|
|
59
|
+
context_data?: Record<string, unknown> | undefined;
|
|
60
|
+
};
|
|
61
|
+
}, {
|
|
62
|
+
id: string;
|
|
63
|
+
type: "checkpoint_created";
|
|
64
|
+
project_key: string;
|
|
65
|
+
timestamp: string;
|
|
66
|
+
sequence: number;
|
|
67
|
+
data: {
|
|
68
|
+
callsign: string;
|
|
69
|
+
checkpoint_id: string;
|
|
70
|
+
trigger: string;
|
|
71
|
+
sortie_id?: string | undefined;
|
|
72
|
+
mission_id?: string | undefined;
|
|
73
|
+
summary?: string | undefined;
|
|
74
|
+
progress_percent?: number | undefined;
|
|
75
|
+
context_data?: Record<string, unknown> | undefined;
|
|
76
|
+
};
|
|
77
|
+
}>;
|
|
78
|
+
/**
|
|
79
|
+
* Context compacted event
|
|
80
|
+
*/
|
|
81
|
+
export declare const ContextCompactedSchema: z.ZodObject<{
|
|
82
|
+
id: z.ZodString;
|
|
83
|
+
project_key: z.ZodString;
|
|
84
|
+
timestamp: z.ZodString;
|
|
85
|
+
sequence: z.ZodNumber;
|
|
86
|
+
} & {
|
|
87
|
+
type: z.ZodLiteral<"context_compacted">;
|
|
88
|
+
data: z.ZodObject<{
|
|
89
|
+
checkpoint_id: z.ZodString;
|
|
90
|
+
compacted_by: z.ZodString;
|
|
91
|
+
original_size: z.ZodNumber;
|
|
92
|
+
compacted_size: z.ZodNumber;
|
|
93
|
+
compression_ratio: z.ZodNumber;
|
|
94
|
+
compacted_at: z.ZodString;
|
|
95
|
+
}, "strip", z.ZodTypeAny, {
|
|
96
|
+
checkpoint_id: string;
|
|
97
|
+
compacted_by: string;
|
|
98
|
+
original_size: number;
|
|
99
|
+
compacted_size: number;
|
|
100
|
+
compression_ratio: number;
|
|
101
|
+
compacted_at: string;
|
|
102
|
+
}, {
|
|
103
|
+
checkpoint_id: string;
|
|
104
|
+
compacted_by: string;
|
|
105
|
+
original_size: number;
|
|
106
|
+
compacted_size: number;
|
|
107
|
+
compression_ratio: number;
|
|
108
|
+
compacted_at: string;
|
|
109
|
+
}>;
|
|
110
|
+
}, "strip", z.ZodTypeAny, {
|
|
111
|
+
id: string;
|
|
112
|
+
type: "context_compacted";
|
|
113
|
+
project_key: string;
|
|
114
|
+
timestamp: string;
|
|
115
|
+
sequence: number;
|
|
116
|
+
data: {
|
|
117
|
+
checkpoint_id: string;
|
|
118
|
+
compacted_by: string;
|
|
119
|
+
original_size: number;
|
|
120
|
+
compacted_size: number;
|
|
121
|
+
compression_ratio: number;
|
|
122
|
+
compacted_at: string;
|
|
123
|
+
};
|
|
124
|
+
}, {
|
|
125
|
+
id: string;
|
|
126
|
+
type: "context_compacted";
|
|
127
|
+
project_key: string;
|
|
128
|
+
timestamp: string;
|
|
129
|
+
sequence: number;
|
|
130
|
+
data: {
|
|
131
|
+
checkpoint_id: string;
|
|
132
|
+
compacted_by: string;
|
|
133
|
+
original_size: number;
|
|
134
|
+
compacted_size: number;
|
|
135
|
+
compression_ratio: number;
|
|
136
|
+
compacted_at: string;
|
|
137
|
+
};
|
|
138
|
+
}>;
|
|
139
|
+
/**
|
|
140
|
+
* Checkpoint restored event
|
|
141
|
+
*/
|
|
142
|
+
export declare const CheckpointRestoredSchema: z.ZodObject<{
|
|
143
|
+
id: z.ZodString;
|
|
144
|
+
project_key: z.ZodString;
|
|
145
|
+
timestamp: z.ZodString;
|
|
146
|
+
sequence: z.ZodNumber;
|
|
147
|
+
} & {
|
|
148
|
+
type: z.ZodLiteral<"checkpoint_restored">;
|
|
149
|
+
data: z.ZodObject<{
|
|
150
|
+
checkpoint_id: z.ZodString;
|
|
151
|
+
restored_by: z.ZodString;
|
|
152
|
+
restored_at: z.ZodString;
|
|
153
|
+
restore_target: z.ZodString;
|
|
154
|
+
success: z.ZodBoolean;
|
|
155
|
+
notes: z.ZodOptional<z.ZodString>;
|
|
156
|
+
}, "strip", z.ZodTypeAny, {
|
|
157
|
+
success: boolean;
|
|
158
|
+
checkpoint_id: string;
|
|
159
|
+
restored_by: string;
|
|
160
|
+
restored_at: string;
|
|
161
|
+
restore_target: string;
|
|
162
|
+
notes?: string | undefined;
|
|
163
|
+
}, {
|
|
164
|
+
success: boolean;
|
|
165
|
+
checkpoint_id: string;
|
|
166
|
+
restored_by: string;
|
|
167
|
+
restored_at: string;
|
|
168
|
+
restore_target: string;
|
|
169
|
+
notes?: string | undefined;
|
|
170
|
+
}>;
|
|
171
|
+
}, "strip", z.ZodTypeAny, {
|
|
172
|
+
id: string;
|
|
173
|
+
type: "checkpoint_restored";
|
|
174
|
+
project_key: string;
|
|
175
|
+
timestamp: string;
|
|
176
|
+
sequence: number;
|
|
177
|
+
data: {
|
|
178
|
+
success: boolean;
|
|
179
|
+
checkpoint_id: string;
|
|
180
|
+
restored_by: string;
|
|
181
|
+
restored_at: string;
|
|
182
|
+
restore_target: string;
|
|
183
|
+
notes?: string | undefined;
|
|
184
|
+
};
|
|
185
|
+
}, {
|
|
186
|
+
id: string;
|
|
187
|
+
type: "checkpoint_restored";
|
|
188
|
+
project_key: string;
|
|
189
|
+
timestamp: string;
|
|
190
|
+
sequence: number;
|
|
191
|
+
data: {
|
|
192
|
+
success: boolean;
|
|
193
|
+
checkpoint_id: string;
|
|
194
|
+
restored_by: string;
|
|
195
|
+
restored_at: string;
|
|
196
|
+
restore_target: string;
|
|
197
|
+
notes?: string | undefined;
|
|
198
|
+
};
|
|
199
|
+
}>;
|
|
200
|
+
/**
|
|
201
|
+
* Checkpoint deleted event
|
|
202
|
+
*/
|
|
203
|
+
export declare const CheckpointDeletedSchema: z.ZodObject<{
|
|
204
|
+
id: z.ZodString;
|
|
205
|
+
project_key: z.ZodString;
|
|
206
|
+
timestamp: z.ZodString;
|
|
207
|
+
sequence: z.ZodNumber;
|
|
208
|
+
} & {
|
|
209
|
+
type: z.ZodLiteral<"checkpoint_deleted">;
|
|
210
|
+
data: z.ZodObject<{
|
|
211
|
+
checkpoint_id: z.ZodString;
|
|
212
|
+
deleted_by: z.ZodString;
|
|
213
|
+
deleted_at: z.ZodString;
|
|
214
|
+
reason: z.ZodEnum<["expired", "manual", "cleanup"]>;
|
|
215
|
+
}, "strip", z.ZodTypeAny, {
|
|
216
|
+
reason: "manual" | "expired" | "cleanup";
|
|
217
|
+
deleted_by: string;
|
|
218
|
+
checkpoint_id: string;
|
|
219
|
+
deleted_at: string;
|
|
220
|
+
}, {
|
|
221
|
+
reason: "manual" | "expired" | "cleanup";
|
|
222
|
+
deleted_by: string;
|
|
223
|
+
checkpoint_id: string;
|
|
224
|
+
deleted_at: string;
|
|
225
|
+
}>;
|
|
226
|
+
}, "strip", z.ZodTypeAny, {
|
|
227
|
+
id: string;
|
|
228
|
+
type: "checkpoint_deleted";
|
|
229
|
+
project_key: string;
|
|
230
|
+
timestamp: string;
|
|
231
|
+
sequence: number;
|
|
232
|
+
data: {
|
|
233
|
+
reason: "manual" | "expired" | "cleanup";
|
|
234
|
+
deleted_by: string;
|
|
235
|
+
checkpoint_id: string;
|
|
236
|
+
deleted_at: string;
|
|
237
|
+
};
|
|
238
|
+
}, {
|
|
239
|
+
id: string;
|
|
240
|
+
type: "checkpoint_deleted";
|
|
241
|
+
project_key: string;
|
|
242
|
+
timestamp: string;
|
|
243
|
+
sequence: number;
|
|
244
|
+
data: {
|
|
245
|
+
reason: "manual" | "expired" | "cleanup";
|
|
246
|
+
deleted_by: string;
|
|
247
|
+
checkpoint_id: string;
|
|
248
|
+
deleted_at: string;
|
|
249
|
+
};
|
|
250
|
+
}>;
|
|
251
|
+
export type CheckpointCreatedEvent = z.infer<typeof CheckpointCreatedSchema>;
|
|
252
|
+
export type ContextCompactedEvent = z.infer<typeof ContextCompactedSchema>;
|
|
253
|
+
export type CheckpointRestoredEvent = z.infer<typeof CheckpointRestoredSchema>;
|
|
254
|
+
export type CheckpointDeletedEvent = z.infer<typeof CheckpointDeletedSchema>;
|
|
255
|
+
//# sourceMappingURL=checkpoints.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkpoints.d.ts","sourceRoot":"","sources":["../../../src/types/checkpoints.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYlC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUjC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUnC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQlC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC7E,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAC3E,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC/E,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
|