@senpi/runtime 3.0.59 → 3.0.63
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/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/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 +244 -8
- 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/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-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/scanners/implementations/market-regime.d.ts +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/metrics.d.ts +23 -0
- package/dist/telemetry/metrics.d.ts.map +1 -1
- package/dist/telemetry/metrics.js +65 -0
- package/dist/telemetry/metrics.js.map +1 -1
- 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/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
|
@@ -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":"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"}
|
package/dist/validate/codes.d.ts
CHANGED
|
@@ -34,6 +34,8 @@ export declare const VALIDATE_CODE: {
|
|
|
34
34
|
readonly noRecipe: "E_VALIDATE_NO_RECIPE";
|
|
35
35
|
/** More than one recipe candidate and no conventional name to break the tie. */
|
|
36
36
|
readonly ambiguousRecipe: "E_VALIDATE_AMBIGUOUS_RECIPE";
|
|
37
|
+
/** A `strategy.yaml` is present and will not load, so which recipe it means is unknown. */
|
|
38
|
+
readonly unreadableManifest: "E_VALIDATE_UNREADABLE_MANIFEST";
|
|
37
39
|
/** A depth that needs a recipe was requested against a target that has none. */
|
|
38
40
|
readonly needsRecipe: "E_VALIDATE_NEEDS_RECIPE";
|
|
39
41
|
/** Inline recipe content with no directory to resolve a relative scanner path against. */
|
|
@@ -98,6 +100,24 @@ export declare const VALIDATE_CODE: {
|
|
|
98
100
|
readonly unknownMcpTool: "E_VALIDATE_UNKNOWN_MCP_TOOL";
|
|
99
101
|
/** A hardcoded instrument that is not tradeable. */
|
|
100
102
|
readonly unknownTicker: "E_VALIDATE_UNKNOWN_TICKER";
|
|
103
|
+
/**
|
|
104
|
+
* A hardcoded instrument in the package that is not live on the exchange. Deploy's pre-money
|
|
105
|
+
* check, run here too — it needs one live read, which is why it belongs to this depth.
|
|
106
|
+
*/
|
|
107
|
+
readonly universeNotLive: "E_VALIDATE_UNIVERSE_NOT_LIVE";
|
|
108
|
+
/**
|
|
109
|
+
* That check could not run because the PACKAGE would not read — the manifest, or an instance
|
|
110
|
+
* recipe. Reported rather than passed over: a green verdict covering a check that never ran is
|
|
111
|
+
* the failure this command exists to correct. A warning, not an error, because it is ignorance
|
|
112
|
+
* about the package rather than evidence of a dead name.
|
|
113
|
+
*/
|
|
114
|
+
readonly universeUnchecked: "W_VALIDATE_UNIVERSE_UNCHECKED";
|
|
115
|
+
/**
|
|
116
|
+
* That check could not run because the LIVE INSTRUMENT LIST would not read. A separate code from
|
|
117
|
+
* the one above because the actor differs: an unreadable list is an environment fault, and an
|
|
118
|
+
* agent that answers it by editing the package will loop.
|
|
119
|
+
*/
|
|
120
|
+
readonly universeUnavailable: "W_VALIDATE_UNIVERSE_UNAVAILABLE";
|
|
101
121
|
/** An emitted signal the runtime would reject on arrival. */
|
|
102
122
|
readonly signalRejected: "E_VALIDATE_SIGNAL_REJECTED";
|
|
103
123
|
/** Credentials absent or partially configured. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codes.d.ts","sourceRoot":"","sources":["../../src/validate/codes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE5E;;;;;GAKG;AACH,eAAO,MAAM,aAAa;IAExB,sCAAsC;;IAEtC,4FAA4F;;IAE5F,gFAAgF;;IAEhF,gFAAgF;;IAEhF,0FAA0F;;IAE1F,+DAA+D;;IAE/D,+CAA+C;;IAI/C,mCAAmC;;IAEnC,iDAAiD;;IAEjD,mEAAmE;;IAEnE,+CAA+C;;IAE/C,kEAAkE;;IAElE,sDAAsD;;IAEtD,+FAA+F;;IAE/F,+CAA+C;;IAE/C,sDAAsD;;IAEtD,uEAAuE;;IAEvE,2FAA2F;;IAE3F,4DAA4D;;IAI5D,2FAA2F;;IAE3F,4CAA4C;;IAE5C,yDAAyD;;IAEzD,mDAAmD;;IAEnD,kEAAkE;;IAElE,6FAA6F;;IAE7F,mFAAmF;;IAEnF,+FAA+F;;IAI/F,uBAAuB;;IAEvB,4DAA4D;;IAE5D,gFAAgF;;IAEhF,kGAAkG;;IAElG,wDAAwD;;IAExD,qEAAqE;;IAErE,6FAA6F;;IAE7F,oDAAoD;;IAEpD,6DAA6D;;IAE7D,kDAAkD;;IAElD,sDAAsD;;IAEtD,kFAAkF;;IAElF,uDAAuD;;IAEvD,4FAA4F;;IAE5F,4FAA4F;;IAE5F,gDAAgD;;IAEhD,sFAAsF;;IAEtF,8FAA8F;;IAE9F,sFAAsF;;IAEtF,0EAA0E;;IAE1E,mFAAmF;;IAEnF,4FAA4F;;IAI5F,kDAAkD;;IAElD,qEAAqE;;IAErE,0FAA0F;;IAE1F,uFAAuF;;CAE/E,CAAC;AAEX,gDAAgD;AAChD,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAE9E,8FAA8F;AAC9F,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,eAAe,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,mGAAmG;IACnG,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,YAAY,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"codes.d.ts","sourceRoot":"","sources":["../../src/validate/codes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE5E;;;;;GAKG;AACH,eAAO,MAAM,aAAa;IAExB,sCAAsC;;IAEtC,4FAA4F;;IAE5F,gFAAgF;;IAEhF,2FAA2F;;IAE3F,gFAAgF;;IAEhF,0FAA0F;;IAE1F,+DAA+D;;IAE/D,+CAA+C;;IAI/C,mCAAmC;;IAEnC,iDAAiD;;IAEjD,mEAAmE;;IAEnE,+CAA+C;;IAE/C,kEAAkE;;IAElE,sDAAsD;;IAEtD,+FAA+F;;IAE/F,+CAA+C;;IAE/C,sDAAsD;;IAEtD,uEAAuE;;IAEvE,2FAA2F;;IAE3F,4DAA4D;;IAI5D,2FAA2F;;IAE3F,4CAA4C;;IAE5C,yDAAyD;;IAEzD,mDAAmD;;IAEnD,kEAAkE;;IAElE,6FAA6F;;IAE7F,mFAAmF;;IAEnF,+FAA+F;;IAI/F,uBAAuB;;IAEvB,4DAA4D;;IAE5D,gFAAgF;;IAEhF,kGAAkG;;IAElG,wDAAwD;;IAExD,qEAAqE;;IAErE,6FAA6F;;IAE7F,oDAAoD;;IAEpD;;;OAGG;;IAEH;;;;;OAKG;;IAEH;;;;OAIG;;IAEH,6DAA6D;;IAE7D,kDAAkD;;IAElD,sDAAsD;;IAEtD,kFAAkF;;IAElF,uDAAuD;;IAEvD,4FAA4F;;IAE5F,4FAA4F;;IAE5F,gDAAgD;;IAEhD,sFAAsF;;IAEtF,8FAA8F;;IAE9F,sFAAsF;;IAEtF,0EAA0E;;IAE1E,mFAAmF;;IAEnF,4FAA4F;;IAI5F,kDAAkD;;IAElD,qEAAqE;;IAErE,0FAA0F;;IAE1F,uFAAuF;;CAE/E,CAAC;AAEX,gDAAgD;AAChD,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;AAE9E,8FAA8F;AAC9F,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,eAAe,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,mGAAmG;IACnG,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,YAAY,EAAE,gBAAgB,CA8OrE,CAAC;AAEF,wCAAwC;AACxC,eAAO,MAAM,kBAAkB,EAAE,SAAS,YAAY,EAEnC,CAAC;AAEpB;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,QAAQ,CAEvD;AAED,qGAAqG;AACrG,wBAAgB,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,YAAY,EAAE,CAEpE"}
|
package/dist/validate/codes.js
CHANGED
|
@@ -34,6 +34,8 @@ export const VALIDATE_CODE = {
|
|
|
34
34
|
noRecipe: "E_VALIDATE_NO_RECIPE",
|
|
35
35
|
/** More than one recipe candidate and no conventional name to break the tie. */
|
|
36
36
|
ambiguousRecipe: "E_VALIDATE_AMBIGUOUS_RECIPE",
|
|
37
|
+
/** A `strategy.yaml` is present and will not load, so which recipe it means is unknown. */
|
|
38
|
+
unreadableManifest: "E_VALIDATE_UNREADABLE_MANIFEST",
|
|
37
39
|
/** A depth that needs a recipe was requested against a target that has none. */
|
|
38
40
|
needsRecipe: "E_VALIDATE_NEEDS_RECIPE",
|
|
39
41
|
/** Inline recipe content with no directory to resolve a relative scanner path against. */
|
|
@@ -101,6 +103,24 @@ export const VALIDATE_CODE = {
|
|
|
101
103
|
unknownMcpTool: "E_VALIDATE_UNKNOWN_MCP_TOOL",
|
|
102
104
|
/** A hardcoded instrument that is not tradeable. */
|
|
103
105
|
unknownTicker: "E_VALIDATE_UNKNOWN_TICKER",
|
|
106
|
+
/**
|
|
107
|
+
* A hardcoded instrument in the package that is not live on the exchange. Deploy's pre-money
|
|
108
|
+
* check, run here too — it needs one live read, which is why it belongs to this depth.
|
|
109
|
+
*/
|
|
110
|
+
universeNotLive: "E_VALIDATE_UNIVERSE_NOT_LIVE",
|
|
111
|
+
/**
|
|
112
|
+
* That check could not run because the PACKAGE would not read — the manifest, or an instance
|
|
113
|
+
* recipe. Reported rather than passed over: a green verdict covering a check that never ran is
|
|
114
|
+
* the failure this command exists to correct. A warning, not an error, because it is ignorance
|
|
115
|
+
* about the package rather than evidence of a dead name.
|
|
116
|
+
*/
|
|
117
|
+
universeUnchecked: "W_VALIDATE_UNIVERSE_UNCHECKED",
|
|
118
|
+
/**
|
|
119
|
+
* That check could not run because the LIVE INSTRUMENT LIST would not read. A separate code from
|
|
120
|
+
* the one above because the actor differs: an unreadable list is an environment fault, and an
|
|
121
|
+
* agent that answers it by editing the package will loop.
|
|
122
|
+
*/
|
|
123
|
+
universeUnavailable: "W_VALIDATE_UNIVERSE_UNAVAILABLE",
|
|
104
124
|
/** An emitted signal the runtime would reject on arrival. */
|
|
105
125
|
signalRejected: "E_VALIDATE_SIGNAL_REJECTED",
|
|
106
126
|
/** Credentials absent or partially configured. */
|
|
@@ -159,6 +179,10 @@ export const VALIDATE_CODE_META = {
|
|
|
159
179
|
stage: "invocation", actor: "agent", fix_kind: "choice",
|
|
160
180
|
condition: "Several recipe candidates and no conventional name to break the tie.",
|
|
161
181
|
},
|
|
182
|
+
[VALIDATE_CODE.unreadableManifest]: {
|
|
183
|
+
stage: "invocation", actor: "agent", fix_kind: "edit",
|
|
184
|
+
condition: "A strategy.yaml is present but does not load, so which recipe it names is unknown.",
|
|
185
|
+
},
|
|
162
186
|
[VALIDATE_CODE.needsRecipe]: {
|
|
163
187
|
stage: "invocation", actor: "agent", fix_kind: "command",
|
|
164
188
|
condition: "A depth requiring a recipe was requested against a target that has none.",
|
|
@@ -290,6 +314,18 @@ export const VALIDATE_CODE_META = {
|
|
|
290
314
|
stage: "live", actor: "agent", fix_kind: "lookup",
|
|
291
315
|
condition: "A hardcoded instrument is not tradeable.",
|
|
292
316
|
},
|
|
317
|
+
[VALIDATE_CODE.universeNotLive]: {
|
|
318
|
+
stage: "live", actor: "agent", fix_kind: "edit",
|
|
319
|
+
condition: "A hardcoded instrument in the package is not live on the exchange.",
|
|
320
|
+
},
|
|
321
|
+
[VALIDATE_CODE.universeUnchecked]: {
|
|
322
|
+
stage: "live", actor: "agent", fix_kind: "edit",
|
|
323
|
+
condition: "The universe check could not run because the package itself would not read.",
|
|
324
|
+
},
|
|
325
|
+
[VALIDATE_CODE.universeUnavailable]: {
|
|
326
|
+
stage: "live", actor: "ops", fix_kind: "command",
|
|
327
|
+
condition: "The universe check could not run because the live instrument list would not read.",
|
|
328
|
+
},
|
|
293
329
|
[VALIDATE_CODE.signalRejected]: {
|
|
294
330
|
stage: "live", actor: "agent", fix_kind: "edit",
|
|
295
331
|
condition: "An emitted signal would be rejected by the runtime on arrival.",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codes.js","sourceRoot":"","sources":["../../src/validate/codes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"codes.js","sourceRoot":"","sources":["../../src/validate/codes.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,11 +13,11 @@
|
|
|
13
13
|
* clean. Production spawns a process per scanner for the same reason, so this matches it.
|
|
14
14
|
*/
|
|
15
15
|
// Via the repo's wrapper, never the stdlib module directly: OpenClaw's install gate
|
|
16
|
-
// blocks any plugin file matching BOTH a spawn-like call AND the literal module name,
|
|
17
|
-
//
|
|
18
|
-
//
|
|
19
|
-
//
|
|
20
|
-
// --dangerously-force-unsafe-install
|
|
16
|
+
// blocks any plugin file matching BOTH a spawn-like call AND the literal module name, and
|
|
17
|
+
// `safe-spawn` exists to keep those bytes out of the file. Importing directly here
|
|
18
|
+
// made `openclaw plugins install` refuse the whole plugin — caught installing on the dev
|
|
19
|
+
// agent, and it would have refused the released build the same way, since the wrapper's
|
|
20
|
+
// bootstrap deliberately does not pass --dangerously-force-unsafe-install.
|
|
21
21
|
import { spawn } from "../utils/safe-spawn.js";
|
|
22
22
|
import { isAbsolute, resolve } from "node:path";
|
|
23
23
|
import { fileURLToPath } from "node:url";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-stage.js","sourceRoot":"","sources":["../../src/validate/import-stage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,oFAAoF;AACpF,
|
|
1
|
+
{"version":3,"file":"import-stage.js","sourceRoot":"","sources":["../../src/validate/import-stage.ts"],"names":[],"mappings":"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"}
|
package/dist/validate/index.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export { ALL_VALIDATE_CODES, VALIDATE_CODE, VALIDATE_CODE_META, codesForStage, s
|
|
|
11
11
|
export { findUncoveredCodes, findUnknownCodes, type CoverageOptions } from "./coverage.js";
|
|
12
12
|
export { findLlmActionsWithoutModel, findMarginPctFraction, findMissingEntrypoints, findUngatedStrategy, findUnsizedStrategy, } from "./recipe-checks.js";
|
|
13
13
|
export { collectRecipeFindings, type RecipeSource, type RecipeValidation, } from "./recipe.js";
|
|
14
|
-
export { isImplemented, runValidation, type ExitCode, type ValidateOptions, type ValidateResult, type Verdict, type VerdictBasis, } from "./run.js";
|
|
14
|
+
export { isImplemented, runValidation, type ExitCode, type ValidateDeps, type ValidateOptions, type ValidateResult, type Verdict, type VerdictBasis, } from "./run.js";
|
|
15
15
|
export { renderFinding, renderHuman, renderJson } from "./report.js";
|
|
16
16
|
/**
|
|
17
17
|
* What the runtime refuses to install. Wired into `senpi.installRuntime`; the boot loop
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validate/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY,EACV,KAAK,EACL,KAAK,EACL,OAAO,EACP,eAAe,EACf,OAAO,EACP,QAAQ,EACR,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAErD,OAAO,EACL,aAAa,EACb,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,gBAAgB,GACtB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,UAAU,EACV,KAAK,YAAY,EACjB,KAAK,gBAAgB,GACtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAE3F,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,qBAAqB,EACrB,KAAK,YAAY,EACjB,KAAK,gBAAgB,GACtB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,aAAa,EACb,aAAa,EACb,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,OAAO,EACZ,KAAK,YAAY,GAClB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAErE;;;GAGG;AACH,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAErG;;;;GAIG;AACH,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,YAAY,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,UAAU,EACV,KAAK,aAAa,GACnB,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validate/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,YAAY,EACV,KAAK,EACL,KAAK,EACL,OAAO,EACP,eAAe,EACf,OAAO,EACP,QAAQ,EACR,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAErD,OAAO,EACL,aAAa,EACb,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,gBAAgB,GACtB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,UAAU,EACV,KAAK,YAAY,EACjB,KAAK,gBAAgB,GACtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAE3F,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,qBAAqB,EACrB,KAAK,YAAY,EACjB,KAAK,gBAAgB,GACtB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,aAAa,EACb,aAAa,EACb,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,OAAO,EACZ,KAAK,YAAY,GAClB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAErE;;;GAGG;AACH,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAErG;;;;GAIG;AACH,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,UAAU,EACV,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,YAAY,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,UAAU,EACV,KAAK,aAAa,GACnB,MAAM,mBAAmB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validate/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAErD,OAAO,EACL,aAAa,GAKd,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,UAAU,GAGX,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAwB,MAAM,eAAe,CAAC;AAE3F,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,qBAAqB,GAGtB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,aAAa,EACb,aAAa,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validate/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAYH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAErD,OAAO,EACL,aAAa,GAKd,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,UAAU,GAGX,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAwB,MAAM,eAAe,CAAC;AAE3F,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,qBAAqB,GAGtB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,aAAa,EACb,aAAa,GAOd,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAErE;;;GAGG;AACH,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAA0B,MAAM,mBAAmB,CAAC;AAErG;;;;GAIG;AACH,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,UAAU,GAMX,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,UAAU,GAEX,MAAM,mBAAmB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-gate.d.ts","sourceRoot":"","sources":["../../src/validate/install-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAgB1C,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,OAAO,CAAC;IACZ,mEAAmE;IACnE,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,oFAAoF;IACpF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;
|
|
1
|
+
{"version":3,"file":"install-gate.d.ts","sourceRoot":"","sources":["../../src/validate/install-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAgB1C,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,OAAO,CAAC;IACZ,mEAAmE;IACnE,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,oFAAoF;IACpF,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAwBD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,iBAAiB,CAKvE;AAED,2FAA2F;AAC3F,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EAAkB,CAAC"}
|
|
@@ -43,11 +43,19 @@ const BLOCKING = new Set([
|
|
|
43
43
|
*
|
|
44
44
|
* The gateway's error string is often the only thing an operator or agent ever reads, so it
|
|
45
45
|
* carries the same what/why/fix the findings do rather than a count and a pointer to logs.
|
|
46
|
+
*
|
|
47
|
+
* Two things ride in front of and behind that, and both are conventions of this codebase rather
|
|
48
|
+
* than decoration. It LEADS with the first blocking code in brackets, because every other refusal
|
|
49
|
+
* on this boundary does and the taught surfaces tell agents to branch on that prefix
|
|
50
|
+
* (`deploy/taxonomy.ts` is its one reader). And it STATES that nothing was installed: a caller told
|
|
51
|
+
* only that a recipe "cannot be installed" still has to guess whether a partial install is sitting
|
|
52
|
+
* on the box to clean up, and guessing wrong in either direction costs more than the sentence.
|
|
46
53
|
*/
|
|
47
54
|
function render(blocking) {
|
|
48
55
|
const lines = blocking.map((f) => ` • ${f.what}\n why: ${f.why}\n fix: ${f.fix}`);
|
|
49
|
-
return (`This recipe cannot be installed — it would not trade.\n\n
|
|
50
|
-
`
|
|
56
|
+
return (`[${blocking[0].code}] This recipe cannot be installed — it would not trade.\n\n` +
|
|
57
|
+
`${lines.join("\n\n")}\n\n` +
|
|
58
|
+
`Nothing was installed. Run \`openclaw senpi validate\` on the package for the full report.`);
|
|
51
59
|
}
|
|
52
60
|
/**
|
|
53
61
|
* Decide whether a parsed recipe may be installed.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-gate.js","sourceRoot":"","sources":["../../src/validate/install-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG3C;;;;;;GAMG;AACH,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAS;IAC/B,aAAa,CAAC,OAAO;IACrB,aAAa,CAAC,OAAO;IACrB,aAAa,CAAC,iBAAiB;IAC/B,aAAa,CAAC,uBAAuB;CACtC,CAAC,CAAC;AAUH
|
|
1
|
+
{"version":3,"file":"install-gate.js","sourceRoot":"","sources":["../../src/validate/install-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAG3C;;;;;;GAMG;AACH,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAS;IAC/B,aAAa,CAAC,OAAO;IACrB,aAAa,CAAC,OAAO;IACrB,aAAa,CAAC,iBAAiB;IAC/B,aAAa,CAAC,uBAAuB;CACtC,CAAC,CAAC;AAUH;;;;;;;;;;;;GAYG;AACH,SAAS,MAAM,CAAC,QAAmB;IACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACzF,OAAO,CACL,IAAI,QAAQ,CAAC,CAAC,CAAE,CAAC,IAAI,6DAA6D;QAClF,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;QAC3B,4FAA4F,CAC7F,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAmB;IAClD,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;IACxF,OAAO,QAAQ,CAAC,MAAM,KAAK,CAAC;QAC1B,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC5B,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;AACzD,CAAC;AAED,2FAA2F;AAC3F,MAAM,CAAC,MAAM,sBAAsB,GAAsB,CAAC,GAAG,QAAQ,CAAC,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where `senpi validate` gets the exchange's live instrument list.
|
|
3
|
+
*
|
|
4
|
+
* The universe check is injected with a source rather than building one, so that the check stays
|
|
5
|
+
* testable and a programmatic caller can supply its own. This is the CLI's implementation of that
|
|
6
|
+
* source — the counterpart of `deploy/register.ts`'s `listLiveInstruments: () =>
|
|
7
|
+
* client.listInstrumentNames(callDeadline())`, which does the same thing on the money path.
|
|
8
|
+
*
|
|
9
|
+
* ## It is LAZY, and that is what keeps the offline depths offline
|
|
10
|
+
*
|
|
11
|
+
* Nothing is constructed and nothing is dialled until `listLiveInstruments()` is actually called,
|
|
12
|
+
* and the only caller is the live depth. So `--stage static` and `--stage import` reach no network
|
|
13
|
+
* even though the command always hands the source over — the property holds by construction rather
|
|
14
|
+
* than by a flag someone has to remember to set.
|
|
15
|
+
*
|
|
16
|
+
* ## It THROWS rather than returning nothing
|
|
17
|
+
*
|
|
18
|
+
* When credentials are absent, or the client cannot be reached, this raises with the reason.
|
|
19
|
+
* `checkPackageUniverse` turns a raising source into `{ status: "unavailable" }`, which validate
|
|
20
|
+
* renders as `W_VALIDATE_UNIVERSE_UNAVAILABLE` — "the check did not run, and here is why". The
|
|
21
|
+
* alternative — the command quietly declining to supply a source when the environment looks
|
|
22
|
+
* unpromising — is the dormancy this wiring exists to remove: a run that passes having never made
|
|
23
|
+
* the check it appears to make. Returning `[]` would be worse still: an empty list is defined
|
|
24
|
+
* upstream as "could not read", but nothing here should rely on a caller remembering that.
|
|
25
|
+
*/
|
|
26
|
+
import { SenpiClient } from "../senpi/client.js";
|
|
27
|
+
import type { ValidateDeps } from "./universe-stage.js";
|
|
28
|
+
export interface LiveInstrumentSource {
|
|
29
|
+
deps: ValidateDeps;
|
|
30
|
+
/** Releases the connection, if one was ever opened. Never throws; safe to call unconditionally. */
|
|
31
|
+
close(): Promise<void>;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* The CLI's live-instrument source. Opens nothing until asked.
|
|
35
|
+
*
|
|
36
|
+
* `env` and `connect` are injected for the tests — the credential rule and the laziness are the
|
|
37
|
+
* behaviour worth pinning, and neither should need a reachable MCP server to check.
|
|
38
|
+
*/
|
|
39
|
+
export declare function createLiveInstrumentSource(options?: {
|
|
40
|
+
env?: NodeJS.ProcessEnv;
|
|
41
|
+
/** Builds the client. Defaults to a real self-managed `SenpiClient`. */
|
|
42
|
+
createClient?: () => Pick<SenpiClient, "listInstrumentNames" | "disconnect">;
|
|
43
|
+
}): LiveInstrumentSource;
|
|
44
|
+
//# sourceMappingURL=live-instruments.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"live-instruments.d.ts","sourceRoot":"","sources":["../../src/validate/live-instruments.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAYxD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,YAAY,CAAC;IACnB,mGAAmG;IACnG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,GAAE;IAClD,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC,WAAW,EAAE,qBAAqB,GAAG,YAAY,CAAC,CAAC;CACzE,GAAG,oBAAoB,CA4B5B"}
|