@senpi/runtime 3.0.173 → 3.0.181
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/dist/actions/close-position/close-position.action.d.ts.map +1 -1
- package/dist/actions/close-position/close-position.action.js +48 -3
- package/dist/actions/close-position/close-position.action.js.map +1 -1
- package/dist/actions/llm-decision/openclaw-llm-decision.d.ts +8 -0
- package/dist/actions/llm-decision/openclaw-llm-decision.d.ts.map +1 -1
- package/dist/actions/llm-decision/openclaw-llm-decision.js +56 -1
- package/dist/actions/llm-decision/openclaw-llm-decision.js.map +1 -1
- package/dist/actions/open-position/open-position.action.d.ts.map +1 -1
- package/dist/actions/open-position/open-position.action.js +42 -6
- package/dist/actions/open-position/open-position.action.js.map +1 -1
- package/dist/actions/open-position/resolve-margin.d.ts +1 -1
- package/dist/actions/open-position/resolve-margin.d.ts.map +1 -1
- package/dist/actions/open-position/resolve-margin.js +7 -0
- package/dist/actions/open-position/resolve-margin.js.map +1 -1
- package/dist/approvals/approval-store.d.ts +37 -7
- package/dist/approvals/approval-store.d.ts.map +1 -1
- package/dist/approvals/approval-store.js +127 -23
- package/dist/approvals/approval-store.js.map +1 -1
- package/dist/approvals/manifest.d.ts.map +1 -1
- package/dist/approvals/manifest.js +0 -5
- package/dist/approvals/manifest.js.map +1 -1
- package/dist/approvals/telemetry.d.ts +27 -3
- package/dist/approvals/telemetry.d.ts.map +1 -1
- package/dist/approvals/telemetry.js +8 -4
- package/dist/approvals/telemetry.js.map +1 -1
- package/dist/approvals/tool-approval-gate.d.ts +79 -0
- package/dist/approvals/tool-approval-gate.d.ts.map +1 -1
- package/dist/approvals/tool-approval-gate.js +184 -21
- package/dist/approvals/tool-approval-gate.js.map +1 -1
- package/dist/approvals/tool-approvals-manifest.json +0 -2
- package/dist/approvals/turn-context.d.ts +271 -0
- package/dist/approvals/turn-context.d.ts.map +1 -0
- package/dist/approvals/turn-context.js +551 -0
- package/dist/approvals/turn-context.js.map +1 -0
- package/dist/cli/guide-commands.d.ts.map +1 -1
- package/dist/cli/guide-commands.js +43 -8
- package/dist/cli/guide-commands.js.map +1 -1
- package/dist/cli/senpi-commands.d.ts.map +1 -1
- package/dist/cli/senpi-commands.js +91 -12
- package/dist/cli/senpi-commands.js.map +1 -1
- package/dist/constants/dsl/index.d.ts +2 -0
- package/dist/constants/dsl/index.d.ts.map +1 -1
- package/dist/constants/dsl/index.js +2 -0
- package/dist/constants/dsl/index.js.map +1 -1
- package/dist/constants/order-types.d.ts.map +1 -1
- package/dist/constants/order-types.js +4 -1
- package/dist/constants/order-types.js.map +1 -1
- package/dist/deploy/job.d.ts +32 -0
- package/dist/deploy/job.d.ts.map +1 -1
- package/dist/deploy/job.js +72 -7
- package/dist/deploy/job.js.map +1 -1
- package/dist/deploy/messages.d.ts +15 -1
- package/dist/deploy/messages.d.ts.map +1 -1
- package/dist/deploy/messages.js +78 -0
- package/dist/deploy/messages.js.map +1 -1
- package/dist/deploy/orchestrator.d.ts +11 -1
- package/dist/deploy/orchestrator.d.ts.map +1 -1
- package/dist/deploy/orchestrator.js +111 -15
- package/dist/deploy/orchestrator.js.map +1 -1
- package/dist/deploy/register.d.ts +18 -0
- package/dist/deploy/register.d.ts.map +1 -1
- package/dist/deploy/register.js +93 -2
- package/dist/deploy/register.js.map +1 -1
- package/dist/dsl/engine/exchange-stop.d.ts +21 -1
- package/dist/dsl/engine/exchange-stop.d.ts.map +1 -1
- package/dist/dsl/engine/exchange-stop.js +27 -1
- package/dist/dsl/engine/exchange-stop.js.map +1 -1
- package/dist/dsl/engine/floors.d.ts +2 -1
- package/dist/dsl/engine/floors.d.ts.map +1 -1
- package/dist/dsl/engine/floors.js +2 -1
- package/dist/dsl/engine/floors.js.map +1 -1
- package/dist/dsl/engine/index.d.ts +1 -1
- package/dist/dsl/engine/index.d.ts.map +1 -1
- package/dist/dsl/engine/index.js +1 -1
- package/dist/dsl/engine/index.js.map +1 -1
- package/dist/dsl/engine/tick.d.ts.map +1 -1
- package/dist/dsl/engine/tick.js +4 -3
- package/dist/dsl/engine/tick.js.map +1 -1
- package/dist/dsl/events/handlers.d.ts +7 -3
- package/dist/dsl/events/handlers.d.ts.map +1 -1
- package/dist/dsl/events/handlers.js +10 -4
- package/dist/dsl/events/handlers.js.map +1 -1
- package/dist/dsl/events/initial-state.d.ts.map +1 -1
- package/dist/dsl/events/initial-state.js +2 -0
- package/dist/dsl/events/initial-state.js.map +1 -1
- package/dist/dsl/monitor/exchange-sync.d.ts +1 -0
- package/dist/dsl/monitor/exchange-sync.d.ts.map +1 -1
- package/dist/dsl/monitor/exchange-sync.js +7 -14
- package/dist/dsl/monitor/exchange-sync.js.map +1 -1
- package/dist/dsl/monitor/process-one-position.d.ts.map +1 -1
- package/dist/dsl/monitor/process-one-position.js +108 -17
- package/dist/dsl/monitor/process-one-position.js.map +1 -1
- package/dist/dsl/notifications/formatter.d.ts +2 -1
- package/dist/dsl/notifications/formatter.d.ts.map +1 -1
- package/dist/dsl/notifications/formatter.js +18 -1
- package/dist/dsl/notifications/formatter.js.map +1 -1
- package/dist/health/types.d.ts +6 -1
- package/dist/health/types.d.ts.map +1 -1
- package/dist/health/types.js.map +1 -1
- package/dist/host/openclaw-host.d.ts +138 -0
- package/dist/host/openclaw-host.d.ts.map +1 -0
- package/dist/host/openclaw-host.js +177 -0
- package/dist/host/openclaw-host.js.map +1 -0
- package/dist/index.d.ts +46 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +318 -38
- package/dist/index.js.map +1 -1
- package/dist/leverage/max-leverage-cache.d.ts +25 -0
- package/dist/leverage/max-leverage-cache.d.ts.map +1 -1
- package/dist/leverage/max-leverage-cache.js +77 -0
- package/dist/leverage/max-leverage-cache.js.map +1 -1
- package/dist/runtime/auto-update/coordinator.d.ts +203 -0
- package/dist/runtime/auto-update/coordinator.d.ts.map +1 -1
- package/dist/runtime/auto-update/coordinator.js +621 -12
- package/dist/runtime/auto-update/coordinator.js.map +1 -1
- package/dist/runtime/auto-update/gateway-restart.d.ts +60 -1
- package/dist/runtime/auto-update/gateway-restart.d.ts.map +1 -1
- package/dist/runtime/auto-update/gateway-restart.js +95 -21
- package/dist/runtime/auto-update/gateway-restart.js.map +1 -1
- package/dist/runtime/auto-update/idle-gate.d.ts +139 -0
- package/dist/runtime/auto-update/idle-gate.d.ts.map +1 -0
- package/dist/runtime/auto-update/idle-gate.js +217 -0
- package/dist/runtime/auto-update/idle-gate.js.map +1 -0
- package/dist/runtime/auto-update/install-results.d.ts +130 -0
- package/dist/runtime/auto-update/install-results.d.ts.map +1 -0
- package/dist/runtime/auto-update/install-results.js +264 -0
- package/dist/runtime/auto-update/install-results.js.map +1 -0
- package/dist/runtime/auto-update/money-call-tracker.d.ts +36 -0
- package/dist/runtime/auto-update/money-call-tracker.d.ts.map +1 -0
- package/dist/runtime/auto-update/money-call-tracker.js +129 -0
- package/dist/runtime/auto-update/money-call-tracker.js.map +1 -0
- package/dist/runtime/auto-update/register-idle-gate.d.ts +70 -0
- package/dist/runtime/auto-update/register-idle-gate.d.ts.map +1 -0
- package/dist/runtime/auto-update/register-idle-gate.js +123 -0
- package/dist/runtime/auto-update/register-idle-gate.js.map +1 -0
- package/dist/runtime/auto-update/run-update-command.d.ts +13 -0
- package/dist/runtime/auto-update/run-update-command.d.ts.map +1 -1
- package/dist/runtime/auto-update/run-update-command.js +18 -0
- package/dist/runtime/auto-update/run-update-command.js.map +1 -1
- package/dist/runtime/auto-update/state-store.d.ts +14 -1
- package/dist/runtime/auto-update/state-store.d.ts.map +1 -1
- package/dist/runtime/auto-update/state-store.js +37 -3
- package/dist/runtime/auto-update/state-store.js.map +1 -1
- package/dist/runtime/auto-update/types.d.ts +51 -0
- package/dist/runtime/auto-update/types.d.ts.map +1 -1
- package/dist/runtime/auto-update/types.js.map +1 -1
- package/dist/runtime/auto-update/update-marker.d.ts +95 -0
- package/dist/runtime/auto-update/update-marker.d.ts.map +1 -0
- package/dist/runtime/auto-update/update-marker.js +185 -0
- package/dist/runtime/auto-update/update-marker.js.map +1 -0
- package/dist/runtime/auto-update/update-schedule.d.ts +57 -0
- package/dist/runtime/auto-update/update-schedule.d.ts.map +1 -0
- package/dist/runtime/auto-update/update-schedule.js +75 -0
- package/dist/runtime/auto-update/update-schedule.js.map +1 -0
- package/dist/runtime/create-scanner-module.d.ts +1 -1
- package/dist/runtime/create-scanner-module.d.ts.map +1 -1
- package/dist/runtime/create-scanner-module.js +2 -1
- package/dist/runtime/create-scanner-module.js.map +1 -1
- package/dist/runtime/decision-errors.d.ts +7 -0
- package/dist/runtime/decision-errors.d.ts.map +1 -1
- package/dist/runtime/decision-errors.js +15 -0
- package/dist/runtime/decision-errors.js.map +1 -1
- package/dist/runtime/lifecycle-events.d.ts +1 -1
- package/dist/runtime/lifecycle-events.d.ts.map +1 -1
- package/dist/runtime/lifecycle-events.js +10 -1
- package/dist/runtime/lifecycle-events.js.map +1 -1
- package/dist/runtime/runtime-descriptor.d.ts +11 -2
- package/dist/runtime/runtime-descriptor.d.ts.map +1 -1
- package/dist/runtime/runtime-descriptor.js +11 -2
- package/dist/runtime/runtime-descriptor.js.map +1 -1
- package/dist/runtime/runtime.d.ts.map +1 -1
- package/dist/runtime/runtime.js +4 -3
- package/dist/runtime/runtime.js.map +1 -1
- package/dist/runtime/strategy-lifecycle.js +1 -1
- package/dist/runtime/strategy-lifecycle.js.map +1 -1
- package/dist/runtime/supervisor/long-running-supervisor.js +1 -1
- package/dist/runtime/supervisor/long-running-supervisor.js.map +1 -1
- package/dist/runtime-api/intake/acceptance-record.d.ts +17 -3
- package/dist/runtime-api/intake/acceptance-record.d.ts.map +1 -1
- package/dist/runtime-api/intake/acceptance-record.js +57 -32
- package/dist/runtime-api/intake/acceptance-record.js.map +1 -1
- package/dist/runtime-api/intake/intake-events.d.ts +6 -5
- package/dist/runtime-api/intake/intake-events.d.ts.map +1 -1
- package/dist/runtime-api/intake/intake-events.js +9 -3
- package/dist/runtime-api/intake/intake-events.js.map +1 -1
- package/dist/runtime-api/intake/process-signal-post.d.ts +1 -1
- package/dist/runtime-api/intake/process-signal-post.d.ts.map +1 -1
- package/dist/runtime-api/intake/process-signal-post.js +34 -31
- package/dist/runtime-api/intake/process-signal-post.js.map +1 -1
- package/dist/runtime-api/intake/scaffold-error-router.d.ts +8 -0
- package/dist/runtime-api/intake/scaffold-error-router.d.ts.map +1 -1
- package/dist/runtime-api/intake/scaffold-error-router.js +9 -0
- package/dist/runtime-api/intake/scaffold-error-router.js.map +1 -1
- package/dist/runtime-api/intake/types.d.ts +9 -0
- package/dist/runtime-api/intake/types.d.ts.map +1 -1
- package/dist/runtime-api/intake/types.js +5 -1
- package/dist/runtime-api/intake/types.js.map +1 -1
- package/dist/runtime-api/routes/signals.d.ts.map +1 -1
- package/dist/runtime-api/routes/signals.js +25 -1
- package/dist/runtime-api/routes/signals.js.map +1 -1
- package/dist/runtime-api/routes/signals.schema.d.ts +2 -0
- package/dist/runtime-api/routes/signals.schema.d.ts.map +1 -1
- package/dist/runtime-api/routes/signals.schema.js +4 -0
- package/dist/runtime-api/routes/signals.schema.js.map +1 -1
- package/dist/scanners/engine/data-providers.d.ts +6 -0
- package/dist/scanners/engine/data-providers.d.ts.map +1 -1
- package/dist/scanners/engine/data-providers.js.map +1 -1
- package/dist/scanners/engine/engine.d.ts +9 -0
- package/dist/scanners/engine/engine.d.ts.map +1 -1
- package/dist/scanners/engine/engine.js +29 -6
- package/dist/scanners/engine/engine.js.map +1 -1
- package/dist/scanners/external/scaffold/ctx.py +55 -1
- package/dist/scanners/external/scaffold/delivery.py +92 -28
- package/dist/scanners/external/scaffold/preflight.py +1 -1
- package/dist/scanners/external/scaffold/scaffold.py +75 -2
- package/dist/scanners/runtime-module.d.ts +2 -0
- package/dist/scanners/runtime-module.d.ts.map +1 -1
- package/dist/scanners/runtime-module.js +14 -0
- package/dist/scanners/runtime-module.js.map +1 -1
- package/dist/senpi/client.d.ts +36 -1
- package/dist/senpi/client.d.ts.map +1 -1
- package/dist/senpi/client.js +100 -8
- package/dist/senpi/client.js.map +1 -1
- package/dist/senpi/types.d.ts +54 -2
- package/dist/senpi/types.d.ts.map +1 -1
- package/dist/telemetry/metrics.d.ts +15 -1
- package/dist/telemetry/metrics.d.ts.map +1 -1
- package/dist/telemetry/metrics.js +25 -1
- package/dist/telemetry/metrics.js.map +1 -1
- package/dist/telemetry/otel-sdk.d.ts +12 -0
- package/dist/telemetry/otel-sdk.d.ts.map +1 -1
- package/dist/telemetry/otel-sdk.js +47 -1
- package/dist/telemetry/otel-sdk.js.map +1 -1
- package/dist/telemetry/spans/span-hooks.d.ts +18 -1
- package/dist/telemetry/spans/span-hooks.d.ts.map +1 -1
- package/dist/telemetry/spans/span-hooks.js +306 -96
- package/dist/telemetry/spans/span-hooks.js.map +1 -1
- package/dist/telemetry/tool-plane.d.ts +2 -0
- package/dist/telemetry/tool-plane.d.ts.map +1 -1
- package/dist/telemetry/tool-plane.js +1 -0
- package/dist/telemetry/tool-plane.js.map +1 -1
- package/dist/tool-surface/crib-cache.d.ts +21 -0
- package/dist/tool-surface/crib-cache.d.ts.map +1 -0
- package/dist/tool-surface/crib-cache.js +54 -0
- package/dist/tool-surface/crib-cache.js.map +1 -0
- package/dist/tool-surface/crib-hook.d.ts +78 -0
- package/dist/tool-surface/crib-hook.d.ts.map +1 -0
- package/dist/tool-surface/crib-hook.js +217 -0
- package/dist/tool-surface/crib-hook.js.map +1 -0
- package/dist/tool-surface/crib-sheet.d.ts +56 -0
- package/dist/tool-surface/crib-sheet.d.ts.map +1 -0
- package/dist/tool-surface/crib-sheet.js +129 -0
- package/dist/tool-surface/crib-sheet.js.map +1 -0
- package/dist/tool-surface/mcp-tool-source.d.ts +64 -0
- package/dist/tool-surface/mcp-tool-source.d.ts.map +1 -0
- package/dist/tool-surface/mcp-tool-source.js +189 -0
- package/dist/tool-surface/mcp-tool-source.js.map +1 -0
- package/dist/types/dsl/index.d.ts +4 -0
- package/dist/types/dsl/index.d.ts.map +1 -1
- package/dist/utils/event-catalog.d.ts +141 -10
- package/dist/utils/event-catalog.d.ts.map +1 -1
- package/dist/utils/event-catalog.js +23 -1
- package/dist/utils/event-catalog.js.map +1 -1
- package/dist/utils/perp-coin.d.ts.map +1 -1
- package/dist/utils/perp-coin.js +2 -1
- package/dist/utils/perp-coin.js.map +1 -1
- package/dist/utils/resolve-order-type.d.ts.map +1 -1
- package/dist/utils/resolve-order-type.js +5 -1
- package/dist/utils/resolve-order-type.js.map +1 -1
- package/dist/validate/codes.d.ts +2 -0
- package/dist/validate/codes.d.ts.map +1 -1
- package/dist/validate/codes.js +6 -0
- package/dist/validate/codes.js.map +1 -1
- package/dist/validate/index.d.ts +1 -1
- package/dist/validate/index.d.ts.map +1 -1
- package/dist/validate/index.js +1 -1
- package/dist/validate/index.js.map +1 -1
- package/dist/validate/recipe-checks.d.ts +7 -0
- package/dist/validate/recipe-checks.d.ts.map +1 -1
- package/dist/validate/recipe-checks.js +18 -0
- package/dist/validate/recipe-checks.js.map +1 -1
- package/dist/validate/recipe.d.ts.map +1 -1
- package/dist/validate/recipe.js +2 -1
- package/dist/validate/recipe.js.map +1 -1
- package/dist/widgets/tool.d.ts +9 -0
- package/dist/widgets/tool.d.ts.map +1 -1
- package/dist/widgets/tool.js +1 -0
- package/dist/widgets/tool.js.map +1 -1
- package/examples/strategies/README.md +2 -1
- package/examples/strategies/iguana/README.md +3 -3
- package/examples/strategies/raptor/README.md +3 -3
- package/openclaw.plugin.json +11 -1
- package/package.json +5 -2
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Facts about the OpenClaw host the runtime plugin is loaded into.
|
|
3
|
+
*
|
|
4
|
+
* The runtime ships one build to a mixed fleet: OpenClaw 2026.5.7 (protocol 3),
|
|
5
|
+
* 2026.5.12 (protocol 4, still the legacy plugin runtime) and 2026.10.x (the
|
|
6
|
+
* "modern" line). Several surfaces differ between the lines (the config write
|
|
7
|
+
* helpers, the `subagent_spawning` hook, tool search and its dispatcher), so
|
|
8
|
+
* every version-specific change in the runtime branches on the answers here.
|
|
9
|
+
*
|
|
10
|
+
* Everything in this module is pure or reads only what the host hands the
|
|
11
|
+
* plugin at registration. It does no I/O.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* First OpenClaw release treated as "modern" (strict config schema,
|
|
15
|
+
* `runtime.config.mutateConfigFile` only, tool search, no
|
|
16
|
+
* `subagent_spawning`). It is the same threshold the senpi-agent wrapper uses
|
|
17
|
+
* (`src/lib/openclawVersion.js`, `MODERN_SINCE = [2026, 8, 1]`), so the
|
|
18
|
+
* wrapper and the runtime always agree on which line a box runs.
|
|
19
|
+
*/
|
|
20
|
+
export const MODERN_OPENCLAW_SINCE = "2026.8.1";
|
|
21
|
+
const MODERN_SINCE_PARTS = [2026, 8, 1];
|
|
22
|
+
/**
|
|
23
|
+
* Parses the leading `YYYY.M.D` of an OpenClaw version string.
|
|
24
|
+
*
|
|
25
|
+
* Accepts an optional `v` prefix and any suffix (`-beta.3`, build metadata),
|
|
26
|
+
* so `2026.10.4`, `2026.10.4-beta.1` and `v2026.10.4` all parse to
|
|
27
|
+
* `[2026, 10, 4]`.
|
|
28
|
+
*
|
|
29
|
+
* @param raw - The version string, as `api.runtime.version` reports it.
|
|
30
|
+
* @returns The three numeric parts, or `null` when the string does not start
|
|
31
|
+
* with a date-shaped version.
|
|
32
|
+
*/
|
|
33
|
+
function parseOpenClawVersion(raw) {
|
|
34
|
+
const m = raw.trim().match(/^v?(\d{4})\.(\d{1,2})\.(\d{1,3})/);
|
|
35
|
+
if (!m)
|
|
36
|
+
return null;
|
|
37
|
+
return [Number(m[1]), Number(m[2]), Number(m[3])];
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Whether a host version is on the modern line (`>= 2026.8.1`).
|
|
41
|
+
*
|
|
42
|
+
* A missing or unparsable version is treated as legacy on purpose: legacy
|
|
43
|
+
* behaviour is what the runtime did before it knew about 10.x, and a wrong
|
|
44
|
+
* "modern" guess on a 5.x box would switch off paths 5.x relies on (for
|
|
45
|
+
* example the `writeConfigFile` restart).
|
|
46
|
+
*
|
|
47
|
+
* @param version - Host version, typically from {@link hostOpenClawVersion}.
|
|
48
|
+
* @returns `true` only for a parsable version at or above
|
|
49
|
+
* {@link MODERN_OPENCLAW_SINCE}.
|
|
50
|
+
*/
|
|
51
|
+
export function isModernOpenClawHost(version) {
|
|
52
|
+
if (typeof version !== "string")
|
|
53
|
+
return false;
|
|
54
|
+
const parts = parseOpenClawVersion(version);
|
|
55
|
+
if (!parts)
|
|
56
|
+
return false;
|
|
57
|
+
for (let i = 0; i < 3; i++) {
|
|
58
|
+
if (parts[i] !== MODERN_SINCE_PARTS[i])
|
|
59
|
+
return parts[i] > MODERN_SINCE_PARTS[i];
|
|
60
|
+
}
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Returns the host's OpenClaw version as the plugin runtime reports it
|
|
65
|
+
* (`api.runtime.version`: 5.7 `src/plugins/runtime/types-core.ts:96`, 10.10
|
|
66
|
+
* `:344`).
|
|
67
|
+
*
|
|
68
|
+
* @param api - The plugin API, or any object with the same shape.
|
|
69
|
+
* @returns The version string, or `undefined` when the host does not expose
|
|
70
|
+
* one (or exposes a non-string).
|
|
71
|
+
*/
|
|
72
|
+
export function hostOpenClawVersion(api) {
|
|
73
|
+
const version = api.runtime?.version;
|
|
74
|
+
return typeof version === "string" ? version : undefined;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Reads the host's **live** OpenClaw config.
|
|
78
|
+
*
|
|
79
|
+
* `api.config` is the snapshot taken when the plugin registered, so it goes
|
|
80
|
+
* stale after a hot reload or a `config.patch`. `api.runtime.config.current()`
|
|
81
|
+
* returns the config the gateway is running with right now (present on 5.7,
|
|
82
|
+
* 5.12 and 10.x). This prefers `current()` and falls back to the snapshot only
|
|
83
|
+
* when `current` is missing or throws (a test double, or a host mid-reload).
|
|
84
|
+
*
|
|
85
|
+
* @param api - The plugin API.
|
|
86
|
+
* @returns The live config object, or the registration snapshot, or
|
|
87
|
+
* `undefined` when neither exists. The value is the host's own object and
|
|
88
|
+
* must be treated as read-only.
|
|
89
|
+
*/
|
|
90
|
+
export function readLiveHostConfig(api) {
|
|
91
|
+
const current = api.runtime?.config?.current;
|
|
92
|
+
if (typeof current === "function") {
|
|
93
|
+
try {
|
|
94
|
+
return current.call(api.runtime?.config);
|
|
95
|
+
}
|
|
96
|
+
catch {
|
|
97
|
+
// fall through to the registration snapshot
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return api.config;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Small local record guard, matching OpenClaw's `isRecord` (a non-null,
|
|
104
|
+
* non-array object).
|
|
105
|
+
*/
|
|
106
|
+
function isRecord(value) {
|
|
107
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Resolves the tool-search mode from a whole OpenClaw config, mirroring the
|
|
111
|
+
* host's own resolver (10.10 `src/agents/tool-search-config.ts:12-42`; same
|
|
112
|
+
* semantics as 10.4, where the boolean shortcut was written out).
|
|
113
|
+
*
|
|
114
|
+
* - `tools.toolSearch` `undefined` or `true` → `"tools"`; `false` → `"off"`.
|
|
115
|
+
* - An object: `enabled` is the boolean when given, else true only when some
|
|
116
|
+
* key other than `enabled` is set (so `{}` is `"off"`); `mode` is
|
|
117
|
+
* `"directory"` only when it equals `"directory"`, else `"tools"`.
|
|
118
|
+
* - Any other value (string, array, number) → `"off"`.
|
|
119
|
+
*
|
|
120
|
+
* On a 5.x host the key does not exist and the result is meaningless; callers
|
|
121
|
+
* gate on {@link isModernOpenClawHost} first.
|
|
122
|
+
*
|
|
123
|
+
* @param config - The whole OpenClaw config (for example from
|
|
124
|
+
* {@link readLiveHostConfig}).
|
|
125
|
+
* @returns The mode the host would resolve for this config.
|
|
126
|
+
*/
|
|
127
|
+
export function resolveToolSearchMode(config) {
|
|
128
|
+
const tools = isRecord(config) && isRecord(config.tools) ? config.tools : undefined;
|
|
129
|
+
const toolSearch = tools?.toolSearch;
|
|
130
|
+
let raw;
|
|
131
|
+
if (toolSearch === undefined || typeof toolSearch === "boolean") {
|
|
132
|
+
raw = { enabled: toolSearch ?? true };
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
raw = isRecord(toolSearch) ? toolSearch : {};
|
|
136
|
+
}
|
|
137
|
+
const configured = Object.keys(raw).some((key) => key !== "enabled");
|
|
138
|
+
const enabled = typeof raw.enabled === "boolean" ? raw.enabled : configured;
|
|
139
|
+
if (!enabled)
|
|
140
|
+
return "off";
|
|
141
|
+
return raw.mode === "directory" ? "directory" : "tools";
|
|
142
|
+
}
|
|
143
|
+
let hostFacts;
|
|
144
|
+
/**
|
|
145
|
+
* Records the host facts for this process. Called once at the top of plugin
|
|
146
|
+
* registration, before any version-gated hook is registered.
|
|
147
|
+
*
|
|
148
|
+
* A second call (the gateway re-registers the plugin on a reload) replaces the
|
|
149
|
+
* record, so the facts always describe the api of the latest registration.
|
|
150
|
+
*
|
|
151
|
+
* @param api - The plugin API handed to `register(api)`.
|
|
152
|
+
* @returns The stored record.
|
|
153
|
+
*/
|
|
154
|
+
export function initOpenClawHost(api) {
|
|
155
|
+
const version = hostOpenClawVersion(api);
|
|
156
|
+
hostFacts = {
|
|
157
|
+
version,
|
|
158
|
+
modern: isModernOpenClawHost(version),
|
|
159
|
+
currentConfig: () => readLiveHostConfig(api),
|
|
160
|
+
};
|
|
161
|
+
return hostFacts;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Returns the host record stored by {@link initOpenClawHost}.
|
|
165
|
+
*
|
|
166
|
+
* @returns The record, or `undefined` before registration (unit tests, the
|
|
167
|
+
* standalone `run()` entry, scripts). Callers treat `undefined` as "not on
|
|
168
|
+
* an OpenClaw host" and keep their legacy behaviour.
|
|
169
|
+
*/
|
|
170
|
+
export function getOpenClawHost() {
|
|
171
|
+
return hostFacts;
|
|
172
|
+
}
|
|
173
|
+
/** Clears the process-wide host record. Tests only. */
|
|
174
|
+
export function resetOpenClawHostForTests() {
|
|
175
|
+
hostFacts = undefined;
|
|
176
|
+
}
|
|
177
|
+
//# sourceMappingURL=openclaw-host.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openclaw-host.js","sourceRoot":"","sources":["../../src/host/openclaw-host.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,UAAU,CAAC;AAEhD,MAAM,kBAAkB,GAAsC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAE3E;;;;;;;;;;GAUG;AACH,SAAS,oBAAoB,CAAC,GAAW;IACvC,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IAC/D,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAA2B;IAC9D,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9C,MAAM,KAAK,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,kBAAkB,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAmBD;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAoB;IACtD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC;IACrC,OAAO,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3D,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAoB;IACrD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC;IAC7C,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,OAAQ,OAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC9D,CAAC;QAAC,MAAM,CAAC;YACP,4CAA4C;QAC9C,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,CAAC;AACpB,CAAC;AAWD;;;GAGG;AACH,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAe;IACnD,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACpF,MAAM,UAAU,GAAG,KAAK,EAAE,UAAU,CAAC;IACrC,IAAI,GAA4B,CAAC;IACjC,IAAI,UAAU,KAAK,SAAS,IAAI,OAAO,UAAU,KAAK,SAAS,EAAE,CAAC;QAChE,GAAG,GAAG,EAAE,OAAO,EAAE,UAAU,IAAI,IAAI,EAAE,CAAC;IACxC,CAAC;SAAM,CAAC;QACN,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;IAC5E,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,OAAO,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;AAC1D,CAAC;AAkBD,IAAI,SAAwC,CAAC;AAE7C;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAoB;IACnD,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACzC,SAAS,GAAG;QACV,OAAO;QACP,MAAM,EAAE,oBAAoB,CAAC,OAAO,CAAC;QACrC,aAAa,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC;KAC7C,CAAC;IACF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,yBAAyB;IACvC,SAAS,GAAG,SAAS,CAAC;AACxB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -65,6 +65,14 @@ export interface SenpiRuntimePluginConfig {
|
|
|
65
65
|
* tool is not registered at all.
|
|
66
66
|
*/
|
|
67
67
|
widgets?: Record<string, boolean>;
|
|
68
|
+
/**
|
|
69
|
+
* OpenClaw 10.x tool-surface aids (src/tool-surface/). `crib: false` turns
|
|
70
|
+
* off the `senpi__` crib sheet prepended in tool-search directory mode;
|
|
71
|
+
* absent or `true` keeps it on. Ignored on 5.x hosts.
|
|
72
|
+
*/
|
|
73
|
+
toolSurface?: {
|
|
74
|
+
crib?: boolean;
|
|
75
|
+
};
|
|
68
76
|
skillsManager?: {
|
|
69
77
|
enabled?: boolean;
|
|
70
78
|
/**
|
|
@@ -122,13 +130,47 @@ interface PluginApi {
|
|
|
122
130
|
pluginConfig?: Record<string, unknown>;
|
|
123
131
|
logger: PluginLogger;
|
|
124
132
|
config?: Record<string, unknown>;
|
|
133
|
+
/**
|
|
134
|
+
* Which registration pass this is (5.7 `src/plugins/types.ts:2242`, 10.10
|
|
135
|
+
* `src/plugins/plugin-registration.types.ts:503`). `"cli-metadata"` is the
|
|
136
|
+
* pass that only collects CLI command roots; on 10.x `runtime` throws on any
|
|
137
|
+
* read in it. Absent on hosts that predate the field.
|
|
138
|
+
*/
|
|
139
|
+
registrationMode?: string;
|
|
125
140
|
runtime: {
|
|
141
|
+
/**
|
|
142
|
+
* Host OpenClaw version (`PluginRuntimeCore.version`). Read once at
|
|
143
|
+
* registration by `initOpenClawHost` (src/host/openclaw-host.ts) to decide
|
|
144
|
+
* between the legacy (5.x) and modern (>= 2026.8.1) code paths.
|
|
145
|
+
*/
|
|
146
|
+
version?: string;
|
|
126
147
|
state: {
|
|
127
148
|
resolveStateDir(): string;
|
|
128
149
|
};
|
|
129
150
|
config?: {
|
|
130
|
-
|
|
131
|
-
|
|
151
|
+
/** Live config snapshot; present on 5.7, 5.12 and 10.x. */
|
|
152
|
+
current?(): unknown;
|
|
153
|
+
/**
|
|
154
|
+
* Focused config write with an explicit follow-up (10.10
|
|
155
|
+
* `src/plugins/runtime/types-core.ts:348-370`; `afterWrite` shape from
|
|
156
|
+
* `src/config/runtime-snapshot.ts:54-57`). The only write helper on 10.x.
|
|
157
|
+
*/
|
|
158
|
+
mutateConfigFile?(params: {
|
|
159
|
+
afterWrite: {
|
|
160
|
+
mode: "auto";
|
|
161
|
+
} | {
|
|
162
|
+
mode: "restart";
|
|
163
|
+
reason: string;
|
|
164
|
+
} | {
|
|
165
|
+
mode: "none";
|
|
166
|
+
reason: string;
|
|
167
|
+
};
|
|
168
|
+
mutate: (draft: Record<string, unknown>) => void;
|
|
169
|
+
}): Promise<unknown>;
|
|
170
|
+
/** 5.x only; removed on 10.x (first gone in 2026.7.2-beta.4). */
|
|
171
|
+
loadConfig?(): Promise<unknown>;
|
|
172
|
+
/** 5.x only; removed on 10.x (Box A on 10.10: `hasWriteConfigFile:false`). */
|
|
173
|
+
writeConfigFile?(config: unknown): Promise<void>;
|
|
132
174
|
};
|
|
133
175
|
};
|
|
134
176
|
registerService(service: {
|
|
@@ -172,6 +214,8 @@ interface PluginApi {
|
|
|
172
214
|
timeoutMs?: number;
|
|
173
215
|
}): void;
|
|
174
216
|
}
|
|
217
|
+
/** Clears {@link legacyTurnClassificationNoticeLogged}. Tests only. */
|
|
218
|
+
export declare function resetLegacyTurnClassificationNoticeForTests(): void;
|
|
175
219
|
/**
|
|
176
220
|
* OpenClaw plugin entry.
|
|
177
221
|
* Boots from internal registry (installed_runtimes.json) in stateDir; does not read runtime list from config.
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAmBH,OAAO,EAA6B,KAAK,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AA+C1G,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AA6B3D,OAAO,EAIL,KAAK,iBAAiB,EACvB,MAAM,mCAAmC,CAAC;AAgD3C,+EAA+E;AAC/E,wBAAgB,QAAQ,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAIjD;AAGD,OAAO,EACL,OAAO,EACP,SAAS,EACT,SAAS,EACT,cAAc,EACd,oBAAoB,EACpB,wBAAwB,EACxB,kBAAkB,EAClB,MAAM,IAAI,SAAS,EACnB,UAAU,GACX,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,QAAQ,EACR,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAG3C,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACxE,YAAY,EACV,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,4BAA4B,EAC5B,8BAA8B,EAC9B,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EACV,aAAa,EACb,SAAS,EACT,UAAU,EACV,cAAc,EACd,YAAY,EACZ,eAAe,EACf,SAAS,EACT,mBAAmB,EACnB,MAAM,EACN,UAAU,GACX,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,YAAY,EACV,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,cAAc,EACd,YAAY,EACZ,MAAM,EACN,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAC/G,kDAAkD;AAClD,OAAO,EAAE,mBAAmB,IAAI,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAC3F,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEtF,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,iDAAiD,CAAC;AACzD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,mDAAmD,CAAC;AAG3D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,yBAAyB,EACzB,cAAc,EACd,SAAS,EACT,YAAY,EACZ,WAAW,EACX,aAAa,EACb,QAAQ,EACR,UAAU,EACV,qBAAqB,EACrB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,UAAU,IAAI,iBAAiB,EAC/B,QAAQ,GACT,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACV,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,UAAU,EACV,MAAM,EACN,YAAY,EACZ,aAAa,EACb,UAAU,EACV,QAAQ,EACR,SAAS,EACT,iBAAiB,IAAI,wBAAwB,EAC7C,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,kCAAkC,EAClC,eAAe,EACf,OAAO,IAAI,cAAc,EACzB,oBAAoB,EACpB,iBAAiB,EACjB,YAAY,EACZ,uBAAuB,EACvB,0BAA0B,EAC1B,sBAAsB,EACtB,qBAAqB,EACrB,8BAA8B,EAC9B,sBAAsB,EACtB,YAAY,EACZ,4BAA4B,EAC5B,2BAA2B,EAC3B,+BAA+B,EAC/B,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,2BAA2B,EAC3B,oBAAoB,IAAI,2BAA2B,GACpD,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,YAAY,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,wIAAwI;AACxI,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC;;;;OAIG;IACH,WAAW,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACjC,aAAa,CAAC,EAAE;QACd,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB;;;;;;;WAOG;QACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAC9B;;;;;;WAMG;QACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB;;;;;;WAMG;QACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAKnH,CAAC;CACH;AAID,UAAU,YAAY;IACpB,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/B,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC/C;AAqBD;;;;;;;;;GASG;AACH,KAAK,aAAa,GACd,gBAAgB,GAChB,eAAe,GACf,gBAAgB,GAChB,oBAAoB,GACpB,kBAAkB,GAClB,uBAAuB,CAAC;AAE5B,UAAU,SAAS;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE;QACP;;;;WAIG;QACH,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE;YACL,eAAe,IAAI,MAAM,CAAC;SAC3B,CAAC;QACF,MAAM,CAAC,EAAE;YACP,2DAA2D;YAC3D,OAAO,CAAC,IAAI,OAAO,CAAC;YACpB;;;;eAIG;YACH,gBAAgB,CAAC,CAAC,MAAM,EAAE;gBACxB,UAAU,EAAE;oBAAE,IAAI,EAAE,MAAM,CAAA;iBAAE,GAAG;oBAAE,IAAI,EAAE,SAAS,CAAC;oBAAC,MAAM,EAAE,MAAM,CAAA;iBAAE,GAAG;oBAAE,IAAI,EAAE,MAAM,CAAC;oBAAC,MAAM,EAAE,MAAM,CAAA;iBAAE,CAAC;gBACtG,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;aAClD,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;YACrB,iEAAiE;YACjE,UAAU,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;YAChC,8EAA8E;YAC9E,eAAe,CAAC,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;SAClD,CAAC;KACH,CAAC;IACF,eAAe,CAAC,OAAO,EAAE;QACvB,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,CAAC,GAAG,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KAC5D,GAAG,IAAI,CAAC;IACT,WAAW,CACT,EAAE,EAAE,CAAC,GAAG,EAAE;QAAE,OAAO,EAAE;YAAE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,OAAO,CAAA;SAAE,CAAA;KAAE,KAAK,IAAI,EACrF,IAAI,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,GAC5B,IAAI,CAAC;IACR,qBAAqB,CACnB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,CAAC,GAAG,EAAE;QACb,OAAO,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;QAC/C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjC,OAAO,CAAC,EAAE;YAAE,SAAS,CAAC,EAAE,qBAAqB,CAAA;SAAE,CAAC;KACjD,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAC1B,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,aAAa,CAAA;KAAE,GAC/B,IAAI,CAAC;IAIR,YAAY,CACV,IAAI,EAAE,CAAC,GAAG,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,EAC9C,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAC9C,IAAI,CAAC;IAGR,cAAc,CAAC,EAAE,CAAC,YAAY,EAAE;QAC9B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB,KAAK,IAAI,CAAC;IACX,EAAE,CACA,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EACrD,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAC/C,IAAI,CAAC;CACT;AAiGD,uEAAuE;AACvE,wBAAgB,2CAA2C,IAAI,IAAI,CAElE;AAwBD;;;GAGG;AACH,QAAA,MAAM,kBAAkB;;;;;;qBAUP,OAAO;;kBAQR,SAAS;CAwwFxB,CAAC;AAmLF,eAAe,kBAAkB,CAAC"}
|