Skip to content

Commit 8a60dd6

Browse files
feat(monitors): add portfolio state monitor support (#129)
* feat(monitors): add portfolio monitor support Co-authored-by: Codex <codex@openai.com> * refactor(tradinggoose): move shared widget controls to components Co-authored-by: Codex <codex@openai.com> * feat(tradinggoose): split market and trading provider handling Co-authored-by: Codex <codex@openai.com> * refactor(monitors): normalize provider configs and sources Co-authored-by: Codex <codex@openai.com> * refactor(workflow): inline provider selector sub-blocks Co-authored-by: Codex <codex@openai.com> * feat(monitors): add source-aware monitor handling and runtime locks Co-authored-by: Codex <codex@openai.com> * feat(portfolio): enhance credential handling in portfolio identity functions * feat(monitor): remove referenceData from monitor payload functions * feat(portfolio): enhance service ID resolution and preserve runtime state in portfolio monitor updates * feat(trading): rename holdings surface to portfolio detail Co-authored-by: Codex <codex@openai.com> * fix(monitor): refine config defaults and selector layouts Co-authored-by: Codex <codex@openai.com> * fix(monitor-runtime): ignore deduped pending executions Co-authored-by: Codex <codex@openai.com> * refactor(monitor): simplify monitor card surfaces Co-authored-by: Codex <codex@openai.com> * style(card): adjust card background and shadow for improved aesthetics * feat(monitor-runtime): add updatedAt field and enhance runtime state management * feat(monitor-runtime): enhance execution ID generation and improve error handling for database connection issues * refactor(monitor): simplify MonitorKanbanSection and remove unused props refactor(config): streamline ConfigBoardSection structure and update tests feat(tests): enhance portfolio monitor runtime tests with additional error handling * feat(monitor-config): enhance PortfolioMonitorProviderConfig schema and improve runtime configuration handling * feat(monitor-execution): streamline execution handling by integrating enqueuePendingExecution and removing unused mocks * refactor(trading): remove workspace scoping from connection lookup Co-authored-by: Codex <codex@openai.com> * feat(tradinggoose): disable monitors on permanent dispatch failures Co-authored-by: Codex <codex@openai.com> * feat(monitor): refactor account resolution to include connectionOwnerUserId and streamline service ID handling * feat(monitor-execution): enhance error handling for workflow backlog and update execution logic * feat(indicator-monitor): update source identifier for monitor execution context * feat(portfolio-monitor): generalize monitor management and add portfolio monitor features * feat(monitor): remove TriggerExecutionUnavailableError mock from tests * feat(portfolio-monitor): update condition labels and enhance async handling in data processing --------- Co-authored-by: Codex <codex@openai.com>
1 parent 42d33f4 commit 8a60dd6

259 files changed

Lines changed: 7014 additions & 3428 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

apps/tradinggoose/app/(landing)/components/feature/components/market-preview/landing-indicator-dropdown.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@ import {
1111
import { Input } from '@/components/ui/input'
1212
import { ScrollArea } from '@/components/ui/scroll-area'
1313
import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip'
14-
import { cn } from '@/lib/utils'
1514
import {
1615
widgetHeaderControlClassName,
1716
widgetHeaderMenuContentClassName,
1817
widgetHeaderMenuItemClassName,
1918
widgetHeaderMenuTextClassName,
20-
} from '@/widgets/widgets/components/widget-header-control'
19+
} from '@/components/widget-header-control'
20+
import { cn } from '@/lib/utils'
2121
import type { LandingMarketIndicatorOption } from './indicators/catalog'
2222

2323
const DEFAULT_PLACEHOLDER = 'Select indicators'

apps/tradinggoose/app/(landing)/components/feature/components/market-preview/landing-widget-shell.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@
33
import type { ReactNode, WheelEvent } from 'react'
44
import { useCallback } from 'react'
55
import { Card } from '@/components/ui/card'
6+
import { widgetHeaderControlClassName } from '@/components/widget-header-control'
67
import { cn } from '@/lib/utils'
78
import { getWidgetDefinition } from '@/widgets/registry'
8-
import { widgetHeaderControlClassName } from '@/widgets/widgets/components/widget-header-control'
99

1010
type LandingWidgetShellProps = {
1111
widgetKey: string

apps/tradinggoose/app/(landing)/components/feature/components/market-preview/market-preview.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
'use client'
22

33
import React from 'react'
4+
import { widgetHeaderButtonGroupClassName } from '@/components/widget-header-control'
45
import { executeBrowserPineIndicator } from '@/lib/indicators/browser-execution'
56
import { buildInputsMapFromMeta } from '@/lib/indicators/input-meta'
67
import { buildIndexMaps, mapMarketSeriesToBarsMs } from '@/lib/indicators/series-data'
@@ -16,7 +17,6 @@ import {
1617
emitDataChartParamsChange,
1718
useDataChartParamsPersistence,
1819
} from '@/widgets/utils/chart-params'
19-
import { widgetHeaderButtonGroupClassName } from '@/widgets/widgets/components/widget-header-control'
2020
import { DataChartCandleTypeDropdown } from '@/widgets/widgets/data_chart/components/chart-controls'
2121
import { ChartPaneOverlays } from '@/widgets/widgets/data_chart/components/chart-pane-overlays'
2222
import { DrawToolsSidebar } from '@/widgets/widgets/data_chart/components/draw-tools-sidebar'

apps/tradinggoose/app/(landing)/components/feature/components/workflow-preview/workflow-preview.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import {
1313
widgetHeaderMenuContentClassName,
1414
widgetHeaderMenuItemClassName,
1515
widgetHeaderMenuTextClassName,
16-
} from '@/widgets/widgets/components/widget-header-control'
16+
} from '@/components/widget-header-control'
1717
import { LandingWidgetShell } from '../market-preview/landing-widget-shell'
1818
import { WorkflowPreviewCanvas } from './workflow-preview-canvas'
1919
import { TRADING_AGENT_WORKFLOW_DEMOS, type WorkflowPreviewDemo } from './workflow-preview-demos'

apps/tradinggoose/app/api/indicator-monitors/[id]/route.ts

Lines changed: 0 additions & 271 deletions
This file was deleted.

0 commit comments

Comments
 (0)