apcore-js 0.21.0 → 0.22.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 (175) hide show
  1. package/README.md +33 -3
  2. package/dist/acl-file.d.ts +12 -0
  3. package/dist/acl-file.d.ts.map +1 -0
  4. package/dist/acl-file.js +46 -0
  5. package/dist/acl-file.js.map +1 -0
  6. package/dist/acl-handlers.d.ts.map +1 -1
  7. package/dist/acl-handlers.js +5 -0
  8. package/dist/acl-handlers.js.map +1 -1
  9. package/dist/acl.d.ts.map +1 -1
  10. package/dist/acl.js +20 -37
  11. package/dist/acl.js.map +1 -1
  12. package/dist/async-task.d.ts +49 -14
  13. package/dist/async-task.d.ts.map +1 -1
  14. package/dist/async-task.js +134 -39
  15. package/dist/async-task.js.map +1 -1
  16. package/dist/bindings.d.ts +1 -1
  17. package/dist/bindings.d.ts.map +1 -1
  18. package/dist/bindings.js +10 -26
  19. package/dist/bindings.js.map +1 -1
  20. package/dist/browser/index.d.ts +77 -0
  21. package/dist/browser/index.d.ts.map +1 -0
  22. package/dist/browser/index.js +78 -0
  23. package/dist/browser/index.js.map +1 -0
  24. package/dist/builtin-steps.d.ts +14 -12
  25. package/dist/builtin-steps.d.ts.map +1 -1
  26. package/dist/builtin-steps.js +83 -30
  27. package/dist/builtin-steps.js.map +1 -1
  28. package/dist/cancel.d.ts +23 -2
  29. package/dist/cancel.d.ts.map +1 -1
  30. package/dist/cancel.js +31 -6
  31. package/dist/cancel.js.map +1 -1
  32. package/dist/client.d.ts +4 -1
  33. package/dist/client.d.ts.map +1 -1
  34. package/dist/client.js +19 -7
  35. package/dist/client.js.map +1 -1
  36. package/dist/config-defaults.d.ts +30 -0
  37. package/dist/config-defaults.d.ts.map +1 -0
  38. package/dist/config-defaults.js +83 -0
  39. package/dist/config-defaults.js.map +1 -0
  40. package/dist/config.d.ts +39 -7
  41. package/dist/config.d.ts.map +1 -1
  42. package/dist/config.js +60 -126
  43. package/dist/config.js.map +1 -1
  44. package/dist/context.d.ts +36 -3
  45. package/dist/context.d.ts.map +1 -1
  46. package/dist/context.js +94 -11
  47. package/dist/context.js.map +1 -1
  48. package/dist/errors.d.ts +64 -1
  49. package/dist/errors.d.ts.map +1 -1
  50. package/dist/errors.js +101 -7
  51. package/dist/errors.js.map +1 -1
  52. package/dist/events/emitter.d.ts +46 -12
  53. package/dist/events/emitter.d.ts.map +1 -1
  54. package/dist/events/emitter.js +146 -56
  55. package/dist/events/emitter.js.map +1 -1
  56. package/dist/events/index.d.ts +2 -1
  57. package/dist/events/index.d.ts.map +1 -1
  58. package/dist/events/index.js +1 -1
  59. package/dist/events/index.js.map +1 -1
  60. package/dist/events/retry.d.ts +35 -0
  61. package/dist/events/retry.d.ts.map +1 -0
  62. package/dist/events/retry.js +52 -0
  63. package/dist/events/retry.js.map +1 -0
  64. package/dist/events/subscribers.d.ts +52 -9
  65. package/dist/events/subscribers.d.ts.map +1 -1
  66. package/dist/events/subscribers.js +96 -63
  67. package/dist/events/subscribers.js.map +1 -1
  68. package/dist/executor.d.ts +4 -1
  69. package/dist/executor.d.ts.map +1 -1
  70. package/dist/executor.js +143 -16
  71. package/dist/executor.js.map +1 -1
  72. package/dist/generated/version.d.ts +1 -1
  73. package/dist/generated/version.js +1 -1
  74. package/dist/index.d.ts +15 -5
  75. package/dist/index.d.ts.map +1 -1
  76. package/dist/index.js +17 -4
  77. package/dist/index.js.map +1 -1
  78. package/dist/middleware/circuit-breaker.d.ts +2 -2
  79. package/dist/middleware/circuit-breaker.d.ts.map +1 -1
  80. package/dist/middleware/circuit-breaker.js +19 -19
  81. package/dist/middleware/circuit-breaker.js.map +1 -1
  82. package/dist/middleware/index.d.ts +1 -1
  83. package/dist/middleware/index.d.ts.map +1 -1
  84. package/dist/middleware/index.js +1 -1
  85. package/dist/middleware/index.js.map +1 -1
  86. package/dist/middleware/manager.d.ts +6 -2
  87. package/dist/middleware/manager.d.ts.map +1 -1
  88. package/dist/middleware/manager.js +36 -1
  89. package/dist/middleware/manager.js.map +1 -1
  90. package/dist/middleware/platform-notify.d.ts +2 -3
  91. package/dist/middleware/platform-notify.d.ts.map +1 -1
  92. package/dist/middleware/platform-notify.js +5 -6
  93. package/dist/middleware/platform-notify.js.map +1 -1
  94. package/dist/middleware/tracing-otel-default.d.ts +16 -0
  95. package/dist/middleware/tracing-otel-default.d.ts.map +1 -0
  96. package/dist/middleware/tracing-otel-default.js +25 -0
  97. package/dist/middleware/tracing-otel-default.js.map +1 -0
  98. package/dist/middleware/tracing.d.ts.map +1 -1
  99. package/dist/middleware/tracing.js +9 -10
  100. package/dist/middleware/tracing.js.map +1 -1
  101. package/dist/pipeline.d.ts +1 -1
  102. package/dist/pipeline.js +11 -11
  103. package/dist/pipeline.js.map +1 -1
  104. package/dist/registry/metadata-pure.d.ts +13 -0
  105. package/dist/registry/metadata-pure.d.ts.map +1 -0
  106. package/dist/registry/metadata-pure.js +67 -0
  107. package/dist/registry/metadata-pure.js.map +1 -0
  108. package/dist/registry/metadata.d.ts +8 -4
  109. package/dist/registry/metadata.d.ts.map +1 -1
  110. package/dist/registry/metadata.js +9 -70
  111. package/dist/registry/metadata.js.map +1 -1
  112. package/dist/registry/multi-class.d.ts +0 -31
  113. package/dist/registry/multi-class.d.ts.map +1 -1
  114. package/dist/registry/registry.d.ts +46 -10
  115. package/dist/registry/registry.d.ts.map +1 -1
  116. package/dist/registry/registry.js +273 -33
  117. package/dist/registry/registry.js.map +1 -1
  118. package/dist/registry/scanner.d.ts.map +1 -1
  119. package/dist/registry/scanner.js +3 -15
  120. package/dist/registry/scanner.js.map +1 -1
  121. package/dist/schema/loader-pure.d.ts +24 -0
  122. package/dist/schema/loader-pure.d.ts.map +1 -0
  123. package/dist/schema/loader-pure.js +153 -0
  124. package/dist/schema/loader-pure.js.map +1 -0
  125. package/dist/schema/loader.d.ts +14 -30
  126. package/dist/schema/loader.d.ts.map +1 -1
  127. package/dist/schema/loader.js +20 -201
  128. package/dist/schema/loader.js.map +1 -1
  129. package/dist/schema/ref-resolver.d.ts.map +1 -1
  130. package/dist/schema/ref-resolver.js +7 -21
  131. package/dist/schema/ref-resolver.js.map +1 -1
  132. package/dist/schema/types.d.ts.map +1 -1
  133. package/dist/schema/types.js +1 -1
  134. package/dist/schema/types.js.map +1 -1
  135. package/dist/schema/validator.d.ts.map +1 -1
  136. package/dist/schema/validator.js +11 -20
  137. package/dist/schema/validator.js.map +1 -1
  138. package/dist/streaming.d.ts +21 -0
  139. package/dist/streaming.d.ts.map +1 -0
  140. package/dist/streaming.js +32 -0
  141. package/dist/streaming.js.map +1 -0
  142. package/dist/sys-modules/control.d.ts +0 -78
  143. package/dist/sys-modules/control.d.ts.map +1 -1
  144. package/dist/sys-modules/health.d.ts +0 -138
  145. package/dist/sys-modules/health.d.ts.map +1 -1
  146. package/dist/sys-modules/install.d.ts +12 -0
  147. package/dist/sys-modules/install.d.ts.map +1 -0
  148. package/dist/sys-modules/install.js +14 -0
  149. package/dist/sys-modules/install.js.map +1 -0
  150. package/dist/sys-modules/manifest.d.ts +1 -141
  151. package/dist/sys-modules/manifest.d.ts.map +1 -1
  152. package/dist/sys-modules/overrides-file.d.ts +14 -0
  153. package/dist/sys-modules/overrides-file.d.ts.map +1 -0
  154. package/dist/sys-modules/overrides-file.js +31 -0
  155. package/dist/sys-modules/overrides-file.js.map +1 -0
  156. package/dist/sys-modules/registration.d.ts.map +1 -1
  157. package/dist/sys-modules/registration.js +40 -20
  158. package/dist/sys-modules/registration.js.map +1 -1
  159. package/dist/sys-modules/toggle.d.ts +0 -70
  160. package/dist/sys-modules/toggle.d.ts.map +1 -1
  161. package/dist/sys-modules/usage.d.ts +1 -132
  162. package/dist/sys-modules/usage.d.ts.map +1 -1
  163. package/dist/utils/index.d.ts +2 -3
  164. package/dist/utils/index.d.ts.map +1 -1
  165. package/dist/utils/index.js +3 -11
  166. package/dist/utils/index.js.map +1 -1
  167. package/package.json +22 -7
  168. package/dist/registry/index.d.ts +0 -15
  169. package/dist/registry/index.d.ts.map +0 -1
  170. package/dist/registry/index.js +0 -11
  171. package/dist/registry/index.js.map +0 -1
  172. package/dist/schema/index.d.ts +0 -11
  173. package/dist/schema/index.d.ts.map +0 -1
  174. package/dist/schema/index.js +0 -9
  175. package/dist/schema/index.js.map +0 -1
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Retry configuration types and helpers for event delivery.
3
+ */
4
+ /**
5
+ * Spec default retry policy (event-system.md §Per-Subscriber Retry Policy).
6
+ * Applied when a subscriber omits the `retry` block entirely, and as the base
7
+ * for merging when individual fields are omitted. `max_attempts` default is 3 —
8
+ * uniform across Python/TypeScript/Rust SDKs.
9
+ */
10
+ export const DEFAULT_RETRY = {
11
+ maxAttempts: 3,
12
+ initialBackoffMs: 100,
13
+ maxBackoffMs: 30_000,
14
+ backoffMultiplier: 2.0,
15
+ };
16
+ /**
17
+ * Merge caller-supplied retry config with the spec defaults.
18
+ * A subscriber that does NOT supply `retry` receives the full DEFAULT_RETRY
19
+ * policy (max_attempts=3), per event-system.md §Per-Subscriber Retry Policy —
20
+ * built-in and user-registered subscribers share the same default. A subscriber
21
+ * that explicitly sets `maxAttempts: 1` disables retry (single attempt).
22
+ */
23
+ export function resolveRetry(config) {
24
+ if (config === undefined) {
25
+ return { ...DEFAULT_RETRY };
26
+ }
27
+ return { ...DEFAULT_RETRY, ...config };
28
+ }
29
+ const _patternCache = new Map();
30
+ /** Glob pattern matching supporting * (any chars) and ? (single char). Cached per pattern. */
31
+ export function fnmatch(text, pattern) {
32
+ let regex = _patternCache.get(pattern);
33
+ if (regex === undefined) {
34
+ const regexStr = Array.from(pattern)
35
+ .map((c) => {
36
+ if (c === '*')
37
+ return '.*';
38
+ if (c === '?')
39
+ return '.';
40
+ return c.replace(/[$()*+.?[\]^{|}-]/g, '\\$&');
41
+ })
42
+ .join('');
43
+ regex = new RegExp(`^${regexStr}$`);
44
+ _patternCache.set(pattern, regex);
45
+ }
46
+ return regex.test(text);
47
+ }
48
+ /** Exponential-backoff delay for attempt `attempt` (0-based, clamped to ≥ 0). */
49
+ export function computeDelayMs(cfg, attempt) {
50
+ return Math.min(cfg.maxBackoffMs, Math.floor(cfg.initialBackoffMs * Math.pow(cfg.backoffMultiplier, Math.max(0, attempt))));
51
+ }
52
+ //# sourceMappingURL=retry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/events/retry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAgBH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAwB;IAChD,WAAW,EAAE,CAAC;IACd,gBAAgB,EAAE,GAAG;IACrB,YAAY,EAAE,MAAM;IACpB,iBAAiB,EAAE,GAAG;CACvB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,MAAoB;IAC/C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,EAAE,GAAG,aAAa,EAAE,CAAC;IAC9B,CAAC;IACD,OAAO,EAAE,GAAG,aAAa,EAAE,GAAG,MAAM,EAAE,CAAC;AACzC,CAAC;AAED,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;AAEhD,8FAA8F;AAC9F,MAAM,UAAU,OAAO,CAAC,IAAY,EAAE,OAAe;IACnD,IAAI,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACvC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;aACjC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,IAAI,CAAC,KAAK,GAAG;gBAAE,OAAO,IAAI,CAAC;YAC3B,IAAI,CAAC,KAAK,GAAG;gBAAE,OAAO,GAAG,CAAC;YAC1B,OAAO,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;QACjD,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAC;QACZ,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC;QACpC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,cAAc,CAAC,GAAwB,EAAE,OAAe;IACtE,OAAO,IAAI,CAAC,GAAG,CACb,GAAG,CAAC,YAAY,EAChB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CACzF,CAAC;AACJ,CAAC"}
@@ -2,47 +2,81 @@
2
2
  * Event subscribers for webhook, A2A, file, stdout, and filter delivery.
3
3
  */
4
4
  import type { ApCoreEvent, EventSubscriber } from './emitter.js';
5
+ import type { RetryConfig } from './retry.js';
5
6
  /**
6
7
  * Delivers events via HTTP POST to a webhook URL.
7
8
  *
8
- * Retries on 5xx and connection errors up to `retryCount` times.
9
- * Does not retry on 4xx responses. Enforces `timeoutMs`.
9
+ * Retries on 5xx and connection errors. As of v0.22.0 finding A-D-EVT-001,
10
+ * the retry policy is unified across event subscribers: the subscriber MUST
11
+ * NOT loop internally. Instead, it rethrows on 5xx / network errors and the
12
+ * outer `EventEmitter._deliver` applies the spec retry policy declared via
13
+ * the `retry` field (defaults to `DEFAULT_RETRY` — 3 attempts, 100 ms initial
14
+ * backoff, 2× multiplier, 30 s cap). 4xx responses are treated as
15
+ * non-retryable: a warning is logged and the call returns normally.
10
16
  */
11
17
  export declare class WebhookSubscriber implements EventSubscriber {
18
+ /** Declared subscriber kind for DLQ payloads (A-D-029). */
19
+ readonly subscriberType = "webhook";
20
+ readonly subscriberId: string;
21
+ readonly retry: RetryConfig;
12
22
  private readonly _url;
13
23
  private readonly _headers;
14
- private readonly _retryCount;
15
24
  private readonly _timeoutMs;
16
- constructor(url: string, headers?: Record<string, string>, retryCount?: number, timeoutMs?: number);
25
+ constructor(url: string, headers?: Record<string, string>, timeoutMsOrOpts?: number | {
26
+ timeoutMs?: number;
27
+ retry?: RetryConfig;
28
+ id?: string;
29
+ }, id?: string);
17
30
  onEvent(event: ApCoreEvent): Promise<void>;
18
31
  }
19
32
  /**
20
33
  * Delivers events via the A2A protocol to the platform.
21
34
  *
22
35
  * Sends a POST with `skillId="apevo.event_receiver"` and the
23
- * serialized event in the payload. Failures are logged, not raised.
36
+ * serialized event in the payload. As of v0.22.0 finding A-D-EVT-001 the
37
+ * subscriber no longer silently swallows errors: it rethrows on any
38
+ * status >=400 or network error so the unified `EventEmitter._deliver`
39
+ * retry policy applies (defaults to `DEFAULT_RETRY` — 3 attempts, 100 ms
40
+ * initial backoff, 2× multiplier, 30 s cap). After exhaustion the
41
+ * EventEmitter routes the failure through the DLQ + `onFailure` path.
24
42
  */
25
43
  export declare class A2ASubscriber implements EventSubscriber {
44
+ /** Declared subscriber kind for DLQ payloads (A-D-029). */
45
+ readonly subscriberType = "a2a";
46
+ readonly subscriberId: string;
47
+ readonly retry: RetryConfig;
26
48
  private readonly _platformUrl;
27
49
  private readonly _auth;
28
50
  private readonly _timeoutMs;
29
- constructor(platformUrl: string, auth?: string | Record<string, string | unknown>, timeoutMs?: number);
51
+ private readonly _skillId;
52
+ constructor(platformUrl: string, auth?: string | Record<string, string | unknown>, timeoutMsOrOpts?: number | {
53
+ timeoutMs?: number;
54
+ retry?: RetryConfig;
55
+ id?: string;
56
+ skillId?: string;
57
+ }, id?: string, skillId?: string);
30
58
  onEvent(event: ApCoreEvent): Promise<void>;
31
59
  }
32
60
  /** Writes events to a local file (built-in type: 'file'). */
33
61
  export declare class FileSubscriber implements EventSubscriber {
62
+ /** Declared subscriber kind for DLQ payloads (A-D-029). */
63
+ readonly subscriberType = "file";
64
+ readonly subscriberId: string;
34
65
  private readonly _path;
35
66
  private readonly _append;
36
67
  private readonly _format;
37
68
  private readonly _rotateBytes;
38
- constructor(path: string, append?: boolean, format?: string, rotateBytes?: number);
69
+ constructor(path: string, append?: boolean, format?: string, rotateBytes?: number, id?: string);
39
70
  onEvent(event: ApCoreEvent): Promise<void>;
40
71
  }
41
72
  /** Writes events to stdout (built-in type: 'stdout'). */
42
73
  export declare class StdoutSubscriber implements EventSubscriber {
74
+ /** Declared subscriber kind for DLQ payloads (A-D-029). */
75
+ readonly subscriberType = "stdout";
76
+ readonly subscriberId: string;
43
77
  private readonly _format;
44
78
  private readonly _levelFilter;
45
- constructor(format?: string, levelFilter?: string);
79
+ constructor(format?: string, levelFilter?: string, id?: string);
46
80
  onEvent(event: ApCoreEvent): Promise<void>;
47
81
  }
48
82
  /**
@@ -54,10 +88,19 @@ export declare class StdoutSubscriber implements EventSubscriber {
54
88
  * 3. If neither is set, forward all events.
55
89
  */
56
90
  export declare class FilterSubscriber implements EventSubscriber {
91
+ /** Declared subscriber kind for DLQ payloads (A-D-029). */
92
+ readonly subscriberType = "filter";
93
+ /** Stable identity for DLQ payloads and dedup (A-D-022). */
94
+ readonly subscriberId: string;
95
+ /** Retry policy applied by EventEmitter._deliver (A-D-022). */
96
+ readonly retry: RetryConfig;
57
97
  private readonly _delegate;
58
98
  private readonly _includeEvents;
59
99
  private readonly _excludeEvents;
60
- constructor(delegate: EventSubscriber, includeEvents?: string[], excludeEvents?: string[]);
100
+ constructor(delegate: EventSubscriber, includeEvents?: string[], excludeEvents?: string[], opts?: {
101
+ id?: string;
102
+ retry?: RetryConfig;
103
+ });
61
104
  onEvent(event: ApCoreEvent): Promise<void>;
62
105
  private _matches;
63
106
  }
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"subscribers.d.ts","sourceRoot":"","sources":["../../src/events/subscribers.ts"],"names":[],"mappings":"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"}
@@ -2,41 +2,48 @@
2
2
  * Event subscribers for webhook, A2A, file, stdout, and filter delivery.
3
3
  */
4
4
  import * as fs from 'node:fs';
5
+ import { DEFAULT_RETRY, fnmatch } from './retry.js';
5
6
  const SEVERITY_ORDER = { info: 0, warn: 1, error: 2, fatal: 3 };
6
- const _patternCache = new Map();
7
- function fnmatch(text, pattern) {
8
- let regex = _patternCache.get(pattern);
9
- if (regex === undefined) {
10
- const regexStr = Array.from(pattern)
11
- .map((c) => {
12
- if (c === '*')
13
- return '.*';
14
- if (c === '?')
15
- return '.';
16
- return c.replace(/[$()*+.?[\]^{|}-]/g, '\\$&');
17
- })
18
- .join('');
19
- regex = new RegExp(`^${regexStr}$`);
20
- _patternCache.set(pattern, regex);
21
- }
22
- return regex.test(text);
7
+ // Per-type monotonic counters for auto-generated subscriber IDs.
8
+ // Pattern: `^{type}-[0-9]+$` per spec event_delivery_semantics fixture.
9
+ const _subscriberCounters = new Map();
10
+ function _nextSubscriberId(typeName) {
11
+ const next = (_subscriberCounters.get(typeName) ?? 0);
12
+ _subscriberCounters.set(typeName, next + 1);
13
+ return `${typeName}-${next}`;
23
14
  }
24
15
  /**
25
16
  * Delivers events via HTTP POST to a webhook URL.
26
17
  *
27
- * Retries on 5xx and connection errors up to `retryCount` times.
28
- * Does not retry on 4xx responses. Enforces `timeoutMs`.
18
+ * Retries on 5xx and connection errors. As of v0.22.0 finding A-D-EVT-001,
19
+ * the retry policy is unified across event subscribers: the subscriber MUST
20
+ * NOT loop internally. Instead, it rethrows on 5xx / network errors and the
21
+ * outer `EventEmitter._deliver` applies the spec retry policy declared via
22
+ * the `retry` field (defaults to `DEFAULT_RETRY` — 3 attempts, 100 ms initial
23
+ * backoff, 2× multiplier, 30 s cap). 4xx responses are treated as
24
+ * non-retryable: a warning is logged and the call returns normally.
29
25
  */
30
26
  export class WebhookSubscriber {
27
+ /** Declared subscriber kind for DLQ payloads (A-D-029). */
28
+ subscriberType = 'webhook';
29
+ subscriberId;
30
+ retry;
31
31
  _url;
32
32
  _headers;
33
- _retryCount;
34
33
  _timeoutMs;
35
- constructor(url, headers, retryCount = 3, timeoutMs = 5000) {
34
+ constructor(url, headers, timeoutMsOrOpts = 5000, id) {
35
+ if (typeof timeoutMsOrOpts === 'number') {
36
+ this._timeoutMs = timeoutMsOrOpts;
37
+ this.retry = { ...DEFAULT_RETRY };
38
+ this.subscriberId = id ?? _nextSubscriberId('webhook');
39
+ }
40
+ else {
41
+ this._timeoutMs = timeoutMsOrOpts.timeoutMs ?? 5000;
42
+ this.retry = { ...DEFAULT_RETRY, ...(timeoutMsOrOpts.retry ?? {}) };
43
+ this.subscriberId = timeoutMsOrOpts.id ?? id ?? _nextSubscriberId('webhook');
44
+ }
36
45
  this._url = url;
37
46
  this._headers = headers ?? {};
38
- this._retryCount = retryCount;
39
- this._timeoutMs = timeoutMs;
40
47
  }
41
48
  async onEvent(event) {
42
49
  const payload = {
@@ -50,38 +57,26 @@ export class WebhookSubscriber {
50
57
  'Content-Type': 'application/json',
51
58
  ...this._headers,
52
59
  };
53
- const attempts = 1 + this._retryCount;
54
- let lastError = null;
55
- for (let attempt = 0; attempt < attempts; attempt++) {
56
- const controller = new AbortController();
57
- const timer = setTimeout(() => controller.abort(), this._timeoutMs);
58
- try {
59
- const response = await fetch(this._url, {
60
- method: 'POST',
61
- headers: mergedHeaders,
62
- body: JSON.stringify(payload),
63
- signal: controller.signal,
64
- });
65
- if (response.status < 500) {
66
- if (response.status >= 400) {
67
- console.warn('[apcore:events]', `Webhook ${this._url} returned ${response.status} for event ${event.eventType}`);
68
- }
69
- return;
70
- }
71
- // 5xx -- retry
72
- lastError = new Error(`Webhook returned ${response.status}`);
73
- console.warn('[apcore:events]', `Webhook ${this._url} returned ${response.status} (attempt ${attempt + 1}/${attempts})`);
74
- }
75
- catch (err) {
76
- lastError = err;
77
- console.warn('[apcore:events]', `Webhook ${this._url} failed (attempt ${attempt + 1}/${attempts}):`, err);
60
+ const controller = new AbortController();
61
+ const timer = setTimeout(() => controller.abort(), this._timeoutMs);
62
+ try {
63
+ const response = await fetch(this._url, {
64
+ method: 'POST',
65
+ headers: mergedHeaders,
66
+ body: JSON.stringify(payload),
67
+ signal: controller.signal,
68
+ });
69
+ if (response.status >= 500) {
70
+ // Server error — rethrow so the EventEmitter retry policy applies.
71
+ throw new Error(`Webhook ${this._url} returned ${response.status}`);
78
72
  }
79
- finally {
80
- clearTimeout(timer);
73
+ if (response.status >= 400) {
74
+ // Client error — non-retryable; log and return.
75
+ console.warn('[apcore:events]', `Webhook ${this._url} returned ${response.status} for event ${event.eventType}`);
81
76
  }
82
77
  }
83
- if (lastError !== null) {
84
- console.warn('[apcore:events]', `Webhook ${this._url} delivery failed after ${attempts} attempts:`, lastError);
78
+ finally {
79
+ clearTimeout(timer);
85
80
  }
86
81
  }
87
82
  }
@@ -89,20 +84,41 @@ export class WebhookSubscriber {
89
84
  * Delivers events via the A2A protocol to the platform.
90
85
  *
91
86
  * Sends a POST with `skillId="apevo.event_receiver"` and the
92
- * serialized event in the payload. Failures are logged, not raised.
87
+ * serialized event in the payload. As of v0.22.0 finding A-D-EVT-001 the
88
+ * subscriber no longer silently swallows errors: it rethrows on any
89
+ * status >=400 or network error so the unified `EventEmitter._deliver`
90
+ * retry policy applies (defaults to `DEFAULT_RETRY` — 3 attempts, 100 ms
91
+ * initial backoff, 2× multiplier, 30 s cap). After exhaustion the
92
+ * EventEmitter routes the failure through the DLQ + `onFailure` path.
93
93
  */
94
94
  export class A2ASubscriber {
95
+ /** Declared subscriber kind for DLQ payloads (A-D-029). */
96
+ subscriberType = 'a2a';
97
+ subscriberId;
98
+ retry;
95
99
  _platformUrl;
96
100
  _auth;
97
101
  _timeoutMs;
98
- constructor(platformUrl, auth, timeoutMs = 5000) {
102
+ _skillId;
103
+ constructor(platformUrl, auth, timeoutMsOrOpts = 5000, id, skillId = 'apevo.event_receiver') {
104
+ if (typeof timeoutMsOrOpts === 'number') {
105
+ this._timeoutMs = timeoutMsOrOpts;
106
+ this.retry = { ...DEFAULT_RETRY };
107
+ this.subscriberId = id ?? _nextSubscriberId('a2a');
108
+ this._skillId = skillId;
109
+ }
110
+ else {
111
+ this._timeoutMs = timeoutMsOrOpts.timeoutMs ?? 5000;
112
+ this.retry = { ...DEFAULT_RETRY, ...(timeoutMsOrOpts.retry ?? {}) };
113
+ this.subscriberId = timeoutMsOrOpts.id ?? id ?? _nextSubscriberId('a2a');
114
+ this._skillId = timeoutMsOrOpts.skillId ?? skillId;
115
+ }
99
116
  this._platformUrl = platformUrl;
100
117
  this._auth = auth;
101
- this._timeoutMs = timeoutMs;
102
118
  }
103
119
  async onEvent(event) {
104
120
  const payload = {
105
- skillId: 'apevo.event_receiver',
121
+ skillId: this._skillId,
106
122
  event: {
107
123
  eventType: event.eventType,
108
124
  moduleId: event.moduleId,
@@ -138,12 +154,10 @@ export class A2ASubscriber {
138
154
  signal: controller.signal,
139
155
  });
140
156
  if (response.status >= 400) {
141
- console.warn('[apcore:events]', `A2A delivery to ${this._platformUrl} failed with status ${response.status}`);
157
+ // Rethrow so the EventEmitter unified retry/DLQ policy applies.
158
+ throw new Error(`A2A delivery to ${this._platformUrl} failed with status ${response.status}`);
142
159
  }
143
160
  }
144
- catch (err) {
145
- console.warn('[apcore:events]', `A2A delivery to ${this._platformUrl} failed for event ${event.eventType}:`, err);
146
- }
147
161
  finally {
148
162
  clearTimeout(timer);
149
163
  }
@@ -151,11 +165,15 @@ export class A2ASubscriber {
151
165
  }
152
166
  /** Writes events to a local file (built-in type: 'file'). */
153
167
  export class FileSubscriber {
168
+ /** Declared subscriber kind for DLQ payloads (A-D-029). */
169
+ subscriberType = 'file';
170
+ subscriberId;
154
171
  _path;
155
172
  _append;
156
173
  _format;
157
174
  _rotateBytes;
158
- constructor(path, append = true, format = 'json', rotateBytes) {
175
+ constructor(path, append = true, format = 'json', rotateBytes, id) {
176
+ this.subscriberId = id ?? _nextSubscriberId('file');
159
177
  this._path = path;
160
178
  this._append = append;
161
179
  this._format = format;
@@ -192,9 +210,13 @@ export class FileSubscriber {
192
210
  }
193
211
  /** Writes events to stdout (built-in type: 'stdout'). */
194
212
  export class StdoutSubscriber {
213
+ /** Declared subscriber kind for DLQ payloads (A-D-029). */
214
+ subscriberType = 'stdout';
215
+ subscriberId;
195
216
  _format;
196
217
  _levelFilter;
197
- constructor(format = 'text', levelFilter) {
218
+ constructor(format = 'text', levelFilter, id) {
219
+ this.subscriberId = id ?? _nextSubscriberId('stdout');
198
220
  this._format = format;
199
221
  if (levelFilter !== undefined && !(levelFilter in SEVERITY_ORDER)) {
200
222
  console.warn(`[apcore:events] StdoutSubscriber: unknown level_filter '${levelFilter}' — valid values: info, warn, error, fatal. All events will pass.`);
@@ -229,13 +251,24 @@ export class StdoutSubscriber {
229
251
  * 3. If neither is set, forward all events.
230
252
  */
231
253
  export class FilterSubscriber {
254
+ /** Declared subscriber kind for DLQ payloads (A-D-029). */
255
+ subscriberType = 'filter';
256
+ /** Stable identity for DLQ payloads and dedup (A-D-022). */
257
+ subscriberId;
258
+ /** Retry policy applied by EventEmitter._deliver (A-D-022). */
259
+ retry;
232
260
  _delegate;
233
261
  _includeEvents;
234
262
  _excludeEvents;
235
- constructor(delegate, includeEvents, excludeEvents) {
263
+ constructor(delegate, includeEvents, excludeEvents, opts) {
236
264
  this._delegate = delegate;
237
265
  this._includeEvents = includeEvents ?? null;
238
266
  this._excludeEvents = excludeEvents ?? null;
267
+ // Mirror the id/retry surface of the other subscriber types (A-D-022;
268
+ // Python subscribers.py FilterSubscriber accepts id + retry too). When
269
+ // retry is omitted, delivery uses DEFAULT_RETRY via EventEmitter._deliver.
270
+ this.subscriberId = opts?.id ?? _nextSubscriberId('filter');
271
+ this.retry = { ...DEFAULT_RETRY, ...(opts?.retry ?? {}) };
239
272
  }
240
273
  async onEvent(event) {
241
274
  if (this._matches(event.eventType)) {
@@ -1 +1 @@
1
- {"version":3,"file":"subscribers.js","sourceRoot":"","sources":["../../src/events/subscribers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subscribers.js","sourceRoot":"","sources":["../../src/events/subscribers.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@
7
7
  import type { ACL } from './acl.js';
8
8
  import type { ApprovalHandler } from './approval.js';
9
9
  import type { Config } from './config.js';
10
+ import { type EventEmitter } from './events/emitter.js';
10
11
  import { Context } from './context.js';
11
12
  import { type Middleware } from './middleware/index.js';
12
13
  import type { PreflightResult } from './module.js';
@@ -27,6 +28,7 @@ export declare class Executor {
27
28
  private _config;
28
29
  private _approvalHandler;
29
30
  private _toggleState;
31
+ private _eventEmitter;
30
32
  private _strategy;
31
33
  private _pipelineEngine;
32
34
  /** Global strategy registry for name-based resolution. */
@@ -39,6 +41,7 @@ export declare class Executor {
39
41
  config?: Config | null;
40
42
  approvalHandler?: ApprovalHandler | null;
41
43
  toggleState?: ToggleState | null;
44
+ eventEmitter?: EventEmitter | null;
42
45
  });
43
46
  /** Build the dependency bag for strategy factories. */
44
47
  private _buildStrategyDeps;
@@ -82,7 +85,7 @@ export declare class Executor {
82
85
  */
83
86
  callWithTrace(moduleId: string, inputs?: Record<string, unknown> | null, context?: Context | null, options?: {
84
87
  strategy?: ExecutionStrategy | null;
85
- } | null): Promise<[Record<string, unknown>, PipelineTrace]>;
88
+ } | null, versionHint?: string | null): Promise<[Record<string, unknown>, PipelineTrace]>;
86
89
  /**
87
90
  * Streaming execution pipeline. If the module exposes a stream() async generator,
88
91
  * yields each chunk. Otherwise falls back to call() and yields a single chunk.
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAYrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAI1C,OAAO,EAAE,KAAK,YAAY,EAAe,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,OAAO,EAGL,KAAK,UAAU,EAEhB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAKV,eAAe,EAEhB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAmB,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClF,OAAO,EACL,iBAAiB,EAKlB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAG3D,eAAO,MAAM,cAAc,EAAE,MAAyB,CAAC;AAEvD,mEAAmE;AACnE,eAAO,MAAM,mBAAmB,qCAAqC,CAAC;AACtE,eAAO,MAAM,iBAAiB,6BAA6B,CAAC;AAE5D,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKzB;AA8DD,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,KAAK,SAAI,GACR,IAAI,CAqBN;AA+BD,qBAAa,QAAQ;IACnB,OAAO,CAAC,SAAS,CAAW;IAC5B,OAAO,CAAC,kBAAkB,CAAoB;IAC9C,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,gBAAgB,CAAyB;IACjD,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,eAAe,CAAiB;IAExC,0DAA0D;IAC1D,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAwC;gBAE5D,OAAO,EAAE;QACnB,QAAQ,EAAE,QAAQ,CAAC;QACnB,QAAQ,CAAC,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI,CAAC;QAC7C,WAAW,CAAC,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAClC,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;QACzC,WAAW,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;QACjC,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;KACpC;IAkDD,uDAAuD;IACvD,OAAO,CAAC,kBAAkB;IAe1B,wDAAwD;IACxD,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAIxE,+CAA+C;IAC/C,MAAM,CAAC,cAAc,IAAI,YAAY,EAAE;IAIvC,gEAAgE;IAChE,gBAAgB,IAAI,YAAY;IAIhC,0CAA0C;IAC1C,IAAI,eAAe,IAAI,iBAAiB,CAEvC;IAED,MAAM,CAAC,YAAY,CACjB,QAAQ,EAAE,QAAQ,EAClB,WAAW,CAAC,EAAE,UAAU,EAAE,GAAG,IAAI,EACjC,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,EAChB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,EACtB,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,GACvC,QAAQ;IAIX,IAAI,QAAQ,IAAI,QAAQ,CAEvB;IAED,IAAI,WAAW,IAAI,UAAU,EAAE,CAE9B;IAED,oGAAoG;IACpG,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAiBtB,kGAAkG;IAClG,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAiBlD,GAAG,CAAC,UAAU,EAAE,UAAU,GAAG,QAAQ;IAKrC,SAAS,CACP,QAAQ,EAAE,CACR,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,OAAO,KACb,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAClC,QAAQ;IAKX,QAAQ,CACN,QAAQ,EAAE,CACR,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,OAAO,EAAE,OAAO,KACb,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAClC,QAAQ;IAKX,MAAM,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;IAIjC,IAAI,CACR,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACvC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,EACxB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAC1B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAmEnC;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAY7B;;;OAGG;IACG,SAAS,CACb,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACvC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,EACxB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAC1B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAInC;;;;OAIG;IACG,aAAa,CACjB,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACvC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,EACxB,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,EACxD,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAC1B,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,CAAC,CAAC;IAmEpD;;;;;;;;;;OAUG;IACH;;;;;;;;;OASG;IACI,MAAM,CACX,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACvC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,EACxB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAC1B,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAmL1C;;;;;;OAMG;IACG,QAAQ,CACZ,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,EACvC,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,GACvB,OAAO,CAAC,eAAe,CAAC;IAuK3B,8DAA8D;IAC9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAQpC;IAEF,gEAAgE;IAChE,OAAO,CAAC,cAAc;IAetB,wDAAwD;IACxD,OAAO,CAAC,iBAAiB;IAQzB,yFAAyF;IACzF,OAAO,CAAC,cAAc;CAYvB"}