@senpi/runtime 1.0.95-dev.runtime-phase-2.20260506193916 → 1.0.95-dev.runtime-phase-2-api.20260507130312

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 (95) hide show
  1. package/README.md +13 -0
  2. package/dist/index.d.ts +35 -100
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +33 -930
  5. package/dist/index.js.map +1 -1
  6. package/dist/plugin.d.ts +110 -0
  7. package/dist/plugin.d.ts.map +1 -0
  8. package/dist/plugin.js +1055 -0
  9. package/dist/plugin.js.map +1 -0
  10. package/dist/runtime/__tests__/helpers/runtime-gateway-harness.d.ts +3 -3
  11. package/dist/runtime/audit-query.types.d.ts +113 -0
  12. package/dist/runtime/audit-query.types.d.ts.map +1 -0
  13. package/dist/runtime/audit-query.types.js +35 -0
  14. package/dist/runtime/audit-query.types.js.map +1 -0
  15. package/dist/runtime/auto-update/coordinator.d.ts +12 -8
  16. package/dist/runtime/auto-update/coordinator.d.ts.map +1 -1
  17. package/dist/runtime/auto-update/coordinator.js +18 -17
  18. package/dist/runtime/auto-update/coordinator.js.map +1 -1
  19. package/dist/runtime/auto-update/gateway-restart.d.ts +9 -2
  20. package/dist/runtime/auto-update/gateway-restart.d.ts.map +1 -1
  21. package/dist/runtime/auto-update/gateway-restart.js +23 -13
  22. package/dist/runtime/auto-update/gateway-restart.js.map +1 -1
  23. package/dist/runtime/create-actions.d.ts.map +1 -1
  24. package/dist/runtime/create-actions.js +13 -2
  25. package/dist/runtime/create-actions.js.map +1 -1
  26. package/dist/runtime/run.d.ts +52 -1
  27. package/dist/runtime/run.d.ts.map +1 -1
  28. package/dist/runtime/run.js +9 -0
  29. package/dist/runtime/run.js.map +1 -1
  30. package/dist/runtime/runtime.d.ts +56 -0
  31. package/dist/runtime/runtime.d.ts.map +1 -1
  32. package/dist/runtime/runtime.js +169 -1
  33. package/dist/runtime/runtime.js.map +1 -1
  34. package/dist/runtime-api/config.d.ts +47 -0
  35. package/dist/runtime-api/config.d.ts.map +1 -0
  36. package/dist/runtime-api/config.js +74 -0
  37. package/dist/runtime-api/config.js.map +1 -0
  38. package/dist/runtime-api/handlers/audit.d.ts +78 -0
  39. package/dist/runtime-api/handlers/audit.d.ts.map +1 -0
  40. package/dist/runtime-api/handlers/audit.js +65 -0
  41. package/dist/runtime-api/handlers/audit.js.map +1 -0
  42. package/dist/runtime-api/handlers/group-by-scanner.d.ts +43 -0
  43. package/dist/runtime-api/handlers/group-by-scanner.d.ts.map +1 -0
  44. package/dist/runtime-api/handlers/group-by-scanner.js +43 -0
  45. package/dist/runtime-api/handlers/group-by-scanner.js.map +1 -0
  46. package/dist/runtime-api/handlers/ingest-signals.d.ts +54 -0
  47. package/dist/runtime-api/handlers/ingest-signals.d.ts.map +1 -0
  48. package/dist/runtime-api/handlers/ingest-signals.js +141 -0
  49. package/dist/runtime-api/handlers/ingest-signals.js.map +1 -0
  50. package/dist/runtime-api/handlers/lookup.d.ts +36 -0
  51. package/dist/runtime-api/handlers/lookup.d.ts.map +1 -0
  52. package/dist/runtime-api/handlers/lookup.js +31 -0
  53. package/dist/runtime-api/handlers/lookup.js.map +1 -0
  54. package/dist/runtime-api/handlers/types.d.ts +85 -0
  55. package/dist/runtime-api/handlers/types.d.ts.map +1 -0
  56. package/dist/runtime-api/handlers/types.js +8 -0
  57. package/dist/runtime-api/handlers/types.js.map +1 -0
  58. package/dist/runtime-api/lifecycle.d.ts +98 -0
  59. package/dist/runtime-api/lifecycle.d.ts.map +1 -0
  60. package/dist/runtime-api/lifecycle.js +137 -0
  61. package/dist/runtime-api/lifecycle.js.map +1 -0
  62. package/dist/runtime-api/readiness.d.ts +37 -0
  63. package/dist/runtime-api/readiness.d.ts.map +1 -0
  64. package/dist/runtime-api/readiness.js +35 -0
  65. package/dist/runtime-api/readiness.js.map +1 -0
  66. package/dist/runtime-api/routes/audit.d.ts +40 -0
  67. package/dist/runtime-api/routes/audit.d.ts.map +1 -0
  68. package/dist/runtime-api/routes/audit.js +90 -0
  69. package/dist/runtime-api/routes/audit.js.map +1 -0
  70. package/dist/runtime-api/routes/audit.schema.d.ts +75 -0
  71. package/dist/runtime-api/routes/audit.schema.d.ts.map +1 -0
  72. package/dist/runtime-api/routes/audit.schema.js +78 -0
  73. package/dist/runtime-api/routes/audit.schema.js.map +1 -0
  74. package/dist/runtime-api/routes/health.d.ts +53 -0
  75. package/dist/runtime-api/routes/health.d.ts.map +1 -0
  76. package/dist/runtime-api/routes/health.js +48 -0
  77. package/dist/runtime-api/routes/health.js.map +1 -0
  78. package/dist/runtime-api/routes/signals.d.ts +50 -0
  79. package/dist/runtime-api/routes/signals.d.ts.map +1 -0
  80. package/dist/runtime-api/routes/signals.js +90 -0
  81. package/dist/runtime-api/routes/signals.js.map +1 -0
  82. package/dist/runtime-api/routes/signals.schema.d.ts +94 -0
  83. package/dist/runtime-api/routes/signals.schema.d.ts.map +1 -0
  84. package/dist/runtime-api/routes/signals.schema.js +58 -0
  85. package/dist/runtime-api/routes/signals.schema.js.map +1 -0
  86. package/dist/runtime-api/server.d.ts +79 -0
  87. package/dist/runtime-api/server.d.ts.map +1 -0
  88. package/dist/runtime-api/server.js +109 -0
  89. package/dist/runtime-api/server.js.map +1 -0
  90. package/dist/senpi/client.d.ts +92 -2
  91. package/dist/senpi/client.d.ts.map +1 -1
  92. package/dist/senpi/client.js +181 -8
  93. package/dist/senpi/client.js.map +1 -1
  94. package/openclaw.plugin.json +24 -0
  95. 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 CHANGED
@@ -1,103 +1,38 @@
1
1
  /**
2
- * Senpi core trading plugin — single plugin exposing all core features:
3
- * actions, scanners, dsl, risk, health.
4
- * Default export: OpenClaw plugin entry (register(api)).
5
- * Named export run(): programmatic/standalone entry.
2
+ * Plugin entry — thin wrapper that initializes dd-trace before loading the
3
+ * real plugin module.
4
+ *
5
+ * Why this file exists:
6
+ * ESM hoists static `import` statements above any module-body code. If
7
+ * dd-trace.init() lived inside `plugin.ts`, the `import { ... } from "fastify"`
8
+ * line at the top of that file would already have loaded Fastify (with
9
+ * un-patched prototypes) before init() ran. dd-trace can't patch modules
10
+ * retroactively, so the in-file gate would yield zero coverage.
11
+ *
12
+ * This wrapper sidesteps the problem. ESM resolves the static imports below
13
+ * in source order: `dd-trace/initialize.mjs` runs first (registering the
14
+ * ESM loader hook + CJS require interceptors), then `./plugin.js` loads.
15
+ * Anything `plugin.ts` imports — Fastify, our HTTP server, the Senpi MCP
16
+ * client — flows through dd-trace's hooks and gets patched.
17
+ *
18
+ * We can't rely on `NODE_OPTIONS="--require dd-trace/init"` because the
19
+ * openclaw container's env is owned by upstream and out of our control.
20
+ *
21
+ * Caveat — partial coverage:
22
+ * Modules that the OpenClaw harness already loaded before importing this
23
+ * plugin (e.g. its own `http` usage) are NOT patched. dd-trace can only
24
+ * patch modules that are loaded *after* its hooks are installed. Within
25
+ * our plugin's own object graph, that's everything; outside it, nothing.
26
+ *
27
+ * Gating:
28
+ * `dd-trace/initialize.mjs` reads `DD_TRACE_ENABLED` and other `DD_*` env
29
+ * vars internally. With no agent configured, it stays a near-no-op — no
30
+ * spans are emitted and the connection-failure noise is silent. Tests do
31
+ * not need to opt out.
32
+ *
33
+ * Operator docs: see `docs/runtime-docs/runtime-api.md` § "Tracing (Datadog APM)".
6
34
  */
7
- import type { SenpiEventBus } from "./dsl/events/index.js";
8
- /** Initialize all core features (DSL, risk, health) on the given event bus. */
9
- export declare function initCore(bus: SenpiEventBus): void;
10
- export { initDsl, DslPlugin, dslLogger, setDslLogLevel, parseDslPluginConfig, DslConfigValidationError, dslValidationIssue, EVENTS as DslEvents, DSL_EVENTS, } from "./dsl/index.js";
11
- export type { DslArchivedClose, DslPluginConfig, DslPositionSummary, DslState, DslTickResult, ExitBlockConfig, DslValidationIssue, DslValidationIssueCode, } from "./dsl/index.js";
12
- export { initRisk } from "./risk/index.js";
13
- export { createHealthStateModule, initHealth } from "./health/index.js";
14
- export type { ComponentHealth, ComponentHealthStatus, ComponentSystemState, DslComponentHealthStatus, DslSystemState, RuntimeHealthStatus, RuntimeLogLevel, RuntimeSystemState, ScannerComponentHealthStatus, ScannerRegistrationSystemState, ScannerSystemState, StateStatusProvider, } from "./health/index.js";
15
- export { HOOK_EVENT } from './types/index.js';
16
- export type { HookEventType, HookEvent, HookSystem, StrategyConfig, StateManager, GateCheckResult, RiskGuard, NotificationService, Signal, ScanResult, } from './types/index.js';
17
- export { ScanStatus } from './types/index.js';
18
- export type { ActionType, DecisionMode, ActionConfig, ActionContext, ActionDecision, ActionResult, Action, ActionFactory, ActionManifest, ActionScanPayload, LlmDecisionRequest, LlmDecisionResponse, LlmDecision, } from './actions/types.js';
19
- export type { ContextBuilder } from './context/types.js';
20
- export { DecisionEngine, LlmDecisionStrategy, NoDecisionStrategy, } from './actions/decision-engine.js';
21
- export { OpenClawLlmDecision, AnthropicLlmDecision, createLlmDecision } from './actions/llm-decision/index.js';
22
- /** @deprecated Use OpenClawLlmDecision instead */
23
- export { OpenClawLlmDecision as LlmDecisionClient } from './actions/llm-decision/index.js';
24
- export type { DecisionStrategy, DecisionRequest } from './actions/decision-engine.js';
25
- export { OpenPositionAction, openPositionFactory, openPositionManifest, } from './actions/open-position/open-position.action.js';
26
- export { ClosePositionAction, closePositionFactory, closePositionManifest, } from './actions/close-position/close-position.action.js';
27
- export { SenpiClient } from './senpi/index.js';
28
- export type { McpTransport, SenpiClientConfig, CreatePositionRequest, CreatePositionOrder, CreatePositionResult, CreatePositionOrderResult, OrderDirection, OrderType, LeverageType, TimeInForce, ExitOrderType, StopLoss, TakeProfit, ListStrategiesFilters, StrategySummary, } from './senpi/index.js';
29
- export { createScannerRuntimeModule, createSenpiScannerProviders, emergingMoversScanner, momentumScanner, oiTrackerScanner, providerInput, prescreenerScanner, PersistencePolicy, RetentionPolicy, ScanStatus as ScannerScanStatus, SkipScan, } from './scanners/index.js';
30
- export type { ScannerId, StrategyId, InstrumentContext, Instrument, Candle, CandleResult, ParsedCandles, OiSnapshot, SmMarket, Candidate, ReadSignalsFilter as ScannerReadSignalsFilter, ProviderLogLevel, ProviderLogger, ProviderToolClient, SenpiProviderCacheTtlMs, SenpiProviderTimeouts, SenpiProviderToolNames, SenpiScannerProviderFactoryOptions, SenpiToolClient, Scanner as RuntimeScanner, ScannerDataProviders, ScannerDefinition, ScannerHooks, ProviderInputDescriptor, InstrumentsInputDescriptor, CandlesInputDescriptor, SmDataInputDescriptor, ActivePositionsInputDescriptor, ScannerInputDescriptor, ScannerInput, ExternalScannerIngestRequest, ExternalScannerIngestResult, ExternalScannerIngestSignalItem, ScannerRegistrationSummary, ScannerRuntimeEventMap, ScannerRuntimeEventName, ScannerRuntimeModule, ScannerRuntimeModuleOptions, StrategyRegistration as ScannerStrategyRegistration, } from './scanners/index.js';
31
- export { run } from "./runtime/run.js";
32
- export type { RunOptions, RuntimeHandle } from "./runtime/run.js";
33
- export { loadRuntimeConfig } from "./runtime/load-runtime-config.js";
34
- export type { LoadRuntimeConfigOptions } from "./runtime/load-runtime-config.js";
35
- export { Runtime } from "./runtime/runtime.js";
36
- export type { RuntimeOptions } from "./runtime/runtime.js";
37
- /** Plugin config shape (aligned with openclaw.plugin.json configSchema). Source of truth for strategies is the registry, not config. */
38
- export interface SenpiRuntimePluginConfig {
39
- stateDir?: string;
40
- apiKey?: string;
41
- logLevel?: string;
42
- autoUpdate?: Record<string, unknown>;
43
- }
44
- interface PluginLogger {
45
- info(...args: unknown[]): void;
46
- warn(...args: unknown[]): void;
47
- error(message: unknown, meta?: unknown): void;
48
- }
49
- interface PluginApi {
50
- id: string;
51
- name: string;
52
- pluginConfig?: Record<string, unknown>;
53
- logger: PluginLogger;
54
- config?: Record<string, unknown>;
55
- runtime: {
56
- state: {
57
- resolveStateDir(): string;
58
- };
59
- config?: {
60
- loadConfig(): Promise<unknown>;
61
- writeConfigFile(config: unknown): Promise<void>;
62
- };
63
- };
64
- registerService(service: {
65
- id: string;
66
- start: (ctx: {
67
- stateDir: string;
68
- }) => void | Promise<void>;
69
- stop?: (ctx: {
70
- stateDir: string;
71
- }) => void | Promise<void>;
72
- }): void;
73
- registerCli(fn: (ctx: {
74
- program: {
75
- command: (name: string, desc?: string) => unknown;
76
- };
77
- }) => void, opts?: {
78
- commands: string[];
79
- }): void;
80
- registerGatewayMethod(name: string, handler: (ctx: {
81
- respond: (ok: boolean, value: unknown) => void;
82
- params?: Record<string, unknown>;
83
- }) => void | Promise<void>): void;
84
- on(hookName: string, handler: (...args: unknown[]) => void | Promise<void>, opts?: {
85
- priority?: number;
86
- }): void;
87
- }
88
- /**
89
- * OpenClaw plugin entry.
90
- * Boots from internal registry (installed_runtimes.json) in stateDir; does not read runtime list from config.
91
- */
92
- declare const senpiRuntimePlugin: {
93
- id: string;
94
- name: string;
95
- version: string;
96
- description: string;
97
- configSchema: {
98
- parse(value: unknown): Record<string, unknown>;
99
- };
100
- register(api: PluginApi): void;
101
- };
102
- export default senpiRuntimePlugin;
35
+ import "dd-trace/initialize.mjs";
36
+ export { default } from "./plugin.js";
37
+ export * from "./plugin.js";
103
38
  //# sourceMappingURL=index.d.ts.map
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,yBAAyB,CAAC;AAEjC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,cAAc,aAAa,CAAC"}