@senpi/trading-recipe 1.0.69 → 1.0.71

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 (120) hide show
  1. package/README.md +1 -1
  2. package/dist/actions/close-position/close-position.action.js +4 -4
  3. package/dist/actions/close-position/close-position.action.js.map +1 -1
  4. package/dist/actions/open-position/open-position.action.d.ts.map +1 -1
  5. package/dist/actions/open-position/open-position.action.js +4 -5
  6. package/dist/actions/open-position/open-position.action.js.map +1 -1
  7. package/dist/actions/types.d.ts +1 -1
  8. package/dist/actions/types.d.ts.map +1 -1
  9. package/dist/cli/guide-commands.d.ts +1 -0
  10. package/dist/cli/guide-commands.d.ts.map +1 -1
  11. package/dist/cli/guide-commands.js +102 -12
  12. package/dist/cli/guide-commands.js.map +1 -1
  13. package/dist/cli/senpi-commands.d.ts.map +1 -1
  14. package/dist/cli/senpi-commands.js +162 -10
  15. package/dist/cli/senpi-commands.js.map +1 -1
  16. package/dist/dsl/plugin/index.d.ts +22 -0
  17. package/dist/dsl/plugin/index.d.ts.map +1 -1
  18. package/dist/dsl/plugin/index.js +189 -59
  19. package/dist/dsl/plugin/index.js.map +1 -1
  20. package/dist/health/index.d.ts +22 -2
  21. package/dist/health/index.d.ts.map +1 -1
  22. package/dist/health/index.js +186 -4
  23. package/dist/health/index.js.map +1 -1
  24. package/dist/health/types.d.ts +114 -0
  25. package/dist/health/types.d.ts.map +1 -0
  26. package/dist/health/types.js +2 -0
  27. package/dist/health/types.js.map +1 -0
  28. package/dist/index.d.ts +3 -2
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +219 -18
  31. package/dist/index.js.map +1 -1
  32. package/dist/runtime/build-action-scan-payload.d.ts +4 -4
  33. package/dist/runtime/build-action-scan-payload.d.ts.map +1 -1
  34. package/dist/runtime/build-action-scan-payload.js +15 -19
  35. package/dist/runtime/build-action-scan-payload.js.map +1 -1
  36. package/dist/runtime/create-action-context.d.ts +3 -3
  37. package/dist/runtime/create-action-context.d.ts.map +1 -1
  38. package/dist/runtime/create-action-context.js +5 -5
  39. package/dist/runtime/create-action-context.js.map +1 -1
  40. package/dist/runtime/create-actions.d.ts +1 -1
  41. package/dist/runtime/create-actions.d.ts.map +1 -1
  42. package/dist/runtime/create-actions.js +2 -3
  43. package/dist/runtime/create-actions.js.map +1 -1
  44. package/dist/runtime/create-runtime-context.d.ts +12 -12
  45. package/dist/runtime/create-runtime-context.d.ts.map +1 -1
  46. package/dist/runtime/create-runtime-context.js +15 -13
  47. package/dist/runtime/create-runtime-context.js.map +1 -1
  48. package/dist/runtime/create-scanner-module.d.ts +1 -1
  49. package/dist/runtime/create-scanner-module.js +4 -4
  50. package/dist/runtime/create-scanner-module.js.map +1 -1
  51. package/dist/runtime/index.d.ts +4 -4
  52. package/dist/runtime/index.d.ts.map +1 -1
  53. package/dist/runtime/index.js +3 -3
  54. package/dist/runtime/index.js.map +1 -1
  55. package/dist/runtime/load-trading-recipe.d.ts +2 -2
  56. package/dist/runtime/load-trading-recipe.d.ts.map +1 -1
  57. package/dist/runtime/load-trading-recipe.js +22 -10
  58. package/dist/runtime/load-trading-recipe.js.map +1 -1
  59. package/dist/runtime/map-strategies-registration.d.ts +6 -4
  60. package/dist/runtime/map-strategies-registration.d.ts.map +1 -1
  61. package/dist/runtime/map-strategies-registration.js +14 -22
  62. package/dist/runtime/map-strategies-registration.js.map +1 -1
  63. package/dist/runtime/map-strategies.d.ts +6 -4
  64. package/dist/runtime/map-strategies.d.ts.map +1 -1
  65. package/dist/runtime/map-strategies.js +42 -44
  66. package/dist/runtime/map-strategies.js.map +1 -1
  67. package/dist/runtime/recipe-version.d.ts +15 -0
  68. package/dist/runtime/recipe-version.d.ts.map +1 -0
  69. package/dist/runtime/recipe-version.js +25 -0
  70. package/dist/runtime/recipe-version.js.map +1 -0
  71. package/dist/runtime/reconcile-state.d.ts +1 -1
  72. package/dist/runtime/reconcile-state.js +1 -1
  73. package/dist/runtime/run.d.ts +5 -0
  74. package/dist/runtime/run.d.ts.map +1 -1
  75. package/dist/runtime/run.js +7 -0
  76. package/dist/runtime/run.js.map +1 -1
  77. package/dist/runtime/runtime.d.ts +8 -4
  78. package/dist/runtime/runtime.d.ts.map +1 -1
  79. package/dist/runtime/runtime.js +75 -40
  80. package/dist/runtime/runtime.js.map +1 -1
  81. package/dist/runtime/state-layout.d.ts +48 -0
  82. package/dist/runtime/state-layout.d.ts.map +1 -0
  83. package/dist/runtime/state-layout.js +87 -0
  84. package/dist/runtime/state-layout.js.map +1 -0
  85. package/dist/runtime/strategy-registry.d.ts +17 -0
  86. package/dist/runtime/strategy-registry.d.ts.map +1 -1
  87. package/dist/runtime/strategy-registry.js +32 -0
  88. package/dist/runtime/strategy-registry.js.map +1 -1
  89. package/dist/runtime/trading-recipe-schema.d.ts +16 -634
  90. package/dist/runtime/trading-recipe-schema.d.ts.map +1 -1
  91. package/dist/runtime/trading-recipe-schema.js +3 -9
  92. package/dist/runtime/trading-recipe-schema.js.map +1 -1
  93. package/dist/scanners/engine/engine.d.ts +7 -0
  94. package/dist/scanners/engine/engine.d.ts.map +1 -1
  95. package/dist/scanners/engine/engine.js +20 -12
  96. package/dist/scanners/engine/engine.js.map +1 -1
  97. package/dist/scanners/engine/strategy-registry.d.ts +3 -0
  98. package/dist/scanners/engine/strategy-registry.d.ts.map +1 -1
  99. package/dist/scanners/engine/strategy-registry.js +10 -0
  100. package/dist/scanners/engine/strategy-registry.js.map +1 -1
  101. package/dist/scanners/runtime-module.d.ts +10 -6
  102. package/dist/scanners/runtime-module.d.ts.map +1 -1
  103. package/dist/scanners/runtime-module.js +254 -12
  104. package/dist/scanners/runtime-module.js.map +1 -1
  105. package/dist/scripts/run-dsl-standalone-live.js +5 -7
  106. package/dist/scripts/run-dsl-standalone-live.js.map +1 -1
  107. package/dist/scripts/run-dsl-standalone-mock.js +3 -4
  108. package/dist/scripts/run-dsl-standalone-mock.js.map +1 -1
  109. package/dist/types/runtime.d.ts +1 -1
  110. package/dist/types/runtime.d.ts.map +1 -1
  111. package/examples/strategies/dsl-showcase.yaml +8 -3
  112. package/examples/strategies/dsl.yaml +4 -5
  113. package/examples/strategies/fox-minimal-loosened.yaml +8 -9
  114. package/examples/strategies/fox-minimal.yaml +8 -9
  115. package/examples/strategies/minimal.yaml +7 -8
  116. package/examples/strategies/viper.yaml +7 -8
  117. package/examples/strategies/wolf.yaml +7 -8
  118. package/examples/yamls/sample-with-dsl-and-emerging-movers.yaml +9 -10
  119. package/openclaw.plugin.json +1 -1
  120. package/package.json +1 -1
@@ -1,9 +1,191 @@
1
+ const HEALTH_ORDER = {
2
+ healthy: 0,
3
+ disabled: 0,
4
+ unknown: 1,
5
+ degraded: 2,
6
+ unhealthy: 3,
7
+ };
8
+ export function createHealthStateModule(options) {
9
+ const startedAtMs = options.startedAt ?? Date.now();
10
+ const providers = { ...options.providers };
11
+ return {
12
+ async getHealthStatus() {
13
+ const [scanners, dsl] = await Promise.all([
14
+ readProviderHealth({
15
+ component: "scanners",
16
+ provider: providers.scanners,
17
+ fallback: buildScannerHealthFallback("Scanners provider is not registered."),
18
+ }),
19
+ readProviderHealth({
20
+ component: "dsl",
21
+ provider: providers.dsl,
22
+ fallback: buildDslHealthFallback("DSL provider is not registered."),
23
+ }),
24
+ ]);
25
+ return {
26
+ ...(options.recipeId ? { recipeId: options.recipeId } : {}),
27
+ recipeName: options.recipeName,
28
+ startedAt: new Date(startedAtMs).toISOString(),
29
+ generatedAt: new Date().toISOString(),
30
+ health: deriveRuntimeHealth([scanners.health, providers.dsl ? dsl.health : undefined]),
31
+ components: {
32
+ scanners,
33
+ ...(providers.dsl ? { dsl } : {}),
34
+ },
35
+ };
36
+ },
37
+ async getSystemState() {
38
+ const [scanners, dsl] = await Promise.all([
39
+ readProviderState({
40
+ component: "scanners",
41
+ provider: providers.scanners,
42
+ fallback: buildScannerStateFallback("Scanners provider is not registered."),
43
+ }),
44
+ readProviderState({
45
+ component: "dsl",
46
+ provider: providers.dsl,
47
+ fallback: buildDslStateFallback("DSL provider is not registered."),
48
+ }),
49
+ ]);
50
+ return {
51
+ ...(options.recipeId ? { recipeId: options.recipeId } : {}),
52
+ recipeName: options.recipeName,
53
+ stateDir: options.stateDir,
54
+ startedAt: new Date(startedAtMs).toISOString(),
55
+ generatedAt: new Date().toISOString(),
56
+ health: deriveRuntimeHealth([scanners.health, providers.dsl ? dsl.health : undefined]),
57
+ components: {
58
+ scanners,
59
+ ...(providers.dsl ? { dsl } : {}),
60
+ },
61
+ };
62
+ },
63
+ registerProvider(name, provider) {
64
+ providers[name] = provider;
65
+ },
66
+ };
67
+ }
68
+ export function deriveRuntimeHealth(healths) {
69
+ const values = healths.filter((value) => value !== undefined);
70
+ if (values.length === 0) {
71
+ return "unknown";
72
+ }
73
+ const active = values.filter((value) => value !== "disabled");
74
+ const source = active.length > 0 ? active : values;
75
+ let worst = source[0] ?? "unknown";
76
+ for (const value of source) {
77
+ if (HEALTH_ORDER[value] > HEALTH_ORDER[worst]) {
78
+ worst = value;
79
+ }
80
+ }
81
+ return worst;
82
+ }
1
83
  /**
2
- * Health feature of Senpi core trading plugin.
3
- * Placeholder for health checks, liveness, and diagnostics.
84
+ * Legacy hook-based health initializer retained for compatibility.
85
+ * Runtime health/state aggregation is now handled by createHealthStateModule().
4
86
  */
5
- // TODO: implement health module (liveness, readiness, metrics, etc.)
6
87
  export function initHealth(_bus) {
7
- // no-op until implemented
88
+ // no-op
89
+ }
90
+ async function readProviderHealth(options) {
91
+ if (!options.provider) {
92
+ return options.fallback;
93
+ }
94
+ try {
95
+ return await options.provider.getHealthStatus();
96
+ }
97
+ catch (error) {
98
+ return {
99
+ ...options.fallback,
100
+ summary: `Failed to query ${options.component} health.`,
101
+ updatedAt: new Date().toISOString(),
102
+ error: formatProviderError(error),
103
+ };
104
+ }
105
+ }
106
+ async function readProviderState(options) {
107
+ if (!options.provider) {
108
+ return options.fallback;
109
+ }
110
+ try {
111
+ return await options.provider.getSystemState();
112
+ }
113
+ catch (error) {
114
+ return {
115
+ ...options.fallback,
116
+ updatedAt: new Date().toISOString(),
117
+ error: formatProviderError(error),
118
+ };
119
+ }
120
+ }
121
+ function buildScannerHealthFallback(error) {
122
+ return {
123
+ component: "scanners",
124
+ health: "unhealthy",
125
+ updatedAt: new Date().toISOString(),
126
+ summary: "Failed to query scanners health.",
127
+ error,
128
+ totals: {
129
+ registered: 0,
130
+ enabled: 0,
131
+ inFlight: 0,
132
+ degraded: 0,
133
+ unhealthy: 1,
134
+ },
135
+ scanners: [],
136
+ };
137
+ }
138
+ function buildDslHealthFallback(error) {
139
+ return {
140
+ component: "dsl",
141
+ health: "unhealthy",
142
+ updatedAt: new Date().toISOString(),
143
+ summary: "Failed to query DSL health.",
144
+ error,
145
+ enabled: false,
146
+ activePositions: 0,
147
+ };
148
+ }
149
+ function buildScannerStateFallback(error) {
150
+ return {
151
+ component: "scanners",
152
+ health: "unhealthy",
153
+ updatedAt: new Date().toISOString(),
154
+ error,
155
+ state: {
156
+ totalRegistered: 0,
157
+ totalEnabled: 0,
158
+ scanners: [],
159
+ },
160
+ };
161
+ }
162
+ function buildDslStateFallback(error) {
163
+ return {
164
+ component: "dsl",
165
+ health: "unhealthy",
166
+ updatedAt: new Date().toISOString(),
167
+ error,
168
+ state: {
169
+ enabled: false,
170
+ intervalMs: 0,
171
+ preset: "unknown",
172
+ monitor: {
173
+ running: false,
174
+ inFlight: false,
175
+ lastTickStartedAt: null,
176
+ lastTickFinishedAt: null,
177
+ lastTickError: null,
178
+ nextTickAt: null,
179
+ tickAttemptCount: 0,
180
+ tickSuccessCount: 0,
181
+ tickErrorCount: 0,
182
+ },
183
+ activePositions: [],
184
+ positions: [],
185
+ },
186
+ };
187
+ }
188
+ function formatProviderError(error) {
189
+ return error instanceof Error ? error.message : String(error);
8
190
  }
9
191
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/health/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,qEAAqE;AAErE,MAAM,UAAU,UAAU,CAAC,IAAmG;IAC5H,0BAA0B;AAC5B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/health/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,114 @@
1
+ export type ComponentHealth = "healthy" | "degraded" | "unhealthy" | "disabled" | "unknown";
2
+ export interface ComponentHealthStatus {
3
+ component: string;
4
+ health: ComponentHealth;
5
+ updatedAt: string;
6
+ summary: string;
7
+ error?: string;
8
+ }
9
+ export interface ComponentSystemState<TState = unknown> {
10
+ component: string;
11
+ health: ComponentHealth;
12
+ updatedAt: string;
13
+ state: TState;
14
+ error?: string;
15
+ }
16
+ export interface StateStatusProvider<THealth extends ComponentHealthStatus = ComponentHealthStatus, TState extends ComponentSystemState = ComponentSystemState> {
17
+ getHealthStatus(): Promise<THealth>;
18
+ getSystemState(): Promise<TState>;
19
+ }
20
+ export interface ScannerRegistrationHealth {
21
+ address: string;
22
+ scannerId: string;
23
+ health: ComponentHealth;
24
+ }
25
+ export interface ScannerComponentHealthStatus extends ComponentHealthStatus {
26
+ component: "scanners";
27
+ totals: {
28
+ registered: number;
29
+ enabled: number;
30
+ inFlight: number;
31
+ degraded: number;
32
+ unhealthy: number;
33
+ };
34
+ scanners: ScannerRegistrationHealth[];
35
+ }
36
+ export interface ScannerRegistrationSystemState {
37
+ address: string;
38
+ scannerId: string;
39
+ health: ComponentHealth;
40
+ enabled: boolean;
41
+ initialized: boolean;
42
+ intervalSeconds: number;
43
+ inFlight: boolean;
44
+ lastRunStartedAt: number | null;
45
+ lastRunFinishedAt: number | null;
46
+ lastRunStatus: string | null;
47
+ lastRunReason: string | null;
48
+ lastError: string | null;
49
+ lastErrorAt: number | null;
50
+ nextRunAt: number | null;
51
+ runCount: number;
52
+ errorCount: number;
53
+ consecutiveErrorCount: number;
54
+ configVersion: number | null;
55
+ runtimeUpdatedAt: number | null;
56
+ config: unknown;
57
+ state: unknown;
58
+ }
59
+ export interface ScannerSystemState extends ComponentSystemState<{
60
+ totalRegistered: number;
61
+ totalEnabled: number;
62
+ scanners: ScannerRegistrationSystemState[];
63
+ }> {
64
+ component: "scanners";
65
+ }
66
+ export interface DslComponentHealthStatus extends ComponentHealthStatus {
67
+ component: "dsl";
68
+ enabled: boolean;
69
+ activePositions: number;
70
+ }
71
+ export interface DslSystemState extends ComponentSystemState<{
72
+ enabled: boolean;
73
+ intervalMs: number;
74
+ preset: string;
75
+ monitor: {
76
+ running: boolean;
77
+ inFlight: boolean;
78
+ lastTickStartedAt: number | null;
79
+ lastTickFinishedAt: number | null;
80
+ lastTickError: string | null;
81
+ nextTickAt: number | null;
82
+ tickAttemptCount: number;
83
+ tickSuccessCount: number;
84
+ tickErrorCount: number;
85
+ };
86
+ activePositions: unknown[];
87
+ positions: unknown[];
88
+ }> {
89
+ component: "dsl";
90
+ }
91
+ export interface RuntimeHealthStatus {
92
+ recipeId?: string;
93
+ recipeName: string;
94
+ startedAt: string;
95
+ generatedAt: string;
96
+ health: ComponentHealth;
97
+ components: {
98
+ scanners: ScannerComponentHealthStatus;
99
+ dsl?: DslComponentHealthStatus;
100
+ };
101
+ }
102
+ export interface RuntimeSystemState {
103
+ recipeId?: string;
104
+ recipeName: string;
105
+ stateDir: string;
106
+ startedAt: string;
107
+ generatedAt: string;
108
+ health: ComponentHealth;
109
+ components: {
110
+ scanners: ScannerSystemState;
111
+ dsl?: DslSystemState;
112
+ };
113
+ }
114
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/health/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/health/types.ts"],"names":[],"mappings":""}
package/dist/index.d.ts CHANGED
@@ -10,7 +10,8 @@ export declare function initCore(bus: SenpiEventBus): void;
10
10
  export { initDsl, DslPlugin, dslLogger, setDslLogLevel, parseDslPluginConfig, DslConfigValidationError, dslValidationIssue, EVENTS as DslEvents, DSL_EVENTS, } from "./dsl/index.js";
11
11
  export type { DslArchivedClose, DslPluginConfig, DslPositionSummary, DslState, DslTickResult, ExitBlockConfig, DslValidationIssue, DslValidationIssueCode, } from "./dsl/index.js";
12
12
  export { initRisk } from "./risk/index.js";
13
- export { initHealth } from "./health/index.js";
13
+ export { createHealthStateModule, initHealth } from "./health/index.js";
14
+ export type { ComponentHealth, ComponentHealthStatus, ComponentSystemState, DslComponentHealthStatus, DslSystemState, RuntimeHealthStatus, RuntimeSystemState, ScannerComponentHealthStatus, ScannerRegistrationSystemState, ScannerSystemState, StateStatusProvider, } from "./health/index.js";
14
15
  export { HOOK_EVENT } from './types/index.js';
15
16
  export type { HookEventType, HookEvent, HookSystem, StrategyConfig, StateManager, GateCheckResult, RiskGuard, NotificationService, Signal, ScanResult, } from './types/index.js';
16
17
  export { ScanStatus } from './types/index.js';
@@ -79,7 +80,7 @@ interface PluginApi {
79
80
  }
80
81
  /**
81
82
  * OpenClaw plugin entry.
82
- * Boots from internal registry (installed_strategies.json) in stateDir; does not read strategy list from config.
83
+ * Boots from internal registry (installed_recipes.json) in stateDir; does not read recipe list from config.
83
84
  */
84
85
  declare const senpiRecipePlugin: {
85
86
  id: string;
@@ -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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"}