@senpi/runtime 3.0.58 → 3.0.62
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 +73 -2
- package/dist/actions/action-events.d.ts +3 -3
- package/dist/actions/action-events.d.ts.map +1 -1
- package/dist/actions/action-events.js +24 -16
- package/dist/actions/action-events.js.map +1 -1
- package/dist/actions/action-runtime-module.d.ts.map +1 -1
- package/dist/actions/action-runtime-module.js +18 -1
- package/dist/actions/action-runtime-module.js.map +1 -1
- package/dist/actions/close-position/close-position.action.d.ts.map +1 -1
- package/dist/actions/close-position/close-position.action.js +84 -11
- package/dist/actions/close-position/close-position.action.js.map +1 -1
- package/dist/actions/decision-engine.d.ts +0 -2
- package/dist/actions/decision-engine.d.ts.map +1 -1
- package/dist/actions/decision-engine.js +1 -79
- package/dist/actions/decision-engine.js.map +1 -1
- package/dist/actions/event-derivation.d.ts +40 -2
- package/dist/actions/event-derivation.d.ts.map +1 -1
- package/dist/actions/event-derivation.js +178 -5
- package/dist/actions/event-derivation.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 +103 -16
- package/dist/actions/open-position/open-position.action.js.map +1 -1
- package/dist/actions/position-tracker/position-tracker.action.d.ts +2 -1
- package/dist/actions/position-tracker/position-tracker.action.d.ts.map +1 -1
- package/dist/actions/position-tracker/position-tracker.action.js +47 -15
- package/dist/actions/position-tracker/position-tracker.action.js.map +1 -1
- package/dist/actions/skipped-signal-results.d.ts +16 -0
- package/dist/actions/skipped-signal-results.d.ts.map +1 -0
- package/dist/actions/skipped-signal-results.js +47 -0
- package/dist/actions/skipped-signal-results.js.map +1 -0
- package/dist/cli/deploy-render.d.ts +91 -0
- package/dist/cli/deploy-render.d.ts.map +1 -0
- package/dist/cli/deploy-render.js +216 -0
- package/dist/cli/deploy-render.js.map +1 -0
- package/dist/cli/guide-commands.d.ts.map +1 -1
- package/dist/cli/guide-commands.js +78 -6
- package/dist/cli/guide-commands.js.map +1 -1
- package/dist/cli/senpi-commands.d.ts +6 -1
- package/dist/cli/senpi-commands.d.ts.map +1 -1
- package/dist/cli/senpi-commands.js +164 -5
- package/dist/cli/senpi-commands.js.map +1 -1
- package/dist/cli/validate-command.d.ts.map +1 -1
- package/dist/cli/validate-command.js +32 -1
- package/dist/cli/validate-command.js.map +1 -1
- package/dist/deploy/deadlines.d.ts +47 -0
- package/dist/deploy/deadlines.d.ts.map +1 -0
- package/dist/deploy/deadlines.js +56 -0
- package/dist/deploy/deadlines.js.map +1 -0
- package/dist/deploy/error-text.d.ts +25 -0
- package/dist/deploy/error-text.d.ts.map +1 -0
- package/dist/deploy/error-text.js +42 -0
- package/dist/deploy/error-text.js.map +1 -0
- package/dist/deploy/funding.d.ts +87 -0
- package/dist/deploy/funding.d.ts.map +1 -0
- package/dist/deploy/funding.js +229 -0
- package/dist/deploy/funding.js.map +1 -0
- package/dist/deploy/install-gate-runner.d.ts +12 -0
- package/dist/deploy/install-gate-runner.d.ts.map +1 -0
- package/dist/deploy/install-gate-runner.js +17 -0
- package/dist/deploy/install-gate-runner.js.map +1 -0
- package/dist/deploy/job.d.ts +199 -0
- package/dist/deploy/job.d.ts.map +1 -0
- package/dist/deploy/job.js +463 -0
- package/dist/deploy/job.js.map +1 -0
- package/dist/deploy/min-budget.d.ts +68 -0
- package/dist/deploy/min-budget.d.ts.map +1 -0
- package/dist/deploy/min-budget.js +297 -0
- package/dist/deploy/min-budget.js.map +1 -0
- package/dist/deploy/orchestrator.d.ts +305 -0
- package/dist/deploy/orchestrator.d.ts.map +1 -0
- package/dist/deploy/orchestrator.js +2910 -0
- package/dist/deploy/orchestrator.js.map +1 -0
- package/dist/deploy/package.d.ts +130 -0
- package/dist/deploy/package.d.ts.map +1 -0
- package/dist/deploy/package.js +351 -0
- package/dist/deploy/package.js.map +1 -0
- package/dist/deploy/proof-gate.d.ts +82 -0
- package/dist/deploy/proof-gate.d.ts.map +1 -0
- package/dist/deploy/proof-gate.js +269 -0
- package/dist/deploy/proof-gate.js.map +1 -0
- package/dist/deploy/python-float.d.ts +34 -0
- package/dist/deploy/python-float.d.ts.map +1 -0
- package/dist/deploy/python-float.js +46 -0
- package/dist/deploy/python-float.js.map +1 -0
- package/dist/deploy/recheck-commands.d.ts +50 -0
- package/dist/deploy/recheck-commands.d.ts.map +1 -0
- package/dist/deploy/recheck-commands.js +59 -0
- package/dist/deploy/recheck-commands.js.map +1 -0
- package/dist/deploy/register.d.ts +99 -0
- package/dist/deploy/register.d.ts.map +1 -0
- package/dist/deploy/register.js +689 -0
- package/dist/deploy/register.js.map +1 -0
- package/dist/deploy/taxonomy.d.ts +24 -0
- package/dist/deploy/taxonomy.d.ts.map +1 -0
- package/dist/deploy/taxonomy.js +31 -0
- package/dist/deploy/taxonomy.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +244 -132
- package/dist/index.js.map +1 -1
- package/dist/runtime/lifecycle-events.d.ts +13 -0
- package/dist/runtime/lifecycle-events.d.ts.map +1 -1
- package/dist/runtime/lifecycle-events.js +32 -0
- package/dist/runtime/lifecycle-events.js.map +1 -1
- package/dist/runtime/runtime.d.ts.map +1 -1
- package/dist/runtime/runtime.js +3 -1
- package/dist/runtime/runtime.js.map +1 -1
- package/dist/runtime/strategy-registry.d.ts +8 -0
- package/dist/runtime/strategy-registry.d.ts.map +1 -1
- package/dist/runtime/strategy-registry.js +14 -1
- package/dist/runtime/strategy-registry.js.map +1 -1
- package/dist/runtime/supervisor/long-running-supervisor.d.ts +8 -0
- package/dist/runtime/supervisor/long-running-supervisor.d.ts.map +1 -1
- package/dist/runtime/supervisor/long-running-supervisor.js +1 -0
- package/dist/runtime/supervisor/long-running-supervisor.js.map +1 -1
- package/dist/runtime-api/intake/intake-events.d.ts +19 -3
- package/dist/runtime-api/intake/intake-events.d.ts.map +1 -1
- package/dist/runtime-api/intake/intake-events.js +64 -2
- package/dist/runtime-api/intake/intake-events.js.map +1 -1
- package/dist/runtime-api/intake/intake-mount.d.ts.map +1 -1
- package/dist/runtime-api/intake/intake-mount.js +7 -4
- package/dist/runtime-api/intake/intake-mount.js.map +1 -1
- package/dist/runtime-api/intake/process-signal-post.d.ts.map +1 -1
- package/dist/runtime-api/intake/process-signal-post.js +7 -1
- package/dist/runtime-api/intake/process-signal-post.js.map +1 -1
- package/dist/runtime-api/intake/scanner-launcher.d.ts.map +1 -1
- package/dist/runtime-api/intake/scanner-launcher.js +12 -0
- package/dist/runtime-api/intake/scanner-launcher.js.map +1 -1
- package/dist/runtime-api/intake/types.d.ts +24 -0
- package/dist/runtime-api/intake/types.d.ts.map +1 -1
- package/dist/runtime-api/routes/signals.d.ts.map +1 -1
- package/dist/runtime-api/routes/signals.js +10 -1
- package/dist/runtime-api/routes/signals.js.map +1 -1
- package/dist/runtime-api/routes/signals.schema.d.ts +10 -0
- package/dist/runtime-api/routes/signals.schema.d.ts.map +1 -1
- package/dist/runtime-api/routes/signals.schema.js +14 -0
- package/dist/runtime-api/routes/signals.schema.js.map +1 -1
- package/dist/scanners/events.d.ts +7 -0
- package/dist/scanners/events.d.ts.map +1 -1
- package/dist/scanners/events.js.map +1 -1
- package/dist/scanners/external/scaffold/delivery.py +23 -12
- package/dist/scanners/external/scaffold/scaffold.py +55 -7
- package/dist/scanners/implementations/market-regime.d.ts +1 -1
- package/dist/scanners/runtime-module.d.ts.map +1 -1
- package/dist/scanners/runtime-module.js +10 -2
- package/dist/scanners/runtime-module.js.map +1 -1
- package/dist/senpi/client.d.ts +58 -4
- package/dist/senpi/client.d.ts.map +1 -1
- package/dist/senpi/client.js +192 -15
- package/dist/senpi/client.js.map +1 -1
- package/dist/senpi/strategy-status.d.ts +32 -0
- package/dist/senpi/strategy-status.d.ts.map +1 -0
- package/dist/senpi/strategy-status.js +70 -0
- package/dist/senpi/strategy-status.js.map +1 -0
- package/dist/senpi/types.d.ts +47 -3
- package/dist/senpi/types.d.ts.map +1 -1
- package/dist/skills-manager/manifest.js +1 -1
- package/dist/skills-manager/skills-manifest.json +1 -1
- package/dist/telemetry/event-builders.d.ts +45 -6
- package/dist/telemetry/event-builders.d.ts.map +1 -1
- package/dist/telemetry/event-builders.js +99 -11
- package/dist/telemetry/event-builders.js.map +1 -1
- package/dist/telemetry/metrics.d.ts +37 -2
- package/dist/telemetry/metrics.d.ts.map +1 -1
- package/dist/telemetry/metrics.js +84 -4
- package/dist/telemetry/metrics.js.map +1 -1
- package/dist/telemetry/scanner-tick-event.d.ts +32 -0
- package/dist/telemetry/scanner-tick-event.d.ts.map +1 -0
- package/dist/telemetry/scanner-tick-event.js +32 -0
- package/dist/telemetry/scanner-tick-event.js.map +1 -0
- package/dist/types/strategy.d.ts +9 -1
- package/dist/types/strategy.d.ts.map +1 -1
- package/dist/universe/package-universe.d.ts +97 -0
- package/dist/universe/package-universe.d.ts.map +1 -0
- package/dist/universe/package-universe.js +275 -0
- package/dist/universe/package-universe.js.map +1 -0
- package/dist/utils/event-catalog.d.ts +58 -0
- package/dist/utils/event-catalog.d.ts.map +1 -1
- package/dist/utils/event-catalog.js +1 -0
- package/dist/utils/event-catalog.js.map +1 -1
- package/dist/validate/codes.d.ts +20 -0
- package/dist/validate/codes.d.ts.map +1 -1
- package/dist/validate/codes.js +36 -0
- package/dist/validate/codes.js.map +1 -1
- package/dist/validate/import-stage.js +5 -5
- package/dist/validate/import-stage.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.map +1 -1
- package/dist/validate/install-gate.d.ts.map +1 -1
- package/dist/validate/install-gate.js +10 -2
- package/dist/validate/install-gate.js.map +1 -1
- package/dist/validate/live-instruments.d.ts +44 -0
- package/dist/validate/live-instruments.d.ts.map +1 -0
- package/dist/validate/live-instruments.js +71 -0
- package/dist/validate/live-instruments.js.map +1 -0
- package/dist/validate/live-stage.js +5 -5
- package/dist/validate/live-stage.js.map +1 -1
- package/dist/validate/proof.d.ts +11 -1
- package/dist/validate/proof.d.ts.map +1 -1
- package/dist/validate/proof.js +7 -6
- package/dist/validate/proof.js.map +1 -1
- package/dist/validate/recipe-checks.d.ts.map +1 -1
- package/dist/validate/recipe-checks.js +6 -4
- package/dist/validate/recipe-checks.js.map +1 -1
- package/dist/validate/run.d.ts +5 -0
- package/dist/validate/run.d.ts.map +1 -1
- package/dist/validate/run.js +10 -1
- package/dist/validate/run.js.map +1 -1
- package/dist/validate/target.d.ts +41 -0
- package/dist/validate/target.d.ts.map +1 -1
- package/dist/validate/target.js +192 -16
- package/dist/validate/target.js.map +1 -1
- package/dist/validate/universe-stage.d.ts +71 -0
- package/dist/validate/universe-stage.d.ts.map +1 -0
- package/dist/validate/universe-stage.js +183 -0
- package/dist/validate/universe-stage.js.map +1 -0
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
- package/dist/runtime/managed-wallet-guard.d.ts +0 -47
- package/dist/runtime/managed-wallet-guard.d.ts.map +0 -1
- package/dist/runtime/managed-wallet-guard.js +0 -106
- package/dist/runtime/managed-wallet-guard.js.map +0 -1
- package/dist/runtime/protection-nudge.d.ts +0 -67
- package/dist/runtime/protection-nudge.d.ts.map +0 -1
- package/dist/runtime/protection-nudge.js +0 -244
- package/dist/runtime/protection-nudge.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/telemetry/metrics.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/telemetry/metrics.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The shared pure builder for `scanner.tick` — the one designed record saying a scan happened, fired
|
|
3
|
+
* once per scan including an empty or failed one.
|
|
4
|
+
*
|
|
5
|
+
* Both producers (the external intake HTTP boundary and the built-in scan-complete handler) go
|
|
6
|
+
* through this builder so the attribute shape, the body wording, and the wallet lowercasing cannot
|
|
7
|
+
* drift apart between them. Pure `(input) => EmittableEvent`; the call sites emit it through
|
|
8
|
+
* `emitEvent`'s guard, so a throwing build can never disturb request handling or the scan path. The
|
|
9
|
+
* producer contributes no free text, so there is nothing to `redact`.
|
|
10
|
+
*/
|
|
11
|
+
import { EVENT_NAME, type ScannerTickStatus } from "../utils/event-catalog.js";
|
|
12
|
+
import type { EmittableEvent } from "../actions/event-derivation.js";
|
|
13
|
+
import type { ScannerScheduleMode } from "../scanners/scanner-definition.js";
|
|
14
|
+
/** One scan's tick facts, as either producer knows them. */
|
|
15
|
+
export interface ScannerTickInput {
|
|
16
|
+
readonly scannerId: string;
|
|
17
|
+
/** The scanner's configured name; the id when no name is resolvable. */
|
|
18
|
+
readonly scannerName: string;
|
|
19
|
+
/** Strategy wallet in any casing; omitted from the event when absent or empty. */
|
|
20
|
+
readonly address?: string;
|
|
21
|
+
readonly scheduleMode: ScannerScheduleMode;
|
|
22
|
+
readonly status: ScannerTickStatus;
|
|
23
|
+
/** Candidates THIS scan produced — `0` is a real value, not a missing one. */
|
|
24
|
+
readonly candidateCount: number;
|
|
25
|
+
/** Omitted when the producer cannot supply it. */
|
|
26
|
+
readonly durationMs?: number;
|
|
27
|
+
/** The scaffold's tick counter; external producer only. */
|
|
28
|
+
readonly tickSeq?: number;
|
|
29
|
+
}
|
|
30
|
+
/** Build the `scanner.tick` record for one scan. */
|
|
31
|
+
export declare function buildScannerTickEvent(input: ScannerTickInput): EmittableEvent<typeof EVENT_NAME.scannerTick>;
|
|
32
|
+
//# sourceMappingURL=scanner-tick-event.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scanner-tick-event.d.ts","sourceRoot":"","sources":["../../src/telemetry/scanner-tick-event.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,UAAU,EAGV,KAAK,iBAAiB,EACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAE7E,4DAA4D;AAC5D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,wEAAwE;IACxE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,kFAAkF;IAClF,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,8EAA8E;IAC9E,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,kDAAkD;IAClD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,2DAA2D;IAC3D,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,oDAAoD;AACpD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,gBAAgB,GACtB,cAAc,CAAC,OAAO,UAAU,CAAC,WAAW,CAAC,CAkB/C"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The shared pure builder for `scanner.tick` — the one designed record saying a scan happened, fired
|
|
3
|
+
* once per scan including an empty or failed one.
|
|
4
|
+
*
|
|
5
|
+
* Both producers (the external intake HTTP boundary and the built-in scan-complete handler) go
|
|
6
|
+
* through this builder so the attribute shape, the body wording, and the wallet lowercasing cannot
|
|
7
|
+
* drift apart between them. Pure `(input) => EmittableEvent`; the call sites emit it through
|
|
8
|
+
* `emitEvent`'s guard, so a throwing build can never disturb request handling or the scan path. The
|
|
9
|
+
* producer contributes no free text, so there is nothing to `redact`.
|
|
10
|
+
*/
|
|
11
|
+
import { EVENT_NAME, eventAttrs, } from "../utils/event-catalog.js";
|
|
12
|
+
/** Build the `scanner.tick` record for one scan. */
|
|
13
|
+
export function buildScannerTickEvent(input) {
|
|
14
|
+
return {
|
|
15
|
+
name: EVENT_NAME.scannerTick,
|
|
16
|
+
level: "info",
|
|
17
|
+
body: `Scanner ${input.scannerName} tick: ${input.candidateCount} candidate(s) (${input.status})`,
|
|
18
|
+
attributes: eventAttrs({
|
|
19
|
+
"senpi.scanner.id": input.scannerId,
|
|
20
|
+
"senpi.scanner.name": input.scannerName,
|
|
21
|
+
// Addresses are case-insensitive; lowercase here — the one place both producers share — to
|
|
22
|
+
// match the identity join key.
|
|
23
|
+
"senpi.strategy.address": input.address ? input.address.toLowerCase() : undefined,
|
|
24
|
+
"senpi.scanner.schedule_mode": input.scheduleMode,
|
|
25
|
+
"senpi.scanner.tick_status": input.status,
|
|
26
|
+
"senpi.scanner.candidate_count": input.candidateCount,
|
|
27
|
+
"senpi.scanner.duration_ms": input.durationMs,
|
|
28
|
+
"senpi.scanner.tick_seq": input.tickSeq,
|
|
29
|
+
}),
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=scanner-tick-event.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scanner-tick-event.js","sourceRoot":"","sources":["../../src/telemetry/scanner-tick-event.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,UAAU,EACV,UAAU,GAGX,MAAM,2BAA2B,CAAC;AAqBnC,oDAAoD;AACpD,MAAM,UAAU,qBAAqB,CACnC,KAAuB;IAEvB,OAAO;QACL,IAAI,EAAE,UAAU,CAAC,WAAW;QAC5B,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,WAAW,KAAK,CAAC,WAAW,UAAU,KAAK,CAAC,cAAc,kBAAkB,KAAK,CAAC,MAAM,GAAG;QACjG,UAAU,EAAE,UAAU,CAA0C;YAC9D,kBAAkB,EAAE,KAAK,CAAC,SAAS;YACnC,oBAAoB,EAAE,KAAK,CAAC,WAAW;YACvC,2FAA2F;YAC3F,+BAA+B;YAC/B,wBAAwB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;YACjF,6BAA6B,EAAE,KAAK,CAAC,YAAY;YACjD,2BAA2B,EAAE,KAAK,CAAC,MAAM;YACzC,+BAA+B,EAAE,KAAK,CAAC,cAAc;YACrD,2BAA2B,EAAE,KAAK,CAAC,UAAU;YAC7C,wBAAwB,EAAE,KAAK,CAAC,OAAO;SACxC,CAAC;KACH,CAAC;AACJ,CAAC"}
|
package/dist/types/strategy.d.ts
CHANGED
|
@@ -68,7 +68,15 @@ export interface StrategyDetails {
|
|
|
68
68
|
name: string;
|
|
69
69
|
status: string;
|
|
70
70
|
traderAddress: string;
|
|
71
|
-
|
|
71
|
+
/**
|
|
72
|
+
* Total USDC funded into the strategy — `undefined` when the backend reported no readable figure.
|
|
73
|
+
*
|
|
74
|
+
* The distinction survives all the way to the reader: this object is what the `strategy: details`
|
|
75
|
+
* context slice hands an LLM decision prompt, and `JSON.stringify` drops an `undefined` key, so an
|
|
76
|
+
* unreadable amount reaches the prompt as ABSENT rather than as `0`. A zero here would say the
|
|
77
|
+
* wallet is empty, which is the opposite next step from "nobody read this figure".
|
|
78
|
+
*/
|
|
79
|
+
initialBudget: number | undefined;
|
|
72
80
|
totalPnl: number;
|
|
73
81
|
pnlPercentage: number;
|
|
74
82
|
createdAt: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strategy.d.ts","sourceRoot":"","sources":["../../src/types/strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,wBAAwB,EACxB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAI3B,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,UAAU,GAAG,YAAY,CAAC;AAErE,gFAAgF;AAChF,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,iGAAiG;IACjG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAID,6FAA6F;AAC7F,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,sGAAsG;IACtG,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,OAAO,GAAG,UAAU,CAAC;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"strategy.d.ts","sourceRoot":"","sources":["../../src/types/strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,wBAAwB,EACxB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAI3B,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,UAAU,GAAG,YAAY,CAAC;AAErE,gFAAgF;AAChF,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,iGAAiG;IACjG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAID,6FAA6F;AAC7F,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,sGAAsG;IACtG,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,OAAO,GAAG,UAAU,CAAC;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,qEAAqE;IACrE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB;;;;;;;OAOG;IACH,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAID,4FAA4F;AAC5F,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAGhC,qBAAqB,IAAI,kBAAkB,GAAG,SAAS,CAAC;IACxD,gBAAgB,IAAI,YAAY,EAAE,GAAG,SAAS,CAAC;IAC/C,aAAa,IAAI,SAAS,EAAE,GAAG,SAAS,CAAC;IACzC,aAAa,IAAI,SAAS,EAAE,GAAG,SAAS,CAAC;IACzC,iBAAiB,IAAI,MAAM,CAAC;IAC5B,UAAU,IAAI,eAAe,GAAG,SAAS,CAAC;IAC1C,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAGrD,uBAAuB,CAAC,IAAI,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAAC;IACvG,eAAe,CAAC,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,EAAE,GAAG,SAAS,CAAC,CAAC;IACzI,eAAe,IAAI,OAAO,CAAC,SAAS,EAAE,GAAG,SAAS,CAAC,CAAC;IACpD,YAAY,IAAI,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAAC;IAGrD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAGzB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE;QACvE,SAAS,CAAC,EAAE,cAAc,CAAC;QAC3B,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;QACpD,qHAAqH;QACrH,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,uHAAuH;QACvH,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrB,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC7E,YAAY,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE;YAAE,SAAS,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IAGtE,cAAc,CAAC,MAAM,EAAE;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,iBAAiB,EAAE;YAAE,MAAM,EAAE;gBAAE,KAAK,EAAE,KAAK,CAAC;oBAAE,UAAU,EAAE,MAAM,CAAC;oBAAC,OAAO,EAAE,MAAM,CAAA;iBAAE,CAAC,CAAA;aAAE,CAAA;SAAE,CAAC;KAC1F,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAA;KAAE,CAAC,CAAC;IAClE,iBAAiB,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC1F,iBAAiB,CAAC,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC/I,sBAAsB,CAAC,MAAM,CAAC,EAAE;QAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;KAC5B,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;CACjC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { type DeployPackage } from "../deploy/package.js";
|
|
2
|
+
/** One hardcoded ticker-shaped string, with the exact place a reader has to edit. */
|
|
3
|
+
export interface TickerOccurrence {
|
|
4
|
+
ticker: string;
|
|
5
|
+
/** Absolute path of the file the name appears in — strategy.yaml or an instance runtime.yaml. */
|
|
6
|
+
file: string;
|
|
7
|
+
/** Dotted key path, e.g. `catalog.assets` or `scanners[0].inputs.asset_universe`. */
|
|
8
|
+
keyPath: string;
|
|
9
|
+
}
|
|
10
|
+
/** Every hardcoded ticker-shaped string in catalog.assets + each instance's scanners[].inputs. */
|
|
11
|
+
export declare function packageHardcodedTickers(pkg: DeployPackage): TickerOccurrence[];
|
|
12
|
+
/**
|
|
13
|
+
* Mirror of validate_universe.py `unknown_tickers`: scanners on the xyz DEX prefix bare names in
|
|
14
|
+
* code (`f"xyz:{token}"`), so a bare ticker is live if `T` OR `xyz:T` is; a prefixed one only as
|
|
15
|
+
* written. Returns ticker → every occurrence of it, so one refusal can name every place to edit.
|
|
16
|
+
*/
|
|
17
|
+
export declare function deadTickers(occurrences: TickerOccurrence[], live: ReadonlySet<string>): Map<string, TickerOccurrence[]>;
|
|
18
|
+
/** The injected universe source — deliberately the same shape as `DeployDeps.listLiveInstruments`. */
|
|
19
|
+
export interface UniverseCheckDeps {
|
|
20
|
+
/** Non-delisted live instrument names; [] means "could not read", NEVER "everything is dead". */
|
|
21
|
+
listLiveInstruments(): Promise<string[]>;
|
|
22
|
+
}
|
|
23
|
+
export type UniverseCheckResult =
|
|
24
|
+
/** Nothing hardcoded — derived universe; the source was never read. */
|
|
25
|
+
{
|
|
26
|
+
status: "no-hardcoded";
|
|
27
|
+
} | {
|
|
28
|
+
status: "clean";
|
|
29
|
+
liveCount: number;
|
|
30
|
+
checked: number;
|
|
31
|
+
} | {
|
|
32
|
+
status: "dead";
|
|
33
|
+
dead: Map<string, TickerOccurrence[]>;
|
|
34
|
+
liveCount: number;
|
|
35
|
+
}
|
|
36
|
+
/** The list could not be read (throw, or empty). No instrument may be called dead on this. */
|
|
37
|
+
| {
|
|
38
|
+
status: "unavailable";
|
|
39
|
+
reason: string;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* The composed, reusable check: performs no I/O beyond the package's own YAML and the injected
|
|
43
|
+
* source, and returns a verdict any consumer can render. Deploy consumes it pre-money; validate
|
|
44
|
+
* consumes it read-only at its live depth.
|
|
45
|
+
*
|
|
46
|
+
* What it throws, exactly: **the injected source never throws out of here** — a rejecting or empty
|
|
47
|
+
* `listLiveInstruments` becomes `{ status: "unavailable" }`, which is the whole point of the
|
|
48
|
+
* status. Reading the package's own YAML is NOT wrapped: an instance `runtime.yaml` that has been
|
|
49
|
+
* deleted or made unparseable since the package loaded propagates its error. On the deploy path
|
|
50
|
+
* that cannot happen unobserved — `instancesWithoutDslExit` and `scannersDeclaringEnabled` parse
|
|
51
|
+
* the same files a few lines earlier in `runDeploy`, and `localStartRefusal` parses them at start —
|
|
52
|
+
* so the exposure belongs to the standalone consumer, and validate's call site CATCHES it: a
|
|
53
|
+
* package it could not read is reported as a check that did not run
|
|
54
|
+
* (`W_VALIDATE_UNIVERSE_UNCHECKED`), never as a clean one. That stayed a caller's concern rather
|
|
55
|
+
* than becoming a fifth status because it is NOT `unavailable` — "the live list could not be read"
|
|
56
|
+
* and "this package could not be read" are opposite facts — and deploy, which parses the same files
|
|
57
|
+
* first, has no branch that would ever reach it.
|
|
58
|
+
*/
|
|
59
|
+
export declare function checkPackageUniverse(pkg: DeployPackage, deps: UniverseCheckDeps): Promise<UniverseCheckResult>;
|
|
60
|
+
/**
|
|
61
|
+
* The verdict as one journal line — plain words, never the union's tag name (`dead`/`unavailable`
|
|
62
|
+
* are internal labels, and a narration line is read by people and relayed by agents). `null` for a
|
|
63
|
+
* package that hardcodes nothing: there is no forward claim to make about a check that never ran.
|
|
64
|
+
* Carries no money language, so a read-only consumer can render it too.
|
|
65
|
+
*/
|
|
66
|
+
export declare function describeUniverseVerdict(result: UniverseCheckResult): string | null;
|
|
67
|
+
/**
|
|
68
|
+
* The live names a hardcoded ticker was compared against — the reader's half of {@link deadTickers}.
|
|
69
|
+
*
|
|
70
|
+
* Exported because both renderers state it and neither may re-derive it: deploy's refusal and
|
|
71
|
+
* validate's finding must name the SAME two forms the comparison actually used, or one of them is
|
|
72
|
+
* telling an author to look for a name that was never checked.
|
|
73
|
+
*/
|
|
74
|
+
export declare function checkedTickerForms(ticker: string): string[];
|
|
75
|
+
/**
|
|
76
|
+
* ONE refusal for the whole package, D-2 shape: every dead name, its literal value, its exact
|
|
77
|
+
* locations, and the mechanical fix — a reader repairs the whole universe in one pass. Both
|
|
78
|
+
* re-check routes are named, the runtime one first: the skills tool is what the author-side skill
|
|
79
|
+
* teaches, and `senpi validate` is what writes the proof deploy refuses a package without — so the
|
|
80
|
+
* loop "fix → re-check → deploy" never moves money until green, AND can actually close.
|
|
81
|
+
*
|
|
82
|
+
* Every "nothing was created" claim here is scoped to THIS RUN, deliberately. The gate fires before
|
|
83
|
+
* the first read of this package's live state, so on an adopt/resume run the package may already have
|
|
84
|
+
* a funded wallet and an installed runtime that this refusal cannot see — an absolute "no wallet was
|
|
85
|
+
* funded" would be false exactly there, and the move it invites (create and fund a second wallet
|
|
86
|
+
* beside the live one) is the expensive one. The gate may claim what it did, never what exists. Note
|
|
87
|
+
* the scoping has to stay precise in the other direction too: the gate DID read one live surface (the
|
|
88
|
+
* instrument list it quotes a count from), so it may not claim it read nothing live.
|
|
89
|
+
*/
|
|
90
|
+
export declare function buildUniverseNotLiveRefusal(dead: Map<string, TickerOccurrence[]>, pkg: DeployPackage, liveCount: number, budget?: number): string;
|
|
91
|
+
/**
|
|
92
|
+
* The fail-closed unavailability detail — deliberately CODE-LESS: a code marks a refusal, and
|
|
93
|
+
* this is a step that could not run. Unknown is never "not live": no instrument is named dead
|
|
94
|
+
* on a read that did not succeed, so the message must never look like E_UNIVERSE_NOT_LIVE.
|
|
95
|
+
*/
|
|
96
|
+
export declare function buildUniverseUnavailableDetail(reason: string, pkg: DeployPackage): string;
|
|
97
|
+
//# sourceMappingURL=package-universe.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-universe.d.ts","sourceRoot":"","sources":["../../src/universe/package-universe.ts"],"names":[],"mappings":"AA2CA,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAgC3E,qFAAqF;AACrF,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,iGAAiG;IACjG,IAAI,EAAE,MAAM,CAAC;IACb,qFAAqF;IACrF,OAAO,EAAE,MAAM,CAAC;CACjB;AAmCD,kGAAkG;AAClG,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,aAAa,GAAG,gBAAgB,EAAE,CAkB9E;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,WAAW,EAAE,gBAAgB,EAAE,EAC/B,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,GACxB,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAWjC;AAED,sGAAsG;AACtG,MAAM,WAAW,iBAAiB;IAChC,iGAAiG;IACjG,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAC1C;AAED,MAAM,MAAM,mBAAmB;AAC7B,uEAAuE;AACrE;IAAE,MAAM,EAAE,cAAc,CAAA;CAAE,GAC1B;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;AAC9E,8FAA8F;GAC5F;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,oBAAoB,CACxC,GAAG,EAAE,aAAa,EAClB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,mBAAmB,CAAC,CAqB9B;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,GAAG,IAAI,CAiBlF;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAE3D;AAuBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,EACrC,GAAG,EAAE,aAAa,EAClB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM,CAgBR;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,GAAG,MAAM,CAazF"}
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The live-universe instrument check (S-1, user rulings 2026-08-07: real invariants live outside
|
|
3
|
+
* skills). A hardcoded ticker that is not a live Hyperliquid instrument does not error at deploy:
|
|
4
|
+
* `market_get_asset_data` 500s, the scan skips the name, and the strategy silently trades
|
|
5
|
+
* nothing (the `xyz:NASDAQ` incident — the real index is `xyz:XYZ100`).
|
|
6
|
+
*
|
|
7
|
+
* It lives outside `deploy/` because it has TWO call sites and neither owns it: `senpi deploy`
|
|
8
|
+
* calls it pre-money (`runDeploy`), and `senpi validate` calls it at its LIVE depth
|
|
9
|
+
* (`validate/universe-stage.ts`), so an author learns a name is dead before funding rather than at
|
|
10
|
+
* the deploy refusal. Live, not static, because the verdict needs a live read and validate's
|
|
11
|
+
* offline depths do no I/O at all — and nothing is lost by waiting, since a proof requires a live
|
|
12
|
+
* run and deploy refuses a package with no proof. The two calls are not nested: deploy keeps its
|
|
13
|
+
* own because `strategy.yaml` is not in the proof fingerprint, so a `catalog.assets` edit is
|
|
14
|
+
* exactly the change a proof cannot see.
|
|
15
|
+
*
|
|
16
|
+
* TWO LAYERS, deliberately:
|
|
17
|
+
* - `checkPackageUniverse(pkg, deps)` is the REUSABLE contract: pure over an injected universe
|
|
18
|
+
* source, which it never lets throw (a failing source becomes the `unavailable` status), and its
|
|
19
|
+
* result carries every fact a renderer needs. Both consumers render FROM the result — they must
|
|
20
|
+
* not re-derive deadness, and the read-only one must not reuse the deploy builders below.
|
|
21
|
+
* - `buildUniverse*` are DEPLOY-path renderers: the money language ("Nothing was created",
|
|
22
|
+
* re-run commands) lives here, not in the result, so a read-only consumer never inherits it.
|
|
23
|
+
* Validate renders its own findings from the same result instead.
|
|
24
|
+
*
|
|
25
|
+
* The predicates are an exact port of skills' `validate_universe.py` (TICKER, KEY_HINT,
|
|
26
|
+
* NOT_TICKERS, the bare-name `xyz:` equivalence), for the same reason `instanceHasDslExit`
|
|
27
|
+
* mirrors `_pkg.Instance.has_dsl`: author-green must stay deploy-green. Extend either side only
|
|
28
|
+
* in lockstep with the other.
|
|
29
|
+
*
|
|
30
|
+
* SCOPE (deliberate): `strategy.yaml` `catalog.assets` plus each deploy INSTANCE's runtime.yaml
|
|
31
|
+
* `scanners[].inputs` — the set the verb installs. Dynamically-discovered tickers (derived
|
|
32
|
+
* universes) are out of scope by design: they are chosen at scan time from live data and cannot
|
|
33
|
+
* be dead-on-arrival the way a hardcoded name can.
|
|
34
|
+
*/
|
|
35
|
+
import { join } from "node:path";
|
|
36
|
+
import { parse as parseYaml } from "yaml";
|
|
37
|
+
import { errorText } from "../deploy/error-text.js";
|
|
38
|
+
import { resumeCommand } from "../deploy/funding.js";
|
|
39
|
+
import { PROOF_ROUTE_NOTE, recheckBlock, validateUniversePyCommand, } from "../deploy/recheck-commands.js";
|
|
40
|
+
import { readRuntimeYaml } from "../deploy/package.js";
|
|
41
|
+
/**
|
|
42
|
+
* Mirror of validate_universe.py TICKER: BTC, xyz:AAPL — uppercase, ≤12 chars, optional xyz: prefix.
|
|
43
|
+
* JS `$` never matches before a trailing newline (python's does, which is why the python side now
|
|
44
|
+
* anchors with `\Z`); the one tolerated newline is stripped by `collect` before this runs.
|
|
45
|
+
*/
|
|
46
|
+
const TICKER_RE = /^(xyz:)?[A-Z][A-Z0-9]{0,11}$/;
|
|
47
|
+
/** Mirror of KEY_HINT: only values under keys that suggest an asset list are ticker candidates. */
|
|
48
|
+
const KEY_HINT_RE = /(asset|universe|basket|coin|symbol|market|whitelist|sleeve|defensiv|equit|probe|allowed|watch|class|volume|metal|energ|indice|long|short)/i;
|
|
49
|
+
/** Mirror of NOT_TICKERS: uppercase enum-ish values that are never tickers. */
|
|
50
|
+
const NOT_TICKERS = new Set([
|
|
51
|
+
"WEEK",
|
|
52
|
+
"MONTH",
|
|
53
|
+
"DAY",
|
|
54
|
+
"ALL",
|
|
55
|
+
"ALL_TIME",
|
|
56
|
+
"LONG",
|
|
57
|
+
"SHORT",
|
|
58
|
+
"BUY",
|
|
59
|
+
"SELL",
|
|
60
|
+
"ASC",
|
|
61
|
+
"DESC",
|
|
62
|
+
"AND",
|
|
63
|
+
"OR",
|
|
64
|
+
"TRUE",
|
|
65
|
+
"FALSE",
|
|
66
|
+
"NONE",
|
|
67
|
+
"AUTO",
|
|
68
|
+
]);
|
|
69
|
+
/**
|
|
70
|
+
* Mirror of validate_universe.py `_collect`: walk the value, remembering the key path, and take a
|
|
71
|
+
* string that is ticker-shaped, is not an enum-ish non-ticker, and sits under a key whose LEAF name
|
|
72
|
+
* suggests an asset list. A list keeps its parent's key path (its elements are the asset names).
|
|
73
|
+
*
|
|
74
|
+
* TRAILING-NEWLINE RULE (both sides, in lockstep — change neither alone): a YAML block scalar
|
|
75
|
+
* (`- |`) clip-chomps to `"BTC\n"`, so exactly ONE trailing newline is tolerated and the ticker is
|
|
76
|
+
* collected TRIMMED; two or more (`- |+` with a blank line) are not a ticker at all and are ignored.
|
|
77
|
+
* This is a deliberate convergence, not a port of either original: python's `$` matched `"BTC\n"`
|
|
78
|
+
* and then compared the untrimmed string against the live names (a LIVE name reported NOT LIVE),
|
|
79
|
+
* while this side's `$` rejected it outright (a DEAD name written that way slipped past the money
|
|
80
|
+
* gate). `validate_universe.py` now anchors with `\Z` and trims the same single newline here.
|
|
81
|
+
*/
|
|
82
|
+
function collect(node, keyPath, file, out) {
|
|
83
|
+
if (Array.isArray(node)) {
|
|
84
|
+
for (const value of node)
|
|
85
|
+
collect(value, keyPath, file, out);
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
if (node !== null && typeof node === "object") {
|
|
89
|
+
for (const [key, value] of Object.entries(node)) {
|
|
90
|
+
collect(value, `${keyPath}.${key}`, file, out);
|
|
91
|
+
}
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
if (typeof node !== "string")
|
|
95
|
+
return;
|
|
96
|
+
const leaf = keyPath.split(".").pop() ?? keyPath;
|
|
97
|
+
// Exactly one trailing newline is stripped before every predicate — see the rule above.
|
|
98
|
+
const ticker = node.endsWith("\n") ? node.slice(0, -1) : node;
|
|
99
|
+
if (TICKER_RE.test(ticker) && !NOT_TICKERS.has(ticker) && KEY_HINT_RE.test(leaf)) {
|
|
100
|
+
out.push({ ticker, file, keyPath });
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
/** Every hardcoded ticker-shaped string in catalog.assets + each instance's scanners[].inputs. */
|
|
104
|
+
export function packageHardcodedTickers(pkg) {
|
|
105
|
+
const out = [];
|
|
106
|
+
collect(pkg.catalog["assets"], "catalog.assets", join(pkg.dir, "strategy.yaml"), out);
|
|
107
|
+
for (const inst of pkg.instances) {
|
|
108
|
+
const parsed = parseYaml(readRuntimeYaml(inst));
|
|
109
|
+
const scanners = Array.isArray(parsed?.scanners) ? parsed.scanners : [];
|
|
110
|
+
scanners.forEach((scanner, index) => {
|
|
111
|
+
if (scanner !== null && typeof scanner === "object" && !Array.isArray(scanner)) {
|
|
112
|
+
collect(scanner.inputs, `scanners[${index}].inputs`, inst.runtimeYamlPath, out);
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
return out;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Mirror of validate_universe.py `unknown_tickers`: scanners on the xyz DEX prefix bare names in
|
|
120
|
+
* code (`f"xyz:{token}"`), so a bare ticker is live if `T` OR `xyz:T` is; a prefixed one only as
|
|
121
|
+
* written. Returns ticker → every occurrence of it, so one refusal can name every place to edit.
|
|
122
|
+
*/
|
|
123
|
+
export function deadTickers(occurrences, live) {
|
|
124
|
+
const dead = new Map();
|
|
125
|
+
for (const occ of occurrences) {
|
|
126
|
+
const t = occ.ticker;
|
|
127
|
+
const isLive = live.has(t) || (!t.includes(":") && live.has(`xyz:${t}`));
|
|
128
|
+
if (isLive)
|
|
129
|
+
continue;
|
|
130
|
+
const rows = dead.get(t) ?? [];
|
|
131
|
+
rows.push(occ);
|
|
132
|
+
dead.set(t, rows);
|
|
133
|
+
}
|
|
134
|
+
return dead;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* The composed, reusable check: performs no I/O beyond the package's own YAML and the injected
|
|
138
|
+
* source, and returns a verdict any consumer can render. Deploy consumes it pre-money; validate
|
|
139
|
+
* consumes it read-only at its live depth.
|
|
140
|
+
*
|
|
141
|
+
* What it throws, exactly: **the injected source never throws out of here** — a rejecting or empty
|
|
142
|
+
* `listLiveInstruments` becomes `{ status: "unavailable" }`, which is the whole point of the
|
|
143
|
+
* status. Reading the package's own YAML is NOT wrapped: an instance `runtime.yaml` that has been
|
|
144
|
+
* deleted or made unparseable since the package loaded propagates its error. On the deploy path
|
|
145
|
+
* that cannot happen unobserved — `instancesWithoutDslExit` and `scannersDeclaringEnabled` parse
|
|
146
|
+
* the same files a few lines earlier in `runDeploy`, and `localStartRefusal` parses them at start —
|
|
147
|
+
* so the exposure belongs to the standalone consumer, and validate's call site CATCHES it: a
|
|
148
|
+
* package it could not read is reported as a check that did not run
|
|
149
|
+
* (`W_VALIDATE_UNIVERSE_UNCHECKED`), never as a clean one. That stayed a caller's concern rather
|
|
150
|
+
* than becoming a fifth status because it is NOT `unavailable` — "the live list could not be read"
|
|
151
|
+
* and "this package could not be read" are opposite facts — and deploy, which parses the same files
|
|
152
|
+
* first, has no branch that would ever reach it.
|
|
153
|
+
*/
|
|
154
|
+
export async function checkPackageUniverse(pkg, deps) {
|
|
155
|
+
const hardcoded = packageHardcodedTickers(pkg);
|
|
156
|
+
if (hardcoded.length === 0)
|
|
157
|
+
return { status: "no-hardcoded" };
|
|
158
|
+
let live;
|
|
159
|
+
try {
|
|
160
|
+
live = await deps.listLiveInstruments();
|
|
161
|
+
}
|
|
162
|
+
catch (err) {
|
|
163
|
+
return { status: "unavailable", reason: errorText(err) };
|
|
164
|
+
}
|
|
165
|
+
if (live.length === 0) {
|
|
166
|
+
// A real read always contains at least the majors: empty is an unreadable list wearing a
|
|
167
|
+
// different hat, and unknown is never "not live".
|
|
168
|
+
return { status: "unavailable", reason: "the response carried no instruments" };
|
|
169
|
+
}
|
|
170
|
+
const dead = deadTickers(hardcoded, new Set(live));
|
|
171
|
+
if (dead.size > 0)
|
|
172
|
+
return { status: "dead", dead, liveCount: live.length };
|
|
173
|
+
return {
|
|
174
|
+
status: "clean",
|
|
175
|
+
liveCount: live.length,
|
|
176
|
+
checked: new Set(hardcoded.map((o) => o.ticker)).size,
|
|
177
|
+
};
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* The verdict as one journal line — plain words, never the union's tag name (`dead`/`unavailable`
|
|
181
|
+
* are internal labels, and a narration line is read by people and relayed by agents). `null` for a
|
|
182
|
+
* package that hardcodes nothing: there is no forward claim to make about a check that never ran.
|
|
183
|
+
* Carries no money language, so a read-only consumer can render it too.
|
|
184
|
+
*/
|
|
185
|
+
export function describeUniverseVerdict(result) {
|
|
186
|
+
switch (result.status) {
|
|
187
|
+
case "no-hardcoded":
|
|
188
|
+
return null;
|
|
189
|
+
case "clean":
|
|
190
|
+
return (`checked ${result.checked} hardcoded instrument(s) against ${result.liveCount} live ` +
|
|
191
|
+
`Hyperliquid instruments — all live`);
|
|
192
|
+
case "dead":
|
|
193
|
+
return (`checked this package's hardcoded instruments against ${result.liveCount} live Hyperliquid ` +
|
|
194
|
+
`instruments — ${result.dead.size} not live`);
|
|
195
|
+
case "unavailable":
|
|
196
|
+
return `the live Hyperliquid instrument list could not be read (${result.reason})`;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* The live names a hardcoded ticker was compared against — the reader's half of {@link deadTickers}.
|
|
201
|
+
*
|
|
202
|
+
* Exported because both renderers state it and neither may re-derive it: deploy's refusal and
|
|
203
|
+
* validate's finding must name the SAME two forms the comparison actually used, or one of them is
|
|
204
|
+
* telling an author to look for a name that was never checked.
|
|
205
|
+
*/
|
|
206
|
+
export function checkedTickerForms(ticker) {
|
|
207
|
+
return ticker.includes(":") ? [ticker] : [ticker, `xyz:${ticker}`];
|
|
208
|
+
}
|
|
209
|
+
/** One offense as an instruction: the literal value, both checked forms, and every location. */
|
|
210
|
+
function describeDeadTicker(ticker, rows) {
|
|
211
|
+
const checked = checkedTickerForms(ticker).map((form) => `"${form}"`).join(" and ");
|
|
212
|
+
const where = rows.map((row) => `${row.file} (${row.keyPath})`).join("; ");
|
|
213
|
+
return `"${ticker}" — no live instrument matches ${checked}. Appears in: ${where}`;
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Every instance directory of a package — the `senpi validate` targets a package-wide refusal has
|
|
217
|
+
* to offer. (`recheckBlock` de-duplicates them; two instances may legally share a directory.)
|
|
218
|
+
*
|
|
219
|
+
* The whole package, not the instances the dead names happen to sit in, and for two reasons that
|
|
220
|
+
* point the same way: a `catalog.assets` offence lives in `strategy.yaml` and belongs to every
|
|
221
|
+
* sleeve, and deploy needs EVERY instance proven before it will proceed. Validate's universe check
|
|
222
|
+
* is package-wide from any one of these, so the list is never wrong — only broader than the
|
|
223
|
+
* narrowest possible answer, which is the safe direction here.
|
|
224
|
+
*/
|
|
225
|
+
function instanceDirs(pkg) {
|
|
226
|
+
return pkg.instances.map((inst) => inst.runtimeYamlDir);
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* ONE refusal for the whole package, D-2 shape: every dead name, its literal value, its exact
|
|
230
|
+
* locations, and the mechanical fix — a reader repairs the whole universe in one pass. Both
|
|
231
|
+
* re-check routes are named, the runtime one first: the skills tool is what the author-side skill
|
|
232
|
+
* teaches, and `senpi validate` is what writes the proof deploy refuses a package without — so the
|
|
233
|
+
* loop "fix → re-check → deploy" never moves money until green, AND can actually close.
|
|
234
|
+
*
|
|
235
|
+
* Every "nothing was created" claim here is scoped to THIS RUN, deliberately. The gate fires before
|
|
236
|
+
* the first read of this package's live state, so on an adopt/resume run the package may already have
|
|
237
|
+
* a funded wallet and an installed runtime that this refusal cannot see — an absolute "no wallet was
|
|
238
|
+
* funded" would be false exactly there, and the move it invites (create and fund a second wallet
|
|
239
|
+
* beside the live one) is the expensive one. The gate may claim what it did, never what exists. Note
|
|
240
|
+
* the scoping has to stay precise in the other direction too: the gate DID read one live surface (the
|
|
241
|
+
* instrument list it quotes a count from), so it may not claim it read nothing live.
|
|
242
|
+
*/
|
|
243
|
+
export function buildUniverseNotLiveRefusal(dead, pkg, liveCount, budget) {
|
|
244
|
+
return (`[E_UNIVERSE_NOT_LIVE] ${dead.size} hardcoded instrument(s) in this package are not live on ` +
|
|
245
|
+
`Hyperliquid (checked against ${liveCount} live instruments just now). Nothing was created by ` +
|
|
246
|
+
`this run — reading that instrument list is all it did, and it stopped before touching or even ` +
|
|
247
|
+
`reading this package's own live state, so no wallet was funded and nothing was installed BY ` +
|
|
248
|
+
`IT, and whatever this package already had is untouched (this gate cannot see it). A dead name ` +
|
|
249
|
+
`does not error at runtime: the ` +
|
|
250
|
+
`scan skips it and the strategy silently trades nothing. Fix — replace or remove each name:\n` +
|
|
251
|
+
[...dead.entries()].map(([t, rows]) => ` - ${describeDeadTicker(t, rows)}`).join("\n") +
|
|
252
|
+
`\nEdit the package universe (the senpi-strategy-author edit path), then re-check read-only ` +
|
|
253
|
+
`with either route:\n` +
|
|
254
|
+
`${recheckBlock(instanceDirs(pkg), validateUniversePyCommand(pkg.dir))}\n` +
|
|
255
|
+
`${PROOF_ROUTE_NOTE} Then re-run: ` +
|
|
256
|
+
resumeCommand(pkg.dir, budget));
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* The fail-closed unavailability detail — deliberately CODE-LESS: a code marks a refusal, and
|
|
260
|
+
* this is a step that could not run. Unknown is never "not live": no instrument is named dead
|
|
261
|
+
* on a read that did not succeed, so the message must never look like E_UNIVERSE_NOT_LIVE.
|
|
262
|
+
*/
|
|
263
|
+
export function buildUniverseUnavailableDetail(reason, pkg) {
|
|
264
|
+
return (`universe check failed: the live Hyperliquid instrument list could not be read (${reason}). ` +
|
|
265
|
+
`No instrument was declared dead — an unreadable list proves nothing about this package. ` +
|
|
266
|
+
`Nothing was created by this run, and nothing this package already had was touched. ` +
|
|
267
|
+
`Re-run once the MCP server is reachable; to check the package without deploying, take either ` +
|
|
268
|
+
`route:\n` +
|
|
269
|
+
// Both routes read the same instrument list, so both wait on the same server coming back. The
|
|
270
|
+
// runtime one is still worth naming first: it checks everything else about the package too, and
|
|
271
|
+
// it is the only route that records the proof this deploy will ask for next time.
|
|
272
|
+
`${recheckBlock(instanceDirs(pkg), validateUniversePyCommand(pkg.dir))}\n` +
|
|
273
|
+
PROOF_ROUTE_NOTE);
|
|
274
|
+
}
|
|
275
|
+
//# sourceMappingURL=package-universe.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-universe.js","sourceRoot":"","sources":["../../src/universe/package-universe.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,yBAAyB,GAC1B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,eAAe,EAAsB,MAAM,sBAAsB,CAAC;AAE3E;;;;GAIG;AACH,MAAM,SAAS,GAAG,8BAA8B,CAAC;AACjD,mGAAmG;AACnG,MAAM,WAAW,GACf,4IAA4I,CAAC;AAC/I,+EAA+E;AAC/E,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IAC1B,MAAM;IACN,OAAO;IACP,KAAK;IACL,KAAK;IACL,UAAU;IACV,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;IACN,KAAK;IACL,MAAM;IACN,KAAK;IACL,IAAI;IACJ,MAAM;IACN,OAAO;IACP,MAAM;IACN,MAAM;CACP,CAAC,CAAC;AAWH;;;;;;;;;;;;GAYG;AACH,SAAS,OAAO,CAAC,IAAa,EAAE,OAAe,EAAE,IAAY,EAAE,GAAuB;IACpF,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,KAAK,MAAM,KAAK,IAAI,IAAI;YAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAC7D,OAAO;IACT,CAAC;IACD,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAA+B,CAAC,EAAE,CAAC;YAC3E,OAAO,CAAC,KAAK,EAAE,GAAG,OAAO,IAAI,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QACjD,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO;IACrC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,OAAO,CAAC;IACjD,wFAAwF;IACxF,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9D,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACjF,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACtC,CAAC;AACH,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,uBAAuB,CAAC,GAAkB;IACxD,MAAM,GAAG,GAAuB,EAAE,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,EAAE,GAAG,CAAC,CAAC;IACtF,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,CAAmC,CAAC;QAClF,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAE,MAAM,CAAC,QAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;QACvF,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;YAClC,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/E,OAAO,CACJ,OAAmC,CAAC,MAAM,EAC3C,YAAY,KAAK,UAAU,EAC3B,IAAI,CAAC,eAAe,EACpB,GAAG,CACJ,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CACzB,WAA+B,EAC/B,IAAyB;IAEzB,MAAM,IAAI,GAAG,IAAI,GAAG,EAA8B,CAAC;IACnD,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QACzE,IAAI,MAAM;YAAE,SAAS;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAgBD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,GAAkB,EAClB,IAAuB;IAEvB,MAAM,SAAS,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAC9D,IAAI,IAAc,CAAC;IACnB,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC1C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;IAC3D,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,yFAAyF;QACzF,kDAAkD;QAClD,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,qCAAqC,EAAE,CAAC;IAClF,CAAC;IACD,MAAM,IAAI,GAAG,WAAW,CAAC,SAAS,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACnD,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IAC3E,OAAO;QACL,MAAM,EAAE,OAAO;QACf,SAAS,EAAE,IAAI,CAAC,MAAM;QACtB,OAAO,EAAE,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;KACtD,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAA2B;IACjE,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;QACtB,KAAK,cAAc;YACjB,OAAO,IAAI,CAAC;QACd,KAAK,OAAO;YACV,OAAO,CACL,WAAW,MAAM,CAAC,OAAO,oCAAoC,MAAM,CAAC,SAAS,QAAQ;gBACrF,oCAAoC,CACrC,CAAC;QACJ,KAAK,MAAM;YACT,OAAO,CACL,wDAAwD,MAAM,CAAC,SAAS,oBAAoB;gBAC5F,iBAAiB,MAAM,CAAC,IAAI,CAAC,IAAI,WAAW,CAC7C,CAAC;QACJ,KAAK,aAAa;YAChB,OAAO,2DAA2D,MAAM,CAAC,MAAM,GAAG,CAAC;IACvF,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,MAAM,EAAE,CAAC,CAAC;AACrE,CAAC;AAED,gGAAgG;AAChG,SAAS,kBAAkB,CAAC,MAAc,EAAE,IAAwB;IAClE,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3E,OAAO,IAAI,MAAM,kCAAkC,OAAO,iBAAiB,KAAK,EAAE,CAAC;AACrF,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,YAAY,CAAC,GAAkB;IACtC,OAAO,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,2BAA2B,CACzC,IAAqC,EACrC,GAAkB,EAClB,SAAiB,EACjB,MAAe;IAEf,OAAO,CACL,yBAAyB,IAAI,CAAC,IAAI,2DAA2D;QAC7F,gCAAgC,SAAS,sDAAsD;QAC/F,gGAAgG;QAChG,8FAA8F;QAC9F,gGAAgG;QAChG,iCAAiC;QACjC,8FAA8F;QAC9F,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,OAAO,kBAAkB,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACvF,6FAA6F;QAC7F,sBAAsB;QACtB,GAAG,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,yBAAyB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI;QAC1E,GAAG,gBAAgB,gBAAgB;QACnC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAC/B,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAAC,MAAc,EAAE,GAAkB;IAC/E,OAAO,CACL,kFAAkF,MAAM,KAAK;QAC7F,0FAA0F;QAC1F,qFAAqF;QACrF,+FAA+F;QAC/F,UAAU;QACV,8FAA8F;QAC9F,gGAAgG;QAChG,kFAAkF;QAClF,GAAG,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,yBAAyB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI;QAC1E,gBAAgB,CACjB,CAAC;AACJ,CAAC"}
|