@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,193 @@
1
+ export function maxSeriesLength() {
2
+ const raw = process.env.TA_MCP_MAX_SERIES_LENGTH;
3
+ if (raw === undefined || raw === '') {
4
+ return 50_000;
5
+ }
6
+ const parsed = Number.parseInt(raw, 10);
7
+ return Number.isFinite(parsed) && parsed > 0 ? parsed : 50_000;
8
+ }
9
+ function assertMaxLength(label, length, max) {
10
+ if (length > max) {
11
+ throw new Error(`${label} length ${length} exceeds TA_MCP_MAX_SERIES_LENGTH (${max})`);
12
+ }
13
+ }
14
+ function assertEqualLengths(fields) {
15
+ if (fields.length === 0) {
16
+ return;
17
+ }
18
+ const expected = fields[0].values.length;
19
+ const parts = fields.map(f => `${f.name}=${f.values.length}`).join(', ');
20
+ for (const field of fields) {
21
+ if (field.values.length !== expected) {
22
+ throw new Error(`Array length mismatch (expected equal lengths, got ${parts})`);
23
+ }
24
+ }
25
+ }
26
+ function deriveFromCandles(candles) {
27
+ return {
28
+ open: candles.map(c => c.open),
29
+ high: candles.map(c => c.high),
30
+ low: candles.map(c => c.low),
31
+ close: candles.map(c => c.close),
32
+ volume: candles.every(c => c.volume !== undefined)
33
+ ? candles.map(c => c.volume)
34
+ : undefined,
35
+ candles,
36
+ inputLength: candles.length,
37
+ };
38
+ }
39
+ function requireField(value, profile, field, indicatorId) {
40
+ if (value === undefined) {
41
+ throw new Error(`${indicatorId} requires inputProfile "${profile}" — provide ${field}. Call list_technical_indicators for requirements.`);
42
+ }
43
+ return value;
44
+ }
45
+ export function normalizeInput(indicatorId, profile, input) {
46
+ const max = maxSeriesLength();
47
+ if (input.candles && input.candles.length > 0) {
48
+ const derived = deriveFromCandles(input.candles);
49
+ assertMaxLength('candles', derived.inputLength, max);
50
+ return mergeWithExplicit(input, derived, profile, indicatorId, max);
51
+ }
52
+ switch (profile) {
53
+ case 'close_series': {
54
+ const values = requireField(input.values ?? input.close, profile, 'values or close (or candles)', indicatorId);
55
+ assertMaxLength('values', values.length, max);
56
+ return { values, inputLength: values.length };
57
+ }
58
+ case 'ohl_series': {
59
+ const high = requireField(input.high, profile, 'high', indicatorId);
60
+ const low = requireField(input.low, profile, 'low', indicatorId);
61
+ assertEqualLengths([
62
+ { name: 'high', values: high },
63
+ { name: 'low', values: low },
64
+ ]);
65
+ assertMaxLength('high', high.length, max);
66
+ return { high, low, inputLength: high.length };
67
+ }
68
+ case 'ohlc_series': {
69
+ const high = requireField(input.high, profile, 'high', indicatorId);
70
+ const low = requireField(input.low, profile, 'low', indicatorId);
71
+ const close = requireField(input.close, profile, 'close', indicatorId);
72
+ assertEqualLengths([
73
+ { name: 'high', values: high },
74
+ { name: 'low', values: low },
75
+ { name: 'close', values: close },
76
+ ]);
77
+ assertMaxLength('high', high.length, max);
78
+ return { high, low, close, inputLength: high.length };
79
+ }
80
+ case 'hlcv_series': {
81
+ const high = requireField(input.high, profile, 'high', indicatorId);
82
+ const low = requireField(input.low, profile, 'low', indicatorId);
83
+ const close = requireField(input.close, profile, 'close', indicatorId);
84
+ const volume = requireField(input.volume, profile, 'volume', indicatorId);
85
+ assertEqualLengths([
86
+ { name: 'high', values: high },
87
+ { name: 'low', values: low },
88
+ { name: 'close', values: close },
89
+ { name: 'volume', values: volume },
90
+ ]);
91
+ assertMaxLength('high', high.length, max);
92
+ return { high, low, close, volume, inputLength: high.length };
93
+ }
94
+ case 'close_volume_series': {
95
+ const close = requireField(input.close ?? input.values, profile, 'close or values', indicatorId);
96
+ const volume = requireField(input.volume, profile, 'volume', indicatorId);
97
+ assertEqualLengths([
98
+ { name: 'close', values: close },
99
+ { name: 'volume', values: volume },
100
+ ]);
101
+ assertMaxLength('close', close.length, max);
102
+ return { close, volume, inputLength: close.length };
103
+ }
104
+ case 'ohlcv_series': {
105
+ const open = requireField(input.open, profile, 'open', indicatorId);
106
+ const high = requireField(input.high, profile, 'high', indicatorId);
107
+ const low = requireField(input.low, profile, 'low', indicatorId);
108
+ const close = requireField(input.close, profile, 'close', indicatorId);
109
+ const volume = requireField(input.volume, profile, 'volume', indicatorId);
110
+ assertEqualLengths([
111
+ { name: 'open', values: open },
112
+ { name: 'high', values: high },
113
+ { name: 'low', values: low },
114
+ { name: 'close', values: close },
115
+ { name: 'volume', values: volume },
116
+ ]);
117
+ assertMaxLength('open', open.length, max);
118
+ return { open, high, low, close, volume, inputLength: open.length };
119
+ }
120
+ case 'candle_objects': {
121
+ throw new Error(`${indicatorId} requires inputProfile "candle_objects" — provide candles[]. Call list_technical_indicators for requirements.`);
122
+ }
123
+ case 'range_scalar': {
124
+ const range = requireField(input.range, profile, 'range { high, low }', indicatorId);
125
+ return { range, inputLength: 1 };
126
+ }
127
+ case 'dual_series': {
128
+ const lineA = requireField(input.valuesA, profile, 'valuesA', indicatorId);
129
+ const lineB = requireField(input.valuesB, profile, 'valuesB', indicatorId);
130
+ assertEqualLengths([
131
+ { name: 'valuesA', values: lineA },
132
+ { name: 'valuesB', values: lineB },
133
+ ]);
134
+ assertMaxLength('valuesA', lineA.length, max);
135
+ return { lineA, lineB, inputLength: lineA.length };
136
+ }
137
+ case 'special':
138
+ return normalizeSpecial(indicatorId, input, max);
139
+ default:
140
+ throw new Error(`Unsupported input profile: ${profile}`);
141
+ }
142
+ }
143
+ function mergeWithExplicit(input, derived, profile, indicatorId, max) {
144
+ const merged = {
145
+ ...input,
146
+ open: input.open ?? derived.open,
147
+ high: input.high ?? derived.high,
148
+ low: input.low ?? derived.low,
149
+ close: input.close ?? derived.close,
150
+ volume: input.volume ?? derived.volume,
151
+ values: input.values ?? input.close ?? derived.close,
152
+ candles: derived.candles,
153
+ };
154
+ const withoutCandles = { ...merged, candles: undefined };
155
+ switch (profile) {
156
+ case 'candle_objects':
157
+ return {
158
+ candles: derived.candles,
159
+ inputLength: derived.inputLength,
160
+ };
161
+ case 'close_series':
162
+ case 'ohl_series':
163
+ case 'ohlc_series':
164
+ case 'hlcv_series':
165
+ case 'close_volume_series':
166
+ case 'ohlcv_series':
167
+ case 'range_scalar':
168
+ case 'dual_series':
169
+ return normalizeInput(indicatorId, profile, withoutCandles);
170
+ case 'special':
171
+ return normalizeSpecial(indicatorId, merged, max);
172
+ default:
173
+ return normalizeInput(indicatorId, profile, withoutCandles);
174
+ }
175
+ }
176
+ function normalizeSpecial(indicatorId, input, max) {
177
+ if (indicatorId === 'renko') {
178
+ const candles = input.candles;
179
+ if (!candles || candles.length === 0) {
180
+ throw new Error('renko requires candles[] (or derive from explicit OHLC arrays via candles)');
181
+ }
182
+ assertMaxLength('candles', candles.length, max);
183
+ return { candles, inputLength: candles.length };
184
+ }
185
+ if (indicatorId === 'fibonacciProjection') {
186
+ const prices = requireField(input.values ?? input.close, 'special', 'values or close as prices', indicatorId);
187
+ const swingPoints = requireField(input.swingPoints, 'special', 'swingPoints', indicatorId);
188
+ assertMaxLength('values', prices.length, max);
189
+ return { prices, swingPoints, inputLength: prices.length };
190
+ }
191
+ throw new Error(`Special input handling is not defined for ${indicatorId}`);
192
+ }
193
+ //# sourceMappingURL=normalize-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-input.js","sourceRoot":"","sources":["../../../src/core/ta/normalize-input.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,151 @@
1
+ import { z } from 'zod';
2
+ export declare const InputProfileSchema: z.ZodEnum<{
3
+ close_series: "close_series";
4
+ ohl_series: "ohl_series";
5
+ ohlc_series: "ohlc_series";
6
+ hlcv_series: "hlcv_series";
7
+ ohlcv_series: "ohlcv_series";
8
+ close_volume_series: "close_volume_series";
9
+ candle_objects: "candle_objects";
10
+ range_scalar: "range_scalar";
11
+ dual_series: "dual_series";
12
+ special: "special";
13
+ }>;
14
+ export type InputProfile = z.infer<typeof InputProfileSchema>;
15
+ export declare const OutputKindSchema: z.ZodEnum<{
16
+ numbers: "numbers";
17
+ objects: "objects";
18
+ booleans: "booleans";
19
+ levels: "levels";
20
+ }>;
21
+ export type OutputKind = z.infer<typeof OutputKindSchema>;
22
+ export declare const CandleInputSchema: z.ZodObject<{
23
+ open: z.ZodNumber;
24
+ high: z.ZodNumber;
25
+ low: z.ZodNumber;
26
+ close: z.ZodNumber;
27
+ volume: z.ZodOptional<z.ZodNumber>;
28
+ }, z.core.$strict>;
29
+ export declare const TaSeriesInputSchema: z.ZodObject<{
30
+ values: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
31
+ open: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
32
+ high: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
33
+ low: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
34
+ close: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
35
+ volume: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
36
+ candles: z.ZodOptional<z.ZodArray<z.ZodObject<{
37
+ open: z.ZodNumber;
38
+ high: z.ZodNumber;
39
+ low: z.ZodNumber;
40
+ close: z.ZodNumber;
41
+ volume: z.ZodOptional<z.ZodNumber>;
42
+ }, z.core.$strict>>>;
43
+ range: z.ZodOptional<z.ZodObject<{
44
+ high: z.ZodNumber;
45
+ low: z.ZodNumber;
46
+ trend: z.ZodOptional<z.ZodEnum<{
47
+ up: "up";
48
+ down: "down";
49
+ }>>;
50
+ }, z.core.$strict>>;
51
+ valuesA: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
52
+ valuesB: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
53
+ swingPoints: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
54
+ }, z.core.$strict>;
55
+ export type TaSeriesInput = z.infer<typeof TaSeriesInputSchema>;
56
+ export declare const CalculateTechnicalIndicatorInputSchema: z.ZodObject<{
57
+ indicator: z.ZodString;
58
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodNumber, z.ZodBoolean]>>>;
59
+ input: z.ZodObject<{
60
+ values: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
61
+ open: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
62
+ high: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
63
+ low: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
64
+ close: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
65
+ volume: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
66
+ candles: z.ZodOptional<z.ZodArray<z.ZodObject<{
67
+ open: z.ZodNumber;
68
+ high: z.ZodNumber;
69
+ low: z.ZodNumber;
70
+ close: z.ZodNumber;
71
+ volume: z.ZodOptional<z.ZodNumber>;
72
+ }, z.core.$strict>>>;
73
+ range: z.ZodOptional<z.ZodObject<{
74
+ high: z.ZodNumber;
75
+ low: z.ZodNumber;
76
+ trend: z.ZodOptional<z.ZodEnum<{
77
+ up: "up";
78
+ down: "down";
79
+ }>>;
80
+ }, z.core.$strict>>;
81
+ valuesA: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
82
+ valuesB: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
83
+ swingPoints: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
84
+ }, z.core.$strict>;
85
+ options: z.ZodOptional<z.ZodObject<{
86
+ trimWarmup: z.ZodOptional<z.ZodBoolean>;
87
+ maxPoints: z.ZodOptional<z.ZodNumber>;
88
+ }, z.core.$strict>>;
89
+ }, z.core.$strict>;
90
+ export type CalculateTechnicalIndicatorInput = z.infer<typeof CalculateTechnicalIndicatorInputSchema>;
91
+ export declare const IndicatorCatalogEntrySchema: z.ZodObject<{
92
+ id: z.ZodString;
93
+ aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
94
+ category: z.ZodString;
95
+ inputProfile: z.ZodEnum<{
96
+ close_series: "close_series";
97
+ ohl_series: "ohl_series";
98
+ ohlc_series: "ohlc_series";
99
+ hlcv_series: "hlcv_series";
100
+ ohlcv_series: "ohlcv_series";
101
+ close_volume_series: "close_volume_series";
102
+ candle_objects: "candle_objects";
103
+ range_scalar: "range_scalar";
104
+ dual_series: "dual_series";
105
+ special: "special";
106
+ }>;
107
+ defaultParams: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodNumber, z.ZodBoolean]>>;
108
+ outputKind: z.ZodEnum<{
109
+ numbers: "numbers";
110
+ objects: "objects";
111
+ booleans: "booleans";
112
+ levels: "levels";
113
+ }>;
114
+ description: z.ZodString;
115
+ }, z.core.$strict>;
116
+ export declare const ListTechnicalIndicatorsOutputSchema: z.ZodObject<{
117
+ indicators: z.ZodArray<z.ZodObject<{
118
+ id: z.ZodString;
119
+ aliases: z.ZodOptional<z.ZodArray<z.ZodString>>;
120
+ category: z.ZodString;
121
+ inputProfile: z.ZodEnum<{
122
+ close_series: "close_series";
123
+ ohl_series: "ohl_series";
124
+ ohlc_series: "ohlc_series";
125
+ hlcv_series: "hlcv_series";
126
+ ohlcv_series: "ohlcv_series";
127
+ close_volume_series: "close_volume_series";
128
+ candle_objects: "candle_objects";
129
+ range_scalar: "range_scalar";
130
+ dual_series: "dual_series";
131
+ special: "special";
132
+ }>;
133
+ defaultParams: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodNumber, z.ZodBoolean]>>;
134
+ outputKind: z.ZodEnum<{
135
+ numbers: "numbers";
136
+ objects: "objects";
137
+ booleans: "booleans";
138
+ levels: "levels";
139
+ }>;
140
+ description: z.ZodString;
141
+ }, z.core.$strict>>;
142
+ }, z.core.$strict>;
143
+ export declare const CalculateTechnicalIndicatorOutputSchema: z.ZodObject<{
144
+ indicator: z.ZodString;
145
+ params: z.ZodRecord<z.ZodString, z.ZodUnknown>;
146
+ inputLength: z.ZodNumber;
147
+ outputLength: z.ZodNumber;
148
+ warmupCount: z.ZodNumber;
149
+ result: z.ZodUnion<readonly [z.ZodArray<z.ZodNumber>, z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>>, z.ZodArray<z.ZodBoolean>]>;
150
+ }, z.core.$strict>;
151
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/core/ta/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,eAAO,MAAM,kBAAkB;;;;;;;;;;;EAW7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,gBAAgB;;;;;EAK3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,iBAAiB;;;;;;kBAQpB,CAAC;AAEX,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;kBAqBtB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,sCAAsC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAazC,CAAC;AAEX,MAAM,MAAM,gCAAgC,GAAG,CAAC,CAAC,KAAK,CACrD,OAAO,sCAAsC,CAC7C,CAAC;AAEF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;kBAU9B,CAAC;AAEX,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;kBAItC,CAAC;AAEX,eAAO,MAAM,uCAAuC;;;;;;;kBAa1C,CAAC"}
@@ -0,0 +1,95 @@
1
+ import { z } from 'zod';
2
+ export const InputProfileSchema = z.enum([
3
+ 'close_series',
4
+ 'ohl_series',
5
+ 'ohlc_series',
6
+ 'hlcv_series',
7
+ 'ohlcv_series',
8
+ 'close_volume_series',
9
+ 'candle_objects',
10
+ 'range_scalar',
11
+ 'dual_series',
12
+ 'special',
13
+ ]);
14
+ export const OutputKindSchema = z.enum([
15
+ 'numbers',
16
+ 'objects',
17
+ 'booleans',
18
+ 'levels',
19
+ ]);
20
+ export const CandleInputSchema = z
21
+ .object({
22
+ open: z.number(),
23
+ high: z.number(),
24
+ low: z.number(),
25
+ close: z.number(),
26
+ volume: z.number().optional(),
27
+ })
28
+ .strict();
29
+ export const TaSeriesInputSchema = z
30
+ .object({
31
+ values: z.array(z.number()).optional(),
32
+ open: z.array(z.number()).optional(),
33
+ high: z.array(z.number()).optional(),
34
+ low: z.array(z.number()).optional(),
35
+ close: z.array(z.number()).optional(),
36
+ volume: z.array(z.number()).optional(),
37
+ candles: z.array(CandleInputSchema).optional(),
38
+ range: z
39
+ .object({
40
+ high: z.number(),
41
+ low: z.number(),
42
+ trend: z.enum(['up', 'down']).optional(),
43
+ })
44
+ .strict()
45
+ .optional(),
46
+ valuesA: z.array(z.number()).optional(),
47
+ valuesB: z.array(z.number()).optional(),
48
+ swingPoints: z.array(z.number()).optional(),
49
+ })
50
+ .strict();
51
+ export const CalculateTechnicalIndicatorInputSchema = z
52
+ .object({
53
+ indicator: z.string().min(1),
54
+ params: z.record(z.string(), z.union([z.number(), z.boolean()])).optional(),
55
+ input: TaSeriesInputSchema,
56
+ options: z
57
+ .object({
58
+ trimWarmup: z.boolean().optional(),
59
+ maxPoints: z.number().int().positive().optional(),
60
+ })
61
+ .strict()
62
+ .optional(),
63
+ })
64
+ .strict();
65
+ export const IndicatorCatalogEntrySchema = z
66
+ .object({
67
+ id: z.string(),
68
+ aliases: z.array(z.string()).optional(),
69
+ category: z.string(),
70
+ inputProfile: InputProfileSchema,
71
+ defaultParams: z.record(z.string(), z.union([z.number(), z.boolean()])),
72
+ outputKind: OutputKindSchema,
73
+ description: z.string(),
74
+ })
75
+ .strict();
76
+ export const ListTechnicalIndicatorsOutputSchema = z
77
+ .object({
78
+ indicators: z.array(IndicatorCatalogEntrySchema),
79
+ })
80
+ .strict();
81
+ export const CalculateTechnicalIndicatorOutputSchema = z
82
+ .object({
83
+ indicator: z.string(),
84
+ params: z.record(z.string(), z.unknown()),
85
+ inputLength: z.number().int().nonnegative(),
86
+ outputLength: z.number().int().nonnegative(),
87
+ warmupCount: z.number().int().nonnegative(),
88
+ result: z.union([
89
+ z.array(z.number()),
90
+ z.array(z.record(z.string(), z.unknown())),
91
+ z.array(z.boolean()),
92
+ ]),
93
+ })
94
+ .strict();
95
+ //# sourceMappingURL=schemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/core/ta/schemas.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export { registerContinuumTools, createContinuumMcpServer, registerNodeTools, registerGroupTools, registerKeyGenTools, registerKeygenTools, registerManagementSignerTools, registerManagementKeyTools, registerAddressBookTools, registerTokenRegistryTools, registerChainRegistryTools, registerMpcTools, registerVpnTools, camelToSnake, sdkResultToCallToolResult, wrapSdk, } from './register.js';
1
+ export { registerContinuumTools, createContinuumMcpServer, registerNodeTools, registerGroupTools, registerKeyGenTools, registerKeygenTools, registerManagementSignerTools, registerManagementKeyTools, registerAddressBookTools, registerTokenRegistryTools, registerChainRegistryTools, registerMpcTools, registerVpnTools, registerTaTools, registerTaResources, camelToSnake, sdkResultToCallToolResult, wrapSdk, } from './register.js';
2
2
  export { DefiProtocolContext, registerDefiDiscoveryTools, registerAllDefiProtocolTools, markProtocolLoaded, type CreateContinuumMcpServerOptions, } from './defi/index.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,6BAA6B,EAC7B,0BAA0B,EAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,EAC1B,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,yBAAyB,EACzB,OAAO,GACP,MAAM,eAAe,CAAC;AACvB,OAAO,EACN,mBAAmB,EACnB,0BAA0B,EAC1B,4BAA4B,EAC5B,kBAAkB,EAClB,KAAK,+BAA+B,GACpC,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,6BAA6B,EAC7B,0BAA0B,EAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,EAC1B,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,yBAAyB,EACzB,OAAO,GACP,MAAM,eAAe,CAAC;AACvB,OAAO,EACN,mBAAmB,EACnB,0BAA0B,EAC1B,4BAA4B,EAC5B,kBAAkB,EAClB,KAAK,+BAA+B,GACpC,MAAM,iBAAiB,CAAC"}
package/dist/mcp/index.js CHANGED
@@ -1,3 +1,3 @@
1
- export { registerContinuumTools, createContinuumMcpServer, registerNodeTools, registerGroupTools, registerKeyGenTools, registerKeygenTools, registerManagementSignerTools, registerManagementKeyTools, registerAddressBookTools, registerTokenRegistryTools, registerChainRegistryTools, registerMpcTools, registerVpnTools, camelToSnake, sdkResultToCallToolResult, wrapSdk, } from './register.js';
1
+ export { registerContinuumTools, createContinuumMcpServer, registerNodeTools, registerGroupTools, registerKeyGenTools, registerKeygenTools, registerManagementSignerTools, registerManagementKeyTools, registerAddressBookTools, registerTokenRegistryTools, registerChainRegistryTools, registerMpcTools, registerVpnTools, registerTaTools, registerTaResources, camelToSnake, sdkResultToCallToolResult, wrapSdk, } from './register.js';
2
2
  export { DefiProtocolContext, registerDefiDiscoveryTools, registerAllDefiProtocolTools, markProtocolLoaded, } from './defi/index.js';
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,6BAA6B,EAC7B,0BAA0B,EAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,EAC1B,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,yBAAyB,EACzB,OAAO,GACP,MAAM,eAAe,CAAC;AACvB,OAAO,EACN,mBAAmB,EACnB,0BAA0B,EAC1B,4BAA4B,EAC5B,kBAAkB,GAElB,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,6BAA6B,EAC7B,0BAA0B,EAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,0BAA0B,EAC1B,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,yBAAyB,EACzB,OAAO,GACP,MAAM,eAAe,CAAC;AACvB,OAAO,EACN,mBAAmB,EACnB,0BAA0B,EAC1B,4BAA4B,EAC5B,kBAAkB,GAElB,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ /** Resolved path to a markdown file under dist/mcp/resources (copied at build time). */
3
+ export declare function resolveMcpResourcePath(relativePath: string): string;
4
+ export declare function registerMcpMarkdownResource(server: McpServer, name: string, relativePath: string, description: string): void;
5
+ //# sourceMappingURL=mcp-resources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-resources.d.ts","sourceRoot":"","sources":["../../src/mcp/mcp-resources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,yCAAyC,CAAC;AAOvE,wFAAwF;AACxF,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,wBAAgB,2BAA2B,CAC1C,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,GACjB,IAAI,CAoBN"}
@@ -0,0 +1,25 @@
1
+ import { promises as fs } from 'node:fs';
2
+ import path from 'node:path';
3
+ import { fileURLToPath } from 'node:url';
4
+ const mcpModuleDir = path.dirname(fileURLToPath(import.meta.url));
5
+ /** Resolved path to a markdown file under dist/mcp/resources (copied at build time). */
6
+ export function resolveMcpResourcePath(relativePath) {
7
+ return path.join(mcpModuleDir, 'resources', relativePath);
8
+ }
9
+ export function registerMcpMarkdownResource(server, name, relativePath, description) {
10
+ const uri = `docs://${relativePath}`;
11
+ server.registerResource(name, uri, { description, mimeType: 'text/markdown' }, async () => {
12
+ const filePath = resolveMcpResourcePath(relativePath);
13
+ const text = await fs.readFile(filePath, 'utf8');
14
+ return {
15
+ contents: [
16
+ {
17
+ uri,
18
+ mimeType: 'text/markdown',
19
+ text,
20
+ },
21
+ ],
22
+ };
23
+ });
24
+ }
25
+ //# sourceMappingURL=mcp-resources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-resources.js","sourceRoot":"","sources":["../../src/mcp/mcp-resources.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,IAAI,EAAE,EAAC,MAAM,SAAS,CAAC;AACvC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;AAEvC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAElE,wFAAwF;AACxF,MAAM,UAAU,sBAAsB,CAAC,YAAoB;IAC1D,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,2BAA2B,CAC1C,MAAiB,EACjB,IAAY,EACZ,YAAoB,EACpB,WAAmB;IAEnB,MAAM,GAAG,GAAG,UAAU,YAAY,EAAE,CAAC;IACrC,MAAM,CAAC,gBAAgB,CACtB,IAAI,EACJ,GAAG,EACH,EAAC,WAAW,EAAE,QAAQ,EAAE,eAAe,EAAC,EACxC,KAAK,IAAI,EAAE;QACV,MAAM,QAAQ,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACjD,OAAO;YACN,QAAQ,EAAE;gBACT;oBACC,GAAG;oBACH,QAAQ,EAAE,eAAe;oBACzB,IAAI;iBACJ;aACD;SACD,CAAC;IACH,CAAC,CACD,CAAC;AACH,CAAC"}
@@ -13,6 +13,7 @@ export { registerTokenRegistryTools } from './registry/tokens.js';
13
13
  export { registerChainRegistryTools } from './registry/networks.js';
14
14
  export { registerMpcTools } from './mpc.js';
15
15
  export { registerVpnTools } from './vpn.js';
16
+ export { registerTaTools, registerTaResources } from './ta/register.js';
16
17
  export { registerAgentMcpServerTools } from './agent-mcp-servers.js';
17
18
  export { registerAgentCronJobTools } from './agent-cron-jobs.js';
18
19
  export { registerAgentWebhookTools } from './agent-webhooks.js';
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/mcp/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,yCAAyC,CAAC;AAClE,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,EACN,mBAAmB,EACnB,KAAK,+BAA+B,EACpC,MAAM,mBAAmB,CAAC;AAqB3B,wBAAgB,sBAAsB,CACrC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,aAAa,EACrB,WAAW,CAAC,EAAE,mBAAmB,GAC/B,IAAI,CAoBN;AAED,wBAAgB,wBAAwB,CACvC,MAAM,EAAE,aAAa,EACrB,OAAO,GAAE,+BAAoC,GAC3C,SAAS,CA8HX;AAED,OAAO,EAAC,iBAAiB,EAAC,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAC,kBAAkB,EAAC,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAC,mBAAmB,EAAE,mBAAmB,EAAC,MAAM,aAAa,CAAC;AACrE,OAAO,EAAC,4BAA4B,EAAC,MAAM,uBAAuB,CAAC;AACnE,OAAO,EACN,6BAA6B,EAC7B,0BAA0B,GAC1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAC,wBAAwB,EAAC,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAC,0BAA0B,EAAC,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAC,0BAA0B,EAAC,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAC,2BAA2B,EAAC,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAC,yBAAyB,EAAC,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAC,yBAAyB,EAAC,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAC,uBAAuB,EAAC,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAC,YAAY,EAAE,yBAAyB,EAAE,OAAO,EAAC,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/mcp/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,yCAAyC,CAAC;AAClE,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,EACN,mBAAmB,EACnB,KAAK,+BAA+B,EACpC,MAAM,mBAAmB,CAAC;AAqB3B,wBAAgB,sBAAsB,CACrC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,aAAa,EACrB,WAAW,CAAC,EAAE,mBAAmB,GAC/B,IAAI,CAqBN;AAED,wBAAgB,wBAAwB,CACvC,MAAM,EAAE,aAAa,EACrB,OAAO,GAAE,+BAAoC,GAC3C,SAAS,CA+GX;AAED,OAAO,EAAC,iBAAiB,EAAC,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAC,kBAAkB,EAAC,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAC,mBAAmB,EAAE,mBAAmB,EAAC,MAAM,aAAa,CAAC;AACrE,OAAO,EAAC,4BAA4B,EAAC,MAAM,uBAAuB,CAAC;AACnE,OAAO,EACN,6BAA6B,EAC7B,0BAA0B,GAC1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAC,wBAAwB,EAAC,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAC,0BAA0B,EAAC,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAC,0BAA0B,EAAC,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAC,eAAe,EAAE,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAC,2BAA2B,EAAC,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAC,yBAAyB,EAAC,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAC,yBAAyB,EAAC,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAC,uBAAuB,EAAC,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAC,YAAY,EAAE,yBAAyB,EAAE,OAAO,EAAC,MAAM,iBAAiB,CAAC"}