@lumin-io/openclaw-diagnostics 0.1.4 → 0.2.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 +25 -4
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +240 -22
- package/dist/index.js.map +1 -1
- package/openclaw.plugin.json +3 -3
- package/package.json +2 -2
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
|
|
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
|
[](https://www.npmjs.com/package/@lumin-io/openclaw-diagnostics)
|
|
6
8
|
[](https://github.com/amitbidlan/zistica-lumin/blob/main/LICENSE)
|
|
@@ -19,7 +21,7 @@ Per LLM turn:
|
|
|
19
21
|
- Token usage (input / output)
|
|
20
22
|
- Model + provider + harness ID
|
|
21
23
|
- Trace ID stitched from OpenClaw's diagnostic context (so the typed-hook span fuses with whatever else you've ingested via OTel for the same run)
|
|
22
|
-
- Lightweight summary in metadata: `history_message_count`, `
|
|
24
|
+
- Lightweight summary in metadata: `history_message_count`, `system_message_chars`, `images_count`
|
|
23
25
|
|
|
24
26
|
Per tool call:
|
|
25
27
|
|
|
@@ -70,9 +72,12 @@ All optional, set under `plugins.entries.lumin-diagnostics.config` in `openclaw.
|
|
|
70
72
|
|---|---|---|
|
|
71
73
|
| `host` | `http://localhost:8000` | Lumin API base URL. Set this in your `openclaw.json` to point at a Lumin instance running anywhere other than the default localhost (e.g. `http://lumin.internal:8000`, `http://host.docker.internal:8000`). |
|
|
72
74
|
| `project` | `openclaw` | Sent as `X-Lumin-Project` so the agent grid groups OpenClaw runs together. |
|
|
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
|
|
|
@@ -84,7 +89,7 @@ Example:
|
|
|
84
89
|
"hooks": { "allowConversationAccess": true },
|
|
85
90
|
"config": {
|
|
86
91
|
"host": "http://my-lumin-host:8000",
|
|
87
|
-
"
|
|
92
|
+
"captureSystemMessage": true,
|
|
88
93
|
"maxContentChars": 65536
|
|
89
94
|
}
|
|
90
95
|
}
|
|
@@ -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>
|
package/dist/index.d.ts
CHANGED
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
*
|
|
14
14
|
* 2. **Typed hooks** (`llm_input`, `llm_output`) — the registration
|
|
15
15
|
* surface used by trusted plugins. These DO carry full content
|
|
16
|
-
* (
|
|
17
|
-
*
|
|
18
|
-
* tool needs.
|
|
16
|
+
* (the user prompt, history, system-role text, assistant
|
|
17
|
+
* replies, usage) at runtime, which is exactly what an
|
|
18
|
+
* observability tool needs.
|
|
19
19
|
*
|
|
20
20
|
* This plugin uses (2). On every llm_input / llm_output we build a
|
|
21
21
|
* Lumin SpanInput and POST to `/v1/spans`. The agent never blocks on
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;;;;;;;;AAmxBH,wBAsMG"}
|
package/dist/index.js
CHANGED
|
@@ -13,9 +13,9 @@
|
|
|
13
13
|
*
|
|
14
14
|
* 2. **Typed hooks** (`llm_input`, `llm_output`) — the registration
|
|
15
15
|
* surface used by trusted plugins. These DO carry full content
|
|
16
|
-
* (
|
|
17
|
-
*
|
|
18
|
-
* tool needs.
|
|
16
|
+
* (the user prompt, history, system-role text, assistant
|
|
17
|
+
* replies, usage) at runtime, which is exactly what an
|
|
18
|
+
* observability tool needs.
|
|
19
19
|
*
|
|
20
20
|
* This plugin uses (2). On every llm_input / llm_output we build a
|
|
21
21
|
* Lumin SpanInput and POST to `/v1/spans`. The agent never blocks on
|
|
@@ -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();
|
|
@@ -312,10 +400,10 @@ function buildSpanFromPair(runId, pending, output, cfg, hookCtx) {
|
|
|
312
400
|
"openclaw.images_count": pending.imagesCount,
|
|
313
401
|
// Lightweight summary of what was replayed to the model, so an
|
|
314
402
|
// operator can see "this turn carried N prior messages and an
|
|
315
|
-
// M-character system
|
|
403
|
+
// M-character system message" without dragging the actual
|
|
316
404
|
// payload into the trace's input field.
|
|
317
405
|
"openclaw.history_message_count": pending.historyMessageCount,
|
|
318
|
-
"openclaw.
|
|
406
|
+
"openclaw.system_message_chars": pending.systemMessageChars,
|
|
319
407
|
// Reasoning trace for models that emit thinking blocks. Always
|
|
320
408
|
// captured (no opt-in) because the whole point of an
|
|
321
409
|
// observability tool is to show WHY the agent answered the way
|
|
@@ -329,8 +417,8 @@ function buildSpanFromPair(runId, pending, output, cfg, hookCtx) {
|
|
|
329
417
|
"openclaw.thinking_chars": thinkingText.length,
|
|
330
418
|
}
|
|
331
419
|
: {}),
|
|
332
|
-
...(cfg.
|
|
333
|
-
? { "openclaw.content.
|
|
420
|
+
...(cfg.captureSystemMessage && pending.systemMessage
|
|
421
|
+
? { "openclaw.content.system_message": stringify(pending.systemMessage, maxLen) }
|
|
334
422
|
: {}),
|
|
335
423
|
},
|
|
336
424
|
};
|
|
@@ -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",
|
|
@@ -389,15 +564,25 @@ export default definePluginEntry({
|
|
|
389
564
|
properties: {
|
|
390
565
|
host: { type: "string" },
|
|
391
566
|
project: { type: "string" },
|
|
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;
|
|
@@ -413,14 +598,13 @@ export default definePluginEntry({
|
|
|
413
598
|
const ctx = rawCtx;
|
|
414
599
|
const maxLen = cfg.maxContentChars ?? DEFAULT_MAX_CONTENT_CHARS;
|
|
415
600
|
// The input is JUST the user prompt for this turn. We
|
|
416
|
-
// deliberately do NOT pack history
|
|
417
|
-
//
|
|
418
|
-
//
|
|
419
|
-
//
|
|
420
|
-
//
|
|
421
|
-
//
|
|
422
|
-
//
|
|
423
|
-
// already.
|
|
601
|
+
// deliberately do NOT pack history into the input field: a
|
|
602
|
+
// Lumin trace represents one LLM call, not a conversation.
|
|
603
|
+
// Embedding the full chat history every turn (a) bloats
|
|
604
|
+
// every trace by 10x+ as conversations grow, (b) makes the
|
|
605
|
+
// dashboard view feel like a chat log instead of an agent
|
|
606
|
+
// run, and (c) is redundant with sessions, which group turns
|
|
607
|
+
// under the same conversation already.
|
|
424
608
|
//
|
|
425
609
|
// Counts and lightweight summaries go into metadata so
|
|
426
610
|
// operators can still see "this turn replayed 9 prior
|
|
@@ -428,13 +612,16 @@ export default definePluginEntry({
|
|
|
428
612
|
const historyCount = Array.isArray(event.historyMessages)
|
|
429
613
|
? event.historyMessages.length
|
|
430
614
|
: 0;
|
|
615
|
+
// Read OpenClaw's runtime field for the model's system-role
|
|
616
|
+
// text. The upstream payload still uses its legacy identifier;
|
|
617
|
+
// we rebind to our internal name immediately so the rest of
|
|
618
|
+
// the code path uses the new vocabulary.
|
|
619
|
+
const sysMsg = event.systemPrompt;
|
|
431
620
|
pending.set(event.runId, {
|
|
432
621
|
startedAt: nowIso(),
|
|
433
622
|
startedAtMs: Date.now(),
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
? event.systemPrompt.length
|
|
437
|
-
: 0,
|
|
623
|
+
systemMessage: sysMsg,
|
|
624
|
+
systemMessageChars: typeof sysMsg === "string" ? sysMsg.length : 0,
|
|
438
625
|
historyMessageCount: historyCount,
|
|
439
626
|
input: stringify(event.prompt, maxLen),
|
|
440
627
|
imagesCount: event.imagesCount,
|
|
@@ -478,7 +665,10 @@ export default definePluginEntry({
|
|
|
478
665
|
// ``after_tool_call`` aren't conversation-gated upstream, so they
|
|
479
666
|
// register without any extra config beyond what llm_input already
|
|
480
667
|
// required for this plugin.
|
|
481
|
-
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.
|
|
482
672
|
try {
|
|
483
673
|
const event = rawEvent;
|
|
484
674
|
const ctx = rawCtx;
|
|
@@ -490,9 +680,37 @@ export default definePluginEntry({
|
|
|
490
680
|
trace: ctx?.trace,
|
|
491
681
|
runId: event.runId,
|
|
492
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);
|
|
493
701
|
}
|
|
494
702
|
catch (err) {
|
|
495
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;
|
|
496
714
|
}
|
|
497
715
|
});
|
|
498
716
|
apiAny.on("after_tool_call", (rawEvent, rawCtx) => {
|
|
@@ -518,7 +736,7 @@ export default definePluginEntry({
|
|
|
518
736
|
log?.warn?.(`lumin-diagnostics: after_tool_call handler failed: ${err.message}`);
|
|
519
737
|
}
|
|
520
738
|
});
|
|
521
|
-
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"})`);
|
|
522
740
|
},
|
|
523
741
|
});
|
|
524
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":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAoCrE,MAAM,YAAY,GAAG,uBAAuB,CAAC;AAC7C,MAAM,eAAe,GAAG,UAAU,CAAC;AACnC,MAAM,yBAAyB,GAAG,MAAM,CAAC;AACzC,MAAM,kBAAkB,GAAG,KAAK,CAAC;AACjC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAgGrC,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;AA0CD,MAAM,mBAAmB;IACf,IAAI,CAAS;IACb,OAAO,CAAS;IAChB,SAAS,CAAS;IAClB,OAAO,CAAmB;IAC1B,aAAa,GAAG,KAAK,CAAC;IAE9B,YAAY,GAA2B;QACrC,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,eAAe,IAAI,yBAAyB,CAAC;QAClE,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,eAAe,IAAI,OAAO,CAAC;IAChD,CAAC;IAED;wCACoC;IACpC,KAAK,CAAC,MAAM,CAAC,IAAuB;QAClC,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,mBAAmB,EAAE;gBACxD,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,iBAAiB,EAAE,IAAI,CAAC,OAAO;iBAChC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC1B,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAClD,CAAC;YACD,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAuB,CAAC;QACnD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACxB,sCAAsC;gBACtC,OAAO,CAAC,IAAI,CACV,+CAAgD,GAAa,CAAC,OAAO,+BAA+B,IAAI,CAAC,OAAO,gCAAgC,CACjJ,CAAC;gBACF,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC5B,CAAC;YACD,OAAO,IAAI,CAAC,YAAY,CAAC,SAAU,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9D,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,4DAA4D;IAC5D,KAAK,CAAC,eAAe,CACnB,UAAkB,EAClB,SAAiB;QAEjB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,8DAA8D;QAC9D,gEAAgE;QAChE,mCAAmC;QACnC,IAAI,QAAQ,GAAG,GAAG,CAAC;QACnB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,iBAAiB,kBAAkB,CAAC,UAAU,CAAC,EAAE,EAAE;oBACtF,MAAM,EAAE,KAAK;oBACb,OAAO,EAAE,EAAE,iBAAiB,EAAE,IAAI,CAAC,OAAO,EAAE;iBAC7C,CAAC,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;oBACb,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;oBACtB,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;oBACxC,SAAS;gBACX,CAAC;gBACD,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAuB,CAAC;gBACvD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ;oBAAE,OAAO,IAAI,CAAC,KAAK,CAAC;gBAC3E,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW;oBAAE,OAAO,WAAW,CAAC;YACrD,CAAC;YAAC,MAAM,CAAC;gBACP,mBAAmB;YACrB,CAAC;YACD,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;YACtB,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,YAAY,CAAC,MAAc;QACjC,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;YACrD,MAAM,EAAE,YAAY,MAAM,EAAE;YAC5B,WAAW,EAAE,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS;SAC3E,CAAC;IACJ,CAAC;CACF;AAED,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC/C,CAAC;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,4EAA4E;AAC5E,EAAE;AACF,wEAAwE;AACxE,wCAAwC;AACxC,EAAE;AACF,oDAAoD;AACpD,oDAAoD;AACpD,iFAAiF;AACjF,oEAAoE;AACpE,8EAA8E;AAC9E,kEAAkE;AAClE,EAAE;AACF,kEAAkE;AAClE,oEAAoE;AACpE,mBAAmB;AAEnB,SAAS,iBAAiB,CACxB,QAA4B,EAC5B,EAAuB,EACvB,GAA2B,EAC3B,GAA2E;IAE3E,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,KAAK,OAAO,IAAI,QAAQ,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;QAC/E,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,QAAQ,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAClC,OAAO;YACL,KAAK,EAAE,IAAI;YACX,WAAW,EAAE,QAAQ,CAAC,MAAM,IAAI,2BAA2B;SAC5D,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC1C,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzC,OAAO,EAAE,MAAM,EAAE,CAAC;QACpB,CAAC;QACD,gEAAgE;QAChE,gEAAgE;QAChE,iEAAiE;QACjE,gEAAgE;QAChE,0BAA0B;QAC1B,OAAO;YACL,KAAK,EAAE,IAAI;YACX,WAAW,EAAE,QAAQ,CAAC,MAAM,IAAI,yBAAyB;SAC1D,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,QAAQ,KAAK,kBAAkB,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC;QACnC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,GAAG,EAAE,IAAI,EAAE,CAAC,sFAAsF,CAAC,CAAC;YACpG,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,MAAM,IAAI,6BAA6B,EAAE,CAAC;QACxF,CAAC;QACD,MAAM,SAAS,GAAG,CAAC,QAAQ,CAAC,SAAS,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC;QACrD,OAAO;YACL,eAAe,EAAE;gBACf,KAAK,EAAE,QAAQ,CAAC,WAAW,IAAI,mBAAmB;gBAClD,WAAW,EAAE,QAAQ,CAAC,MAAM,IAAI,4DAA4D;gBAC5F,QAAQ,EAAE,SAAS;gBACnB,SAAS;gBACT,eAAe,EAAE,MAAM;gBACvB,QAAQ,EAAE,mBAAmB;gBAC7B,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;oBACnC,qDAAqD;oBACrD,4DAA4D;oBAC5D,wDAAwD;oBACxD,+BAA+B;oBAC/B,MAAM,UAAU,GACd,YAAY,KAAK,YAAY,IAAI,YAAY,KAAK,cAAc;wBAC9D,CAAC,CAAC,OAAO;wBACT,CAAC,CAAC,MAAM,CAAC;oBACb,IAAI,CAAC;wBACH,MAAM,KAAK,CACT,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,YAAY,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,iBAAiB,kBAAkB,CAAC,KAAK,CAAC,UAAU,EACrG;4BACE,MAAM,EAAE,MAAM;4BACd,OAAO,EAAE;gCACP,cAAc,EAAE,kBAAkB;gCAClC,iBAAiB,EAAE,GAAG,CAAC,OAAO,IAAI,eAAe;6BAClD;4BACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,UAAU;gCACV,MAAM,EAAE,YAAY,YAAY,EAAE;6BACnC,CAAC;yBACH,CACF,CAAC;oBACJ,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,GAAG,EAAE,IAAI,EAAE,CACT,oDAAqD,GAAa,CAAC,OAAO,EAAE,CAC7E,CAAC;oBACJ,CAAC;gBACH,CAAC;aACF;SACF,CAAC;IACJ,CAAC;IAED,oDAAoD;IACpD,GAAG,EAAE,IAAI,EAAE,CAAC,uCAAuC,QAAQ,CAAC,QAAQ,YAAY,CAAC,CAAC;IAClF,OAAO,SAAS,CAAC;AACnB,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;YAC7B,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;YAC5B,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;YACnC,eAAe,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE;SAC7D;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,EAAE,GAAG,IAAI,mBAAmB,CAAC,GAAG,CAAC,CAAC;QACxC,0DAA0D;QAC1D,kEAAkE;QAClE,0DAA0D;QAC1D,gEAAgE;QAChE,8DAA8D;QAC9D,MAAM,cAAc,GAAG,GAAG,CAAC,OAAO,KAAK,KAAK,CAAC;QAC7C,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,KAAK,EAAE,QAAiB,EAAE,MAAe,EAAE,EAAE;YACzE,+DAA+D;YAC/D,oEAAoE;YACpE,kCAAkC;YAClC,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;gBAEH,+DAA+D;gBAC/D,IAAI,CAAC,cAAc;oBAAE,OAAO;gBAC5B,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC;oBAC/B,SAAS,EAAE,kBAAkB;oBAC7B,SAAS,EAAE,KAAK,CAAC,QAAQ;oBACzB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO;wBAC3B,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,IAAI,GAAG,CAAC;wBAC/C,CAAC,CAAC,SAAS;oBACb,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM;wBACzB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC;wBACxD,CAAC,CAAC,SAAS;oBACb,UAAU,EAAE,GAAG,EAAE,SAAS;oBAC1B,KAAK,EAAE,GAAG,EAAE,OAAO;oBACnB,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,eAAe;iBACxC,CAAC,CAAC;gBACH,OAAO,iBAAiB,CAAC,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YACnD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,EAAE,IAAI,EAAE,CAAC,uDAAwD,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC7F,0DAA0D;gBAC1D,2DAA2D;gBAC3D,2CAA2C;gBAC3C,IAAI,cAAc,IAAI,CAAC,GAAG,CAAC,eAAe,IAAI,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC;oBAClE,OAAO;wBACL,KAAK,EAAE,IAAI;wBACX,WAAW,EAAE,wBAAwB;qBACJ,CAAC;gBACtC,CAAC;gBACD,OAAO,SAAS,CAAC;YACnB,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,cAAc,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,UAAU,GAAG,CAAC,eAAe,IAAI,OAAO,GAAG,CACnR,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
package/openclaw.plugin.json
CHANGED
|
@@ -9,15 +9,15 @@
|
|
|
9
9
|
"properties": {
|
|
10
10
|
"host": {
|
|
11
11
|
"type": "string",
|
|
12
|
-
"description": "Lumin API base URL. Defaults to
|
|
12
|
+
"description": "Lumin API base URL. Defaults to http://localhost:8000. Override here for Docker / Kubernetes / remote deployments."
|
|
13
13
|
},
|
|
14
14
|
"project": {
|
|
15
15
|
"type": "string",
|
|
16
16
|
"description": "Lumin project label sent as X-Lumin-Project. Defaults to 'openclaw'."
|
|
17
17
|
},
|
|
18
|
-
"
|
|
18
|
+
"captureSystemMessage": {
|
|
19
19
|
"type": "boolean",
|
|
20
|
-
"description": "Whether to capture the
|
|
20
|
+
"description": "Whether to capture the OpenAI-style system message text on each model.call. Default false (these payloads are usually large and rarely actionable for debugging)."
|
|
21
21
|
},
|
|
22
22
|
"maxContentChars": {
|
|
23
23
|
"type": "number",
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lumin-io/openclaw-diagnostics",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.2.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",
|