@senpi/runtime 1.0.95-dev.20260409152005 → 1.0.95-dev.20260409192509

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 (68) hide show
  1. package/dist/actions/llm-decision/shared.d.ts +1 -1
  2. package/dist/actions/llm-decision/shared.d.ts.map +1 -1
  3. package/dist/actions/llm-decision/shared.js +1 -1
  4. package/dist/actions/llm-decision/shared.js.map +1 -1
  5. package/dist/actions/open-position/open-position.action.d.ts.map +1 -1
  6. package/dist/actions/open-position/open-position.action.js +48 -7
  7. package/dist/actions/open-position/open-position.action.js.map +1 -1
  8. package/dist/actions/open-position/resolve-margin.d.ts +22 -0
  9. package/dist/actions/open-position/resolve-margin.d.ts.map +1 -0
  10. package/dist/actions/open-position/resolve-margin.js +30 -0
  11. package/dist/actions/open-position/resolve-margin.js.map +1 -0
  12. package/dist/cli/guide-commands.d.ts.map +1 -1
  13. package/dist/cli/guide-commands.js +16 -15
  14. package/dist/cli/guide-commands.js.map +1 -1
  15. package/dist/dsl/config/exit-block.d.ts +0 -1
  16. package/dist/dsl/config/exit-block.d.ts.map +1 -1
  17. package/dist/dsl/config/parse-plugin-config.d.ts.map +1 -1
  18. package/dist/dsl/config/parse-plugin-config.js +1 -2
  19. package/dist/dsl/config/parse-plugin-config.js.map +1 -1
  20. package/dist/dsl/config/unknown-keys.d.ts.map +1 -1
  21. package/dist/dsl/config/unknown-keys.js +1 -2
  22. package/dist/dsl/config/unknown-keys.js.map +1 -1
  23. package/dist/dsl/engine/tick.d.ts.map +1 -1
  24. package/dist/dsl/engine/tick.js +5 -4
  25. package/dist/dsl/engine/tick.js.map +1 -1
  26. package/dist/dsl/engine-client/client.d.ts.map +1 -1
  27. package/dist/dsl/engine-client/client.js +0 -4
  28. package/dist/dsl/engine-client/client.js.map +1 -1
  29. package/dist/dsl/engine-client/event-mapping.d.ts +6 -3
  30. package/dist/dsl/engine-client/event-mapping.d.ts.map +1 -1
  31. package/dist/dsl/engine-client/event-mapping.js +34 -18
  32. package/dist/dsl/engine-client/event-mapping.js.map +1 -1
  33. package/dist/dsl/monitor/process-one-position.js +3 -3
  34. package/dist/dsl/monitor/process-one-position.js.map +1 -1
  35. package/dist/dsl/plugin/index.d.ts.map +1 -1
  36. package/dist/dsl/plugin/index.js +3 -6
  37. package/dist/dsl/plugin/index.js.map +1 -1
  38. package/dist/runtime/load-runtime-config.d.ts +1 -1
  39. package/dist/runtime/load-runtime-config.d.ts.map +1 -1
  40. package/dist/runtime/load-runtime-config.js +1 -1
  41. package/dist/runtime/map-exit-config.d.ts.map +1 -1
  42. package/dist/runtime/map-exit-config.js +0 -3
  43. package/dist/runtime/map-exit-config.js.map +1 -1
  44. package/dist/runtime/map-strategies.d.ts +1 -1
  45. package/dist/runtime/map-strategies.d.ts.map +1 -1
  46. package/dist/runtime/map-strategies.js +16 -2
  47. package/dist/runtime/map-strategies.js.map +1 -1
  48. package/dist/runtime/runtime-schema.d.ts +18 -36
  49. package/dist/runtime/runtime-schema.d.ts.map +1 -1
  50. package/dist/runtime/runtime-schema.js +1 -2
  51. package/dist/runtime/runtime-schema.js.map +1 -1
  52. package/dist/scripts/run-dsl-standalone-live.js +1 -1
  53. package/dist/scripts/run-dsl-standalone-live.js.map +1 -1
  54. package/dist/scripts/run-dsl-standalone-mock.js +1 -1
  55. package/dist/scripts/run-dsl-standalone-mock.js.map +1 -1
  56. package/dist/types/dsl/index.d.ts +0 -1
  57. package/dist/types/dsl/index.d.ts.map +1 -1
  58. package/dist/types/strategy.d.ts +1 -1
  59. package/dist/types/strategy.d.ts.map +1 -1
  60. package/examples/strategies/dsl-showcase.yaml +1 -2
  61. package/examples/strategies/dsl.yaml +1 -1
  62. package/examples/strategies/fox-minimal-loosened.yaml +2 -3
  63. package/examples/strategies/fox-minimal.yaml +8 -2
  64. package/examples/strategies/minimal.yaml +0 -2
  65. package/examples/strategies/viper.yaml +2 -3
  66. package/examples/strategies/wolf.yaml +2 -3
  67. package/examples/yamls/sample-with-dsl-and-emerging-movers.yaml +2 -3
  68. package/package.json +1 -1
@@ -3,10 +3,10 @@ export type TradingRisk = 'conservative' | 'moderate' | 'aggressive';
3
3
  /** Strategy configuration. Address is the strategy identifier (platform id). */
4
4
  export interface StrategyConfig {
5
5
  address: string;
6
- budget: number;
7
6
  slots: number;
8
7
  tradingRisk: TradingRisk;
9
8
  marginPerSlot?: number;
9
+ marginPct?: number;
10
10
  defaultLeverage?: number;
11
11
  leverageMultipliers?: Partial<Record<TradingRisk, number>>;
12
12
  dailyLossLimit?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"strategy.d.ts","sourceRoot":"","sources":["../../src/types/strategy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAIzG,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,UAAU,GAAG,YAAY,CAAC;AAErE,gFAAgF;AAChF,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAID,6FAA6F;AAC7F,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,YAAY,EAAE,CAAC;IAC1B,sGAAsG;IACtG,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,OAAO,GAAG,UAAU,CAAC;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,KAAK,GAAG,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAID,4FAA4F;AAC5F,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAGhC,qBAAqB,IAAI,kBAAkB,GAAG,SAAS,CAAC;IACxD,gBAAgB,IAAI,YAAY,EAAE,GAAG,SAAS,CAAC;IAC/C,aAAa,IAAI,SAAS,EAAE,GAAG,SAAS,CAAC;IACzC,aAAa,IAAI,SAAS,EAAE,GAAG,SAAS,CAAC;IACzC,iBAAiB,IAAI,MAAM,CAAC;IAC5B,UAAU,IAAI,eAAe,GAAG,SAAS,CAAC;IAC1C,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAGrD,uBAAuB,IAAI,OAAO,CAAC,kBAAkB,GAAG,SAAS,CAAC,CAAC;IACnE,eAAe,CAAC,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,EAAE,GAAG,SAAS,CAAC,CAAC;IACzI,eAAe,IAAI,OAAO,CAAC,SAAS,EAAE,GAAG,SAAS,CAAC,CAAC;IACpD,YAAY,IAAI,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAAC;IAGrD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAGzB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5E,cAAc,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC7E,YAAY,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE;YAAE,SAAS,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;CACvE"}
1
+ {"version":3,"file":"strategy.d.ts","sourceRoot":"","sources":["../../src/types/strategy.ts"],"names":[],"mappings":"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"}
@@ -14,9 +14,8 @@ notifications:
14
14
 
15
15
  strategy:
16
16
  wallet: "${WALLET_ADDRESS}"
17
- budget: 500
18
17
  slots: 2
19
- margin_per_slot: 200
18
+ margin_pct: 15
20
19
  trading_risk: conservative
21
20
  enabled: true
22
21
 
@@ -6,7 +6,7 @@ description: >
6
6
  into the DSL exit engine for automated trailing stop-loss management.
7
7
 
8
8
  # ── STRATEGY ──
9
- # Minimal: only wallet address + optional fields (no budget/slots/margin needed)
9
+ # Minimal: only wallet address + optional fields (no slots/margin needed for watch-only)
10
10
  strategy:
11
11
  wallet: "${WALLET_ADDRESS}"
12
12
  enabled: true
@@ -10,9 +10,8 @@ notifications:
10
10
 
11
11
  strategy:
12
12
  wallet: "${FOX_WALLET}"
13
- budget: "100"
14
13
  slots: 3
15
- margin_per_slot: 30
14
+ margin_pct: 10
16
15
  trading_risk: aggressive
17
16
  enabled: true
18
17
 
@@ -177,7 +176,7 @@ actions:
177
176
  "reasoning": "one sentence",
178
177
  "payload": {
179
178
  "signals": [
180
- { "asset": "<ticker>", "direction": "LONG" or "SHORT", "reason": "one sentence", "rotate_out": "<asset_to_cut>" }
179
+ { "asset": "<ticker>", "direction": "LONG" or "SHORT", "reason": "one sentence", "rotate_out": "<asset_to_cut>", "leverage": "<optional number>", "margin": "<optional $ amount>" }
181
180
  ]
182
181
  }
183
182
  }
@@ -8,7 +8,6 @@ description: >
8
8
 
9
9
  strategy:
10
10
  wallet: "${FOX_WALLET}"
11
- budget: "500"
12
11
  slots: 1
13
12
  margin_per_slot: 100
14
13
  trading_risk: aggressive
@@ -182,7 +181,14 @@ actions:
182
181
  "reasoning": "one sentence",
183
182
  "payload": {
184
183
  "signals": [
185
- { "asset": "<ticker>", "direction": "LONG" or "SHORT", "reason": "one sentence", "rotate_out": "<asset_to_cut>" }
184
+ {
185
+ "asset": "<ticker>",
186
+ "direction": "LONG" or "SHORT",
187
+ "reason": "one sentence",
188
+ "rotate_out": "<asset_to_cut>",
189
+ "leverage": <number, optional — your recommended leverage>,
190
+ "margin": <number, optional — $ margin amount>
191
+ }
186
192
  ]
187
193
  }
188
194
  }
@@ -4,9 +4,7 @@ description: Watch-only strategy — logs signals, opens no positions.
4
4
 
5
5
  strategy:
6
6
  wallet: "${WALLET_ADDRESS}"
7
- budget: "0"
8
7
  slots: 1
9
- margin_per_slot: 0
10
8
  trading_risk: conservative
11
9
  enabled: true
12
10
 
@@ -4,9 +4,8 @@ description: Moderate — candle-based breakouts via prescreener + momentum.
4
4
 
5
5
  strategy:
6
6
  wallet: "${WALLET_ADDRESS}"
7
- budget: 2000
8
7
  slots: 4
9
- margin_per_slot: 400
8
+ margin_pct: 10
10
9
  trading_risk: moderate
11
10
  enabled: true
12
11
 
@@ -39,7 +38,7 @@ actions:
39
38
  min_confidence: 6
40
39
  context: [signal]
41
40
  decision_prompt: |
42
- Evaluate the momentum breakout signal. Reply with JSON: {"execute": true|false, "actionType": "OPEN_POSITION", "confidence": 1-10, "reasoning": "...", "payload": {"signals": [{"asset": "SYMBOL", "direction": "LONG"|"SHORT", "reason": "..."}]}}.
41
+ Evaluate the momentum breakout signal. Reply with JSON: {"execute": true|false, "actionType": "OPEN_POSITION", "confidence": 1-10, "reasoning": "...", "payload": {"signals": [{"asset": "SYMBOL", "direction": "LONG"|"SHORT", "reason": "...", "leverage": <optional number>, "margin": <optional $ amount>}]}}.
43
42
 
44
43
  exit:
45
44
  engine: dsl
@@ -4,9 +4,8 @@ description: Aggressive — early entry on FIRST_JUMP from emerging_movers.
4
4
 
5
5
  strategy:
6
6
  wallet: "${WALLET_ADDRESS}"
7
- budget: 1000
8
7
  slots: 3
9
- margin_per_slot: 300
8
+ margin_pct: 15
10
9
  trading_risk: aggressive
11
10
  enabled: true
12
11
 
@@ -34,7 +33,7 @@ actions:
34
33
  min_confidence: 6
35
34
  context: [signal]
36
35
  decision_prompt: |
37
- Evaluate the signal. Reply with JSON: {"execute": true|false, "actionType": "OPEN_POSITION", "confidence": 1-10, "reasoning": "...", "payload": {"signals": [{"asset": "SYMBOL", "direction": "LONG"|"SHORT", "reason": "..."}]}}.
36
+ Evaluate the signal. Reply with JSON: {"execute": true|false, "actionType": "OPEN_POSITION", "confidence": 1-10, "reasoning": "...", "payload": {"signals": [{"asset": "SYMBOL", "direction": "LONG"|"SHORT", "reason": "...", "leverage": <optional number>, "margin": <optional $ amount>}]}}.
38
37
 
39
38
  exit:
40
39
  engine: dsl
@@ -11,9 +11,8 @@ description: > #required
11
11
  # ── STRATEGY ──
12
12
  strategy: #required
13
13
  wallet: "0x71ce3f0e27c178cbdcf01c4d068278034df75fbc"
14
- budget: "100"
15
14
  slots: 3
16
- margin_per_slot: 150
15
+ margin_pct: 10
17
16
  trading_risk: aggressive
18
17
  enabled: true
19
18
 
@@ -84,7 +83,7 @@ actions: #required
84
83
  "reasoning": "one sentence",
85
84
  "payload": {
86
85
  "signals": [
87
- { "asset": "<coin_ticker>", "direction": "LONG" or "SHORT", "reason": "one sentence", "rotate_out": "<asset_to_cut>" }
86
+ { "asset": "<coin_ticker>", "direction": "LONG" or "SHORT", "reason": "one sentence", "rotate_out": "<asset_to_cut>", "leverage": "<optional number>", "margin": "<optional $ amount>" }
88
87
  ]
89
88
  }
90
89
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@senpi/runtime",
3
- "version": "1.0.95-dev.20260409152005",
3
+ "version": "1.0.95-dev.20260409192509",
4
4
  "description": "Senpi runtime plugin for OpenClaw",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",