@continuumdao/continuum-node-sdk 1.2.29 → 1.3.1

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 (56) hide show
  1. package/dist/core/ta/calculate.d.ts +15 -0
  2. package/dist/core/ta/calculate.d.ts.map +1 -0
  3. package/dist/core/ta/calculate.js +275 -0
  4. package/dist/core/ta/calculate.js.map +1 -0
  5. package/dist/core/ta/catalog.d.ts +26 -0
  6. package/dist/core/ta/catalog.d.ts.map +1 -0
  7. package/dist/core/ta/catalog.js +215 -0
  8. package/dist/core/ta/catalog.js.map +1 -0
  9. package/dist/core/ta/index.d.ts +5 -0
  10. package/dist/core/ta/index.d.ts.map +1 -0
  11. package/dist/core/ta/index.js +5 -0
  12. package/dist/core/ta/index.js.map +1 -0
  13. package/dist/core/ta/normalize-input.d.ts +30 -0
  14. package/dist/core/ta/normalize-input.d.ts.map +1 -0
  15. package/dist/core/ta/normalize-input.js +193 -0
  16. package/dist/core/ta/normalize-input.js.map +1 -0
  17. package/dist/core/ta/schemas.d.ts +151 -0
  18. package/dist/core/ta/schemas.d.ts.map +1 -0
  19. package/dist/core/ta/schemas.js +95 -0
  20. package/dist/core/ta/schemas.js.map +1 -0
  21. package/dist/mcp/index.d.ts +1 -1
  22. package/dist/mcp/index.d.ts.map +1 -1
  23. package/dist/mcp/index.js +1 -1
  24. package/dist/mcp/index.js.map +1 -1
  25. package/dist/mcp/mcp-resources.d.ts +5 -0
  26. package/dist/mcp/mcp-resources.d.ts.map +1 -0
  27. package/dist/mcp/mcp-resources.js +25 -0
  28. package/dist/mcp/mcp-resources.js.map +1 -0
  29. package/dist/mcp/register.d.ts +1 -0
  30. package/dist/mcp/register.d.ts.map +1 -1
  31. package/dist/mcp/register.js +19 -32
  32. package/dist/mcp/register.js.map +1 -1
  33. package/dist/mcp/resources/agent-cron-jobs.md +50 -0
  34. package/dist/mcp/resources/agent-mcp-servers.md +18 -0
  35. package/dist/mcp/resources/agent-skills.md +35 -0
  36. package/dist/mcp/resources/agent-webhooks.md +19 -0
  37. package/dist/mcp/resources/group.md +70 -0
  38. package/dist/mcp/resources/keygen.md +175 -0
  39. package/dist/mcp/resources/management-signer.md +110 -0
  40. package/dist/mcp/resources/mpc.md +227 -0
  41. package/dist/mcp/resources/overview.md +64 -0
  42. package/dist/mcp/resources/registry/address-book.md +53 -0
  43. package/dist/mcp/resources/registry/networks.md +59 -0
  44. package/dist/mcp/resources/registry/tokens.md +63 -0
  45. package/dist/mcp/resources/technical-indicators.md +86 -0
  46. package/dist/mcp/resources/vpn.md +41 -0
  47. package/dist/mcp/ta/register.d.ts +7 -0
  48. package/dist/mcp/ta/register.d.ts.map +1 -0
  49. package/dist/mcp/ta/register.js +36 -0
  50. package/dist/mcp/ta/register.js.map +1 -0
  51. package/dist/mcp/ta/resources/indicators.md +86 -0
  52. package/dist/mcp/ta-server/index.d.ts +2 -0
  53. package/dist/mcp/ta-server/index.d.ts.map +1 -0
  54. package/dist/mcp/ta-server/index.js +12 -0
  55. package/dist/mcp/ta-server/index.js.map +1 -0
  56. package/package.json +7 -1
@@ -0,0 +1,15 @@
1
+ import type { SdkResult } from '../result.js';
2
+ import { catalogEntryForList } from './catalog.js';
3
+ import type { CalculateTechnicalIndicatorInput } from './schemas.js';
4
+ export declare function listTechnicalIndicators(): SdkResult<{
5
+ indicators: ReturnType<typeof catalogEntryForList>[];
6
+ }>;
7
+ export declare function calculateTechnicalIndicator(input: CalculateTechnicalIndicatorInput): SdkResult<{
8
+ indicator: string;
9
+ params: Record<string, unknown>;
10
+ inputLength: number;
11
+ outputLength: number;
12
+ warmupCount: number;
13
+ result: number[] | Array<Record<string, unknown>> | boolean[];
14
+ }>;
15
+ //# sourceMappingURL=calculate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculate.d.ts","sourceRoot":"","sources":["../../../src/core/ta/calculate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,EACN,mBAAmB,EAMnB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAC,gCAAgC,EAAC,MAAM,cAAc,CAAC;AAqNnE,wBAAgB,uBAAuB,IAAI,SAAS,CAAC;IACpD,UAAU,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,EAAE,CAAC;CACrD,CAAC,CAOD;AAED,wBAAgB,2BAA2B,CAC1C,KAAK,EAAE,gCAAgC,GACrC,SAAS,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC;CAC9D,CAAC,CAwED"}
@@ -0,0 +1,275 @@
1
+ import { createRequire } from 'node:module';
2
+ import { catalogEntryForList, getIndicatorMeta, listIndicatorCatalog, resolveIndicatorId, suggestIndicator, } from './catalog.js';
3
+ import { normalizeInput } from './normalize-input.js';
4
+ const require = createRequire(import.meta.url);
5
+ const ti = require('fast-technical-indicators');
6
+ function asTiFn(fn) {
7
+ return fn;
8
+ }
9
+ const FN_MAP = {
10
+ sma: asTiFn(ti.sma),
11
+ ema: asTiFn(ti.ema),
12
+ wma: asTiFn(ti.wma),
13
+ wema: asTiFn(ti.wema),
14
+ macd: asTiFn(ti.macd),
15
+ rsi: asTiFn(ti.rsi),
16
+ cci: asTiFn(ti.cci),
17
+ awesomeoscillator: asTiFn(ti.awesomeoscillator),
18
+ roc: asTiFn(ti.roc),
19
+ stochastic: asTiFn(ti.stochastic),
20
+ williamsr: asTiFn(ti.williamsr),
21
+ trix: asTiFn(ti.trix),
22
+ stochasticrsi: asTiFn(ti.stochasticrsi),
23
+ psar: asTiFn(ti.psar),
24
+ kst: asTiFn(ti.kst),
25
+ ultimateoscillator: asTiFn(ti.ultimateoscillator),
26
+ dpo: asTiFn(ti.dpo),
27
+ priceoscillator: asTiFn(ti.priceoscillator),
28
+ ppo: asTiFn(ti.ppo),
29
+ obv: asTiFn(ti.obv),
30
+ adl: asTiFn(ti.adl),
31
+ vwap: asTiFn(ti.vwap),
32
+ forceindex: asTiFn(ti.forceindex),
33
+ mfi: asTiFn(ti.mfi),
34
+ volumeprofile: asTiFn(ti.volumeprofile),
35
+ bollingerbands: asTiFn(ti.bollingerbands),
36
+ atr: asTiFn(ti.atr),
37
+ keltnerchannel: asTiFn(ti.keltnerchannel),
38
+ chandelierexit: asTiFn(ti.chandelierexit),
39
+ donchianchannels: asTiFn(ti.donchianchannels),
40
+ volatilityindex: asTiFn(ti.volatilityindex),
41
+ truerange: asTiFn(ti.truerange),
42
+ adx: asTiFn(ti.adx),
43
+ plusdm: asTiFn(ti.plusdm),
44
+ minusdm: asTiFn(ti.minusdm),
45
+ ichimokukinkouhyou: asTiFn(ti.ichimokukinkouhyou),
46
+ supertrend: asTiFn(ti.supertrend),
47
+ aroon: asTiFn(ti.aroon),
48
+ aroonoscillator: asTiFn(ti.aroonoscillator),
49
+ linearregression: asTiFn(ti.linearregression),
50
+ maenvelope: asTiFn(ti.maenvelope),
51
+ pivotpoints: asTiFn(ti.pivotpoints),
52
+ doji: asTiFn(ti.doji),
53
+ bullishengulfingpattern: asTiFn(ti.bullishengulfingpattern),
54
+ bearishengulfingpattern: asTiFn(ti.bearishengulfingpattern),
55
+ hammer: asTiFn(ti.hammer),
56
+ hangingman: asTiFn(ti.hangingman),
57
+ shootingstar: asTiFn(ti.shootingstar),
58
+ spinningtop: asTiFn(ti.spinningtop),
59
+ marubozu: asTiFn(ti.marubozu),
60
+ dragonflydoji: asTiFn(ti.dragonflydoji),
61
+ gravestonedoji: asTiFn(ti.gravestonedoji),
62
+ threewhitesoldiers: asTiFn(ti.threewhitesoldiers),
63
+ threeblackcrows: asTiFn(ti.threeblackcrows),
64
+ bullishharami: asTiFn(ti.bullishharami),
65
+ bearishharami: asTiFn(ti.bearishharami),
66
+ piercingline: asTiFn(ti.piercingline),
67
+ darkcloudcover: asTiFn(ti.darkcloudcover),
68
+ morningstar: asTiFn(ti.morningstar),
69
+ eveningstar: asTiFn(ti.eveningstar),
70
+ tweezerbottom: asTiFn(ti.tweezerbottom),
71
+ tweezertop: asTiFn(ti.tweezertop),
72
+ abandonedbaby: asTiFn(ti.abandonedbaby),
73
+ bullishmarubozu: asTiFn(ti.bullishmarubozu),
74
+ bearishmarubozu: asTiFn(ti.bearishmarubozu),
75
+ bullishinvertedhammer: asTiFn(ti.bullishinvertedhammer),
76
+ bearishinvertedhammer: asTiFn(ti.bearishinvertedhammer),
77
+ morningdojistar: asTiFn(ti.morningdojistar),
78
+ eveningdojistar: asTiFn(ti.eveningdojistar),
79
+ downsidetasukigap: asTiFn(ti.downsidetasukigap),
80
+ bullishspinningtop: asTiFn(ti.bullishspinningtop),
81
+ bearishspinningtop: asTiFn(ti.bearishspinningtop),
82
+ bullish: asTiFn(ti.bullish),
83
+ bearish: asTiFn(ti.bearish),
84
+ bullishharamicross: asTiFn(ti.bullishharamicross),
85
+ bearishharamicross: asTiFn(ti.bearishharamicross),
86
+ hammerpatternunconfirmed: asTiFn(ti.hammerpatternunconfirmed),
87
+ hangingmanunconfirmed: asTiFn(ti.hangingmanunconfirmed),
88
+ shootingstarunconfirmed: asTiFn(ti.shootingstarunconfirmed),
89
+ bullishhammerstick: asTiFn(ti.bullishhammerstick),
90
+ bearishhammerstick: asTiFn(ti.bearishhammerstick),
91
+ heikinashi: asTiFn(ti.heikinashi),
92
+ renko: asTiFn(ti.renko),
93
+ typicalprice: asTiFn(ti.typicalprice),
94
+ fibonacci: asTiFn(ti.fibonacci),
95
+ fibonacciExtensions: asTiFn(ti.fibonacciExtensions),
96
+ fibonacciProjection: asTiFn(ti.fibonacciProjection),
97
+ highest: asTiFn(ti.highest),
98
+ lowest: asTiFn(ti.lowest),
99
+ sum: asTiFn(ti.sum),
100
+ sd: asTiFn(ti.sd),
101
+ averagegain: asTiFn(ti.averageGain),
102
+ averageloss: asTiFn(ti.averageLoss),
103
+ crossup: asTiFn(ti.crossUp),
104
+ crossdown: asTiFn(ti.crossDown),
105
+ };
106
+ function countWarmup(result) {
107
+ for (let i = 0; i < result.length; i++) {
108
+ const item = result[i];
109
+ if (item === undefined || item === null) {
110
+ continue;
111
+ }
112
+ if (typeof item === 'number' && Number.isNaN(item)) {
113
+ continue;
114
+ }
115
+ if (typeof item === 'object') {
116
+ const obj = item;
117
+ const values = Object.values(obj);
118
+ if (values.length === 0 || values.every(v => v === undefined || v === null)) {
119
+ continue;
120
+ }
121
+ }
122
+ return i;
123
+ }
124
+ return result.length;
125
+ }
126
+ function computeWarmupCount(result, inputLength) {
127
+ const leading = countWarmup(result);
128
+ if (leading > 0 && leading < result.length) {
129
+ return leading;
130
+ }
131
+ if (result.length > 0 && result.length <= inputLength) {
132
+ return inputLength - result.length;
133
+ }
134
+ return leading;
135
+ }
136
+ function sanitizeResult(raw) {
137
+ if (!Array.isArray(raw)) {
138
+ return [raw];
139
+ }
140
+ return raw.map(item => {
141
+ if (typeof item !== 'object' || item === null) {
142
+ return item;
143
+ }
144
+ return JSON.parse(JSON.stringify(item));
145
+ });
146
+ }
147
+ function buildLibraryInput(meta, normalized, params) {
148
+ const base = { ...params };
149
+ switch (meta.inputProfile) {
150
+ case 'close_series':
151
+ return { ...base, values: normalized.values };
152
+ case 'ohl_series':
153
+ return { ...base, high: normalized.high, low: normalized.low };
154
+ case 'ohlc_series':
155
+ return {
156
+ ...base,
157
+ high: normalized.high,
158
+ low: normalized.low,
159
+ close: normalized.close,
160
+ };
161
+ case 'hlcv_series':
162
+ return {
163
+ ...base,
164
+ high: normalized.high,
165
+ low: normalized.low,
166
+ close: normalized.close,
167
+ volume: normalized.volume,
168
+ };
169
+ case 'close_volume_series':
170
+ return { ...base, close: normalized.close, volume: normalized.volume };
171
+ case 'ohlcv_series':
172
+ return {
173
+ ...base,
174
+ open: normalized.open,
175
+ high: normalized.high,
176
+ low: normalized.low,
177
+ close: normalized.close,
178
+ volume: normalized.volume,
179
+ };
180
+ case 'candle_objects':
181
+ return { candles: normalized.candles };
182
+ case 'range_scalar':
183
+ return { ...base, ...normalized.range };
184
+ case 'dual_series':
185
+ return { lineA: normalized.lineA, lineB: normalized.lineB };
186
+ case 'special':
187
+ if (meta.id === 'renko') {
188
+ return { candles: normalized.candles, brickSize: base.brickSize ?? 1 };
189
+ }
190
+ if (meta.id === 'fibonacciProjection') {
191
+ return {
192
+ prices: normalized.prices,
193
+ swingPoints: normalized.swingPoints,
194
+ };
195
+ }
196
+ throw new Error(`Unhandled special indicator: ${meta.id}`);
197
+ default:
198
+ throw new Error(`Unhandled input profile for ${meta.id}`);
199
+ }
200
+ }
201
+ export function listTechnicalIndicators() {
202
+ return {
203
+ ok: true,
204
+ data: {
205
+ indicators: listIndicatorCatalog().map(catalogEntryForList),
206
+ },
207
+ };
208
+ }
209
+ export function calculateTechnicalIndicator(input) {
210
+ const resolvedId = resolveIndicatorId(input.indicator);
211
+ if (!resolvedId) {
212
+ const suggestion = suggestIndicator(input.indicator);
213
+ const hint = suggestion
214
+ ? ` Did you mean "${suggestion}"?`
215
+ : ' Call list_technical_indicators for valid ids.';
216
+ return { ok: false, reason: `Unknown indicator: ${input.indicator}.${hint}` };
217
+ }
218
+ const meta = getIndicatorMeta(resolvedId);
219
+ if (!meta) {
220
+ return { ok: false, reason: `Unknown indicator: ${input.indicator}.` };
221
+ }
222
+ const fn = FN_MAP[meta.fnKey];
223
+ if (!fn) {
224
+ return { ok: false, reason: `Indicator ${resolvedId} is not wired for computation.` };
225
+ }
226
+ const mergedParams = { ...meta.defaultParams, ...input.params };
227
+ let normalized;
228
+ try {
229
+ normalized = normalizeInput(resolvedId, meta.inputProfile, input.input);
230
+ }
231
+ catch (error) {
232
+ const message = error instanceof Error ? error.message : String(error);
233
+ return { ok: false, reason: message };
234
+ }
235
+ let libraryInput;
236
+ try {
237
+ libraryInput = buildLibraryInput(meta, normalized, mergedParams);
238
+ }
239
+ catch (error) {
240
+ const message = error instanceof Error ? error.message : String(error);
241
+ return { ok: false, reason: message };
242
+ }
243
+ let rawResult;
244
+ try {
245
+ rawResult = fn(libraryInput);
246
+ }
247
+ catch (error) {
248
+ console.error(`calculateTechnicalIndicator(${resolvedId}) failed:`, error);
249
+ const message = error instanceof Error ? error.message : String(error);
250
+ return { ok: false, reason: `Calculation failed: ${message}` };
251
+ }
252
+ let result = sanitizeResult(rawResult);
253
+ const warmupCount = computeWarmupCount(result, normalized.inputLength);
254
+ if (input.options?.trimWarmup && warmupCount > 0) {
255
+ if (result.length === normalized.inputLength) {
256
+ result = result.slice(warmupCount);
257
+ }
258
+ }
259
+ const maxPoints = input.options?.maxPoints ?? 500;
260
+ if (result.length > maxPoints) {
261
+ result = result.slice(-maxPoints);
262
+ }
263
+ return {
264
+ ok: true,
265
+ data: {
266
+ indicator: resolvedId,
267
+ params: mergedParams,
268
+ inputLength: normalized.inputLength,
269
+ outputLength: result.length,
270
+ warmupCount,
271
+ result: result,
272
+ },
273
+ };
274
+ }
275
+ //# sourceMappingURL=calculate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calculate.js","sourceRoot":"","sources":["../../../src/core/ta/calculate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { InputProfile, OutputKind } from './schemas.js';
2
+ export interface IndicatorMeta {
3
+ id: string;
4
+ category: string;
5
+ inputProfile: InputProfile;
6
+ defaultParams: Record<string, number | boolean>;
7
+ outputKind: OutputKind;
8
+ description: string;
9
+ aliases?: string[];
10
+ fnKey: string;
11
+ }
12
+ export declare const INDICATOR_CATALOG: IndicatorMeta[];
13
+ export declare function resolveIndicatorId(name: string): string | undefined;
14
+ export declare function getIndicatorMeta(id: string): IndicatorMeta | undefined;
15
+ export declare function listIndicatorCatalog(): IndicatorMeta[];
16
+ export declare function suggestIndicator(name: string): string | undefined;
17
+ export declare function catalogEntryForList(meta: IndicatorMeta): {
18
+ id: string;
19
+ aliases: string[] | undefined;
20
+ category: string;
21
+ inputProfile: "close_series" | "ohl_series" | "ohlc_series" | "hlcv_series" | "ohlcv_series" | "close_volume_series" | "candle_objects" | "range_scalar" | "dual_series" | "special";
22
+ defaultParams: Record<string, number | boolean>;
23
+ outputKind: "numbers" | "objects" | "booleans" | "levels";
24
+ description: string;
25
+ };
26
+ //# sourceMappingURL=catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/core/ta/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;AAE3D,MAAM,WAAW,aAAa;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,YAAY,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;IAChD,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACd;AA4BD,eAAO,MAAM,iBAAiB,EAAE,aAAa,EAuP5C,CAAC;AAYF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAUnE;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAEtE;AAED,wBAAgB,oBAAoB,IAAI,aAAa,EAAE,CAEtD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAsBjE;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,aAAa;;;;;;;;EAUtD"}
@@ -0,0 +1,215 @@
1
+ function e(id, category, inputProfile, outputKind, description, defaultParams = {}, aliases, fnKey) {
2
+ return {
3
+ id,
4
+ category,
5
+ inputProfile,
6
+ defaultParams,
7
+ outputKind,
8
+ description,
9
+ aliases,
10
+ fnKey: fnKey ?? id,
11
+ };
12
+ }
13
+ const CANDLESTICK = 'candlestick';
14
+ const candle = (id, description) => e(id, CANDLESTICK, 'candle_objects', 'booleans', description);
15
+ export const INDICATOR_CATALOG = [
16
+ e('sma', 'moving_averages', 'close_series', 'numbers', 'Simple moving average', {
17
+ period: 20,
18
+ }),
19
+ e('ema', 'moving_averages', 'close_series', 'numbers', 'Exponential moving average', {
20
+ period: 20,
21
+ }),
22
+ e('wma', 'moving_averages', 'close_series', 'numbers', 'Weighted moving average', {
23
+ period: 20,
24
+ }),
25
+ e('wema', 'moving_averages', 'close_series', 'numbers', "Wilder's smoothed moving average", {
26
+ period: 20,
27
+ }),
28
+ e('macd', 'moving_averages', 'close_series', 'objects', 'MACD line, signal, and histogram', {
29
+ fastPeriod: 12,
30
+ slowPeriod: 26,
31
+ signalPeriod: 9,
32
+ }),
33
+ e('rsi', 'oscillators', 'close_series', 'numbers', 'Relative strength index', { period: 14 }),
34
+ e('cci', 'oscillators', 'ohlc_series', 'numbers', 'Commodity channel index', { period: 20 }),
35
+ e('awesomeoscillator', 'oscillators', 'ohl_series', 'numbers', 'Awesome oscillator from high/low midpoints', { fastPeriod: 5, slowPeriod: 34 }),
36
+ e('roc', 'momentum', 'close_series', 'numbers', 'Rate of change', { period: 12 }),
37
+ e('stochastic', 'momentum', 'ohlc_series', 'objects', 'Stochastic oscillator %K and %D', { period: 14, signalPeriod: 3 }),
38
+ e('williamsr', 'momentum', 'ohlc_series', 'numbers', 'Williams %R', { period: 14 }),
39
+ e('trix', 'momentum', 'close_series', 'numbers', 'TRIX momentum oscillator', { period: 18 }),
40
+ e('stochasticrsi', 'momentum', 'close_series', 'objects', 'Stochastic RSI', { rsiPeriod: 14, stochasticPeriod: 14, kPeriod: 3, dPeriod: 3 }),
41
+ e('psar', 'momentum', 'ohlc_series', 'objects', 'Parabolic SAR', {
42
+ step: 0.02,
43
+ max: 0.2,
44
+ }),
45
+ e('kst', 'momentum', 'close_series', 'objects', 'Know Sure Thing oscillator'),
46
+ e('ultimateoscillator', 'momentum', 'ohlc_series', 'numbers', 'Ultimate oscillator', { shortPeriod: 7, mediumPeriod: 14, longPeriod: 28 }),
47
+ e('dpo', 'momentum', 'close_series', 'numbers', 'Detrended price oscillator', {
48
+ period: 20,
49
+ }),
50
+ e('priceoscillator', 'momentum', 'close_series', 'numbers', 'Price oscillator', { fastPeriod: 12, slowPeriod: 26 }),
51
+ e('ppo', 'momentum', 'close_series', 'numbers', 'Percentage price oscillator', {
52
+ fastPeriod: 12,
53
+ slowPeriod: 26,
54
+ }),
55
+ e('obv', 'volume', 'close_volume_series', 'numbers', 'On-balance volume'),
56
+ e('adl', 'volume', 'hlcv_series', 'numbers', 'Accumulation/distribution line'),
57
+ e('vwap', 'volume', 'hlcv_series', 'numbers', 'Volume weighted average price'),
58
+ e('forceindex', 'volume', 'close_volume_series', 'numbers', 'Force index', { period: 13 }),
59
+ e('mfi', 'volume', 'hlcv_series', 'numbers', 'Money flow index', { period: 14 }),
60
+ e('volumeprofile', 'volume', 'ohlcv_series', 'objects', 'Volume profile by price range', { noOfBars: 12 }),
61
+ e('bollingerbands', 'volatility', 'close_series', 'objects', 'Bollinger bands', {
62
+ period: 20,
63
+ stdDev: 2,
64
+ }),
65
+ e('atr', 'volatility', 'ohlc_series', 'numbers', 'Average true range', { period: 14 }),
66
+ e('keltnerchannel', 'volatility', 'ohlc_series', 'objects', 'Keltner channels', { period: 20, multiplier: 2 }, ['keltnerchannels']),
67
+ e('chandelierexit', 'volatility', 'ohlc_series', 'objects', 'Chandelier exit stop levels', { period: 22, multiplier: 3 }),
68
+ e('donchianchannels', 'volatility', 'ohlc_series', 'objects', 'Donchian channels', { period: 20 }),
69
+ e('volatilityindex', 'volatility', 'ohlc_series', 'numbers', 'Volatility index', { period: 14 }),
70
+ e('truerange', 'directional', 'ohlc_series', 'numbers', 'True range'),
71
+ e('adx', 'directional', 'ohlc_series', 'numbers', 'Average directional index', { period: 14 }),
72
+ e('plusdm', 'directional', 'ohlc_series', 'numbers', 'Plus directional movement', {
73
+ period: 14,
74
+ }),
75
+ e('minusdm', 'directional', 'ohlc_series', 'numbers', 'Minus directional movement', {
76
+ period: 14,
77
+ }),
78
+ e('ichimokukinkouhyou', 'trend', 'ohlc_series', 'objects', 'Ichimoku cloud', { conversionPeriod: 9, basePeriod: 26, spanPeriod: 52, displacement: 26 }, ['ichimokucloud']),
79
+ e('supertrend', 'trend', 'ohlc_series', 'objects', 'SuperTrend indicator', {
80
+ period: 10,
81
+ multiplier: 3,
82
+ }),
83
+ e('aroon', 'trend', 'ohlc_series', 'objects', 'Aroon up/down', { period: 14 }),
84
+ e('aroonoscillator', 'trend', 'ohlc_series', 'numbers', 'Aroon oscillator', {
85
+ period: 14,
86
+ }),
87
+ e('linearregression', 'trend', 'close_series', 'objects', 'Linear regression trend line', {
88
+ period: 14,
89
+ }),
90
+ e('maenvelope', 'trend', 'close_series', 'objects', 'Moving average envelope', {
91
+ period: 20,
92
+ }),
93
+ e('pivotpoints', 'trend', 'ohlc_series', 'objects', 'Classic pivot points'),
94
+ candle('doji', 'Doji candlestick pattern'),
95
+ candle('bullishengulfingpattern', 'Bullish engulfing pattern'),
96
+ candle('bearishengulfingpattern', 'Bearish engulfing pattern'),
97
+ candle('hammer', 'Hammer pattern'),
98
+ candle('hangingman', 'Hanging man pattern'),
99
+ candle('shootingstar', 'Shooting star pattern'),
100
+ candle('spinningtop', 'Spinning top pattern'),
101
+ candle('marubozu', 'Marubozu pattern'),
102
+ candle('dragonflydoji', 'Dragonfly doji pattern'),
103
+ candle('gravestonedoji', 'Gravestone doji pattern'),
104
+ candle('threewhitesoldiers', 'Three white soldiers pattern'),
105
+ candle('threeblackcrows', 'Three black crows pattern'),
106
+ candle('bullishharami', 'Bullish harami pattern'),
107
+ candle('bearishharami', 'Bearish harami pattern'),
108
+ candle('piercingline', 'Piercing line pattern'),
109
+ candle('darkcloudcover', 'Dark cloud cover pattern'),
110
+ candle('morningstar', 'Morning star pattern'),
111
+ candle('eveningstar', 'Evening star pattern'),
112
+ candle('tweezerbottom', 'Tweezer bottom pattern'),
113
+ candle('tweezertop', 'Tweezer top pattern'),
114
+ candle('abandonedbaby', 'Abandoned baby pattern'),
115
+ candle('bullishmarubozu', 'Bullish marubozu pattern'),
116
+ candle('bearishmarubozu', 'Bearish marubozu pattern'),
117
+ candle('bullishinvertedhammer', 'Bullish inverted hammer pattern'),
118
+ candle('bearishinvertedhammer', 'Bearish inverted hammer pattern'),
119
+ candle('morningdojistar', 'Morning doji star pattern'),
120
+ candle('eveningdojistar', 'Evening doji star pattern'),
121
+ candle('downsidetasukigap', 'Downside tasuki gap pattern'),
122
+ candle('bullishspinningtop', 'Bullish spinning top pattern'),
123
+ candle('bearishspinningtop', 'Bearish spinning top pattern'),
124
+ candle('bullish', 'Generic bullish pattern'),
125
+ candle('bearish', 'Generic bearish pattern'),
126
+ candle('bullishharamicross', 'Bullish harami cross pattern'),
127
+ candle('bearishharamicross', 'Bearish harami cross pattern'),
128
+ candle('hammerpatternunconfirmed', 'Unconfirmed hammer pattern'),
129
+ candle('hangingmanunconfirmed', 'Unconfirmed hanging man pattern'),
130
+ candle('shootingstarunconfirmed', 'Unconfirmed shooting star pattern'),
131
+ candle('bullishhammerstick', 'Bullish hammer stick pattern'),
132
+ candle('bearishhammerstick', 'Bearish hammer stick pattern'),
133
+ e('heikinashi', 'chart', 'candle_objects', 'objects', 'Heikin-Ashi transformed candles'),
134
+ e('renko', 'chart', 'special', 'objects', 'Renko bricks from candles', { brickSize: 1 }),
135
+ e('typicalprice', 'chart', 'ohlc_series', 'numbers', 'Typical price (HLC/3)'),
136
+ e('fibonacci', 'drawing', 'range_scalar', 'levels', 'Fibonacci retracement levels', {}, ['fibonacciretracement']),
137
+ e('fibonacciExtensions', 'drawing', 'range_scalar', 'levels', 'Fibonacci extension levels'),
138
+ e('fibonacciProjection', 'drawing', 'special', 'levels', 'Fibonacci projection from swing points'),
139
+ e('highest', 'utility', 'close_series', 'numbers', 'Highest value over period', {
140
+ period: 14,
141
+ }),
142
+ e('lowest', 'utility', 'close_series', 'numbers', 'Lowest value over period', {
143
+ period: 14,
144
+ }),
145
+ e('sum', 'utility', 'close_series', 'numbers', 'Rolling sum', { period: 14 }),
146
+ e('sd', 'utility', 'close_series', 'numbers', 'Rolling standard deviation', {
147
+ period: 14,
148
+ }),
149
+ e('averagegain', 'utility', 'close_series', 'numbers', 'Average gain over period', {
150
+ period: 14,
151
+ }),
152
+ e('averageloss', 'utility', 'close_series', 'numbers', 'Average loss over period', {
153
+ period: 14,
154
+ }),
155
+ e('crossup', 'utility', 'dual_series', 'booleans', 'Cross up detector'),
156
+ e('crossdown', 'utility', 'dual_series', 'booleans', 'Cross down detector'),
157
+ ];
158
+ const catalogById = new Map();
159
+ const aliasToId = new Map();
160
+ for (const meta of INDICATOR_CATALOG) {
161
+ catalogById.set(meta.id, meta);
162
+ for (const alias of meta.aliases ?? []) {
163
+ aliasToId.set(alias.toLowerCase(), meta.id);
164
+ }
165
+ }
166
+ export function resolveIndicatorId(name) {
167
+ const lower = name.toLowerCase();
168
+ if (catalogById.has(lower)) {
169
+ return lower;
170
+ }
171
+ const alias = aliasToId.get(lower);
172
+ if (alias) {
173
+ return alias;
174
+ }
175
+ return undefined;
176
+ }
177
+ export function getIndicatorMeta(id) {
178
+ return catalogById.get(id);
179
+ }
180
+ export function listIndicatorCatalog() {
181
+ return INDICATOR_CATALOG;
182
+ }
183
+ export function suggestIndicator(name) {
184
+ const resolved = resolveIndicatorId(name);
185
+ if (resolved) {
186
+ return resolved;
187
+ }
188
+ const lower = name.toLowerCase();
189
+ const candidates = INDICATOR_CATALOG.flatMap(meta => [
190
+ meta.id,
191
+ ...(meta.aliases ?? []),
192
+ ]);
193
+ const prefix = candidates.filter(id => id.toLowerCase().startsWith(lower));
194
+ if (prefix.length >= 1) {
195
+ const best = [...prefix].sort((a, b) => a.length - b.length || a.localeCompare(b))[0];
196
+ return resolveIndicatorId(best) ?? best;
197
+ }
198
+ const contains = candidates.filter(id => id.toLowerCase().includes(lower));
199
+ if (contains.length === 1) {
200
+ return resolveIndicatorId(contains[0]) ?? contains[0];
201
+ }
202
+ return undefined;
203
+ }
204
+ export function catalogEntryForList(meta) {
205
+ return {
206
+ id: meta.id,
207
+ aliases: meta.aliases,
208
+ category: meta.category,
209
+ inputProfile: meta.inputProfile,
210
+ defaultParams: meta.defaultParams,
211
+ outputKind: meta.outputKind,
212
+ description: meta.description,
213
+ };
214
+ }
215
+ //# sourceMappingURL=catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/core/ta/catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export { listTechnicalIndicators, calculateTechnicalIndicator, } from './calculate.js';
2
+ export { listIndicatorCatalog, resolveIndicatorId, suggestIndicator, catalogEntryForList, type IndicatorMeta, } from './catalog.js';
3
+ export { maxSeriesLength } from './normalize-input.js';
4
+ export { CalculateTechnicalIndicatorInputSchema, ListTechnicalIndicatorsOutputSchema, CalculateTechnicalIndicatorOutputSchema, TaSeriesInputSchema, type CalculateTechnicalIndicatorInput, type InputProfile, type OutputKind, } from './schemas.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/ta/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,uBAAuB,EACvB,2BAA2B,GAC3B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,EACnB,KAAK,aAAa,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EACN,sCAAsC,EACtC,mCAAmC,EACnC,uCAAuC,EACvC,mBAAmB,EACnB,KAAK,gCAAgC,EACrC,KAAK,YAAY,EACjB,KAAK,UAAU,GACf,MAAM,cAAc,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { listTechnicalIndicators, calculateTechnicalIndicator, } from './calculate.js';
2
+ export { listIndicatorCatalog, resolveIndicatorId, suggestIndicator, catalogEntryForList, } from './catalog.js';
3
+ export { maxSeriesLength } from './normalize-input.js';
4
+ export { CalculateTechnicalIndicatorInputSchema, ListTechnicalIndicatorsOutputSchema, CalculateTechnicalIndicatorOutputSchema, TaSeriesInputSchema, } from './schemas.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/ta/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,uBAAuB,EACvB,2BAA2B,GAC3B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,GAEnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EACN,sCAAsC,EACtC,mCAAmC,EACnC,uCAAuC,EACvC,mBAAmB,GAInB,MAAM,cAAc,CAAC"}
@@ -0,0 +1,30 @@
1
+ import type { InputProfile } from './schemas.js';
2
+ import type { TaSeriesInput } from './schemas.js';
3
+ export interface NormalizedSeries {
4
+ values?: number[];
5
+ open?: number[];
6
+ high?: number[];
7
+ low?: number[];
8
+ close?: number[];
9
+ volume?: number[];
10
+ candles?: Array<{
11
+ open: number;
12
+ high: number;
13
+ low: number;
14
+ close: number;
15
+ volume?: number;
16
+ }>;
17
+ range?: {
18
+ high: number;
19
+ low: number;
20
+ trend?: 'up' | 'down';
21
+ };
22
+ lineA?: number[];
23
+ lineB?: number[];
24
+ prices?: number[];
25
+ swingPoints?: number[];
26
+ inputLength: number;
27
+ }
28
+ export declare function maxSeriesLength(): number;
29
+ export declare function normalizeInput(indicatorId: string, profile: InputProfile, input: TaSeriesInput): NormalizedSeries;
30
+ //# sourceMappingURL=normalize-input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-input.d.ts","sourceRoot":"","sources":["../../../src/core/ta/normalize-input.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,cAAc,CAAC;AAEhD,MAAM,WAAW,gBAAgB;IAChC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;IACH,KAAK,CAAC,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;KAAC,CAAC;IAC3D,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,eAAe,IAAI,MAAM,CAOxC;AAuDD,wBAAgB,cAAc,CAC7B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,aAAa,GAClB,gBAAgB,CAoHlB"}