coakka-v2-connector-node 1.3.1

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 (57) hide show
  1. package/CONSUMING.md +48 -0
  2. package/LICENSE.md +115 -0
  3. package/README.md +147 -0
  4. package/dist/index.d.ts +6 -0
  5. package/dist/index.js +5 -0
  6. package/dist/models.d.ts +119 -0
  7. package/dist/models.js +150 -0
  8. package/dist/orchestrator.d.ts +80 -0
  9. package/dist/orchestrator.js +260 -0
  10. package/dist/packaging.d.ts +4 -0
  11. package/dist/packaging.js +4 -0
  12. package/dist/protobuf.d.ts +63 -0
  13. package/dist/protobuf.js +323 -0
  14. package/dist/runtime-client.d.ts +124 -0
  15. package/dist/runtime-client.js +922 -0
  16. package/dist/runtime-ffi.d.ts +105 -0
  17. package/dist/runtime-ffi.js +282 -0
  18. package/native/.gitkeep +1 -0
  19. package/native/linux-aarch64/libcoakka_runtime_v2-1.3.1+bda2ef5.so +0 -0
  20. package/native/linux-aarch64/libcoakka_runtime_v2.so +0 -0
  21. package/native/linux-x86_64/libcoakka_runtime_v2-1.3.1+bda2ef5.so +0 -0
  22. package/native/linux-x86_64/libcoakka_runtime_v2.so +0 -0
  23. package/native/macos-aarch64/libcoakka_runtime_v2-1.3.1+bda2ef5.dylib +0 -0
  24. package/native/macos-aarch64/libcoakka_runtime_v2.dylib +0 -0
  25. package/native/windows-aarch64/libcoakka_runtime_v2-1.3.1+bda2ef5.dll +0 -0
  26. package/native/windows-aarch64/libcoakka_runtime_v2.dll +0 -0
  27. package/native/windows-x86_64/libcoakka_runtime_v2-1.3.1+bda2ef5.dll +0 -0
  28. package/native/windows-x86_64/libcoakka_runtime_v2.dll +0 -0
  29. package/package.json +35 -0
  30. package/vendor/koffi/LICENSE.txt +22 -0
  31. package/vendor/koffi/build/koffi/darwin_arm64/koffi.node +0 -0
  32. package/vendor/koffi/build/koffi/darwin_x64/koffi.node +0 -0
  33. package/vendor/koffi/build/koffi/freebsd_arm64/koffi.node +0 -0
  34. package/vendor/koffi/build/koffi/freebsd_ia32/koffi.node +0 -0
  35. package/vendor/koffi/build/koffi/freebsd_x64/koffi.node +0 -0
  36. package/vendor/koffi/build/koffi/linux_arm64/koffi.node +0 -0
  37. package/vendor/koffi/build/koffi/linux_armhf/koffi.node +0 -0
  38. package/vendor/koffi/build/koffi/linux_ia32/koffi.node +0 -0
  39. package/vendor/koffi/build/koffi/linux_loong64/koffi.node +0 -0
  40. package/vendor/koffi/build/koffi/linux_riscv64d/koffi.node +0 -0
  41. package/vendor/koffi/build/koffi/linux_x64/koffi.node +0 -0
  42. package/vendor/koffi/build/koffi/musl_arm64/koffi.node +0 -0
  43. package/vendor/koffi/build/koffi/musl_x64/koffi.node +0 -0
  44. package/vendor/koffi/build/koffi/openbsd_ia32/koffi.node +0 -0
  45. package/vendor/koffi/build/koffi/openbsd_x64/koffi.node +0 -0
  46. package/vendor/koffi/build/koffi/win32_arm64/koffi.exp +0 -0
  47. package/vendor/koffi/build/koffi/win32_arm64/koffi.lib +0 -0
  48. package/vendor/koffi/build/koffi/win32_arm64/koffi.node +0 -0
  49. package/vendor/koffi/build/koffi/win32_ia32/koffi.exp +0 -0
  50. package/vendor/koffi/build/koffi/win32_ia32/koffi.lib +0 -0
  51. package/vendor/koffi/build/koffi/win32_ia32/koffi.node +0 -0
  52. package/vendor/koffi/build/koffi/win32_x64/koffi.exp +0 -0
  53. package/vendor/koffi/build/koffi/win32_x64/koffi.lib +0 -0
  54. package/vendor/koffi/build/koffi/win32_x64/koffi.node +0 -0
  55. package/vendor/koffi/index.d.ts +288 -0
  56. package/vendor/koffi/index.js +634 -0
  57. package/vendor/koffi/package.json +38 -0
@@ -0,0 +1,124 @@
1
+ import { type ConnectorConfig, DeliveryHint, type MaybePromise, type ObservedDeadletter, PayloadIdentity, type RequestTerminalEvent, type SubmittedRequest } from "./models.js";
2
+ import { type TransportDeadletter, type TransportEnvelope } from "./protobuf.js";
3
+ import { type RuntimeConfigSnapshot, type RuntimeHealthSnapshot, type RuntimeInfoSnapshot, type RuntimeStatsSnapshot } from "./runtime-ffi.js";
4
+ export declare class DeadletterError extends Error {
5
+ readonly deadletter: TransportDeadletter;
6
+ constructor(deadletter: TransportDeadletter);
7
+ }
8
+ export interface RuntimeClientStats {
9
+ pendingRequests: number;
10
+ deliveredRequests: number;
11
+ matchedResponses: number;
12
+ matchedDeadletters: number;
13
+ lateResponses: number;
14
+ unhandledDeadletters: number;
15
+ terminalEventDropCount: number;
16
+ deadletterObservationDropCount: number;
17
+ }
18
+ export interface MonitorSnapshot {
19
+ signalCount: number;
20
+ health: RuntimeHealthSnapshot;
21
+ stats: RuntimeStatsSnapshot;
22
+ }
23
+ export type HandlerFn = (request: TransportEnvelope) => MaybePromise<TransportEnvelope | null | undefined>;
24
+ export interface TerminalEventsOptions {
25
+ signal?: AbortSignal;
26
+ bufferCapacity?: number;
27
+ }
28
+ export interface DeadlettersOptions {
29
+ signal?: AbortSignal;
30
+ bufferCapacity?: number;
31
+ }
32
+ export declare class NodeRuntimeClient {
33
+ private readonly config;
34
+ private readonly bindings;
35
+ private readonly runtime;
36
+ private readonly hostHandles;
37
+ private readonly pending;
38
+ private readonly trackedRequestsByMessageId;
39
+ private readonly trackedRequestMessageIdsByCorrelationId;
40
+ private readonly requestHandlers;
41
+ private readonly terminalEventSubscribers;
42
+ private readonly deadletterSubscribers;
43
+ private readonly requestReader;
44
+ private readonly responseReader;
45
+ private readonly deadletterReader;
46
+ private readonly monitorReader;
47
+ private readonly separateDeliveredRequestLane;
48
+ private deliveredRequests;
49
+ private matchedResponses;
50
+ private matchedDeadletters;
51
+ private lateResponses;
52
+ private unhandledDeadletters;
53
+ private nextTerminalSubscriberId;
54
+ private nextDeadletterSubscriberId;
55
+ private terminalEventDropCount;
56
+ private deadletterObservationDropCount;
57
+ private closed;
58
+ constructor(runtimeLibPath: string, config: ConnectorConfig);
59
+ static nextMessageId(source: string): string;
60
+ static makeTypedRequest(source: string, target: string, payload: Uint8Array, payloadIdentity: PayloadIdentity, timeoutMs: number, operation: string, deliveryHint?: DeliveryHint, headers?: Record<string, string>, messageId?: string, oneWay?: boolean): TransportEnvelope;
61
+ static makeJsonRequest(source: string, target: string, payload: Record<string, unknown>, payloadIdentity: PayloadIdentity, timeoutMs: number, operation: string, deliveryHint?: DeliveryHint, headers?: Record<string, string>, messageId?: string, oneWay?: boolean): TransportEnvelope;
62
+ static makeTypedReply(request: TransportEnvelope, source: string, payload: Uint8Array, payloadIdentity: PayloadIdentity): TransportEnvelope;
63
+ static makeJsonReply(request: TransportEnvelope, source: string, payload: Record<string, unknown>, payloadIdentity: PayloadIdentity): TransportEnvelope;
64
+ static makeReplyFromRequestIdentity(request: TransportEnvelope, source: string, payload: Uint8Array): TransportEnvelope;
65
+ static makeJsonReplyFromRequestIdentity(request: TransportEnvelope, source: string, payload: Record<string, unknown>): TransportEnvelope;
66
+ static makeRawReply(request: TransportEnvelope, source: string, payload: Uint8Array): TransportEnvelope;
67
+ static makeRawRequest(messageId: string, source: string, target: string, replyTo: string, payload: Uint8Array, timeoutMs?: number, deliveryHint?: DeliveryHint): TransportEnvelope;
68
+ static makeRawOneWay(messageId: string, source: string, target: string, payload: Uint8Array, timeoutMs?: number, deliveryHint?: DeliveryHint): TransportEnvelope;
69
+ static requireTypedPayloadIdentity(envelope: TransportEnvelope, what: string): void;
70
+ askTyped(source: string, target: string, payload: Uint8Array, payloadIdentity: PayloadIdentity, timeoutMs?: number, operation?: string, deliveryHint?: DeliveryHint, headers?: Record<string, string>): Promise<TransportEnvelope>;
71
+ askJson(source: string, target: string, payload: Record<string, unknown>, payloadIdentity: PayloadIdentity, timeoutMs?: number, operation?: string, deliveryHint?: DeliveryHint, headers?: Record<string, string>): Promise<Record<string, unknown>>;
72
+ askRaw(request: TransportEnvelope, timeoutMs?: number): Promise<TransportEnvelope>;
73
+ submitRequestTyped(source: string, target: string, payload: Uint8Array, payloadIdentity: PayloadIdentity, timeoutMs?: number, operation?: string, deliveryHint?: DeliveryHint, headers?: Record<string, string>): SubmittedRequest;
74
+ submitRequestJson(source: string, target: string, payload: Record<string, unknown>, payloadIdentity: PayloadIdentity, timeoutMs?: number, operation?: string, deliveryHint?: DeliveryHint, headers?: Record<string, string>): SubmittedRequest;
75
+ submitRequestRaw(request: TransportEnvelope): SubmittedRequest;
76
+ sendOneWayTyped(source: string, target: string, payload: Uint8Array, payloadIdentity: PayloadIdentity, deliveryHint?: DeliveryHint, headers?: Record<string, string>): void;
77
+ sendOneWayJson(source: string, target: string, payload: Record<string, unknown>, payloadIdentity: PayloadIdentity, deliveryHint?: DeliveryHint, headers?: Record<string, string>): void;
78
+ submitRawEnvelope(envelope: TransportEnvelope): void;
79
+ submitTypedEnvelope(envelope: TransportEnvelope): void;
80
+ submitEnvelope(envelope: TransportEnvelope): void;
81
+ applyControlEnvelopeBytes(bytes: Uint8Array): void;
82
+ applySnapshot(generation: number, routes: ConnectorConfig["routes"], sourceConnector?: string, seq?: number, overloadPolicy?: import("./models.js").RuntimeOverloadPolicy | undefined): void;
83
+ registerHandler(target: string, handler: HandlerFn, typedReplies?: boolean): void;
84
+ registerRawHandler(target: string, handler: HandlerFn): void;
85
+ terminalEvents(options?: TerminalEventsOptions): AsyncIterableIterator<RequestTerminalEvent>;
86
+ deadletters(options?: DeadlettersOptions): AsyncIterableIterator<ObservedDeadletter>;
87
+ snapshotStats(): RuntimeClientStats;
88
+ healthSnapshot(): RuntimeHealthSnapshot;
89
+ statsSnapshot(): RuntimeStatsSnapshot;
90
+ runtimeInfoSnapshot(): RuntimeInfoSnapshot;
91
+ runtimeConfigSnapshot(): RuntimeConfigSnapshot;
92
+ monitorIsEnabled(): boolean;
93
+ monitorSnapshot(signalCount?: number): MonitorSnapshot;
94
+ awaitNextMonitor(timeoutMs?: number): Promise<MonitorSnapshot | null>;
95
+ awaitAppliedGenerationAtLeast(generation: number, timeoutMs?: number): Promise<MonitorSnapshot | null>;
96
+ runtimeSnapshot(): {
97
+ runtimeInfo: RuntimeInfoSnapshot;
98
+ runtimeConfig: RuntimeConfigSnapshot;
99
+ connector: RuntimeClientStats & {
100
+ separateDeliveredRequestLane: boolean;
101
+ systemName: string;
102
+ nodeId: string;
103
+ };
104
+ health: RuntimeHealthSnapshot;
105
+ stats: RuntimeStatsSnapshot;
106
+ };
107
+ close(): void;
108
+ private hostHandleFlags;
109
+ private buildControlEnvelopeBytes;
110
+ private submitPendingRequest;
111
+ private submitTrackedRequest;
112
+ private onRequestFrame;
113
+ private onResponseFrame;
114
+ private onDeadletterFrame;
115
+ private dispatchRequest;
116
+ private dispatchResponse;
117
+ private dispatchDeadletter;
118
+ private publishDeadletterObservation;
119
+ private onReaderError;
120
+ private trackRequest;
121
+ private forgetTrackedRequest;
122
+ private forgetTrackedRequestByCorrelationId;
123
+ private publishTerminalEvent;
124
+ }