Skip to content

Commit a7c0787

Browse files
authored
Route runtime errors to main bot (#71)
1 parent 893925b commit a7c0787

14 files changed

Lines changed: 333 additions & 315 deletions

.env.example

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,12 @@ GLOBAL_TELEGRAM_CHAT_ID=
2525
FIRSTRADE_STRATEGY_PLUGIN_MOUNTS_JSON=
2626

2727
# Optional email channel for escalated strategy plugin alerts.
28-
CRISIS_ALERT_EMAIL_RECIPIENTS=
29-
CRISIS_ALERT_EMAIL_SENDER_EMAIL=
30-
CRISIS_ALERT_EMAIL_SENDER_PASSWORD=
31-
CRISIS_ALERT_EMAIL_SMTP_HOST=
32-
CRISIS_ALERT_EMAIL_SMTP_PORT=
33-
CRISIS_ALERT_EMAIL_SMTP_SECURITY=
28+
STRATEGY_PLUGIN_ALERT_EMAIL_RECIPIENTS=
29+
STRATEGY_PLUGIN_ALERT_EMAIL_SENDER_EMAIL=
30+
STRATEGY_PLUGIN_ALERT_EMAIL_SENDER_PASSWORD=
31+
STRATEGY_PLUGIN_ALERT_EMAIL_SMTP_HOST=
32+
STRATEGY_PLUGIN_ALERT_EMAIL_SMTP_PORT=
33+
STRATEGY_PLUGIN_ALERT_EMAIL_SMTP_SECURITY=
3434

3535
# Runtime safety controls.
3636
FIRSTRADE_COOKIE_DIR=.runtime/firstrade-cookies

.github/workflows/execution-report-heartbeat.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,7 @@ jobs:
4040
FIRSTRADE_GCS_STATE_BUCKET: ${{ vars.FIRSTRADE_GCS_STATE_BUCKET }}
4141
FIRSTRADE_STATE_PREFIX: ${{ vars.FIRSTRADE_STATE_PREFIX }}
4242
GLOBAL_TELEGRAM_CHAT_ID: ${{ vars.GLOBAL_TELEGRAM_CHAT_ID }}
43-
CRISIS_ALERT_TELEGRAM_CHAT_IDS: ${{ vars.CRISIS_ALERT_TELEGRAM_CHAT_IDS }}
44-
CRISIS_ALERT_TELEGRAM_API_BASE_URL: ${{ vars.CRISIS_ALERT_TELEGRAM_API_BASE_URL }}
4543
TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }}
46-
CRISIS_ALERT_TELEGRAM_BOT_TOKEN: ${{ secrets.CRISIS_ALERT_TELEGRAM_BOT_TOKEN }}
4744
steps:
4845
- name: Checkout repository
4946
uses: actions/checkout@v6

.github/workflows/runtime-guard.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,7 @@ jobs:
4848
RUNTIME_GUARD_SCHEDULER_JOB_PATTERN: ${{ vars.RUNTIME_GUARD_SCHEDULER_JOB_PATTERN }}
4949
CLOUD_RUN_SERVICE: ${{ vars.CLOUD_RUN_SERVICE }}
5050
GLOBAL_TELEGRAM_CHAT_ID: ${{ vars.GLOBAL_TELEGRAM_CHAT_ID }}
51-
CRISIS_ALERT_TELEGRAM_CHAT_IDS: ${{ vars.CRISIS_ALERT_TELEGRAM_CHAT_IDS }}
52-
CRISIS_ALERT_TELEGRAM_API_BASE_URL: ${{ vars.CRISIS_ALERT_TELEGRAM_API_BASE_URL }}
5351
TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }}
54-
CRISIS_ALERT_TELEGRAM_BOT_TOKEN: ${{ secrets.CRISIS_ALERT_TELEGRAM_BOT_TOKEN }}
5552
steps:
5653
- name: Checkout repository
5754
uses: actions/checkout@v6

.github/workflows/sync-cloud-run-env.yml

Lines changed: 100 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -63,36 +63,36 @@ jobs:
6363
FIRSTRADE_STATE_PREFIX: ${{ vars.FIRSTRADE_STATE_PREFIX }}
6464
FIRSTRADE_STRATEGY_CONFIG_PATH: ${{ vars.FIRSTRADE_STRATEGY_CONFIG_PATH }}
6565
FIRSTRADE_STRATEGY_PLUGIN_MOUNTS_JSON: ${{ vars.FIRSTRADE_STRATEGY_PLUGIN_MOUNTS_JSON }}
66-
CRISIS_ALERT_CHANNELS: ${{ vars.CRISIS_ALERT_CHANNELS }}
67-
CRISIS_ALERT_EMAIL_RECIPIENTS: ${{ vars.CRISIS_ALERT_EMAIL_RECIPIENTS }}
68-
CRISIS_ALERT_EMAIL_SENDER_EMAIL: ${{ vars.CRISIS_ALERT_EMAIL_SENDER_EMAIL }}
69-
CRISIS_ALERT_EMAIL_SENDER_PASSWORD_SECRET_NAME: ${{ vars.CRISIS_ALERT_EMAIL_SENDER_PASSWORD_SECRET_NAME }}
70-
CRISIS_ALERT_EMAIL_SMTP_HOST: ${{ vars.CRISIS_ALERT_EMAIL_SMTP_HOST }}
71-
CRISIS_ALERT_EMAIL_SMTP_PORT: ${{ vars.CRISIS_ALERT_EMAIL_SMTP_PORT }}
72-
CRISIS_ALERT_EMAIL_SMTP_SECURITY: ${{ vars.CRISIS_ALERT_EMAIL_SMTP_SECURITY }}
73-
CRISIS_ALERT_SMS_RECIPIENTS: ${{ vars.CRISIS_ALERT_SMS_RECIPIENTS }}
74-
CRISIS_ALERT_SMS_PROVIDER: ${{ vars.CRISIS_ALERT_SMS_PROVIDER }}
75-
CRISIS_ALERT_SMS_ACCOUNT_ID: ${{ vars.CRISIS_ALERT_SMS_ACCOUNT_ID }}
76-
CRISIS_ALERT_SMS_AUTH_TOKEN_SECRET_NAME: ${{ vars.CRISIS_ALERT_SMS_AUTH_TOKEN_SECRET_NAME }}
77-
CRISIS_ALERT_SMS_SENDER: ${{ vars.CRISIS_ALERT_SMS_SENDER }}
78-
CRISIS_ALERT_SMS_MESSAGING_SERVICE_ID: ${{ vars.CRISIS_ALERT_SMS_MESSAGING_SERVICE_ID }}
79-
CRISIS_ALERT_SMS_API_BASE_URL: ${{ vars.CRISIS_ALERT_SMS_API_BASE_URL }}
80-
CRISIS_ALERT_SMS_BODY_MAX_CHARS: ${{ vars.CRISIS_ALERT_SMS_BODY_MAX_CHARS }}
81-
CRISIS_ALERT_PUSH_RECIPIENTS: ${{ vars.CRISIS_ALERT_PUSH_RECIPIENTS }}
82-
CRISIS_ALERT_PUSH_PROVIDER: ${{ vars.CRISIS_ALERT_PUSH_PROVIDER }}
83-
CRISIS_ALERT_PUSH_APP_TOKEN_SECRET_NAME: ${{ vars.CRISIS_ALERT_PUSH_APP_TOKEN_SECRET_NAME }}
84-
CRISIS_ALERT_PUSH_ACCESS_TOKEN_SECRET_NAME: ${{ vars.CRISIS_ALERT_PUSH_ACCESS_TOKEN_SECRET_NAME }}
85-
CRISIS_ALERT_PUSH_API_BASE_URL: ${{ vars.CRISIS_ALERT_PUSH_API_BASE_URL }}
86-
CRISIS_ALERT_PUSH_DEVICE: ${{ vars.CRISIS_ALERT_PUSH_DEVICE }}
87-
CRISIS_ALERT_PUSH_PRIORITY: ${{ vars.CRISIS_ALERT_PUSH_PRIORITY }}
88-
CRISIS_ALERT_PUSH_TAGS: ${{ vars.CRISIS_ALERT_PUSH_TAGS }}
89-
CRISIS_ALERT_PUSH_BODY_MAX_CHARS: ${{ vars.CRISIS_ALERT_PUSH_BODY_MAX_CHARS }}
90-
CRISIS_ALERT_TELEGRAM_CHAT_IDS: ${{ vars.CRISIS_ALERT_TELEGRAM_CHAT_IDS }}
91-
CRISIS_ALERT_TELEGRAM_BOT_TOKEN_SECRET_NAME: ${{ vars.CRISIS_ALERT_TELEGRAM_BOT_TOKEN_SECRET_NAME }}
92-
CRISIS_ALERT_TELEGRAM_API_BASE_URL: ${{ vars.CRISIS_ALERT_TELEGRAM_API_BASE_URL }}
93-
CRISIS_ALERT_TELEGRAM_PARSE_MODE: ${{ vars.CRISIS_ALERT_TELEGRAM_PARSE_MODE }}
94-
CRISIS_ALERT_TELEGRAM_DISABLE_WEB_PAGE_PREVIEW: ${{ vars.CRISIS_ALERT_TELEGRAM_DISABLE_WEB_PAGE_PREVIEW }}
95-
CRISIS_ALERT_TELEGRAM_BODY_MAX_CHARS: ${{ vars.CRISIS_ALERT_TELEGRAM_BODY_MAX_CHARS }}
66+
STRATEGY_PLUGIN_ALERT_CHANNELS: ${{ vars.STRATEGY_PLUGIN_ALERT_CHANNELS }}
67+
STRATEGY_PLUGIN_ALERT_EMAIL_RECIPIENTS: ${{ vars.STRATEGY_PLUGIN_ALERT_EMAIL_RECIPIENTS }}
68+
STRATEGY_PLUGIN_ALERT_EMAIL_SENDER_EMAIL: ${{ vars.STRATEGY_PLUGIN_ALERT_EMAIL_SENDER_EMAIL }}
69+
STRATEGY_PLUGIN_ALERT_EMAIL_SENDER_PASSWORD_SECRET_NAME: ${{ vars.STRATEGY_PLUGIN_ALERT_EMAIL_SENDER_PASSWORD_SECRET_NAME }}
70+
STRATEGY_PLUGIN_ALERT_EMAIL_SMTP_HOST: ${{ vars.STRATEGY_PLUGIN_ALERT_EMAIL_SMTP_HOST }}
71+
STRATEGY_PLUGIN_ALERT_EMAIL_SMTP_PORT: ${{ vars.STRATEGY_PLUGIN_ALERT_EMAIL_SMTP_PORT }}
72+
STRATEGY_PLUGIN_ALERT_EMAIL_SMTP_SECURITY: ${{ vars.STRATEGY_PLUGIN_ALERT_EMAIL_SMTP_SECURITY }}
73+
STRATEGY_PLUGIN_ALERT_SMS_RECIPIENTS: ${{ vars.STRATEGY_PLUGIN_ALERT_SMS_RECIPIENTS }}
74+
STRATEGY_PLUGIN_ALERT_SMS_PROVIDER: ${{ vars.STRATEGY_PLUGIN_ALERT_SMS_PROVIDER }}
75+
STRATEGY_PLUGIN_ALERT_SMS_ACCOUNT_ID: ${{ vars.STRATEGY_PLUGIN_ALERT_SMS_ACCOUNT_ID }}
76+
STRATEGY_PLUGIN_ALERT_SMS_AUTH_TOKEN_SECRET_NAME: ${{ vars.STRATEGY_PLUGIN_ALERT_SMS_AUTH_TOKEN_SECRET_NAME }}
77+
STRATEGY_PLUGIN_ALERT_SMS_SENDER: ${{ vars.STRATEGY_PLUGIN_ALERT_SMS_SENDER }}
78+
STRATEGY_PLUGIN_ALERT_SMS_MESSAGING_SERVICE_ID: ${{ vars.STRATEGY_PLUGIN_ALERT_SMS_MESSAGING_SERVICE_ID }}
79+
STRATEGY_PLUGIN_ALERT_SMS_API_BASE_URL: ${{ vars.STRATEGY_PLUGIN_ALERT_SMS_API_BASE_URL }}
80+
STRATEGY_PLUGIN_ALERT_SMS_BODY_MAX_CHARS: ${{ vars.STRATEGY_PLUGIN_ALERT_SMS_BODY_MAX_CHARS }}
81+
STRATEGY_PLUGIN_ALERT_PUSH_RECIPIENTS: ${{ vars.STRATEGY_PLUGIN_ALERT_PUSH_RECIPIENTS }}
82+
STRATEGY_PLUGIN_ALERT_PUSH_PROVIDER: ${{ vars.STRATEGY_PLUGIN_ALERT_PUSH_PROVIDER }}
83+
STRATEGY_PLUGIN_ALERT_PUSH_APP_TOKEN_SECRET_NAME: ${{ vars.STRATEGY_PLUGIN_ALERT_PUSH_APP_TOKEN_SECRET_NAME }}
84+
STRATEGY_PLUGIN_ALERT_PUSH_ACCESS_TOKEN_SECRET_NAME: ${{ vars.STRATEGY_PLUGIN_ALERT_PUSH_ACCESS_TOKEN_SECRET_NAME }}
85+
STRATEGY_PLUGIN_ALERT_PUSH_API_BASE_URL: ${{ vars.STRATEGY_PLUGIN_ALERT_PUSH_API_BASE_URL }}
86+
STRATEGY_PLUGIN_ALERT_PUSH_DEVICE: ${{ vars.STRATEGY_PLUGIN_ALERT_PUSH_DEVICE }}
87+
STRATEGY_PLUGIN_ALERT_PUSH_PRIORITY: ${{ vars.STRATEGY_PLUGIN_ALERT_PUSH_PRIORITY }}
88+
STRATEGY_PLUGIN_ALERT_PUSH_TAGS: ${{ vars.STRATEGY_PLUGIN_ALERT_PUSH_TAGS }}
89+
STRATEGY_PLUGIN_ALERT_PUSH_BODY_MAX_CHARS: ${{ vars.STRATEGY_PLUGIN_ALERT_PUSH_BODY_MAX_CHARS }}
90+
STRATEGY_PLUGIN_ALERT_TELEGRAM_CHAT_IDS: ${{ vars.STRATEGY_PLUGIN_ALERT_TELEGRAM_CHAT_IDS }}
91+
STRATEGY_PLUGIN_ALERT_TELEGRAM_BOT_TOKEN_SECRET_NAME: ${{ vars.STRATEGY_PLUGIN_ALERT_TELEGRAM_BOT_TOKEN_SECRET_NAME }}
92+
STRATEGY_PLUGIN_ALERT_TELEGRAM_API_BASE_URL: ${{ vars.STRATEGY_PLUGIN_ALERT_TELEGRAM_API_BASE_URL }}
93+
STRATEGY_PLUGIN_ALERT_TELEGRAM_PARSE_MODE: ${{ vars.STRATEGY_PLUGIN_ALERT_TELEGRAM_PARSE_MODE }}
94+
STRATEGY_PLUGIN_ALERT_TELEGRAM_DISABLE_WEB_PAGE_PREVIEW: ${{ vars.STRATEGY_PLUGIN_ALERT_TELEGRAM_DISABLE_WEB_PAGE_PREVIEW }}
95+
STRATEGY_PLUGIN_ALERT_TELEGRAM_BODY_MAX_CHARS: ${{ vars.STRATEGY_PLUGIN_ALERT_TELEGRAM_BODY_MAX_CHARS }}
9696
FIRSTRADE_RUNTIME_EXECUTION_WINDOW_TRADING_DAYS: ${{ vars.FIRSTRADE_RUNTIME_EXECUTION_WINDOW_TRADING_DAYS }}
9797
FIRSTRADE_TECH_RUNTIME_EXECUTION_WINDOW_TRADING_DAYS: ${{ vars.FIRSTRADE_TECH_RUNTIME_EXECUTION_WINDOW_TRADING_DAYS }}
9898
INCOME_THRESHOLD_USD: ${{ vars.INCOME_THRESHOLD_USD }}
@@ -101,11 +101,11 @@ jobs:
101101
GLOBAL_TELEGRAM_CHAT_ID: ${{ vars.GLOBAL_TELEGRAM_CHAT_ID }}
102102
NOTIFY_LANG: ${{ vars.NOTIFY_LANG }}
103103
TELEGRAM_TOKEN: ${{ secrets.TELEGRAM_TOKEN }}
104-
CRISIS_ALERT_EMAIL_SENDER_PASSWORD: ${{ secrets.CRISIS_ALERT_EMAIL_SENDER_PASSWORD }}
105-
CRISIS_ALERT_SMS_AUTH_TOKEN: ${{ secrets.CRISIS_ALERT_SMS_AUTH_TOKEN }}
106-
CRISIS_ALERT_PUSH_APP_TOKEN: ${{ secrets.CRISIS_ALERT_PUSH_APP_TOKEN }}
107-
CRISIS_ALERT_PUSH_ACCESS_TOKEN: ${{ secrets.CRISIS_ALERT_PUSH_ACCESS_TOKEN }}
108-
CRISIS_ALERT_TELEGRAM_BOT_TOKEN: ${{ secrets.CRISIS_ALERT_TELEGRAM_BOT_TOKEN }}
104+
STRATEGY_PLUGIN_ALERT_EMAIL_SENDER_PASSWORD: ${{ secrets.STRATEGY_PLUGIN_ALERT_EMAIL_SENDER_PASSWORD }}
105+
STRATEGY_PLUGIN_ALERT_SMS_AUTH_TOKEN: ${{ secrets.STRATEGY_PLUGIN_ALERT_SMS_AUTH_TOKEN }}
106+
STRATEGY_PLUGIN_ALERT_PUSH_APP_TOKEN: ${{ secrets.STRATEGY_PLUGIN_ALERT_PUSH_APP_TOKEN }}
107+
STRATEGY_PLUGIN_ALERT_PUSH_ACCESS_TOKEN: ${{ secrets.STRATEGY_PLUGIN_ALERT_PUSH_ACCESS_TOKEN }}
108+
STRATEGY_PLUGIN_ALERT_TELEGRAM_BOT_TOKEN: ${{ secrets.STRATEGY_PLUGIN_ALERT_TELEGRAM_BOT_TOKEN }}
109109
FIRSTRADE_USERNAME: ${{ secrets.FIRSTRADE_USERNAME }}
110110
FIRSTRADE_PASSWORD: ${{ secrets.FIRSTRADE_PASSWORD }}
111111
FIRSTRADE_MFA_SECRET: ${{ secrets.FIRSTRADE_MFA_SECRET }}
@@ -426,11 +426,46 @@ jobs:
426426
"CRISIS_ALERT_SMTP_PASSWORD"
427427
"CRISIS_ALERT_SMTP_STARTTLS"
428428
"CRISIS_ALERT_SMTP_SSL"
429+
"CRISIS_ALERT_CHANNELS"
430+
"CRISIS_ALERT_EMAIL_RECIPIENTS"
431+
"CRISIS_ALERT_EMAIL_SENDER_EMAIL"
432+
"CRISIS_ALERT_EMAIL_SENDER_PASSWORD"
433+
"CRISIS_ALERT_EMAIL_SMTP_HOST"
434+
"CRISIS_ALERT_EMAIL_SMTP_PORT"
435+
"CRISIS_ALERT_EMAIL_SMTP_SECURITY"
436+
"CRISIS_ALERT_SMS_RECIPIENTS"
437+
"CRISIS_ALERT_SMS_PROVIDER"
438+
"CRISIS_ALERT_SMS_ACCOUNT_ID"
439+
"CRISIS_ALERT_SMS_AUTH_TOKEN"
440+
"CRISIS_ALERT_SMS_SENDER"
441+
"CRISIS_ALERT_SMS_MESSAGING_SERVICE_ID"
442+
"CRISIS_ALERT_SMS_API_BASE_URL"
443+
"CRISIS_ALERT_SMS_BODY_MAX_CHARS"
444+
"CRISIS_ALERT_PUSH_RECIPIENTS"
445+
"CRISIS_ALERT_PUSH_PROVIDER"
446+
"CRISIS_ALERT_PUSH_APP_TOKEN"
447+
"CRISIS_ALERT_PUSH_ACCESS_TOKEN"
448+
"CRISIS_ALERT_PUSH_API_BASE_URL"
449+
"CRISIS_ALERT_PUSH_DEVICE"
450+
"CRISIS_ALERT_PUSH_PRIORITY"
451+
"CRISIS_ALERT_PUSH_TAGS"
452+
"CRISIS_ALERT_PUSH_BODY_MAX_CHARS"
453+
"CRISIS_ALERT_TELEGRAM_CHAT_IDS"
454+
"CRISIS_ALERT_TELEGRAM_BOT_TOKEN"
455+
"CRISIS_ALERT_TELEGRAM_API_BASE_URL"
456+
"CRISIS_ALERT_TELEGRAM_PARSE_MODE"
457+
"CRISIS_ALERT_TELEGRAM_DISABLE_WEB_PAGE_PREVIEW"
458+
"CRISIS_ALERT_TELEGRAM_BODY_MAX_CHARS"
429459
)
430460
remove_secret_vars=(
431461
"CRISIS_ALERT_SMTP_PASSWORD"
432462
"CRISIS_ALERT_GOOGLE_VOICE_GMAIL_APP_PASSWORD"
433463
"CRISIS_ALERT_GOOGLE_VOICE_SENDER_PASSWORD"
464+
"CRISIS_ALERT_EMAIL_SENDER_PASSWORD"
465+
"CRISIS_ALERT_SMS_AUTH_TOKEN"
466+
"CRISIS_ALERT_PUSH_APP_TOKEN"
467+
"CRISIS_ALERT_PUSH_ACCESS_TOKEN"
468+
"CRISIS_ALERT_TELEGRAM_BOT_TOKEN"
434469
)
435470
436471
add_optional_env() {
@@ -488,31 +523,31 @@ jobs:
488523
add_optional_env FIRSTRADE_FEATURE_SNAPSHOT_MANIFEST_PATH
489524
add_optional_env FIRSTRADE_STRATEGY_CONFIG_PATH
490525
add_optional_env FIRSTRADE_STRATEGY_PLUGIN_MOUNTS_JSON
491-
add_optional_env CRISIS_ALERT_CHANNELS
492-
add_optional_env CRISIS_ALERT_EMAIL_RECIPIENTS
493-
add_optional_env CRISIS_ALERT_EMAIL_SENDER_EMAIL
494-
add_optional_env CRISIS_ALERT_EMAIL_SMTP_HOST
495-
add_optional_env CRISIS_ALERT_EMAIL_SMTP_PORT
496-
add_optional_env CRISIS_ALERT_EMAIL_SMTP_SECURITY
497-
add_optional_env CRISIS_ALERT_SMS_RECIPIENTS
498-
add_optional_env CRISIS_ALERT_SMS_PROVIDER
499-
add_optional_env CRISIS_ALERT_SMS_ACCOUNT_ID
500-
add_optional_env CRISIS_ALERT_SMS_SENDER
501-
add_optional_env CRISIS_ALERT_SMS_MESSAGING_SERVICE_ID
502-
add_optional_env CRISIS_ALERT_SMS_API_BASE_URL
503-
add_optional_env CRISIS_ALERT_SMS_BODY_MAX_CHARS
504-
add_optional_env CRISIS_ALERT_PUSH_RECIPIENTS
505-
add_optional_env CRISIS_ALERT_PUSH_PROVIDER
506-
add_optional_env CRISIS_ALERT_PUSH_API_BASE_URL
507-
add_optional_env CRISIS_ALERT_PUSH_DEVICE
508-
add_optional_env CRISIS_ALERT_PUSH_PRIORITY
509-
add_optional_env CRISIS_ALERT_PUSH_TAGS
510-
add_optional_env CRISIS_ALERT_PUSH_BODY_MAX_CHARS
511-
add_optional_env CRISIS_ALERT_TELEGRAM_CHAT_IDS
512-
add_optional_env CRISIS_ALERT_TELEGRAM_API_BASE_URL
513-
add_optional_env CRISIS_ALERT_TELEGRAM_PARSE_MODE
514-
add_optional_env CRISIS_ALERT_TELEGRAM_DISABLE_WEB_PAGE_PREVIEW
515-
add_optional_env CRISIS_ALERT_TELEGRAM_BODY_MAX_CHARS
526+
add_optional_env STRATEGY_PLUGIN_ALERT_CHANNELS
527+
add_optional_env STRATEGY_PLUGIN_ALERT_EMAIL_RECIPIENTS
528+
add_optional_env STRATEGY_PLUGIN_ALERT_EMAIL_SENDER_EMAIL
529+
add_optional_env STRATEGY_PLUGIN_ALERT_EMAIL_SMTP_HOST
530+
add_optional_env STRATEGY_PLUGIN_ALERT_EMAIL_SMTP_PORT
531+
add_optional_env STRATEGY_PLUGIN_ALERT_EMAIL_SMTP_SECURITY
532+
add_optional_env STRATEGY_PLUGIN_ALERT_SMS_RECIPIENTS
533+
add_optional_env STRATEGY_PLUGIN_ALERT_SMS_PROVIDER
534+
add_optional_env STRATEGY_PLUGIN_ALERT_SMS_ACCOUNT_ID
535+
add_optional_env STRATEGY_PLUGIN_ALERT_SMS_SENDER
536+
add_optional_env STRATEGY_PLUGIN_ALERT_SMS_MESSAGING_SERVICE_ID
537+
add_optional_env STRATEGY_PLUGIN_ALERT_SMS_API_BASE_URL
538+
add_optional_env STRATEGY_PLUGIN_ALERT_SMS_BODY_MAX_CHARS
539+
add_optional_env STRATEGY_PLUGIN_ALERT_PUSH_RECIPIENTS
540+
add_optional_env STRATEGY_PLUGIN_ALERT_PUSH_PROVIDER
541+
add_optional_env STRATEGY_PLUGIN_ALERT_PUSH_API_BASE_URL
542+
add_optional_env STRATEGY_PLUGIN_ALERT_PUSH_DEVICE
543+
add_optional_env STRATEGY_PLUGIN_ALERT_PUSH_PRIORITY
544+
add_optional_env STRATEGY_PLUGIN_ALERT_PUSH_TAGS
545+
add_optional_env STRATEGY_PLUGIN_ALERT_PUSH_BODY_MAX_CHARS
546+
add_optional_env STRATEGY_PLUGIN_ALERT_TELEGRAM_CHAT_IDS
547+
add_optional_env STRATEGY_PLUGIN_ALERT_TELEGRAM_API_BASE_URL
548+
add_optional_env STRATEGY_PLUGIN_ALERT_TELEGRAM_PARSE_MODE
549+
add_optional_env STRATEGY_PLUGIN_ALERT_TELEGRAM_DISABLE_WEB_PAGE_PREVIEW
550+
add_optional_env STRATEGY_PLUGIN_ALERT_TELEGRAM_BODY_MAX_CHARS
516551
add_optional_env FIRSTRADE_RUNTIME_EXECUTION_WINDOW_TRADING_DAYS
517552
add_optional_env FIRSTRADE_TECH_RUNTIME_EXECUTION_WINDOW_TRADING_DAYS
518553
add_optional_env INCOME_THRESHOLD_USD
@@ -522,11 +557,11 @@ jobs:
522557
add_optional_env NOTIFY_LANG
523558
524559
add_optional_secret TELEGRAM_TOKEN TELEGRAM_TOKEN_SECRET_NAME TELEGRAM_TOKEN
525-
add_optional_secret CRISIS_ALERT_EMAIL_SENDER_PASSWORD CRISIS_ALERT_EMAIL_SENDER_PASSWORD_SECRET_NAME CRISIS_ALERT_EMAIL_SENDER_PASSWORD
526-
add_optional_secret CRISIS_ALERT_SMS_AUTH_TOKEN CRISIS_ALERT_SMS_AUTH_TOKEN_SECRET_NAME CRISIS_ALERT_SMS_AUTH_TOKEN
527-
add_optional_secret CRISIS_ALERT_PUSH_APP_TOKEN CRISIS_ALERT_PUSH_APP_TOKEN_SECRET_NAME CRISIS_ALERT_PUSH_APP_TOKEN
528-
add_optional_secret CRISIS_ALERT_PUSH_ACCESS_TOKEN CRISIS_ALERT_PUSH_ACCESS_TOKEN_SECRET_NAME CRISIS_ALERT_PUSH_ACCESS_TOKEN
529-
add_optional_secret CRISIS_ALERT_TELEGRAM_BOT_TOKEN CRISIS_ALERT_TELEGRAM_BOT_TOKEN_SECRET_NAME CRISIS_ALERT_TELEGRAM_BOT_TOKEN
560+
add_optional_secret STRATEGY_PLUGIN_ALERT_EMAIL_SENDER_PASSWORD STRATEGY_PLUGIN_ALERT_EMAIL_SENDER_PASSWORD_SECRET_NAME STRATEGY_PLUGIN_ALERT_EMAIL_SENDER_PASSWORD
561+
add_optional_secret STRATEGY_PLUGIN_ALERT_SMS_AUTH_TOKEN STRATEGY_PLUGIN_ALERT_SMS_AUTH_TOKEN_SECRET_NAME STRATEGY_PLUGIN_ALERT_SMS_AUTH_TOKEN
562+
add_optional_secret STRATEGY_PLUGIN_ALERT_PUSH_APP_TOKEN STRATEGY_PLUGIN_ALERT_PUSH_APP_TOKEN_SECRET_NAME STRATEGY_PLUGIN_ALERT_PUSH_APP_TOKEN
563+
add_optional_secret STRATEGY_PLUGIN_ALERT_PUSH_ACCESS_TOKEN STRATEGY_PLUGIN_ALERT_PUSH_ACCESS_TOKEN_SECRET_NAME STRATEGY_PLUGIN_ALERT_PUSH_ACCESS_TOKEN
564+
add_optional_secret STRATEGY_PLUGIN_ALERT_TELEGRAM_BOT_TOKEN STRATEGY_PLUGIN_ALERT_TELEGRAM_BOT_TOKEN_SECRET_NAME STRATEGY_PLUGIN_ALERT_TELEGRAM_BOT_TOKEN
530565
add_optional_secret FIRSTRADE_USERNAME FIRSTRADE_USERNAME_SECRET_NAME FIRSTRADE_USERNAME
531566
add_optional_secret FIRSTRADE_PASSWORD FIRSTRADE_PASSWORD_SECRET_NAME FIRSTRADE_PASSWORD
532567
add_optional_secret FIRSTRADE_MFA_SECRET FIRSTRADE_MFA_SECRET_SECRET_NAME FIRSTRADE_MFA_SECRET

main.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,6 @@ def _telegram_notification_targets() -> tuple[tuple[str, str], ...]:
4242
if main_token and main_chat_id:
4343
targets.append((main_token, main_chat_id))
4444

45-
crisis_token = os.getenv("CRISIS_ALERT_TELEGRAM_BOT_TOKEN")
46-
for chat_id in _split_env_list(os.getenv("CRISIS_ALERT_TELEGRAM_CHAT_IDS")):
47-
if crisis_token and chat_id:
48-
targets.append((crisis_token, chat_id))
49-
5045
seen: set[tuple[str, str]] = set()
5146
unique_targets: list[tuple[str, str]] = []
5247
for target in targets:

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ authors = [
1414
]
1515
dependencies = [
1616
"firstrade==0.0.38",
17-
"quant-platform-kit @ git+https://github.com/QuantStrategyLab/QuantPlatformKit.git@v0.7.37",
17+
"quant-platform-kit @ git+https://github.com/QuantStrategyLab/QuantPlatformKit.git@3b6a0a9bedde72773e188041e0dc48516b38aadc",
1818
"us-equity-strategies @ git+https://github.com/QuantStrategyLab/UsEquityStrategies.git@v0.7.52",
1919
"google-cloud-storage",
2020
"requests",

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
flask
22
gunicorn
33
firstrade==0.0.38
4-
quant-platform-kit @ git+https://github.com/QuantStrategyLab/QuantPlatformKit.git@v0.7.37
4+
quant-platform-kit @ git+https://github.com/QuantStrategyLab/QuantPlatformKit.git@3b6a0a9bedde72773e188041e0dc48516b38aadc
55
us-equity-strategies @ git+https://github.com/QuantStrategyLab/UsEquityStrategies.git@v0.7.52
66
google-cloud-storage
77
requests

0 commit comments

Comments
 (0)