@lumin-io/openclaw-diagnostics 0.1.5 → 0.3.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.
package/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  # @lumin-io/openclaw-diagnostics
2
2
 
3
- > Full-fidelity Lumin observability for [OpenClaw](https://github.com/openclaw/openclaw) — every prompt, response, tool I/O, and reasoning trace, captured per turn.
3
+ > Full-fidelity Lumin observability **and synchronous policy enforcement** for [OpenClaw](https://github.com/openclaw/openclaw) — every prompt, response, tool I/O, and reasoning trace captured per turn, every tool call checked against your firewall before it runs.
4
+
5
+ **v0.2.0 adds the Agent Firewall path.** Every `before_tool_call` hook now POSTs to Lumin's `/v1/policy/decide` endpoint and translates the response into OpenClaw's typed-hook return contract — `block`, rewrite `params`, or `requireApproval`. Default fail-mode is `allow` (Rule 7: agent never blocks on Lumin), with `onFirewallError: "deny"` available for fail-closed deployments. Set `enforce: false` to fall back to v0.1.x observation-only behavior.
4
6
 
5
7
  [![npm](https://img.shields.io/npm/v/@lumin-io/openclaw-diagnostics.svg?style=flat-square)](https://www.npmjs.com/package/@lumin-io/openclaw-diagnostics)
6
8
  [![License: Apache 2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg?style=flat-square)](https://github.com/amitbidlan/zistica-lumin/blob/main/LICENSE)
@@ -73,6 +75,9 @@ All optional, set under `plugins.entries.lumin-diagnostics.config` in `openclaw.
73
75
  | `captureSystemMessage` | `false` | Whether to write the full system message text to `metadata.openclaw.content.system_message`. Off by default — these payloads are often large and rarely actionable for debugging. The character count is captured into metadata either way. |
74
76
  | `maxContentChars` | `32768` | Per-attribute content cap. Truncated values are tagged `…(truncated)`. |
75
77
  | `timeoutMs` | `5000` | HTTP timeout for the POST to Lumin. |
78
+ | `enforce` | `true` | **(v0.2.0)** Whether to call `/v1/policy/decide` synchronously on every `before_tool_call`. Set to `false` to fall back to observation-only behavior. |
79
+ | `decideTimeoutMs` | `75` | **(v0.2.0)** Hard timeout for the synchronous decide call. Tighter than `timeoutMs` because every tool call pays this latency. |
80
+ | `onFirewallError` | `"allow"` | **(v0.2.0)** Fail-mode when the firewall is unreachable: `"allow"` (Rule 7 default) lets the tool run, `"deny"` cancels it. |
76
81
 
77
82
  Example:
78
83
 
@@ -110,6 +115,22 @@ Two reasons:
110
115
  - **Trace ID stitching.** OpenClaw's typed hooks and its OTel exporter sometimes run under different `runWithDiagnosticTraceContext` envelopes, so the trace IDs Lumin sees from the two rails *may* not match. The plugin always emits a deterministic trace ID derived from the OpenClaw `runId`, so two ingests of the same run idempotently land on the same trace.
111
116
  - **History is summarized, not embedded.** Each turn captures only the current user prompt — the full conversation history (which OpenClaw replays to the model on every turn) is referenced by count, not embedded, so trace size doesn't grow linearly with conversation length. If you need the full conversation, use Lumin's `/sessions` view, which already groups turns by `session_id`.
112
117
 
118
+ ## Changelog
119
+
120
+ ### 0.2.0 — Agent Firewall enforcement
121
+
122
+ Adds a synchronous policy enforcement layer on top of the v0.1.x observation flow. Every `before_tool_call` hook now POSTs to Lumin's `/v1/policy/decide` endpoint and translates the decision into OpenClaw's typed-hook return contract.
123
+
124
+ - **Mapping:** Lumin `block` → `{ block: true, blockReason }`; `rewrite` → `{ params: rewritten.params }`; `require_approval` → `{ requireApproval: { ..., onResolution } }` that POSTs the operator's decision back to `/v1/approvals/{id}/resolve`; `flag` and `allow` → tool proceeds.
125
+ - **New config:** `enforce` (default `true` — set to `false` to revert to v0.1.x observation-only), `decideTimeoutMs` (default `75` — tighter than the 5000ms span timeout because every tool call pays this latency), `onFirewallError` (default `"allow"` — Rule 7 fail-mode; flip to `"deny"` for fail-closed deployments).
126
+ - **OpenClaw plugin lifecycle hooks:** `before_tool_call` and `after_tool_call` (in addition to `llm_input` / `llm_output` from v0.1.x).
127
+ - **Approval round-trip:** OpenClaw's native approval UI now correlates with Lumin's `/v1/approvals` table — operators get a full audit trail across both systems. `allow-once` / `allow-always` map to `allow`; `deny` / `cancelled` / `timeout` map to `deny`.
128
+ - **Tests:** 22 (12 existing + 10 new firewall cases).
129
+
130
+ ### 0.1.x
131
+
132
+ Observation-only: prompts, replies, tool I/O, reasoning traces captured to Lumin via `/v1/spans`. See git history for sub-version details.
133
+
113
134
  ## Source + issues
114
135
 
115
136
  - Repo: <https://github.com/amitbidlan/zistica-lumin/tree/main/packages/integrations/openclaw-diagnostics>
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;;;;;;;;AA4fH,wBA6JG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;;;;;;;;AAmxBH,wBAsMG"}
package/dist/index.js CHANGED
@@ -42,6 +42,7 @@ const DEFAULT_HOST = "http://localhost:8000";
42
42
  const DEFAULT_PROJECT = "openclaw";
43
43
  const DEFAULT_MAX_CONTENT_CHARS = 32_768;
44
44
  const DEFAULT_TIMEOUT_MS = 5_000;
45
+ const DEFAULT_DECIDE_TIMEOUT_MS = 75;
45
46
  // ----- helpers ------------------------------------------------------------
46
47
  function stringify(value, maxLen) {
47
48
  if (value === null || value === undefined)
@@ -186,6 +187,93 @@ class LuminClient {
186
187
  }
187
188
  }
188
189
  }
190
+ class LuminFirewallClient {
191
+ host;
192
+ project;
193
+ timeoutMs;
194
+ onError;
195
+ failureLogged = false;
196
+ constructor(cfg) {
197
+ this.host = (cfg.host || DEFAULT_HOST).replace(/\/+$/, "");
198
+ this.project = cfg.project || DEFAULT_PROJECT;
199
+ this.timeoutMs = cfg.decideTimeoutMs ?? DEFAULT_DECIDE_TIMEOUT_MS;
200
+ this.onError = cfg.onFirewallError ?? "allow";
201
+ }
202
+ /** Resolve a decision. Never throws. On error/timeout returns the
203
+ * configured fail-mode response. */
204
+ async decide(body) {
205
+ const ctrl = new AbortController();
206
+ const timer = setTimeout(() => ctrl.abort(), this.timeoutMs);
207
+ try {
208
+ const resp = await fetch(`${this.host}/v1/policy/decide`, {
209
+ method: "POST",
210
+ headers: {
211
+ "Content-Type": "application/json",
212
+ "X-Lumin-Project": this.project,
213
+ },
214
+ body: JSON.stringify(body),
215
+ signal: ctrl.signal,
216
+ });
217
+ if (!resp.ok) {
218
+ return this.failResponse(`http_${resp.status}`);
219
+ }
220
+ return (await resp.json());
221
+ }
222
+ catch (err) {
223
+ if (!this.failureLogged) {
224
+ // eslint-disable-next-line no-console
225
+ console.warn(`[lumin-diagnostics] firewall decide failed (${err.message}); applying onFirewallError=${this.onError}. Further failures suppressed.`);
226
+ this.failureLogged = true;
227
+ }
228
+ return this.failResponse(`error:${err.message}`);
229
+ }
230
+ finally {
231
+ clearTimeout(timer);
232
+ }
233
+ }
234
+ /** Long-poll an approval until it resolves or times out. */
235
+ async waitForApproval(approvalId, timeoutMs) {
236
+ const deadline = Date.now() + timeoutMs;
237
+ // Poll cadence: start at 200ms, back off to 1s. Most operator
238
+ // approvals come in within ~5s; back-off keeps the polling load
239
+ // under control on long approvals.
240
+ let interval = 200;
241
+ while (Date.now() < deadline) {
242
+ try {
243
+ const resp = await fetch(`${this.host}/v1/approvals/${encodeURIComponent(approvalId)}`, {
244
+ method: "GET",
245
+ headers: { "X-Lumin-Project": this.project },
246
+ });
247
+ if (!resp.ok) {
248
+ await sleep(interval);
249
+ interval = Math.min(interval * 2, 1000);
250
+ continue;
251
+ }
252
+ const body = (await resp.json());
253
+ if (body.state === "allowed" || body.state === "denied")
254
+ return body.state;
255
+ if (body.state === "timed_out")
256
+ return "timed_out";
257
+ }
258
+ catch {
259
+ // ignore and retry
260
+ }
261
+ await sleep(interval);
262
+ interval = Math.min(interval * 2, 1000);
263
+ }
264
+ return "timed_out";
265
+ }
266
+ failResponse(reason) {
267
+ return {
268
+ decision: this.onError === "deny" ? "block" : "allow",
269
+ reason: `firewall_${reason}`,
270
+ policy_name: this.onError === "deny" ? "_firewall_fail_closed" : undefined,
271
+ };
272
+ }
273
+ }
274
+ function sleep(ms) {
275
+ return new Promise((r) => setTimeout(r, ms));
276
+ }
189
277
  const PENDING_TTL_MS = 5 * 60 * 1000;
190
278
  class PendingLlmRegistry {
191
279
  byRunId = new Map();
@@ -379,6 +467,93 @@ function buildSpanFromToolCall(before, after, cfg, hookCtx) {
379
467
  },
380
468
  };
381
469
  }
470
+ // ----- firewall decision → OpenClaw hook return (v0.2.0) -----------------
471
+ //
472
+ // Maps the response shape from /v1/policy/decide onto OpenClaw's typed-
473
+ // hook return contract. The mapping is:
474
+ //
475
+ // block → { block: true, blockReason }
476
+ // rewrite → { params: rewritten.params }
477
+ // require_approval → { requireApproval: { title, description, onResolution } }
478
+ // with an onResolution callback that POSTs the
479
+ // operator's decision back to /v1/approvals/{id}/resolve
480
+ // flag, allow → undefined (no return value, tool proceeds)
481
+ //
482
+ // Unknown decisions degrade to allow per Rule 7. The plugin never
483
+ // throws here — the only side-effect is the return value, which the
484
+ // host interprets.
485
+ function translateDecision(decision, fw, cfg, log) {
486
+ if (!decision || decision.decision === "allow" || decision.decision === "flag") {
487
+ return undefined;
488
+ }
489
+ if (decision.decision === "block") {
490
+ return {
491
+ block: true,
492
+ blockReason: decision.reason || "blocked by Lumin firewall",
493
+ };
494
+ }
495
+ if (decision.decision === "rewrite") {
496
+ const params = decision.rewritten?.params;
497
+ if (params && typeof params === "object") {
498
+ return { params };
499
+ }
500
+ // Server returned rewrite without a params payload — degrade to
501
+ // block rather than silently letting the original through. This
502
+ // is conservative; the alternative (allow with a logged warning)
503
+ // would be a security regression in the rare case the redaction
504
+ // produced an empty dict.
505
+ return {
506
+ block: true,
507
+ blockReason: decision.reason || "rewrite without payload",
508
+ };
509
+ }
510
+ if (decision.decision === "require_approval") {
511
+ const apvId = decision.approval_id;
512
+ if (!apvId) {
513
+ log?.warn?.("lumin-diagnostics: require_approval response missing approval_id; degrading to block");
514
+ return { block: true, blockReason: decision.reason || "require_approval without id" };
515
+ }
516
+ const timeoutMs = (decision.timeout_s ?? 600) * 1000;
517
+ return {
518
+ requireApproval: {
519
+ title: decision.policy_name || "Approval required",
520
+ description: decision.reason || "Lumin firewall requires operator approval for this action.",
521
+ severity: "warning",
522
+ timeoutMs,
523
+ timeoutBehavior: "deny",
524
+ pluginId: "lumin-diagnostics",
525
+ onResolution: async (hostDecision) => {
526
+ // Mirror OpenClaw's vocab onto Lumin's. allow-once /
527
+ // allow-always both resolve as 'allow' on Lumin's side; the
528
+ // distinction is OpenClaw-side state and doesn't affect
529
+ // historical decision records.
530
+ const resolution = hostDecision === "allow-once" || hostDecision === "allow-always"
531
+ ? "allow"
532
+ : "deny";
533
+ try {
534
+ await fetch(`${(cfg.host || DEFAULT_HOST).replace(/\/+$/, "")}/v1/approvals/${encodeURIComponent(apvId)}/resolve`, {
535
+ method: "POST",
536
+ headers: {
537
+ "Content-Type": "application/json",
538
+ "X-Lumin-Project": cfg.project || DEFAULT_PROJECT,
539
+ },
540
+ body: JSON.stringify({
541
+ resolution,
542
+ reason: `openclaw:${hostDecision}`,
543
+ }),
544
+ });
545
+ }
546
+ catch (err) {
547
+ log?.warn?.(`lumin-diagnostics: approval resolve POST failed: ${err.message}`);
548
+ }
549
+ },
550
+ },
551
+ };
552
+ }
553
+ // Unknown decision string — Rule 7. Allow the call.
554
+ log?.warn?.(`lumin-diagnostics: unknown decision ${decision.decision}; allowing`);
555
+ return undefined;
556
+ }
382
557
  // ----- plugin entry -------------------------------------------------------
383
558
  export default definePluginEntry({
384
559
  id: "lumin-diagnostics",
@@ -392,12 +567,22 @@ export default definePluginEntry({
392
567
  captureSystemMessage: { type: "boolean" },
393
568
  maxContentChars: { type: "number" },
394
569
  timeoutMs: { type: "number" },
570
+ enforce: { type: "boolean" },
571
+ decideTimeoutMs: { type: "number" },
572
+ onFirewallError: { type: "string", enum: ["allow", "deny"] },
395
573
  },
396
574
  },
397
575
  register: (api) => {
398
576
  const apiAny = api;
399
577
  const cfg = apiAny.pluginConfig || {};
400
578
  const client = new LuminClient(cfg);
579
+ const fw = new LuminFirewallClient(cfg);
580
+ // Default-on. Operators who want pure observation can set
581
+ // ``enforce: false`` in their openclaw.json config; useful during
582
+ // initial rollout when the policies table is empty so the
583
+ // round-trip overhead disappears entirely (decide returns allow
584
+ // in <1ms anyway, but the network hop still costs something).
585
+ const enforceEnabled = cfg.enforce !== false;
401
586
  const pending = new PendingLlmRegistry();
402
587
  const toolPending = new PendingToolCallRegistry();
403
588
  const log = apiAny.logger;
@@ -480,7 +665,10 @@ export default definePluginEntry({
480
665
  // ``after_tool_call`` aren't conversation-gated upstream, so they
481
666
  // register without any extra config beyond what llm_input already
482
667
  // required for this plugin.
483
- apiAny.on("before_tool_call", (rawEvent, rawCtx) => {
668
+ apiAny.on("before_tool_call", async (rawEvent, rawCtx) => {
669
+ // Tracking ledger first — we want the start timestamp recorded
670
+ // even when the firewall blocks the call so the resulting "blocked"
671
+ // span has a sensible started_at.
484
672
  try {
485
673
  const event = rawEvent;
486
674
  const ctx = rawCtx;
@@ -492,9 +680,37 @@ export default definePluginEntry({
492
680
  trace: ctx?.trace,
493
681
  runId: event.runId,
494
682
  });
683
+ // ----- firewall decision (v0.2.0) ---------------------------
684
+ if (!enforceEnabled)
685
+ return;
686
+ const decision = await fw.decide({
687
+ lifecycle: "before_tool_call",
688
+ tool_name: event.toolName,
689
+ params: event.params,
690
+ trace_id: ctx?.trace?.traceId
691
+ ? asUuid(ctx.trace.traceId, event.runId ?? "_")
692
+ : undefined,
693
+ span_id: ctx?.trace?.spanId
694
+ ? asUuid(ctx.trace.spanId, `${event.runId ?? "_"}:tool`)
695
+ : undefined,
696
+ session_id: ctx?.sessionId,
697
+ agent: ctx?.agentId,
698
+ project: cfg.project || DEFAULT_PROJECT,
699
+ });
700
+ return translateDecision(decision, fw, cfg, log);
495
701
  }
496
702
  catch (err) {
497
703
  log?.warn?.(`lumin-diagnostics: before_tool_call handler failed: ${err.message}`);
704
+ // Fail-mode: fall back to ``onFirewallError`` setting. We
705
+ // re-route through the same translator that the happy path
706
+ // uses so the response shape is identical.
707
+ if (enforceEnabled && (cfg.onFirewallError ?? "allow") === "deny") {
708
+ return {
709
+ block: true,
710
+ blockReason: "firewall_handler_error",
711
+ };
712
+ }
713
+ return undefined;
498
714
  }
499
715
  });
500
716
  apiAny.on("after_tool_call", (rawEvent, rawCtx) => {
@@ -520,7 +736,7 @@ export default definePluginEntry({
520
736
  log?.warn?.(`lumin-diagnostics: after_tool_call handler failed: ${err.message}`);
521
737
  }
522
738
  });
523
- log?.info?.(`lumin-diagnostics: subscribed to llm_input + llm_output + before_tool_call + after_tool_call → ${cfg.host || DEFAULT_HOST}/v1/spans (project=${cfg.project || DEFAULT_PROJECT})`);
739
+ log?.info?.(`lumin-diagnostics: subscribed to llm_input + llm_output + before_tool_call + after_tool_call → ${cfg.host || DEFAULT_HOST}/v1/spans (project=${cfg.project || DEFAULT_PROJECT}, firewall=${enforceEnabled ? "enforce" : "observe-only"}, fail=${cfg.onFirewallError ?? "allow"})`);
524
740
  },
525
741
  });
526
742
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAgBrE,MAAM,YAAY,GAAG,uBAAuB,CAAC;AAC7C,MAAM,eAAe,GAAG,UAAU,CAAC;AACnC,MAAM,yBAAyB,GAAG,MAAM,CAAC;AACzC,MAAM,kBAAkB,GAAG,KAAK,CAAC;AA2EjC,6EAA6E;AAE7E,SAAS,SAAS,CAAC,KAAc,EAAE,MAAc;IAC/C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC5D,IAAI,CAAS,CAAC;IACd,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,CAAC,GAAG,KAAK,CAAC;IACZ,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,CAAC,GAAG,KAAK;aACN,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;aAC9D,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;SAAM,CAAC;QACN,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,IAAI,MAAM;QAAE,OAAO,CAAC,CAAC;IACjC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC,GAAG,cAAc,CAAC;AAClD,CAAC;AAED,SAAS,iBAAiB,CAAC,CAAU;IACnC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAC9B,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,MAAM,CAAC,GAAuB,EAAE,QAAgB;IACvD,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACrE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACnC,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1D,OAAO,OAAO,CAAC,EAAE,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,OAAO,CAAC,KAAa;IAC5B,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;AAC3H,CAAC;AAED,SAAS,OAAO,CAAC,CAAS;IACxB,IAAI,CAAC,GAAG,UAAU,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,EAAE,GAAG,UAAU,CAAC;IACpB,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,EAAE,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACtB,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,MAAM;IACb,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACvD,CAAC;AAGD;;;;;;;;;;GAUG;AACH,SAAS,4BAA4B,CAAC,aAAsB;IAC1D,IAAI,CAAC,aAAa,IAAI,OAAO,aAAa,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC1E,MAAM,OAAO,GAAI,aAAuC,CAAC,OAAO,CAAC;IACjE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAS;QAClD,MAAM,CAAC,GAAG,KAA+D,CAAC;QAC1E,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrF,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3D,CAAC;AAGD,6EAA6E;AAE7E,MAAM,WAAW;IACP,IAAI,CAAS;IACb,OAAO,CAAS;IAChB,SAAS,CAAS;IAClB,aAAa,GAAG,KAAK,CAAC;IAE9B,YAAY,GAA2B;QACrC,iEAAiE;QACjE,mDAAmD;QACnD,2DAA2D;QAC3D,qDAAqD;QACrD,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,YAAY,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,eAAe,CAAC;QAC9C,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,kBAAkB,CAAC;IACvD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI,CAAC,IAA6B;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7D,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,WAAW,EAAE;gBAChD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,iBAAiB,EAAE,IAAI,CAAC,OAAO;iBAChC;gBACD,IAAI;gBACJ,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACpC,sCAAsC;gBACtC,OAAO,CAAC,IAAI,CACV,sCAAsC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,gCAAgC,CACrG,CAAC;gBACF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC5B,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACxB,sCAAsC;gBACtC,OAAO,CAAC,IAAI,CACV,gDAAgD,IAAI,CAAC,IAAI,cAAe,GAAa,CAAC,OAAO,iCAAiC,CAC/H,CAAC;gBACF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC5B,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;CACF;AAqBD,MAAM,cAAc,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAErC,MAAM,kBAAkB;IACd,OAAO,GAAG,IAAI,GAAG,EAA0B,CAAC;IAC5C,aAAa,CAA4C;IAEjE,GAAG,CAAC,KAAa,EAAE,KAAqB;QACtC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,IAAI,CAAC,KAAa;QAChB,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC;YAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAEO,aAAa;QACnB,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO;QAC/B,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;YACnC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClC,IAAI,GAAG,GAAG,CAAC,CAAC,WAAW,GAAG,cAAc;oBAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACnE,CAAC;YACD,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC;gBAAE,IAAI,CAAC,aAAa,EAAE,CAAC;QAClD,CAAC,EAAE,cAAc,CAAC,CAAC;QACnB,4DAA4D;QAC5D,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,IAAI,IAAI,CAAC,aAAa,IAAI,OAAO,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACjG,IAAI,CAAC,aAAwC,CAAC,KAAK,EAAE,EAAE,CAAC;QAC3D,CAAC;IACH,CAAC;CACF;AAsBD,MAAM,uBAAuB;IACnB,KAAK,GAAG,IAAI,GAAG,EAA2B,CAAC;IAC3C,aAAa,CAA4C;IAEjE,GAAG,CAAC,GAAW,EAAE,KAAsB;QACrC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED,IAAI,CAAC,GAAW;QACd,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC;YAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC9B,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IACzB,CAAC;IAEO,aAAa;QACnB,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO;QAC/B,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;YACnC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACvB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAChC,IAAI,GAAG,GAAG,CAAC,CAAC,WAAW,GAAG,cAAc;oBAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACjE,CAAC;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC;gBAAE,IAAI,CAAC,aAAa,EAAE,CAAC;QAChD,CAAC,EAAE,cAAc,CAAC,CAAC;QACnB,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,IAAI,IAAI,CAAC,aAAa,IAAI,OAAO,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACjG,IAAI,CAAC,aAAwC,CAAC,KAAK,EAAE,EAAE,CAAC;QAC3D,CAAC;IACH,CAAC;CACF;AAGD,SAAS,WAAW,CAAC,KAAyB,EAAE,UAA8B,EAAE,QAAgB;IAC9F,+DAA+D;IAC/D,kEAAkE;IAClE,oEAAoE;IACpE,8DAA8D;IAC9D,kCAAkC;IAClC,IAAI,UAAU;QAAE,OAAO,QAAQ,UAAU,EAAE,CAAC;IAC5C,OAAO,MAAM,KAAK,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;AAC3C,CAAC;AAGD,4EAA4E;AAE5E,SAAS,iBAAiB,CACxB,KAAa,EACb,OAAuB,EACvB,MAAsB,EACtB,GAA2B,EAC3B,OAAgC;IAEhC,MAAM,MAAM,GAAG,GAAG,CAAC,eAAe,IAAI,yBAAyB,CAAC;IAChE,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;IAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,MAAM,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,KAAK,EAAE,YAAY;QAClC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC;QACnC,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;IACjC,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM;QACtE,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;QAClC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAE/F,sEAAsE;IACtE,uDAAuD;IACvD,wEAAwE;IACxE,iEAAiE;IACjE,kEAAkE;IAClE,kEAAkE;IAClE,mEAAmE;IACnE,mEAAmE;IACnE,cAAc;IACd,MAAM,YAAY,GAAG,4BAA4B,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAExE,OAAO;QACL,EAAE,EAAE,MAAM;QACV,QAAQ,EAAE,OAAO;QACjB,cAAc,EAAE,QAAQ;QACxB,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,KAAK;QACX,UAAU,EAAE,OAAO,CAAC,SAAS;QAC7B,QAAQ,EAAE,MAAM,EAAE;QAClB,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,YAAY,EAAE,KAAK,CAAC,KAAK;QACzB,aAAa,EAAE,KAAK,CAAC,MAAM;QAC3B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QAC9D,UAAU,EAAE,MAAM,CAAC,SAAS,IAAI,OAAO,EAAE,SAAS;QAClD,QAAQ,EAAE;YACR,gBAAgB,EAAE,KAAK;YACvB,oBAAoB,EAAE,MAAM,CAAC,SAAS;YACtC,sBAAsB,EAAE,MAAM,CAAC,WAAW;YAC1C,uBAAuB,EAAE,OAAO,CAAC,WAAW;YAC5C,+DAA+D;YAC/D,8DAA8D;YAC9D,0DAA0D;YAC1D,wCAAwC;YACxC,gCAAgC,EAAE,OAAO,CAAC,mBAAmB;YAC7D,+BAA+B,EAAE,OAAO,CAAC,kBAAkB;YAC3D,+DAA+D;YAC/D,qDAAqD;YACrD,+DAA+D;YAC/D,4DAA4D;YAC5D,6DAA6D;YAC7D,sDAAsD;YACtD,+BAA+B;YAC/B,GAAG,CAAC,YAAY,KAAK,SAAS;gBAC5B,CAAC,CAAC;oBACE,2BAA2B,EAAE,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;oBAC5D,yBAAyB,EAAE,YAAY,CAAC,MAAM;iBAC/C;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,GAAG,CAAC,oBAAoB,IAAI,OAAO,CAAC,aAAa;gBACnD,CAAC,CAAC,EAAE,iCAAiC,EAAE,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE;gBACjF,CAAC,CAAC,EAAE,CAAC;SACR;KACF,CAAC;AACJ,CAAC;AAGD,SAAS,qBAAqB,CAC5B,MAAuB,EACvB,KAAyB,EACzB,GAA2B,EAC3B,OAAgC;IAEhC,MAAM,MAAM,GAAG,GAAG,CAAC,eAAe,IAAI,yBAAyB,CAAC;IAChE,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;IAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC;IACjD,gEAAgE;IAChE,oEAAoE;IACpE,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9C,gEAAgE;IAChE,+DAA+D;IAC/D,oDAAoD;IACpD,MAAM,EAAE,GAAG,GAAG,KAAK,SAAS,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;IACjE,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACrC,gEAAgE;IAChE,kEAAkE;IAClE,kEAAkE;IAClE,iEAAiE;IACjE,kEAAkE;IAClE,2DAA2D;IAC3D,MAAM,QAAQ,GAAG,KAAK,EAAE,YAAY;QAClC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC;QACnC,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAE1E,OAAO;QACL,EAAE,EAAE,MAAM;QACV,QAAQ,EAAE,OAAO;QACjB,cAAc,EAAE,QAAQ;QACxB,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,MAAM;QACZ,UAAU,EAAE,MAAM,CAAC,SAAS;QAC5B,QAAQ,EAAE,MAAM,EAAE;QAClB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;QAChC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QAChD,SAAS,EAAE,KAAK,CAAC,QAAQ;QACzB,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,MAAM,CAAC;QAC7D,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;QAChF,UAAU,EAAE,OAAO,EAAE,SAAS;QAC9B,WAAW,EAAE,KAAK,CAAC,UAAU;QAC7B,QAAQ,EAAE;YACR,gBAAgB,EAAE,KAAK;YACvB,qBAAqB,EAAE,KAAK,CAAC,UAAU;YACvC,mBAAmB,EAAE,KAAK,CAAC,QAAQ;SACpC;KACF,CAAC;AACJ,CAAC;AAGD,6EAA6E;AAE7E,eAAe,iBAAiB,CAAC;IAC/B,EAAE,EAAE,mBAAmB;IACvB,IAAI,EAAE,gCAAgC;IACtC,WAAW,EACT,qHAAqH;IACvH,YAAY,EAAE;QACZ,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxB,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC3B,oBAAoB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YACzC,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACnC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SAC9B;KACO;IACV,QAAQ,EAAE,CAAC,GAAG,EAAQ,EAAE;QACtB,MAAM,MAAM,GAAG,GAQd,CAAC;QACF,MAAM,GAAG,GAA2B,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC;QAC9D,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACzC,MAAM,WAAW,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAClD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC;QAE1B,IAAI,OAAO,MAAM,CAAC,EAAE,KAAK,UAAU,EAAE,CAAC;YACpC,2DAA2D;YAC3D,uDAAuD;YACvD,GAAG,EAAE,IAAI,EAAE,CACT,0IAA0I,CAC3I,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,QAAiB,EAAE,MAAe,EAAE,EAAE;YAC5D,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,QAAyB,CAAC;gBACxC,MAAM,GAAG,GAAG,MAAiC,CAAC;gBAC9C,MAAM,MAAM,GAAG,GAAG,CAAC,eAAe,IAAI,yBAAyB,CAAC;gBAChE,sDAAsD;gBACtD,2DAA2D;gBAC3D,2DAA2D;gBAC3D,wDAAwD;gBACxD,2DAA2D;gBAC3D,0DAA0D;gBAC1D,6DAA6D;gBAC7D,uCAAuC;gBACvC,EAAE;gBACF,uDAAuD;gBACvD,sDAAsD;gBACtD,8CAA8C;gBAC9C,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC;oBACvD,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM;oBAC9B,CAAC,CAAC,CAAC,CAAC;gBACN,4DAA4D;gBAC5D,+DAA+D;gBAC/D,4DAA4D;gBAC5D,yCAAyC;gBACzC,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC;gBAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE;oBACvB,SAAS,EAAE,MAAM,EAAE;oBACnB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;oBACvB,aAAa,EAAE,MAAM;oBACrB,kBAAkB,EAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBAClE,mBAAmB,EAAE,YAAY;oBACjC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC;oBACtC,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,KAAK,EAAE,GAAG,EAAE,KAAK;iBAClB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,EAAE,IAAI,EAAE,CAAC,gDAAiD,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACxF,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,QAAiB,EAAE,MAAe,EAAE,EAAE;YAC7D,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,QAA0B,CAAC;gBACzC,MAAM,GAAG,GAAG,MAAiC,CAAC;gBAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACxC,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,uDAAuD;oBACvD,uDAAuD;oBACvD,uDAAuD;oBACvD,gDAAgD;oBAChD,MAAM,QAAQ,GAAmB;wBAC/B,SAAS,EAAE,MAAM,EAAE;wBACnB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;wBACvB,KAAK,EAAE,GAAG,EAAE,KAAK;qBAClB,CAAC;oBACF,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;oBACvE,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oBACvC,OAAO;gBACT,CAAC;gBACD,MAAM,IAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBACpE,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACzC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,EAAE,IAAI,EAAE,CAAC,iDAAkD,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACzF,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,kEAAkE;QAClE,+DAA+D;QAC/D,gEAAgE;QAChE,iEAAiE;QACjE,kEAAkE;QAClE,kEAAkE;QAClE,4BAA4B;QAC5B,MAAM,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,QAAiB,EAAE,MAAe,EAAE,EAAE;YACnE,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,QAA+B,CAAC;gBAC9C,MAAM,GAAG,GAAG,MAAiC,CAAC;gBAC9C,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE;oBAC1E,SAAS,EAAE,MAAM,EAAE;oBACnB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;oBACvB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,KAAK,EAAE,GAAG,EAAE,KAAK;oBACjB,KAAK,EAAE,KAAK,CAAC,KAAK;iBACnB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,EAAE,IAAI,EAAE,CAAC,uDAAwD,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/F,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,QAAiB,EAAE,MAAe,EAAE,EAAE;YAClE,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,QAA8B,CAAC;gBAC7C,MAAM,GAAG,GAAG,MAAiC,CAAC;gBAC9C,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACvE,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI;oBACrC,yDAAyD;oBACzD,2DAA2D;oBAC3D,oDAAoD;oBACpD,SAAS,EAAE,MAAM,EAAE;oBACnB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;oBACvB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,KAAK,EAAE,GAAG,EAAE,KAAK;oBACjB,KAAK,EAAE,KAAK,CAAC,KAAK;iBACnB,CAAC;gBACF,MAAM,IAAI,GAAG,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC3D,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACzC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,EAAE,IAAI,EAAE,CAAC,sDAAuD,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9F,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,GAAG,EAAE,IAAI,EAAE,CACT,kGAAkG,GAAG,CAAC,IAAI,IAAI,YAAY,sBAAsB,GAAG,CAAC,OAAO,IAAI,eAAe,GAAG,CAClL,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@lumin-io/openclaw-diagnostics",
3
- "version": "0.1.5",
4
- "description": "Full-fidelity Lumin observability for OpenClaw \u2014 captures prompts, responses, tool I/O, and reasoning traces via OpenClaw's typed-hook API.",
3
+ "version": "0.3.0",
4
+ "description": "Lumin observability + Agent Firewall for OpenClaw \u2014 captures prompts, responses, tool I/O, and synchronously enforces firewall policies on every tool call.",
5
5
  "homepage": "https://github.com/amitbidlan/zistica-lumin/tree/main/packages/integrations/openclaw-diagnostics",
6
6
  "repository": {
7
7
  "type": "git",
@@ -63,4 +63,4 @@
63
63
  "openclawVersion": "2026.5.4"
64
64
  }
65
65
  }
66
- }
66
+ }