@senpi/runtime 1.0.95-dev.runtime-phase-2.20260427204640 → 1.0.95-dev.runtime-phase-2-api.20260505093328
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 +13 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +156 -31
- package/dist/index.js.map +1 -1
- package/dist/runtime/audit-query.types.d.ts +113 -0
- package/dist/runtime/audit-query.types.d.ts.map +1 -0
- package/dist/runtime/audit-query.types.js +35 -0
- package/dist/runtime/audit-query.types.js.map +1 -0
- package/dist/runtime/auto-update/coordinator.d.ts +12 -8
- package/dist/runtime/auto-update/coordinator.d.ts.map +1 -1
- package/dist/runtime/auto-update/coordinator.js +18 -17
- package/dist/runtime/auto-update/coordinator.js.map +1 -1
- package/dist/runtime/auto-update/gateway-restart.d.ts +9 -2
- package/dist/runtime/auto-update/gateway-restart.d.ts.map +1 -1
- package/dist/runtime/auto-update/gateway-restart.js +23 -13
- package/dist/runtime/auto-update/gateway-restart.js.map +1 -1
- package/dist/runtime/run.d.ts +46 -0
- package/dist/runtime/run.d.ts.map +1 -1
- package/dist/runtime/run.js +9 -0
- package/dist/runtime/run.js.map +1 -1
- package/dist/runtime/runtime.d.ts +56 -0
- package/dist/runtime/runtime.d.ts.map +1 -1
- package/dist/runtime/runtime.js +140 -0
- package/dist/runtime/runtime.js.map +1 -1
- package/dist/runtime-api/config.d.ts +47 -0
- package/dist/runtime-api/config.d.ts.map +1 -0
- package/dist/runtime-api/config.js +74 -0
- package/dist/runtime-api/config.js.map +1 -0
- package/dist/runtime-api/handlers/audit.d.ts +76 -0
- package/dist/runtime-api/handlers/audit.d.ts.map +1 -0
- package/dist/runtime-api/handlers/audit.js +63 -0
- package/dist/runtime-api/handlers/audit.js.map +1 -0
- package/dist/runtime-api/handlers/group-by-scanner.d.ts +43 -0
- package/dist/runtime-api/handlers/group-by-scanner.d.ts.map +1 -0
- package/dist/runtime-api/handlers/group-by-scanner.js +43 -0
- package/dist/runtime-api/handlers/group-by-scanner.js.map +1 -0
- package/dist/runtime-api/handlers/ingest-signals.d.ts +54 -0
- package/dist/runtime-api/handlers/ingest-signals.d.ts.map +1 -0
- package/dist/runtime-api/handlers/ingest-signals.js +118 -0
- package/dist/runtime-api/handlers/ingest-signals.js.map +1 -0
- package/dist/runtime-api/handlers/lookup.d.ts +36 -0
- package/dist/runtime-api/handlers/lookup.d.ts.map +1 -0
- package/dist/runtime-api/handlers/lookup.js +31 -0
- package/dist/runtime-api/handlers/lookup.js.map +1 -0
- package/dist/runtime-api/handlers/types.d.ts +80 -0
- package/dist/runtime-api/handlers/types.d.ts.map +1 -0
- package/dist/runtime-api/handlers/types.js +8 -0
- package/dist/runtime-api/handlers/types.js.map +1 -0
- package/dist/runtime-api/lifecycle.d.ts +98 -0
- package/dist/runtime-api/lifecycle.d.ts.map +1 -0
- package/dist/runtime-api/lifecycle.js +137 -0
- package/dist/runtime-api/lifecycle.js.map +1 -0
- package/dist/runtime-api/readiness.d.ts +37 -0
- package/dist/runtime-api/readiness.d.ts.map +1 -0
- package/dist/runtime-api/readiness.js +35 -0
- package/dist/runtime-api/readiness.js.map +1 -0
- package/dist/runtime-api/routes/audit.d.ts +40 -0
- package/dist/runtime-api/routes/audit.d.ts.map +1 -0
- package/dist/runtime-api/routes/audit.js +82 -0
- package/dist/runtime-api/routes/audit.js.map +1 -0
- package/dist/runtime-api/routes/audit.schema.d.ts +75 -0
- package/dist/runtime-api/routes/audit.schema.d.ts.map +1 -0
- package/dist/runtime-api/routes/audit.schema.js +78 -0
- package/dist/runtime-api/routes/audit.schema.js.map +1 -0
- package/dist/runtime-api/routes/health.d.ts +53 -0
- package/dist/runtime-api/routes/health.d.ts.map +1 -0
- package/dist/runtime-api/routes/health.js +48 -0
- package/dist/runtime-api/routes/health.js.map +1 -0
- package/dist/runtime-api/routes/signals.d.ts +50 -0
- package/dist/runtime-api/routes/signals.d.ts.map +1 -0
- package/dist/runtime-api/routes/signals.js +65 -0
- package/dist/runtime-api/routes/signals.js.map +1 -0
- package/dist/runtime-api/routes/signals.schema.d.ts +94 -0
- package/dist/runtime-api/routes/signals.schema.d.ts.map +1 -0
- package/dist/runtime-api/routes/signals.schema.js +58 -0
- package/dist/runtime-api/routes/signals.schema.js.map +1 -0
- package/dist/runtime-api/server.d.ts +79 -0
- package/dist/runtime-api/server.d.ts.map +1 -0
- package/dist/runtime-api/server.js +105 -0
- package/dist/runtime-api/server.js.map +1 -0
- package/dist/senpi/client.d.ts +92 -2
- package/dist/senpi/client.d.ts.map +1 -1
- package/dist/senpi/client.js +216 -9
- package/dist/senpi/client.js.map +1 -1
- package/openclaw.plugin.json +24 -0
- package/package.json +6 -2
package/README.md
CHANGED
|
@@ -176,6 +176,19 @@ Templates live under `examples/strategies/` in the package. See [examples/strate
|
|
|
176
176
|
- `openclaw senpi guide schema` — full YAML schema
|
|
177
177
|
- `openclaw senpi guide version` — plugin version and changelog URL
|
|
178
178
|
|
|
179
|
+
## HTTP API
|
|
180
|
+
|
|
181
|
+
The runtime exposes an HTTP API on `127.0.0.1:8787` (default; configurable via plugin config). Use it to ingest signals from external sources, query audit history, and check liveness.
|
|
182
|
+
|
|
183
|
+
**Three endpoints:**
|
|
184
|
+
- `POST /signals` — ingest external scanner signals; body is a JSON array of signal items
|
|
185
|
+
- `GET /audit?address=<wallet>` — query strategy audit history via MCP
|
|
186
|
+
- `GET /health` — liveness probe with per-runtime signal queue depth
|
|
187
|
+
|
|
188
|
+
**Default binding:** `127.0.0.1:8787` (localhost-only). For Postman testing on the same host, flip `api.host` to `0.0.0.0` in `openclaw.json` and add a Docker port mapping `127.0.0.1:8787:8787` (the `127.0.0.1:` prefix is mandatory to avoid LAN exposure). See [docs/runtime-docs/runtime-api.md](docs/runtime-docs/runtime-api.md) for full details and the Postman testing recipe.
|
|
189
|
+
|
|
190
|
+
**Latency benchmark:** `npm run bench` runs `benchmarks/ingest-latency.ts` — compares the in-process gateway-shim path against HTTP `POST /signals` across three scenarios and prints p50/p95/p99 with a PASS/FAIL gate.
|
|
191
|
+
|
|
179
192
|
## External scanners
|
|
180
193
|
|
|
181
194
|
Use `type: external_scanner` when the signal or context source lives outside the
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -4,6 +4,19 @@
|
|
|
4
4
|
* Default export: OpenClaw plugin entry (register(api)).
|
|
5
5
|
* Named export run(): programmatic/standalone entry.
|
|
6
6
|
*/
|
|
7
|
+
// dd-trace init MUST be the first executable statement in this file so it
|
|
8
|
+
// patches Node core modules (http, fs, etc.) before any traceable resource is
|
|
9
|
+
// constructed by the imports below. Gated on DD_TRACE_ENABLED=true so unit
|
|
10
|
+
// tests and standalone CLI invocations do not pay the init cost.
|
|
11
|
+
// `createRequire` is used because `dd-trace` is a CJS module and our
|
|
12
|
+
// tsconfig uses Node16 modules — a top-level `import "dd-trace"` would
|
|
13
|
+
// be hoisted above this gate by the bundler/loader.
|
|
14
|
+
import { createRequire } from "node:module";
|
|
15
|
+
const __require = createRequire(import.meta.url);
|
|
16
|
+
if (process.env.DD_TRACE_ENABLED === "true") {
|
|
17
|
+
__require("dd-trace").init();
|
|
18
|
+
}
|
|
19
|
+
import { readFileSync } from "node:fs";
|
|
7
20
|
import { join } from "node:path";
|
|
8
21
|
import { SenpiClient } from "./senpi/client.js";
|
|
9
22
|
import { buildRuntimeStateDir, archiveStateDir } from "./runtime/state-layout.js";
|
|
@@ -22,6 +35,10 @@ import { initRisk } from "./risk/index.js";
|
|
|
22
35
|
import { VERSION } from "./version.js";
|
|
23
36
|
import { getLogLevel, getLogLevelSource, parseLogLevel, setErrorNotifier, setLogLevel, } from "./utils/logger.js";
|
|
24
37
|
import { ExternalScannerIngestError, } from "./scanners/external-scanner-receiver.js";
|
|
38
|
+
import { createLogger } from "./utils/logger.js";
|
|
39
|
+
import { loadApiConfig } from "./runtime-api/config.js";
|
|
40
|
+
import { startApi } from "./runtime-api/lifecycle.js";
|
|
41
|
+
import { ingestSignalsHandler } from "./runtime-api/handlers/ingest-signals.js";
|
|
25
42
|
/** Initialize all core features (DSL, risk, health) on the given event bus. */
|
|
26
43
|
export function initCore(bus) {
|
|
27
44
|
initDsl(bus);
|
|
@@ -135,6 +152,29 @@ function fireAndForgetErrorNotification(notifications, message) {
|
|
|
135
152
|
// Intentionally swallow; error notifications must never fail call sites.
|
|
136
153
|
}
|
|
137
154
|
}
|
|
155
|
+
/**
|
|
156
|
+
* Read the plugin version from the sibling `openclaw.plugin.json` manifest.
|
|
157
|
+
* Performed once at module load — the manifest is shipped alongside the
|
|
158
|
+
* compiled `dist/index.js` so the relative URL resolves at runtime.
|
|
159
|
+
*
|
|
160
|
+
* Falls back to the imported `VERSION` constant (compiled into the bundle)
|
|
161
|
+
* if the manifest cannot be read; both should always agree.
|
|
162
|
+
*/
|
|
163
|
+
function readPluginManifestVersion() {
|
|
164
|
+
try {
|
|
165
|
+
const manifestUrl = new URL("../openclaw.plugin.json", import.meta.url);
|
|
166
|
+
const raw = readFileSync(manifestUrl, "utf-8");
|
|
167
|
+
const parsed = JSON.parse(raw);
|
|
168
|
+
if (typeof parsed.version === "string" && parsed.version.length > 0) {
|
|
169
|
+
return parsed.version;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
catch {
|
|
173
|
+
// Fall through to VERSION fallback.
|
|
174
|
+
}
|
|
175
|
+
return VERSION;
|
|
176
|
+
}
|
|
177
|
+
const PLUGIN_MANIFEST_VERSION = readPluginManifestVersion();
|
|
138
178
|
/**
|
|
139
179
|
* OpenClaw plugin entry.
|
|
140
180
|
* Boots from internal registry (installed_runtimes.json) in stateDir; does not read runtime list from config.
|
|
@@ -197,6 +237,11 @@ const senpiRuntimePlugin = {
|
|
|
197
237
|
return;
|
|
198
238
|
}
|
|
199
239
|
const runtimeHandles = new Map();
|
|
240
|
+
let apiHandle;
|
|
241
|
+
// Dedicated logger for the runtime-api subtree — required because the
|
|
242
|
+
// PluginLogger surface (info/warn/error) lacks `debug`, while the
|
|
243
|
+
// Logger contract used by `runtime-api/` includes it.
|
|
244
|
+
const apiLogger = createLogger("[senpi-core][api]");
|
|
200
245
|
const lifecycleChatId = resolveTelegramChatIdFromStore(senpiCliStore);
|
|
201
246
|
const lifecycleNotifications = lifecycleChatId
|
|
202
247
|
? createNotificationService({
|
|
@@ -289,6 +334,42 @@ const senpiRuntimePlugin = {
|
|
|
289
334
|
throw err;
|
|
290
335
|
}
|
|
291
336
|
pluginLogger.info(`[senpi-runtime] Started ${started.length} runtime${started.length === 1 ? "" : "s"}`);
|
|
337
|
+
// ── HTTP API ──────────────────────────────────────────────────────
|
|
338
|
+
// Bind the HTTP server AFTER runtimes are hydrated so `/health` and
|
|
339
|
+
// `/signals` see the live `runtimeHandles` map. Failure here triggers
|
|
340
|
+
// a full rollback (auto-update coordinator + all started handles)
|
|
341
|
+
// before re-throwing — Section 4 of the plan.
|
|
342
|
+
//
|
|
343
|
+
// SENPI_RUNTIME_API_DISABLED=true skips API startup. Used by unit
|
|
344
|
+
// tests that exercise `plugin.register()` in parallel workers without
|
|
345
|
+
// contending for the same TCP port.
|
|
346
|
+
if (process.env.SENPI_RUNTIME_API_DISABLED !== "true") {
|
|
347
|
+
try {
|
|
348
|
+
const apiConfig = loadApiConfig(api.pluginConfig);
|
|
349
|
+
apiHandle = await startApi({
|
|
350
|
+
runtimeHandles,
|
|
351
|
+
apiConfig,
|
|
352
|
+
logger: apiLogger,
|
|
353
|
+
version: PLUGIN_MANIFEST_VERSION,
|
|
354
|
+
});
|
|
355
|
+
apiHandle.ready();
|
|
356
|
+
}
|
|
357
|
+
catch (err) {
|
|
358
|
+
pluginLogger.error("[senpi-runtime] HTTP API failed to start; rolling back lifecycle", { err });
|
|
359
|
+
// Mirror the lifecycle-stop teardown order: stop the coordinator
|
|
360
|
+
// first so it cannot schedule a tick or call stopRuntimesForUpdate
|
|
361
|
+
// mid-rollback, then stop every runtime handle that was hydrated
|
|
362
|
+
// above.
|
|
363
|
+
await autoUpdateCoordinator.stop().catch(() => { });
|
|
364
|
+
for (let i = started.length - 1; i >= 0; i--) {
|
|
365
|
+
const h = runtimeHandles.get(started[i]);
|
|
366
|
+
if (h)
|
|
367
|
+
await h.stop().catch(() => { });
|
|
368
|
+
runtimeHandles.delete(started[i]);
|
|
369
|
+
}
|
|
370
|
+
throw err;
|
|
371
|
+
}
|
|
372
|
+
}
|
|
292
373
|
if (lifecycleNotifications) {
|
|
293
374
|
const n = started.length;
|
|
294
375
|
lifecycleNotifications
|
|
@@ -303,8 +384,16 @@ const senpiRuntimePlugin = {
|
|
|
303
384
|
if (lifecycleNotifications) {
|
|
304
385
|
lifecycleNotifications.notify("Senpi shutting down.").catch(() => { });
|
|
305
386
|
}
|
|
306
|
-
//
|
|
307
|
-
//
|
|
387
|
+
// Drain the HTTP server FIRST so in-flight POST /signals requests
|
|
388
|
+
// finish before the underlying runtime they target is torn down.
|
|
389
|
+
// `apiHandle.close()` never throws.
|
|
390
|
+
if (apiHandle) {
|
|
391
|
+
await apiHandle.close();
|
|
392
|
+
apiHandle = undefined;
|
|
393
|
+
}
|
|
394
|
+
// Stop the coordinator next so it cannot schedule a new tick or call
|
|
395
|
+
// stopRuntimesForUpdate() (auto-restart path after an update) while
|
|
396
|
+
// we are tearing down the handles below.
|
|
308
397
|
await autoUpdateCoordinator.stop();
|
|
309
398
|
const ids = Array.from(runtimeHandles.keys());
|
|
310
399
|
for (let i = ids.length - 1; i >= 0; i--) {
|
|
@@ -544,23 +633,76 @@ const senpiRuntimePlugin = {
|
|
|
544
633
|
await writeRegistry(baseStateDir, { ...registry, runtimes: next });
|
|
545
634
|
respond(true, { id: targetId });
|
|
546
635
|
});
|
|
636
|
+
/**
|
|
637
|
+
* Gateway shim for `senpi.ingestExternalScannerData`.
|
|
638
|
+
*
|
|
639
|
+
* Thin wrapper over the shared {@link ingestSignalsHandler} that backs
|
|
640
|
+
* `POST /signals`. Both transports go through the same in-process logic;
|
|
641
|
+
* this shim only translates between the legacy gateway envelope and the
|
|
642
|
+
* shared handler's per-item discriminant.
|
|
643
|
+
*
|
|
644
|
+
* Response shape is preserved for backward compatibility with existing
|
|
645
|
+
* producers — slated for removal in Task 5 once the migration counter
|
|
646
|
+
* decays to zero (see `runtime-phase-2-api-plan.md` Section 8).
|
|
647
|
+
*/
|
|
547
648
|
api.registerGatewayMethod("senpi.ingestExternalScannerData", async (ctx) => {
|
|
548
649
|
const respond = ctx.respond;
|
|
650
|
+
// TODO(s11): wire actual telemetry counter for
|
|
651
|
+
// runtime.deprecated_gateway_ingest_call (event name, properties:
|
|
652
|
+
// { address, scanner }). Reuse the existing tracking transport once
|
|
653
|
+
// it is plumbed through the plugin lifecycle in S11.
|
|
549
654
|
try {
|
|
550
655
|
const { address, request } = parseGatewayExternalScannerIngestParams(ctx.params);
|
|
551
|
-
const runtime = getRuntimeHandleByAddressOrRespond(runtimeHandles, address, respond);
|
|
552
|
-
if (!runtime) {
|
|
553
|
-
return;
|
|
554
|
-
}
|
|
555
656
|
pluginLogger.info("[senpi-runtime] senpi.ingestExternalScannerData", {
|
|
556
|
-
runtimeId: runtime.runtimeId,
|
|
557
657
|
address,
|
|
558
658
|
scanner: request.scanner,
|
|
559
659
|
});
|
|
560
|
-
const
|
|
561
|
-
|
|
660
|
+
const item = {
|
|
661
|
+
address,
|
|
662
|
+
scanner: request.scanner,
|
|
663
|
+
...(request.asset !== undefined && { asset: request.asset }),
|
|
664
|
+
...(request.direction !== undefined && { direction: request.direction }),
|
|
665
|
+
...(request.score !== undefined && { score: request.score }),
|
|
666
|
+
...(request.signal_type !== undefined && { signal_type: request.signal_type }),
|
|
667
|
+
...(request.data !== undefined && { data: request.data }),
|
|
668
|
+
...(request.signals !== undefined && { signals: request.signals }),
|
|
669
|
+
};
|
|
670
|
+
const result = await ingestSignalsHandler(item, {
|
|
671
|
+
runtimeHandles,
|
|
672
|
+
logger: apiLogger,
|
|
673
|
+
transport: "gateway",
|
|
674
|
+
});
|
|
675
|
+
if (result.success) {
|
|
676
|
+
respond(true, {
|
|
677
|
+
accepted: true,
|
|
678
|
+
address: result.address,
|
|
679
|
+
scanner: result.scanner,
|
|
680
|
+
timestamp: result.timestamp,
|
|
681
|
+
signalCount: result.signalCount,
|
|
682
|
+
contextUpdated: result.contextUpdated,
|
|
683
|
+
});
|
|
684
|
+
return;
|
|
685
|
+
}
|
|
686
|
+
// Preserve the legacy "Failed to ingest external scanner data: ..."
|
|
687
|
+
// prefix on UNAVAILABLE so existing callers see the same error text
|
|
688
|
+
// they see today. INVALID_REQUEST and NOT_FOUND messages are already
|
|
689
|
+
// descriptive on their own and pass through unchanged.
|
|
690
|
+
if (result.code === "UNAVAILABLE") {
|
|
691
|
+
respond(false, undefined, {
|
|
692
|
+
code: "UNAVAILABLE",
|
|
693
|
+
message: `Failed to ingest external scanner data: ${result.message}`,
|
|
694
|
+
});
|
|
695
|
+
return;
|
|
696
|
+
}
|
|
697
|
+
respond(false, undefined, {
|
|
698
|
+
code: result.code,
|
|
699
|
+
message: result.message,
|
|
700
|
+
});
|
|
562
701
|
}
|
|
563
702
|
catch (error) {
|
|
703
|
+
// `parseGatewayExternalScannerIngestParams` throws synchronously for
|
|
704
|
+
// malformed routing fields. The shared handler never throws — any
|
|
705
|
+
// other error here is unexpected.
|
|
564
706
|
if (error instanceof ExternalScannerIngestError) {
|
|
565
707
|
respond(false, undefined, {
|
|
566
708
|
code: error.code,
|
|
@@ -750,6 +892,11 @@ function getRuntimeHandleOrRespond(runtimeHandles, runtimeId, respond) {
|
|
|
750
892
|
* helper validates only the routing-critical fields (`address`, `scanner`) and
|
|
751
893
|
* forwards the remaining payload as-is so the runtime keeps ownership of the
|
|
752
894
|
* external-scanner data contract.
|
|
895
|
+
*
|
|
896
|
+
* @deprecated Used only by the `senpi.ingestExternalScannerData` gateway shim,
|
|
897
|
+
* which itself is slated for removal in Task 5 of the runtime-phase-2-api plan
|
|
898
|
+
* once external producers migrate to `POST /signals`. Delete alongside the
|
|
899
|
+
* gateway-method registration in that task.
|
|
753
900
|
*/
|
|
754
901
|
function parseGatewayExternalScannerIngestParams(params) {
|
|
755
902
|
const address = typeof params?.address === "string" ? params.address.trim() : "";
|
|
@@ -773,28 +920,6 @@ function parseGatewayExternalScannerIngestParams(params) {
|
|
|
773
920
|
},
|
|
774
921
|
};
|
|
775
922
|
}
|
|
776
|
-
/**
|
|
777
|
-
* Resolve one running runtime by strategy wallet address.
|
|
778
|
-
*
|
|
779
|
-
* Runtime handles are stored by runtime id, but the external-scanner gateway
|
|
780
|
-
* contract routes by wallet address because the ingest payload comes from an
|
|
781
|
-
* operator or upstream system that knows which strategy wallet it is targeting.
|
|
782
|
-
* Runtime install already enforces one running runtime per wallet, so a
|
|
783
|
-
* case-insensitive wallet match is enough to identify the correct runtime.
|
|
784
|
-
*/
|
|
785
|
-
function getRuntimeHandleByAddressOrRespond(runtimeHandles, address, respond) {
|
|
786
|
-
const normalizedAddress = address.toLowerCase();
|
|
787
|
-
for (const [runtimeId, handle] of runtimeHandles) {
|
|
788
|
-
if (handle.wallet.toLowerCase() === normalizedAddress) {
|
|
789
|
-
return { runtimeId, handle };
|
|
790
|
-
}
|
|
791
|
-
}
|
|
792
|
-
respond(false, undefined, {
|
|
793
|
-
code: "NOT_FOUND",
|
|
794
|
-
message: `No running runtime found for wallet address "${address}".`,
|
|
795
|
-
});
|
|
796
|
-
return null;
|
|
797
|
-
}
|
|
798
923
|
async function collectRuntimeHealthStatuses(runtimeHandles, logger) {
|
|
799
924
|
return (await Promise.all(Array.from(runtimeHandles, async ([runtimeId, handle]) => {
|
|
800
925
|
try {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for the `RuntimeHandle.auditQuery` public method.
|
|
3
|
+
*
|
|
4
|
+
* These mirror the MCP `audit_query` tool contract (defined in
|
|
5
|
+
* senpi-hyperliquid-mcp/src/tools/audit.tools.ts) but expressed as plain
|
|
6
|
+
* TypeScript interfaces — Zod stays inside MCP, TypeBox stays inside
|
|
7
|
+
* runtime-api. Anything new added to the MCP zod schema must be reflected
|
|
8
|
+
* here as well.
|
|
9
|
+
*
|
|
10
|
+
* The implementation owns four MCP arguments and silently overrides any
|
|
11
|
+
* caller-supplied values — these are intentionally absent from
|
|
12
|
+
* {@link AuditQueryArgs}:
|
|
13
|
+
* - `resource_type` (always `"strategy"`)
|
|
14
|
+
* - `resource_id` (resolved wallet → strategyId)
|
|
15
|
+
* - `user_ids` (server-controlled — the MCP API key user)
|
|
16
|
+
* - `usernames` (server-controlled — same)
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Caller-controlled subset of MCP `audit_query` parameters.
|
|
20
|
+
*
|
|
21
|
+
* Every field is optional. Field names match the MCP schema verbatim so
|
|
22
|
+
* pass-through to the underlying tool stays drift-free.
|
|
23
|
+
*
|
|
24
|
+
* @see senpi-hyperliquid-mcp/src/tools/audit.tools.ts (`auditQueryInputSchema`)
|
|
25
|
+
*/
|
|
26
|
+
export interface AuditQueryArgs {
|
|
27
|
+
/** Filter by exact tool name (e.g. `create_position`). */
|
|
28
|
+
tool_name?: string;
|
|
29
|
+
/** Filter by action classification. */
|
|
30
|
+
action_type?: "read" | "create" | "update" | "delete";
|
|
31
|
+
/** Filter by success/failure. */
|
|
32
|
+
success?: boolean;
|
|
33
|
+
/** ISO 8601 inclusive lower bound on `requested_at`. */
|
|
34
|
+
start_time?: string;
|
|
35
|
+
/** ISO 8601 inclusive upper bound on `requested_at`. */
|
|
36
|
+
end_time?: string;
|
|
37
|
+
/** Minimum end-to-end duration in ms (find slow operations). */
|
|
38
|
+
min_duration_ms?: number;
|
|
39
|
+
/** Maximum end-to-end duration in ms (find fast operations). */
|
|
40
|
+
max_duration_ms?: number;
|
|
41
|
+
/** Page size; MCP defaults to 100, max 1000. */
|
|
42
|
+
limit?: number;
|
|
43
|
+
/** Offset-based pagination skip count; MCP default 0. */
|
|
44
|
+
offset?: number;
|
|
45
|
+
/** Cursor timestamp for keyset pagination (must pair with `cursor_id`). */
|
|
46
|
+
cursor_requested_at?: string;
|
|
47
|
+
/** Cursor id (UUID) for keyset pagination (must pair with `cursor_requested_at`). */
|
|
48
|
+
cursor_id?: string;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Single audit-log entry as returned by MCP `audit_query`.
|
|
52
|
+
*
|
|
53
|
+
* @see senpi-hyperliquid-mcp/src/tools/audit.tools.ts (JSDoc on `handleAuditQuery`)
|
|
54
|
+
*/
|
|
55
|
+
export interface AuditEntry {
|
|
56
|
+
/** Unique audit-entry identifier. */
|
|
57
|
+
id: string;
|
|
58
|
+
/** Request identifier; correlates to MCP request id. */
|
|
59
|
+
request_id: string;
|
|
60
|
+
/** When the tool was invoked (ISO 8601). */
|
|
61
|
+
timestamp: string;
|
|
62
|
+
/** When execution finished (ISO 8601); may be absent on in-flight or partial entries. */
|
|
63
|
+
completed_at: string | null;
|
|
64
|
+
/** End-to-end execution time in milliseconds, including downstream latency. */
|
|
65
|
+
duration_ms: number | null;
|
|
66
|
+
/** Authenticated Senpi user id who performed the action. */
|
|
67
|
+
user_id: string;
|
|
68
|
+
/** Exact tool name invoked. */
|
|
69
|
+
tool: string;
|
|
70
|
+
/** Action classification. */
|
|
71
|
+
action_type: "read" | "create" | "update" | "delete";
|
|
72
|
+
/** AI-generated reasoning string; null for read tools. */
|
|
73
|
+
ai_reasoning: string | null;
|
|
74
|
+
/** Boolean indicating successful completion. */
|
|
75
|
+
success: boolean;
|
|
76
|
+
/** Error code when `success === false`. */
|
|
77
|
+
error_code: string | null;
|
|
78
|
+
/** Failure details when `success === false`. */
|
|
79
|
+
error_message: string | null;
|
|
80
|
+
/** Resources touched by the action (each `{ type, id }`). */
|
|
81
|
+
affected_resources: Array<{
|
|
82
|
+
type: string;
|
|
83
|
+
id: string;
|
|
84
|
+
}>;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Pass-through MCP `audit_query` response payload (the `.data` portion of
|
|
88
|
+
* the MCP envelope, after `unwrapEnvelope` strips `success`/`meta`).
|
|
89
|
+
*/
|
|
90
|
+
export interface AuditQueryResult {
|
|
91
|
+
/** Audit entries on the current page. */
|
|
92
|
+
entries: AuditEntry[];
|
|
93
|
+
/** Number of entries on the current page. */
|
|
94
|
+
count: number;
|
|
95
|
+
/** Approximate total matching entries (exact for small sets). */
|
|
96
|
+
total: number;
|
|
97
|
+
/** Whether further results exist beyond the current page. */
|
|
98
|
+
has_more: boolean;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Discriminated error class thrown by {@link RuntimeHandle.auditQuery}.
|
|
102
|
+
*
|
|
103
|
+
* Codes:
|
|
104
|
+
* - `NOT_FOUND` — `listStrategies` returned 0 matches for the runtime's
|
|
105
|
+
* wallet (the wallet does not belong to the API-key user).
|
|
106
|
+
* - `UPSTREAM` — MCP returned an error (network, auth, schema).
|
|
107
|
+
* - `ABORTED` — caller aborted via `opts.signal` before MCP responded.
|
|
108
|
+
*/
|
|
109
|
+
export declare class AuditQueryError extends Error {
|
|
110
|
+
readonly code: "NOT_FOUND" | "UPSTREAM" | "ABORTED";
|
|
111
|
+
constructor(code: "NOT_FOUND" | "UPSTREAM" | "ABORTED", message: string);
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=audit-query.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit-query.types.d.ts","sourceRoot":"","sources":["../../src/runtime/audit-query.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACtD,iCAAiC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gEAAgE;IAChE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,qCAAqC;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,wDAAwD;IACxD,UAAU,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,yFAAyF;IACzF,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,+EAA+E;IAC/E,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,WAAW,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACrD,0DAA0D;IAC1D,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,gDAAgD;IAChD,OAAO,EAAE,OAAO,CAAC;IACjB,2CAA2C;IAC3C,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gDAAgD;IAChD,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,6DAA6D;IAC7D,kBAAkB,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzD;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,yCAAyC;IACzC,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,qBAAa,eAAgB,SAAQ,KAAK;IACxC,SAAgB,IAAI,EAAE,WAAW,GAAG,UAAU,GAAG,SAAS,CAAC;gBAE/C,IAAI,EAAE,WAAW,GAAG,UAAU,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM;CAKxE"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for the `RuntimeHandle.auditQuery` public method.
|
|
3
|
+
*
|
|
4
|
+
* These mirror the MCP `audit_query` tool contract (defined in
|
|
5
|
+
* senpi-hyperliquid-mcp/src/tools/audit.tools.ts) but expressed as plain
|
|
6
|
+
* TypeScript interfaces — Zod stays inside MCP, TypeBox stays inside
|
|
7
|
+
* runtime-api. Anything new added to the MCP zod schema must be reflected
|
|
8
|
+
* here as well.
|
|
9
|
+
*
|
|
10
|
+
* The implementation owns four MCP arguments and silently overrides any
|
|
11
|
+
* caller-supplied values — these are intentionally absent from
|
|
12
|
+
* {@link AuditQueryArgs}:
|
|
13
|
+
* - `resource_type` (always `"strategy"`)
|
|
14
|
+
* - `resource_id` (resolved wallet → strategyId)
|
|
15
|
+
* - `user_ids` (server-controlled — the MCP API key user)
|
|
16
|
+
* - `usernames` (server-controlled — same)
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Discriminated error class thrown by {@link RuntimeHandle.auditQuery}.
|
|
20
|
+
*
|
|
21
|
+
* Codes:
|
|
22
|
+
* - `NOT_FOUND` — `listStrategies` returned 0 matches for the runtime's
|
|
23
|
+
* wallet (the wallet does not belong to the API-key user).
|
|
24
|
+
* - `UPSTREAM` — MCP returned an error (network, auth, schema).
|
|
25
|
+
* - `ABORTED` — caller aborted via `opts.signal` before MCP responded.
|
|
26
|
+
*/
|
|
27
|
+
export class AuditQueryError extends Error {
|
|
28
|
+
code;
|
|
29
|
+
constructor(code, message) {
|
|
30
|
+
super(message);
|
|
31
|
+
this.name = "AuditQueryError";
|
|
32
|
+
this.code = code;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=audit-query.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit-query.types.js","sourceRoot":"","sources":["../../src/runtime/audit-query.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAoFH;;;;;;;;GAQG;AACH,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACxB,IAAI,CAAuC;IAE3D,YAAY,IAA0C,EAAE,OAAe;QACrE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF"}
|