Skip to content

feat(screener): migrate to /v1/quote/ai/screener/* endpoints#530

Merged
hogan-yuan merged 11 commits into
mainfrom
feat/screener-ai-endpoints
May 23, 2026
Merged

feat(screener): migrate to /v1/quote/ai/screener/* endpoints#530
hogan-yuan merged 11 commits into
mainfrom
feat/screener-ai-endpoints

Conversation

@hogan-yuan
Copy link
Copy Markdown
Member

Summary

Migrates all screener endpoints from /v1/quote/screener/* to /v1/quote/ai/screener/* per longbridge-terminal PR #217.

Changes

Old endpoint New endpoint
GET /v1/quote/screener/strategies/recommend GET /v1/quote/ai/screener/strategies/recommend
GET /v1/quote/screener/strategies/mine GET /v1/quote/ai/screener/strategies/mine
GET /v1/quote/screener/strategy?id=N GET /v1/quote/ai/screener/strategy/{id}
POST /v1/quote/screener/search POST /v1/quote/ai/screener/search
GET /v1/quote/screener/indicators GET /v1/quote/ai/screener/indicators

Breaking changes

  • screener_recommend_strategies(market) and screener_user_strategies(market) now require a market parameter (Rust/Python/Node.js/Java/C)
  • screener_strategy(id) uses path param instead of query param

🤖 Generated with Claude Code

hogan-yuan and others added 9 commits May 22, 2026 19:35
- All five screener paths updated to /v1/quote/ai/screener/* prefix
- screener_recommend_strategies and screener_user_strategies gain a
  required `market` query parameter across Rust, Python, Node.js, Java, C
- screener_strategy(id) switches from ?id= query param to /{id} path param
- Blocking wrapper, all language bindings, Python .pyi stubs, and C header updated

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
…trategy parsing

- screener_strategy: strip filter_ from filter.filters[].key in response
- screener_indicators: strip filter_ from groups[].indicators[].key and
  build tech_values map from tech_indicators before returning
- screener_search: Mode A now fetches strategy from AI endpoint
  (/v1/quote/ai/screener/strategy/{id}), derives market from response,
  and sends filter.filters[] with DEFAULT_RETURNS; Mode B accepts
  "KEY:MIN:MAX" condition strings; response items[].indicators[].key
  has filter_ stripped; page is now 0-indexed
- Add conditions/show params to all SDK bindings (Python, Node.js, C, Java)

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
…bindings

The C functions gained a 'market' param; remove conflicting forward decls
(already declared in longbridge.h) and add market to hpp/cpp signatures.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
…aram, fix C++ signatures

- Add ScreenerCondition struct (Rust/Python/Node.js) for typed screener_search Mode B
  conditions instead of KEY:MIN:MAX strings
- Python: ScreenerCondition pyclass with key/min/max/tech_values(JSON string)
- Node.js: ScreenerCondition napi object with same fields
- Java: add market param to getRecommendStrategies/getUserStrategies and SdkNative
- C++: add market param to screener_recommend/user_strategies hpp/cpp

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@hogan-yuan hogan-yuan marked this pull request as ready for review May 23, 2026 08:22
hogan-yuan and others added 2 commits May 23, 2026 18:13
…l SDKs

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
@hogan-yuan hogan-yuan merged commit 169ec27 into main May 23, 2026
94 of 112 checks passed
@hogan-yuan hogan-yuan deleted the feat/screener-ai-endpoints branch May 23, 2026 11:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant