@senpi/runtime 3.0.57 → 3.0.59
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/actions/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/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/guide-commands.d.ts.map +1 -1
- package/dist/cli/guide-commands.js +28 -2
- package/dist/cli/guide-commands.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -0
- 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/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/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/http_post.py +10 -2
- package/dist/scanners/external/scaffold/import_check.py +6 -1
- package/dist/scanners/external/scaffold/preflight.py +6 -2
- package/dist/scanners/external/scaffold/scaffold.py +63 -11
- 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/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 +14 -2
- package/dist/telemetry/metrics.d.ts.map +1 -1
- package/dist/telemetry/metrics.js +19 -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/utils/event-catalog.d.ts +76 -0
- package/dist/utils/event-catalog.d.ts.map +1 -1
- package/dist/utils/event-catalog.js +7 -0
- package/dist/utils/event-catalog.js.map +1 -1
- package/dist/validate/codes.d.ts +2 -0
- package/dist/validate/codes.d.ts.map +1 -1
- package/dist/validate/codes.js +6 -0
- package/dist/validate/codes.js.map +1 -1
- package/dist/validate/import-stage.d.ts.map +1 -1
- package/dist/validate/import-stage.js +7 -1
- package/dist/validate/import-stage.js.map +1 -1
- package/dist/validate/live-stage.d.ts +26 -0
- package/dist/validate/live-stage.d.ts.map +1 -1
- package/dist/validate/live-stage.js +65 -9
- package/dist/validate/live-stage.js.map +1 -1
- package/dist/validate/proof.d.ts.map +1 -1
- package/dist/validate/proof.js +37 -24
- package/dist/validate/proof.js.map +1 -1
- package/dist/validate/recipe-checks.d.ts.map +1 -1
- package/dist/validate/recipe-checks.js +4 -1
- package/dist/validate/recipe-checks.js.map +1 -1
- package/dist/validate/report.d.ts.map +1 -1
- package/dist/validate/report.js +3 -1
- package/dist/validate/report.js.map +1 -1
- package/dist/validate/run.d.ts.map +1 -1
- package/dist/validate/run.js +41 -14
- package/dist/validate/run.js.map +1 -1
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"position-tracker.action.d.ts","sourceRoot":"","sources":["../../../src/actions/position-tracker/position-tracker.action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,YAAY,EACZ,aAAa,EACb,cAAc,EACd,YAAY,EACZ,SAAS,
|
|
1
|
+
{"version":3,"file":"position-tracker.action.d.ts","sourceRoot":"","sources":["../../../src/actions/position-tracker/position-tracker.action.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,YAAY,EACZ,aAAa,EACb,cAAc,EACd,YAAY,EACZ,SAAS,EAEV,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AA6J7D,qBAAa,qBAAsB,YAAW,MAAM;IAKhD,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,OAAO;IALjB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAG,kBAAkB,CAAU;gBAGxC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,cAAc;IAKjC,OAAO,CAAC,QAAQ;IAYV,MAAM,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;IAyFrD;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAyCzB,OAAO,CAAC,IAAI;CAGb;AAID,eAAO,MAAM,sBAAsB,EAAE,aACO,CAAC;AAE7C,eAAO,MAAM,uBAAuB,EAAE,cAYrC,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { HOOK_EVENT } from '../../types/hooks.js';
|
|
2
2
|
import { createLogger } from '../../utils/logger.js';
|
|
3
3
|
import { positionRegistryKey } from '../../runtime/position-id-registry.js';
|
|
4
|
+
import { emitActionResultEvents, buildActionEventContext } from '../action-events.js';
|
|
4
5
|
const logger = createLogger('[actions][position-tracker]');
|
|
5
6
|
// ─── Pure helpers ────────────────────────────────────────────────────────────
|
|
6
7
|
/** Normalize dex: "main" → undefined (DSL convention). */
|
|
@@ -113,46 +114,74 @@ const deltaMappers = {
|
|
|
113
114
|
};
|
|
114
115
|
// ─── Position Tracker Action ────────────────────────────────────────────────
|
|
115
116
|
export class PositionTrackerAction {
|
|
117
|
+
config;
|
|
116
118
|
context;
|
|
117
119
|
name;
|
|
118
120
|
actionType = 'POSITION_TRACKER';
|
|
119
121
|
constructor(config, context) {
|
|
122
|
+
this.config = config;
|
|
120
123
|
this.context = context;
|
|
121
124
|
this.name = config.name;
|
|
122
125
|
}
|
|
126
|
+
eventCtx() {
|
|
127
|
+
return buildActionEventContext({
|
|
128
|
+
hookSystem: this.context.hookSystem,
|
|
129
|
+
actionName: this.name,
|
|
130
|
+
actionType: this.actionType,
|
|
131
|
+
decisionMode: this.config.decision_mode,
|
|
132
|
+
decisionModel: this.config.decision_model,
|
|
133
|
+
minConfidence: this.config.min_confidence,
|
|
134
|
+
positionIdRegistry: this.context.positionIdRegistry,
|
|
135
|
+
});
|
|
136
|
+
}
|
|
123
137
|
async handle(event) {
|
|
124
138
|
if (event.type !== HOOK_EVENT.ON_SIGNAL_DETECTED) {
|
|
125
139
|
return this.skip('invalid_event_type', 'Ignored: wrong event type');
|
|
126
140
|
}
|
|
127
|
-
const
|
|
141
|
+
const scanResult = event.data?.scanResult;
|
|
142
|
+
const signals = scanResult?.signals ?? [];
|
|
128
143
|
if (signals.length === 0) {
|
|
129
144
|
return this.skip('no_signals', 'No signals to process');
|
|
130
145
|
}
|
|
131
146
|
let firedCount = 0;
|
|
132
147
|
let skippedCount = 0;
|
|
133
148
|
let failedCount = 0;
|
|
149
|
+
// One entry per evaluated signal; `signal.outcome` is derived one-per-entry, so every
|
|
150
|
+
// outcome point below records its own row.
|
|
151
|
+
const results = [];
|
|
134
152
|
for (const signal of signals) {
|
|
135
|
-
|
|
153
|
+
// Per-signal work window — every result entry below carries startedAt/endedAt.
|
|
154
|
+
const signalStartedAt = Date.now();
|
|
155
|
+
const asset = signal.asset;
|
|
156
|
+
const signalType = signal.signalType;
|
|
157
|
+
const meta = signal.meta;
|
|
158
|
+
// The scanner carries the book on `meta.dex`; the Signal itself has no dex field. Kept raw
|
|
159
|
+
// (the registry key normalizes it) so the outcome resolves the same position.id the hook did.
|
|
160
|
+
const dexRow = typeof meta?.dex === 'string' && meta.dex.trim() !== '' ? { dex: meta.dex.trim() } : {};
|
|
161
|
+
const scoreRow = typeof signal.score === 'number' && Number.isFinite(signal.score) ? { score: signal.score } : {};
|
|
162
|
+
const mapper = deltaMappers[signalType];
|
|
136
163
|
if (!mapper) {
|
|
137
|
-
logger.info('skipping unsupported delta type', { signalType
|
|
164
|
+
logger.info('skipping unsupported delta type', { signalType, asset });
|
|
165
|
+
results.push({ asset, signalType, ...dexRow, ...scoreRow, success: true, reason: 'unsupported_delta_type', startedAt: signalStartedAt, endedAt: Date.now() });
|
|
138
166
|
skippedCount++;
|
|
139
167
|
continue;
|
|
140
168
|
}
|
|
141
|
-
const meta = signal.meta;
|
|
142
169
|
if (!meta) {
|
|
143
|
-
logger.warn('signal missing meta', { signalType
|
|
170
|
+
logger.warn('signal missing meta', { signalType, asset });
|
|
171
|
+
results.push({ asset, signalType, ...dexRow, ...scoreRow, success: true, reason: 'missing_meta', startedAt: signalStartedAt, endedAt: Date.now() });
|
|
144
172
|
skippedCount++;
|
|
145
173
|
continue;
|
|
146
174
|
}
|
|
147
175
|
const mapped = mapper(meta, event.address);
|
|
148
176
|
if (!mapped) {
|
|
149
|
-
logger.warn('signal missing required snapshot', { signalType
|
|
177
|
+
logger.warn('signal missing required snapshot', { signalType, asset });
|
|
178
|
+
results.push({ asset, signalType, ...dexRow, ...scoreRow, success: true, reason: 'missing_snapshot', startedAt: signalStartedAt, endedAt: Date.now() });
|
|
150
179
|
skippedCount++;
|
|
151
180
|
continue;
|
|
152
181
|
}
|
|
153
182
|
try {
|
|
154
|
-
logger.info(`firing ${mapped.type}`, { asset
|
|
155
|
-
const positionFields = this.resolvePositionId(
|
|
183
|
+
logger.info(`firing ${mapped.type}`, { asset });
|
|
184
|
+
const positionFields = this.resolvePositionId(signalType, mapped, event.address);
|
|
156
185
|
await this.context.hookSystem.fire({
|
|
157
186
|
type: mapped.type,
|
|
158
187
|
runtimeName: event.runtimeName,
|
|
@@ -163,21 +192,28 @@ export class PositionTrackerAction {
|
|
|
163
192
|
},
|
|
164
193
|
timestamp: new Date().toISOString(),
|
|
165
194
|
});
|
|
195
|
+
results.push({ asset, signalType, ...dexRow, ...scoreRow, success: true, reason: 'fired', startedAt: signalStartedAt, endedAt: Date.now() });
|
|
166
196
|
firedCount++;
|
|
167
197
|
}
|
|
168
198
|
catch (err) {
|
|
199
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
200
|
+
results.push({ asset, signalType, ...dexRow, ...scoreRow, success: false, reason: 'exception', error: message, startedAt: signalStartedAt, endedAt: Date.now() });
|
|
169
201
|
failedCount++;
|
|
170
|
-
logger.error('failed to fire hook event', err, { signalType
|
|
202
|
+
logger.error('failed to fire hook event', err, { signalType, asset });
|
|
171
203
|
}
|
|
172
204
|
}
|
|
173
205
|
const success = failedCount === 0;
|
|
174
|
-
|
|
206
|
+
const result = {
|
|
175
207
|
success,
|
|
176
208
|
action_type: this.actionType,
|
|
177
209
|
summary: `Tracked: ${firedCount} fired, ${skippedCount} skipped, ${failedCount} failed`,
|
|
178
|
-
data: { firedCount, skippedCount, failedCount },
|
|
210
|
+
data: { firedCount, skippedCount, failedCount, results },
|
|
179
211
|
...(failedCount > 0 ? { error: `${failedCount} hook event(s) failed to fire` } : {}),
|
|
180
212
|
};
|
|
213
|
+
// No decision engine runs here, so the result carries no `_decisionMeta` and no
|
|
214
|
+
// `decision.made` is derived — only the per-signal outcomes.
|
|
215
|
+
emitActionResultEvents(this.eventCtx(), event, event.address, result, { scanResult });
|
|
216
|
+
return result;
|
|
181
217
|
}
|
|
182
218
|
/**
|
|
183
219
|
* Mint/reuse/clear the cross-flow position.id and return the fields to stamp on the
|
|
@@ -223,10 +259,6 @@ export class PositionTrackerAction {
|
|
|
223
259
|
: {}),
|
|
224
260
|
};
|
|
225
261
|
}
|
|
226
|
-
extractSignals(event) {
|
|
227
|
-
const scanResult = event.data?.scanResult;
|
|
228
|
-
return scanResult?.signals ?? [];
|
|
229
|
-
}
|
|
230
262
|
skip(reason, summary) {
|
|
231
263
|
return { success: true, action_type: this.actionType, summary, skipped: true, skipReason: reason };
|
|
232
264
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"position-tracker.action.js","sourceRoot":"","sources":["../../../src/actions/position-tracker/position-tracker.action.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"position-tracker.action.js","sourceRoot":"","sources":["../../../src/actions/position-tracker/position-tracker.action.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-signal `results[]` rows synthesized for a batch-level early exit — the exits that return
|
|
3
|
+
* before the per-signal loop and would otherwise leave the scan's signals with no recorded outcome.
|
|
4
|
+
* Entry shape matches the loop's own rows so the derived per-signal telemetry is identical in
|
|
5
|
+
* structure: normalized `dex`, `direction`/`score` only when usable, and a zero-width work window
|
|
6
|
+
* (both stamps present — a half window is dropped downstream, and a missing one is
|
|
7
|
+
* indistinguishable from an unstamped legacy row).
|
|
8
|
+
*
|
|
9
|
+
* A signal with no usable asset is dropped: an outcome that names no asset is not attributable.
|
|
10
|
+
* Total by construction — it runs on the trading path and must never throw on a malformed entry.
|
|
11
|
+
*/
|
|
12
|
+
export declare function skippedSignalResults(signals: readonly unknown[] | undefined, reason: string, nowMs: number, overrides?: {
|
|
13
|
+
success?: boolean;
|
|
14
|
+
error?: string;
|
|
15
|
+
}): Array<Record<string, unknown>>;
|
|
16
|
+
//# sourceMappingURL=skipped-signal-results.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skipped-signal-results.d.ts","sourceRoot":"","sources":["../../src/actions/skipped-signal-results.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,EACvC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAChD,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA+BhC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-signal `results[]` rows synthesized for a batch-level early exit — the exits that return
|
|
3
|
+
* before the per-signal loop and would otherwise leave the scan's signals with no recorded outcome.
|
|
4
|
+
* Entry shape matches the loop's own rows so the derived per-signal telemetry is identical in
|
|
5
|
+
* structure: normalized `dex`, `direction`/`score` only when usable, and a zero-width work window
|
|
6
|
+
* (both stamps present — a half window is dropped downstream, and a missing one is
|
|
7
|
+
* indistinguishable from an unstamped legacy row).
|
|
8
|
+
*
|
|
9
|
+
* A signal with no usable asset is dropped: an outcome that names no asset is not attributable.
|
|
10
|
+
* Total by construction — it runs on the trading path and must never throw on a malformed entry.
|
|
11
|
+
*/
|
|
12
|
+
export function skippedSignalResults(signals, reason, nowMs, overrides) {
|
|
13
|
+
if (!Array.isArray(signals))
|
|
14
|
+
return [];
|
|
15
|
+
const rows = [];
|
|
16
|
+
for (const raw of signals) {
|
|
17
|
+
if (raw === null || typeof raw !== 'object')
|
|
18
|
+
continue;
|
|
19
|
+
const signal = raw;
|
|
20
|
+
const rawAsset = signal.asset;
|
|
21
|
+
// Kept verbatim (not trimmed) so it still joins the scanner signal it came from.
|
|
22
|
+
const asset = typeof rawAsset === 'string' ? rawAsset : typeof rawAsset === 'number' ? String(rawAsset) : '';
|
|
23
|
+
if (asset.trim() === '')
|
|
24
|
+
continue;
|
|
25
|
+
const direction = signal.direction;
|
|
26
|
+
const score = signal.score;
|
|
27
|
+
// A decision-payload signal carries the book top-level (the strategy hoists it there); a raw
|
|
28
|
+
// scanner signal carries it only on `meta`, since `Signal` has no `dex` field. Both call
|
|
29
|
+
// shapes reach this helper, so both are read — top-level first, matching the per-signal loop.
|
|
30
|
+
const meta = signal.meta;
|
|
31
|
+
const metaDex = meta !== null && typeof meta === 'object' ? meta.dex : undefined;
|
|
32
|
+
const dex = typeof signal.dex === 'string' && signal.dex.trim() !== '' ? signal.dex : metaDex;
|
|
33
|
+
rows.push({
|
|
34
|
+
asset,
|
|
35
|
+
...(direction === 'LONG' || direction === 'SHORT' ? { direction } : {}),
|
|
36
|
+
dex: typeof dex === 'string' && dex.trim() !== '' ? dex.trim() : 'main',
|
|
37
|
+
...(typeof score === 'number' && Number.isFinite(score) ? { score } : {}),
|
|
38
|
+
success: overrides?.success ?? true,
|
|
39
|
+
reason,
|
|
40
|
+
...(overrides?.error !== undefined ? { error: overrides.error } : {}),
|
|
41
|
+
startedAt: nowMs,
|
|
42
|
+
endedAt: nowMs,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
return rows;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=skipped-signal-results.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skipped-signal-results.js","sourceRoot":"","sources":["../../src/actions/skipped-signal-results.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAAuC,EACvC,MAAc,EACd,KAAa,EACb,SAAiD;IAEjD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IACvC,MAAM,IAAI,GAAmC,EAAE,CAAC;IAChD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,SAAS;QACtD,MAAM,MAAM,GAAG,GAA8B,CAAC;QAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC;QAC9B,iFAAiF;QACjF,MAAM,KAAK,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7G,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE;YAAE,SAAS;QAClC,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QACnC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC3B,6FAA6F;QAC7F,yFAAyF;QACzF,8FAA8F;QAC9F,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAE,IAAgC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9G,MAAM,GAAG,GAAG,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;QAC9F,IAAI,CAAC,IAAI,CAAC;YACR,KAAK;YACL,GAAG,CAAC,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,GAAG,EAAE,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM;YACvE,GAAG,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,OAAO,EAAE,SAAS,EAAE,OAAO,IAAI,IAAI;YACnC,MAAM;YACN,GAAG,CAAC,SAAS,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guide-commands.d.ts","sourceRoot":"","sources":["../../src/cli/guide-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"guide-commands.d.ts","sourceRoot":"","sources":["../../src/cli/guide-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA8cH,eAAO,MAAM,eAAe,QAqNpB,CAAC;AAIT,kFAAkF;AAClF,UAAU,gBAAgB;IACxB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC;IACvD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAAC;IAC5C,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC;IAC9D,MAAM,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC;CACxF;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,gBAAgB,EACvB,OAAO,EAAE,MAAM,GACd,IAAI,CA2CN"}
|
|
@@ -23,6 +23,7 @@ Quick commands:
|
|
|
23
23
|
senpi guide scanners Scanner types and config fields
|
|
24
24
|
senpi guide actions Action types and decision modes
|
|
25
25
|
senpi guide dsl DSL exit: phases, lock modes, tiers, time-based cuts
|
|
26
|
+
senpi validate <pkg> Prove a strategy runs before funding it (static → import → live)
|
|
26
27
|
senpi scanner Per-scanner health: runs, errors, liveness, "(no signals yet)" flag
|
|
27
28
|
senpi events Local domain-event log — the trade narrative
|
|
28
29
|
senpi explain <asset> Stitch one asset's position lifecycle from the event log
|
|
@@ -489,6 +490,27 @@ senpi runtime — Manage runtimes
|
|
|
489
490
|
status is running / stopped / "running — NO ENTRY
|
|
490
491
|
SCANNERS" (a live runtime whose scanners never wired)
|
|
491
492
|
|
|
493
|
+
senpi validate — Prove a strategy can execute BEFORE it is funded
|
|
494
|
+
validate [target] Package dir, recipe file, or scanner dir (default: cwd)
|
|
495
|
+
--stage <stage> static | import | live (default live; each includes the prior)
|
|
496
|
+
--scanner <name> Restrict to one scanner (never records a proof)
|
|
497
|
+
--content <yaml> --dir <dir> Inline recipe + dir its relative paths resolve against
|
|
498
|
+
--wallet <address> Account for the live tick (default: empty placeholder account)
|
|
499
|
+
--timeout <seconds> Per-scanner tick budget (default 120s; never the cadence)
|
|
500
|
+
--strict Warnings are failures
|
|
501
|
+
--no-attest Run everything, record no proof
|
|
502
|
+
--json One JSON document on stdout; progress on stderr
|
|
503
|
+
Verdicts / exit codes:
|
|
504
|
+
PASS 0 ran, and established what the stage claims
|
|
505
|
+
FAIL 1 something is wrong; every finding carries what / why / fix
|
|
506
|
+
UNPROVEN 2 the tick ran cleanly and read NOTHING — not a pass. Usually a
|
|
507
|
+
session/time gate in scan(); have it consult ctx.dry_run so
|
|
508
|
+
validation can see a real read
|
|
509
|
+
(exit 3) the request itself was malformed (bad flag/target) — fix the
|
|
510
|
+
command, not the code
|
|
511
|
+
A full unscoped PASS at live depth writes .senpi-proof.json beside the recipe
|
|
512
|
+
(content-addressed, no expiry); the deploy gate verifies it via verifyProof().
|
|
513
|
+
|
|
492
514
|
senpi status — Lightweight runtime health digest
|
|
493
515
|
status Overall health + scanners (with degraded count),
|
|
494
516
|
DSL monitor liveness, risk eligibility + gates.
|
|
@@ -596,9 +618,13 @@ Called via: openclaw gateway call <method> --params '<json>'
|
|
|
596
618
|
Responses: { ok: boolean, payload?: ..., error?: { code, message } }
|
|
597
619
|
|
|
598
620
|
senpi.installRuntime
|
|
599
|
-
Params: runtimeYamlPath (string) OR runtimeYamlContent (string); id (string, optional)
|
|
621
|
+
Params: runtimeYamlPath (string) OR runtimeYamlContent (string); id (string, optional);
|
|
622
|
+
runtimeYamlDir (string, optional — REQUIRED with content when scanner paths are relative)
|
|
600
623
|
Success: { id, name, wallet }
|
|
601
|
-
Errors: INVALID_REQUEST (missing YAML, duplicate ID/wallet
|
|
624
|
+
Errors: INVALID_REQUEST (missing YAML, duplicate ID/wallet, or the install gate: a recipe that
|
|
625
|
+
cannot trade — no margin source, no risk guardrails, missing scanner entrypoint, or an
|
|
626
|
+
unresolvable scanner path — is refused with what/why/fix per problem),
|
|
627
|
+
UNAVAILABLE (bad YAML, start failure)
|
|
602
628
|
|
|
603
629
|
senpi.listRuntimes
|
|
604
630
|
Params: (none)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guide-commands.js","sourceRoot":"","sources":["../../src/cli/guide-commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,aAAa,GACjB,0EAA0E,CAAC;AAE7E,+EAA+E;AAE/E,MAAM,aAAa,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC;qBACtB,OAAO
|
|
1
|
+
{"version":3,"file":"guide-commands.js","sourceRoot":"","sources":["../../src/cli/guide-commands.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -828,6 +828,20 @@ const senpiRuntimePlugin = {
|
|
|
828
828
|
// parsed once above, so reaching here means a defect in the checks
|
|
829
829
|
// themselves — log it and let the install proceed rather than blocking a
|
|
830
830
|
// good recipe on our own bug.
|
|
831
|
+
//
|
|
832
|
+
// But say so on the ledger, not only in a log line. Proceeding ungated is
|
|
833
|
+
// silent by construction: the install succeeds, nothing looks wrong, and
|
|
834
|
+
// protection has reverted to what it was before the gate existed — for
|
|
835
|
+
// this install and every one after it. A failure nobody can see is the
|
|
836
|
+
// exact shape this whole feature exists to eliminate.
|
|
837
|
+
apiLogger.event(EVENT_NAME.runtimeInstallGateFailed, "error", {
|
|
838
|
+
body: "[senpi-runtime] install gate could not run — this install and every one after it proceeds ungated until it is fixed",
|
|
839
|
+
attributes: eventAttrs({
|
|
840
|
+
"senpi.runtime.id": id && id.length > 0 ? sanitizeId(id) || "runtime" : deriveRuntimeId(runtimeName, wallet),
|
|
841
|
+
"senpi.error.class": gateErr instanceof Error ? gateErr.constructor.name : typeof gateErr,
|
|
842
|
+
"senpi.error.code": SENPI_ERROR_CODE.installGateFailed,
|
|
843
|
+
}),
|
|
844
|
+
});
|
|
831
845
|
pluginLogger.warn(appendCause("[senpi-runtime] install gate could not run — proceeding without it", gateErr));
|
|
832
846
|
}
|
|
833
847
|
if (gateRefusal !== undefined) {
|