@cryptoquant_official/mcp 0.0.6-alpha2 → 0.0.6-alpha4
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.
- package/README.md +89 -0
- package/dist/shared/index.d.ts +34 -5
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +56 -4
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/skill-prompts.generated.d.ts +16 -0
- package/dist/shared/skill-prompts.generated.d.ts.map +1 -1
- package/dist/shared/skill-prompts.generated.js +99 -2
- package/dist/shared/skill-prompts.generated.js.map +1 -1
- package/dist/shared/workflows.generated.d.ts +1 -1
- package/dist/shared/workflows.generated.d.ts.map +1 -1
- package/dist/shared/workflows.generated.js +14 -65
- package/dist/shared/workflows.generated.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -339,6 +339,95 @@ See [examples/redis-cache/](examples/redis-cache/) for complete implementation.
|
|
|
339
339
|
|
|
340
340
|
---
|
|
341
341
|
|
|
342
|
+
## Shared Data Module
|
|
343
|
+
|
|
344
|
+
For programmatic access to metrics, intents, workflows, and unified question matching.
|
|
345
|
+
|
|
346
|
+
### Installation
|
|
347
|
+
|
|
348
|
+
```typescript
|
|
349
|
+
import {
|
|
350
|
+
matchUserQuestion,
|
|
351
|
+
matchWorkflow,
|
|
352
|
+
matchIntent,
|
|
353
|
+
matchSkill,
|
|
354
|
+
CRYPTOQUANT_DATA,
|
|
355
|
+
CryptoQuantHelpers,
|
|
356
|
+
} from "@cryptoquant_official/mcp/shared";
|
|
357
|
+
import type { MatchResult, SkillConfig, IntentConfig, AnalysisWorkflow } from "@cryptoquant_official/mcp/shared";
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
### Unified Question Matching
|
|
361
|
+
|
|
362
|
+
`matchUserQuestion()` matches user questions in priority order: **workflow → intent → skill**
|
|
363
|
+
|
|
364
|
+
```typescript
|
|
365
|
+
import { matchUserQuestion } from "@cryptoquant_official/mcp/shared";
|
|
366
|
+
|
|
367
|
+
// Workflow match (comprehensive analysis)
|
|
368
|
+
const result1 = matchUserQuestion("Full market analysis");
|
|
369
|
+
// → { type: "workflow", match: {...}, endpoints: [...15 endpoints] }
|
|
370
|
+
|
|
371
|
+
// Intent match (specific metric)
|
|
372
|
+
const result2 = matchUserQuestion("Is BTC overvalued?");
|
|
373
|
+
// → { type: "intent", match: {...}, endpoints: ["/v1/btc/market-indicator/mvrv"] }
|
|
374
|
+
|
|
375
|
+
// Skill match (general query)
|
|
376
|
+
const result3 = matchUserQuestion("bitcoin outlook");
|
|
377
|
+
// → { type: "skill", match: {...}, endpoints: [] }
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
### Types
|
|
381
|
+
|
|
382
|
+
```typescript
|
|
383
|
+
interface MatchResult {
|
|
384
|
+
type: "workflow" | "intent" | "skill";
|
|
385
|
+
match: AnalysisWorkflow | IntentConfig | SkillConfig;
|
|
386
|
+
endpoints: string[];
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
interface SkillConfig {
|
|
390
|
+
name: string;
|
|
391
|
+
description: string;
|
|
392
|
+
triggers: string[]; // Keywords that trigger this skill
|
|
393
|
+
metrics: string[]; // Related metrics (e.g., "mvrv", "sopr")
|
|
394
|
+
endpoints: string[]; // API endpoints used
|
|
395
|
+
}
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
### Individual Matchers
|
|
399
|
+
|
|
400
|
+
```typescript
|
|
401
|
+
import { matchWorkflow, matchIntent, matchSkill } from "@cryptoquant_official/mcp/shared";
|
|
402
|
+
|
|
403
|
+
// Match analysis workflows (multi-metric)
|
|
404
|
+
const workflow = matchWorkflow("market report");
|
|
405
|
+
// → { id: "market-analyst", triggers: [...], layers: [...] }
|
|
406
|
+
|
|
407
|
+
// Match specific intents
|
|
408
|
+
const intent = matchIntent("funding rate");
|
|
409
|
+
// → { id: "LEVERAGE_SENTIMENT", primaryMetric: "funding-rates", ... }
|
|
410
|
+
|
|
411
|
+
// Match skills by trigger keywords
|
|
412
|
+
const skill = matchSkill("whale activity");
|
|
413
|
+
// → { name: "crypto", triggers: ["whale activity", ...], ... }
|
|
414
|
+
```
|
|
415
|
+
|
|
416
|
+
### Data Access
|
|
417
|
+
|
|
418
|
+
```typescript
|
|
419
|
+
import { CRYPTOQUANT_DATA } from "@cryptoquant_official/mcp/shared";
|
|
420
|
+
|
|
421
|
+
// All data in one object
|
|
422
|
+
CRYPTOQUANT_DATA.metrics // 202 metric definitions
|
|
423
|
+
CRYPTOQUANT_DATA.intents // 21 intent categories
|
|
424
|
+
CRYPTOQUANT_DATA.workflows // 3 analysis workflows
|
|
425
|
+
CRYPTOQUANT_DATA.skillConfigs // 4 skill configurations
|
|
426
|
+
CRYPTOQUANT_DATA.thresholds // Market/whale/cycle thresholds
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
---
|
|
430
|
+
|
|
342
431
|
## Reference
|
|
343
432
|
|
|
344
433
|
### Available Tools
|
package/dist/shared/index.d.ts
CHANGED
|
@@ -10,8 +10,8 @@ import { INTENT_ROUTING, matchIntent, getEndpointsForIntent, getIntentByMetric,
|
|
|
10
10
|
import type { IntentConfig, AdditionalMetric } from "./intent-routing.generated.js";
|
|
11
11
|
import { ANALYSIS_WORKFLOWS, getLayersForDepth, getWorkflowEndpoints, getEndpointsForDepth, matchWorkflow, getAvailableWorkflows } from "./workflows.generated.js";
|
|
12
12
|
import type { AnalysisWorkflow, AnalysisLayer, WorkflowMetric, AnalysisDepth } from "./workflows.generated.js";
|
|
13
|
-
import { SKILL_PROMPTS, getSkillPrompt, getSkillMetadata, getAvailableSkills, toMcpPrompt } from "./skill-prompts.generated.js";
|
|
14
|
-
import type { SkillPrompt } from "./skill-prompts.generated.js";
|
|
13
|
+
import { SKILL_PROMPTS, SKILL_CONFIGS, getSkillPrompt, getSkillMetadata, getAvailableSkills, toMcpPrompt, matchSkill } from "./skill-prompts.generated.js";
|
|
14
|
+
import type { SkillPrompt, SkillConfig } from "./skill-prompts.generated.js";
|
|
15
15
|
/**
|
|
16
16
|
* All CryptoQuant data in one object
|
|
17
17
|
*/
|
|
@@ -131,6 +131,7 @@ export declare const CRYPTOQUANT_DATA: {
|
|
|
131
131
|
readonly intents: Record<string, IntentConfig>;
|
|
132
132
|
readonly workflows: Record<string, AnalysisWorkflow>;
|
|
133
133
|
readonly skills: Record<string, SkillPrompt>;
|
|
134
|
+
readonly skillConfigs: Record<string, SkillConfig>;
|
|
134
135
|
readonly prompts: {
|
|
135
136
|
readonly interpretation: "\nYou are a crypto market analyst with access to CryptoQuant on-chain data.\n\n## Key Metrics Interpretation\n\n### Valuation (MVRV)\n- < 1.0: 🟢 Undervalued (buy zone)\n- 1.0-2.5: 🟡 Fair value\n- > 3.5: 🔴 Overheated (sell zone)\n\n### Profit Behavior (SOPR)\n- < 0.95: 🟢 Capitulation (contrarian buy)\n- 0.95-1.05: 🟡 Normal\n- > 1.10: 🔴 Heavy profit taking\n\n### Exchange Flows (Netflow)\n- < -1,000 BTC: 🟢 Accumulation\n- ±1,000 BTC: 🟡 Neutral\n- > +5,000 BTC: 🔴 Distribution\n\n### Funding Rate\n- < -0.03%: 🟢 Shorts overcrowded\n- ±0.01%: 🟡 Neutral\n- > 0.05%: 🔴 Longs overcrowded\n\n## Trading Signal Weights\n- MVRV: 30%\n- SOPR: 25%\n- Netflow: 25%\n- Funding: 20%\n\nScore > 70: BUY | 40-70: HOLD | < 40: SELL\n\n## Important Notes\n- No single metric is definitive - use multiple confirmations\n- Context matters - same values mean different things in bull vs bear\n- This is not financial advice - metrics are informational only\n";
|
|
136
137
|
};
|
|
@@ -157,8 +158,36 @@ export declare const CryptoQuantHelpers: {
|
|
|
157
158
|
readonly getSkillMetadata: typeof getSkillMetadata;
|
|
158
159
|
readonly getAvailableSkills: typeof getAvailableSkills;
|
|
159
160
|
readonly toMcpPrompt: typeof toMcpPrompt;
|
|
161
|
+
readonly matchSkill: typeof matchSkill;
|
|
162
|
+
readonly matchUserQuestion: typeof matchUserQuestion;
|
|
160
163
|
};
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
+
/**
|
|
165
|
+
* Match result from matchUserQuestion
|
|
166
|
+
*/
|
|
167
|
+
export interface MatchResult {
|
|
168
|
+
type: "workflow" | "intent" | "skill";
|
|
169
|
+
match: AnalysisWorkflow | IntentConfig | SkillConfig;
|
|
170
|
+
endpoints: string[];
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Unified matching: workflow → intent → skill
|
|
174
|
+
*
|
|
175
|
+
* Priority order:
|
|
176
|
+
* 1. Workflows - for comprehensive multi-metric analysis
|
|
177
|
+
* 2. Intents - for specific metric-based questions
|
|
178
|
+
* 3. Skills - for general crypto-related queries
|
|
179
|
+
*
|
|
180
|
+
* @example
|
|
181
|
+
* ```ts
|
|
182
|
+
* const result = matchUserQuestion("Is BTC overvalued?");
|
|
183
|
+
* // { type: "intent", match: {...}, endpoints: ["/v1/btc/market-indicator/mvrv"] }
|
|
184
|
+
*
|
|
185
|
+
* const result = matchUserQuestion("Full market analysis");
|
|
186
|
+
* // { type: "workflow", match: {...}, endpoints: [...] }
|
|
187
|
+
* ```
|
|
188
|
+
*/
|
|
189
|
+
export declare function matchUserQuestion(question: string): MatchResult | null;
|
|
190
|
+
export type { MetricDefinition, MetricThreshold, MetricScoring, ScoringRule, IntentConfig, AdditionalMetric, AnalysisWorkflow, AnalysisLayer, WorkflowMetric, AnalysisDepth, SkillPrompt, SkillConfig, };
|
|
191
|
+
export { METRIC_DEFINITIONS, SCORING_RULES, INTERPRETATION_SYSTEM_PROMPT, INTENT_ROUTING, ANALYSIS_WORKFLOWS, SKILL_PROMPTS, SKILL_CONFIGS, };
|
|
192
|
+
export { calculateScore, calculateTradingSignal, getMetricSignal, getMetricDefinition, getAvailableMetrics, matchIntent, matchWorkflow, matchSkill, getSkillPrompt, };
|
|
164
193
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EACL,kBAAkB,EAClB,aAAa,EAKb,4BAA4B,EAC5B,cAAc,EACd,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,WAAW,EACZ,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,cAAc,EACd,WAAW,EACX,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EACjB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,qBAAqB,EACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,aAAa,EACd,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EACL,kBAAkB,EAClB,aAAa,EAKb,4BAA4B,EAC5B,cAAc,EACd,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,WAAW,EACZ,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,cAAc,EACd,WAAW,EACX,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACpB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EACjB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,qBAAqB,EACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,aAAa,EACd,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,aAAa,EACb,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,EACX,UAAU,EACX,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAM7E;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BnB,CAAC;AAMX;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;CA8BrB,CAAC;AAMX;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,UAAU,GAAG,QAAQ,GAAG,OAAO,CAAC;IACtC,KAAK,EAAE,gBAAgB,GAAG,YAAY,GAAG,WAAW,CAAC;IACrD,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAgCtE;AAMD,YAAY,EAEV,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,WAAW,EAEX,YAAY,EACZ,gBAAgB,EAEhB,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,aAAa,EAEb,WAAW,EACX,WAAW,GACZ,CAAC;AAOF,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,4BAA4B,EAC5B,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,aAAa,GACd,CAAC;AAGF,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,UAAU,EACV,cAAc,GACf,CAAC"}
|
package/dist/shared/index.js
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
import { METRIC_DEFINITIONS, SCORING_RULES, SIGNAL_LEGEND, MARKET_THRESHOLDS, WHALE_THRESHOLDS, CYCLE_PHASES, INTERPRETATION_SYSTEM_PROMPT, calculateScore, calculateTradingSignal, getMetricSignal, getMetricDefinition, getAvailableMetrics, } from "./metrics-data.generated.js";
|
|
11
11
|
import { INTENT_ROUTING, matchIntent, getEndpointsForIntent, getIntentByMetric, getAvailableIntents, } from "./intent-routing.generated.js";
|
|
12
12
|
import { ANALYSIS_WORKFLOWS, getLayersForDepth, getWorkflowEndpoints, getEndpointsForDepth, matchWorkflow, getAvailableWorkflows, } from "./workflows.generated.js";
|
|
13
|
-
import { SKILL_PROMPTS, getSkillPrompt, getSkillMetadata, getAvailableSkills, toMcpPrompt, } from "./skill-prompts.generated.js";
|
|
13
|
+
import { SKILL_PROMPTS, SKILL_CONFIGS, getSkillPrompt, getSkillMetadata, getAvailableSkills, toMcpPrompt, matchSkill, } from "./skill-prompts.generated.js";
|
|
14
14
|
// =============================================================================
|
|
15
15
|
// Unified Data Export
|
|
16
16
|
// =============================================================================
|
|
@@ -32,8 +32,10 @@ export const CRYPTOQUANT_DATA = {
|
|
|
32
32
|
intents: INTENT_ROUTING,
|
|
33
33
|
// Analysis workflows (multi-metric analysis)
|
|
34
34
|
workflows: ANALYSIS_WORKFLOWS,
|
|
35
|
-
// Skill prompts (slash commands)
|
|
35
|
+
// Skill prompts (slash commands) - for Claude Code / MCP
|
|
36
36
|
skills: SKILL_PROMPTS,
|
|
37
|
+
// Skill configs (structured) - for AI-SDK / HTTP API
|
|
38
|
+
skillConfigs: SKILL_CONFIGS,
|
|
37
39
|
// System prompts
|
|
38
40
|
prompts: {
|
|
39
41
|
interpretation: INTERPRETATION_SYSTEM_PROMPT,
|
|
@@ -68,12 +70,62 @@ export const CryptoQuantHelpers = {
|
|
|
68
70
|
getSkillMetadata,
|
|
69
71
|
getAvailableSkills,
|
|
70
72
|
toMcpPrompt,
|
|
73
|
+
matchSkill,
|
|
74
|
+
// Unified matching
|
|
75
|
+
matchUserQuestion,
|
|
71
76
|
};
|
|
77
|
+
/**
|
|
78
|
+
* Unified matching: workflow → intent → skill
|
|
79
|
+
*
|
|
80
|
+
* Priority order:
|
|
81
|
+
* 1. Workflows - for comprehensive multi-metric analysis
|
|
82
|
+
* 2. Intents - for specific metric-based questions
|
|
83
|
+
* 3. Skills - for general crypto-related queries
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* ```ts
|
|
87
|
+
* const result = matchUserQuestion("Is BTC overvalued?");
|
|
88
|
+
* // { type: "intent", match: {...}, endpoints: ["/v1/btc/market-indicator/mvrv"] }
|
|
89
|
+
*
|
|
90
|
+
* const result = matchUserQuestion("Full market analysis");
|
|
91
|
+
* // { type: "workflow", match: {...}, endpoints: [...] }
|
|
92
|
+
* ```
|
|
93
|
+
*/
|
|
94
|
+
export function matchUserQuestion(question) {
|
|
95
|
+
// 1. Try workflow match first (comprehensive analysis)
|
|
96
|
+
const workflow = matchWorkflow(question);
|
|
97
|
+
if (workflow) {
|
|
98
|
+
return {
|
|
99
|
+
type: "workflow",
|
|
100
|
+
match: workflow,
|
|
101
|
+
endpoints: getWorkflowEndpoints(workflow.id),
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
// 2. Try intent match (specific metrics)
|
|
105
|
+
const intent = matchIntent(question);
|
|
106
|
+
if (intent) {
|
|
107
|
+
return {
|
|
108
|
+
type: "intent",
|
|
109
|
+
match: intent,
|
|
110
|
+
endpoints: getEndpointsForIntent(intent.id),
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
// 3. Try skill match (general queries)
|
|
114
|
+
const skill = matchSkill(question);
|
|
115
|
+
if (skill) {
|
|
116
|
+
return {
|
|
117
|
+
type: "skill",
|
|
118
|
+
match: skill,
|
|
119
|
+
endpoints: skill.endpoints,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
return null;
|
|
123
|
+
}
|
|
72
124
|
// =============================================================================
|
|
73
125
|
// Convenience Re-exports (for backward compatibility)
|
|
74
126
|
// =============================================================================
|
|
75
127
|
// Most commonly used - direct access without going through CRYPTOQUANT_DATA
|
|
76
|
-
export { METRIC_DEFINITIONS, SCORING_RULES, INTERPRETATION_SYSTEM_PROMPT, INTENT_ROUTING, ANALYSIS_WORKFLOWS, SKILL_PROMPTS, };
|
|
128
|
+
export { METRIC_DEFINITIONS, SCORING_RULES, INTERPRETATION_SYSTEM_PROMPT, INTENT_ROUTING, ANALYSIS_WORKFLOWS, SKILL_PROMPTS, SKILL_CONFIGS, };
|
|
77
129
|
// Commonly used functions - direct access
|
|
78
|
-
export { calculateScore, calculateTradingSignal, getMetricSignal, getMetricDefinition, getAvailableMetrics, matchIntent, matchWorkflow, getSkillPrompt, };
|
|
130
|
+
export { calculateScore, calculateTradingSignal, getMetricSignal, getMetricDefinition, getAvailableMetrics, matchIntent, matchWorkflow, matchSkill, getSkillPrompt, };
|
|
79
131
|
//# sourceMappingURL=index.js.map
|
package/dist/shared/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,gFAAgF;AAChF,4BAA4B;AAC5B,gFAAgF;AAEhF,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,4BAA4B,EAC5B,cAAc,EACd,sBAAsB,EACtB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,6BAA6B,CAAC;AAQrC,OAAO,EACL,cAAc,EACd,WAAW,EACX,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,+BAA+B,CAAC;AAMvC,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EACb,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAQlC,OAAO,EACL,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,WAAW,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,19 @@ export interface SkillPrompt {
|
|
|
11
11
|
allowedTools: string[];
|
|
12
12
|
prompt: string;
|
|
13
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* AI-SDK compatible skill configuration
|
|
16
|
+
* Use this for Vercel AI SDK or HTTP API integrations
|
|
17
|
+
*/
|
|
18
|
+
export interface SkillConfig {
|
|
19
|
+
name: string;
|
|
20
|
+
description: string;
|
|
21
|
+
triggers: string[];
|
|
22
|
+
metrics: string[];
|
|
23
|
+
endpoints: string[];
|
|
24
|
+
}
|
|
14
25
|
export declare const SKILL_PROMPTS: Record<string, SkillPrompt>;
|
|
26
|
+
export declare const SKILL_CONFIGS: Record<string, SkillConfig>;
|
|
15
27
|
/**
|
|
16
28
|
* Get skill prompt with argument substitution
|
|
17
29
|
*/
|
|
@@ -24,6 +36,10 @@ export declare function getSkillMetadata(skillName: string): Omit<SkillPrompt, "
|
|
|
24
36
|
* Get all available skill names
|
|
25
37
|
*/
|
|
26
38
|
export declare function getAvailableSkills(): string[];
|
|
39
|
+
/**
|
|
40
|
+
* Match user question to skill based on trigger keywords
|
|
41
|
+
*/
|
|
42
|
+
export declare function matchSkill(question: string): SkillConfig | null;
|
|
27
43
|
/**
|
|
28
44
|
* Convert to MCP Prompt format
|
|
29
45
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-prompts.generated.d.ts","sourceRoot":"","sources":["../../src/shared/skill-prompts.generated.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAMD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CA6BrD,CAAC;AAMF;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI,CAa9F;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG,IAAI,CAMtF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,GAAG,IAAI,CAY7F"}
|
|
1
|
+
{"version":3,"file":"skill-prompts.generated.d.ts","sourceRoot":"","sources":["../../src/shared/skill-prompts.generated.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAMD,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CA6BrD,CAAC;AAMF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CA+ErD,CAAC;AAMF;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI,CAa9F;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,GAAG,IAAI,CAMtF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAW/D;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,GAAG,IAAI,CAY7F"}
|
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
* Source: skills/[name]/SKILL.md
|
|
6
6
|
*/
|
|
7
7
|
// ============================================================================
|
|
8
|
-
// Skill Prompts (4 skills)
|
|
8
|
+
// Skill Prompts (4 skills) - For Claude Code / MCP
|
|
9
9
|
// ============================================================================
|
|
10
10
|
export const SKILL_PROMPTS = {
|
|
11
11
|
"crypto": {
|
|
12
12
|
name: "crypto",
|
|
13
|
-
description: "
|
|
13
|
+
description: "On-chain analytics for Bitcoin, Ethereum, and crypto markets. Triggers: bitcoin outlook, price analysis, market valuation, overvalued, undervalued, whale activity, exchange flows, trading signal, MVRV, SOPR, NVT, funding rate, market cycle, bull market, bear market, on-chain analysis, smart money.",
|
|
14
14
|
allowedTools: ["mcp__plugin_cryptoquant_cryptoquant__initialize", "mcp__plugin_cryptoquant_cryptoquant__query_data", "mcp__plugin_cryptoquant_cryptoquant__discover_endpoints", "mcp__plugin_cryptoquant_cryptoquant__describe_metric", "mcp__plugin_cryptoquant_cryptoquant__list_assets", "mcp__plugin_cryptoquant_cryptoquant__get_endpoint_info"],
|
|
15
15
|
prompt: "# CryptoQuant On-Chain Analytics\n\nAccess CryptoQuant's on-chain data for cryptocurrency market analysis.\n\n## Response Language\n\n**Always respond in the same language as the user's prompt.** If the user asks in Korean, respond in Korean. If in English, respond in English.\n\n---\n\n## Quick Start\n\n```\n/crypto # Initialize session (run first!)\n/crypto-market # Quick market summary\n/crypto-signal btc # Get buy/sell/hold signal\n/crypto-whale # Track whale activity\n```\n\n---\n\n## Session Initialization\n\n**MUST run `/crypto` before any data request.**\n\n```\n/crypto\n ↓\n┌─────────────────────────────────────┐\n│ Check for API key: │\n│ 1. Environment variable │\n│ 2. Stored credentials │\n│ (~/.cryptoquant/credentials) │\n└─────────────────────────────────────┘\n ↓\n┌─────────────────────────────────────┐\n│ No key found? │\n│ → Browser opens automatically │\n│ → User enters API key │\n│ → Key saved locally │\n└─────────────────────────────────────┘\n ↓\nAuthenticated → Shows plan/permissions\n```\n\n---\n\n## Available Commands\n\n| Command | Description |\n|---------|-------------|\n| `/crypto` | Initialize session, show status |\n| `/crypto-market [asset]` | Quick 30-second market summary |\n| `/crypto-signal [asset]` | Buy/Sell/Hold trading signal |\n| `/crypto-whale [asset]` | Whale activity tracker |\n\n---\n\n## Available Agents\n\n| Agent | Trigger | Description |\n|-------|---------|-------------|\n| `market-analyst` | \"full analysis\", \"market report\" | Comprehensive multi-metric analysis |\n| `whale-tracker` | \"whale tracking\", \"smart money\" | Deep whale movement monitoring |\n\n---\n\n## Intent-to-Metric Quick Reference\n\n| User Question | Intent | Primary Metric | Plan |\n|---------------|--------|----------------|------|\n| \"Is BTC overvalued?\" | VALUATION | mvrv | Professional+ |\n| \"Network utility vs price?\" | NETWORK_VALUATION | nvt | Professional+ |\n| \"Profit taking happening?\" | PROFIT_BEHAVIOR | sopr | Professional+ |\n| \"Exchange accumulation?\" | EXCHANGE_FLOWS | netflow | Professional+ |\n| \"Coins on exchanges?\" | EXCHANGE_RESERVE | reserve | Professional+ |\n| \"Whale activity?\" | WHALE_ACTIVITY | whale-ratio | Professional+ |\n| \"Funding rate?\" | LEVERAGE_SENTIMENT | funding-rates | Professional+ |\n| \"Open positions?\" | OPEN_INTEREST | open-interest | Professional+ |\n| \"Old coins moving?\" | COIN_AGE | cdd | Professional+ |\n| \"HODL behavior?\" | HODL_BEHAVIOR | mca | Professional+ |\n| \"Stablecoin buying power?\" | STABLECOIN_LIQUIDITY | ssr | Professional+ |\n| \"Miners selling?\" | MINER_ACTIVITY | mpi | Professional+ |\n| \"Miner profitability?\" | MINER_PROFITABILITY | puell-multiple | Professional+ |\n| \"US institutional buying?\" | COINBASE_PREMIUM | coinbase-premium | Professional+ |\n| \"Korean retail FOMO?\" | KIMCHI_PREMIUM | korea-premium | Professional+ |\n| \"ETF inflows?\" | ETF_FLOWS | etf-netflow | Professional+ |\n| \"Bull or bear market?\" | MARKET_CYCLE | mvrv + sopr | Professional+ |\n\n**Note**: Basic/Advanced plans only have access to `price-ohlcv`. All on-chain metrics require Professional or Premium plan.\n\nSee [INTENT_MAP.md](INTENT_MAP.md) for full routing details.\n\n---\n\n## Interpretation Quick Reference\n\n### Valuation Metrics\n\n| Metric | 🟢 Bullish | 🟡 Neutral | 🔴 Bearish |\n|--------|------------|------------|------------|\n| MVRV | < 1.5 | 1.5 - 2.5 | > 3.5 |\n| NVT | < 50 | 50 - 90 | > 120 |\n| Puell | < 0.5 | 0.5 - 1.0 | > 2.0 |\n\n### Behavior Metrics\n\n| Metric | 🟢 Bullish | 🟡 Neutral | 🔴 Bearish |\n|--------|------------|------------|------------|\n| SOPR | < 0.95 (capitulation) | 0.95 - 1.05 | > 1.10 |\n| CDD | Baseline | Normal | Major spike |\n| MCA | Rising | Stable | Declining |\n\n### Flow Metrics\n\n| Metric | 🟢 Bullish | 🟡 Neutral | 🔴 Bearish |\n|--------|------------|------------|------------|\n| Netflow | < -1,000 BTC | ±1,000 | > +5,000 BTC |\n| Reserve | Decreasing | Stable | Increasing |\n| Whale Ratio | < 0.3 | 0.3 - 0.5 | > 0.7 |\n\n### Derivatives Metrics\n\n| Metric | 🟢 Bullish | 🟡 Neutral | 🔴 Bearish |\n|--------|------------|------------|------------|\n| Funding | < -0.01% | ±0.01% | > 0.05% |\n| OI + Price | Both rising | Mixed | OI up, Price down |\n\n### Miner & Liquidity\n\n| Metric | 🟢 Bullish | 🟡 Neutral | 🔴 Bearish |\n|--------|------------|------------|------------|\n| MPI | < 0.5 | 0.5 - 1.0 | > 2.0 |\n| SSR | < 10 | 10 - 20 | > 20 |\n\n### Premium & ETF Metrics\n\n| Metric | 🟢 Bullish | 🟡 Neutral | 🔴 Bearish |\n|--------|------------|------------|------------|\n| Coinbase Premium | > +$20 | ±$20 | < -$100 |\n| Kimchi Premium | < -2% | ±2% | > +10% (FOMO) |\n| ETF Netflow | > +$100M/day | ±$100M | < -$500M/day |\n\nSee [INTERPRETATION.md](INTERPRETATION.md) for detailed thresholds and definitions.\n\n---\n\n## MCP Tools Reference\n\n### Authentication\n| Tool | Description |\n|------|-------------|\n| `initialize()` | **MUST CALL FIRST** - Initialize session |\n| `reset_session(clear_stored?)` | Clear session/credentials |\n\n### Data Access\n| Tool | Description |\n|------|-------------|\n| `list_assets()` | List supported assets (btc, eth) |\n| `discover_endpoints(asset?, category?)` | Find available endpoints |\n| `query_data(endpoint, params)` | Query raw data |\n| `describe_metric(metric_id)` | Get metric description |\n\n### Typical Workflow\n```\n1. initialize() # Authenticate\n2. INTENT_MAP.md 참조 # Get EXACT endpoint path & required params\n3. query_data() # Query with correct path and params\n4. Interpret using INTERPRETATION.md\n```\n\n**CRITICAL**: Do NOT guess endpoint paths. Always check INTENT_MAP.md for:\n- Exact endpoint path (e.g., `/v1/btc/market-indicator/sopr`, NOT `network-indicator`)\n- Required parameters (e.g., `exchange` for netflow)\n\n---\n\n## Plan Information\n\n| Plan | Accessible Endpoints | Data Range | Rate Limit |\n|------|---------------------|------------|------------|\n| Premium | All (245+) | Unlimited | 800/min |\n| Professional | All (245+) | 1 year | 20/min |\n| Advanced | price-ohlcv only | 7 days | 50/day |\n| Basic | price-ohlcv only | 7 days | 50/day |\n\n### Plan Access Details\n\n**Basic / Advanced Plans**:\n- Only `price-ohlcv` endpoint accessible\n- 7-day historical data limit\n- Covers: BTC, ETH, TRX, Stablecoin, ERC20, XRP, ALT\n\n**Professional Plan** (all metrics, 1 year history):\n- Valuation: MVRV, NVT, SOPR, NUPL, Puell Multiple\n- Exchange Flows: Netflow, Reserve, Inflow, Outflow\n- Network Indicators: CDD, Mean Coin Age, Dormancy\n- Flow Indicators: Whale Ratio, Fund Flow Ratio, MPI\n- Derivatives: Funding Rates, Open Interest, Liquidations\n- Premium Indicators: Coinbase Premium, Korea Premium\n- And 200+ more metrics\n\n**Premium Plan** (all metrics, unlimited history):\n- Same endpoints as Professional\n- Unlimited historical data access\n- Higher rate limit (800/min)\n\n---\n\n## Error Handling\n\n### Not Initialized\n```\nRun /crypto first to connect.\nGet API key at: https://cryptoquant.com/settings/api\n```\n\n### Access Denied\n```\n[Metric] requires [Plan] plan.\nYour plan: [Current]\nAlternative: [Free metric suggestion]\n```\n\n---\n\n## Reference Files\n\n- **Intent routing**: [INTENT_MAP.md](INTENT_MAP.md)\n- **Value interpretation**: [INTERPRETATION.md](INTERPRETATION.md)"
|
|
16
16
|
},
|
|
@@ -37,6 +37,89 @@ export const SKILL_PROMPTS = {
|
|
|
37
37
|
}
|
|
38
38
|
};
|
|
39
39
|
// ============================================================================
|
|
40
|
+
// Skill Configs (4 configs) - For AI-SDK / HTTP API
|
|
41
|
+
// ============================================================================
|
|
42
|
+
export const SKILL_CONFIGS = {
|
|
43
|
+
"crypto": {
|
|
44
|
+
"name": "crypto",
|
|
45
|
+
"description": "On-chain analytics for Bitcoin, Ethereum, and crypto markets. Triggers: bitcoin outlook, price analysis, market valuation, overvalued, undervalued, whale activity, exchange flows, trading signal, MVRV, SOPR, NVT, funding rate, market cycle, bull market, bear market, on-chain analysis, smart money.",
|
|
46
|
+
"triggers": [
|
|
47
|
+
"bitcoin outlook",
|
|
48
|
+
"price analysis",
|
|
49
|
+
"market valuation",
|
|
50
|
+
"overvalued",
|
|
51
|
+
"undervalued",
|
|
52
|
+
"whale activity",
|
|
53
|
+
"exchange flows",
|
|
54
|
+
"trading signal",
|
|
55
|
+
"mvrv",
|
|
56
|
+
"sopr",
|
|
57
|
+
"nvt",
|
|
58
|
+
"funding rate",
|
|
59
|
+
"market cycle",
|
|
60
|
+
"bull market",
|
|
61
|
+
"bear market",
|
|
62
|
+
"on-chain analysis",
|
|
63
|
+
"smart money"
|
|
64
|
+
],
|
|
65
|
+
"metrics": [],
|
|
66
|
+
"endpoints": []
|
|
67
|
+
},
|
|
68
|
+
"crypto-market": {
|
|
69
|
+
"name": "crypto-market",
|
|
70
|
+
"description": "Quick 30-second market status summary using on-chain metrics.",
|
|
71
|
+
"triggers": [],
|
|
72
|
+
"metrics": [
|
|
73
|
+
"mvrv",
|
|
74
|
+
"sopr",
|
|
75
|
+
"netflow",
|
|
76
|
+
"reserve"
|
|
77
|
+
],
|
|
78
|
+
"endpoints": [
|
|
79
|
+
"/v1/btc/market-indicator/mvrv",
|
|
80
|
+
"/v1/btc/market-indicator/sopr",
|
|
81
|
+
"/v1/btc/exchange-flows/netflow",
|
|
82
|
+
"/v1/btc/exchange-flows/reserve"
|
|
83
|
+
]
|
|
84
|
+
},
|
|
85
|
+
"crypto-signal": {
|
|
86
|
+
"name": "crypto-signal",
|
|
87
|
+
"description": "Get buy/sell/hold trading signal with confidence score.",
|
|
88
|
+
"triggers": [],
|
|
89
|
+
"metrics": [
|
|
90
|
+
"mvrv",
|
|
91
|
+
"sopr",
|
|
92
|
+
"netflow",
|
|
93
|
+
"funding-rates"
|
|
94
|
+
],
|
|
95
|
+
"endpoints": [
|
|
96
|
+
"/v1/btc/market-indicator/mvrv",
|
|
97
|
+
"/v1/btc/market-indicator/sopr",
|
|
98
|
+
"/v1/btc/exchange-flows/netflow",
|
|
99
|
+
"/v1/btc/market-data/funding-rates"
|
|
100
|
+
]
|
|
101
|
+
},
|
|
102
|
+
"crypto-whale": {
|
|
103
|
+
"name": "crypto-whale",
|
|
104
|
+
"description": "Track whale (large holder) activity and institutional movements.",
|
|
105
|
+
"triggers": [],
|
|
106
|
+
"metrics": [
|
|
107
|
+
"exchange-whale-ratio",
|
|
108
|
+
"fund-flow-ratio",
|
|
109
|
+
"netflow",
|
|
110
|
+
"inflow",
|
|
111
|
+
"outflow"
|
|
112
|
+
],
|
|
113
|
+
"endpoints": [
|
|
114
|
+
"/v1/btc/flow-indicator/exchange-whale-ratio",
|
|
115
|
+
"/v1/btc/flow-indicator/fund-flow-ratio",
|
|
116
|
+
"/v1/btc/exchange-flows/netflow",
|
|
117
|
+
"/v1/btc/exchange-flows/inflow",
|
|
118
|
+
"/v1/btc/exchange-flows/outflow"
|
|
119
|
+
]
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
// ============================================================================
|
|
40
123
|
// Helper Functions
|
|
41
124
|
// ============================================================================
|
|
42
125
|
/**
|
|
@@ -70,6 +153,20 @@ export function getSkillMetadata(skillName) {
|
|
|
70
153
|
export function getAvailableSkills() {
|
|
71
154
|
return Object.keys(SKILL_PROMPTS);
|
|
72
155
|
}
|
|
156
|
+
/**
|
|
157
|
+
* Match user question to skill based on trigger keywords
|
|
158
|
+
*/
|
|
159
|
+
export function matchSkill(question) {
|
|
160
|
+
const lowerQuestion = question.toLowerCase();
|
|
161
|
+
for (const config of Object.values(SKILL_CONFIGS)) {
|
|
162
|
+
for (const trigger of config.triggers) {
|
|
163
|
+
if (lowerQuestion.includes(trigger)) {
|
|
164
|
+
return config;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
return null;
|
|
169
|
+
}
|
|
73
170
|
/**
|
|
74
171
|
* Convert to MCP Prompt format
|
|
75
172
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-prompts.generated.js","sourceRoot":"","sources":["../../src/shared/skill-prompts.generated.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"skill-prompts.generated.js","sourceRoot":"","sources":["../../src/shared/skill-prompts.generated.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflows.generated.d.ts","sourceRoot":"","sources":["../../src/shared/workflows.generated.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB;AAMD,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"workflows.generated.d.ts","sourceRoot":"","sources":["../../src/shared/workflows.generated.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB;AAMD,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAoP/D,CAAC;AAMF,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;AAE1D;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,aAAa,EAAE,CAM3F;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAOjE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,MAAM,EAAE,CAGvF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAWvE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAEhD"}
|
|
@@ -2,79 +2,28 @@
|
|
|
2
2
|
* AUTO-GENERATED FILE - DO NOT EDIT DIRECTLY
|
|
3
3
|
*
|
|
4
4
|
* Generated by: npm run sync-skills
|
|
5
|
-
* Source: agents
|
|
5
|
+
* Source: agents/[agents].md
|
|
6
6
|
*/
|
|
7
7
|
// ============================================================================
|
|
8
8
|
// Analysis Workflows (3 workflows)
|
|
9
9
|
// ============================================================================
|
|
10
10
|
export const ANALYSIS_WORKFLOWS = {
|
|
11
|
-
"
|
|
12
|
-
"id": "
|
|
13
|
-
"name": "
|
|
14
|
-
"description": "",
|
|
11
|
+
"analyst-insights": {
|
|
12
|
+
"id": "analyst-insights",
|
|
13
|
+
"name": "analyst-insights",
|
|
14
|
+
"description": "Use this agent for fetching and analyzing CryptoQuant Quicktake posts. Provides expert analyst perspectives with metric matching to CryptoQuant API endpoints.",
|
|
15
15
|
"model": "sonnet",
|
|
16
16
|
"triggers": [
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"
|
|
17
|
+
"quicktake",
|
|
18
|
+
"analyst opinion",
|
|
19
|
+
"expert analysis",
|
|
20
|
+
"what do analysts say",
|
|
21
|
+
"analyst insights",
|
|
22
|
+
"market commentary",
|
|
23
|
+
"professional analysis",
|
|
24
|
+
"analyst view"
|
|
20
25
|
],
|
|
21
|
-
"layers": [
|
|
22
|
-
{
|
|
23
|
-
"name": "Layer Name",
|
|
24
|
-
"metrics": [
|
|
25
|
-
{
|
|
26
|
-
"id": "metric-name",
|
|
27
|
-
"name": "Metric Name",
|
|
28
|
-
"endpoint": "/v1/asset/category/metric",
|
|
29
|
-
"definition": "What it measures",
|
|
30
|
-
"signals": "Thresholds and meaning"
|
|
31
|
-
}
|
|
32
|
-
]
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
"name": "Another Layer",
|
|
36
|
-
"metrics": [
|
|
37
|
-
{
|
|
38
|
-
"id": "another-metric",
|
|
39
|
-
"name": "Another Metric",
|
|
40
|
-
"endpoint": "/v1/asset/category/metric2",
|
|
41
|
-
"definition": "Description",
|
|
42
|
-
"signals": "Signal interpretation"
|
|
43
|
-
}
|
|
44
|
-
]
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
"name": "Primary Metrics",
|
|
48
|
-
"metrics": [
|
|
49
|
-
{
|
|
50
|
-
"id": "metric-a",
|
|
51
|
-
"name": "Metric A",
|
|
52
|
-
"endpoint": "/v1/btc/category/metric-a",
|
|
53
|
-
"definition": "Measures X",
|
|
54
|
-
"signals": "<1 bullish, >3 bearish"
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
"id": "metric-b",
|
|
58
|
-
"name": "Metric B",
|
|
59
|
-
"endpoint": "/v1/btc/category/metric-b",
|
|
60
|
-
"definition": "Measures Y",
|
|
61
|
-
"signals": "Rising = positive"
|
|
62
|
-
}
|
|
63
|
-
]
|
|
64
|
-
},
|
|
65
|
-
{
|
|
66
|
-
"name": "Supporting Metrics",
|
|
67
|
-
"metrics": [
|
|
68
|
-
{
|
|
69
|
-
"id": "metric-c",
|
|
70
|
-
"name": "Metric C",
|
|
71
|
-
"endpoint": "/v1/btc/category/metric-c",
|
|
72
|
-
"definition": "Measures Z",
|
|
73
|
-
"signals": "Negative = accumulation"
|
|
74
|
-
}
|
|
75
|
-
]
|
|
76
|
-
}
|
|
77
|
-
]
|
|
26
|
+
"layers": []
|
|
78
27
|
},
|
|
79
28
|
"market-analyst": {
|
|
80
29
|
"id": "market-analyst",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflows.generated.js","sourceRoot":"","sources":["../../src/shared/workflows.generated.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA4BH,+EAA+E;AAC/E,mCAAmC;AACnC,+EAA+E;AAE/E,MAAM,CAAC,MAAM,kBAAkB,GAAqC;IAClE,
|
|
1
|
+
{"version":3,"file":"workflows.generated.js","sourceRoot":"","sources":["../../src/shared/workflows.generated.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED