programgarden 2.4.0__tar.gz → 2.4.1__tar.gz
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.
- {programgarden-2.4.0 → programgarden-2.4.1}/PKG-INFO +1 -1
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/resolver.py +13 -2
- {programgarden-2.4.0 → programgarden-2.4.1}/pyproject.toml +1 -1
- {programgarden-2.4.0 → programgarden-2.4.1}/README.md +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/__init__.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/binding_validator.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/client.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/code_worker.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/context.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/database/__init__.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/database/adjustment_delivery.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/database/broker_evidence.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/database/broker_order_totals.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/database/broker_snapshot.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/database/checkpoint_manager.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/database/db_naming.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/database/execution_storage.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/database/fill_reconciler.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/database/order_cancellation.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/database/order_recovery.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/database/owned_order_cancellation.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/database/position_reconciliation.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/database/query_builder.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/database/workflow_position_tracker.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/database/workflow_risk_tracker.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/deep_fixtures.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/executor.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/futures_orderable.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/futures_pnl.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/futures_read_evidence.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/incremental_build.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/managed_order_control.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/node_runner.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/order_lifecycle.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/plugin/__init__.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/plugin/sandbox.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/providers/__init__.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/providers/llm_errors.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/providers/llm_provider.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/reconnect_handler.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/replay_contracts.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/replay_events.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/replay_external.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/replay_order_adapter.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/replay_orders.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/replay_scenarios.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/replay_semantics.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/replay_sources.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/replay_sqlite.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/replay_triggers.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/resource/__init__.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/resource/context.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/resource/limiter.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/resource/monitor.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/resource/throttle.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/semantic_rules.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/tools/__init__.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/tools/credential_tools.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/tools/definition_tools.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/tools/event_tools.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/tools/job_tools.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/tools/registry_tools.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/tools/sqlite_tools.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/validation_recommender.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/validation_replay.py +0 -0
- {programgarden-2.4.0 → programgarden-2.4.1}/programgarden/valuation.py +0 -0
|
@@ -8,6 +8,14 @@ deterministic self-correction without parsing free-form strings.
|
|
|
8
8
|
|
|
9
9
|
from typing import Optional, List, Dict, Any, Set, Tuple
|
|
10
10
|
|
|
11
|
+
# product_scope 값 → 그 스코프의 브로커 노드 타입. MISSING_REQUIRED_BROKER 안내에 쓴다.
|
|
12
|
+
# (ProductScope.ALL 은 브로커가 필요 없으므로 없다.)
|
|
13
|
+
_BROKER_NODE_BY_SCOPE: Dict[str, str] = {
|
|
14
|
+
"overseas_stock": "OverseasStockBrokerNode",
|
|
15
|
+
"overseas_futures": "OverseasFuturesBrokerNode",
|
|
16
|
+
"korea_stock": "KoreaStockBrokerNode",
|
|
17
|
+
}
|
|
18
|
+
|
|
11
19
|
from programgarden_core import (
|
|
12
20
|
ErrorCode,
|
|
13
21
|
ErrorInfo,
|
|
@@ -1663,8 +1671,11 @@ class WorkflowResolver:
|
|
|
1663
1671
|
|
|
1664
1672
|
# product_scope match
|
|
1665
1673
|
if scope.value not in available_brokers:
|
|
1666
|
-
|
|
1667
|
-
|
|
1674
|
+
# 스코프별 브로커 노드 매핑. 2.4.0 까지는 STOCK 이 아닌 모든 스코프를 해외선물로
|
|
1675
|
+
# 표기해 국내주식 노드에 "OverseasFuturesBrokerNode 를 추가하라" 고 안내했다
|
|
1676
|
+
# (AI 저작 루프가 그 말을 믿고 헤맴 — 2026-09-27 dev smoke).
|
|
1677
|
+
product_label = scope.value
|
|
1678
|
+
broker_node = _BROKER_NODE_BY_SCOPE.get(scope, "OverseasFuturesBrokerNode")
|
|
1668
1679
|
result.add(
|
|
1669
1680
|
build_error(
|
|
1670
1681
|
ErrorCode.MISSING_REQUIRED_BROKER,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{programgarden-2.4.0 → programgarden-2.4.1}/programgarden/database/owned_order_cancellation.py
RENAMED
|
File without changes
|
{programgarden-2.4.0 → programgarden-2.4.1}/programgarden/database/position_reconciliation.py
RENAMED
|
File without changes
|
|
File without changes
|
{programgarden-2.4.0 → programgarden-2.4.1}/programgarden/database/workflow_position_tracker.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|