stelo 1.0.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 (141) hide show
  1. package/LICENSE +184 -0
  2. package/README.md +853 -0
  3. package/dist/accessibility.d.ts +227 -0
  4. package/dist/accessibility.d.ts.map +1 -0
  5. package/dist/accessibility.js +602 -0
  6. package/dist/accessibility.js.map +1 -0
  7. package/dist/agent.d.ts +870 -0
  8. package/dist/agent.d.ts.map +1 -0
  9. package/dist/agent.js +1107 -0
  10. package/dist/agent.js.map +1 -0
  11. package/dist/audio-stream.d.ts +114 -0
  12. package/dist/audio-stream.d.ts.map +1 -0
  13. package/dist/audio-stream.js +167 -0
  14. package/dist/audio-stream.js.map +1 -0
  15. package/dist/clipboard.d.ts +99 -0
  16. package/dist/clipboard.d.ts.map +1 -0
  17. package/dist/clipboard.js +352 -0
  18. package/dist/clipboard.js.map +1 -0
  19. package/dist/config.d.ts +183 -0
  20. package/dist/config.d.ts.map +1 -0
  21. package/dist/config.js +477 -0
  22. package/dist/config.js.map +1 -0
  23. package/dist/context.d.ts +213 -0
  24. package/dist/context.d.ts.map +1 -0
  25. package/dist/context.js +387 -0
  26. package/dist/context.js.map +1 -0
  27. package/dist/cortex.d.ts +548 -0
  28. package/dist/cortex.d.ts.map +1 -0
  29. package/dist/cortex.js +1479 -0
  30. package/dist/cortex.js.map +1 -0
  31. package/dist/errors.d.ts +133 -0
  32. package/dist/errors.d.ts.map +1 -0
  33. package/dist/errors.js +278 -0
  34. package/dist/errors.js.map +1 -0
  35. package/dist/events.d.ts +227 -0
  36. package/dist/events.d.ts.map +1 -0
  37. package/dist/events.js +429 -0
  38. package/dist/events.js.map +1 -0
  39. package/dist/executor.d.ts +212 -0
  40. package/dist/executor.d.ts.map +1 -0
  41. package/dist/executor.js +545 -0
  42. package/dist/executor.js.map +1 -0
  43. package/dist/index.d.ts +69 -0
  44. package/dist/index.d.ts.map +1 -0
  45. package/dist/index.js +167 -0
  46. package/dist/index.js.map +1 -0
  47. package/dist/integration.d.ts +159 -0
  48. package/dist/integration.d.ts.map +1 -0
  49. package/dist/integration.js +533 -0
  50. package/dist/integration.js.map +1 -0
  51. package/dist/keyboard.d.ts +276 -0
  52. package/dist/keyboard.d.ts.map +1 -0
  53. package/dist/keyboard.js +404 -0
  54. package/dist/keyboard.js.map +1 -0
  55. package/dist/logger.d.ts +198 -0
  56. package/dist/logger.d.ts.map +1 -0
  57. package/dist/logger.js +516 -0
  58. package/dist/logger.js.map +1 -0
  59. package/dist/middleware.d.ts +183 -0
  60. package/dist/middleware.d.ts.map +1 -0
  61. package/dist/middleware.js +493 -0
  62. package/dist/middleware.js.map +1 -0
  63. package/dist/monitor.d.ts +136 -0
  64. package/dist/monitor.d.ts.map +1 -0
  65. package/dist/monitor.js +341 -0
  66. package/dist/monitor.js.map +1 -0
  67. package/dist/mouse.d.ts +290 -0
  68. package/dist/mouse.d.ts.map +1 -0
  69. package/dist/mouse.js +466 -0
  70. package/dist/mouse.js.map +1 -0
  71. package/dist/plugin.d.ts +157 -0
  72. package/dist/plugin.d.ts.map +1 -0
  73. package/dist/plugin.js +409 -0
  74. package/dist/plugin.js.map +1 -0
  75. package/dist/process.d.ts +106 -0
  76. package/dist/process.d.ts.map +1 -0
  77. package/dist/process.js +326 -0
  78. package/dist/process.js.map +1 -0
  79. package/dist/recorder.d.ts +100 -0
  80. package/dist/recorder.d.ts.map +1 -0
  81. package/dist/recorder.js +258 -0
  82. package/dist/recorder.js.map +1 -0
  83. package/dist/safety.d.ts +59 -0
  84. package/dist/safety.d.ts.map +1 -0
  85. package/dist/safety.js +98 -0
  86. package/dist/safety.js.map +1 -0
  87. package/dist/scheduler.d.ts +152 -0
  88. package/dist/scheduler.d.ts.map +1 -0
  89. package/dist/scheduler.js +615 -0
  90. package/dist/scheduler.js.map +1 -0
  91. package/dist/screen.d.ts +96 -0
  92. package/dist/screen.d.ts.map +1 -0
  93. package/dist/screen.js +154 -0
  94. package/dist/screen.js.map +1 -0
  95. package/dist/session.d.ts +209 -0
  96. package/dist/session.d.ts.map +1 -0
  97. package/dist/session.js +479 -0
  98. package/dist/session.js.map +1 -0
  99. package/dist/stream.d.ts +168 -0
  100. package/dist/stream.d.ts.map +1 -0
  101. package/dist/stream.js +298 -0
  102. package/dist/stream.js.map +1 -0
  103. package/dist/telemetry.d.ts +223 -0
  104. package/dist/telemetry.d.ts.map +1 -0
  105. package/dist/telemetry.js +433 -0
  106. package/dist/telemetry.js.map +1 -0
  107. package/dist/types.d.ts +165 -0
  108. package/dist/types.d.ts.map +1 -0
  109. package/dist/types.js +8 -0
  110. package/dist/types.js.map +1 -0
  111. package/dist/utils/bezier.d.ts +51 -0
  112. package/dist/utils/bezier.d.ts.map +1 -0
  113. package/dist/utils/bezier.js +117 -0
  114. package/dist/utils/bezier.js.map +1 -0
  115. package/dist/utils/helpers.d.ts +90 -0
  116. package/dist/utils/helpers.d.ts.map +1 -0
  117. package/dist/utils/helpers.js +143 -0
  118. package/dist/utils/helpers.js.map +1 -0
  119. package/dist/utils/index.d.ts +4 -0
  120. package/dist/utils/index.d.ts.map +1 -0
  121. package/dist/utils/index.js +18 -0
  122. package/dist/utils/index.js.map +1 -0
  123. package/dist/validation.d.ts +254 -0
  124. package/dist/validation.d.ts.map +1 -0
  125. package/dist/validation.js +478 -0
  126. package/dist/validation.js.map +1 -0
  127. package/dist/vision.d.ts +719 -0
  128. package/dist/vision.d.ts.map +1 -0
  129. package/dist/vision.js +1197 -0
  130. package/dist/vision.js.map +1 -0
  131. package/dist/window.d.ts +80 -0
  132. package/dist/window.d.ts.map +1 -0
  133. package/dist/window.js +170 -0
  134. package/dist/window.js.map +1 -0
  135. package/dist/workflow.d.ts +224 -0
  136. package/dist/workflow.d.ts.map +1 -0
  137. package/dist/workflow.js +578 -0
  138. package/dist/workflow.js.map +1 -0
  139. package/index.d.ts +840 -0
  140. package/index.js +495 -0
  141. package/package.json +91 -0
@@ -0,0 +1,198 @@
1
+ export type LogLevel = 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal' | 'silent';
2
+ export interface LogEntry {
3
+ /** ISO timestamp */
4
+ timestamp: string;
5
+ /** Log level */
6
+ level: LogLevel;
7
+ /** Human-readable message */
8
+ message: string;
9
+ /** Module/component that created the log */
10
+ module?: string;
11
+ /** Arbitrary structured data */
12
+ data?: Record<string, unknown>;
13
+ /** Duration in ms (for performance logs) */
14
+ durationMs?: number;
15
+ /** Error details */
16
+ error?: {
17
+ name: string;
18
+ message: string;
19
+ stack?: string;
20
+ code?: string;
21
+ };
22
+ /** Correlation/trace ID for linking related operations */
23
+ traceId?: string;
24
+ /** Span ID for nested operation tracking */
25
+ spanId?: string;
26
+ /** Parent span ID */
27
+ parentSpanId?: string;
28
+ /** Tags for filtering */
29
+ tags?: string[];
30
+ }
31
+ /** Transport — destination for log entries */
32
+ export interface LogTransport {
33
+ /** Transport name */
34
+ name: string;
35
+ /** Minimum level this transport handles */
36
+ level: LogLevel;
37
+ /** Write a log entry */
38
+ write(entry: LogEntry): void;
39
+ /** Flush buffered entries (optional) */
40
+ flush?(): void | Promise<void>;
41
+ /** Teardown (optional) */
42
+ close?(): void | Promise<void>;
43
+ }
44
+ export interface LoggerOptions {
45
+ /** Global minimum log level (default: 'info') */
46
+ level?: LogLevel;
47
+ /** Default module name */
48
+ module?: string;
49
+ /** Enable performance timing helpers (default: true) */
50
+ timing?: boolean;
51
+ /** Transports to write to */
52
+ transports?: LogTransport[];
53
+ /** Emit log events to event bus (default: true) */
54
+ emitEvents?: boolean;
55
+ /** Default tags applied to all entries */
56
+ defaultTags?: string[];
57
+ /** Redact sensitive fields from data (default: true) */
58
+ redactSensitive?: boolean;
59
+ /** Fields to redact (default: password, secret, token, key, auth, cookie) */
60
+ redactFields?: string[];
61
+ }
62
+ /** Console transport with color-coded output */
63
+ export declare class ConsoleTransport implements LogTransport {
64
+ name: string;
65
+ level: LogLevel;
66
+ private _json;
67
+ constructor(options?: {
68
+ level?: LogLevel;
69
+ json?: boolean;
70
+ });
71
+ write(entry: LogEntry): void;
72
+ }
73
+ /** In-memory transport for testing / inspection */
74
+ export declare class MemoryTransport implements LogTransport {
75
+ name: string;
76
+ level: LogLevel;
77
+ entries: LogEntry[];
78
+ maxEntries: number;
79
+ constructor(options?: {
80
+ level?: LogLevel;
81
+ maxEntries?: number;
82
+ });
83
+ write(entry: LogEntry): void;
84
+ query(filter: Partial<Pick<LogEntry, 'level' | 'module' | 'traceId'>>): LogEntry[];
85
+ clear(): void;
86
+ }
87
+ /** Callback transport — route logs to a custom function */
88
+ export declare class CallbackTransport implements LogTransport {
89
+ name: string;
90
+ level: LogLevel;
91
+ private _callback;
92
+ constructor(name: string, callback: (entry: LogEntry) => void, level?: LogLevel);
93
+ write(entry: LogEntry): void;
94
+ }
95
+ export declare const logger: {
96
+ configure(options: LoggerOptions): void;
97
+ /** Get current log level */
98
+ getLevel(): LogLevel;
99
+ /** Set log level at runtime */
100
+ setLevel(level: LogLevel): void;
101
+ /** Add a transport */
102
+ addTransport(transport: LogTransport): void;
103
+ /** Remove a transport by name */
104
+ removeTransport(name: string): void;
105
+ /** Get all transports */
106
+ getTransports(): LogTransport[];
107
+ trace(message: string, data?: Record<string, unknown>, extra?: Partial<LogEntry>): void;
108
+ debug(message: string, data?: Record<string, unknown>, extra?: Partial<LogEntry>): void;
109
+ info(message: string, data?: Record<string, unknown>, extra?: Partial<LogEntry>): void;
110
+ warn(message: string, data?: Record<string, unknown>, extra?: Partial<LogEntry>): void;
111
+ error(message: string, error?: Error | unknown, data?: Record<string, unknown>, extra?: Partial<LogEntry>): void;
112
+ fatal(message: string, error?: Error | unknown, data?: Record<string, unknown>): void;
113
+ /**
114
+ * Time a synchronous operation and log its duration.
115
+ *
116
+ * @example
117
+ * ```ts
118
+ * const result = logger.time('screen.capture', 'screen', () => screen.capture());
119
+ * ```
120
+ */
121
+ time<T>(operation: string, module: string, fn: () => T, data?: Record<string, unknown>): T;
122
+ /**
123
+ * Time an async operation and log its duration.
124
+ */
125
+ timeAsync<T>(operation: string, module: string, fn: () => Promise<T>, data?: Record<string, unknown>): Promise<T>;
126
+ /**
127
+ * Create a new trace context for correlating related operations.
128
+ *
129
+ * @example
130
+ * ```ts
131
+ * const trace = logger.startTrace('user-login-flow');
132
+ * logger.info('Starting login', {}, { traceId: trace.traceId });
133
+ * const span = trace.startSpan('validate-credentials');
134
+ * // ... do work ...
135
+ * span.end();
136
+ * trace.end();
137
+ * ```
138
+ */
139
+ startTrace(name: string): TraceContext;
140
+ /**
141
+ * Set a global trace context (all subsequent logs will include it).
142
+ */
143
+ setContext(traceId?: string, spanId?: string): void;
144
+ /** Clear the global trace context */
145
+ clearContext(): void;
146
+ /**
147
+ * Create a child logger with a fixed module name and optional default data.
148
+ *
149
+ * @example
150
+ * ```ts
151
+ * const log = logger.child('mouse');
152
+ * log.info('Moving to position', { x: 100, y: 200 });
153
+ * // → [INFO] [mouse] Moving to position { x: 100, y: 200 }
154
+ * ```
155
+ */
156
+ child(module: string, defaultData?: Record<string, unknown>): ChildLogger;
157
+ /** Flush all transports */
158
+ flush(): Promise<void>;
159
+ /** Close all transports */
160
+ close(): Promise<void>;
161
+ /** Reset logger to defaults */
162
+ reset(): void;
163
+ };
164
+ export declare class TraceContext {
165
+ readonly traceId: string;
166
+ readonly name: string;
167
+ private _startTime;
168
+ private _spans;
169
+ private _ended;
170
+ constructor(name: string);
171
+ startSpan(name: string): SpanContext;
172
+ end(): void;
173
+ }
174
+ export declare class SpanContext {
175
+ readonly spanId: string;
176
+ readonly name: string;
177
+ readonly traceId: string;
178
+ private _startTime;
179
+ private _ended;
180
+ constructor(name: string, traceId: string, parentSpanId?: string);
181
+ end(data?: Record<string, unknown>): void;
182
+ child(name: string): SpanContext;
183
+ }
184
+ export declare class ChildLogger {
185
+ private _module;
186
+ private _defaultData?;
187
+ constructor(_module: string, _defaultData?: Record<string, unknown> | undefined);
188
+ private _merge;
189
+ trace(message: string, data?: Record<string, unknown>): void;
190
+ debug(message: string, data?: Record<string, unknown>): void;
191
+ info(message: string, data?: Record<string, unknown>): void;
192
+ warn(message: string, data?: Record<string, unknown>): void;
193
+ error(message: string, error?: Error | unknown, data?: Record<string, unknown>): void;
194
+ fatal(message: string, error?: Error | unknown, data?: Record<string, unknown>): void;
195
+ time<T>(operation: string, fn: () => T, data?: Record<string, unknown>): T;
196
+ timeAsync<T>(operation: string, fn: () => Promise<T>, data?: Record<string, unknown>): Promise<T>;
197
+ }
198
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../ts/logger.ts"],"names":[],"mappings":"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"}