@continuumdao/continuum-node-sdk 1.3.28 → 1.3.29

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.
Files changed (102) hide show
  1. package/dist/agent-host-catalog.json +1 -0
  2. package/dist/core/chart/analysis/analysis-agent-view.d.ts.map +1 -1
  3. package/dist/core/chart/analysis/analysis-agent-view.js +17 -0
  4. package/dist/core/chart/analysis/analysis-agent-view.js.map +1 -1
  5. package/dist/core/chart/analysis/analysis-catalog.d.ts.map +1 -1
  6. package/dist/core/chart/analysis/analysis-catalog.js +8 -0
  7. package/dist/core/chart/analysis/analysis-catalog.js.map +1 -1
  8. package/dist/core/chart/analysis/bollinger-analyze-tools.d.ts +101 -0
  9. package/dist/core/chart/analysis/bollinger-analyze-tools.d.ts.map +1 -0
  10. package/dist/core/chart/analysis/bollinger-analyze-tools.js +289 -0
  11. package/dist/core/chart/analysis/bollinger-analyze-tools.js.map +1 -0
  12. package/dist/core/chart/analysis/bollinger-highlight.d.ts +29 -0
  13. package/dist/core/chart/analysis/bollinger-highlight.d.ts.map +1 -0
  14. package/dist/core/chart/analysis/bollinger-highlight.js +39 -0
  15. package/dist/core/chart/analysis/bollinger-highlight.js.map +1 -0
  16. package/dist/core/chart/analysis/trade-setups/bollinger-trade-setup.d.ts +77 -0
  17. package/dist/core/chart/analysis/trade-setups/bollinger-trade-setup.d.ts.map +1 -0
  18. package/dist/core/chart/analysis/trade-setups/bollinger-trade-setup.js +163 -0
  19. package/dist/core/chart/analysis/trade-setups/bollinger-trade-setup.js.map +1 -0
  20. package/dist/core/chart/analysis/trade-setups/build-trade.d.ts +2 -1
  21. package/dist/core/chart/analysis/trade-setups/build-trade.d.ts.map +1 -1
  22. package/dist/core/chart/analysis/trade-setups/build-trade.js +17 -1
  23. package/dist/core/chart/analysis/trade-setups/build-trade.js.map +1 -1
  24. package/dist/core/chart/analysis/trade-setups/candlestick-trade-setup.d.ts +3 -3
  25. package/dist/core/chart/analysis/trade-setups/candlestick-trade-setup.d.ts.map +1 -1
  26. package/dist/core/chart/analysis/trade-setups/candlestick-trade-setup.js +12 -14
  27. package/dist/core/chart/analysis/trade-setups/candlestick-trade-setup.js.map +1 -1
  28. package/dist/core/chart/analysis/trade-setups/chart-pattern-trade-setup.d.ts +7 -1
  29. package/dist/core/chart/analysis/trade-setups/chart-pattern-trade-setup.d.ts.map +1 -1
  30. package/dist/core/chart/analysis/trade-setups/chart-pattern-trade-setup.js +24 -2
  31. package/dist/core/chart/analysis/trade-setups/chart-pattern-trade-setup.js.map +1 -1
  32. package/dist/core/chart/analysis/trade-setups/entry-proximity-atr.d.ts +3 -0
  33. package/dist/core/chart/analysis/trade-setups/entry-proximity-atr.d.ts.map +1 -0
  34. package/dist/core/chart/analysis/trade-setups/entry-proximity-atr.js +32 -0
  35. package/dist/core/chart/analysis/trade-setups/entry-proximity-atr.js.map +1 -0
  36. package/dist/core/chart/analysis/trade-setups/index.d.ts +1 -0
  37. package/dist/core/chart/analysis/trade-setups/index.d.ts.map +1 -1
  38. package/dist/core/chart/analysis/trade-setups/index.js +1 -0
  39. package/dist/core/chart/analysis/trade-setups/index.js.map +1 -1
  40. package/dist/core/chart/analysis/trade-setups/key-level-fib-retrace-trade-setup.d.ts +7 -0
  41. package/dist/core/chart/analysis/trade-setups/key-level-fib-retrace-trade-setup.d.ts.map +1 -1
  42. package/dist/core/chart/analysis/trade-setups/key-level-fib-retrace-trade-setup.js +30 -4
  43. package/dist/core/chart/analysis/trade-setups/key-level-fib-retrace-trade-setup.js.map +1 -1
  44. package/dist/core/chart/analysis/trade-setups/key-levels-trade-setup.d.ts +5 -0
  45. package/dist/core/chart/analysis/trade-setups/key-levels-trade-setup.d.ts.map +1 -1
  46. package/dist/core/chart/analysis/trade-setups/key-levels-trade-setup.js +14 -2
  47. package/dist/core/chart/analysis/trade-setups/key-levels-trade-setup.js.map +1 -1
  48. package/dist/core/chart/analysis/trade-setups/pattern-limit-entry.d.ts +10 -1
  49. package/dist/core/chart/analysis/trade-setups/pattern-limit-entry.d.ts.map +1 -1
  50. package/dist/core/chart/analysis/trade-setups/pattern-limit-entry.js +75 -34
  51. package/dist/core/chart/analysis/trade-setups/pattern-limit-entry.js.map +1 -1
  52. package/dist/core/chart/analysis/trade-setups/shared.d.ts +1 -1
  53. package/dist/core/chart/analysis/trade-setups/shared.d.ts.map +1 -1
  54. package/dist/core/chart/analysis/trade-setups/shared.js +2 -0
  55. package/dist/core/chart/analysis/trade-setups/shared.js.map +1 -1
  56. package/dist/core/chart/analysis/trade-setups/trade-desk-defaults.d.ts +8 -0
  57. package/dist/core/chart/analysis/trade-setups/trade-desk-defaults.d.ts.map +1 -1
  58. package/dist/core/chart/analysis/trade-setups/trade-desk-defaults.js +9 -1
  59. package/dist/core/chart/analysis/trade-setups/trade-desk-defaults.js.map +1 -1
  60. package/dist/core/chart/analysis/trade-setups/trade-entry-gates.d.ts +9 -5
  61. package/dist/core/chart/analysis/trade-setups/trade-entry-gates.d.ts.map +1 -1
  62. package/dist/core/chart/analysis/trade-setups/trade-entry-gates.js +24 -8
  63. package/dist/core/chart/analysis/trade-setups/trade-entry-gates.js.map +1 -1
  64. package/dist/core/chart/analysis/trade-setups/trade-idea-list.d.ts +10 -0
  65. package/dist/core/chart/analysis/trade-setups/trade-idea-list.d.ts.map +1 -1
  66. package/dist/core/chart/analysis/trade-setups/trade-idea-list.js +24 -0
  67. package/dist/core/chart/analysis/trade-setups/trade-idea-list.js.map +1 -1
  68. package/dist/core/chart/analysis/trade-setups/trade-idea.d.ts +7 -0
  69. package/dist/core/chart/analysis/trade-setups/trade-idea.d.ts.map +1 -1
  70. package/dist/core/chart/analysis/trade-setups/trade-idea.js +8 -0
  71. package/dist/core/chart/analysis/trade-setups/trade-idea.js.map +1 -1
  72. package/dist/core/chart/display-downsample.d.ts +1 -1
  73. package/dist/core/chart/display-downsample.d.ts.map +1 -1
  74. package/dist/core/chart/display-downsample.js +21 -0
  75. package/dist/core/chart/display-downsample.js.map +1 -1
  76. package/dist/core/chart/overlay-schemas.d.ts +3 -0
  77. package/dist/core/chart/overlay-schemas.d.ts.map +1 -1
  78. package/dist/core/chart/overlay-schemas.js +2 -0
  79. package/dist/core/chart/overlay-schemas.js.map +1 -1
  80. package/dist/core/chart/overlays.d.ts.map +1 -1
  81. package/dist/core/chart/overlays.js +21 -0
  82. package/dist/core/chart/overlays.js.map +1 -1
  83. package/dist/core/chart/prepare-core.d.ts.map +1 -1
  84. package/dist/core/chart/prepare-core.js +20 -1
  85. package/dist/core/chart/prepare-core.js.map +1 -1
  86. package/dist/core/chart/prepare-from-rows.d.ts +2 -0
  87. package/dist/core/chart/prepare-from-rows.d.ts.map +1 -1
  88. package/dist/core/chart/schemas.d.ts +9 -0
  89. package/dist/core/chart/schemas.d.ts.map +1 -1
  90. package/dist/core/chart/schemas.js +1 -1
  91. package/dist/core/chart/schemas.js.map +1 -1
  92. package/dist/mcp/chart.d.ts.map +1 -1
  93. package/dist/mcp/chart.js +7 -0
  94. package/dist/mcp/chart.js.map +1 -1
  95. package/dist/mcp/deferred/tool-group-map.d.ts.map +1 -1
  96. package/dist/mcp/deferred/tool-group-map.js +1 -0
  97. package/dist/mcp/deferred/tool-group-map.js.map +1 -1
  98. package/dist/mcp/ohlcv-session-wrapper.d.ts.map +1 -1
  99. package/dist/mcp/ohlcv-session-wrapper.js +1 -0
  100. package/dist/mcp/ohlcv-session-wrapper.js.map +1 -1
  101. package/dist/mcp/resources/chart-analysis.md +4 -1
  102. package/package.json +1 -1
@@ -133,6 +133,7 @@
133
133
  "analyze_key_level_fibonacci": "chart",
134
134
  "analyze_momentum": "chart",
135
135
  "analyze_range_volatility": "chart",
136
+ "analyze_bollinger_bands": "chart",
136
137
  "analyze_candlestick_patterns": "chart",
137
138
  "analyze_chart_patterns": "chart",
138
139
  "analyze_time_series_trend": "chart",
@@ -1 +1 @@
1
- {"version":3,"file":"analysis-agent-view.d.ts","sourceRoot":"","sources":["../../../../src/core/chart/analysis/analysis-agent-view.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,wBAAgB,0BAA0B,CAAC,IAAI,EAAE;IAChD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkP1B"}
1
+ {"version":3,"file":"analysis-agent-view.d.ts","sourceRoot":"","sources":["../../../../src/core/chart/analysis/analysis-agent-view.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,wBAAgB,0BAA0B,CAAC,IAAI,EAAE;IAChD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAmQ1B"}
@@ -164,6 +164,23 @@ export function slimAnalysisOutputForAgent(data) {
164
164
  ...(analysis.rangeVolatilityHighlight && typeof analysis.rangeVolatilityHighlight === 'object'
165
165
  ? { rangeVolatilityHighlight: analysis.rangeVolatilityHighlight }
166
166
  : {}),
167
+ ...(analysis.bollingerTradeSetup && typeof analysis.bollingerTradeSetup === 'object'
168
+ ? { bollingerTradeSetup: analysis.bollingerTradeSetup }
169
+ : {}),
170
+ ...(analysis.bollingerHighlight && typeof analysis.bollingerHighlight === 'object'
171
+ ? { bollingerHighlight: analysis.bollingerHighlight }
172
+ : {}),
173
+ ...(analysis.upper != null && analysis.middle != null && analysis.lower != null
174
+ ? {
175
+ upper: analysis.upper,
176
+ middle: analysis.middle,
177
+ lower: analysis.lower,
178
+ bandWidth: analysis.bandWidth,
179
+ percentB: analysis.percentB,
180
+ period: analysis.period,
181
+ stdDev: analysis.stdDev,
182
+ }
183
+ : {}),
167
184
  ...(analysis.rangeHigh != null && analysis.rangeLow != null
168
185
  ? {
169
186
  rangeHigh: analysis.rangeHigh,
@@ -1 +1 @@
1
- {"version":3,"file":"analysis-agent-view.js","sourceRoot":"","sources":["../../../../src/core/chart/analysis/analysis-agent-view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analysis-agent-view.js","sourceRoot":"","sources":["../../../../src/core/chart/analysis/analysis-agent-view.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"analysis-catalog.d.ts","sourceRoot":"","sources":["../../../../src/core/chart/analysis/analysis-catalog.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,aAAa,CAAC;AAE5D,MAAM,MAAM,oBAAoB,GAAG;IAClC,QAAQ,EAAE,KAAK,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,qBAAqB,CAAC;QAChC,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,cAAc,CAAC,EAAE;YAAC,aAAa,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAC,CAAC;KAC7D,CAAC,CAAC;IACH,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC7B,CAAC;AAEF,wBAAgB,wBAAwB,IAAI,oBAAoB,CA8G/D"}
1
+ {"version":3,"file":"analysis-catalog.d.ts","sourceRoot":"","sources":["../../../../src/core/chart/analysis/analysis-catalog.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,aAAa,CAAC;AAE5D,MAAM,MAAM,oBAAoB,GAAG;IAClC,QAAQ,EAAE,KAAK,CAAC;QACf,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,qBAAqB,CAAC;QAChC,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,cAAc,CAAC,EAAE;YAAC,aAAa,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAC,CAAC;KAC7D,CAAC,CAAC;IACH,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC7B,CAAC;AAEF,wBAAgB,wBAAwB,IAAI,oBAAoB,CAuH/D"}
@@ -44,6 +44,14 @@ export function listChartAnalysisOptions() {
44
44
  dataKind: 'ohlcv',
45
45
  optionalSkill: 'chart-analysis-range',
46
46
  },
47
+ {
48
+ id: 'bollinger_bands',
49
+ label: 'Bollinger analysis',
50
+ description: 'Bollinger bands on OHLCV or line metrics; band-to-band fade trade when price is near an outer band',
51
+ analyzeTool: 'analyze_bollinger_bands',
52
+ dataKind: 'ohlcv',
53
+ optionalSkill: 'chart-analysis-bollinger',
54
+ },
47
55
  {
48
56
  id: 'candlestick_patterns',
49
57
  label: 'Candlestick patterns',
@@ -1 +1 @@
1
- {"version":3,"file":"analysis-catalog.js","sourceRoot":"","sources":["../../../../src/core/chart/analysis/analysis-catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analysis-catalog.js","sourceRoot":"","sources":["../../../../src/core/chart/analysis/analysis-catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,101 @@
1
+ import { z } from 'zod';
2
+ import type { SdkResult } from '../../result.js';
3
+ export declare const AnalyzeBollingerBandsInputSchema: z.ZodPreprocess<z.ZodObject<{
4
+ toolResult: z.ZodOptional<z.ZodUnknown>;
5
+ rows: z.ZodOptional<z.ZodArray<z.ZodUnknown>>;
6
+ title: z.ZodOptional<z.ZodString>;
7
+ label: z.ZodOptional<z.ZodString>;
8
+ ohlcvDigest: z.ZodOptional<z.ZodString>;
9
+ mergeLive: z.ZodOptional<z.ZodBoolean>;
10
+ liveTick: z.ZodOptional<z.ZodObject<{
11
+ timeMs: z.ZodNumber;
12
+ price: z.ZodNumber;
13
+ volume: z.ZodOptional<z.ZodNumber>;
14
+ }, z.core.$strict>>;
15
+ allowRowsOnly: z.ZodOptional<z.ZodBoolean>;
16
+ period: z.ZodOptional<z.ZodNumber>;
17
+ stdDev: z.ZodOptional<z.ZodNumber>;
18
+ entryProximityPct: z.ZodOptional<z.ZodNumber>;
19
+ }, z.core.$strict>>;
20
+ export declare const AnalyzeBollingerBandsOutputSchema: z.ZodObject<{
21
+ analysis: z.ZodObject<{
22
+ summary: z.ZodString;
23
+ interpretation: z.ZodString;
24
+ upper: z.ZodNumber;
25
+ middle: z.ZodNumber;
26
+ lower: z.ZodNumber;
27
+ bandWidth: z.ZodNumber;
28
+ percentB: z.ZodNumber;
29
+ period: z.ZodNumber;
30
+ stdDev: z.ZodNumber;
31
+ dataKind: z.ZodEnum<{
32
+ ohlcv: "ohlcv";
33
+ time_series: "time_series";
34
+ }>;
35
+ bollingerTradeSetup: z.ZodNullable<z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>>;
36
+ bollingerHighlight: z.ZodObject<{}, z.core.$catchall<z.ZodUnknown>>;
37
+ }, z.core.$strict>;
38
+ meta: z.ZodUnion<readonly [z.ZodObject<{
39
+ barCount: z.ZodNumber;
40
+ title: z.ZodOptional<z.ZodString>;
41
+ ohlcvSummary: z.ZodOptional<z.ZodObject<{
42
+ barCount: z.ZodNumber;
43
+ timeStartSec: z.ZodNumber;
44
+ timeEndSec: z.ZodNumber;
45
+ low: z.ZodNumber;
46
+ high: z.ZodNumber;
47
+ lastClose: z.ZodNumber;
48
+ }, z.core.$strict>>;
49
+ ohlcvFingerprint: z.ZodOptional<z.ZodObject<{
50
+ version: z.ZodLiteral<1>;
51
+ barCount: z.ZodNumber;
52
+ timeStartSec: z.ZodNumber;
53
+ timeEndSec: z.ZodNumber;
54
+ low: z.ZodNumber;
55
+ high: z.ZodNumber;
56
+ lastClose: z.ZodNumber;
57
+ digest: z.ZodString;
58
+ }, z.core.$strict>>;
59
+ fetchContext: z.ZodOptional<z.ZodObject<{
60
+ interval: z.ZodNullable<z.ZodString>;
61
+ intervalSec: z.ZodNullable<z.ZodNumber>;
62
+ lookbackDays: z.ZodNullable<z.ZodNumber>;
63
+ lookbackHours: z.ZodNullable<z.ZodNumber>;
64
+ lookbackLabel: z.ZodNullable<z.ZodString>;
65
+ coin: z.ZodNullable<z.ZodString>;
66
+ declaredBarCount: z.ZodNullable<z.ZodNumber>;
67
+ windowExpectedBarCount: z.ZodNullable<z.ZodNumber>;
68
+ expectedBarCount: z.ZodNullable<z.ZodNumber>;
69
+ }, z.core.$strict>>;
70
+ windowExpectation: z.ZodOptional<z.ZodObject<{
71
+ interval: z.ZodNullable<z.ZodString>;
72
+ intervalSec: z.ZodNullable<z.ZodNumber>;
73
+ lookbackLabel: z.ZodNullable<z.ZodString>;
74
+ expectedBarCount: z.ZodNullable<z.ZodNumber>;
75
+ minBarCount: z.ZodNullable<z.ZodNumber>;
76
+ sources: z.ZodArray<z.ZodString>;
77
+ }, z.core.$strict>>;
78
+ liveMerge: z.ZodOptional<z.ZodObject<{
79
+ attempted: z.ZodBoolean;
80
+ merged: z.ZodBoolean;
81
+ livePrice: z.ZodOptional<z.ZodNumber>;
82
+ liveTickTimeMs: z.ZodOptional<z.ZodNumber>;
83
+ priorLastClose: z.ZodOptional<z.ZodNumber>;
84
+ barRolledOver: z.ZodOptional<z.ZodBoolean>;
85
+ skippedReason: z.ZodOptional<z.ZodString>;
86
+ }, z.core.$strict>>;
87
+ patternsScanned: z.ZodOptional<z.ZodNumber>;
88
+ dataPolicy: z.ZodString;
89
+ warnings: z.ZodOptional<z.ZodArray<z.ZodString>>;
90
+ sessionBind: z.ZodOptional<z.ZodObject<{
91
+ ohlcvDigest: z.ZodString;
92
+ title: z.ZodOptional<z.ZodString>;
93
+ reuseInput: z.ZodObject<{
94
+ title: z.ZodOptional<z.ZodString>;
95
+ ohlcvDigest: z.ZodString;
96
+ }, z.core.$strict>;
97
+ }, z.core.$strict>>;
98
+ }, z.core.$strict>, z.ZodRecord<z.ZodString, z.ZodUnknown>]>;
99
+ }, z.core.$strict>;
100
+ export declare function analyzeBollingerBands(input: unknown): Promise<SdkResult<z.infer<typeof AnalyzeBollingerBandsOutputSchema>>>;
101
+ //# sourceMappingURL=bollinger-analyze-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bollinger-analyze-tools.d.ts","sourceRoot":"","sources":["../../../../src/core/chart/analysis/bollinger-analyze-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAmC/C,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;mBAG5C,CAAC;AAEF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAoBpC,CAAC;AAyEX,wBAAsB,qBAAqB,CAC1C,KAAK,EAAE,OAAO,GACZ,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,iCAAiC,CAAC,CAAC,CAAC,CAyLvE"}
@@ -0,0 +1,289 @@
1
+ import { z } from 'zod';
2
+ import { calculateTechnicalIndicator } from '../../ta/calculate.js';
3
+ import { coerceFiniteNumber } from '../point-normalize.js';
4
+ import { extractOhlcvBarsFromUnknown } from '../fetch-result.js';
5
+ import { ChartLiveTickSchema } from '../live/schemas.js';
6
+ import { validateTimeSeriesPointsFromToolResult } from '../chart-data-validation.js';
7
+ import { buildOhlcvAnalysisMeta, OhlcvAnalysisMetaSchema } from './analysis-meta.js';
8
+ import { prepareOhlcvBarsForAnalysis } from './ohlcv-live-merge.js';
9
+ import { preprocessOhlcvToolInput, missingOhlcvBarsReason } from './ohlcv-input.js';
10
+ import { buildBollingerHighlight } from './bollinger-highlight.js';
11
+ import { buildBollingerTradeSetup, DEFAULT_BOLLINGER_ENTRY_PROXIMITY_PCT, } from './trade-setups/bollinger-trade-setup.js';
12
+ import { extractTimeSeriesFromUnknown } from './time-series-input.js';
13
+ const DEFAULT_BOLLINGER_PERIOD = 20;
14
+ const DEFAULT_BOLLINGER_STD_DEV = 2;
15
+ const bollingerInputSchema = z
16
+ .object({
17
+ toolResult: z.unknown().optional(),
18
+ rows: z.array(z.unknown()).min(1).optional(),
19
+ title: z.string().trim().min(1).max(256).optional(),
20
+ label: z.string().trim().min(1).max(128).optional(),
21
+ ohlcvDigest: z.string().trim().min(1).max(512).optional(),
22
+ mergeLive: z.boolean().optional(),
23
+ liveTick: ChartLiveTickSchema.optional(),
24
+ allowRowsOnly: z.boolean().optional(),
25
+ period: z.number().int().min(2).max(500).optional(),
26
+ stdDev: z.number().positive().max(10).optional(),
27
+ entryProximityPct: z.number().min(0).max(50).optional(),
28
+ })
29
+ .strict();
30
+ export const AnalyzeBollingerBandsInputSchema = z.preprocess(preprocessOhlcvToolInput, bollingerInputSchema);
31
+ export const AnalyzeBollingerBandsOutputSchema = z
32
+ .object({
33
+ analysis: z
34
+ .object({
35
+ summary: z.string(),
36
+ interpretation: z.string(),
37
+ upper: z.number(),
38
+ middle: z.number(),
39
+ lower: z.number(),
40
+ bandWidth: z.number(),
41
+ percentB: z.number(),
42
+ period: z.number().int(),
43
+ stdDev: z.number(),
44
+ dataKind: z.enum(['ohlcv', 'time_series']),
45
+ bollingerTradeSetup: z.object({}).catchall(z.unknown()).nullable(),
46
+ bollingerHighlight: z.object({}).catchall(z.unknown()),
47
+ })
48
+ .strict(),
49
+ meta: z.union([OhlcvAnalysisMetaSchema, z.record(z.string(), z.unknown())]),
50
+ })
51
+ .strict();
52
+ function pointsFromToolInput(input) {
53
+ if (input.rows?.length) {
54
+ return extractTimeSeriesFromUnknown(input.rows) ?? [];
55
+ }
56
+ if (input.toolResult != null) {
57
+ return extractTimeSeriesFromUnknown(input.toolResult) ?? [];
58
+ }
59
+ return [];
60
+ }
61
+ function timeSeriesPointRows(points) {
62
+ return points.map(point => ({ time: point.timeSec, value: point.value }));
63
+ }
64
+ function lastBandValues(closes, period, stdDev) {
65
+ const result = calculateTechnicalIndicator({
66
+ indicator: 'bollingerbands',
67
+ params: { period, stdDev },
68
+ input: { values: closes },
69
+ options: { maxPoints: closes.length },
70
+ });
71
+ if (!result.ok) {
72
+ return result;
73
+ }
74
+ const rows = result.data.result;
75
+ if (!Array.isArray(rows) || rows.length === 0) {
76
+ return { ok: false, reason: 'Bollinger bands returned no data.' };
77
+ }
78
+ const lastRow = rows[rows.length - 1];
79
+ const upper = coerceFiniteNumber(lastRow.upper ?? lastRow.Upper);
80
+ const middle = coerceFiniteNumber(lastRow.middle ?? lastRow.Middle);
81
+ const lower = coerceFiniteNumber(lastRow.lower ?? lastRow.Lower);
82
+ const lastClose = closes.at(-1);
83
+ if (upper == null ||
84
+ middle == null ||
85
+ lower == null ||
86
+ lastClose == null ||
87
+ upper <= lower) {
88
+ return { ok: false, reason: 'Bollinger bands have no valid last values after warmup.' };
89
+ }
90
+ const bandWidth = upper - lower;
91
+ const percentB = bandWidth > 0 ? (lastClose - lower) / bandWidth : 0.5;
92
+ return { ok: true, data: { upper, middle, lower, percentB, bandWidth } };
93
+ }
94
+ function seriesMeta(points, title) {
95
+ return {
96
+ pointCount: points.length,
97
+ ...(title ? { title } : {}),
98
+ };
99
+ }
100
+ function lastCloseFromBars(bars) {
101
+ for (let i = bars.length - 1; i >= 0; i--) {
102
+ const close = coerceFiniteNumber(bars[i].close);
103
+ if (close != null) {
104
+ return close;
105
+ }
106
+ }
107
+ return null;
108
+ }
109
+ export async function analyzeBollingerBands(input) {
110
+ const parsed = AnalyzeBollingerBandsInputSchema.safeParse(input);
111
+ if (!parsed.success) {
112
+ return { ok: false, reason: parsed.error.message };
113
+ }
114
+ const period = parsed.data.period ?? DEFAULT_BOLLINGER_PERIOD;
115
+ const stdDev = parsed.data.stdDev ?? DEFAULT_BOLLINGER_STD_DEV;
116
+ const entryProximityPct = parsed.data.entryProximityPct ?? DEFAULT_BOLLINGER_ENTRY_PROXIMITY_PCT;
117
+ const minPoints = period + 1;
118
+ const ohlcvBars = parsed.data.rows?.length
119
+ ? extractOhlcvBarsFromUnknown(parsed.data.rows)
120
+ : parsed.data.toolResult != null
121
+ ? extractOhlcvBarsFromUnknown(parsed.data.toolResult)
122
+ : null;
123
+ if (ohlcvBars?.length) {
124
+ const prepared = await prepareOhlcvBarsForAnalysis(parsed.data);
125
+ if (!prepared.ok) {
126
+ return prepared;
127
+ }
128
+ const { bars, liveMerge, fingerprint } = prepared.data;
129
+ if (bars.length < minPoints) {
130
+ return {
131
+ ok: false,
132
+ reason: `Need at least ${minPoints} OHLCV bars for Bollinger analysis (period ${period}).`,
133
+ };
134
+ }
135
+ const closes = [];
136
+ for (const bar of bars) {
137
+ const close = coerceFiniteNumber(bar.close);
138
+ if (close != null) {
139
+ closes.push(close);
140
+ }
141
+ }
142
+ if (closes.length < minPoints) {
143
+ return { ok: false, reason: 'Insufficient valid close prices for Bollinger analysis.' };
144
+ }
145
+ const bands = lastBandValues(closes, period, stdDev);
146
+ if (!bands.ok) {
147
+ return bands;
148
+ }
149
+ const lastClose = lastCloseFromBars(bars) ?? closes.at(-1);
150
+ const { upper, middle, lower, percentB, bandWidth } = bands.data;
151
+ const bollingerTradeSetup = buildBollingerTradeSetup({
152
+ lastClose,
153
+ upper,
154
+ middle,
155
+ lower,
156
+ period,
157
+ stdDev,
158
+ entryProximityPct,
159
+ });
160
+ const bollingerHighlight = buildBollingerHighlight({
161
+ upper,
162
+ middle,
163
+ lower,
164
+ bandWidth,
165
+ percentB,
166
+ period,
167
+ stdDev,
168
+ setup: bollingerTradeSetup,
169
+ });
170
+ const summary = bollingerHighlight.summary;
171
+ const interpretation = (() => {
172
+ let msg = `Bollinger bands (${period}, ${stdDev}σ): upper ${upper.toFixed(2)}, middle ${middle.toFixed(2)}, lower ${lower.toFixed(2)}. Last close ${lastClose.toFixed(2)} (%B ${(percentB * 100).toFixed(1)}). `;
173
+ if (bollingerTradeSetup?.invalidated) {
174
+ msg += bollingerTradeSetup.unclearReason ?? 'Setup invalidated by band breach.';
175
+ }
176
+ else if (bollingerTradeSetup?.status === 'clear' && bollingerTradeSetup.side !== 'neutral') {
177
+ msg += `Trade setup: ${bollingerTradeSetup.side} fade at ${bollingerTradeSetup.entryLabel} toward ${bollingerTradeSetup.targetLabel}.`;
178
+ }
179
+ else {
180
+ msg += bollingerTradeSetup?.conditionalNote ?? 'No clear band fade — wait for proximity to outer band.';
181
+ }
182
+ return msg;
183
+ })();
184
+ return {
185
+ ok: true,
186
+ data: {
187
+ analysis: {
188
+ summary,
189
+ interpretation,
190
+ upper,
191
+ middle,
192
+ lower,
193
+ bandWidth,
194
+ percentB,
195
+ period,
196
+ stdDev,
197
+ dataKind: 'ohlcv',
198
+ bollingerTradeSetup,
199
+ bollingerHighlight,
200
+ },
201
+ meta: buildOhlcvAnalysisMeta(bars, {
202
+ title: parsed.data.title,
203
+ toolResult: parsed.data.toolResult,
204
+ liveMerge,
205
+ ohlcvFingerprint: fingerprint,
206
+ }),
207
+ },
208
+ };
209
+ }
210
+ const points = pointsFromToolInput(parsed.data);
211
+ if (points.length === 0) {
212
+ return { ok: false, reason: missingOhlcvBarsReason(parsed.data) };
213
+ }
214
+ const sorted = [...points].sort((a, b) => a.timeSec - b.timeSec);
215
+ const pointRows = timeSeriesPointRows(sorted);
216
+ if (parsed.data.toolResult != null) {
217
+ const check = validateTimeSeriesPointsFromToolResult(pointRows, parsed.data.toolResult, parsed.data.title);
218
+ if (!check.ok) {
219
+ return { ok: false, reason: check.reason };
220
+ }
221
+ }
222
+ if (sorted.length < minPoints) {
223
+ return {
224
+ ok: false,
225
+ reason: `Need at least ${minPoints} time-series points for Bollinger analysis (period ${period}).`,
226
+ };
227
+ }
228
+ const closes = sorted.map(p => p.value);
229
+ const bands = lastBandValues(closes, period, stdDev);
230
+ if (!bands.ok) {
231
+ return bands;
232
+ }
233
+ const lastClose = closes.at(-1);
234
+ const { upper, middle, lower, percentB, bandWidth } = bands.data;
235
+ const bollingerTradeSetup = buildBollingerTradeSetup({
236
+ lastClose,
237
+ upper,
238
+ middle,
239
+ lower,
240
+ period,
241
+ stdDev,
242
+ entryProximityPct,
243
+ });
244
+ const bollingerHighlight = buildBollingerHighlight({
245
+ upper,
246
+ middle,
247
+ lower,
248
+ bandWidth,
249
+ percentB,
250
+ period,
251
+ stdDev,
252
+ setup: bollingerTradeSetup,
253
+ });
254
+ const summary = bollingerHighlight.summary;
255
+ const interpretation = (() => {
256
+ let msg = `Bollinger bands on time series (${period}, ${stdDev}σ): upper ${upper.toFixed(2)}, middle ${middle.toFixed(2)}, lower ${lower.toFixed(2)}. Last value ${lastClose.toFixed(2)} (%B ${(percentB * 100).toFixed(1)}). `;
257
+ if (bollingerTradeSetup?.invalidated) {
258
+ msg += bollingerTradeSetup.unclearReason ?? 'Setup invalidated by band breach.';
259
+ }
260
+ else if (bollingerTradeSetup?.status === 'clear' && bollingerTradeSetup.side !== 'neutral') {
261
+ msg += `Trade setup: ${bollingerTradeSetup.side} fade at ${bollingerTradeSetup.entryLabel} toward ${bollingerTradeSetup.targetLabel}.`;
262
+ }
263
+ else {
264
+ msg += bollingerTradeSetup?.conditionalNote ?? 'No clear band fade — wait for proximity to outer band.';
265
+ }
266
+ return msg;
267
+ })();
268
+ return {
269
+ ok: true,
270
+ data: {
271
+ analysis: {
272
+ summary,
273
+ interpretation,
274
+ upper,
275
+ middle,
276
+ lower,
277
+ bandWidth,
278
+ percentB,
279
+ period,
280
+ stdDev,
281
+ dataKind: 'time_series',
282
+ bollingerTradeSetup,
283
+ bollingerHighlight,
284
+ },
285
+ meta: seriesMeta(sorted, parsed.data.title),
286
+ },
287
+ };
288
+ }
289
+ //# sourceMappingURL=bollinger-analyze-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bollinger-analyze-tools.js","sourceRoot":"","sources":["../../../../src/core/chart/analysis/bollinger-analyze-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { BollingerTradeSetup } from './trade-setups/bollinger-trade-setup.js';
2
+ export type BollingerHighlight = {
3
+ summary: string;
4
+ upper: number;
5
+ middle: number;
6
+ lower: number;
7
+ bandWidth: number;
8
+ percentB: number;
9
+ period: number;
10
+ stdDev: number;
11
+ side: 'long' | 'short' | 'neutral';
12
+ status: 'clear' | 'unclear';
13
+ invalidated: boolean;
14
+ confidence: number;
15
+ conditionalNote: string;
16
+ chartDrawingHint?: string;
17
+ unclearReason?: string;
18
+ };
19
+ export declare function buildBollingerHighlight(input: {
20
+ upper: number;
21
+ middle: number;
22
+ lower: number;
23
+ bandWidth: number;
24
+ percentB: number;
25
+ period: number;
26
+ stdDev: number;
27
+ setup: BollingerTradeSetup | null;
28
+ }): BollingerHighlight;
29
+ //# sourceMappingURL=bollinger-highlight.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bollinger-highlight.d.ts","sourceRoot":"","sources":["../../../../src/core/chart/analysis/bollinger-highlight.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,yCAAyC,CAAC;AAEjF,MAAM,MAAM,kBAAkB,GAAG;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IACnC,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAYF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAAC;CAClC,GAAG,kBAAkB,CA+BrB"}
@@ -0,0 +1,39 @@
1
+ function sideLabel(side) {
2
+ if (side === 'long') {
3
+ return 'Long';
4
+ }
5
+ if (side === 'short') {
6
+ return 'Short';
7
+ }
8
+ return 'Neutral';
9
+ }
10
+ export function buildBollingerHighlight(input) {
11
+ const setup = input.setup;
12
+ const side = setup?.side ?? 'neutral';
13
+ const status = setup?.status ?? 'unclear';
14
+ const invalidated = setup?.invalidated ?? false;
15
+ const confidence = setup?.confidence ?? 0.4;
16
+ const conditionalNote = setup?.conditionalNote ??
17
+ 'Bollinger bands — wait for price to reach an outer band for a fade entry.';
18
+ const statusPart = invalidated ? 'Invalid' : status === 'clear' ? 'Clear' : 'Unclear';
19
+ const summary = `BB(${input.period}, ${input.stdDev}) · ${input.lower.toFixed(2)}–${input.upper.toFixed(2)} · %B ${(input.percentB * 100).toFixed(1)}. ${sideLabel(side)} — ${statusPart}. ${conditionalNote}`;
20
+ const chartDrawingHint = 'When a chart is already prepared, merge `{ type: "bollinger", sourceSeriesId, period, stdDev }` into prepareReplay.overlays and call prepare_chart_from_rows with the same OHLCV session.';
21
+ return {
22
+ summary,
23
+ upper: input.upper,
24
+ middle: input.middle,
25
+ lower: input.lower,
26
+ bandWidth: input.bandWidth,
27
+ percentB: input.percentB,
28
+ period: input.period,
29
+ stdDev: input.stdDev,
30
+ side,
31
+ status,
32
+ invalidated,
33
+ confidence,
34
+ conditionalNote,
35
+ chartDrawingHint,
36
+ ...(setup?.unclearReason ? { unclearReason: setup.unclearReason } : {}),
37
+ };
38
+ }
39
+ //# sourceMappingURL=bollinger-highlight.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bollinger-highlight.js","sourceRoot":"","sources":["../../../../src/core/chart/analysis/bollinger-highlight.ts"],"names":[],"mappings":"AAoBA,SAAS,SAAS,CAAC,IAAgC;IAClD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACrB,OAAO,MAAM,CAAC;IACf,CAAC;IACD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC;IAChB,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KASvC;IACA,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1B,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,IAAI,SAAS,CAAC;IACtC,MAAM,MAAM,GAAG,KAAK,EAAE,MAAM,IAAI,SAAS,CAAC;IAC1C,MAAM,WAAW,GAAG,KAAK,EAAE,WAAW,IAAI,KAAK,CAAC;IAChD,MAAM,UAAU,GAAG,KAAK,EAAE,UAAU,IAAI,GAAG,CAAC;IAC5C,MAAM,eAAe,GACpB,KAAK,EAAE,eAAe;QACtB,2EAA2E,CAAC;IAC7E,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACtF,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,IAAI,CAAC,MAAM,UAAU,KAAK,eAAe,EAAE,CAAC;IAC/M,MAAM,gBAAgB,GACrB,2LAA2L,CAAC;IAE7L,OAAO;QACN,OAAO;QACP,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,IAAI;QACJ,MAAM;QACN,WAAW;QACX,UAAU;QACV,eAAe;QACf,gBAAgB;QAChB,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAC,aAAa,EAAE,KAAK,CAAC,aAAa,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACrE,CAAC;AACH,CAAC"}