traderclaw-cli 1.0.91 → 1.0.92
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/bin/installer-step-engine.mjs +84 -33
- package/package.json +2 -2
|
@@ -756,6 +756,14 @@ function buildOpenClawCronStoreJob(def) {
|
|
|
756
756
|
.split("-")
|
|
757
757
|
.map((w) => (w.length ? w.charAt(0).toUpperCase() + w.slice(1) : w))
|
|
758
758
|
.join(" ");
|
|
759
|
+
const payload = {
|
|
760
|
+
kind: "agentTurn",
|
|
761
|
+
message: def.message,
|
|
762
|
+
lightContext: def.lightContext !== undefined ? def.lightContext : true,
|
|
763
|
+
};
|
|
764
|
+
if (def.model) payload.model = def.model;
|
|
765
|
+
if (def.thinking !== undefined) payload.thinking = def.thinking;
|
|
766
|
+
const delivery = def.delivery || { mode: "announce", channel: "last", bestEffort: true };
|
|
759
767
|
return {
|
|
760
768
|
id: def.id,
|
|
761
769
|
name: nameFromId.length <= 60 ? nameFromId : nameFromId.slice(0, 59) + "…",
|
|
@@ -764,13 +772,8 @@ function buildOpenClawCronStoreJob(def) {
|
|
|
764
772
|
sessionTarget: "isolated",
|
|
765
773
|
wakeMode: "now",
|
|
766
774
|
agentId: def.agentId,
|
|
767
|
-
payload
|
|
768
|
-
|
|
769
|
-
message: def.message,
|
|
770
|
-
lightContext: true,
|
|
771
|
-
},
|
|
772
|
-
// OpenClaw: "none" = no channel post; announce + last = summary to user's last chat (see OpenClaw cron delivery docs)
|
|
773
|
-
delivery: { mode: "announce", channel: "last", bestEffort: true },
|
|
775
|
+
payload,
|
|
776
|
+
delivery,
|
|
774
777
|
state: {},
|
|
775
778
|
};
|
|
776
779
|
}
|
|
@@ -869,74 +872,122 @@ function traderCronPrescriptiveJobs(agentId) {
|
|
|
869
872
|
return [
|
|
870
873
|
{
|
|
871
874
|
id: "alpha-scan",
|
|
872
|
-
schedule: "0
|
|
875
|
+
schedule: "0 */3 * * *",
|
|
873
876
|
agentId,
|
|
874
877
|
message:
|
|
875
|
-
"CRON_JOB: alpha_scan
|
|
878
|
+
"CRON_JOB: alpha_scan\n\nScan new launches, filter, score, log alpha. Tools: solana_scan_launches → filter (vol>30K, mcap>10K, liq>5K) → solana_token_snapshot for survivors → quality filter (top10 <50%, deployer <3 abandoned, has social) → score 0-100 → solana_alpha_log for 65+. Summarize results.",
|
|
879
|
+
model: "anthropic/claude-sonnet-4-20250514",
|
|
880
|
+
thinking: false,
|
|
881
|
+
lightContext: true,
|
|
882
|
+
delivery: { mode: "announce", channel: "last", bestEffort: true },
|
|
876
883
|
enabled: true,
|
|
877
884
|
},
|
|
878
885
|
{
|
|
879
|
-
id: "
|
|
880
|
-
schedule: "0 */
|
|
886
|
+
id: "portfolio-health",
|
|
887
|
+
schedule: "0 */4 * * *",
|
|
881
888
|
agentId,
|
|
882
889
|
message:
|
|
883
|
-
"CRON_JOB:
|
|
890
|
+
"CRON_JOB: portfolio_health\n\nCombined dead-money + whale + risk audit. solana_capital_status + solana_positions → solana_token_snapshot per position → dead money exit (loss>40% or 90min+down+low vol) → whale flags (>5% supply moves) → risk checks (concentration/drawdown/exposure) → sell if CRITICAL → solana_memory_write tag 'portfolio_health'.",
|
|
891
|
+
model: "anthropic/claude-sonnet-4-20250514",
|
|
892
|
+
thinking: false,
|
|
893
|
+
lightContext: true,
|
|
894
|
+
delivery: { mode: "announce", channel: "last", bestEffort: true },
|
|
884
895
|
enabled: true,
|
|
885
896
|
},
|
|
886
897
|
{
|
|
887
|
-
id: "
|
|
888
|
-
schedule: "
|
|
898
|
+
id: "trust-refresh",
|
|
899
|
+
schedule: "0 */8 * * *",
|
|
889
900
|
agentId,
|
|
890
901
|
message:
|
|
891
|
-
"CRON_JOB:
|
|
902
|
+
"CRON_JOB: trust_refresh\n\nCombined source + deployer trust. solana_source_trust_refresh + solana_deployer_trust_refresh → solana_alpha_sources + solana_trades for win rates → solana_source_trust_get + solana_deployer_trust_get, flag <30 → solana_memory_write tag 'trust_refresh'.",
|
|
903
|
+
model: "anthropic/claude-haiku-4-5",
|
|
904
|
+
thinking: false,
|
|
905
|
+
lightContext: true,
|
|
906
|
+
delivery: { mode: "none" },
|
|
892
907
|
enabled: true,
|
|
893
908
|
},
|
|
894
909
|
{
|
|
895
|
-
id: "
|
|
896
|
-
schedule: "
|
|
910
|
+
id: "meta-rotation",
|
|
911
|
+
schedule: "30 */8 * * *",
|
|
897
912
|
agentId,
|
|
898
913
|
message:
|
|
899
|
-
"CRON_JOB:
|
|
914
|
+
"CRON_JOB: meta_rotation_analysis\n\nx_search_tweets trending topics → solana_scan_launches → categorize by narrative cluster → per-cluster metrics → compare vs solana_memory_search tag 'meta_rotation' → declare hot/fading clusters → solana_memory_write tag 'meta_rotation'.",
|
|
915
|
+
model: "anthropic/claude-sonnet-4-20250514",
|
|
916
|
+
thinking: false,
|
|
917
|
+
lightContext: true,
|
|
918
|
+
delivery: { mode: "announce", channel: "last", bestEffort: true },
|
|
900
919
|
enabled: true,
|
|
901
920
|
},
|
|
902
921
|
{
|
|
903
|
-
id: "
|
|
904
|
-
schedule: "
|
|
922
|
+
id: "strategy-evolution",
|
|
923
|
+
schedule: "0 6 * * *",
|
|
905
924
|
agentId,
|
|
906
925
|
message:
|
|
907
|
-
"CRON_JOB:
|
|
926
|
+
"CRON_JOB: strategy_evolution\n\nDaily strategy review. solana_journal_summary — if <10 closed trades since last evolution, log 'insufficient data' and stop. Otherwise: solana_trades to bucket by confidence tier → solana_strategy_state for current weights → analyze tier performance → solana_strategy_update with conservative adjustments (max 10% per weight per cycle) → solana_memory_write tag 'strategy_evolution'.",
|
|
927
|
+
model: "anthropic/claude-sonnet-4-20250514",
|
|
928
|
+
thinking: true,
|
|
929
|
+
lightContext: false,
|
|
930
|
+
delivery: { mode: "announce", channel: "last", bestEffort: true },
|
|
908
931
|
enabled: true,
|
|
909
932
|
},
|
|
910
933
|
{
|
|
911
|
-
id: "
|
|
912
|
-
schedule: "
|
|
934
|
+
id: "subscription-cleanup",
|
|
935
|
+
schedule: "15 */8 * * *",
|
|
913
936
|
agentId,
|
|
914
937
|
message:
|
|
915
|
-
"CRON_JOB:
|
|
938
|
+
"CRON_JOB: subscription_cleanup\n\nsolana_positions for open CAs → solana_bitquery_subscriptions for active subs (if AUTH_SCOPE_MISSING, log and stop) → match subs to positions → solana_bitquery_unsubscribe orphaned subs → solana_memory_write tag 'subscription_cleanup'. Summarize before/after counts.",
|
|
939
|
+
model: "anthropic/claude-haiku-4-5",
|
|
940
|
+
thinking: false,
|
|
941
|
+
lightContext: true,
|
|
942
|
+
delivery: { mode: "announce", channel: "last", bestEffort: true },
|
|
916
943
|
enabled: true,
|
|
917
944
|
},
|
|
918
945
|
{
|
|
919
|
-
id: "
|
|
920
|
-
schedule: "
|
|
946
|
+
id: "daily-performance-report",
|
|
947
|
+
schedule: "0 4 * * *",
|
|
921
948
|
agentId,
|
|
922
949
|
message:
|
|
923
|
-
"CRON_JOB:
|
|
950
|
+
"CRON_JOB: daily_performance_report\n\nCompile 24h report. solana_journal_summary + solana_capital_status + solana_positions + solana_trades + solana_strategy_state → sections: Portfolio Summary, Trading Activity (count/win rate/PnL), Best/Worst Trades, Strategy State, Risk Metrics, Recommendations → solana_memory_write tag 'daily_report'. Deliver full report.",
|
|
951
|
+
model: "anthropic/claude-sonnet-4-20250514",
|
|
952
|
+
thinking: false,
|
|
953
|
+
lightContext: false,
|
|
954
|
+
delivery: { mode: "announce", channel: "telegram" },
|
|
924
955
|
enabled: true,
|
|
925
956
|
},
|
|
926
957
|
{
|
|
927
|
-
id: "
|
|
928
|
-
schedule: "
|
|
958
|
+
id: "intelligence-lab-eval",
|
|
959
|
+
schedule: "0 16 * * *",
|
|
929
960
|
agentId,
|
|
930
961
|
message:
|
|
931
|
-
"CRON_JOB:
|
|
962
|
+
"CRON_JOB: intelligence_lab_eval\n\nsolana_candidate_get — if <20 labeled candidates, log 'insufficient data' and exit. Otherwise: solana_evaluation_report → solana_model_registry for challengers → solana_replay_eval if challenger exists → solana_model_promote if challenger beats champion by >5% F1 → solana_memory_write tag 'intelligence_lab'.",
|
|
963
|
+
model: "anthropic/claude-sonnet-4-20250514",
|
|
964
|
+
thinking: true,
|
|
965
|
+
lightContext: false,
|
|
966
|
+
delivery: { mode: "none" },
|
|
932
967
|
enabled: true,
|
|
933
968
|
},
|
|
934
969
|
{
|
|
935
|
-
id: "
|
|
936
|
-
schedule: "0
|
|
970
|
+
id: "memory-trim",
|
|
971
|
+
schedule: "0 3 * * *",
|
|
937
972
|
agentId,
|
|
938
973
|
message:
|
|
939
|
-
"CRON_JOB:
|
|
974
|
+
"CRON_JOB: memory_trim\n\nsolana_memory_trim dryRun:true first → review → solana_memory_trim retentionDays:2 → solana_memory_write tag 'memory_trim' with summary.",
|
|
975
|
+
model: "anthropic/claude-haiku-4-5",
|
|
976
|
+
thinking: false,
|
|
977
|
+
lightContext: true,
|
|
978
|
+
delivery: { mode: "none" },
|
|
979
|
+
enabled: true,
|
|
980
|
+
},
|
|
981
|
+
{
|
|
982
|
+
id: "balance-watchdog",
|
|
983
|
+
schedule: "0 */2 * * *",
|
|
984
|
+
agentId,
|
|
985
|
+
message:
|
|
986
|
+
"Balance watchdog. 1) solana_capital_status 2) solana_positions 3) solana_context_snapshot_read 4) Compare real vs believed. If mismatch: solana_context_snapshot_write with corrected state, summarize changes. If match: reply WATCHDOG_OK.",
|
|
987
|
+
model: "anthropic/claude-haiku-4-5",
|
|
988
|
+
thinking: false,
|
|
989
|
+
lightContext: true,
|
|
990
|
+
delivery: { mode: "announce", channel: "telegram" },
|
|
940
991
|
enabled: true,
|
|
941
992
|
},
|
|
942
993
|
];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "traderclaw-cli",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.92",
|
|
4
4
|
"description": "Global TraderClaw CLI (install --wizard, setup, precheck). Installs solana-traderclaw as a dependency for OpenClaw plugin files.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"node": ">=22"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"solana-traderclaw": "^1.0.
|
|
20
|
+
"solana-traderclaw": "^1.0.92"
|
|
21
21
|
},
|
|
22
22
|
"keywords": [
|
|
23
23
|
"traderclaw",
|