@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.
- package/README.md +1 -1
- package/dist/actions/close-position/close-position.action.js +4 -4
- package/dist/actions/close-position/close-position.action.js.map +1 -1
- package/dist/actions/open-position/open-position.action.d.ts.map +1 -1
- package/dist/actions/open-position/open-position.action.js +4 -5
- package/dist/actions/open-position/open-position.action.js.map +1 -1
- package/dist/actions/types.d.ts +1 -1
- package/dist/actions/types.d.ts.map +1 -1
- package/dist/cli/guide-commands.d.ts +1 -0
- package/dist/cli/guide-commands.d.ts.map +1 -1
- package/dist/cli/guide-commands.js +102 -12
- package/dist/cli/guide-commands.js.map +1 -1
- package/dist/cli/senpi-commands.d.ts.map +1 -1
- package/dist/cli/senpi-commands.js +162 -10
- package/dist/cli/senpi-commands.js.map +1 -1
- package/dist/dsl/plugin/index.d.ts +22 -0
- package/dist/dsl/plugin/index.d.ts.map +1 -1
- package/dist/dsl/plugin/index.js +189 -59
- package/dist/dsl/plugin/index.js.map +1 -1
- package/dist/health/index.d.ts +22 -2
- package/dist/health/index.d.ts.map +1 -1
- package/dist/health/index.js +186 -4
- package/dist/health/index.js.map +1 -1
- package/dist/health/types.d.ts +114 -0
- package/dist/health/types.d.ts.map +1 -0
- package/dist/health/types.js +2 -0
- package/dist/health/types.js.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +219 -18
- package/dist/index.js.map +1 -1
- package/dist/runtime/build-action-scan-payload.d.ts +4 -4
- package/dist/runtime/build-action-scan-payload.d.ts.map +1 -1
- package/dist/runtime/build-action-scan-payload.js +15 -19
- package/dist/runtime/build-action-scan-payload.js.map +1 -1
- package/dist/runtime/create-action-context.d.ts +3 -3
- package/dist/runtime/create-action-context.d.ts.map +1 -1
- package/dist/runtime/create-action-context.js +5 -5
- package/dist/runtime/create-action-context.js.map +1 -1
- package/dist/runtime/create-actions.d.ts +1 -1
- package/dist/runtime/create-actions.d.ts.map +1 -1
- package/dist/runtime/create-actions.js +2 -3
- package/dist/runtime/create-actions.js.map +1 -1
- package/dist/runtime/create-runtime-context.d.ts +12 -12
- package/dist/runtime/create-runtime-context.d.ts.map +1 -1
- package/dist/runtime/create-runtime-context.js +15 -13
- package/dist/runtime/create-runtime-context.js.map +1 -1
- package/dist/runtime/create-scanner-module.d.ts +1 -1
- package/dist/runtime/create-scanner-module.js +4 -4
- package/dist/runtime/create-scanner-module.js.map +1 -1
- package/dist/runtime/index.d.ts +4 -4
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +3 -3
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/load-trading-recipe.d.ts +2 -2
- package/dist/runtime/load-trading-recipe.d.ts.map +1 -1
- package/dist/runtime/load-trading-recipe.js +22 -10
- package/dist/runtime/load-trading-recipe.js.map +1 -1
- package/dist/runtime/map-strategies-registration.d.ts +6 -4
- package/dist/runtime/map-strategies-registration.d.ts.map +1 -1
- package/dist/runtime/map-strategies-registration.js +14 -22
- package/dist/runtime/map-strategies-registration.js.map +1 -1
- package/dist/runtime/map-strategies.d.ts +6 -4
- package/dist/runtime/map-strategies.d.ts.map +1 -1
- package/dist/runtime/map-strategies.js +42 -44
- package/dist/runtime/map-strategies.js.map +1 -1
- package/dist/runtime/recipe-version.d.ts +15 -0
- package/dist/runtime/recipe-version.d.ts.map +1 -0
- package/dist/runtime/recipe-version.js +25 -0
- package/dist/runtime/recipe-version.js.map +1 -0
- package/dist/runtime/reconcile-state.d.ts +1 -1
- package/dist/runtime/reconcile-state.js +1 -1
- package/dist/runtime/run.d.ts +5 -0
- package/dist/runtime/run.d.ts.map +1 -1
- package/dist/runtime/run.js +7 -0
- package/dist/runtime/run.js.map +1 -1
- package/dist/runtime/runtime.d.ts +8 -4
- package/dist/runtime/runtime.d.ts.map +1 -1
- package/dist/runtime/runtime.js +75 -40
- package/dist/runtime/runtime.js.map +1 -1
- package/dist/runtime/state-layout.d.ts +48 -0
- package/dist/runtime/state-layout.d.ts.map +1 -0
- package/dist/runtime/state-layout.js +87 -0
- package/dist/runtime/state-layout.js.map +1 -0
- package/dist/runtime/strategy-registry.d.ts +17 -0
- package/dist/runtime/strategy-registry.d.ts.map +1 -1
- package/dist/runtime/strategy-registry.js +32 -0
- package/dist/runtime/strategy-registry.js.map +1 -1
- package/dist/runtime/trading-recipe-schema.d.ts +16 -634
- package/dist/runtime/trading-recipe-schema.d.ts.map +1 -1
- package/dist/runtime/trading-recipe-schema.js +3 -9
- package/dist/runtime/trading-recipe-schema.js.map +1 -1
- package/dist/scanners/engine/engine.d.ts +7 -0
- package/dist/scanners/engine/engine.d.ts.map +1 -1
- package/dist/scanners/engine/engine.js +20 -12
- package/dist/scanners/engine/engine.js.map +1 -1
- package/dist/scanners/engine/strategy-registry.d.ts +3 -0
- package/dist/scanners/engine/strategy-registry.d.ts.map +1 -1
- package/dist/scanners/engine/strategy-registry.js +10 -0
- package/dist/scanners/engine/strategy-registry.js.map +1 -1
- package/dist/scanners/runtime-module.d.ts +10 -6
- package/dist/scanners/runtime-module.d.ts.map +1 -1
- package/dist/scanners/runtime-module.js +254 -12
- package/dist/scanners/runtime-module.js.map +1 -1
- package/dist/scripts/run-dsl-standalone-live.js +5 -7
- package/dist/scripts/run-dsl-standalone-live.js.map +1 -1
- package/dist/scripts/run-dsl-standalone-mock.js +3 -4
- package/dist/scripts/run-dsl-standalone-mock.js.map +1 -1
- package/dist/types/runtime.d.ts +1 -1
- package/dist/types/runtime.d.ts.map +1 -1
- package/examples/strategies/dsl-showcase.yaml +8 -3
- package/examples/strategies/dsl.yaml +4 -5
- package/examples/strategies/fox-minimal-loosened.yaml +8 -9
- package/examples/strategies/fox-minimal.yaml +8 -9
- package/examples/strategies/minimal.yaml +7 -8
- package/examples/strategies/viper.yaml +7 -8
- package/examples/strategies/wolf.yaml +7 -8
- package/examples/yamls/sample-with-dsl-and-emerging-movers.yaml +9 -10
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* Named export run(): programmatic/standalone entry.
|
|
6
6
|
*/
|
|
7
7
|
import { join } from "node:path";
|
|
8
|
+
import { buildRecipeStateDir, archiveStateDir } from "./runtime/state-layout.js";
|
|
8
9
|
import { registerSenpiCli } from "./cli/senpi-commands.js";
|
|
9
10
|
import { readSenpiCliStore, resolveSenpiApiKeyFromStore, resolveSenpiBaseStateDir, resolveTelegramChatIdFromStore, } from "./cli/senpi-cli-config.js";
|
|
10
11
|
import { getDefaultStateDir } from "./runtime/default-state-dir.js";
|
|
@@ -26,8 +27,8 @@ export function initCore(bus) {
|
|
|
26
27
|
export { initDsl, DslPlugin, dslLogger, setDslLogLevel, parseDslPluginConfig, DslConfigValidationError, dslValidationIssue, EVENTS as DslEvents, DSL_EVENTS, } from "./dsl/index.js";
|
|
27
28
|
// Risk feature (placeholder)
|
|
28
29
|
export { initRisk } from "./risk/index.js";
|
|
29
|
-
// Health feature
|
|
30
|
-
export { initHealth } from "./health/index.js";
|
|
30
|
+
// Health feature
|
|
31
|
+
export { createHealthStateModule, initHealth } from "./health/index.js";
|
|
31
32
|
// Shared types
|
|
32
33
|
export { HOOK_EVENT } from './types/index.js';
|
|
33
34
|
export { ScanStatus } from './types/index.js';
|
|
@@ -131,7 +132,7 @@ function fireAndForgetErrorNotification(notifications, message) {
|
|
|
131
132
|
}
|
|
132
133
|
/**
|
|
133
134
|
* OpenClaw plugin entry.
|
|
134
|
-
* Boots from internal registry (
|
|
135
|
+
* Boots from internal registry (installed_recipes.json) in stateDir; does not read recipe list from config.
|
|
135
136
|
*/
|
|
136
137
|
const senpiRecipePlugin = {
|
|
137
138
|
id: "trading-recipe",
|
|
@@ -210,7 +211,7 @@ const senpiRecipePlugin = {
|
|
|
210
211
|
if (!hasPath && !hasContent)
|
|
211
212
|
continue;
|
|
212
213
|
const pathOrContent = entry.tradingRecipeYamlPath ?? entry.tradingRecipeYamlContent;
|
|
213
|
-
const entryStateDir =
|
|
214
|
+
const entryStateDir = buildRecipeStateDir(baseStateDir, entry.id, entry.wallet ?? "");
|
|
214
215
|
const handle = await run(pathOrContent, {
|
|
215
216
|
fromPath: hasPath,
|
|
216
217
|
stateDir: entryStateDir,
|
|
@@ -231,11 +232,11 @@ const senpiRecipePlugin = {
|
|
|
231
232
|
}
|
|
232
233
|
throw err;
|
|
233
234
|
}
|
|
234
|
-
pluginLogger.info(`[senpi-recipe] Started ${started.length}
|
|
235
|
+
pluginLogger.info(`[senpi-recipe] Started ${started.length} recipe${started.length === 1 ? "" : "s"}`);
|
|
235
236
|
if (lifecycleNotifications) {
|
|
236
237
|
const n = started.length;
|
|
237
238
|
lifecycleNotifications
|
|
238
|
-
.notify(`Senpi started. ${n}
|
|
239
|
+
.notify(`Senpi started. ${n} recipe${n === 1 ? "" : "s"} running.`)
|
|
239
240
|
.catch(() => { });
|
|
240
241
|
}
|
|
241
242
|
else if (started.length > 0) {
|
|
@@ -261,12 +262,13 @@ const senpiRecipePlugin = {
|
|
|
261
262
|
pluginLogger.info("[senpi-recipe] CLI registrar callback invoked — attaching senpi subcommands to program");
|
|
262
263
|
registerSenpiCli(ctx.program);
|
|
263
264
|
}, { commands: ["senpi"] });
|
|
265
|
+
/** Gateway respond accepts (ok, payload?, error?) with error as { code, message }; plugin SDK types may omit the third arg. */
|
|
264
266
|
api.registerGatewayMethod("senpi.installRecipe", async (ctx) => {
|
|
265
267
|
const { params } = ctx;
|
|
266
268
|
const respond = ctx.respond;
|
|
267
269
|
const toError = (message) => ({ code: "INVALID_REQUEST", message });
|
|
268
270
|
const toUnavailable = (message) => ({ code: "UNAVAILABLE", message });
|
|
269
|
-
const { readRegistry, writeRegistry, validateEntry, hasId,
|
|
271
|
+
const { readRegistry, writeRegistry, validateEntry, hasId, deriveRecipeId, sanitizeId } = await import("./runtime/strategy-registry.js");
|
|
270
272
|
const id = typeof params?.id === "string" ? params.id : undefined;
|
|
271
273
|
const tradingRecipeYamlPath = typeof params?.tradingRecipeYamlPath === "string" ? params.tradingRecipeYamlPath : undefined;
|
|
272
274
|
const tradingRecipeYamlContent = typeof params?.tradingRecipeYamlContent === "string" ? params.tradingRecipeYamlContent : undefined;
|
|
@@ -280,15 +282,45 @@ const senpiRecipePlugin = {
|
|
|
280
282
|
respond(false, undefined, toError("Please provide either a file path (--path) or YAML content (--content), not both."));
|
|
281
283
|
return;
|
|
282
284
|
}
|
|
285
|
+
const pathOrContent = tradingRecipeYamlPath ?? tradingRecipeYamlContent;
|
|
286
|
+
// Parse YAML first to extract name, version, and wallet for ID derivation.
|
|
287
|
+
let parsedSchemaVersion;
|
|
288
|
+
let recipeName = "";
|
|
289
|
+
let wallet = "";
|
|
290
|
+
try {
|
|
291
|
+
const { loadTradingRecipe } = await import("./runtime/load-trading-recipe.js");
|
|
292
|
+
const { extractMajorVersion } = await import("./runtime/recipe-version.js");
|
|
293
|
+
const parsedConfig = await loadTradingRecipe(pathOrContent, { fromPath: hasPath });
|
|
294
|
+
parsedSchemaVersion = extractMajorVersion(parsedConfig.version);
|
|
295
|
+
recipeName = parsedConfig.name;
|
|
296
|
+
wallet = parsedConfig.strategy?.wallet ?? "";
|
|
297
|
+
}
|
|
298
|
+
catch (err) {
|
|
299
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
300
|
+
respond(false, undefined, toUnavailable(`Could not start the recipe. This is usually due to invalid or incomplete YAML.\n\n${msg}`));
|
|
301
|
+
return;
|
|
302
|
+
}
|
|
283
303
|
const registry = await readRegistry(baseStateDir);
|
|
284
304
|
const resolvedId = id && id.length > 0
|
|
285
305
|
? (sanitizeId(id) || "recipe")
|
|
286
|
-
: (
|
|
306
|
+
: deriveRecipeId(recipeName, wallet);
|
|
287
307
|
if (hasId(registry, resolvedId)) {
|
|
288
308
|
respond(false, undefined, toError(`A recipe with id "${resolvedId}" already exists. Use a different id (e.g. --recipe-id another-name) or remove the existing one first: openclaw senpi trading-recipe delete ${resolvedId}`));
|
|
289
309
|
return;
|
|
290
310
|
}
|
|
291
|
-
|
|
311
|
+
// Enforce one running recipe per wallet address
|
|
312
|
+
if (wallet) {
|
|
313
|
+
for (const [existingId, existingHandle] of runtimeHandles) {
|
|
314
|
+
if (existingHandle.wallet === wallet) {
|
|
315
|
+
respond(false, undefined, toError(`A recipe for wallet "${wallet}" is already running (recipe "${existingId}"). ` +
|
|
316
|
+
`Stop it first: openclaw senpi trading-recipe delete --id ${existingId}`));
|
|
317
|
+
return;
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
const entry = hasPath
|
|
322
|
+
? { id: resolvedId, tradingRecipeYamlPath, schemaVersion: parsedSchemaVersion, wallet }
|
|
323
|
+
: { id: resolvedId, tradingRecipeYamlContent: tradingRecipeYamlContent, schemaVersion: parsedSchemaVersion, wallet };
|
|
292
324
|
const valid = validateEntry(entry);
|
|
293
325
|
if (!valid.ok) {
|
|
294
326
|
respond(false, undefined, toError(valid.error));
|
|
@@ -301,8 +333,7 @@ const senpiRecipePlugin = {
|
|
|
301
333
|
mcpTransport,
|
|
302
334
|
apiKey,
|
|
303
335
|
});
|
|
304
|
-
const
|
|
305
|
-
const entryStateDir = join(baseStateDir, resolvedId);
|
|
336
|
+
const entryStateDir = buildRecipeStateDir(baseStateDir, resolvedId, wallet);
|
|
306
337
|
const handle = await run(pathOrContent, {
|
|
307
338
|
fromPath: hasPath,
|
|
308
339
|
stateDir: entryStateDir,
|
|
@@ -311,7 +342,7 @@ const senpiRecipePlugin = {
|
|
|
311
342
|
scannerProviders,
|
|
312
343
|
});
|
|
313
344
|
runtimeHandles.set(resolvedId, handle);
|
|
314
|
-
respond(true, { id: resolvedId });
|
|
345
|
+
respond(true, { id: resolvedId, name: recipeName, wallet });
|
|
315
346
|
}
|
|
316
347
|
catch (err) {
|
|
317
348
|
const next = registry.recipes.filter((e) => e.id !== resolvedId);
|
|
@@ -326,6 +357,7 @@ const senpiRecipePlugin = {
|
|
|
326
357
|
const registry = await readRegistry(baseStateDir);
|
|
327
358
|
const recipes = registry.recipes.map((e) => ({
|
|
328
359
|
id: e.id,
|
|
360
|
+
wallet: e.wallet ?? "",
|
|
329
361
|
source: typeof e.tradingRecipeYamlPath === "string" && e.tradingRecipeYamlPath.length > 0 ? e.tradingRecipeYamlPath : "(inline)",
|
|
330
362
|
status: runtimeHandles.has(e.id) ? "running" : "stopped",
|
|
331
363
|
}));
|
|
@@ -334,11 +366,26 @@ const senpiRecipePlugin = {
|
|
|
334
366
|
api.registerGatewayMethod("senpi.deleteRecipe", async (ctx) => {
|
|
335
367
|
const { params } = ctx;
|
|
336
368
|
const respond = ctx.respond;
|
|
337
|
-
const
|
|
369
|
+
const { readRegistry, writeRegistry } = await import("./runtime/strategy-registry.js");
|
|
370
|
+
const registry = await readRegistry(baseStateDir);
|
|
371
|
+
let targetId = typeof params?.id === "string" ? params.id : undefined;
|
|
372
|
+
const targetAddress = typeof params?.address === "string" ? params.address : undefined;
|
|
373
|
+
// Resolve target by address if id not provided
|
|
374
|
+
if (!targetId && targetAddress) {
|
|
375
|
+
const entry = registry.recipes.find((e) => e.wallet === targetAddress);
|
|
376
|
+
if (!entry) {
|
|
377
|
+
respond(false, undefined, {
|
|
378
|
+
code: "NOT_FOUND",
|
|
379
|
+
message: `No recipe found for wallet address "${targetAddress}".`,
|
|
380
|
+
});
|
|
381
|
+
return;
|
|
382
|
+
}
|
|
383
|
+
targetId = entry.id;
|
|
384
|
+
}
|
|
338
385
|
if (!targetId) {
|
|
339
386
|
respond(false, undefined, {
|
|
340
387
|
code: "INVALID_REQUEST",
|
|
341
|
-
message: "Please provide the recipe id
|
|
388
|
+
message: "Please provide the recipe id or wallet address. Example: openclaw senpi trading-recipe delete --id my-recipe",
|
|
342
389
|
});
|
|
343
390
|
return;
|
|
344
391
|
}
|
|
@@ -348,11 +395,22 @@ const senpiRecipePlugin = {
|
|
|
348
395
|
await handle.stop();
|
|
349
396
|
runtimeHandles.delete(targetId);
|
|
350
397
|
}
|
|
351
|
-
|
|
352
|
-
const
|
|
398
|
+
// Archive state directory before removing from registry
|
|
399
|
+
const deletedEntry = registry.recipes.find((e) => e.id === targetId);
|
|
400
|
+
if (deletedEntry) {
|
|
401
|
+
const recipeStateDir = buildRecipeStateDir(baseStateDir, targetId, deletedEntry.wallet ?? "");
|
|
402
|
+
const archivesDir = join(baseStateDir, "archives");
|
|
403
|
+
try {
|
|
404
|
+
const archivePath = await archiveStateDir(recipeStateDir, archivesDir, targetId, deletedEntry.wallet ?? "");
|
|
405
|
+
api.logger.info(`[senpi-recipe] Archived state to ${archivePath}`);
|
|
406
|
+
}
|
|
407
|
+
catch (err) {
|
|
408
|
+
api.logger.warn("[senpi-recipe] Failed to archive state dir", { err });
|
|
409
|
+
}
|
|
410
|
+
}
|
|
353
411
|
const next = registry.recipes.filter((e) => e.id !== targetId);
|
|
354
412
|
await writeRegistry(baseStateDir, { ...registry, recipes: next });
|
|
355
|
-
respond(true, {});
|
|
413
|
+
respond(true, { id: targetId });
|
|
356
414
|
});
|
|
357
415
|
api.registerGatewayMethod("senpi.listDslPositions", async (ctx) => {
|
|
358
416
|
const respond = ctx.respond;
|
|
@@ -446,8 +504,151 @@ const senpiRecipePlugin = {
|
|
|
446
504
|
closes = closes.slice(0, limit);
|
|
447
505
|
respond(true, { closes });
|
|
448
506
|
});
|
|
449
|
-
|
|
507
|
+
api.registerGatewayMethod("senpi.getHealthStatus", async (ctx) => {
|
|
508
|
+
const respond = ctx.respond;
|
|
509
|
+
const recipeId = typeof ctx.params?.recipeId === "string" ? ctx.params.recipeId : undefined;
|
|
510
|
+
if (recipeId) {
|
|
511
|
+
const handle = getRuntimeHandleOrRespond(runtimeHandles, recipeId, respond);
|
|
512
|
+
if (!handle) {
|
|
513
|
+
return;
|
|
514
|
+
}
|
|
515
|
+
try {
|
|
516
|
+
const status = await handle.getHealthStatus();
|
|
517
|
+
respond(true, {
|
|
518
|
+
status: status ? { ...status, recipeId } : null,
|
|
519
|
+
});
|
|
520
|
+
}
|
|
521
|
+
catch (err) {
|
|
522
|
+
api.logger.warn("[senpi-recipe] getHealthStatus error", { recipeId, err });
|
|
523
|
+
respond(false, undefined, {
|
|
524
|
+
code: "INTERNAL_ERROR",
|
|
525
|
+
message: `Failed to get health status for recipe ${recipeId}: ${formatGatewayError(err)}`,
|
|
526
|
+
});
|
|
527
|
+
}
|
|
528
|
+
return;
|
|
529
|
+
}
|
|
530
|
+
const statuses = await collectRuntimeHealthStatuses(runtimeHandles, api.logger);
|
|
531
|
+
respond(true, { statuses });
|
|
532
|
+
});
|
|
533
|
+
api.registerGatewayMethod("senpi.getSystemState", async (ctx) => {
|
|
534
|
+
const respond = ctx.respond;
|
|
535
|
+
const recipeId = typeof ctx.params?.recipeId === "string" ? ctx.params.recipeId : undefined;
|
|
536
|
+
if (recipeId) {
|
|
537
|
+
const handle = getRuntimeHandleOrRespond(runtimeHandles, recipeId, respond);
|
|
538
|
+
if (!handle) {
|
|
539
|
+
return;
|
|
540
|
+
}
|
|
541
|
+
try {
|
|
542
|
+
const state = await handle.getSystemState();
|
|
543
|
+
respond(true, {
|
|
544
|
+
state: state ? { ...state, recipeId } : null,
|
|
545
|
+
});
|
|
546
|
+
}
|
|
547
|
+
catch (err) {
|
|
548
|
+
api.logger.warn("[senpi-recipe] getSystemState error", { recipeId, err });
|
|
549
|
+
respond(false, undefined, {
|
|
550
|
+
code: "INTERNAL_ERROR",
|
|
551
|
+
message: `Failed to get system state for recipe ${recipeId}: ${formatGatewayError(err)}`,
|
|
552
|
+
});
|
|
553
|
+
}
|
|
554
|
+
return;
|
|
555
|
+
}
|
|
556
|
+
const states = await collectRuntimeSystemStates(runtimeHandles, api.logger, baseStateDir);
|
|
557
|
+
respond(true, { states });
|
|
558
|
+
});
|
|
559
|
+
api.logger.info(`[senpi-recipe] v${VERSION} plugin registered — stateDir: ${baseStateDir}`);
|
|
450
560
|
},
|
|
451
561
|
};
|
|
562
|
+
function getRuntimeHandleOrRespond(runtimeHandles, recipeId, respond) {
|
|
563
|
+
const handle = runtimeHandles.get(recipeId);
|
|
564
|
+
if (handle) {
|
|
565
|
+
return handle;
|
|
566
|
+
}
|
|
567
|
+
respond(false, undefined, {
|
|
568
|
+
code: "NOT_FOUND",
|
|
569
|
+
message: `No running recipe found for id ${recipeId}`,
|
|
570
|
+
});
|
|
571
|
+
return null;
|
|
572
|
+
}
|
|
573
|
+
async function collectRuntimeHealthStatuses(runtimeHandles, logger) {
|
|
574
|
+
return (await Promise.all(Array.from(runtimeHandles, async ([recipeId, handle]) => {
|
|
575
|
+
try {
|
|
576
|
+
const status = await handle.getHealthStatus();
|
|
577
|
+
return status ? { ...status, recipeId } : null;
|
|
578
|
+
}
|
|
579
|
+
catch (err) {
|
|
580
|
+
logger.warn("[senpi-recipe] getHealthStatus error", { recipeId, err });
|
|
581
|
+
return createGatewayHealthErrorStatus(recipeId, err);
|
|
582
|
+
}
|
|
583
|
+
}))).filter((status) => status !== null);
|
|
584
|
+
}
|
|
585
|
+
async function collectRuntimeSystemStates(runtimeHandles, logger, baseStateDir) {
|
|
586
|
+
return (await Promise.all(Array.from(runtimeHandles, async ([recipeId, handle]) => {
|
|
587
|
+
try {
|
|
588
|
+
const state = await handle.getSystemState();
|
|
589
|
+
return state ? { ...state, recipeId } : null;
|
|
590
|
+
}
|
|
591
|
+
catch (err) {
|
|
592
|
+
logger.warn("[senpi-recipe] getSystemState error", { recipeId, err });
|
|
593
|
+
return createGatewaySystemStateError(recipeId, join(baseStateDir, recipeId), err);
|
|
594
|
+
}
|
|
595
|
+
}))).filter((state) => state !== null);
|
|
596
|
+
}
|
|
597
|
+
function createGatewayHealthErrorStatus(recipeId, error) {
|
|
598
|
+
const now = new Date().toISOString();
|
|
599
|
+
const message = formatGatewayError(error);
|
|
600
|
+
return {
|
|
601
|
+
recipeId,
|
|
602
|
+
recipeName: recipeId,
|
|
603
|
+
startedAt: now,
|
|
604
|
+
generatedAt: now,
|
|
605
|
+
health: "unhealthy",
|
|
606
|
+
components: {
|
|
607
|
+
scanners: {
|
|
608
|
+
component: "scanners",
|
|
609
|
+
health: "unhealthy",
|
|
610
|
+
updatedAt: now,
|
|
611
|
+
summary: "Failed to query scanners health.",
|
|
612
|
+
error: message,
|
|
613
|
+
totals: {
|
|
614
|
+
registered: 0,
|
|
615
|
+
enabled: 0,
|
|
616
|
+
inFlight: 0,
|
|
617
|
+
degraded: 0,
|
|
618
|
+
unhealthy: 1,
|
|
619
|
+
},
|
|
620
|
+
scanners: [],
|
|
621
|
+
},
|
|
622
|
+
},
|
|
623
|
+
};
|
|
624
|
+
}
|
|
625
|
+
function createGatewaySystemStateError(recipeId, stateDir, error) {
|
|
626
|
+
const now = new Date().toISOString();
|
|
627
|
+
const message = formatGatewayError(error);
|
|
628
|
+
return {
|
|
629
|
+
recipeId,
|
|
630
|
+
recipeName: recipeId,
|
|
631
|
+
stateDir,
|
|
632
|
+
startedAt: now,
|
|
633
|
+
generatedAt: now,
|
|
634
|
+
health: "unhealthy",
|
|
635
|
+
components: {
|
|
636
|
+
scanners: {
|
|
637
|
+
component: "scanners",
|
|
638
|
+
health: "unhealthy",
|
|
639
|
+
updatedAt: now,
|
|
640
|
+
error: message,
|
|
641
|
+
state: {
|
|
642
|
+
totalRegistered: 0,
|
|
643
|
+
totalEnabled: 0,
|
|
644
|
+
scanners: [],
|
|
645
|
+
},
|
|
646
|
+
},
|
|
647
|
+
},
|
|
648
|
+
};
|
|
649
|
+
}
|
|
650
|
+
function formatGatewayError(error) {
|
|
651
|
+
return error instanceof Error ? error.message : String(error);
|
|
652
|
+
}
|
|
452
653
|
export default senpiRecipePlugin;
|
|
453
654
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EACL,iBAAiB,EACjB,2BAA2B,EAC3B,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAEvC,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAC7F,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EACL,gBAAgB,GAEjB,MAAM,mBAAmB,CAAC;AAG3B,+EAA+E;AAC/E,MAAM,UAAU,QAAQ,CAAC,GAAkB;IACzC,OAAO,CAAC,GAAG,CAAC,CAAC;IACb,QAAQ,CAAC,GAAG,CAAC,CAAC;IACd,UAAU,CAAC,GAAG,CAAC,CAAC;AAClB,CAAC;AAED,kDAAkD;AAClD,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;AAYxB,6BAA6B;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,+BAA+B;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,eAAe;AACf,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAc9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAqB9C,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;AAG3F,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,iDAAiD,CAAC;AACzD,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,mDAAmD,CAAC;AAE3D,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAiB/C,yBAAyB;AACzB,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;AAyC7B,+EAA+E;AAC/E,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAEvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AA+C/C,SAAS,cAAc,CACrB,KAAc,EACd,OAAwB,IAAI,OAAO,EAAE;IAErC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,KAAK,EAAE,cAAc,CAAE,KAAqC,CAAC,KAAK,EAAE,IAAI,CAAC;SAC1E,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IACvD,IACE,KAAK,IAAI,IAAI;QACb,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,KAAK,KAAK,SAAS,EAC1B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3E,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,KAAgC,CAAC;QAC7C,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,YAAY,CAAC;QACvC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YAC1C,GAAG,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAc;IAC1C,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAe,EAAE,YAAoB,IAAI;IACpE,IAAI,OAAO,CAAC,MAAM,IAAI,SAAS;QAAE,OAAO,OAAO,CAAC;IAChD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC5C,OAAO,GAAG,OAAO,mBAAmB,OAAO,CAAC,MAAM,GAAG,SAAS,SAAS,CAAC;AAC1E,CAAC;AAED,SAAS,mCAAmC,CAC1C,OAAiC;IAEjC,MAAM,KAAK,GAAG;QACZ,iBAAiB;QACjB,uBAAuB;QACvB,cAAc,OAAO,CAAC,SAAS,EAAE;QACjC,cAAc,OAAO,CAAC,SAAS,EAAE;QACjC,UAAU,OAAO,CAAC,KAAK,EAAE;QACzB,YAAY,OAAO,CAAC,OAAO,EAAE;KAC9B,CAAC;IACF,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,UAAU,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,gCAAgC,CAAC,OAAgB,EAAE,IAAc;IACxE,MAAM,GAAG,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAClF,MAAM,KAAK,GAAG;QACZ,iBAAiB;QACjB,2BAA2B;QAC3B,cAAc,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;QACxC,YAAY,GAAG,EAAE;KAClB,CAAC;IACF,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,UAAU,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,8BAA8B,CACrC,aAA8C,EAC9C,OAAe;IAEf,IAAI,CAAC,aAAa;QAAE,OAAO;IAC3B,IAAI,CAAC;QACH,KAAK,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,yEAAyE;IAC3E,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,iBAAiB,GAAG;IACxB,EAAE,EAAE,gBAAgB;IACpB,IAAI,EAAE,sBAAsB;IAC5B,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,0FAA0F;IAEvG,YAAY,EAAE;QACZ,KAAK,CAAC,KAAc;YAClB,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChE,OAAO,KAAgC,CAAC;YAC1C,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;KACF;IAED,QAAQ,CAAC,GAAc;QACrB,MAAM,YAAY,GAAiB;YACjC,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YACtD,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YACtD,KAAK,EAAE,CAAC,OAAgB,EAAE,IAAc,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;SAC7E,CAAC;QACF,YAAY,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,GAAG,CAAC,YAAmD,CAAC;QACvE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,YAAY,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;YACnF,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,iBAAiB,EAAE,CAAC;QAC1C,MAAM,YAAY,GAAG,wBAAwB,CAAC;YAC5C,KAAK,EAAE,aAAa;YACpB,cAAc,EAAE,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YACjF,uBAAuB,EACrB,OAAO,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,eAAe,KAAK,UAAU;gBACvD,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE;gBAC3C,CAAC,CAAC,SAAS;YACf,kBAAkB;SACnB,CAAC,CAAC;QACH,MAAM,YAAY,GAAI,GAAmD,CAAC,YAAY,CAAC;QACvF,MAAM,MAAM,GAAG,2BAA2B,CACxC,aAAa,EACb,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAC1F,CAAC;QACF,IAAI,CAAC,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC;YAC7B,YAAY,CAAC,KAAK,CAAC,yFAAyF,CAAC,CAAC;YAC9G,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,GAAG,EAAyB,CAAC;QAExD,MAAM,eAAe,GAAG,8BAA8B,CAAC,aAAa,CAAC,CAAC;QACtE,MAAM,sBAAsB,GAAG,eAAe;YAC5C,CAAC,CAAC,yBAAyB,CAAC;gBACxB,gBAAgB,EAAE,eAAe;gBACjC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,wBAAwB;gBACzE,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB;aAClD,CAAC;YACJ,CAAC,CAAC,SAAS,CAAC;QAEd,gBAAgB,CACd,sBAAsB;YACpB,CAAC,CAAC,CAAC,OAAiC,EAAE,EAAE;gBACpC,8BAA8B,CAC5B,sBAAsB,EACtB,mCAAmC,CAAC,OAAO,CAAC,CAC7C,CAAC;YACJ,CAAC;YACH,CAAC,CAAC,IAAI,CACT,CAAC;QAEF,YAAY,CAAC,KAAK,GAAG,CAAC,OAAgB,EAAE,IAAc,EAAE,EAAE;YACxD,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAChC,8BAA8B,CAC5B,sBAAsB,EACtB,gCAAgC,CAAC,OAAO,EAAE,IAAI,CAAC,CAChD,CAAC;QACJ,CAAC,CAAC;QAEF,GAAG,CAAC,eAAe,CAAC;YAClB,EAAE,EAAE,cAAc;YAClB,KAAK,CAAC,KAAK;gBACT,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;gBACxE,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,CAAC;gBAElD,MAAM,gBAAgB,GAAG,MAAM,4BAA4B,CAAC;oBAC1D,YAAY;oBACZ,MAAM;iBACP,CAAC,CAAC;gBAEH,MAAM,OAAO,GAAa,EAAE,CAAC;gBAC7B,IAAI,CAAC;oBACH,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;wBACrC,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC,qBAAqB,KAAK,QAAQ,IAAI,KAAK,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC;wBAC1G,MAAM,UAAU,GAAG,OAAO,KAAK,CAAC,wBAAwB,KAAK,QAAQ,CAAC;wBACtE,IAAI,OAAO,IAAI,UAAU;4BAAE,SAAS;wBACpC,IAAI,CAAC,OAAO,IAAI,CAAC,UAAU;4BAAE,SAAS;wBACtC,MAAM,aAAa,GAAG,KAAK,CAAC,qBAAqB,IAAI,KAAK,CAAC,wBAAyB,CAAC;wBACrF,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;wBACnD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,aAAa,EAAE;4BACtC,QAAQ,EAAE,OAAO;4BACjB,QAAQ,EAAE,aAAa;4BACvB,YAAY;4BACZ,MAAM;4BACN,gBAAgB;yBACjB,CAAC,CAAC;wBACH,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;wBACrC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBACzB,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;wBAC7C,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;wBACzC,IAAI,CAAC;4BAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;wBACtC,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;oBACpC,CAAC;oBACD,MAAM,GAAG,CAAC;gBACZ,CAAC;gBAED,YAAY,CAAC,IAAI,CAAC,0BAA0B,OAAO,CAAC,MAAM,WAAW,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC3G,IAAI,sBAAsB,EAAE,CAAC;oBAC3B,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;oBACzB,sBAAsB;yBACnB,MAAM,CAAC,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC;yBACtE,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBACrB,CAAC;qBAAM,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC9B,YAAY,CAAC,IAAI,CACf,qKAAqK,CACtK,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,KAAK,CAAC,IAAI;gBACR,IAAI,sBAAsB,EAAE,CAAC;oBAC3B,sBAAsB,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBACxE,CAAC;gBACD,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC9C,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBACzC,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrC,IAAI,CAAC;wBAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;oBACtB,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAChC,CAAC;gBACD,YAAY,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;YAC1D,CAAC;SACF,CAAC,CAAC;QAEH,YAAY,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;QAC1F,GAAG,CAAC,WAAW,CAAC,CAAC,GAAG,EAAE,EAAE;YACtB,YAAY,CAAC,IAAI,CAAC,wFAAwF,CAAC,CAAC;YAC5G,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAK5B,GAAG,CAAC,qBAAqB,CAAC,qBAAqB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC7D,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;YACvB,MAAM,OAAO,GAAG,GAAG,CAAC,OAAyB,CAAC;YAC9C,MAAM,OAAO,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,CAAC,CAAC;YAC5E,MAAM,aAAa,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC;YAC9E,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;YAC/J,MAAM,EAAE,GAAG,OAAO,MAAM,EAAE,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAClE,MAAM,qBAAqB,GAAG,OAAO,MAAM,EAAE,qBAAqB,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC;YAC3H,MAAM,wBAAwB,GAAG,OAAO,MAAM,EAAE,wBAAwB,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,SAAS,CAAC;YACpI,MAAM,OAAO,GAAG,qBAAqB,KAAK,SAAS,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC;YACxF,MAAM,UAAU,GAAG,wBAAwB,KAAK,SAAS,CAAC;YAC1D,IAAI,CAAC,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC5B,OAAO,CACL,KAAK,EACL,SAAS,EACT,OAAO,CACL,0GAA0G,CAC3G,CACF,CAAC;gBACF,OAAO;YACT,CAAC;YACD,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;gBAC1B,OAAO,CACL,KAAK,EACL,SAAS,EACT,OAAO,CAAC,mFAAmF,CAAC,CAC7F,CAAC;gBACF,OAAO;YACT,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,CAAC;YAClD,MAAM,UAAU,GAAG,EAAE,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;gBACpC,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC;gBAC9B,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,qBAAsB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACpJ,IAAI,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC;gBAChC,OAAO,CACL,KAAK,EACL,SAAS,EACT,OAAO,CACL,qBAAqB,UAAU,+IAA+I,UAAU,EAAE,CAC3L,CACF,CAAC;gBACF,OAAO;YACT,CAAC;YACD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,qBAAqB,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,wBAAwB,EAAE,wBAAyB,EAAE,CAAC;YAC5I,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;gBACd,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;gBAChD,OAAO;YACT,CAAC;YACD,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7B,MAAM,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;YAC5C,IAAI,CAAC;gBACH,MAAM,gBAAgB,GAAG,MAAM,4BAA4B,CAAC;oBAC1D,YAAY;oBACZ,MAAM;iBACP,CAAC,CAAC;gBACH,MAAM,aAAa,GAAG,qBAAqB,IAAI,wBAAyB,CAAC;gBACzE,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;gBACrD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,aAAa,EAAE;oBACtC,QAAQ,EAAE,OAAO;oBACjB,QAAQ,EAAE,aAAa;oBACvB,YAAY;oBACZ,MAAM;oBACN,gBAAgB;iBACjB,CAAC,CAAC;gBACH,cAAc,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBACvC,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;YACpC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;gBACjE,MAAM,aAAa,CAAC,YAAY,EAAE,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClE,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,OAAO,CACL,KAAK,EACL,SAAS,EACT,aAAa,CACX,qFAAqF,GAAG,EAAE,CAC3F,CACF,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,qBAAqB,CAAC,mBAAmB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC3D,MAAM,OAAO,GAAG,GAAG,CAAC,OAAyB,CAAC;YAC9C,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;YACxE,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC3C,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,MAAM,EAAE,OAAO,CAAC,CAAC,qBAAqB,KAAK,QAAQ,IAAI,CAAC,CAAC,qBAAqB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,UAAU;gBAChI,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;aACzD,CAAC,CAAC,CAAC;YACJ,OAAO,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,qBAAqB,CAAC,oBAAoB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5D,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;YACvB,MAAM,OAAO,GAAG,GAAG,CAAC,OAAyB,CAAC;YAC9C,MAAM,QAAQ,GAAG,OAAO,MAAM,EAAE,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACxE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE;oBACxB,IAAI,EAAE,iBAAiB;oBACvB,OAAO,EACL,4HAA4H;iBAC/H,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC5C,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,MAAM,CAAC,4BAA4B,EAAE,CAAC;gBAC5C,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBACpB,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAClC,CAAC;YACD,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;YACvF,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,CAAC;YAClD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;YAC/D,MAAM,aAAa,CAAC,YAAY,EAAE,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAClE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,qBAAqB,CAAC,wBAAwB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAChE,MAAM,OAAO,GAAG,GAAG,CAAC,OAAyB,CAAC;YAC9C,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,MAAM,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5F,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YACzF,YAAY,CAAC,IAAI,CAAC,uCAAuC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YAClF,MAAM,SAAS,GAAqD,EAAE,CAAC;YACvE,KAAK,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;gBAC1C,IAAI,QAAQ,IAAI,EAAE,KAAK,QAAQ;oBAAE,SAAS;gBAC1C,IAAI,CAAC,MAAM,CAAC,GAAG;oBAAE,SAAS;gBAC1B,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;oBAC/C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;wBACtB,IAAI,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO;4BAAE,SAAS;wBAC/C,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;oBACzC,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,YAAY,CAAC,IAAI,CAAC,uCAAuC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBACpF,CAAC;YACH,CAAC;YACD,OAAO,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,qBAAqB,CAAC,2BAA2B,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACnE,MAAM,OAAO,GAAG,GAAG,CAAC,OAAyB,CAAC;YAC9C,MAAM,KAAK,GAAG,OAAO,GAAG,CAAC,MAAM,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YACnF,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC,CAAC;gBACrF,OAAO;YACT,CAAC;YACD,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,MAAM,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5F,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YACzF,YAAY,CAAC,IAAI,CAAC,0CAA0C,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YAC5F,MAAM,OAAO,GAAkE,EAAE,CAAC;YAClF,KAAK,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;gBAC1C,IAAI,QAAQ,IAAI,EAAE,KAAK,QAAQ;oBAAE,SAAS;gBAC1C,IAAI,CAAC,MAAM,CAAC,GAAG;oBAAE,SAAS;gBAC1B,IAAI,CAAC;oBACH,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;wBAC1D,IAAI,KAAK;4BAAE,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC5D,CAAC;yBAAM,CAAC;wBACN,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;wBACpD,IAAI,KAAK;4BAAE,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;oBACxF,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,YAAY,CAAC,IAAI,CAAC,0CAA0C,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBACvF,CAAC;YACH,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE;oBACxB,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,0CAA0C,KAAK,EAAE;iBAC3D,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,OAAO,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,qBAAqB,CAAC,uBAAuB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC/D,MAAM,OAAO,GAAG,GAAG,CAAC,OAAyB,CAAC;YAC9C,MAAM,QAAQ,GAAG,OAAO,GAAG,CAAC,MAAM,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5F,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YACzF,MAAM,KAAK,GAAG,OAAO,GAAG,CAAC,MAAM,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YACnF,YAAY,CAAC,IAAI,CAAC,sCAAsC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YACxF,IAAI,MAAM,GAAmD,EAAE,CAAC;YAChE,KAAK,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;gBAC1C,IAAI,QAAQ,IAAI,EAAE,KAAK,QAAQ;oBAAE,SAAS;gBAC1C,IAAI,CAAC,MAAM,CAAC,GAAG;oBAAE,SAAS;gBAC1B,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;oBAC/D,KAAK,MAAM,CAAC,IAAI,KAAK;wBAAE,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC7D,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,YAAY,CAAC,IAAI,CAAC,sCAAsC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;gBACnF,CAAC;YACH,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC;YAC1E,IAAI,KAAK,IAAI,KAAK,GAAG,CAAC;gBAAE,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACxD,OAAO,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,YAAY,CAAC,IAAI,CAAC,mBAAmB,OAAO,kCAAkC,YAAY,EAAE,CAAC,CAAC;IAChG,CAAC;CACF,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Build ActionScanPayload from ScanResult and
|
|
2
|
+
* Build ActionScanPayload from ScanResult and strategy config for on_signal_detected.
|
|
3
3
|
*/
|
|
4
4
|
import type { ActionScanPayload } from "../actions/types.js";
|
|
5
5
|
import type { ScanResult } from "../types/scanner.js";
|
|
@@ -8,13 +8,13 @@ export interface BuildActionScanPayloadOptions {
|
|
|
8
8
|
scansInHistory?: number;
|
|
9
9
|
/** Optional: per-strategy used slots (keyed by address). */
|
|
10
10
|
usedSlotsByStrategy?: Record<string, number>;
|
|
11
|
-
/** When set, anySlotsAvailable is true only for this
|
|
11
|
+
/** When set, anySlotsAvailable is true only for this address. */
|
|
12
12
|
address?: string;
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
15
|
* Build the payload passed to actions on on_signal_detected.
|
|
16
|
-
* topPicks = scanResult.signals; strategySlots from
|
|
16
|
+
* topPicks = scanResult.signals; strategySlots from strategyConfig (total/used/available);
|
|
17
17
|
* anySlotsAvailable, totalAvailableSlots; scansInHistory from options or 0.
|
|
18
18
|
*/
|
|
19
|
-
export declare function buildActionScanPayload(scanResult: ScanResult,
|
|
19
|
+
export declare function buildActionScanPayload(scanResult: ScanResult, strategyConfig: StrategyConfig, options?: BuildActionScanPayloadOptions): ActionScanPayload;
|
|
20
20
|
//# sourceMappingURL=build-action-scan-payload.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-action-scan-payload.d.ts","sourceRoot":"","sources":["../../src/runtime/build-action-scan-payload.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,qBAAqB,CAAC;AAC5E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,WAAW,6BAA6B;IAC5C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4DAA4D;IAC5D,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,
|
|
1
|
+
{"version":3,"file":"build-action-scan-payload.d.ts","sourceRoot":"","sources":["../../src/runtime/build-action-scan-payload.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,qBAAqB,CAAC;AAC5E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,WAAW,6BAA6B;IAC5C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4DAA4D;IAC5D,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,EAC9B,OAAO,CAAC,EAAE,6BAA6B,GACtC,iBAAiB,CA+BnB"}
|
|
@@ -1,29 +1,25 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Build ActionScanPayload from ScanResult and
|
|
2
|
+
* Build ActionScanPayload from ScanResult and strategy config for on_signal_detected.
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
5
|
* Build the payload passed to actions on on_signal_detected.
|
|
6
|
-
* topPicks = scanResult.signals; strategySlots from
|
|
6
|
+
* topPicks = scanResult.signals; strategySlots from strategyConfig (total/used/available);
|
|
7
7
|
* anySlotsAvailable, totalAvailableSlots; scansInHistory from options or 0.
|
|
8
8
|
*/
|
|
9
|
-
export function buildActionScanPayload(scanResult,
|
|
9
|
+
export function buildActionScanPayload(scanResult, strategyConfig, options) {
|
|
10
10
|
const usedByStrategy = options?.usedSlotsByStrategy ?? {};
|
|
11
|
-
const address =
|
|
11
|
+
const address = strategyConfig.address;
|
|
12
12
|
const scansInHistory = options?.scansInHistory ?? 0;
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
const anySlotsAvailable = address != null
|
|
25
|
-
? (strategySlots[address]?.available ?? 0) > 0
|
|
26
|
-
: totalAvailableSlots > 0;
|
|
13
|
+
const used = usedByStrategy[address] ?? 0;
|
|
14
|
+
const total = strategyConfig.slots ?? 0;
|
|
15
|
+
const available = Math.max(0, total - used);
|
|
16
|
+
const strategySlots = {
|
|
17
|
+
[address]: { total, used, available },
|
|
18
|
+
};
|
|
19
|
+
const filterAddress = options?.address;
|
|
20
|
+
const anySlotsAvailable = filterAddress != null
|
|
21
|
+
? (filterAddress === address && available > 0)
|
|
22
|
+
: available > 0;
|
|
27
23
|
const topPicks = Array.isArray(scanResult.signals)
|
|
28
24
|
? [...scanResult.signals]
|
|
29
25
|
: [];
|
|
@@ -32,7 +28,7 @@ export function buildActionScanPayload(scanResult, strategiesMap, options) {
|
|
|
32
28
|
topPicks,
|
|
33
29
|
strategySlots,
|
|
34
30
|
anySlotsAvailable,
|
|
35
|
-
totalAvailableSlots,
|
|
31
|
+
totalAvailableSlots: available,
|
|
36
32
|
scansInHistory,
|
|
37
33
|
};
|
|
38
34
|
return payload;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-action-scan-payload.js","sourceRoot":"","sources":["../../src/runtime/build-action-scan-payload.ts"],"names":[],"mappings":"AAAA;;GAEG;AAcH;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,UAAsB,EACtB,
|
|
1
|
+
{"version":3,"file":"build-action-scan-payload.js","sourceRoot":"","sources":["../../src/runtime/build-action-scan-payload.ts"],"names":[],"mappings":"AAAA;;GAEG;AAcH;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,UAAsB,EACtB,cAA8B,EAC9B,OAAuC;IAEvC,MAAM,cAAc,GAAG,OAAO,EAAE,mBAAmB,IAAI,EAAE,CAAC;IAC1D,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC;IACvC,MAAM,cAAc,GAAG,OAAO,EAAE,cAAc,IAAI,CAAC,CAAC;IAEpD,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,IAAI,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAkC;QACnD,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;KACtC,CAAC;IAEF,MAAM,aAAa,GAAG,OAAO,EAAE,OAAO,CAAC;IACvC,MAAM,iBAAiB,GACrB,aAAa,IAAI,IAAI;QACnB,CAAC,CAAC,CAAC,aAAa,KAAK,OAAO,IAAI,SAAS,GAAG,CAAC,CAAC;QAC9C,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC;IAEpB,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;QAChD,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC;QACzB,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,OAAO,GAAG;QACd,UAAU;QACV,QAAQ;QACR,aAAa;QACb,iBAAiB;QACjB,mBAAmB,EAAE,SAAS;QAC9B,cAAc;KACf,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -19,7 +19,7 @@ export interface CreateActionContextDeps {
|
|
|
19
19
|
contextBuilder: ContextBuilder;
|
|
20
20
|
riskGuard: RiskGuard;
|
|
21
21
|
notifications: NotificationService;
|
|
22
|
-
|
|
22
|
+
strategy: StrategyConfig;
|
|
23
23
|
playbook: {
|
|
24
24
|
tradingRecipeName: string;
|
|
25
25
|
version: string;
|
|
@@ -28,7 +28,7 @@ export interface CreateActionContextDeps {
|
|
|
28
28
|
}
|
|
29
29
|
/**
|
|
30
30
|
* Build ActionContext from trading recipe config and injected deps.
|
|
31
|
-
*
|
|
31
|
+
* Strategy and playbook are derived from config; rest from deps.
|
|
32
32
|
*/
|
|
33
|
-
export declare function createActionContext(config: TradingRecipeConfig, deps: Omit<CreateActionContextDeps, "
|
|
33
|
+
export declare function createActionContext(config: TradingRecipeConfig, deps: Omit<CreateActionContextDeps, "strategy" | "playbook">): ActionContext;
|
|
34
34
|
//# sourceMappingURL=create-action-context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-action-context.d.ts","sourceRoot":"","sources":["../../src/runtime/create-action-context.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGtE,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,WAAW,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,SAAS,CAAC;IACrB,aAAa,EAAE,mBAAmB,CAAC;IACnC,
|
|
1
|
+
{"version":3,"file":"create-action-context.d.ts","sourceRoot":"","sources":["../../src/runtime/create-action-context.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGtE,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,WAAW,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,SAAS,CAAC;IACrB,aAAa,EAAE,mBAAmB,CAAC;IACnC,QAAQ,EAAE,cAAc,CAAC;IACzB,QAAQ,EAAE;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACzD,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,mBAAmB,EAC3B,IAAI,EAAE,IAAI,CAAC,uBAAuB,EAAE,UAAU,GAAG,UAAU,CAAC,GAC3D,aAAa,CAYf"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Build ActionContext from trading recipe config and runtime deps.
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
4
|
+
import { resolveStrategyConfig } from "./map-strategies.js";
|
|
5
5
|
/**
|
|
6
6
|
* Build ActionContext from trading recipe config and injected deps.
|
|
7
|
-
*
|
|
7
|
+
* Strategy and playbook are derived from config; rest from deps.
|
|
8
8
|
*/
|
|
9
9
|
export function createActionContext(config, deps) {
|
|
10
|
-
const
|
|
10
|
+
const strategy = resolveStrategyConfig(config);
|
|
11
11
|
const playbook = {
|
|
12
12
|
tradingRecipeName: config.name,
|
|
13
|
-
version: config.version ?? "0.0.0",
|
|
13
|
+
version: String(config.version ?? "0.0.0"),
|
|
14
14
|
};
|
|
15
15
|
return {
|
|
16
16
|
...deps,
|
|
17
|
-
|
|
17
|
+
strategy,
|
|
18
18
|
playbook,
|
|
19
19
|
maxLeverageData: deps.maxLeverageData ?? {},
|
|
20
20
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-action-context.js","sourceRoot":"","sources":["../../src/runtime/create-action-context.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAe5D;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAA2B,EAC3B,
|
|
1
|
+
{"version":3,"file":"create-action-context.js","sourceRoot":"","sources":["../../src/runtime/create-action-context.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAe5D;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAA2B,EAC3B,IAA4D;IAE5D,MAAM,QAAQ,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG;QACf,iBAAiB,EAAE,MAAM,CAAC,IAAI;QAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC;KAC3C,CAAC;IACF,OAAO;QACL,GAAG,IAAI;QACP,QAAQ;QACR,QAAQ;QACR,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,EAAE;KAC5C,CAAC;AACJ,CAAC"}
|
|
@@ -6,7 +6,7 @@ import type { SenpiEventBus } from "../types/event-bus.js";
|
|
|
6
6
|
import type { RuntimeContext } from "../types/runtime.js";
|
|
7
7
|
import type { TradingRecipeConfig } from "./trading-recipe-config.js";
|
|
8
8
|
import type { CreateActionContextDeps } from "./create-action-context.js";
|
|
9
|
-
export interface CreateActionsOptions extends Omit<CreateActionContextDeps, "
|
|
9
|
+
export interface CreateActionsOptions extends Omit<CreateActionContextDeps, "strategy" | "playbook"> {
|
|
10
10
|
bus: SenpiEventBus;
|
|
11
11
|
/** When provided, this context is reused for all actions (built once per trading recipe by the runtime). */
|
|
12
12
|
runtimeContext?: RuntimeContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-actions.d.ts","sourceRoot":"","sources":["../../src/runtime/create-actions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAgB,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAK1E,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,uBAAuB,EAAE,
|
|
1
|
+
{"version":3,"file":"create-actions.d.ts","sourceRoot":"","sources":["../../src/runtime/create-actions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAgB,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAK1E,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,uBAAuB,EAAE,UAAU,GAAG,UAAU,CAAC;IAClG,GAAG,EAAE,aAAa,CAAC;IACnB,4GAA4G;IAC5G,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,mBAAmB,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1D;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,oBAAoB,GAAG,mBAAmB,CAyD7G"}
|