apcore-js 0.19.0 → 0.20.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 (186) hide show
  1. package/README.md +110 -9
  2. package/dist/acl.d.ts +18 -0
  3. package/dist/acl.d.ts.map +1 -1
  4. package/dist/acl.js +54 -17
  5. package/dist/acl.js.map +1 -1
  6. package/dist/async-task.d.ts +70 -16
  7. package/dist/async-task.d.ts.map +1 -1
  8. package/dist/async-task.js +212 -72
  9. package/dist/async-task.js.map +1 -1
  10. package/dist/builtin-steps.d.ts +16 -5
  11. package/dist/builtin-steps.d.ts.map +1 -1
  12. package/dist/builtin-steps.js +45 -28
  13. package/dist/builtin-steps.js.map +1 -1
  14. package/dist/config.d.ts +38 -0
  15. package/dist/config.d.ts.map +1 -1
  16. package/dist/config.js +163 -33
  17. package/dist/config.js.map +1 -1
  18. package/dist/context.d.ts.map +1 -1
  19. package/dist/context.js +12 -1
  20. package/dist/context.js.map +1 -1
  21. package/dist/errors.d.ts +32 -10
  22. package/dist/errors.d.ts.map +1 -1
  23. package/dist/errors.js +55 -16
  24. package/dist/errors.js.map +1 -1
  25. package/dist/events/circuit-breaker.d.ts +45 -0
  26. package/dist/events/circuit-breaker.d.ts.map +1 -0
  27. package/dist/events/circuit-breaker.js +115 -0
  28. package/dist/events/circuit-breaker.js.map +1 -0
  29. package/dist/events/emitter.d.ts +22 -1
  30. package/dist/events/emitter.d.ts.map +1 -1
  31. package/dist/events/emitter.js +66 -2
  32. package/dist/events/emitter.js.map +1 -1
  33. package/dist/events/index.d.ts +4 -2
  34. package/dist/events/index.d.ts.map +1 -1
  35. package/dist/events/index.js +3 -2
  36. package/dist/events/index.js.map +1 -1
  37. package/dist/events/subscribers.d.ts +33 -1
  38. package/dist/events/subscribers.d.ts.map +1 -1
  39. package/dist/events/subscribers.js +124 -1
  40. package/dist/events/subscribers.js.map +1 -1
  41. package/dist/executor.d.ts +10 -2
  42. package/dist/executor.d.ts.map +1 -1
  43. package/dist/executor.js +134 -51
  44. package/dist/executor.js.map +1 -1
  45. package/dist/generated/version.d.ts +1 -1
  46. package/dist/generated/version.js +1 -1
  47. package/dist/index.d.ts +35 -25
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +23 -17
  50. package/dist/index.js.map +1 -1
  51. package/dist/middleware/base.d.ts +25 -3
  52. package/dist/middleware/base.d.ts.map +1 -1
  53. package/dist/middleware/base.js +24 -0
  54. package/dist/middleware/base.js.map +1 -1
  55. package/dist/middleware/circuit-breaker.d.ts +54 -0
  56. package/dist/middleware/circuit-breaker.d.ts.map +1 -0
  57. package/dist/middleware/circuit-breaker.js +168 -0
  58. package/dist/middleware/circuit-breaker.js.map +1 -0
  59. package/dist/middleware/context-namespace.d.ts +30 -0
  60. package/dist/middleware/context-namespace.d.ts.map +1 -0
  61. package/dist/middleware/context-namespace.js +38 -0
  62. package/dist/middleware/context-namespace.js.map +1 -0
  63. package/dist/middleware/index.d.ts +7 -1
  64. package/dist/middleware/index.d.ts.map +1 -1
  65. package/dist/middleware/index.js +4 -1
  66. package/dist/middleware/index.js.map +1 -1
  67. package/dist/middleware/manager.d.ts +11 -4
  68. package/dist/middleware/manager.d.ts.map +1 -1
  69. package/dist/middleware/manager.js +25 -9
  70. package/dist/middleware/manager.js.map +1 -1
  71. package/dist/middleware/platform-notify.d.ts +8 -4
  72. package/dist/middleware/platform-notify.d.ts.map +1 -1
  73. package/dist/middleware/platform-notify.js +11 -7
  74. package/dist/middleware/platform-notify.js.map +1 -1
  75. package/dist/middleware/tracing.d.ts +50 -0
  76. package/dist/middleware/tracing.d.ts.map +1 -0
  77. package/dist/middleware/tracing.js +89 -0
  78. package/dist/middleware/tracing.js.map +1 -0
  79. package/dist/observability/batch-span-processor.d.ts +48 -0
  80. package/dist/observability/batch-span-processor.d.ts.map +1 -0
  81. package/dist/observability/batch-span-processor.js +89 -0
  82. package/dist/observability/batch-span-processor.js.map +1 -0
  83. package/dist/observability/context-logger.d.ts +54 -1
  84. package/dist/observability/context-logger.d.ts.map +1 -1
  85. package/dist/observability/context-logger.js +270 -6
  86. package/dist/observability/context-logger.js.map +1 -1
  87. package/dist/observability/error-history.d.ts +36 -7
  88. package/dist/observability/error-history.d.ts.map +1 -1
  89. package/dist/observability/error-history.js +169 -50
  90. package/dist/observability/error-history.js.map +1 -1
  91. package/dist/observability/index.d.ts +16 -5
  92. package/dist/observability/index.d.ts.map +1 -1
  93. package/dist/observability/index.js +8 -3
  94. package/dist/observability/index.js.map +1 -1
  95. package/dist/observability/metrics.d.ts +14 -1
  96. package/dist/observability/metrics.d.ts.map +1 -1
  97. package/dist/observability/metrics.js +23 -2
  98. package/dist/observability/metrics.js.map +1 -1
  99. package/dist/observability/prometheus-exporter.d.ts +37 -0
  100. package/dist/observability/prometheus-exporter.d.ts.map +1 -0
  101. package/dist/observability/prometheus-exporter.js +135 -0
  102. package/dist/observability/prometheus-exporter.js.map +1 -0
  103. package/dist/observability/storage.d.ts +43 -0
  104. package/dist/observability/storage.d.ts.map +1 -0
  105. package/dist/observability/storage.js +58 -0
  106. package/dist/observability/storage.js.map +1 -0
  107. package/dist/observability/store.d.ts +29 -0
  108. package/dist/observability/store.d.ts.map +1 -0
  109. package/dist/observability/store.js +36 -0
  110. package/dist/observability/store.js.map +1 -0
  111. package/dist/observability/usage-exporter.d.ts +58 -0
  112. package/dist/observability/usage-exporter.d.ts.map +1 -0
  113. package/dist/observability/usage-exporter.js +86 -0
  114. package/dist/observability/usage-exporter.js.map +1 -0
  115. package/dist/observability/usage.d.ts +18 -1
  116. package/dist/observability/usage.d.ts.map +1 -1
  117. package/dist/observability/usage.js +25 -3
  118. package/dist/observability/usage.js.map +1 -1
  119. package/dist/pipeline-config.d.ts +11 -0
  120. package/dist/pipeline-config.d.ts.map +1 -1
  121. package/dist/pipeline-config.js +36 -10
  122. package/dist/pipeline-config.js.map +1 -1
  123. package/dist/pipeline.d.ts +123 -2
  124. package/dist/pipeline.d.ts.map +1 -1
  125. package/dist/pipeline.js +249 -50
  126. package/dist/pipeline.js.map +1 -1
  127. package/dist/registry/index.d.ts +2 -0
  128. package/dist/registry/index.d.ts.map +1 -1
  129. package/dist/registry/index.js +1 -0
  130. package/dist/registry/index.js.map +1 -1
  131. package/dist/registry/multi-class.d.ts +57 -0
  132. package/dist/registry/multi-class.d.ts.map +1 -0
  133. package/dist/registry/multi-class.js +120 -0
  134. package/dist/registry/multi-class.js.map +1 -0
  135. package/dist/registry/registry.d.ts +91 -3
  136. package/dist/registry/registry.d.ts.map +1 -1
  137. package/dist/registry/registry.js +181 -11
  138. package/dist/registry/registry.js.map +1 -1
  139. package/dist/schema/constants.d.ts +9 -0
  140. package/dist/schema/constants.d.ts.map +1 -0
  141. package/dist/schema/constants.js +9 -0
  142. package/dist/schema/constants.js.map +1 -0
  143. package/dist/schema/index.d.ts +1 -1
  144. package/dist/schema/index.d.ts.map +1 -1
  145. package/dist/schema/index.js +1 -1
  146. package/dist/schema/index.js.map +1 -1
  147. package/dist/schema/loader.d.ts +27 -3
  148. package/dist/schema/loader.d.ts.map +1 -1
  149. package/dist/schema/loader.js +137 -32
  150. package/dist/schema/loader.js.map +1 -1
  151. package/dist/schema/types.d.ts +4 -0
  152. package/dist/schema/types.d.ts.map +1 -1
  153. package/dist/schema/types.js.map +1 -1
  154. package/dist/schema/validator.d.ts +9 -0
  155. package/dist/schema/validator.d.ts.map +1 -1
  156. package/dist/schema/validator.js +153 -4
  157. package/dist/schema/validator.js.map +1 -1
  158. package/dist/sys-modules/audit.d.ts +50 -0
  159. package/dist/sys-modules/audit.d.ts.map +1 -0
  160. package/dist/sys-modules/audit.js +89 -0
  161. package/dist/sys-modules/audit.js.map +1 -0
  162. package/dist/sys-modules/control.d.ts +32 -4
  163. package/dist/sys-modules/control.d.ts.map +1 -1
  164. package/dist/sys-modules/control.js +196 -25
  165. package/dist/sys-modules/control.js.map +1 -1
  166. package/dist/sys-modules/index.d.ts +7 -2
  167. package/dist/sys-modules/index.d.ts.map +1 -1
  168. package/dist/sys-modules/index.js +3 -1
  169. package/dist/sys-modules/index.js.map +1 -1
  170. package/dist/sys-modules/overrides.d.ts +58 -0
  171. package/dist/sys-modules/overrides.d.ts.map +1 -0
  172. package/dist/sys-modules/overrides.js +106 -0
  173. package/dist/sys-modules/overrides.js.map +1 -0
  174. package/dist/sys-modules/registration.d.ts +17 -12
  175. package/dist/sys-modules/registration.d.ts.map +1 -1
  176. package/dist/sys-modules/registration.js +115 -23
  177. package/dist/sys-modules/registration.js.map +1 -1
  178. package/dist/sys-modules/toggle.d.ts +7 -2
  179. package/dist/sys-modules/toggle.d.ts.map +1 -1
  180. package/dist/sys-modules/toggle.js +61 -5
  181. package/dist/sys-modules/toggle.js.map +1 -1
  182. package/dist/trace-context.d.ts +47 -9
  183. package/dist/trace-context.d.ts.map +1 -1
  184. package/dist/trace-context.js +139 -16
  185. package/dist/trace-context.js.map +1 -1
  186. package/package.json +1 -1
package/dist/errors.js CHANGED
@@ -287,21 +287,6 @@ export class BindingStrictSchemaIncompatibleError extends ModuleError {
287
287
  this.name = 'BindingStrictSchemaIncompatibleError';
288
288
  }
289
289
  }
290
- /**
291
- * Raised when a binding entry field violates a configured policy limit
292
- * (e.g., description exceeds policy.max_description_length).
293
- * See DECLARATIVE_CONFIG_SPEC.md §7.1 and §9.
294
- */
295
- export class BindingPolicyViolationError extends ModuleError {
296
- static DEFAULT_RETRYABLE = false;
297
- constructor(moduleId, fieldName, policyPath, reason, limitValue, filePath, line, options) {
298
- const loc = filePath ? (line !== undefined ? `${filePath}:${line}: ` : `${filePath}: `) : '';
299
- super('BINDING_POLICY_VIOLATION', `${loc}binding '${moduleId}' field '${fieldName}' violates policy ` +
300
- `'${policyPath}': ${reason} (configured limit: ${String(limitValue)}). ` +
301
- 'Adjust the limit in apcore.yaml or shorten the value.', { moduleId, fieldName, policyPath, reason, limitValue, filePath, line }, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
302
- this.name = 'BindingPolicyViolationError';
303
- }
304
- }
305
290
  /**
306
291
  * Raised when a function parameter has no type annotation or a forward
307
292
  * reference cannot be resolved during auto-schema inference.
@@ -499,6 +484,55 @@ export class VersionConstraintError extends ModuleError {
499
484
  this.name = 'VersionConstraintError';
500
485
  }
501
486
  }
487
+ export class ModuleIdConflictError extends ModuleError {
488
+ static DEFAULT_RETRYABLE = false;
489
+ constructor(filePath, classNames, conflictingSegment, options) {
490
+ super('MODULE_ID_CONFLICT', `Module ID conflict in '${filePath}': classes '${classNames[0]}' and '${classNames[1]}' both produce segment '${conflictingSegment}'`, { filePath, classNames, conflictingSegment }, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
491
+ this.name = 'ModuleIdConflictError';
492
+ }
493
+ }
494
+ export class InvalidSegmentError extends ModuleError {
495
+ static DEFAULT_RETRYABLE = false;
496
+ constructor(filePath, className, segment, options) {
497
+ super('INVALID_SEGMENT', `Class '${className}' in '${filePath}' produces invalid segment '${segment}' — does not match ^[a-z][a-z0-9_]*$`, { filePath, className, segment }, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
498
+ this.name = 'InvalidSegmentError';
499
+ }
500
+ }
501
+ export class CircuitBreakerOpenError extends ModuleError {
502
+ static DEFAULT_RETRYABLE = false;
503
+ constructor(moduleId, callerId = null, options) {
504
+ super('CIRCUIT_BREAKER_OPEN', `Circuit breaker OPEN for module '${moduleId}' (caller: ${callerId ?? 'unknown'}). Wait for the recovery window.`, { moduleId, callerId }, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance ??
505
+ `The circuit breaker for '${moduleId}' is open due to high error rates. The module call was short-circuited. Wait for the recovery window to elapse before retrying.`, options?.userFixable, options?.suggestion);
506
+ this.name = 'CircuitBreakerOpenError';
507
+ }
508
+ get moduleId() {
509
+ return this.details['moduleId'];
510
+ }
511
+ get callerId() {
512
+ return this.details['callerId'];
513
+ }
514
+ }
515
+ export class IdTooLongError extends ModuleError {
516
+ static DEFAULT_RETRYABLE = false;
517
+ constructor(filePath, moduleId, options) {
518
+ super('ID_TOO_LONG', `Derived module ID exceeds 192 characters in '${filePath}': '${moduleId}' (${moduleId.length} chars)`, { filePath, moduleId }, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
519
+ this.name = 'IdTooLongError';
520
+ }
521
+ }
522
+ export class ModuleReloadConflictError extends ModuleError {
523
+ static DEFAULT_RETRYABLE = false;
524
+ constructor(options) {
525
+ super('MODULE_RELOAD_CONFLICT', "'module_id' and 'path_filter' are mutually exclusive; provide exactly one", {}, options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
526
+ this.name = 'ModuleReloadConflictError';
527
+ }
528
+ }
529
+ export class SysModuleRegistrationError extends ModuleError {
530
+ static DEFAULT_RETRYABLE = false;
531
+ constructor(moduleId, cause, options) {
532
+ super('SYS_MODULE_REGISTRATION_FAILED', `System module registration failed: ${moduleId}`, { moduleId }, cause ?? options?.cause, options?.traceId, options?.retryable, options?.aiGuidance, options?.userFixable, options?.suggestion);
533
+ this.name = 'SysModuleRegistrationError';
534
+ }
535
+ }
502
536
  /**
503
537
  * All framework error codes as constants.
504
538
  * Use these instead of hardcoding error code strings.
@@ -541,7 +575,6 @@ export const ErrorCodes = Object.freeze({
541
575
  BINDING_SCHEMA_INFERENCE_FAILED: 'BINDING_SCHEMA_INFERENCE_FAILED',
542
576
  BINDING_SCHEMA_MODE_CONFLICT: 'BINDING_SCHEMA_MODE_CONFLICT',
543
577
  BINDING_STRICT_SCHEMA_INCOMPATIBLE: 'BINDING_STRICT_SCHEMA_INCOMPATIBLE',
544
- BINDING_POLICY_VIOLATION: 'BINDING_POLICY_VIOLATION',
545
578
  BINDING_FILE_INVALID: 'BINDING_FILE_INVALID',
546
579
  CIRCULAR_DEPENDENCY: 'CIRCULAR_DEPENDENCY',
547
580
  MIDDLEWARE_CHAIN_ERROR: 'MIDDLEWARE_CHAIN_ERROR',
@@ -555,5 +588,11 @@ export const ErrorCodes = Object.freeze({
555
588
  DEPENDENCY_VERSION_MISMATCH: 'DEPENDENCY_VERSION_MISMATCH',
556
589
  TASK_LIMIT_EXCEEDED: 'TASK_LIMIT_EXCEEDED',
557
590
  VERSION_CONSTRAINT_INVALID: 'VERSION_CONSTRAINT_INVALID',
591
+ MODULE_ID_CONFLICT: 'MODULE_ID_CONFLICT',
592
+ INVALID_SEGMENT: 'INVALID_SEGMENT',
593
+ ID_TOO_LONG: 'ID_TOO_LONG',
594
+ CIRCUIT_BREAKER_OPEN: 'CIRCUIT_BREAKER_OPEN',
595
+ MODULE_RELOAD_CONFLICT: 'MODULE_RELOAD_CONFLICT',
596
+ SYS_MODULE_REGISTRATION_FAILED: 'SYS_MODULE_REGISTRATION_FAILED',
558
597
  });
559
598
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,MAAM,CAAU,iBAAiB,GAAmB,IAAI,CAAC;IAEhD,IAAI,CAAS;IACb,OAAO,CAA0B;IACxB,KAAK,CAAS;IACvB,OAAO,CAAU;IACjB,SAAS,CAAS;IAClB,SAAS,CAAiB;IAC1B,UAAU,CAAgB;IAC1B,WAAW,CAAiB;IAC5B,UAAU,CAAgB;IAEnC,YACE,IAAY,EACZ,OAAe,EACf,OAAiC,EACjC,KAAa,EACb,OAAgB,EAChB,SAA0B,EAC1B,UAA0B,EAC1B,WAA4B,EAC5B,UAA0B;QAE1B,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC1C,IAAI,CAAC,SAAS;YACZ,SAAS,KAAK,SAAS;gBACrB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAE,IAAI,CAAC,WAAkC,CAAC,iBAAiB,CAAC;QACjE,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,IAAI,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,IAAI,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,IAAI,CAAC;IACvC,CAAC;IAEQ,QAAQ;QACf,OAAO,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;IAC1C,CAAC;IAED,MAAM;QACJ,MAAM,GAAG,GAA4B;YACnC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC;QACF,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/B,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,CAAC;QACD,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAC/B,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC5B,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC7B,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;YAC9B,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC7B,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;;AAGH,MAAM,OAAO,mBAAoB,SAAQ,WAAW;IAClD,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YAAY,UAAkB,EAAE,OAAsB;QACpD,KAAK,CACH,kBAAkB,EAClB,iCAAiC,UAAU,EAAE,EAC7C,EAAE,UAAU,EAAE,EACd,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;;AAGH,MAAM,OAAO,WAAY,SAAQ,WAAW;IAC1C,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CACH,gBAAgB,EAChB,OAAO,EACP,EAAE,EACF,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC5B,CAAC;;AAGH,MAAM,OAAO,YAAa,SAAQ,WAAW;IAC3C,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CACH,gBAAgB,EAChB,OAAO,EACP,EAAE,EACF,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;;AAGH,MAAM,OAAO,cAAe,SAAQ,WAAW;IAC7C,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YAAY,QAAuB,EAAE,QAAgB,EAAE,OAAsB;QAC3E,KAAK,CACH,YAAY,EACZ,kBAAkB,QAAQ,OAAO,QAAQ,EAAE,EAC3C,EAAE,QAAQ,EAAE,QAAQ,EAAE,EACtB,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU;YACjB,sBAAsB,QAAQ,cAAc,QAAQ,oHAAoH,EAC1K,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAkB,CAAC;IACnD,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAW,CAAC;IAC5C,CAAC;;AAGH,MAAM,OAAO,mBAAoB,SAAQ,WAAW;IAClD,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YAAY,QAAgB,EAAE,OAAsB;QAClD,KAAK,CACH,kBAAkB,EAClB,qBAAqB,QAAQ,EAAE,EAC/B,EAAE,QAAQ,EAAE,EACZ,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU;YACjB,WAAW,QAAQ,sHAAsH,EAC3I,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;;AAGH,MAAM,OAAO,mBAAoB,SAAQ,WAAW;IAClD,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YAAY,QAAgB,EAAE,OAAsB;QAClD,KAAK,CACH,iBAAiB,EACjB,uBAAuB,QAAQ,EAAE,EACjC,EAAE,QAAQ,EAAE,EACZ,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU;YACjB,WAAW,QAAQ,4GAA4G,EACjI,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;;AAGH,MAAM,OAAO,kBAAmB,SAAQ,WAAW;IACjD,MAAM,CAAmB,iBAAiB,GAAmB,IAAI,CAAC;IAElE,YAAY,QAAgB,EAAE,SAAiB,EAAE,OAAsB;QACrE,KAAK,CACH,gBAAgB,EAChB,UAAU,QAAQ,oBAAoB,SAAS,IAAI,EACnD,EAAE,QAAQ,EAAE,SAAS,EAAE,EACvB,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU;YACjB,WAAW,QAAQ,qBAAqB,SAAS,oJAAoJ,EACvM,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAW,CAAC;IAC5C,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAW,CAAC;IAC7C,CAAC;;AAGH,MAAM,OAAO,qBAAsB,SAAQ,WAAW;IACpD,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YACE,UAAkB,0BAA0B,EAC5C,MAAuC,EACvC,OAAsB;QAEtB,KAAK,CACH,yBAAyB,EACzB,OAAO,EACP,EAAE,MAAM,EAAE,MAAM,IAAI,EAAE,EAAE,EACxB,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU;YACjB,oJAAoJ,EACtJ,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;;AAGH,MAAM,OAAO,mBAAoB,SAAQ,WAAW;IAClD,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YAAY,QAAgB,EAAE,OAAsB;QAClD,KAAK,CACH,kBAAkB,EAClB,qBAAqB,QAAQ,EAAE,EAC/B,EAAE,QAAQ,EAAE,EACZ,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;;AAGH,MAAM,OAAO,gBAAiB,SAAQ,WAAW;IAC/C,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CACH,oBAAoB,EACpB,OAAO,EACP,EAAE,EACF,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;;AAGH,MAAM,OAAO,sBAAuB,SAAQ,WAAW;IACrD,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CACH,qBAAqB,EACrB,gCAAgC,OAAO,EAAE,EACzC,EAAE,OAAO,EAAE,EACX,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;;AAGH,MAAM,OAAO,sBAAuB,SAAQ,WAAW;IACrD,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YAAY,KAAa,EAAE,QAAgB,EAAE,SAAmB,EAAE,OAAsB;QACtF,KAAK,CACH,qBAAqB,EACrB,cAAc,KAAK,oBAAoB,QAAQ,EAAE,EACjD,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,EAC9B,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU;YACjB,cAAc,KAAK,oBAAoB,QAAQ,0EAA0E,EAC3H,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAW,CAAC;IACzC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAW,CAAC;IAC5C,CAAC;;AAGH,MAAM,OAAO,iBAAkB,SAAQ,WAAW;IAChD,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YAAY,QAAgB,EAAE,SAAmB,EAAE,OAAsB;QACvE,KAAK,CACH,eAAe,EACf,qCAAqC,QAAQ,EAAE,EAC/C,EAAE,QAAQ,EAAE,SAAS,EAAE,EACvB,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU;YACjB,uIAAuI,EACzI,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAW,CAAC;IAC5C,CAAC;;AAGH,MAAM,OAAO,0BAA2B,SAAQ,WAAW;IACzD,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YACE,QAAgB,EAChB,KAAa,EACb,SAAiB,EACjB,SAAmB,EACnB,OAAsB;QAEtB,KAAK,CACH,yBAAyB,EACzB,UAAU,QAAQ,WAAW,KAAK,kBAAkB,SAAS,EAAE,EAC/D,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,EACzC,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAW,CAAC;IAC5C,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAW,CAAC;IACzC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAW,CAAC;IAC7C,CAAC;;AAGH,MAAM,OAAO,iBAAkB,SAAQ,WAAW;IAChD,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YAAY,UAAkB,eAAe,EAAE,OAAsB;QACnE,KAAK,CACH,uBAAuB,EACvB,OAAO,EACP,EAAE,EACF,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;;AAGH,MAAM,OAAO,yBAA0B,SAAQ,WAAW;IACxD,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YAAY,MAAc,EAAE,OAAsB;QAChD,KAAK,CACH,wBAAwB,EACxB,2BAA2B,MAAM,kDAAkD,EACnF,EAAE,MAAM,EAAE,EACV,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;;AAGH,MAAM,OAAO,0BAA2B,SAAQ,WAAW;IACzD,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YAAY,UAAkB,EAAE,OAAsB;QACpD,KAAK,CACH,0BAA0B,EAC1B,yBAAyB,UAAU,IAAI,EACvC,EAAE,UAAU,EAAE,EACd,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;;AAGH,MAAM,OAAO,4BAA6B,SAAQ,WAAW;IAC3D,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YAAY,YAAoB,EAAE,UAAkB,EAAE,OAAsB;QAC1E,KAAK,CACH,4BAA4B,EAC5B,yBAAyB,YAAY,gBAAgB,UAAU,IAAI,EACnE,EAAE,YAAY,EAAE,UAAU,EAAE,EAC5B,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC7C,CAAC;;AAGH,MAAM,OAAO,uBAAwB,SAAQ,WAAW;IACtD,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YAAY,MAAc,EAAE,OAAsB;QAChD,KAAK,CACH,sBAAsB,EACtB,oBAAoB,MAAM,oBAAoB,EAC9C,EAAE,MAAM,EAAE,EACV,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;;AAGH,MAAM,OAAO,iCAAkC,SAAQ,WAAW;IAChE,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YACE,MAAc,EACd,QAAiB,EACjB,QAAiB,EACjB,WAAoB,EACpB,OAAsB;QAEtB,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,MAAM,GAAG,GACP,WAAW;YACX,kGAAkG;gBAChG,2DAA2D;gBAC3D,8DAA8D,CAAC;QACnE,KAAK,CACH,iCAAiC,EACjC,GAAG,GAAG,GAAG,OAAO,4CAA4C,MAAM,MAAM,GAAG,oCAAoC,EAC/G,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAC9B,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,mCAAmC,CAAC;IAClD,CAAC;;AAGH;;;;;;;GAOG;AACH,IAAI,2BAA2B,GAAG,KAAK,CAAC;AACxC,MAAM,OAAO,yBAA0B,SAAQ,iCAAiC;IAC9E,YACE,MAAc,EACd,QAAiB,EACjB,QAAiB,EACjB,WAAoB,EACpB,OAAsB;QAEtB,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;QACxD,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACjC,2BAA2B,GAAG,IAAI,CAAC;YACnC,OAAO,CAAC,IAAI,CACV,+FAA+F;gBAC7F,kFAAkF,CACrF,CAAC;QACJ,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO,8BAA+B,SAAQ,WAAW;IAC7D,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YAAY,QAAgB,EAAE,WAAqB,EAAE,QAAiB,EAAE,OAAsB;QAC5F,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,KAAK,CACH,8BAA8B,EAC9B,GAAG,GAAG,YAAY,QAAQ,sCAAsC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;YACzF,iDAAiD,EACnD,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,EACnC,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC;IAC/C,CAAC;;AAGH;;;;GAIG;AACH,MAAM,OAAO,oCAAqC,SAAQ,WAAW;IACnE,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YACE,QAAgB,EAChB,cAAwB,EACxB,QAAiB,EACjB,IAAa,EACb,OAAsB;QAEtB,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7F,KAAK,CACH,oCAAoC,EACpC,GAAG,GAAG,YAAY,QAAQ,iDAAiD;YACzE,mCAAmC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YAChE,qCAAqC,EACvC,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,EAC5C,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,sCAAsC,CAAC;IACrD,CAAC;;AAGH;;;GAGG;AACH,MAAM,OAAO,wBAAyB,SAAQ,WAAW;IACvD,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YAAY,YAAoB,EAAE,aAAqB,EAAE,OAAsB;QAC7E,KAAK,CACH,wBAAwB,EACxB,cAAc,aAAa,kBAAkB,YAAY,4BAA4B;YACnF,yBAAyB,aAAa,YAAY,EACpD,EAAE,YAAY,EAAE,aAAa,EAAE,EAC/B,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;;AAGH;;;GAGG;AACH,MAAM,OAAO,0BAA2B,SAAQ,WAAW;IACzD,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YAAY,YAAoB,EAAE,OAAsB;QACtD,KAAK,CACH,0BAA0B,EAC1B,aAAa,YAAY,+FAA+F,EACxH,EAAE,YAAY,EAAE,EAChB,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;;AAGH,MAAM,OAAO,uBAAwB,SAAQ,WAAW;IACtD,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YAAY,QAAgB,EAAE,MAAc,EAAE,OAAsB;QAClE,KAAK,CACH,sBAAsB,EACtB,yBAAyB,QAAQ,MAAM,MAAM,EAAE,EAC/C,EAAE,QAAQ,EAAE,MAAM,EAAE,EACpB,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;;AAGH,MAAM,OAAO,uBAAwB,SAAQ,WAAW;IACtD,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YAAY,SAAmB,EAAE,OAAsB;QACrD,KAAK,CACH,qBAAqB,EACrB,iCAAiC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EACzD,EAAE,SAAS,EAAE,EACb,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;;AAGH,MAAM,OAAO,eAAgB,SAAQ,WAAW;IAC9C,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YAAY,QAAgB,EAAE,MAAc,EAAE,OAAsB;QAClE,KAAK,CACH,mBAAmB,EACnB,0BAA0B,QAAQ,MAAM,MAAM,EAAE,EAChD,EAAE,QAAQ,EAAE,MAAM,EAAE,EACpB,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;;AAGH,MAAM,OAAO,uBAAwB,SAAQ,WAAW;IACtD,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YAAY,QAAgB,EAAE,YAAoB,EAAE,OAAsB;QACxE,KAAK,CACH,sBAAsB,EACtB,WAAW,QAAQ,0CAA0C,YAAY,GAAG,EAC5E,EAAE,QAAQ,EAAE,YAAY,EAAE,EAC1B,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU;YACjB,WAAW,QAAQ,wCAAwC,YAAY,yDAAyD,YAAY,qBAAqB,QAAQ,mDAAmD,EAC9N,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;;AAGH,MAAM,OAAO,8BAA+B,SAAQ,WAAW;IAC7D,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YACE,QAAgB,EAChB,YAAoB,EACpB,QAAgB,EAChB,MAAc,EACd,OAAsB;QAEtB,KAAK,CACH,6BAA6B,EAC7B,WAAW,QAAQ,0BAA0B,YAAY,cAAc,QAAQ,iCAAiC,MAAM,GAAG,EACzH,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,EAC5C,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU;YACjB,WAAW,QAAQ,0BAA0B,YAAY,8BAA8B,QAAQ,qCAAqC,MAAM,2FAA2F,EACvO,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC;IAC/C,CAAC;;AAGH,MAAM,OAAO,iBAAkB,SAAQ,WAAW;IAChD,MAAM,CAAmB,iBAAiB,GAAmB,IAAI,CAAC;IAElE,YAAY,QAAgB,EAAE,MAAc,EAAE,OAAsB;QAClE,KAAK,CACH,eAAe,EACf,4BAA4B,QAAQ,MAAM,MAAM,EAAE,EAClD,EAAE,QAAQ,EAAE,MAAM,EAAE,EACpB,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;;AAGH,MAAM,OAAO,kBAAmB,SAAQ,WAAW;IACjD,MAAM,CAAmB,iBAAiB,GAAmB,IAAI,CAAC;IAElE,YAAY,QAAgB,EAAE,MAAc,EAAE,OAAsB;QAClE,KAAK,CACH,sBAAsB,EACtB,6BAA6B,QAAQ,MAAM,MAAM,EAAE,EACnD,EAAE,QAAQ,EAAE,MAAM,EAAE,EACpB,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;;AAGH,MAAM,OAAO,aAAc,SAAQ,WAAW;IAC5C,MAAM,CAAmB,iBAAiB,GAAmB,IAAI,CAAC;IAElE,YAAY,UAAkB,gBAAgB,EAAE,OAAsB;QACpE,KAAK,CACH,wBAAwB,EACxB,OAAO,EACP,EAAE,EACF,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;;AAGH;;;GAGG;AACH,MAAM,OAAO,aAAc,SAAQ,WAAW;IAC5C,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAE1D,MAAM,CAAU;IAEzB,YACE,IAAY,EACZ,OAAe,EACf,MAAe,EACf,QAAiB,EACjB,OAAsB;QAEtB,KAAK,CACH,IAAI,EACJ,OAAO,EACP,EAAE,QAAQ,EAAE,QAAQ,IAAI,IAAI,EAAE,EAC9B,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAkB,CAAC;IACnD,CAAC;IAED,IAAI,MAAM;QACR,MAAM,CAAC,GAAG,IAAI,CAAC,MAAwC,CAAC;QACxD,OAAQ,CAAC,EAAE,CAAC,QAAQ,CAAY,IAAI,IAAI,CAAC;IAC3C,CAAC;;AAGH,MAAM,OAAO,mBAAoB,SAAQ,aAAa;IACpD,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YAAY,MAAe,EAAE,WAAmB,EAAE,EAAE,OAAsB;QACxE,MAAM,MAAM,GAAI,MAAkC,EAAE,CAAC,QAAQ,CAAuB,CAAC;QACrF,IAAI,GAAG,GAAG,+BAA+B,QAAQ,GAAG,CAAC;QACrD,IAAI,MAAM,EAAE,CAAC;YACX,GAAG,IAAI,KAAK,MAAM,EAAE,CAAC;QACvB,CAAC;QACD,KAAK,CAAC,iBAAiB,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;;AAGH,MAAM,OAAO,oBAAqB,SAAQ,aAAa;IACrD,MAAM,CAAmB,iBAAiB,GAAmB,IAAI,CAAC;IAElE,YAAY,MAAe,EAAE,WAAmB,EAAE,EAAE,OAAsB;QACxE,KAAK,CACH,kBAAkB,EAClB,kCAAkC,QAAQ,GAAG,EAC7C,MAAM,EACN,QAAQ,EACR,OAAO,CACR,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;;AAGH,MAAM,OAAO,oBAAqB,SAAQ,aAAa;IACrD,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YAAY,MAAe,EAAE,WAAmB,EAAE,EAAE,OAAsB;QACxE,MAAM,UAAU,GAAI,MAAkC,EAAE,CAAC,YAAY,CAAuB,CAAC;QAC7F,KAAK,CACH,kBAAkB,EAClB,gCAAgC,QAAQ,GAAG,EAC3C,MAAM,EACN,QAAQ,EACR,OAAO,CACR,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,UAAU,IAAI,IAAI,CAAC;IAClD,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAkB,CAAC;IACrD,CAAC;;AAGH,MAAM,OAAO,6BAA8B,SAAQ,WAAW;IAC5D,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YAAY,SAAiB,EAAE,OAAsB;QACnD,KAAK,CACH,4BAA4B,EAC5B,kCAAkC,SAAS,GAAG,EAC9C,EAAE,SAAS,EAAE,EACb,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,+BAA+B,CAAC;IAC9C,CAAC;;AAGH,MAAM,OAAO,4BAA6B,SAAQ,WAAW;IAC3D,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YAAY,SAAiB,EAAE,OAAsB;QACnD,KAAK,CACH,2BAA2B,EAC3B,oDAAoD,SAAS,GAAG,EAChE,EAAE,SAAS,EAAE,EACb,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC7C,CAAC;;AAGH,MAAM,OAAO,4BAA6B,SAAQ,WAAW;IAC3D,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YAAY,SAAiB,EAAE,OAAsB;QACnD,KAAK,CACH,4BAA4B,EAC5B,4DAA4D,SAAS,GAAG,EACxE,EAAE,SAAS,EAAE,EACb,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC7C,CAAC;;AAGH,MAAM,OAAO,yBAA0B,SAAQ,WAAW;IACxD,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YAAY,MAAc,EAAE,KAAa,EAAE,OAAsB;QAC/D,KAAK,CACH,yBAAyB,EACzB,yBAAyB,MAAM,2BAA2B,KAAK,GAAG,EAClE,EAAE,MAAM,EAAE,KAAK,EAAE,EACjB,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;;AAGH,MAAM,OAAO,gBAAiB,SAAQ,WAAW;IAC/C,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CACH,oBAAoB,EACpB,OAAO,EACP,EAAE,EACF,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;;AAGH,MAAM,OAAO,eAAgB,SAAQ,WAAW;IAC9C,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CACH,mBAAmB,EACnB,OAAO,EACP,EAAE,EACF,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;;AAGH,MAAM,OAAO,4BAA6B,SAAQ,WAAW;IAC3D,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YAAY,WAAmB,EAAE,OAAsB;QACrD,KAAK,CACH,2BAA2B,EAC3B,oDAAoD,WAAW,GAAG,EAClE,EAAE,WAAW,EAAE,EACf,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC7C,CAAC;;AAGH,MAAM,OAAO,sBAAuB,SAAQ,WAAW;IACrD,MAAM,CAAmB,iBAAiB,GAAmB,IAAI,CAAC;IAElE,YAAY,QAAgB,EAAE,OAAsB;QAClD,KAAK,CACH,qBAAqB,EACrB,uBAAuB,QAAQ,GAAG,EAClC,EAAE,QAAQ,EAAE,EACZ,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;;AAGH,MAAM,OAAO,sBAAuB,SAAQ,WAAW;IACrD,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YAAY,UAAkB,EAAE,MAAc,EAAE,OAAsB;QACpE,KAAK,CACH,4BAA4B,EAC5B,+BAA+B,UAAU,MAAM,MAAM,EAAE,EACvD,EAAE,UAAU,EAAE,MAAM,EAAE,EACtB,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU;YACjB,eAAe,UAAU,sCAAsC;gBAC7D,kEAAkE,MAAM,EAAE,EAC9E,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;;AAGH,MAAM,OAAO,qBAAsB,SAAQ,WAAW;IACpD,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YACE,QAAgB,EAChB,UAA4B,EAC5B,kBAA0B,EAC1B,OAAsB;QAEtB,KAAK,CACH,oBAAoB,EACpB,0BAA0B,QAAQ,eAAe,UAAU,CAAC,CAAC,CAAC,UAAU,UAAU,CAAC,CAAC,CAAC,2BAA2B,kBAAkB,GAAG,EACrI,EAAE,QAAQ,EAAE,UAAU,EAAE,kBAAkB,EAAE,EAC5C,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;;AAGH,MAAM,OAAO,mBAAoB,SAAQ,WAAW;IAClD,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YACE,QAAgB,EAChB,SAAiB,EACjB,OAAe,EACf,OAAsB;QAEtB,KAAK,CACH,iBAAiB,EACjB,UAAU,SAAS,SAAS,QAAQ,+BAA+B,OAAO,sCAAsC,EAChH,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,EAChC,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;;AAGH,MAAM,OAAO,uBAAwB,SAAQ,WAAW;IACtD,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YAAY,QAAgB,EAAE,WAA0B,IAAI,EAAE,OAAsB;QAClF,KAAK,CACH,sBAAsB,EACtB,oCAAoC,QAAQ,cAAc,QAAQ,IAAI,SAAS,kCAAkC,EACjH,EAAE,QAAQ,EAAE,QAAQ,EAAE,EACtB,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU;YACjB,4BAA4B,QAAQ,iIAAiI,EACvK,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAW,CAAC;IAC5C,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAkB,CAAC;IACnD,CAAC;;AAGH,MAAM,OAAO,cAAe,SAAQ,WAAW;IAC7C,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YAAY,QAAgB,EAAE,QAAgB,EAAE,OAAsB;QACpE,KAAK,CACH,aAAa,EACb,gDAAgD,QAAQ,OAAO,QAAQ,MAAM,QAAQ,CAAC,MAAM,SAAS,EACrG,EAAE,QAAQ,EAAE,QAAQ,EAAE,EACtB,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;;AAGH,MAAM,OAAO,yBAA0B,SAAQ,WAAW;IACxD,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YAAY,OAAsB;QAChC,KAAK,CACH,wBAAwB,EACxB,2EAA2E,EAC3E,EAAE,EACF,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;;AAGH,MAAM,OAAO,0BAA2B,SAAQ,WAAW;IACzD,MAAM,CAAmB,iBAAiB,GAAmB,KAAK,CAAC;IAEnE,YAAY,QAAgB,EAAE,KAAa,EAAE,OAAsB;QACjE,KAAK,CACH,gCAAgC,EAChC,sCAAsC,QAAQ,EAAE,EAChD,EAAE,QAAQ,EAAE,EACZ,KAAK,IAAI,OAAO,EAAE,KAAK,EACvB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,CACpB,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;;AAGH;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;IACtC,gBAAgB,EAAE,kBAAkB;IACpC,cAAc,EAAE,gBAAgB;IAChC,0BAA0B,EAAE,4BAA4B;IACxD,yBAAyB,EAAE,2BAA2B;IACtD,0BAA0B,EAAE,4BAA4B;IACxD,kBAAkB,EAAE,oBAAoB;IACxC,iBAAiB,EAAE,mBAAmB;IACtC,uBAAuB,EAAE,yBAAkC;IAC3D,yBAAyB,EAAE,2BAA2B;IACtD,cAAc,EAAE,gBAAgB;IAChC,UAAU,EAAE,YAAY;IACxB,gBAAgB,EAAE,kBAAkB;IACpC,eAAe,EAAE,iBAAiB;IAClC,cAAc,EAAE,gBAAgB;IAChC,iBAAiB,EAAE,mBAAmB;IACtC,aAAa,EAAE,eAAe;IAC9B,mBAAmB,EAAE,qBAAqB;IAC1C,oBAAoB,EAAE,sBAAsB;IAC5C,uBAAuB,EAAE,yBAAyB;IAClD,gBAAgB,EAAE,kBAAkB;IACpC,kBAAkB,EAAE,oBAAoB;IACxC,mBAAmB,EAAE,qBAAqB;IAC1C,mBAAmB,EAAE,qBAAqB;IAC1C,aAAa,EAAE,eAAe;IAC9B,uBAAuB,EAAE,yBAAyB;IAClD,qBAAqB,EAAE,uBAAuB;IAC9C,sBAAsB,EAAE,wBAAwB;IAChD,sBAAsB,EAAE,wBAAwB;IAChD,wBAAwB,EAAE,0BAA0B;IACpD,sBAAsB,EAAE,wBAAwB;IAChD,wBAAwB,EAAE,0BAA0B;IACpD,0BAA0B,EAAE,4BAA4B;IACxD,oBAAoB,EAAE,sBAAsB;IAC5C,sBAAsB,EAAE,wBAAwB;IAChD,+BAA+B,EAAE,iCAAiC;IAClE,4BAA4B,EAAE,8BAA8B;IAC5D,kCAAkC,EAAE,oCAAoC;IACxE,oBAAoB,EAAE,sBAAsB;IAC5C,mBAAmB,EAAE,qBAAqB;IAC1C,sBAAsB,EAAE,wBAAwB;IAChD,eAAe,EAAE,iBAAiB;IAClC,gBAAgB,EAAE,kBAAkB;IACpC,gBAAgB,EAAE,kBAAkB;IACpC,oBAAoB,EAAE,sBAAsB;IAC5C,oBAAoB,EAAE,sBAAsB;IAC5C,uBAAuB,EAAE,yBAAyB;IAClD,oBAAoB,EAAE,sBAAsB;IAC5C,2BAA2B,EAAE,6BAA6B;IAC1D,mBAAmB,EAAE,qBAAqB;IAC1C,0BAA0B,EAAE,4BAA4B;IACxD,kBAAkB,EAAE,oBAAoB;IACxC,eAAe,EAAE,iBAAiB;IAClC,WAAW,EAAE,aAAa;IAC1B,oBAAoB,EAAE,sBAAsB;IAC5C,sBAAsB,EAAE,wBAAwB;IAChD,8BAA8B,EAAE,gCAAgC;CACxD,CAAC,CAAC"}
@@ -0,0 +1,45 @@
1
+ import type { EventSubscriber, ApCoreEvent } from './emitter.js';
2
+ export declare enum CircuitState {
3
+ CLOSED = "CLOSED",
4
+ OPEN = "OPEN",
5
+ HALF_OPEN = "HALF_OPEN"
6
+ }
7
+ export interface CircuitBreakerConfig {
8
+ timeoutMs?: number;
9
+ openThreshold?: number;
10
+ recoveryWindowMs?: number;
11
+ /** Explicit type name for circuit events. Defaults to constructor.name, which is unreliable in minified builds. */
12
+ subscriberType?: string;
13
+ }
14
+ /**
15
+ * Wraps an EventSubscriber with a per-subscriber circuit-breaker.
16
+ *
17
+ * State machine:
18
+ * CLOSED → (consecutive_failures >= openThreshold) → OPEN
19
+ * OPEN → (recoveryWindowMs elapsed) → HALF_OPEN
20
+ * HALF_OPEN → success → CLOSED
21
+ * HALF_OPEN → failure → OPEN
22
+ */
23
+ export declare class CircuitBreakerWrapper implements EventSubscriber {
24
+ private readonly _subscriber;
25
+ private readonly _emitter;
26
+ private _state;
27
+ private _consecutiveFailures;
28
+ private _lastFailureAt;
29
+ private readonly _timeoutMs;
30
+ private readonly _openThreshold;
31
+ private readonly _recoveryWindowMs;
32
+ private readonly _subscriberType;
33
+ constructor(_subscriber: EventSubscriber, _emitter: {
34
+ emit(event: ApCoreEvent): void;
35
+ }, config?: CircuitBreakerConfig);
36
+ get state(): CircuitState;
37
+ get consecutiveFailures(): number;
38
+ /** Transition OPEN → HALF_OPEN if recoveryWindowMs has elapsed since last failure. */
39
+ checkRecovery(): void;
40
+ onEvent(event: ApCoreEvent): Promise<void>;
41
+ private _onSuccess;
42
+ private _onFailure;
43
+ private _makeEvent;
44
+ }
45
+ //# sourceMappingURL=circuit-breaker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"circuit-breaker.d.ts","sourceRoot":"","sources":["../../src/events/circuit-breaker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEjE,oBAAY,YAAY;IACtB,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,SAAS,cAAc;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mHAAmH;IACnH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,qBAAa,qBAAsB,YAAW,eAAe;IAUzD,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAV3B,OAAO,CAAC,MAAM,CAAqC;IACnD,OAAO,CAAC,oBAAoB,CAAa;IACzC,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;gBAGtB,WAAW,EAAE,eAAe,EAC5B,QAAQ,EAAE;QAAE,IAAI,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAA;KAAE,EAC7D,MAAM,GAAE,oBAAyB;IAQnC,IAAI,KAAK,IAAI,YAAY,CAExB;IAED,IAAI,mBAAmB,IAAI,MAAM,CAEhC;IAED,sFAAsF;IACtF,aAAa,IAAI,IAAI;IAOf,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAgChD,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,UAAU;IAsBlB,OAAO,CAAC,UAAU;CAanB"}
@@ -0,0 +1,115 @@
1
+ export var CircuitState;
2
+ (function (CircuitState) {
3
+ CircuitState["CLOSED"] = "CLOSED";
4
+ CircuitState["OPEN"] = "OPEN";
5
+ CircuitState["HALF_OPEN"] = "HALF_OPEN";
6
+ })(CircuitState || (CircuitState = {}));
7
+ /**
8
+ * Wraps an EventSubscriber with a per-subscriber circuit-breaker.
9
+ *
10
+ * State machine:
11
+ * CLOSED → (consecutive_failures >= openThreshold) → OPEN
12
+ * OPEN → (recoveryWindowMs elapsed) → HALF_OPEN
13
+ * HALF_OPEN → success → CLOSED
14
+ * HALF_OPEN → failure → OPEN
15
+ */
16
+ export class CircuitBreakerWrapper {
17
+ _subscriber;
18
+ _emitter;
19
+ _state = CircuitState.CLOSED;
20
+ _consecutiveFailures = 0;
21
+ _lastFailureAt = null;
22
+ _timeoutMs;
23
+ _openThreshold;
24
+ _recoveryWindowMs;
25
+ _subscriberType;
26
+ constructor(_subscriber, _emitter, config = {}) {
27
+ this._subscriber = _subscriber;
28
+ this._emitter = _emitter;
29
+ this._timeoutMs = config.timeoutMs ?? 5000;
30
+ this._openThreshold = config.openThreshold ?? 5;
31
+ this._recoveryWindowMs = config.recoveryWindowMs ?? 60000;
32
+ this._subscriberType = config.subscriberType ?? this._subscriber.constructor.name;
33
+ }
34
+ get state() {
35
+ return this._state;
36
+ }
37
+ get consecutiveFailures() {
38
+ return this._consecutiveFailures;
39
+ }
40
+ /** Transition OPEN → HALF_OPEN if recoveryWindowMs has elapsed since last failure. */
41
+ checkRecovery() {
42
+ if (this._state !== CircuitState.OPEN || this._lastFailureAt === null)
43
+ return;
44
+ if (Date.now() - this._lastFailureAt.getTime() >= this._recoveryWindowMs) {
45
+ this._state = CircuitState.HALF_OPEN;
46
+ }
47
+ }
48
+ async onEvent(event) {
49
+ this.checkRecovery();
50
+ if (this._state === CircuitState.OPEN)
51
+ return;
52
+ let circuitEvent = null;
53
+ let timeoutId;
54
+ try {
55
+ await Promise.race([
56
+ Promise.resolve(this._subscriber.onEvent(event)),
57
+ new Promise((_, reject) => {
58
+ timeoutId = setTimeout(() => reject(new Error(`Delivery timeout after ${this._timeoutMs}ms`)), this._timeoutMs);
59
+ }),
60
+ ]);
61
+ circuitEvent = this._onSuccess();
62
+ }
63
+ catch (err) {
64
+ circuitEvent = this._onFailure(err);
65
+ }
66
+ finally {
67
+ clearTimeout(timeoutId);
68
+ }
69
+ if (circuitEvent !== null) {
70
+ try {
71
+ this._emitter.emit(circuitEvent);
72
+ }
73
+ catch {
74
+ // circuit events must not surface to callers
75
+ }
76
+ }
77
+ }
78
+ _onSuccess() {
79
+ if (this._state === CircuitState.HALF_OPEN) {
80
+ this._state = CircuitState.CLOSED;
81
+ this._consecutiveFailures = 0;
82
+ return this._makeEvent('apcore.subscriber.circuit_closed', 'info', {
83
+ subscriber_type: this._subscriberType,
84
+ recovery_attempt: true,
85
+ });
86
+ }
87
+ this._consecutiveFailures = 0;
88
+ return null;
89
+ }
90
+ _onFailure(error) {
91
+ this._consecutiveFailures += 1;
92
+ this._lastFailureAt = new Date();
93
+ const opens = this._state === CircuitState.HALF_OPEN ||
94
+ (this._state === CircuitState.CLOSED && this._consecutiveFailures >= this._openThreshold);
95
+ if (opens) {
96
+ this._state = CircuitState.OPEN;
97
+ console.warn(`[apcore:events] Circuit opened for subscriber ${this._subscriberType} after ${this._consecutiveFailures} consecutive failures:`, error);
98
+ return this._makeEvent('apcore.subscriber.circuit_opened', 'warn', {
99
+ subscriber_type: this._subscriberType,
100
+ consecutive_failures: this._consecutiveFailures,
101
+ });
102
+ }
103
+ return null;
104
+ }
105
+ _makeEvent(eventType, severity, data) {
106
+ return {
107
+ eventType,
108
+ moduleId: null,
109
+ timestamp: new Date().toISOString(),
110
+ severity,
111
+ data,
112
+ };
113
+ }
114
+ }
115
+ //# sourceMappingURL=circuit-breaker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"circuit-breaker.js","sourceRoot":"","sources":["../../src/events/circuit-breaker.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,16 @@ export interface EventSubscriber {
12
12
  onEvent(event: ApCoreEvent): void | Promise<void>;
13
13
  }
14
14
  export declare function createEvent(eventType: string, moduleId: string | null, severity: string, data: Record<string, unknown>): ApCoreEvent;
15
+ /**
16
+ * Emit a canonical event AND a legacy alias for the same event during the
17
+ * deprecation window. The legacy event payload is augmented with
18
+ * `deprecated: true` and `canonical_event: <canonicalType>` so subscribers
19
+ * still listening to the legacy name can migrate.
20
+ *
21
+ * The two emissions share an identical timestamp so they appear atomic to
22
+ * downstream consumers ordering by `timestamp`.
23
+ */
24
+ export declare function emitWithLegacy(emitter: EventEmitter, canonicalType: string, legacyType: string, moduleId: string | null, severity: string, data: Record<string, unknown>): void;
15
25
  /**
16
26
  * Global event bus with non-blocking fan-out delivery.
17
27
  * Errors in one subscriber do not affect others.
@@ -24,9 +34,20 @@ export declare class EventEmitter {
24
34
  subscribe(subscriber: EventSubscriber): void;
25
35
  unsubscribe(subscriber: EventSubscriber): void;
26
36
  emit(event: ApCoreEvent): void;
37
+ /**
38
+ * Synchronously dispatch an `apcore.subscriber.delivery_dropped` event to all
39
+ * subscribers (except the one whose delivery was dropped, to avoid feedback
40
+ * loops). Sync emit only — never tracked in `_pending`. (sync finding A-D-504)
41
+ */
42
+ private _dispatchDroppedEvent;
43
+ private _identifySubscriber;
27
44
  /**
28
45
  * Wait for all pending async event deliveries to complete.
29
- * @param timeoutMs - Maximum milliseconds to wait. 0 means wait indefinitely.
46
+ * @param timeoutMs - Maximum milliseconds to wait. Defaults to 5000 (5s);
47
+ * pass `0` to wait indefinitely.
48
+ * Cross-language note: Rust uses ms (matches here);
49
+ * Python's flush() uses seconds (5.0 default) — same wall-clock semantics.
50
+ * (sync finding A-D-503)
30
51
  */
31
52
  flush(timeoutMs?: number): Promise<void>;
32
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../src/events/emitter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnD;AAED,wBAAgB,WAAW,CACzB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,WAAW,CAQb;AAID;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAEzB,UAAU,GAAE,MAA4B;IAIpD,SAAS,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI;IAI5C,WAAW,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI;IAO9C,IAAI,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IA4B9B;;;OAGG;IACG,KAAK,CAAC,SAAS,GAAE,MAAU,GAAG,OAAO,CAAC,IAAI,CAAC;CASlD"}
1
+ {"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../src/events/emitter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnD;AAED,wBAAgB,WAAW,CACzB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,WAAW,CAQb;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,YAAY,EACrB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,IAAI,CAUN;AAID;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAEzB,UAAU,GAAE,MAA4B;IAIpD,SAAS,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI;IAI5C,WAAW,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI;IAO9C,IAAI,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IA+B9B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAgC7B,OAAO,CAAC,mBAAmB;IAO3B;;;;;;;OAOG;IACG,KAAK,CAAC,SAAS,GAAE,MAAa,GAAG,OAAO,CAAC,IAAI,CAAC;CASrD"}
@@ -10,6 +10,26 @@ export function createEvent(eventType, moduleId, severity, data) {
10
10
  data,
11
11
  };
12
12
  }
13
+ /**
14
+ * Emit a canonical event AND a legacy alias for the same event during the
15
+ * deprecation window. The legacy event payload is augmented with
16
+ * `deprecated: true` and `canonical_event: <canonicalType>` so subscribers
17
+ * still listening to the legacy name can migrate.
18
+ *
19
+ * The two emissions share an identical timestamp so they appear atomic to
20
+ * downstream consumers ordering by `timestamp`.
21
+ */
22
+ export function emitWithLegacy(emitter, canonicalType, legacyType, moduleId, severity, data) {
23
+ const timestamp = new Date().toISOString();
24
+ emitter.emit({ eventType: canonicalType, moduleId, timestamp, severity, data });
25
+ emitter.emit({
26
+ eventType: legacyType,
27
+ moduleId,
28
+ timestamp,
29
+ severity,
30
+ data: { ...data, deprecated: true, canonical_event: canonicalType },
31
+ });
32
+ }
13
33
  const DEFAULT_MAX_PENDING = 1000;
14
34
  /**
15
35
  * Global event bus with non-blocking fan-out delivery.
@@ -38,7 +58,10 @@ export class EventEmitter {
38
58
  const result = subscriber.onEvent(event);
39
59
  if (result instanceof Promise) {
40
60
  if (this._pending.length >= this._maxPending) {
61
+ // Overflow: instead of silently dropping, emit a structured event
62
+ // so observers can track delivery loss. (sync finding A-D-504)
41
63
  console.warn(`[apcore:events] _pending cap (${this._maxPending}) reached — dropping async delivery for event ${event.eventType}`);
64
+ this._dispatchDroppedEvent(subscriber, event);
42
65
  }
43
66
  else {
44
67
  const tracked = result.catch((err) => {
@@ -59,11 +82,52 @@ export class EventEmitter {
59
82
  }
60
83
  }
61
84
  }
85
+ /**
86
+ * Synchronously dispatch an `apcore.subscriber.delivery_dropped` event to all
87
+ * subscribers (except the one whose delivery was dropped, to avoid feedback
88
+ * loops). Sync emit only — never tracked in `_pending`. (sync finding A-D-504)
89
+ */
90
+ _dispatchDroppedEvent(droppedFor, originalEvent) {
91
+ const droppedEvent = createEvent('apcore.subscriber.delivery_dropped', null, 'warning', {
92
+ subscriber_id: this._identifySubscriber(droppedFor),
93
+ event_type: originalEvent.eventType,
94
+ original_module_id: originalEvent.moduleId,
95
+ });
96
+ for (const sub of this._subscribers) {
97
+ if (sub === droppedFor)
98
+ continue; // avoid recursive drop on the same sink
99
+ try {
100
+ const r = sub.onEvent(droppedEvent);
101
+ // Intentionally do not track this Promise in _pending — at-cap by design.
102
+ // Async handlers swallow their own errors; attach a guard so unhandled
103
+ // rejections don't escape.
104
+ if (r instanceof Promise) {
105
+ r.catch((err) => {
106
+ console.warn(`[apcore:events] Subscriber failed handling delivery_dropped:`, err);
107
+ });
108
+ }
109
+ }
110
+ catch (err) {
111
+ console.warn(`[apcore:events] Subscriber failed handling delivery_dropped:`, err);
112
+ }
113
+ }
114
+ }
115
+ _identifySubscriber(sub) {
116
+ const ctorName = sub.constructor?.name;
117
+ if (ctorName && ctorName !== 'Object')
118
+ return ctorName;
119
+ // Fall back to a stable hash-ish string based on identity.
120
+ return `subscriber@${this._subscribers.indexOf(sub)}`;
121
+ }
62
122
  /**
63
123
  * Wait for all pending async event deliveries to complete.
64
- * @param timeoutMs - Maximum milliseconds to wait. 0 means wait indefinitely.
124
+ * @param timeoutMs - Maximum milliseconds to wait. Defaults to 5000 (5s);
125
+ * pass `0` to wait indefinitely.
126
+ * Cross-language note: Rust uses ms (matches here);
127
+ * Python's flush() uses seconds (5.0 default) — same wall-clock semantics.
128
+ * (sync finding A-D-503)
65
129
  */
66
- async flush(timeoutMs = 0) {
130
+ async flush(timeoutMs = 5000) {
67
131
  const deadline = timeoutMs > 0 ? Date.now() + timeoutMs : Infinity;
68
132
  while (this._pending.length > 0) {
69
133
  if (Date.now() >= deadline)
@@ -1 +1 @@
1
- {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../src/events/emitter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emitter.js","sourceRoot":"","sources":["../../src/events/emitter.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
- export { EventEmitter, createEvent } from './emitter.js';
1
+ export { EventEmitter, createEvent, emitWithLegacy } from './emitter.js';
2
2
  export type { ApCoreEvent, EventSubscriber } from './emitter.js';
3
- export { WebhookSubscriber, A2ASubscriber } from './subscribers.js';
3
+ export { WebhookSubscriber, A2ASubscriber, FileSubscriber, StdoutSubscriber, FilterSubscriber } from './subscribers.js';
4
+ export { CircuitBreakerWrapper, CircuitState } from './circuit-breaker.js';
5
+ export type { CircuitBreakerConfig } from './circuit-breaker.js';
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACzD,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACzE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACxH,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC3E,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,3 +1,4 @@
1
- export { EventEmitter, createEvent } from './emitter.js';
2
- export { WebhookSubscriber, A2ASubscriber } from './subscribers.js';
1
+ export { EventEmitter, createEvent, emitWithLegacy } from './emitter.js';
2
+ export { WebhookSubscriber, A2ASubscriber, FileSubscriber, StdoutSubscriber, FilterSubscriber } from './subscribers.js';
3
+ export { CircuitBreakerWrapper, CircuitState } from './circuit-breaker.js';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEzD,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/events/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEzE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACxH,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Event subscribers for webhook and A2A protocol delivery.
2
+ * Event subscribers for webhook, A2A, file, stdout, and filter delivery.
3
3
  */
4
4
  import type { ApCoreEvent, EventSubscriber } from './emitter.js';
5
5
  /**
@@ -29,4 +29,36 @@ export declare class A2ASubscriber implements EventSubscriber {
29
29
  constructor(platformUrl: string, auth?: string | Record<string, string | unknown>, timeoutMs?: number);
30
30
  onEvent(event: ApCoreEvent): Promise<void>;
31
31
  }
32
+ /** Writes events to a local file (built-in type: 'file'). */
33
+ export declare class FileSubscriber implements EventSubscriber {
34
+ private readonly _path;
35
+ private readonly _append;
36
+ private readonly _format;
37
+ private readonly _rotateBytes;
38
+ constructor(path: string, append?: boolean, format?: string, rotateBytes?: number);
39
+ onEvent(event: ApCoreEvent): Promise<void>;
40
+ }
41
+ /** Writes events to stdout (built-in type: 'stdout'). */
42
+ export declare class StdoutSubscriber implements EventSubscriber {
43
+ private readonly _format;
44
+ private readonly _levelFilter;
45
+ constructor(format?: string, levelFilter?: string);
46
+ onEvent(event: ApCoreEvent): Promise<void>;
47
+ }
48
+ /**
49
+ * Wraps a delegate subscriber with event-name filtering (built-in type: 'filter').
50
+ *
51
+ * Matching rules (evaluated in order):
52
+ * 1. If include_events is set, forward only events matching any pattern.
53
+ * 2. Otherwise if exclude_events is set, discard events matching any pattern.
54
+ * 3. If neither is set, forward all events.
55
+ */
56
+ export declare class FilterSubscriber implements EventSubscriber {
57
+ private readonly _delegate;
58
+ private readonly _includeEvents;
59
+ private readonly _excludeEvents;
60
+ constructor(delegate: EventSubscriber, includeEvents?: string[], excludeEvents?: string[]);
61
+ onEvent(event: ApCoreEvent): Promise<void>;
62
+ private _matches;
63
+ }
32
64
  //# sourceMappingURL=subscribers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscribers.d.ts","sourceRoot":"","sources":["../../src/events/subscribers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEjE;;;;;GAKG;AACH,qBAAa,iBAAkB,YAAW,eAAe;IACvD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAClD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAGlC,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,UAAU,GAAE,MAAU,EACtB,SAAS,GAAE,MAAa;IAQpB,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CA+DjD;AAED;;;;;GAKG;AACH,qBAAa,aAAc,YAAW,eAAe;IACnD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8C;IACpE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAGlC,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EAChD,SAAS,GAAE,MAAa;IAOpB,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAwDjD"}
1
+ {"version":3,"file":"subscribers.d.ts","sourceRoot":"","sources":["../../src/events/subscribers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAsBjE;;;;;GAKG;AACH,qBAAa,iBAAkB,YAAW,eAAe;IACvD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAClD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAGlC,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,UAAU,GAAE,MAAU,EACtB,SAAS,GAAE,MAAa;IAQpB,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CA+DjD;AAED;;;;;GAKG;AACH,qBAAa,aAAc,YAAW,eAAe;IACnD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8C;IACpE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAGlC,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,EAChD,SAAS,GAAE,MAAa;IAOpB,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAwDjD;AAED,6DAA6D;AAC7D,qBAAa,cAAe,YAAW,eAAe;IACpD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;gBAEjC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,OAAc,EAAE,MAAM,GAAE,MAAe,EAAE,WAAW,CAAC,EAAE,MAAM;IAOzF,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAiCjD;AAED,yDAAyD;AACzD,qBAAa,gBAAiB,YAAW,eAAe;IACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgB;gBAEjC,MAAM,GAAE,MAAe,EAAE,WAAW,CAAC,EAAE,MAAM;IAUnD,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAoBjD;AAED;;;;;;;GAOG;AACH,qBAAa,gBAAiB,YAAW,eAAe;IACtD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAkB;IACjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAkB;gBAErC,QAAQ,EAAE,eAAe,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE;IAMnF,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAMhD,OAAO,CAAC,QAAQ;CASjB"}