@senpi/runtime 1.0.95-dev.runtime-phase-2.20260504183024 → 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.
Files changed (86) hide show
  1. package/README.md +13 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +156 -31
  4. package/dist/index.js.map +1 -1
  5. package/dist/runtime/audit-query.types.d.ts +113 -0
  6. package/dist/runtime/audit-query.types.d.ts.map +1 -0
  7. package/dist/runtime/audit-query.types.js +35 -0
  8. package/dist/runtime/audit-query.types.js.map +1 -0
  9. package/dist/runtime/auto-update/coordinator.d.ts +12 -8
  10. package/dist/runtime/auto-update/coordinator.d.ts.map +1 -1
  11. package/dist/runtime/auto-update/coordinator.js +18 -17
  12. package/dist/runtime/auto-update/coordinator.js.map +1 -1
  13. package/dist/runtime/auto-update/gateway-restart.d.ts +9 -2
  14. package/dist/runtime/auto-update/gateway-restart.d.ts.map +1 -1
  15. package/dist/runtime/auto-update/gateway-restart.js +23 -13
  16. package/dist/runtime/auto-update/gateway-restart.js.map +1 -1
  17. package/dist/runtime/run.d.ts +46 -0
  18. package/dist/runtime/run.d.ts.map +1 -1
  19. package/dist/runtime/run.js +9 -0
  20. package/dist/runtime/run.js.map +1 -1
  21. package/dist/runtime/runtime.d.ts +56 -0
  22. package/dist/runtime/runtime.d.ts.map +1 -1
  23. package/dist/runtime/runtime.js +140 -0
  24. package/dist/runtime/runtime.js.map +1 -1
  25. package/dist/runtime-api/config.d.ts +47 -0
  26. package/dist/runtime-api/config.d.ts.map +1 -0
  27. package/dist/runtime-api/config.js +74 -0
  28. package/dist/runtime-api/config.js.map +1 -0
  29. package/dist/runtime-api/handlers/audit.d.ts +76 -0
  30. package/dist/runtime-api/handlers/audit.d.ts.map +1 -0
  31. package/dist/runtime-api/handlers/audit.js +63 -0
  32. package/dist/runtime-api/handlers/audit.js.map +1 -0
  33. package/dist/runtime-api/handlers/group-by-scanner.d.ts +43 -0
  34. package/dist/runtime-api/handlers/group-by-scanner.d.ts.map +1 -0
  35. package/dist/runtime-api/handlers/group-by-scanner.js +43 -0
  36. package/dist/runtime-api/handlers/group-by-scanner.js.map +1 -0
  37. package/dist/runtime-api/handlers/ingest-signals.d.ts +54 -0
  38. package/dist/runtime-api/handlers/ingest-signals.d.ts.map +1 -0
  39. package/dist/runtime-api/handlers/ingest-signals.js +118 -0
  40. package/dist/runtime-api/handlers/ingest-signals.js.map +1 -0
  41. package/dist/runtime-api/handlers/lookup.d.ts +36 -0
  42. package/dist/runtime-api/handlers/lookup.d.ts.map +1 -0
  43. package/dist/runtime-api/handlers/lookup.js +31 -0
  44. package/dist/runtime-api/handlers/lookup.js.map +1 -0
  45. package/dist/runtime-api/handlers/types.d.ts +80 -0
  46. package/dist/runtime-api/handlers/types.d.ts.map +1 -0
  47. package/dist/runtime-api/handlers/types.js +8 -0
  48. package/dist/runtime-api/handlers/types.js.map +1 -0
  49. package/dist/runtime-api/lifecycle.d.ts +98 -0
  50. package/dist/runtime-api/lifecycle.d.ts.map +1 -0
  51. package/dist/runtime-api/lifecycle.js +137 -0
  52. package/dist/runtime-api/lifecycle.js.map +1 -0
  53. package/dist/runtime-api/readiness.d.ts +37 -0
  54. package/dist/runtime-api/readiness.d.ts.map +1 -0
  55. package/dist/runtime-api/readiness.js +35 -0
  56. package/dist/runtime-api/readiness.js.map +1 -0
  57. package/dist/runtime-api/routes/audit.d.ts +40 -0
  58. package/dist/runtime-api/routes/audit.d.ts.map +1 -0
  59. package/dist/runtime-api/routes/audit.js +82 -0
  60. package/dist/runtime-api/routes/audit.js.map +1 -0
  61. package/dist/runtime-api/routes/audit.schema.d.ts +75 -0
  62. package/dist/runtime-api/routes/audit.schema.d.ts.map +1 -0
  63. package/dist/runtime-api/routes/audit.schema.js +78 -0
  64. package/dist/runtime-api/routes/audit.schema.js.map +1 -0
  65. package/dist/runtime-api/routes/health.d.ts +53 -0
  66. package/dist/runtime-api/routes/health.d.ts.map +1 -0
  67. package/dist/runtime-api/routes/health.js +48 -0
  68. package/dist/runtime-api/routes/health.js.map +1 -0
  69. package/dist/runtime-api/routes/signals.d.ts +50 -0
  70. package/dist/runtime-api/routes/signals.d.ts.map +1 -0
  71. package/dist/runtime-api/routes/signals.js +65 -0
  72. package/dist/runtime-api/routes/signals.js.map +1 -0
  73. package/dist/runtime-api/routes/signals.schema.d.ts +94 -0
  74. package/dist/runtime-api/routes/signals.schema.d.ts.map +1 -0
  75. package/dist/runtime-api/routes/signals.schema.js +58 -0
  76. package/dist/runtime-api/routes/signals.schema.js.map +1 -0
  77. package/dist/runtime-api/server.d.ts +79 -0
  78. package/dist/runtime-api/server.d.ts.map +1 -0
  79. package/dist/runtime-api/server.js +105 -0
  80. package/dist/runtime-api/server.js.map +1 -0
  81. package/dist/senpi/client.d.ts +92 -2
  82. package/dist/senpi/client.d.ts.map +1 -1
  83. package/dist/senpi/client.js +181 -8
  84. package/dist/senpi/client.js.map +1 -1
  85. package/openclaw.plugin.json +24 -0
  86. 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
@@ -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":"AAAA;;;;;GAKG;AAwCH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAqB3D,+EAA+E;AAC/E,wBAAgB,QAAQ,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAIjD;AAGD,OAAO,EACL,OAAO,EACP,SAAS,EACT,SAAS,EACT,cAAc,EACd,oBAAoB,EACpB,wBAAwB,EACxB,kBAAkB,EAClB,MAAM,IAAI,SAAS,EACnB,UAAU,GACX,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,QAAQ,EACR,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAG3C,OAAO,EAAE,uBAAuB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACxE,YAAY,EACV,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,4BAA4B,EAC5B,8BAA8B,EAC9B,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EACV,aAAa,EACb,SAAS,EACT,UAAU,EACV,cAAc,EACd,YAAY,EACZ,eAAe,EACf,SAAS,EACT,mBAAmB,EACnB,MAAM,EACN,UAAU,GACX,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,YAAY,EACV,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,cAAc,EACd,YAAY,EACZ,MAAM,EACN,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAE5B,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAC/G,kDAAkD;AAClD,OAAO,EAAE,mBAAmB,IAAI,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAC3F,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEtF,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,iDAAiD,CAAC;AACzD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,mDAAmD,CAAC;AAG3D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,yBAAyB,EACzB,cAAc,EACd,SAAS,EACT,YAAY,EACZ,WAAW,EACX,aAAa,EACb,QAAQ,EACR,UAAU,EACV,qBAAqB,EACrB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,0BAA0B,EAC1B,2BAA2B,EAC3B,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,UAAU,IAAI,iBAAiB,EAC/B,QAAQ,GACT,MAAM,qBAAqB,CAAC;AAE7B,YAAY,EACV,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,UAAU,EACV,MAAM,EACN,YAAY,EACZ,aAAa,EACb,UAAU,EACV,QAAQ,EACR,SAAS,EACT,iBAAiB,IAAI,wBAAwB,EAC7C,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,kCAAkC,EAClC,eAAe,EACf,OAAO,IAAI,cAAc,EACzB,oBAAoB,EACpB,iBAAiB,EACjB,YAAY,EACZ,uBAAuB,EACvB,0BAA0B,EAC1B,sBAAsB,EACtB,qBAAqB,EACrB,8BAA8B,EAC9B,sBAAsB,EACtB,YAAY,EACZ,4BAA4B,EAC5B,2BAA2B,EAC3B,+BAA+B,EAC/B,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,2BAA2B,EAC3B,oBAAoB,IAAI,2BAA2B,GACpD,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,YAAY,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,wIAAwI;AACxI,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAID,UAAU,YAAY;IACpB,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/B,IAAI,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/B,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC/C;AAED,UAAU,SAAS;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,EAAE;QACP,KAAK,EAAE;YACL,eAAe,IAAI,MAAM,CAAC;SAC3B,CAAC;QACF,MAAM,CAAC,EAAE;YACP,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;YAC/B,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;SACjD,CAAC;KACH,CAAC;IACF,eAAe,CAAC,OAAO,EAAE;QACvB,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,CAAC,GAAG,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;KAC5D,GAAG,IAAI,CAAC;IACT,WAAW,CACT,EAAE,EAAE,CAAC,GAAG,EAAE;QAAE,OAAO,EAAE;YAAE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,OAAO,CAAA;SAAE,CAAA;KAAE,KAAK,IAAI,EACrF,IAAI,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,GAC5B,IAAI,CAAC;IACR,qBAAqB,CACnB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,CAAC,GAAG,EAAE;QAAE,OAAO,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAC3H,IAAI,CAAC;IACR,EAAE,CACA,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EACrD,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAC3B,IAAI,CAAC;CACT;AA6HD;;;GAGG;AACH,QAAA,MAAM,kBAAkB;;;;;;qBAOP,OAAO;;kBAQR,SAAS;CAwuBxB,CAAC;AAmLF,eAAe,kBAAkB,CAAC"}
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
- // Stop the coordinator first so it cannot schedule a new tick or call
307
- // stopRuntimesForUpdate() while we are tearing down the handles below.
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 result = await runtime.handle.ingestExternalScannerData(request);
561
- respond(true, result);
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"}