@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.
Files changed (48) hide show
  1. package/dist/helpers.d.ts +72 -0
  2. package/dist/index.d.ts +10 -0
  3. package/dist/index.js +4816 -0
  4. package/dist/projections/index.d.ts +16 -0
  5. package/dist/projections/pilots.d.ts +19 -0
  6. package/dist/replay.d.ts +19 -0
  7. package/dist/src/helpers.d.ts +73 -0
  8. package/dist/src/helpers.d.ts.map +1 -0
  9. package/dist/src/index.d.ts +11 -0
  10. package/dist/src/index.d.ts.map +1 -0
  11. package/dist/src/projections/index.d.ts +17 -0
  12. package/dist/src/projections/index.d.ts.map +1 -0
  13. package/dist/src/projections/pilots.d.ts +20 -0
  14. package/dist/src/projections/pilots.d.ts.map +1 -0
  15. package/dist/src/replay.d.ts +20 -0
  16. package/dist/src/replay.d.ts.map +1 -0
  17. package/dist/src/store.d.ts +61 -0
  18. package/dist/src/store.d.ts.map +1 -0
  19. package/dist/src/types/base.d.ts +33 -0
  20. package/dist/src/types/base.d.ts.map +1 -0
  21. package/dist/src/types/checkpoints.d.ts +255 -0
  22. package/dist/src/types/checkpoints.d.ts.map +1 -0
  23. package/dist/src/types/coordination.d.ts +364 -0
  24. package/dist/src/types/coordination.d.ts.map +1 -0
  25. package/dist/src/types/index.d.ts +1692 -0
  26. package/dist/src/types/index.d.ts.map +1 -0
  27. package/dist/src/types/messages.d.ts +295 -0
  28. package/dist/src/types/messages.d.ts.map +1 -0
  29. package/dist/src/types/missions.d.ts +258 -0
  30. package/dist/src/types/missions.d.ts.map +1 -0
  31. package/dist/src/types/pilots.d.ts +153 -0
  32. package/dist/src/types/pilots.d.ts.map +1 -0
  33. package/dist/src/types/reservations.d.ts +173 -0
  34. package/dist/src/types/reservations.d.ts.map +1 -0
  35. package/dist/src/types/sorties.d.ts +372 -0
  36. package/dist/src/types/sorties.d.ts.map +1 -0
  37. package/dist/store.d.ts +56 -0
  38. package/dist/tsconfig.tsbuildinfo +1 -0
  39. package/dist/types/base.d.ts +32 -0
  40. package/dist/types/checkpoints.d.ts +254 -0
  41. package/dist/types/coordination.d.ts +363 -0
  42. package/dist/types/index.d.ts +1691 -0
  43. package/dist/types/messages.d.ts +294 -0
  44. package/dist/types/missions.d.ts +257 -0
  45. package/dist/types/pilots.d.ts +152 -0
  46. package/dist/types/reservations.d.ts +172 -0
  47. package/dist/types/sorties.d.ts +371 -0
  48. 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>;
@@ -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"}