@tangle-network/agent-core 0.2.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 (55) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +35 -0
  3. package/dist/auth/browser.d.ts +22 -0
  4. package/dist/auth/browser.d.ts.map +1 -0
  5. package/dist/auth/browser.js +43 -0
  6. package/dist/auth/browser.js.map +1 -0
  7. package/dist/auth/index.d.ts +430 -0
  8. package/dist/auth/index.d.ts.map +1 -0
  9. package/dist/auth/index.js +841 -0
  10. package/dist/auth/index.js.map +1 -0
  11. package/dist/computer-use/index.d.ts +122 -0
  12. package/dist/computer-use/index.d.ts.map +1 -0
  13. package/dist/computer-use/index.js +422 -0
  14. package/dist/computer-use/index.js.map +1 -0
  15. package/dist/errors-DJ6U6cHY.js +146 -0
  16. package/dist/errors-DJ6U6cHY.js.map +1 -0
  17. package/dist/events/index.d.ts +2 -0
  18. package/dist/events/index.js +2 -0
  19. package/dist/events-CUWh9qrv.js +263 -0
  20. package/dist/events-CUWh9qrv.js.map +1 -0
  21. package/dist/index-CFA8kgHJ.d.ts +352 -0
  22. package/dist/index-CFA8kgHJ.d.ts.map +1 -0
  23. package/dist/index-CtebBodu.d.ts +108 -0
  24. package/dist/index-CtebBodu.d.ts.map +1 -0
  25. package/dist/index-DiQX9bjq.d.ts +55 -0
  26. package/dist/index-DiQX9bjq.d.ts.map +1 -0
  27. package/dist/index-DlPznmKA.d.ts +158 -0
  28. package/dist/index-DlPznmKA.d.ts.map +1 -0
  29. package/dist/index-z2wPdzFb.d.ts +133 -0
  30. package/dist/index-z2wPdzFb.d.ts.map +1 -0
  31. package/dist/index.d.ts +565 -0
  32. package/dist/index.d.ts.map +1 -0
  33. package/dist/index.js +822 -0
  34. package/dist/index.js.map +1 -0
  35. package/dist/resilience/index.d.ts +2 -0
  36. package/dist/resilience/index.js +2 -0
  37. package/dist/resilience-BQzDfw_C.js +221 -0
  38. package/dist/resilience-BQzDfw_C.js.map +1 -0
  39. package/dist/sse/index.d.ts +174 -0
  40. package/dist/sse/index.d.ts.map +1 -0
  41. package/dist/sse/index.js +303 -0
  42. package/dist/sse/index.js.map +1 -0
  43. package/dist/transport/index.d.ts +2 -0
  44. package/dist/transport/index.js +2 -0
  45. package/dist/transport-mKLoQep5.js +427 -0
  46. package/dist/transport-mKLoQep5.js.map +1 -0
  47. package/dist/types/index.d.ts +2 -0
  48. package/dist/types/index.js +2 -0
  49. package/dist/types-D5VLaol0.js +31 -0
  50. package/dist/types-D5VLaol0.js.map +1 -0
  51. package/dist/types-DC6OJ1um.js +331 -0
  52. package/dist/types-DC6OJ1um.js.map +1 -0
  53. package/dist/types-DiDSGM8K.d.ts +320 -0
  54. package/dist/types-DiDSGM8K.d.ts.map +1 -0
  55. package/package.json +132 -0
@@ -0,0 +1,108 @@
1
+ import { n as SDKError } from "./index-DiQX9bjq.js";
2
+
3
+ //#region src/resilience/circuit-breaker.d.ts
4
+ type CircuitState = "closed" | "open" | "half-open";
5
+ interface CircuitBreakerConfig {
6
+ /** Number of failures before opening circuit */
7
+ failureThreshold: number;
8
+ /** Time in ms to wait before testing recovery (half-open) */
9
+ resetTimeoutMs: number;
10
+ /** Number of successes in half-open state to close circuit */
11
+ successThreshold: number;
12
+ /** Optional: Only count these error types as failures */
13
+ failureFilter?: (error: unknown) => boolean;
14
+ }
15
+ interface CircuitBreakerStats {
16
+ state: CircuitState;
17
+ failures: number;
18
+ successes: number;
19
+ lastFailureTime: number | null;
20
+ totalFailures: number;
21
+ totalSuccesses: number;
22
+ totalRejected: number;
23
+ }
24
+ declare class CircuitOpenError extends SDKError {
25
+ readonly circuitName: string;
26
+ readonly resetAfterMs: number;
27
+ constructor(name: string, resetAfterMs: number);
28
+ }
29
+ declare class CircuitBreaker {
30
+ private readonly name;
31
+ private readonly config;
32
+ private state;
33
+ private failures;
34
+ private successes;
35
+ private lastFailureTime;
36
+ private totalFailures;
37
+ private totalSuccesses;
38
+ private totalRejected;
39
+ constructor(name: string, config: CircuitBreakerConfig);
40
+ /**
41
+ * Execute a function through the circuit breaker.
42
+ * Throws CircuitOpenError if circuit is open.
43
+ */
44
+ execute<T>(fn: () => Promise<T>): Promise<T>;
45
+ private onSuccess;
46
+ private onFailure;
47
+ /** Get current circuit state */
48
+ getState(): CircuitState;
49
+ /** Get circuit statistics */
50
+ getStats(): CircuitBreakerStats;
51
+ /** Check if circuit is allowing requests */
52
+ isAllowingRequests(): boolean;
53
+ /** Manually reset the circuit to closed state */
54
+ reset(): void;
55
+ /** Manually open the circuit */
56
+ open(): void;
57
+ }
58
+ //#endregion
59
+ //#region src/resilience/protection.d.ts
60
+ interface ProtectionOptions {
61
+ /** Timeout in milliseconds (0 or undefined = no timeout) */
62
+ timeoutMs?: number;
63
+ /** Circuit breaker instance (optional) */
64
+ breaker?: CircuitBreaker;
65
+ /** Operation name for error messages */
66
+ operationName?: string;
67
+ }
68
+ /**
69
+ * Execute a function with timeout and circuit breaker protection.
70
+ *
71
+ * Order of execution:
72
+ * 1. Circuit breaker check (fail fast if open)
73
+ * 2. Timeout wrapper
74
+ * 3. Execute function
75
+ * 4. Update circuit breaker state
76
+ */
77
+ declare function withProtection<T>(fn: () => Promise<T>, options?: ProtectionOptions): Promise<T>;
78
+ /**
79
+ * Create a protected function that always applies the same protection options.
80
+ */
81
+ declare function createProtectedFn<TArgs extends unknown[], TResult>(fn: (...args: TArgs) => Promise<TResult>, options: ProtectionOptions): (...args: TArgs) => Promise<TResult>;
82
+ //#endregion
83
+ //#region src/resilience/timeout.d.ts
84
+ declare class TimeoutError extends SDKError {
85
+ readonly timeoutMs: number;
86
+ constructor(message: string, timeoutMs: number);
87
+ }
88
+ /**
89
+ * Wrap a promise with a timeout.
90
+ * Rejects with TimeoutError if the promise doesn't resolve in time.
91
+ */
92
+ declare function withTimeout<T>(promise: Promise<T>, timeoutMs: number, message?: string): Promise<T>;
93
+ /**
94
+ * Create an AbortController that auto-aborts after a timeout.
95
+ * Returns the controller and a cleanup function.
96
+ */
97
+ declare function createTimeoutController(timeoutMs: number): {
98
+ controller: AbortController;
99
+ cleanup: () => void;
100
+ };
101
+ /**
102
+ * Sleep for a specified duration.
103
+ * Optionally accepts an AbortSignal for cancellation.
104
+ */
105
+ declare function sleep(ms: number, signal?: AbortSignal): Promise<void>;
106
+ //#endregion
107
+ export { ProtectionOptions as a, CircuitBreaker as c, CircuitOpenError as d, CircuitState as f, withTimeout as i, CircuitBreakerConfig as l, createTimeoutController as n, createProtectedFn as o, sleep as r, withProtection as s, TimeoutError as t, CircuitBreakerStats as u };
108
+ //# sourceMappingURL=index-CtebBodu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-CtebBodu.d.ts","names":[],"sources":["../src/resilience/circuit-breaker.ts","../src/resilience/protection.ts","../src/resilience/timeout.ts"],"mappings":";;;KAeY,YAAA;AAAA,UAEK,oBAAA;EAQf;EANA,gBAAA;EAM+B;EAJ/B,cAAA;EAOe;EALf,gBAAA;;EAEA,aAAA,IAAiB,KAAA;AAAA;AAAA,UAGF,mBAAA;EACf,KAAA,EAAO,YAAA;EACP,QAAA;EACA,SAAA;EACA,eAAA;EACA,aAAA;EACA,cAAA;EACA,aAAA;AAAA;AAAA,cAGW,gBAAA,SAAyB,QAAA;EAAA,SAC3B,WAAA;EAAA,SACA,YAAA;cAEG,IAAA,UAAc,YAAA;AAAA;AAAA,cAaf,cAAA;EAAA,iBAYQ,IAAA;EAAA,iBACA,MAAA;EAAA,QAZX,KAAA;EAAA,QACA,QAAA;EAAA,QACA,SAAA;EAAA,QACA,eAAA;EAAA,QAGA,aAAA;EAAA,QACA,cAAA;EAAA,QACA,aAAA;cAGW,IAAA,UACA,MAAA,EAAQ,oBAAA;EAiBQ;;;;EAA7B,OAAA,GAAA,CAAW,EAAA,QAAU,OAAA,CAAQ,CAAA,IAAK,OAAA,CAAQ,CAAA;EAAA,QA6BxC,SAAA;EAAA,QAiBA,SAAA;EA6BuB;EAL/B,QAAA,CAAA,GAAY,YAAA;EAvFO;EA4FnB,QAAA,CAAA,GAAY,mBAAA;EAvGJ;EAoHR,kBAAA,CAAA;EAlHQ;EAgIR,KAAA,CAAA;EA5HQ;EAoIR,IAAA,CAAA;AAAA;;;UC5Le,iBAAA;;EAEf,SAAA;EDMsB;ECJtB,OAAA,GAAU,cAAA;EDMyB;ECJnC,aAAA;AAAA;;;;;;;;ADeF;;iBCHsB,cAAA,GAAA,CACpB,EAAA,QAAU,OAAA,CAAQ,CAAA,GAClB,OAAA,GAAS,iBAAA,GACR,OAAA,CAAQ,CAAA;;;;iBAoBK,iBAAA,kCAAA,CACd,EAAA,MAAQ,IAAA,EAAM,KAAA,KAAU,OAAA,CAAQ,OAAA,GAChC,OAAA,EAAS,iBAAA,OACJ,IAAA,EAAM,KAAA,KAAU,OAAA,CAAQ,OAAA;;;cC3ClB,YAAA,SAAqB,QAAA;EAAA,SACvB,SAAA;cAEG,OAAA,UAAiB,SAAA;AAAA;;;;;iBAef,WAAA,GAAA,CACd,OAAA,EAAS,OAAA,CAAQ,CAAA,GACjB,SAAA,UACA,OAAA,YACC,OAAA,CAAQ,CAAA;;;;;iBA2BK,uBAAA,CAAwB,SAAA;EACtC,UAAA,EAAY,eAAA;EACZ,OAAA;AAAA;;;;;iBAyBc,KAAA,CAAM,EAAA,UAAY,MAAA,GAAS,WAAA,GAAc,OAAA"}
@@ -0,0 +1,55 @@
1
+ //#region src/errors/index.d.ts
2
+ /**
3
+ * SDK Error Types
4
+ *
5
+ * Structured errors with codes, retry hints, and context.
6
+ */
7
+ /** Error categories for routing and handling */
8
+ type ErrorCode = "NETWORK" | "TIMEOUT" | "AUTH" | "AUTH_EXPIRED" | "VALIDATION" | "NOT_FOUND" | "RATE_LIMITED" | "SERVER" | "CANCELLED" | "UNKNOWN";
9
+ /** SDK error with structured metadata */
10
+ declare class SDKError extends Error {
11
+ readonly code: ErrorCode;
12
+ readonly status?: number;
13
+ readonly retryable: boolean;
14
+ readonly retryAfterMs?: number;
15
+ readonly context?: Record<string, unknown>;
16
+ constructor(message: string, options: {
17
+ code: ErrorCode;
18
+ status?: number;
19
+ retryable?: boolean;
20
+ retryAfterMs?: number;
21
+ context?: Record<string, unknown>;
22
+ cause?: Error;
23
+ });
24
+ private inferRetryable;
25
+ /** Create from HTTP response */
26
+ static fromResponse(status: number, body?: unknown): SDKError;
27
+ /** Create from caught error */
28
+ static fromError(error: unknown): SDKError;
29
+ /**
30
+ * Extract a human-readable message from a parsed error response body.
31
+ *
32
+ * Probes shapes seen across our upstreams:
33
+ * - `{ message: "..." }` — most internal services
34
+ * - `{ error: "..." }` — flat-error shape
35
+ * - `{ error: { message: "..." } }` — Hetzner Cloud API
36
+ * - `{ error: { details: "..." } }` — Hetzner field-level details
37
+ * - `string` — non-JSON text/plain errors
38
+ *
39
+ * Returns null if no message-like field is present so callers can
40
+ * fall back to "HTTP <status>". Without this, Hetzner 422s logged
41
+ * as opaque "HTTP 422" because the message lives at
42
+ * `body.error.message`, blocking diagnosis of every autoscaler
43
+ * failure (issue #785).
44
+ */
45
+ private static extractMessageFromBody;
46
+ /** Check if error is retryable after token refresh */
47
+ isAuthExpired(): boolean;
48
+ }
49
+ /** Type guard for SDKError */
50
+ declare function isSDKError(error: unknown): error is SDKError;
51
+ /** Type guard for retryable errors */
52
+ declare function isRetryable(error: unknown): boolean;
53
+ //#endregion
54
+ export { isSDKError as i, SDKError as n, isRetryable as r, ErrorCode as t };
55
+ //# sourceMappingURL=index-DiQX9bjq.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-DiQX9bjq.d.ts","names":[],"sources":["../src/errors/index.ts"],"mappings":";;AAOA;;;;;KAAY,SAAA;;cAaC,QAAA,SAAiB,KAAA;EAAA,SACnB,IAAA,EAAM,SAAA;EAAA,SACN,MAAA;EAAA,SACA,SAAA;EAAA,SACA,YAAA;EAAA,SACA,OAAA,GAAU,MAAA;cAGjB,OAAA,UACA,OAAA;IACE,IAAA,EAAM,SAAA;IACN,MAAA;IACA,SAAA;IACA,YAAA;IACA,OAAA,GAAU,MAAA;IACV,KAAA,GAAQ,KAAA;EAAA;EAAA,QAaJ,cAAA;EAzBC;EAAA,OAqCF,YAAA,CAAa,MAAA,UAAgB,IAAA,aAAiB,QAAA;EAnC5C;EAAA,OAmGF,SAAA,CAAU,KAAA,YAAiB,QAAA;;;;;;;;;;;;;;;;;iBA8CnB,sBAAA;EA9CR;EAsFP,aAAA,CAAA;AAAA;;iBASc,UAAA,CAAW,KAAA,YAAiB,KAAA,IAAS,QAAA;;iBAKrC,WAAA,CAAY,KAAA"}
@@ -0,0 +1,158 @@
1
+ //#region src/events/buffer.d.ts
2
+ /**
3
+ * Event Buffer
4
+ *
5
+ * Buffers events during disconnections for replay on reconnect.
6
+ * Implements overflow handling with configurable strategies.
7
+ */
8
+ interface EventBufferConfig {
9
+ /** Maximum number of events to buffer (default: 1000) */
10
+ maxSize: number;
11
+ /** Time-to-live in milliseconds for buffered events (default: 300000 = 5min) */
12
+ ttlMs: number;
13
+ /** Strategy when buffer is full: "drop-oldest" or "drop-newest" */
14
+ overflowStrategy: "drop-oldest" | "drop-newest";
15
+ }
16
+ interface BufferedEvent<T = unknown> {
17
+ id: string;
18
+ data: T;
19
+ timestamp: number;
20
+ eventType?: string;
21
+ }
22
+ declare class EventBuffer<T = unknown> {
23
+ private readonly config;
24
+ private events;
25
+ private seenIds;
26
+ private cleanupTimer?;
27
+ constructor(config?: Partial<EventBufferConfig>);
28
+ /** Add an event to the buffer (deduplicates by ID) */
29
+ push(id: string, data: T, eventType?: string): void;
30
+ /** Get all buffered events */
31
+ getAll(): BufferedEvent<T>[];
32
+ /** Get events since a specific event ID */
33
+ getSince(lastEventId: string): BufferedEvent<T>[];
34
+ /** Get events after a timestamp */
35
+ getSinceTimestamp(timestamp: number): BufferedEvent<T>[];
36
+ /** Clear all buffered events */
37
+ clear(): void;
38
+ /** Get current buffer size */
39
+ size(): number;
40
+ /** Check if buffer is empty */
41
+ isEmpty(): boolean;
42
+ /** Check if buffer is full */
43
+ isFull(): boolean;
44
+ /** Dispose of the buffer and cleanup resources */
45
+ dispose(): void;
46
+ private pruneExpired;
47
+ private startCleanup;
48
+ }
49
+ //#endregion
50
+ //#region src/events/channel.d.ts
51
+ /**
52
+ * Channel Pub/Sub
53
+ *
54
+ * Topic-based event distribution with wildcard pattern matching.
55
+ * Supports patterns like "message.*", "**", and exact matches.
56
+ */
57
+ type ChannelHandler<T = unknown> = (message: T, topic: string) => void;
58
+ interface ChannelConfig {
59
+ /** Maximum number of subscribers per topic (default: 100) */
60
+ maxSubscribersPerTopic: number;
61
+ /** Enable wildcard patterns (default: true) */
62
+ enableWildcards: boolean;
63
+ }
64
+ declare class EventChannel<T = unknown> {
65
+ private readonly config;
66
+ private readonly subscribers;
67
+ constructor(config?: Partial<ChannelConfig>);
68
+ /**
69
+ * Subscribe to a topic or pattern.
70
+ *
71
+ * Patterns:
72
+ * - "exact.topic" - matches only "exact.topic"
73
+ * - "prefix.*" - matches "prefix.foo", "prefix.bar", etc.
74
+ * - "prefix.**" - matches "prefix.foo", "prefix.foo.bar", etc.
75
+ * - "**" - matches all topics
76
+ *
77
+ * Returns an unsubscribe function.
78
+ */
79
+ subscribe(pattern: string, handler: ChannelHandler<T>): () => void;
80
+ /**
81
+ * Publish a message to a topic.
82
+ * Delivers to all matching subscribers.
83
+ */
84
+ publish(topic: string, message: T): number;
85
+ /**
86
+ * Check if any subscribers are listening to a topic.
87
+ */
88
+ hasSubscribers(topic: string): boolean;
89
+ /**
90
+ * Get the number of subscribers for a topic.
91
+ */
92
+ subscriberCount(topic: string): number;
93
+ /**
94
+ * Get all unique patterns being subscribed to.
95
+ */
96
+ getPatterns(): string[];
97
+ /**
98
+ * Clear all subscribers.
99
+ */
100
+ clear(): void;
101
+ /**
102
+ * Get total subscriber count.
103
+ */
104
+ size(): number;
105
+ private matches;
106
+ private patternToRegex;
107
+ }
108
+ //#endregion
109
+ //#region src/events/deduplication.d.ts
110
+ /**
111
+ * Event Deduplication
112
+ *
113
+ * LRU-bounded set for tracking seen event IDs.
114
+ * Prevents duplicate event processing during reconnections.
115
+ */
116
+ interface DeduplicatorConfig {
117
+ /** Maximum number of event IDs to track (default: 10000) */
118
+ maxSize: number;
119
+ /** Time window in milliseconds for deduplication (default: 60000 = 1min) */
120
+ windowMs: number;
121
+ }
122
+ declare class EventDeduplicator {
123
+ private readonly config;
124
+ private readonly seen;
125
+ private cleanupTimer?;
126
+ constructor(config?: Partial<DeduplicatorConfig>);
127
+ /**
128
+ * Check if an event has been seen and mark it as seen.
129
+ * Returns true if this is a duplicate, false if it's new.
130
+ */
131
+ isDuplicate(eventId: string): boolean;
132
+ /**
133
+ * Mark an event as seen without checking for duplicates.
134
+ */
135
+ markSeen(eventId: string): void;
136
+ /**
137
+ * Check if an event has been seen (without marking).
138
+ */
139
+ hasSeen(eventId: string): boolean;
140
+ /**
141
+ * Clear all tracked events.
142
+ */
143
+ clear(): void;
144
+ /**
145
+ * Get the number of tracked events.
146
+ */
147
+ size(): number;
148
+ /**
149
+ * Dispose of the deduplicator and cleanup resources.
150
+ */
151
+ dispose(): void;
152
+ private evictOldest;
153
+ private pruneExpired;
154
+ private startCleanup;
155
+ }
156
+ //#endregion
157
+ export { EventChannel as a, EventBufferConfig as c, ChannelHandler as i, EventDeduplicator as n, BufferedEvent as o, ChannelConfig as r, EventBuffer as s, DeduplicatorConfig as t };
158
+ //# sourceMappingURL=index-DlPznmKA.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-DlPznmKA.d.ts","names":[],"sources":["../src/events/buffer.ts","../src/events/channel.ts","../src/events/deduplication.ts"],"mappings":";;AAOA;;;;;UAAiB,iBAAA;EAMf;EAJA,OAAA;EAIgB;EAFhB,KAAA;EAK4B;EAH5B,gBAAA;AAAA;AAAA,UAGe,aAAA;EACf,EAAA;EACA,IAAA,EAAM,CAAA;EACN,SAAA;EACA,SAAA;AAAA;AAAA,cASW,WAAA;EAAA,iBACM,MAAA;EAAA,QACT,MAAA;EAAA,QACA,OAAA;EAAA,QACA,YAAA;cAEI,MAAA,GAAQ,OAAA,CAAQ,iBAAA;EAAR;EAMpB,IAAA,CAAK,EAAA,UAAY,IAAA,EAAM,CAAA,EAAG,SAAA;EA6BF;EAAxB,MAAA,CAAA,GAAU,aAAA,CAAc,CAAA;EAMqB;EAA7C,QAAA,CAAS,WAAA,WAAsB,aAAA,CAAc,CAAA;EAUO;EAApD,iBAAA,CAAkB,SAAA,WAAoB,aAAA,CAAc,CAAA;EAAD;EAMnD,KAAA,CAAA;EA/DuB;EAqEvB,IAAA,CAAA;EAnEQ;EAwER,OAAA,CAAA;EAtEQ;EA2ER,MAAA,CAAA;EAzEoB;EA8EpB,OAAA,CAAA;EAAA,QAQQ,YAAA;EAAA,QASA,YAAA;AAAA;;;;AA3HV;;;;;KCAY,cAAA,iBAA+B,OAAA,EAAS,CAAA,EAAG,KAAA;AAAA,UAEtC,aAAA;EDIC;ECFhB,sBAAA;EDKe;ECHf,eAAA;AAAA;AAAA,cAcW,YAAA;EAAA,iBACM,MAAA;EAAA,iBACA,WAAA;cAEL,MAAA,GAAQ,OAAA,CAAQ,aAAA;EDbtB;;;;;AAWR;;;;;;ECiBE,SAAA,CAAU,OAAA,UAAiB,OAAA,EAAS,cAAA,CAAe,CAAA;EDwBzC;;;;ECDV,OAAA,CAAQ,KAAA,UAAe,OAAA,EAAS,CAAA;EDiBmB;;;ECGnD,cAAA,CAAe,KAAA;ED1DP;;;ECiER,eAAA,CAAgB,KAAA;ED7DI;;;ECoEpB,WAAA,CAAA;ED9DK;;;ECqEL,KAAA,CAAA;EDxCA;;;EC+CA,IAAA,CAAA;EAAA,QAIQ,OAAA;EAAA,QAOA,cAAA;AAAA;;;;ADzHV;;;;;UEAiB,kBAAA;EFMf;EEJA,OAAA;EFIgB;EEFhB,QAAA;AAAA;AAAA,cAYW,iBAAA;EAAA,iBACM,MAAA;EAAA,iBACA,IAAA;EAAA,QACT,YAAA;cAEI,MAAA,GAAQ,OAAA,CAAQ,kBAAA;EFVtB;;;;EEmBN,WAAA,CAAY,OAAA;EFRD;;;EE4BX,QAAA,CAAS,OAAA;EFtBW;;;EEgCpB,OAAA,CAAQ,OAAA;EFSqC;;;EEA7C,KAAA,CAAA;EFUmD;;;EEHnD,IAAA,CAAA;EFpDQ;;;EE2DR,OAAA,CAAA;EAAA,QAQQ,WAAA;EAAA,QAQA,YAAA;EAAA,QASA,YAAA;AAAA"}
@@ -0,0 +1,133 @@
1
+ import { z } from "zod";
2
+ import { FilePart, Part, Part as Part$1, PartBase, ReasoningPart, SubtaskPart, TextPart, ToolPart, ToolState, ToolStateCompleted, ToolStateError, ToolStatePending, ToolStateRunning, isFilePart, isReasoningPart, isSubtaskPart, isTextPart, isToolPart } from "@tangle-network/agent-interface";
3
+
4
+ //#region src/types/events.d.ts
5
+ declare const AgentEventTypeSchema: z.ZodEnum<{
6
+ error: "error";
7
+ heartbeat: "heartbeat";
8
+ "message.part.updated": "message.part.updated";
9
+ status: "status";
10
+ "connection.init": "connection.init";
11
+ "history.replay.start": "history.replay.start";
12
+ "history.replay.end": "history.replay.end";
13
+ "execution.started": "execution.started";
14
+ "execution.completed": "execution.completed";
15
+ "execution.failed": "execution.failed";
16
+ "session.updated": "session.updated";
17
+ result: "result";
18
+ done: "done";
19
+ }>;
20
+ type AgentEventType = z.infer<typeof AgentEventTypeSchema>;
21
+ interface EventMetadata {
22
+ serverInstanceId: string;
23
+ seq: number;
24
+ prevSeq: number | null;
25
+ sentAt: number;
26
+ }
27
+ interface MessagePartUpdatedEvent {
28
+ type: "message.part.updated";
29
+ part: Part;
30
+ delta?: string;
31
+ _meta?: EventMetadata;
32
+ }
33
+ interface StatusEvent {
34
+ type: "status";
35
+ status: "started" | "processing" | "completed" | "failed";
36
+ detail?: string;
37
+ _meta?: EventMetadata;
38
+ }
39
+ interface ErrorEvent {
40
+ type: "error";
41
+ code?: string;
42
+ message: string;
43
+ details?: unknown;
44
+ _meta?: EventMetadata;
45
+ }
46
+ interface HeartbeatEvent {
47
+ type: "heartbeat";
48
+ timestamp?: number;
49
+ _meta?: EventMetadata;
50
+ }
51
+ interface ConnectionInitEvent {
52
+ type: "connection.init";
53
+ serverInstanceId?: string;
54
+ streamId?: string;
55
+ initialSeq?: number;
56
+ timestamp?: number;
57
+ _meta?: EventMetadata;
58
+ }
59
+ interface ReplayStartEvent {
60
+ type: "history.replay.start";
61
+ executionId?: string;
62
+ sessionId?: string;
63
+ totalEvents?: number;
64
+ status?: string;
65
+ }
66
+ interface ReplayEndEvent {
67
+ type: "history.replay.end";
68
+ executionId?: string;
69
+ totalEventsReplayed?: number;
70
+ status?: string;
71
+ continuing?: boolean;
72
+ }
73
+ interface ExecutionStartedEvent {
74
+ type: "execution.started";
75
+ executionId?: string;
76
+ sessionId?: string;
77
+ timestamp?: number;
78
+ }
79
+ interface ExecutionCompletedEvent {
80
+ type: "execution.completed";
81
+ executionId?: string;
82
+ sessionId?: string;
83
+ timestamp?: number;
84
+ }
85
+ interface ExecutionFailedEvent {
86
+ type: "execution.failed";
87
+ executionId?: string;
88
+ sessionId?: string;
89
+ error?: string;
90
+ timestamp?: number;
91
+ }
92
+ interface SessionUpdatedEvent {
93
+ type: "session.updated";
94
+ sessionId: string;
95
+ title?: string;
96
+ time?: {
97
+ created?: number;
98
+ updated?: number;
99
+ };
100
+ }
101
+ interface ResultEvent {
102
+ type: "result";
103
+ finalText?: string;
104
+ toolInvocations?: unknown[];
105
+ tokenUsage?: Record<string, unknown>;
106
+ timing?: Record<string, unknown>;
107
+ metadata?: Record<string, unknown>;
108
+ }
109
+ interface DoneEvent {
110
+ type: "done";
111
+ requestId?: string;
112
+ }
113
+ type AgentEvent = MessagePartUpdatedEvent | StatusEvent | ErrorEvent | HeartbeatEvent | ConnectionInitEvent | ReplayStartEvent | ReplayEndEvent | ExecutionStartedEvent | ExecutionCompletedEvent | ExecutionFailedEvent | SessionUpdatedEvent | ResultEvent | DoneEvent;
114
+ interface TerminalDataEvent {
115
+ type: "terminal.data";
116
+ data: string;
117
+ terminalId: string;
118
+ }
119
+ interface TerminalResizeEvent {
120
+ type: "terminal.resize";
121
+ cols: number;
122
+ rows: number;
123
+ terminalId: string;
124
+ }
125
+ interface TerminalExitEvent {
126
+ type: "terminal.exit";
127
+ exitCode: number;
128
+ terminalId: string;
129
+ }
130
+ type TerminalEvent = TerminalDataEvent | TerminalResizeEvent | TerminalExitEvent;
131
+ //#endregion
132
+ export { ToolStateCompleted as A, TerminalDataEvent as C, TextPart as D, TerminalResizeEvent as E, isReasoningPart as F, isSubtaskPart as I, isTextPart as L, ToolStatePending as M, ToolStateRunning as N, ToolPart as O, isFilePart as P, isToolPart as R, SubtaskPart as S, TerminalExitEvent as T, ReplayEndEvent as _, DoneEvent as a, SessionUpdatedEvent as b, ExecutionCompletedEvent as c, FilePart as d, HeartbeatEvent as f, ReasoningPart as g, PartBase as h, ConnectionInitEvent as i, ToolStateError as j, ToolState as k, ExecutionFailedEvent as l, Part$1 as m, AgentEventType as n, ErrorEvent as o, MessagePartUpdatedEvent as p, AgentEventTypeSchema as r, EventMetadata as s, AgentEvent as t, ExecutionStartedEvent as u, ReplayStartEvent as v, TerminalEvent as w, StatusEvent as x, ResultEvent as y };
133
+ //# sourceMappingURL=index-z2wPdzFb.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-z2wPdzFb.d.ts","names":[],"sources":["../src/types/events.ts"],"mappings":";;;;cAsCa,oBAAA,EAAoB,CAAA,CAAA,OAAA;;;;;;;;;;;;;;;KAgBrB,cAAA,GAAiB,CAAA,CAAE,KAAA,QAAa,oBAAA;AAAA,UAG3B,aAAA;EACf,gBAAA;EACA,GAAA;EACA,OAAA;EACA,MAAA;AAAA;AAAA,UAOe,uBAAA;EACf,IAAA;EACA,IAAA,EAAM,IAAA;EACN,KAAA;EACA,KAAA,GAAQ,aAAA;AAAA;AAAA,UAIO,WAAA;EACf,IAAA;EACA,MAAA;EACA,MAAA;EACA,KAAA,GAAQ,aAAA;AAAA;AAAA,UAIO,UAAA;EACf,IAAA;EACA,IAAA;EACA,OAAA;EACA,OAAA;EACA,KAAA,GAAQ,aAAA;AAAA;AAAA,UAIO,cAAA;EACf,IAAA;EACA,SAAA;EACA,KAAA,GAAQ,aAAA;AAAA;AAAA,UAIO,mBAAA;EACf,IAAA;EACA,gBAAA;EACA,QAAA;EACA,UAAA;EACA,SAAA;EACA,KAAA,GAAQ,aAAA;AAAA;AAAA,UAIO,gBAAA;EACf,IAAA;EACA,WAAA;EACA,SAAA;EACA,WAAA;EACA,MAAA;AAAA;AAAA,UAGe,cAAA;EACf,IAAA;EACA,WAAA;EACA,mBAAA;EACA,MAAA;EACA,UAAA;AAAA;AAAA,UAIe,qBAAA;EACf,IAAA;EACA,WAAA;EACA,SAAA;EACA,SAAA;AAAA;AAAA,UAGe,uBAAA;EACf,IAAA;EACA,WAAA;EACA,SAAA;EACA,SAAA;AAAA;AAAA,UAGe,oBAAA;EACf,IAAA;EACA,WAAA;EACA,SAAA;EACA,KAAA;EACA,SAAA;AAAA;AAAA,UAIe,mBAAA;EACf,IAAA;EACA,SAAA;EACA,KAAA;EACA,IAAA;IAAS,OAAA;IAAkB,OAAA;EAAA;AAAA;AAAA,UAIZ,WAAA;EACf,IAAA;EACA,SAAA;EACA,eAAA;EACA,UAAA,GAAa,MAAA;EACb,MAAA,GAAS,MAAA;EACT,QAAA,GAAW,MAAA;AAAA;AAAA,UAII,SAAA;EACf,IAAA;EACA,SAAA;AAAA;AAAA,KAIU,UAAA,GACR,uBAAA,GACA,WAAA,GACA,UAAA,GACA,cAAA,GACA,mBAAA,GACA,gBAAA,GACA,cAAA,GACA,qBAAA,GACA,uBAAA,GACA,oBAAA,GACA,mBAAA,GACA,WAAA,GACA,SAAA;AAAA,UAGa,iBAAA;EACf,IAAA;EACA,IAAA;EACA,UAAA;AAAA;AAAA,UAGe,mBAAA;EACf,IAAA;EACA,IAAA;EACA,IAAA;EACA,UAAA;AAAA;AAAA,UAGe,iBAAA;EACf,IAAA;EACA,QAAA;EACA,UAAA;AAAA;AAAA,KAGU,aAAA,GACR,iBAAA,GACA,mBAAA,GACA,iBAAA"}