@xyo-network/event-kit-node 0.0.1 → 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 (30) hide show
  1. package/README.md +37 -3
  2. package/dist/node/filesystemDurability.d.ts +11 -0
  3. package/dist/node/filesystemDurability.d.ts.map +1 -0
  4. package/dist/node/filesystemEventKitReplayCheckpointStore.d.ts +8 -0
  5. package/dist/node/filesystemEventKitReplayCheckpointStore.d.ts.map +1 -0
  6. package/dist/node/filesystemFinalizedStatementPublicationJournal.d.ts +14 -0
  7. package/dist/node/filesystemFinalizedStatementPublicationJournal.d.ts.map +1 -0
  8. package/dist/node/filesystemHandshakeMutationIntentStore.d.ts +12 -0
  9. package/dist/node/filesystemHandshakeMutationIntentStore.d.ts.map +1 -0
  10. package/dist/node/filesystemJson.d.ts +14 -0
  11. package/dist/node/filesystemJson.d.ts.map +1 -0
  12. package/dist/node/filesystemPublisherEncryptionKeyStore.d.ts +15 -0
  13. package/dist/node/filesystemPublisherEncryptionKeyStore.d.ts.map +1 -0
  14. package/dist/node/filesystemPublisherEndpointChallengeStore.d.ts +12 -0
  15. package/dist/node/filesystemPublisherEndpointChallengeStore.d.ts.map +1 -0
  16. package/dist/node/filesystemWakeQueue.d.ts +2 -8
  17. package/dist/node/filesystemWakeQueue.d.ts.map +1 -1
  18. package/dist/node/handshake.d.ts +16 -0
  19. package/dist/node/handshake.d.ts.map +1 -0
  20. package/dist/node/handshake.mjs +1977 -0
  21. package/dist/node/handshake.mjs.map +7 -0
  22. package/dist/node/handshakeClients.d.ts +287 -0
  23. package/dist/node/handshakeClients.d.ts.map +1 -0
  24. package/dist/node/handshakeMutationIntent.d.ts +606 -0
  25. package/dist/node/handshakeMutationIntent.d.ts.map +1 -0
  26. package/dist/node/index.d.ts +1 -0
  27. package/dist/node/index.d.ts.map +1 -1
  28. package/dist/node/index.mjs +2015 -61
  29. package/dist/node/index.mjs.map +4 -4
  30. package/package.json +36 -18
package/README.md CHANGED
@@ -8,6 +8,39 @@ Node.js durability adapters for Event Kit:
8
8
  - `createSqliteWakeQueue` — `WakeQueue` over `node:sqlite`, no new dependencies
9
9
  - `createFilesystemWakeInbox` — durable `AtomicWakeInbox` over that queue
10
10
 
11
+ ## Handshake clients
12
+
13
+ Import `@xyo-network/event-kit-node/handshake` for the Phase 3 control-plane
14
+ surface. That subpath exports:
15
+
16
+ - synchronized finalized-replay readers and XL1 publication composition;
17
+ - publisher and subscriber clients for declaration, discovery, encrypted
18
+ subscription/grant publication, challenge, acceptance, and revocation; and
19
+ - filesystem stores for replay checkpoints, mutation intents, publication
20
+ journals, publisher encryption-key custody, and endpoint-challenge decisions.
21
+
22
+ Generated on-chain handshake mutations use a caller-supplied 16-byte
23
+ lowercase-hex operation ID.
24
+ `createFilesystemHandshakeMutationIntentStore` atomically binds the first
25
+ request to its exact random service/key, grant, ciphertext, or acceptance
26
+ artifacts. An exact retry loads that winner before consulting mutable chain
27
+ state; changed input under the same scoped operation ID fails closed.
28
+ Records and directories are private (`0600`/`0700`). Publisher service intents
29
+ retain the encryption private key until it can be copied idempotently into key
30
+ custody. Subscriber intents retain ciphertext and a request fingerprint, not
31
+ endpoint or challenge-secret plaintext.
32
+
33
+ `createFilesystemFinalizedStatementPublicationJournal` then binds the logical
34
+ mutation to its chain, Claim source, ordered object/attachment hashes, and exact
35
+ signed transaction. Restart resumes from the highest durable phase and may
36
+ rebroadcast only that evidence; it never rebuilds or re-signs an ambiguous
37
+ publication.
38
+
39
+ The handshake subpath deliberately does not load the wake queues, inbox,
40
+ outbox, or `node:sqlite`. A clean packed consumer typechecks and executes it
41
+ without SQLite coupling. The resident `publisher run` process that combines
42
+ these clients with finalized scanning and webhook delivery remains Phase 4.
43
+
11
44
  ## Durability model
12
45
 
13
46
  `createFilesystemWakeInbox` commits in one order and that order is the
@@ -46,6 +79,7 @@ ExperimentalWarning.
46
79
  ## Boundary
47
80
 
48
81
  This survives process death, not host loss, and does not coordinate across
49
- machines. Gate 5's durable-adapter clause is satisfied for a single node only; a
50
- multi-node deployment needs a transactional store or a cloud queue with native
51
- deduplication, which remains Phase 5b.
82
+ machines. The historical core implementation plan's Gate 5 durable-adapter
83
+ clause is satisfied for a single node only. The on-chain publisher roadmap
84
+ qualifies a single VM in Phases 4-7; a coordinated multi-VM deployment needs a
85
+ transactional shared store, leases, and fencing and is roadmap Phase 8.
@@ -0,0 +1,11 @@
1
+ /** Writes and fsyncs `body` so the bytes survive a crash before the caller publishes it. */
2
+ export declare function writeDurableFile(path: string, body: string, mode?: number): Promise<void>;
3
+ /** Creates a directory tree and fsyncs each new entry through its previously existing parent. */
4
+ export declare function ensureDurableDirectory(path: string, mode?: number): Promise<void>;
5
+ /**
6
+ * Fsyncs a directory so a published entry survives power loss. Only explicit
7
+ * platform/filesystem "directory sync unsupported" errors are non-fatal;
8
+ * missing paths, permission failures, and I/O errors remain hard failures.
9
+ */
10
+ export declare function syncDirectory(path: string): Promise<void>;
11
+ //# sourceMappingURL=filesystemDurability.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filesystemDurability.d.ts","sourceRoot":"","sources":["../../src/filesystemDurability.ts"],"names":[],"mappings":"AAGA,4FAA4F;AAC5F,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ/F;AAED,iGAAiG;AACjG,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAcvF;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAU/D"}
@@ -0,0 +1,8 @@
1
+ import type { EventKitReplayCheckpointStore } from '@xyo-network/event-kit-statement-graph';
2
+ export interface FilesystemEventKitReplayCheckpointStoreOptions {
3
+ /** JSON file atomically replaced after every committed replay block. */
4
+ readonly path: string;
5
+ }
6
+ /** Single-process durable replay checkpoint store with crash-atomic replacement. */
7
+ export declare function createFilesystemEventKitReplayCheckpointStore(options: FilesystemEventKitReplayCheckpointStoreOptions): EventKitReplayCheckpointStore;
8
+ //# sourceMappingURL=filesystemEventKitReplayCheckpointStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filesystemEventKitReplayCheckpointStore.d.ts","sourceRoot":"","sources":["../../src/filesystemEventKitReplayCheckpointStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,6BAA6B,EAC9B,MAAM,wCAAwC,CAAA;AAI/C,MAAM,WAAW,8CAA8C;IAC7D,wEAAwE;IACxE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAED,oFAAoF;AACpF,wBAAgB,6CAA6C,CAC3D,OAAO,EAAE,8CAA8C,GACtD,6BAA6B,CAgB/B"}
@@ -0,0 +1,14 @@
1
+ import type { FinalizedStatementPublicationJournal } from '@xyo-network/event-kit-xl1';
2
+ export interface FilesystemFinalizedStatementPublicationJournalOptions {
3
+ /** Directory receiving immutable intent-bound publication phase records. */
4
+ readonly path: string;
5
+ }
6
+ /**
7
+ * Crash-safe append-only publication journal.
8
+ *
9
+ * The first `signed` record atomically binds a source/operation id to exact
10
+ * ordered event and attachment hashes plus one signed transaction. Repeated
11
+ * identical phases are idempotent; every collision fails closed.
12
+ */
13
+ export declare function createFilesystemFinalizedStatementPublicationJournal(options: FilesystemFinalizedStatementPublicationJournalOptions): FinalizedStatementPublicationJournal;
14
+ //# sourceMappingURL=filesystemFinalizedStatementPublicationJournal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filesystemFinalizedStatementPublicationJournal.d.ts","sourceRoot":"","sources":["../../src/filesystemFinalizedStatementPublicationJournal.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAEV,oCAAoC,EAErC,MAAM,4BAA4B,CAAA;AAiBnC,MAAM,WAAW,qDAAqD;IACpE,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAqED;;;;;;GAMG;AACH,wBAAgB,oDAAoD,CAClE,OAAO,EAAE,qDAAqD,GAC7D,oCAAoC,CA6DtC"}
@@ -0,0 +1,12 @@
1
+ import type { HandshakeMutationIntentStore } from './handshakeMutationIntent.ts';
2
+ export interface FilesystemHandshakeMutationIntentStoreOptions {
3
+ /** Directory containing immutable source/kind/operation intent records. */
4
+ readonly path: string;
5
+ }
6
+ /**
7
+ * Atomic first-writer-wins persistence for exact handshake mutation artifacts.
8
+ * Every record is private because publisher service intents contain HPKE private
9
+ * keys; subscription records still contain ciphertext only, never plaintext.
10
+ */
11
+ export declare function createFilesystemHandshakeMutationIntentStore(options: FilesystemHandshakeMutationIntentStoreOptions): HandshakeMutationIntentStore;
12
+ //# sourceMappingURL=filesystemHandshakeMutationIntentStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filesystemHandshakeMutationIntentStore.d.ts","sourceRoot":"","sources":["../../src/filesystemHandshakeMutationIntentStore.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAGV,4BAA4B,EAC7B,MAAM,8BAA8B,CAAA;AAOrC,MAAM,WAAW,6CAA6C;IAC5D,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAED;;;;GAIG;AACH,wBAAgB,4CAA4C,CAC1D,OAAO,EAAE,6CAA6C,GACrD,4BAA4B,CAqD9B"}
@@ -0,0 +1,14 @@
1
+ export interface FilesystemJsonWriteOptions {
2
+ readonly directoryMode?: number;
3
+ readonly mode?: number;
4
+ }
5
+ export declare function readJsonFileStrict(path: string): Promise<unknown>;
6
+ /** Atomically replaces one JSON file after its new bytes have reached disk. */
7
+ export declare function replaceJsonFile(path: string, value: unknown, options?: FilesystemJsonWriteOptions): Promise<void>;
8
+ /**
9
+ * Publishes immutable JSON with an exclusive hard link. Returns `false` when
10
+ * another process already owns the destination.
11
+ */
12
+ export declare function publishJsonFile(path: string, value: unknown, options?: FilesystemJsonWriteOptions): Promise<boolean>;
13
+ export declare function stringifyJson(value: unknown): string;
14
+ //# sourceMappingURL=filesystemJson.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filesystemJson.d.ts","sourceRoot":"","sources":["../../src/filesystemJson.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAYvE;AAED,+EAA+E;AAC/E,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,IAAI,CAAC,CAYf;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,OAAO,CAAC,CAelB;AAMD,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEpD"}
@@ -0,0 +1,15 @@
1
+ import type { PublisherEncryptionKeyStore, WakeSubscriptionPrivateKey } from '@xyo-network/event-kit-protocol';
2
+ export interface FilesystemPublisherEncryptionKeyStoreOptions {
3
+ /** Directory containing immutable publisher-scoped private-key records. */
4
+ readonly path: string;
5
+ }
6
+ export interface PutPublisherEncryptionPrivateKeyInput {
7
+ readonly key: WakeSubscriptionPrivateKey;
8
+ readonly publisher: string;
9
+ }
10
+ export interface FilesystemPublisherEncryptionKeyStore extends PublisherEncryptionKeyStore {
11
+ putPrivateKey: (input: PutPublisherEncryptionPrivateKeyInput) => Promise<'duplicate' | 'stored'>;
12
+ }
13
+ /** Immutable, exact-key filesystem custody for dedicated HPKE private keys. */
14
+ export declare function createFilesystemPublisherEncryptionKeyStore(options: FilesystemPublisherEncryptionKeyStoreOptions): FilesystemPublisherEncryptionKeyStore;
15
+ //# sourceMappingURL=filesystemPublisherEncryptionKeyStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filesystemPublisherEncryptionKeyStore.d.ts","sourceRoot":"","sources":["../../src/filesystemPublisherEncryptionKeyStore.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,2BAA2B,EAC3B,0BAA0B,EAC3B,MAAM,iCAAiC,CAAA;AAYxC,MAAM,WAAW,4CAA4C;IAC3D,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,qCAAqC;IACpD,QAAQ,CAAC,GAAG,EAAE,0BAA0B,CAAA;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,qCAAsC,SAAQ,2BAA2B;IACxF,aAAa,EAAE,CAAC,KAAK,EAAE,qCAAqC,KAAK,OAAO,CAAC,WAAW,GAAG,QAAQ,CAAC,CAAA;CACjG;AAMD,+EAA+E;AAC/E,wBAAgB,2CAA2C,CACzD,OAAO,EAAE,4CAA4C,GACpD,qCAAqC,CA+EvC"}
@@ -0,0 +1,12 @@
1
+ import type { PublisherEndpointChallengeStore } from '@xyo-network/event-kit-protocol';
2
+ export interface FilesystemPublisherEndpointChallengeStoreOptions {
3
+ /** Directory containing immutable issued/attempted/verified state records. */
4
+ readonly path: string;
5
+ }
6
+ /**
7
+ * Cross-process, one-attempt challenge state using exclusive immutable files.
8
+ * Each transition is a new hard-link publication; no process overwrites a
9
+ * competing winner and a crash cannot expose a partial state record.
10
+ */
11
+ export declare function createFilesystemPublisherEndpointChallengeStore(options: FilesystemPublisherEndpointChallengeStoreOptions): PublisherEndpointChallengeStore;
12
+ //# sourceMappingURL=filesystemPublisherEndpointChallengeStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filesystemPublisherEndpointChallengeStore.d.ts","sourceRoot":"","sources":["../../src/filesystemPublisherEndpointChallengeStore.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAIV,+BAA+B,EAChC,MAAM,iCAAiC,CAAA;AAYxC,MAAM,WAAW,gDAAgD;IAC/D,8EAA8E;IAC9E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAID;;;;GAIG;AACH,wBAAgB,+CAA+C,CAC7D,OAAO,EAAE,gDAAgD,GACxD,+BAA+B,CA6GjC"}
@@ -1,4 +1,6 @@
1
1
  import type { WakeQueue } from '@xyo-network/event-kit-protocol';
2
+ import { ensureDurableDirectory, syncDirectory, writeDurableFile } from './filesystemDurability.ts';
3
+ export { ensureDurableDirectory, syncDirectory, writeDurableFile, };
2
4
  export interface FilesystemWakeQueueOptions {
3
5
  /** Directory owning the `pending/` and `inflight/` entry sets. */
4
6
  readonly path: string;
@@ -21,14 +23,6 @@ export type FilesystemWakeQueue = WakeQueue;
21
23
  * process death, not host loss, and does not coordinate across machines.
22
24
  */
23
25
  export declare function createFilesystemWakeQueue(options: FilesystemWakeQueueOptions): FilesystemWakeQueue;
24
- /** Writes and fsyncs `body` so the bytes survive a crash before the caller publishes it. */
25
- export declare function writeDurableFile(path: string, body: string): Promise<void>;
26
- /**
27
- * Best-effort directory fsync so a publish survives power loss. Some platforms
28
- * and filesystems reject opening a directory for sync; the link itself is still
29
- * atomic, so a rejection is not fatal.
30
- */
31
- export declare function syncDirectory(path: string): Promise<void>;
32
26
  /** Reads and parses a JSON file, treating an absent or unreadable file as empty. */
33
27
  export declare function readJsonFile<T>(path: string): Promise<T | undefined>;
34
28
  //# sourceMappingURL=filesystemWakeQueue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"filesystemWakeQueue.d.ts","sourceRoot":"","sources":["../../src/filesystemWakeQueue.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAGV,SAAS,EACV,MAAM,iCAAiC,CAAA;AAExC,MAAM,WAAW,0BAA0B;IACzC,kEAAkE;IAClE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,MAAM,mBAAmB,GAAG,SAAS,CAAA;AAE3C;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,0BAA0B,GAClC,mBAAmB,CAwFrB;AAED,4FAA4F;AAC5F,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQhF;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAU/D;AAED,oFAAoF;AACpF,wBAAsB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAY1E"}
1
+ {"version":3,"file":"filesystemWakeQueue.d.ts","sourceRoot":"","sources":["../../src/filesystemWakeQueue.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAGV,SAAS,EACV,MAAM,iCAAiC,CAAA;AAExC,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,gBAAgB,EACjB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EACL,sBAAsB,EACtB,aAAa,EACb,gBAAgB,GACjB,CAAA;AAED,MAAM,WAAW,0BAA0B;IACzC,kEAAkE;IAClE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,MAAM,mBAAmB,GAAG,SAAS,CAAA;AAE3C;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,0BAA0B,GAClC,mBAAmB,CAwFrB;AAED,oFAAoF;AACpF,wBAAsB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAY1E"}
@@ -0,0 +1,16 @@
1
+ export type { FilesystemEventKitReplayCheckpointStoreOptions } from './filesystemEventKitReplayCheckpointStore.ts';
2
+ export { createFilesystemEventKitReplayCheckpointStore } from './filesystemEventKitReplayCheckpointStore.ts';
3
+ export type { FilesystemFinalizedStatementPublicationJournalOptions } from './filesystemFinalizedStatementPublicationJournal.ts';
4
+ export { createFilesystemFinalizedStatementPublicationJournal } from './filesystemFinalizedStatementPublicationJournal.ts';
5
+ export type { FilesystemHandshakeMutationIntentStoreOptions } from './filesystemHandshakeMutationIntentStore.ts';
6
+ export { createFilesystemHandshakeMutationIntentStore } from './filesystemHandshakeMutationIntentStore.ts';
7
+ export type { FilesystemPublisherEncryptionKeyStoreOptions } from './filesystemPublisherEncryptionKeyStore.ts';
8
+ export type { FilesystemPublisherEncryptionKeyStore, PutPublisherEncryptionPrivateKeyInput, } from './filesystemPublisherEncryptionKeyStore.ts';
9
+ export { createFilesystemPublisherEncryptionKeyStore } from './filesystemPublisherEncryptionKeyStore.ts';
10
+ export type { FilesystemPublisherEndpointChallengeStoreOptions } from './filesystemPublisherEndpointChallengeStore.ts';
11
+ export { createFilesystemPublisherEndpointChallengeStore } from './filesystemPublisherEndpointChallengeStore.ts';
12
+ export type { BeginPublisherChallengeResult, CompletePublisherChallengeInput, CreatePublisherHandshakeClientOptions, CreateSubscriberHandshakeClientOptions, CreateSynchronizedEventKitHandshakeReaderOptions, EventKitHandshakeClientErrorCode, EventKitHandshakePublicationPort, IssuedPublisherChallenge, IssuePublisherChallengeInput, PublisherAcceptancePublicationResult, PublisherAcceptanceReconciliation, PublisherChallengeDeliveryTarget, PublisherEncryptionKeyCustody, PublisherHandshakeClient, PublisherKeyRetirementResult, PublisherServicePublicationResult, PublisherServiceRetirementResult, PublisherSubscriptionSelector, PublishPublisherServiceInput, RotatePublisherEncryptionKeyInput, SubscriberExactSubscriptionLookup, SubscriberExactSubscriptionLookupNotFound, SubscriberExactSubscriptionLookupSuccess, SubscriberGrantRevocationResult, SubscriberHandshakeClient, SubscriberSubscriptionPublicationResult, SubscriberSubscriptionRevocationResult, SubscribeToPublisherInput, SynchronizedEventKitHandshakeReader, SynchronizedEventKitHandshakeSnapshot, } from './handshakeClients.ts';
13
+ export { createEventKitHandshakePublicationPort, createPublisherHandshakeClient, createSubscriberHandshakeClient, createSynchronizedEventKitHandshakeReader, EventKitHandshakeClientError, } from './handshakeClients.ts';
14
+ export type { HandshakeMutationIntent, HandshakeMutationIntentDisposition, HandshakeMutationIntentKind, HandshakeMutationIntentLookup, HandshakeMutationIntentResolution, HandshakeMutationIntentStore, PublisherAcceptanceIntent, PublisherEncryptionKeyRetireIntent, PublisherServicePublishIntent, PublisherServiceRetireIntent, PublisherServiceRotateKeyIntent, SubscriberGrantRevokeIntent, SubscriberSubscriptionIntent, SubscriberSubscriptionRevokeIntent, } from './handshakeMutationIntent.ts';
15
+ export { assertSameIntentBinding, createMemoryHandshakeMutationIntentStore, HandshakeMutationIntentConflictError, HandshakeMutationIntentKinds, HandshakeMutationIntentZod, handshakeMutationRequestFingerprint, intentLookupKey, parseHandshakeMutationIntent, parseHandshakeMutationIntentLookup, } from './handshakeMutationIntent.ts';
16
+ //# sourceMappingURL=handshake.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handshake.d.ts","sourceRoot":"","sources":["../../src/handshake.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,8CAA8C,EAAE,MAAM,8CAA8C,CAAA;AAClH,OAAO,EAAE,6CAA6C,EAAE,MAAM,8CAA8C,CAAA;AAC5G,YAAY,EAAE,qDAAqD,EAAE,MAAM,qDAAqD,CAAA;AAChI,OAAO,EAAE,oDAAoD,EAAE,MAAM,qDAAqD,CAAA;AAC1H,YAAY,EAAE,6CAA6C,EAAE,MAAM,6CAA6C,CAAA;AAChH,OAAO,EAAE,4CAA4C,EAAE,MAAM,6CAA6C,CAAA;AAC1G,YAAY,EAAE,4CAA4C,EAAE,MAAM,4CAA4C,CAAA;AAC9G,YAAY,EACV,qCAAqC,EACrC,qCAAqC,GACtC,MAAM,4CAA4C,CAAA;AACnD,OAAO,EAAE,2CAA2C,EAAE,MAAM,4CAA4C,CAAA;AACxG,YAAY,EAAE,gDAAgD,EAAE,MAAM,gDAAgD,CAAA;AACtH,OAAO,EAAE,+CAA+C,EAAE,MAAM,gDAAgD,CAAA;AAChH,YAAY,EACV,6BAA6B,EAC7B,+BAA+B,EAC/B,qCAAqC,EACrC,sCAAsC,EACtC,gDAAgD,EAChD,gCAAgC,EAChC,gCAAgC,EAChC,wBAAwB,EACxB,4BAA4B,EAC5B,oCAAoC,EACpC,iCAAiC,EACjC,gCAAgC,EAChC,6BAA6B,EAC7B,wBAAwB,EACxB,4BAA4B,EAC5B,iCAAiC,EACjC,gCAAgC,EAChC,6BAA6B,EAC7B,4BAA4B,EAC5B,iCAAiC,EACjC,iCAAiC,EACjC,yCAAyC,EACzC,wCAAwC,EACxC,+BAA+B,EAC/B,yBAAyB,EACzB,uCAAuC,EACvC,sCAAsC,EACtC,yBAAyB,EACzB,mCAAmC,EACnC,qCAAqC,GACtC,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,sCAAsC,EACtC,8BAA8B,EAC9B,+BAA+B,EAC/B,yCAAyC,EACzC,4BAA4B,GAC7B,MAAM,uBAAuB,CAAA;AAC9B,YAAY,EACV,uBAAuB,EACvB,kCAAkC,EAClC,2BAA2B,EAC3B,6BAA6B,EAC7B,iCAAiC,EACjC,4BAA4B,EAC5B,yBAAyB,EACzB,kCAAkC,EAClC,6BAA6B,EAC7B,4BAA4B,EAC5B,+BAA+B,EAC/B,2BAA2B,EAC3B,4BAA4B,EAC5B,kCAAkC,GACnC,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACL,uBAAuB,EACvB,wCAAwC,EACxC,oCAAoC,EACpC,4BAA4B,EAC5B,0BAA0B,EAC1B,mCAAmC,EACnC,eAAe,EACf,4BAA4B,EAC5B,kCAAkC,GACnC,MAAM,8BAA8B,CAAA"}