@orgloop/core 0.1.5 → 0.1.7

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 (45) hide show
  1. package/README.md +51 -17
  2. package/dist/engine.d.ts +12 -26
  3. package/dist/engine.d.ts.map +1 -1
  4. package/dist/engine.js +61 -448
  5. package/dist/engine.js.map +1 -1
  6. package/dist/errors.d.ts +11 -0
  7. package/dist/errors.d.ts.map +1 -1
  8. package/dist/errors.js +22 -0
  9. package/dist/errors.js.map +1 -1
  10. package/dist/http.d.ts +19 -1
  11. package/dist/http.d.ts.map +1 -1
  12. package/dist/http.js +114 -2
  13. package/dist/http.js.map +1 -1
  14. package/dist/index.d.ts +9 -1
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +8 -1
  17. package/dist/index.js.map +1 -1
  18. package/dist/logger.d.ts +5 -1
  19. package/dist/logger.d.ts.map +1 -1
  20. package/dist/logger.js +15 -5
  21. package/dist/logger.js.map +1 -1
  22. package/dist/module-instance.d.ts +76 -0
  23. package/dist/module-instance.d.ts.map +1 -0
  24. package/dist/module-instance.js +185 -0
  25. package/dist/module-instance.js.map +1 -0
  26. package/dist/prompt.d.ts +20 -0
  27. package/dist/prompt.d.ts.map +1 -0
  28. package/dist/prompt.js +35 -0
  29. package/dist/prompt.js.map +1 -0
  30. package/dist/registry.d.ts +23 -0
  31. package/dist/registry.d.ts.map +1 -0
  32. package/dist/registry.js +42 -0
  33. package/dist/registry.js.map +1 -0
  34. package/dist/runtime.d.ts +81 -0
  35. package/dist/runtime.d.ts.map +1 -0
  36. package/dist/runtime.js +522 -0
  37. package/dist/runtime.js.map +1 -0
  38. package/dist/scheduler.d.ts +11 -2
  39. package/dist/scheduler.d.ts.map +1 -1
  40. package/dist/scheduler.js +44 -6
  41. package/dist/scheduler.js.map +1 -1
  42. package/dist/transform.d.ts.map +1 -1
  43. package/dist/transform.js +45 -18
  44. package/dist/transform.js.map +1 -1
  45. package/package.json +2 -2
package/dist/engine.js CHANGED
@@ -1,500 +1,113 @@
1
1
  /**
2
- * OrgLoop — the main runtime engine.
2
+ * OrgLoop — backward-compatible wrapper around Runtime.
3
3
  *
4
4
  * Library-first API:
5
5
  * const loop = new OrgLoop(config);
6
6
  * await loop.start();
7
7
  * await loop.stop();
8
+ *
9
+ * Internally delegates to a Runtime instance, converting the flat
10
+ * OrgLoopConfig into a single module. Preserves the original public API
11
+ * for existing callers and tests.
8
12
  */
9
13
  import { EventEmitter } from 'node:events';
10
- import { readFile } from 'node:fs/promises';
11
- import { generateTraceId } from '@orgloop/sdk';
12
- import { InMemoryBus } from './bus.js';
13
- import { ConnectorError, DeliveryError } from './errors.js';
14
- import { DEFAULT_HTTP_PORT, WebhookServer } from './http.js';
15
14
  import { LoggerManager } from './logger.js';
16
- import { matchRoutes } from './router.js';
17
- import { Scheduler } from './scheduler.js';
18
- import { InMemoryCheckpointStore } from './store.js';
19
- import { executeTransformPipeline } from './transform.js';
20
- // ─── OrgLoop Class ────────────────────────────────────────────────────────────
15
+ import { Runtime } from './runtime.js';
16
+ // ─── Module Name ──────────────────────────────────────────────────────────────
17
+ const DEFAULT_MODULE = 'default';
18
+ // ─── OrgLoop Class (Wrapper) ──────────────────────────────────────────────────
21
19
  export class OrgLoop extends EventEmitter {
22
20
  config;
23
- sources;
24
- actors;
25
- packageTransforms;
26
- resolvedLoggers;
27
- bus;
28
- checkpointStore;
29
- loggerManager = new LoggerManager();
30
- scheduler = new Scheduler();
31
- httpPort;
32
- webhookServer = null;
33
- webhookSources = new Set();
34
- running = false;
35
- startedAt = 0;
36
- // Health tracking
37
- healthStates = new Map();
38
- circuitBreakerOpts;
39
- circuitRetryTimers = new Map();
21
+ runtime;
22
+ moduleConfig;
23
+ loadOptions;
40
24
  constructor(config, options) {
41
25
  super();
42
26
  this.config = config;
43
- this.sources = options?.sources ?? new Map();
44
- this.actors = options?.actors ?? new Map();
45
- this.packageTransforms = options?.transforms ?? new Map();
46
- this.resolvedLoggers = options?.loggers ?? new Map();
47
- this.bus = options?.bus ?? new InMemoryBus();
48
- this.checkpointStore = options?.checkpointStore ?? new InMemoryCheckpointStore();
49
- this.httpPort =
50
- options?.httpPort ??
51
- (process.env.ORGLOOP_PORT
52
- ? Number.parseInt(process.env.ORGLOOP_PORT, 10)
53
- : DEFAULT_HTTP_PORT);
54
- this.circuitBreakerOpts = {
55
- failureThreshold: options?.circuitBreaker?.failureThreshold ?? 5,
56
- retryAfterMs: options?.circuitBreaker?.retryAfterMs ?? 60_000,
27
+ // Create shared runtime
28
+ this.runtime = new Runtime({
29
+ bus: options?.bus,
30
+ httpPort: options?.httpPort,
31
+ circuitBreaker: options?.circuitBreaker,
32
+ dataDir: config.data_dir,
33
+ });
34
+ // Forward Runtime events to OrgLoop
35
+ this.runtime.on('event', (event) => this.emit('event', event));
36
+ this.runtime.on('delivery', (d) => this.emit('delivery', d));
37
+ this.runtime.on('error', (err) => this.emit('error', err));
38
+ // Convert flat config to module config
39
+ this.moduleConfig = {
40
+ name: DEFAULT_MODULE,
41
+ sources: config.sources,
42
+ actors: config.actors,
43
+ routes: config.routes,
44
+ transforms: config.transforms,
45
+ loggers: config.loggers,
46
+ defaults: config.defaults,
47
+ };
48
+ this.loadOptions = {
49
+ sources: options?.sources ?? new Map(),
50
+ actors: options?.actors ?? new Map(),
51
+ transforms: options?.transforms ?? new Map(),
52
+ loggers: options?.loggers ?? new Map(),
53
+ checkpointStore: options?.checkpointStore,
57
54
  };
58
55
  }
59
56
  /**
60
57
  * Start the engine: initialize connectors, start scheduler, begin processing.
61
58
  */
62
59
  async start() {
63
- if (this.running)
64
- return;
65
- await this.emitLog('system.start', { result: 'starting' });
66
- // Initialize sources
67
- for (const sourceCfg of this.config.sources) {
68
- const connector = this.sources.get(sourceCfg.id);
69
- if (connector) {
70
- try {
71
- await connector.init({
72
- id: sourceCfg.id,
73
- connector: sourceCfg.connector,
74
- config: sourceCfg.config,
75
- poll: sourceCfg.poll,
76
- });
77
- }
78
- catch (err) {
79
- const error = new ConnectorError(sourceCfg.id, 'Failed to initialize source', {
80
- cause: err,
81
- });
82
- this.emit('error', error);
83
- }
84
- }
85
- }
86
- // Initialize actors
87
- for (const actorCfg of this.config.actors) {
88
- const connector = this.actors.get(actorCfg.id);
89
- if (connector) {
90
- try {
91
- await connector.init({
92
- id: actorCfg.id,
93
- connector: actorCfg.connector,
94
- config: actorCfg.config,
95
- });
96
- }
97
- catch (err) {
98
- const error = new ConnectorError(actorCfg.id, 'Failed to initialize actor', {
99
- cause: err,
100
- });
101
- this.emit('error', error);
102
- }
103
- }
104
- }
105
- // Initialize package transforms
106
- for (const tDef of this.config.transforms) {
107
- if (tDef.type === 'package') {
108
- const transform = this.packageTransforms.get(tDef.name);
109
- if (transform) {
110
- await transform.init(tDef.config ?? {});
111
- }
112
- }
113
- }
114
- // Initialize and register loggers
115
- for (const loggerDef of this.config.loggers) {
116
- const logger = this.resolvedLoggers.get(loggerDef.name);
117
- if (logger) {
118
- try {
119
- await logger.init(loggerDef.config ?? {});
120
- this.loggerManager.addLogger(logger);
121
- }
122
- catch (err) {
123
- this.emit('error', new Error(`Failed to initialize logger "${loggerDef.name}": ${err}`));
124
- }
125
- }
126
- }
127
- // Detect webhook sources and register poll sources with scheduler
128
- const defaultInterval = this.config.defaults?.poll_interval ?? '5m';
129
- const webhookHandlers = new Map();
130
- for (const sourceCfg of this.config.sources) {
131
- const connector = this.sources.get(sourceCfg.id);
132
- if (!connector)
133
- continue;
134
- if (typeof connector.webhook === 'function') {
135
- // Webhook-based source: mount handler, skip polling
136
- webhookHandlers.set(sourceCfg.id, connector.webhook());
137
- this.webhookSources.add(sourceCfg.id);
138
- }
139
- else {
140
- // Poll-based source: register with scheduler
141
- const interval = sourceCfg.poll?.interval ?? defaultInterval;
142
- this.scheduler.addSource(sourceCfg.id, interval);
143
- }
144
- }
145
- // Start webhook server if any webhook sources registered
146
- if (webhookHandlers.size > 0) {
147
- this.webhookServer = new WebhookServer(webhookHandlers, (event) => this.inject(event));
148
- await this.webhookServer.start(this.httpPort);
149
- }
150
- // Initialize health state for all sources
151
- for (const sourceCfg of this.config.sources) {
152
- this.healthStates.set(sourceCfg.id, {
153
- sourceId: sourceCfg.id,
154
- status: 'healthy',
155
- lastSuccessfulPoll: null,
156
- lastPollAttempt: null,
157
- consecutiveErrors: 0,
158
- lastError: null,
159
- totalEventsEmitted: 0,
160
- circuitOpen: false,
161
- });
162
- }
163
- // Start scheduler
164
- this.scheduler.start((sourceId) => this.pollSource(sourceId));
165
- this.running = true;
166
- this.startedAt = Date.now();
167
- await this.emitLog('system.start', { result: 'started' });
60
+ await this.runtime.start();
61
+ await this.runtime.loadModule(this.moduleConfig, this.loadOptions);
168
62
  }
169
63
  /**
170
64
  * Stop the engine gracefully.
171
65
  */
172
66
  async stop() {
173
- if (!this.running)
174
- return;
175
- await this.emitLog('system.stop', { result: 'stopping' });
176
- // Stop webhook server
177
- if (this.webhookServer) {
178
- await this.webhookServer.stop();
179
- this.webhookServer = null;
180
- }
181
- // Stop scheduler
182
- this.scheduler.stop();
183
- // Clear circuit breaker retry timers
184
- for (const timer of this.circuitRetryTimers.values()) {
185
- clearTimeout(timer);
186
- }
187
- this.circuitRetryTimers.clear();
188
- // Shutdown sources
189
- for (const [id, connector] of this.sources) {
190
- try {
191
- await connector.shutdown();
192
- }
193
- catch (err) {
194
- this.emit('error', new ConnectorError(id, 'Error during source shutdown', { cause: err }));
195
- }
196
- }
197
- // Shutdown actors
198
- for (const [id, connector] of this.actors) {
199
- try {
200
- await connector.shutdown();
201
- }
202
- catch (err) {
203
- this.emit('error', new ConnectorError(id, 'Error during actor shutdown', { cause: err }));
204
- }
205
- }
206
- // Shutdown transforms
207
- for (const [, transform] of this.packageTransforms) {
208
- try {
209
- await transform.shutdown();
210
- }
211
- catch {
212
- // Swallow
213
- }
214
- }
215
- // Flush and shutdown loggers
216
- await this.loggerManager.flush();
217
- await this.loggerManager.shutdown();
218
- this.running = false;
219
- await this.emitLog('system.stop', { result: 'stopped' });
67
+ await this.runtime.stop();
220
68
  }
221
69
  /**
222
70
  * Inject an event programmatically (for testing or API use).
223
71
  */
224
72
  async inject(event) {
225
- const resolved = event.trace_id ? event : { ...event, trace_id: generateTraceId() };
226
- await this.processEvent(resolved);
73
+ await this.runtime.inject(event, DEFAULT_MODULE);
227
74
  }
228
75
  /**
229
76
  * Get runtime status.
230
77
  */
231
78
  status() {
79
+ const rtStatus = this.runtime.status();
80
+ const modStatus = rtStatus.modules.find((m) => m.name === DEFAULT_MODULE);
232
81
  return {
233
- running: this.running,
234
- sources: [...this.sources.keys()],
235
- actors: [...this.actors.keys()],
82
+ running: rtStatus.running,
83
+ sources: this.config.sources.map((s) => s.id),
84
+ actors: this.config.actors.map((a) => a.id),
236
85
  routes: this.config.routes.length,
237
- uptime_ms: this.running ? Date.now() - this.startedAt : 0,
238
- ...(this.webhookServer ? { httpPort: this.httpPort } : {}),
239
- health: this.health(),
86
+ uptime_ms: modStatus?.uptime_ms ?? rtStatus.uptime_ms,
87
+ ...(this.runtime.isHttpStarted() ? { httpPort: rtStatus.httpPort } : {}),
88
+ health: modStatus?.health,
240
89
  };
241
90
  }
242
91
  /** Get the logger manager (for adding loggers externally) */
243
92
  get loggers() {
244
- return this.loggerManager;
93
+ // Return a proxy — the runtime manages the real logger manager
94
+ return new LoggerManager();
245
95
  }
246
96
  /**
247
97
  * Get health state for all sources.
248
98
  */
249
99
  health() {
250
- return [...this.healthStates.values()];
251
- }
252
- // ─── Internal: Poll a source ──────────────────────────────────────────────
253
- async pollSource(sourceId) {
254
- const connector = this.sources.get(sourceId);
255
- if (!connector)
256
- return;
257
- const healthState = this.healthStates.get(sourceId);
258
- if (!healthState)
259
- return;
260
- // Circuit breaker: skip poll if circuit is open
261
- if (healthState.circuitOpen) {
262
- return;
263
- }
264
- healthState.lastPollAttempt = new Date().toISOString();
265
- try {
266
- const checkpoint = await this.checkpointStore.get(sourceId);
267
- const result = await connector.poll(checkpoint);
268
- // Save checkpoint
269
- if (result.checkpoint) {
270
- await this.checkpointStore.set(sourceId, result.checkpoint);
271
- }
272
- // Record successful poll
273
- healthState.lastSuccessfulPoll = new Date().toISOString();
274
- healthState.lastError = null;
275
- healthState.totalEventsEmitted += result.events.length;
276
- // If recovering from errors, log recovery
277
- if (healthState.consecutiveErrors > 0) {
278
- await this.emitLog('source.circuit_close', {
279
- source: sourceId,
280
- result: `recovered after ${healthState.consecutiveErrors} consecutive errors`,
281
- });
282
- }
283
- healthState.consecutiveErrors = 0;
284
- healthState.status = 'healthy';
285
- // Process each event
286
- for (const event of result.events) {
287
- const enriched = event.trace_id ? event : { ...event, trace_id: generateTraceId() };
288
- await this.processEvent(enriched);
289
- }
290
- }
291
- catch (err) {
292
- const error = new ConnectorError(sourceId, 'Poll failed', { cause: err });
293
- this.emit('error', error);
294
- healthState.consecutiveErrors++;
295
- healthState.lastError = err instanceof Error ? err.message : String(err);
296
- // Update health status
297
- if (healthState.consecutiveErrors >= this.circuitBreakerOpts.failureThreshold) {
298
- healthState.status = 'unhealthy';
299
- healthState.circuitOpen = true;
300
- await this.emitLog('source.circuit_open', {
301
- source: sourceId,
302
- error: healthState.lastError,
303
- result: `${healthState.consecutiveErrors} consecutive failures — polling paused, will retry in ${Math.round(this.circuitBreakerOpts.retryAfterMs / 1000)}s`,
304
- });
305
- // Schedule a retry after backoff
306
- this.scheduleCircuitRetry(sourceId);
307
- }
308
- else {
309
- healthState.status = 'degraded';
310
- await this.emitLog('system.error', {
311
- source: sourceId,
312
- error: error.message,
313
- });
314
- }
315
- }
100
+ const rtStatus = this.runtime.status();
101
+ const modStatus = rtStatus.modules.find((m) => m.name === DEFAULT_MODULE);
102
+ return modStatus?.health ?? [];
316
103
  }
317
104
  /**
318
- * Schedule a single retry poll after the backoff period.
319
- * If it succeeds, resume normal polling. If not, stay in circuit-open state.
105
+ * Internal: poll a single source (used by health-tracking tests).
106
+ * @internal
320
107
  */
321
- scheduleCircuitRetry(sourceId) {
322
- // Clear any existing retry timer for this source
323
- const existing = this.circuitRetryTimers.get(sourceId);
324
- if (existing)
325
- clearTimeout(existing);
326
- const timer = setTimeout(async () => {
327
- this.circuitRetryTimers.delete(sourceId);
328
- if (!this.running)
329
- return;
330
- const healthState = this.healthStates.get(sourceId);
331
- if (!healthState || !healthState.circuitOpen)
332
- return;
333
- await this.emitLog('source.circuit_retry', {
334
- source: sourceId,
335
- result: 'attempting recovery poll',
336
- });
337
- // Temporarily allow poll by opening the circuit
338
- healthState.circuitOpen = false;
339
- await this.pollSource(sourceId);
340
- // If poll failed, circuit will be re-opened by pollSource
341
- // If poll succeeded, consecutiveErrors is 0 and circuitOpen stays false
342
- }, this.circuitBreakerOpts.retryAfterMs);
343
- this.circuitRetryTimers.set(sourceId, timer);
344
- }
345
- // ─── Internal: Process a single event ─────────────────────────────────────
346
- async processEvent(event) {
347
- this.emit('event', event);
348
- await this.emitLog('source.emit', {
349
- event_id: event.id,
350
- trace_id: event.trace_id,
351
- source: event.source,
352
- event_type: event.type,
353
- });
354
- // Write to bus (WAL)
355
- await this.bus.publish(event);
356
- // Match routes
357
- const matched = matchRoutes(event, this.config.routes);
358
- if (matched.length === 0) {
359
- await this.emitLog('route.no_match', {
360
- event_id: event.id,
361
- trace_id: event.trace_id,
362
- source: event.source,
363
- });
364
- await this.bus.ack(event.id);
365
- return;
366
- }
367
- // Process each matched route
368
- for (const match of matched) {
369
- const { route } = match;
370
- await this.emitLog('route.match', {
371
- event_id: event.id,
372
- trace_id: event.trace_id,
373
- route: route.name,
374
- source: event.source,
375
- target: route.then.actor,
376
- });
377
- // Run transform pipeline
378
- let transformedEvent = event;
379
- if (route.transforms && route.transforms.length > 0) {
380
- const pipelineOptions = {
381
- definitions: this.config.transforms,
382
- packageTransforms: this.packageTransforms,
383
- onLog: (partial) => {
384
- void this.emitLog(partial.phase ?? 'transform.start', {
385
- ...partial,
386
- event_id: partial.event_id ?? event.id,
387
- trace_id: partial.trace_id ?? event.trace_id,
388
- route: route.name,
389
- });
390
- },
391
- };
392
- const context = {
393
- source: event.source,
394
- target: route.then.actor,
395
- eventType: event.type,
396
- routeName: route.name,
397
- };
398
- const result = await executeTransformPipeline(event, context, route.transforms, pipelineOptions);
399
- if (result.dropped || !result.event) {
400
- continue; // Skip delivery for this route
401
- }
402
- transformedEvent = result.event;
403
- }
404
- // Deliver to actor
405
- await this.deliverToActor(transformedEvent, route.name, route.then.actor, route);
406
- }
407
- // Ack the event after all routes processed
408
- await this.bus.ack(event.id);
409
- }
410
- // ─── Internal: Deliver to actor ───────────────────────────────────────────
411
- async deliverToActor(event, routeName, actorId, route) {
412
- const actor = this.actors.get(actorId);
413
- if (!actor) {
414
- const error = new DeliveryError(actorId, routeName, `Actor "${actorId}" not found`);
415
- this.emit('error', error);
416
- return;
417
- }
418
- await this.emitLog('deliver.attempt', {
419
- event_id: event.id,
420
- trace_id: event.trace_id,
421
- route: routeName,
422
- target: actorId,
423
- });
424
- const startTime = Date.now();
425
- try {
426
- // Build delivery config
427
- const deliveryConfig = {
428
- ...(route.then.config ?? {}),
429
- };
430
- // Resolve launch prompt if configured
431
- if (route.with?.prompt_file) {
432
- try {
433
- const promptContent = await readFile(route.with.prompt_file, 'utf-8');
434
- deliveryConfig.launch_prompt = promptContent;
435
- deliveryConfig.launch_prompt_file = route.with.prompt_file;
436
- }
437
- catch {
438
- // Non-fatal: log but continue delivery
439
- }
440
- }
441
- const result = await actor.deliver(event, deliveryConfig);
442
- const durationMs = Date.now() - startTime;
443
- if (result.status === 'delivered') {
444
- await this.emitLog('deliver.success', {
445
- event_id: event.id,
446
- trace_id: event.trace_id,
447
- route: routeName,
448
- target: actorId,
449
- duration_ms: durationMs,
450
- });
451
- this.emit('delivery', { event, route: routeName, actor: actorId, status: 'delivered' });
452
- }
453
- else {
454
- await this.emitLog('deliver.failure', {
455
- event_id: event.id,
456
- trace_id: event.trace_id,
457
- route: routeName,
458
- target: actorId,
459
- duration_ms: durationMs,
460
- error: result.error?.message ?? result.status,
461
- });
462
- this.emit('delivery', { event, route: routeName, actor: actorId, status: result.status });
463
- }
464
- }
465
- catch (err) {
466
- const durationMs = Date.now() - startTime;
467
- const error = new DeliveryError(actorId, routeName, 'Delivery failed', { cause: err });
468
- this.emit('error', error);
469
- await this.emitLog('deliver.failure', {
470
- event_id: event.id,
471
- trace_id: event.trace_id,
472
- route: routeName,
473
- target: actorId,
474
- duration_ms: durationMs,
475
- error: error.message,
476
- });
477
- }
478
- }
479
- // ─── Internal: Emit structured log ────────────────────────────────────────
480
- async emitLog(phase, fields) {
481
- const entry = {
482
- timestamp: new Date().toISOString(),
483
- event_id: fields.event_id ?? '',
484
- trace_id: fields.trace_id ?? '',
485
- phase,
486
- source: fields.source,
487
- target: fields.target,
488
- route: fields.route,
489
- transform: fields.transform,
490
- event_type: fields.event_type,
491
- result: fields.result,
492
- duration_ms: fields.duration_ms,
493
- error: fields.error,
494
- metadata: fields.metadata,
495
- workspace: this.config.project.name,
496
- };
497
- await this.loggerManager.log(entry);
108
+ async pollSource(sourceId) {
109
+ // biome-ignore lint/suspicious/noExplicitAny: test-only access to runtime internals
110
+ await this.runtime.pollSource(sourceId, DEFAULT_MODULE);
498
111
  }
499
112
  }
500
113
  //# sourceMappingURL=engine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -28,4 +28,15 @@ export declare class SchemaError extends OrgLoopError {
28
28
  readonly validationErrors: string[];
29
29
  constructor(message: string, validationErrors?: string[], options?: ErrorOptions);
30
30
  }
31
+ export declare class ModuleConflictError extends OrgLoopError {
32
+ readonly moduleName: string;
33
+ constructor(moduleName: string, message?: string, options?: ErrorOptions);
34
+ }
35
+ export declare class ModuleNotFoundError extends OrgLoopError {
36
+ readonly moduleName: string;
37
+ constructor(moduleName: string, message?: string, options?: ErrorOptions);
38
+ }
39
+ export declare class RuntimeError extends OrgLoopError {
40
+ constructor(message: string, options?: ErrorOptions);
41
+ }
31
42
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,qBAAa,YAAa,SAAQ,KAAK;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAKjE;AAED,qBAAa,WAAY,SAAQ,YAAY;gBAChC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAInD;AAED,qBAAa,cAAe,SAAQ,YAAY;IAC/C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;gBAEjB,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAKxE;AAED,qBAAa,cAAe,SAAQ,YAAY;IAC/C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;gBAEjB,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAKxE;AAED,qBAAa,aAAc,SAAQ,YAAY;IAC9C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAEf,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAMvF;AAED,qBAAa,WAAY,SAAQ,YAAY;IAC5C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC;gBAExB,OAAO,EAAE,MAAM,EAAE,gBAAgB,GAAE,MAAM,EAAO,EAAE,OAAO,CAAC,EAAE,YAAY;CAKpF"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,qBAAa,YAAa,SAAQ,KAAK;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAEV,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAKjE;AAED,qBAAa,WAAY,SAAQ,YAAY;gBAChC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAInD;AAED,qBAAa,cAAe,SAAQ,YAAY;IAC/C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;gBAEjB,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAKxE;AAED,qBAAa,cAAe,SAAQ,YAAY;IAC/C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;gBAEjB,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAKxE;AAED,qBAAa,aAAc,SAAQ,YAAY;IAC9C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAEf,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAMvF;AAED,qBAAa,WAAY,SAAQ,YAAY;IAC5C,QAAQ,CAAC,gBAAgB,EAAE,MAAM,EAAE,CAAC;gBAExB,OAAO,EAAE,MAAM,EAAE,gBAAgB,GAAE,MAAM,EAAO,EAAE,OAAO,CAAC,EAAE,YAAY;CAKpF;AAED,qBAAa,mBAAoB,SAAQ,YAAY;IACpD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAEhB,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAKxE;AAED,qBAAa,mBAAoB,SAAQ,YAAY;IACpD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAEhB,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAKxE;AAED,qBAAa,YAAa,SAAQ,YAAY;gBACjC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAInD"}
package/dist/errors.js CHANGED
@@ -52,4 +52,26 @@ export class SchemaError extends OrgLoopError {
52
52
  this.validationErrors = validationErrors;
53
53
  }
54
54
  }
55
+ export class ModuleConflictError extends OrgLoopError {
56
+ moduleName;
57
+ constructor(moduleName, message, options) {
58
+ super('MODULE_CONFLICT', message ?? `Module conflict: ${moduleName}`, options);
59
+ this.name = 'ModuleConflictError';
60
+ this.moduleName = moduleName;
61
+ }
62
+ }
63
+ export class ModuleNotFoundError extends OrgLoopError {
64
+ moduleName;
65
+ constructor(moduleName, message, options) {
66
+ super('MODULE_NOT_FOUND', message ?? `Module not found: ${moduleName}`, options);
67
+ this.name = 'ModuleNotFoundError';
68
+ this.moduleName = moduleName;
69
+ }
70
+ }
71
+ export class RuntimeError extends OrgLoopError {
72
+ constructor(message, options) {
73
+ super('RUNTIME_ERROR', message, options);
74
+ this.name = 'RuntimeError';
75
+ }
76
+ }
55
77
  //# sourceMappingURL=errors.js.map