@hashgraphonline/standards-agent-kit 0.2.132 → 0.2.135
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/dist/cjs/builders/hcs10/hcs10-builder.d.ts +0 -2
- package/dist/cjs/builders/inscriber/inscriber-builder.d.ts +2 -39
- package/dist/cjs/lib/zod-render/config-extractor.d.ts +0 -21
- package/dist/cjs/lib/zod-render/index.d.ts +3 -3
- package/dist/cjs/lib/zod-render/schema-extension.d.ts +1 -9
- package/dist/cjs/standards-agent-kit.cjs +1 -1
- package/dist/cjs/standards-agent-kit.cjs.map +1 -1
- package/dist/cjs/tools/index.d.ts +0 -1
- package/dist/cjs/tools/inscriber/InscribeHashinalTool.d.ts +42 -1
- package/dist/cjs/tools/inscriber/base-inscriber-tools.d.ts +19 -0
- package/dist/es/builders/hcs10/hcs10-builder.d.ts +0 -2
- package/dist/es/builders/inscriber/inscriber-builder.d.ts +2 -39
- package/dist/es/lib/zod-render/config-extractor.d.ts +0 -21
- package/dist/es/lib/zod-render/index.d.ts +3 -3
- package/dist/es/lib/zod-render/schema-extension.d.ts +1 -9
- package/dist/es/standards-agent-kit.es.js +47 -6228
- package/dist/es/standards-agent-kit.es.js.map +1 -1
- package/dist/es/standards-agent-kit.es10.js +91 -0
- package/dist/es/standards-agent-kit.es10.js.map +1 -0
- package/dist/es/standards-agent-kit.es11.js +40 -0
- package/dist/es/standards-agent-kit.es11.js.map +1 -0
- package/dist/es/standards-agent-kit.es12.js +40 -0
- package/dist/es/standards-agent-kit.es12.js.map +1 -0
- package/dist/es/standards-agent-kit.es13.js +50 -0
- package/dist/es/standards-agent-kit.es13.js.map +1 -0
- package/dist/es/standards-agent-kit.es14.js +62 -0
- package/dist/es/standards-agent-kit.es14.js.map +1 -0
- package/dist/es/standards-agent-kit.es15.js +72 -0
- package/dist/es/standards-agent-kit.es15.js.map +1 -0
- package/dist/es/standards-agent-kit.es16.js +35 -0
- package/dist/es/standards-agent-kit.es16.js.map +1 -0
- package/dist/es/standards-agent-kit.es17.js +35 -0
- package/dist/es/standards-agent-kit.es17.js.map +1 -0
- package/dist/es/standards-agent-kit.es18.js +45 -0
- package/dist/es/standards-agent-kit.es18.js.map +1 -0
- package/dist/es/standards-agent-kit.es19.js +21 -0
- package/dist/es/standards-agent-kit.es19.js.map +1 -0
- package/dist/es/standards-agent-kit.es2.js +25 -0
- package/dist/es/standards-agent-kit.es2.js.map +1 -0
- package/dist/es/standards-agent-kit.es20.js +143 -0
- package/dist/es/standards-agent-kit.es20.js.map +1 -0
- package/dist/es/standards-agent-kit.es21.js +32 -0
- package/dist/es/standards-agent-kit.es21.js.map +1 -0
- package/dist/es/standards-agent-kit.es22.js +46 -0
- package/dist/es/standards-agent-kit.es22.js.map +1 -0
- package/dist/es/standards-agent-kit.es23.js +48 -0
- package/dist/es/standards-agent-kit.es23.js.map +1 -0
- package/dist/es/standards-agent-kit.es24.js +51 -0
- package/dist/es/standards-agent-kit.es24.js.map +1 -0
- package/dist/es/standards-agent-kit.es25.js +45 -0
- package/dist/es/standards-agent-kit.es25.js.map +1 -0
- package/dist/es/standards-agent-kit.es26.js +48 -0
- package/dist/es/standards-agent-kit.es26.js.map +1 -0
- package/dist/es/standards-agent-kit.es27.js +45 -0
- package/dist/es/standards-agent-kit.es27.js.map +1 -0
- package/dist/es/standards-agent-kit.es28.js +32 -0
- package/dist/es/standards-agent-kit.es28.js.map +1 -0
- package/dist/es/standards-agent-kit.es29.js +35 -0
- package/dist/es/standards-agent-kit.es29.js.map +1 -0
- package/dist/es/standards-agent-kit.es3.js +1568 -0
- package/dist/es/standards-agent-kit.es3.js.map +1 -0
- package/dist/es/standards-agent-kit.es30.js +48 -0
- package/dist/es/standards-agent-kit.es30.js.map +1 -0
- package/dist/es/standards-agent-kit.es31.js +46 -0
- package/dist/es/standards-agent-kit.es31.js.map +1 -0
- package/dist/es/standards-agent-kit.es32.js +48 -0
- package/dist/es/standards-agent-kit.es32.js.map +1 -0
- package/dist/es/standards-agent-kit.es33.js +98 -0
- package/dist/es/standards-agent-kit.es33.js.map +1 -0
- package/dist/es/standards-agent-kit.es34.js +241 -0
- package/dist/es/standards-agent-kit.es34.js.map +1 -0
- package/dist/es/standards-agent-kit.es35.js +223 -0
- package/dist/es/standards-agent-kit.es35.js.map +1 -0
- package/dist/es/standards-agent-kit.es36.js +187 -0
- package/dist/es/standards-agent-kit.es36.js.map +1 -0
- package/dist/es/standards-agent-kit.es37.js +636 -0
- package/dist/es/standards-agent-kit.es37.js.map +1 -0
- package/dist/es/standards-agent-kit.es38.js +46 -0
- package/dist/es/standards-agent-kit.es38.js.map +1 -0
- package/dist/es/standards-agent-kit.es39.js +249 -0
- package/dist/es/standards-agent-kit.es39.js.map +1 -0
- package/dist/es/standards-agent-kit.es4.js +95 -0
- package/dist/es/standards-agent-kit.es4.js.map +1 -0
- package/dist/es/standards-agent-kit.es40.js +141 -0
- package/dist/es/standards-agent-kit.es40.js.map +1 -0
- package/dist/es/standards-agent-kit.es41.js +33 -0
- package/dist/es/standards-agent-kit.es41.js.map +1 -0
- package/dist/es/standards-agent-kit.es42.js +427 -0
- package/dist/es/standards-agent-kit.es42.js.map +1 -0
- package/dist/es/standards-agent-kit.es43.js +189 -0
- package/dist/es/standards-agent-kit.es43.js.map +1 -0
- package/dist/es/standards-agent-kit.es44.js +7 -0
- package/dist/es/standards-agent-kit.es44.js.map +1 -0
- package/dist/es/standards-agent-kit.es45.js +28 -0
- package/dist/es/standards-agent-kit.es45.js.map +1 -0
- package/dist/es/standards-agent-kit.es46.js +7 -0
- package/dist/es/standards-agent-kit.es46.js.map +1 -0
- package/dist/es/standards-agent-kit.es47.js +57 -0
- package/dist/es/standards-agent-kit.es47.js.map +1 -0
- package/dist/es/standards-agent-kit.es48.js +6 -0
- package/dist/es/standards-agent-kit.es48.js.map +1 -0
- package/dist/es/standards-agent-kit.es49.js +43 -0
- package/dist/es/standards-agent-kit.es49.js.map +1 -0
- package/dist/es/standards-agent-kit.es5.js +113 -0
- package/dist/es/standards-agent-kit.es5.js.map +1 -0
- package/dist/es/standards-agent-kit.es50.js +22 -0
- package/dist/es/standards-agent-kit.es50.js.map +1 -0
- package/dist/es/standards-agent-kit.es51.js +57 -0
- package/dist/es/standards-agent-kit.es51.js.map +1 -0
- package/dist/es/standards-agent-kit.es6.js +56 -0
- package/dist/es/standards-agent-kit.es6.js.map +1 -0
- package/dist/es/standards-agent-kit.es7.js +332 -0
- package/dist/es/standards-agent-kit.es7.js.map +1 -0
- package/dist/es/standards-agent-kit.es8.js +32 -0
- package/dist/es/standards-agent-kit.es8.js.map +1 -0
- package/dist/es/standards-agent-kit.es9.js +244 -0
- package/dist/es/standards-agent-kit.es9.js.map +1 -0
- package/dist/es/tools/index.d.ts +0 -1
- package/dist/es/tools/inscriber/InscribeHashinalTool.d.ts +42 -1
- package/dist/es/tools/inscriber/base-inscriber-tools.d.ts +19 -0
- package/dist/umd/builders/hcs10/hcs10-builder.d.ts +0 -2
- package/dist/umd/builders/inscriber/inscriber-builder.d.ts +2 -39
- package/dist/umd/lib/zod-render/config-extractor.d.ts +0 -21
- package/dist/umd/lib/zod-render/index.d.ts +3 -3
- package/dist/umd/lib/zod-render/schema-extension.d.ts +1 -9
- package/dist/umd/standards-agent-kit.umd.js +1 -1
- package/dist/umd/standards-agent-kit.umd.js.map +1 -1
- package/dist/umd/tools/index.d.ts +0 -1
- package/dist/umd/tools/inscriber/InscribeHashinalTool.d.ts +42 -1
- package/dist/umd/tools/inscriber/base-inscriber-tools.d.ts +19 -0
- package/package.json +33 -29
- package/src/builders/hcs10/hcs10-builder.ts +0 -4
- package/src/builders/inscriber/inscriber-builder.ts +2 -45
- package/src/lib/zod-render/config-extractor.ts +0 -92
- package/src/lib/zod-render/index.ts +1 -7
- package/src/lib/zod-render/schema-extension.ts +1 -69
- package/src/tools/index.ts +1 -2
- package/src/tools/inscriber/InscribeFromBufferTool.ts +2 -2
- package/src/tools/inscriber/InscribeFromUrlTool.ts +2 -2
- package/src/tools/inscriber/InscribeHashinalTool.ts +129 -20
- package/src/tools/inscriber/base-inscriber-tools.ts +26 -0
- package/src/types/inscription-response.ts +2 -2
- package/dist/cjs/lib/zod-render/__tests__/withRender.test.d.ts +0 -1
- package/dist/cjs/tools/hedera/HederaCreateNftTool.d.ts +0 -72
- package/dist/cjs/tools/hedera/index.d.ts +0 -1
- package/dist/es/lib/zod-render/__tests__/withRender.test.d.ts +0 -1
- package/dist/es/tools/hedera/HederaCreateNftTool.d.ts +0 -72
- package/dist/es/tools/hedera/index.d.ts +0 -1
- package/dist/umd/lib/zod-render/__tests__/withRender.test.d.ts +0 -1
- package/dist/umd/tools/hedera/HederaCreateNftTool.d.ts +0 -72
- package/dist/umd/tools/hedera/index.d.ts +0 -1
- package/src/lib/zod-render/__tests__/withRender.test.ts +0 -205
- package/src/tools/hedera/HederaCreateNftTool.ts +0 -294
- package/src/tools/hedera/index.ts +0 -1
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { AIAgentCapability } from "@hashgraphonline/standards-sdk";
|
|
2
|
+
const _NaturalLanguageMapper = class _NaturalLanguageMapper {
|
|
3
|
+
/**
|
|
4
|
+
* Parse natural language text and extract capability values
|
|
5
|
+
*/
|
|
6
|
+
static parseCapabilities(text) {
|
|
7
|
+
if (!text) {
|
|
8
|
+
return [AIAgentCapability.TEXT_GENERATION];
|
|
9
|
+
}
|
|
10
|
+
const normalizedText = text.toLowerCase();
|
|
11
|
+
const capabilities = /* @__PURE__ */ new Set();
|
|
12
|
+
for (const [term, caps] of Object.entries(this.CAPABILITY_MAPPINGS)) {
|
|
13
|
+
if (normalizedText.includes(term)) {
|
|
14
|
+
caps.forEach((cap) => capabilities.add(cap));
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
if (capabilities.size === 0) {
|
|
18
|
+
capabilities.add(AIAgentCapability.TEXT_GENERATION);
|
|
19
|
+
}
|
|
20
|
+
return Array.from(capabilities);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Parse tags/capabilities from various input formats
|
|
24
|
+
*/
|
|
25
|
+
static parseTagsOrCapabilities(input) {
|
|
26
|
+
if (Array.isArray(input) && input.every((item) => typeof item === "number")) {
|
|
27
|
+
return input;
|
|
28
|
+
}
|
|
29
|
+
if (Array.isArray(input) && input.every((item) => typeof item === "string")) {
|
|
30
|
+
const capabilities = /* @__PURE__ */ new Set();
|
|
31
|
+
input.forEach((term) => {
|
|
32
|
+
this.parseCapabilities(term).forEach((cap) => capabilities.add(cap));
|
|
33
|
+
});
|
|
34
|
+
return Array.from(capabilities);
|
|
35
|
+
}
|
|
36
|
+
if (typeof input === "string") {
|
|
37
|
+
return this.parseCapabilities(input);
|
|
38
|
+
}
|
|
39
|
+
return [AIAgentCapability.TEXT_GENERATION];
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Convert capability enum to human-readable name
|
|
43
|
+
*/
|
|
44
|
+
static getCapabilityName(capability) {
|
|
45
|
+
const names = {
|
|
46
|
+
[AIAgentCapability.TEXT_GENERATION]: "Text Generation",
|
|
47
|
+
[AIAgentCapability.IMAGE_GENERATION]: "Image Generation",
|
|
48
|
+
[AIAgentCapability.AUDIO_GENERATION]: "Audio Generation",
|
|
49
|
+
[AIAgentCapability.VIDEO_GENERATION]: "Video Generation",
|
|
50
|
+
[AIAgentCapability.CODE_GENERATION]: "Code Generation",
|
|
51
|
+
[AIAgentCapability.LANGUAGE_TRANSLATION]: "Language Translation",
|
|
52
|
+
[AIAgentCapability.SUMMARIZATION_EXTRACTION]: "Summarization & Extraction",
|
|
53
|
+
[AIAgentCapability.KNOWLEDGE_RETRIEVAL]: "Knowledge Retrieval",
|
|
54
|
+
[AIAgentCapability.DATA_INTEGRATION]: "Data Integration",
|
|
55
|
+
[AIAgentCapability.MARKET_INTELLIGENCE]: "Market Intelligence",
|
|
56
|
+
[AIAgentCapability.TRANSACTION_ANALYTICS]: "Transaction Analytics",
|
|
57
|
+
[AIAgentCapability.SMART_CONTRACT_AUDIT]: "Smart Contract Audit",
|
|
58
|
+
[AIAgentCapability.GOVERNANCE_FACILITATION]: "Governance Facilitation",
|
|
59
|
+
[AIAgentCapability.SECURITY_MONITORING]: "Security Monitoring",
|
|
60
|
+
[AIAgentCapability.COMPLIANCE_ANALYSIS]: "Compliance Analysis",
|
|
61
|
+
[AIAgentCapability.FRAUD_DETECTION]: "Fraud Detection",
|
|
62
|
+
[AIAgentCapability.MULTI_AGENT_COORDINATION]: "Multi-Agent Coordination",
|
|
63
|
+
[AIAgentCapability.API_INTEGRATION]: "API Integration",
|
|
64
|
+
[AIAgentCapability.WORKFLOW_AUTOMATION]: "Workflow Automation"
|
|
65
|
+
};
|
|
66
|
+
return names[capability] || "Unknown Capability";
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
_NaturalLanguageMapper.CAPABILITY_MAPPINGS = {
|
|
70
|
+
"ai": [AIAgentCapability.TEXT_GENERATION],
|
|
71
|
+
"artificial intelligence": [AIAgentCapability.TEXT_GENERATION],
|
|
72
|
+
"chat": [AIAgentCapability.TEXT_GENERATION],
|
|
73
|
+
"conversation": [AIAgentCapability.TEXT_GENERATION],
|
|
74
|
+
"text": [AIAgentCapability.TEXT_GENERATION],
|
|
75
|
+
"text generation": [AIAgentCapability.TEXT_GENERATION],
|
|
76
|
+
"image": [AIAgentCapability.IMAGE_GENERATION],
|
|
77
|
+
"picture": [AIAgentCapability.IMAGE_GENERATION],
|
|
78
|
+
"visual": [AIAgentCapability.IMAGE_GENERATION],
|
|
79
|
+
"photo": [AIAgentCapability.IMAGE_GENERATION],
|
|
80
|
+
"audio": [AIAgentCapability.AUDIO_GENERATION],
|
|
81
|
+
"sound": [AIAgentCapability.AUDIO_GENERATION],
|
|
82
|
+
"voice": [AIAgentCapability.AUDIO_GENERATION],
|
|
83
|
+
"speech": [AIAgentCapability.AUDIO_GENERATION],
|
|
84
|
+
"video": [AIAgentCapability.VIDEO_GENERATION],
|
|
85
|
+
"movie": [AIAgentCapability.VIDEO_GENERATION],
|
|
86
|
+
"animation": [AIAgentCapability.VIDEO_GENERATION],
|
|
87
|
+
"code": [AIAgentCapability.CODE_GENERATION],
|
|
88
|
+
"programming": [AIAgentCapability.CODE_GENERATION],
|
|
89
|
+
"development": [AIAgentCapability.CODE_GENERATION],
|
|
90
|
+
"coding": [AIAgentCapability.CODE_GENERATION],
|
|
91
|
+
"translate": [AIAgentCapability.LANGUAGE_TRANSLATION],
|
|
92
|
+
"translation": [AIAgentCapability.LANGUAGE_TRANSLATION],
|
|
93
|
+
"language": [AIAgentCapability.LANGUAGE_TRANSLATION],
|
|
94
|
+
"summarize": [AIAgentCapability.SUMMARIZATION_EXTRACTION],
|
|
95
|
+
"summary": [AIAgentCapability.SUMMARIZATION_EXTRACTION],
|
|
96
|
+
"extract": [AIAgentCapability.SUMMARIZATION_EXTRACTION],
|
|
97
|
+
"extraction": [AIAgentCapability.SUMMARIZATION_EXTRACTION],
|
|
98
|
+
"knowledge": [AIAgentCapability.KNOWLEDGE_RETRIEVAL],
|
|
99
|
+
"search": [AIAgentCapability.KNOWLEDGE_RETRIEVAL],
|
|
100
|
+
"retrieve": [AIAgentCapability.KNOWLEDGE_RETRIEVAL],
|
|
101
|
+
"lookup": [AIAgentCapability.KNOWLEDGE_RETRIEVAL],
|
|
102
|
+
"data": [AIAgentCapability.DATA_INTEGRATION],
|
|
103
|
+
"data processing": [AIAgentCapability.DATA_INTEGRATION],
|
|
104
|
+
"data integration": [AIAgentCapability.DATA_INTEGRATION],
|
|
105
|
+
"etl": [AIAgentCapability.DATA_INTEGRATION],
|
|
106
|
+
"market": [AIAgentCapability.MARKET_INTELLIGENCE],
|
|
107
|
+
"trading": [AIAgentCapability.MARKET_INTELLIGENCE],
|
|
108
|
+
"finance": [AIAgentCapability.MARKET_INTELLIGENCE],
|
|
109
|
+
"financial": [AIAgentCapability.MARKET_INTELLIGENCE],
|
|
110
|
+
"analytics": [AIAgentCapability.TRANSACTION_ANALYTICS],
|
|
111
|
+
"analysis": [AIAgentCapability.TRANSACTION_ANALYTICS],
|
|
112
|
+
"analyze": [AIAgentCapability.TRANSACTION_ANALYTICS],
|
|
113
|
+
"transactions": [AIAgentCapability.TRANSACTION_ANALYTICS],
|
|
114
|
+
"audit": [AIAgentCapability.SMART_CONTRACT_AUDIT],
|
|
115
|
+
"contract": [AIAgentCapability.SMART_CONTRACT_AUDIT],
|
|
116
|
+
"smart contract": [AIAgentCapability.SMART_CONTRACT_AUDIT],
|
|
117
|
+
"governance": [AIAgentCapability.GOVERNANCE_FACILITATION],
|
|
118
|
+
"voting": [AIAgentCapability.GOVERNANCE_FACILITATION],
|
|
119
|
+
"dao": [AIAgentCapability.GOVERNANCE_FACILITATION],
|
|
120
|
+
"security": [AIAgentCapability.SECURITY_MONITORING],
|
|
121
|
+
"monitoring": [AIAgentCapability.SECURITY_MONITORING],
|
|
122
|
+
"threat": [AIAgentCapability.SECURITY_MONITORING],
|
|
123
|
+
"compliance": [AIAgentCapability.COMPLIANCE_ANALYSIS],
|
|
124
|
+
"regulatory": [AIAgentCapability.COMPLIANCE_ANALYSIS],
|
|
125
|
+
"regulation": [AIAgentCapability.COMPLIANCE_ANALYSIS],
|
|
126
|
+
"fraud": [AIAgentCapability.FRAUD_DETECTION],
|
|
127
|
+
"detection": [AIAgentCapability.FRAUD_DETECTION],
|
|
128
|
+
"anomaly": [AIAgentCapability.FRAUD_DETECTION],
|
|
129
|
+
"coordination": [AIAgentCapability.MULTI_AGENT_COORDINATION],
|
|
130
|
+
"multi-agent": [AIAgentCapability.MULTI_AGENT_COORDINATION],
|
|
131
|
+
"orchestration": [AIAgentCapability.MULTI_AGENT_COORDINATION],
|
|
132
|
+
"api": [AIAgentCapability.API_INTEGRATION],
|
|
133
|
+
"integration": [AIAgentCapability.API_INTEGRATION],
|
|
134
|
+
"webhook": [AIAgentCapability.API_INTEGRATION],
|
|
135
|
+
"workflow": [AIAgentCapability.WORKFLOW_AUTOMATION],
|
|
136
|
+
"automation": [AIAgentCapability.WORKFLOW_AUTOMATION],
|
|
137
|
+
"process": [AIAgentCapability.WORKFLOW_AUTOMATION]
|
|
138
|
+
};
|
|
139
|
+
let NaturalLanguageMapper = _NaturalLanguageMapper;
|
|
140
|
+
export {
|
|
141
|
+
NaturalLanguageMapper
|
|
142
|
+
};
|
|
143
|
+
//# sourceMappingURL=standards-agent-kit.es20.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standards-agent-kit.es20.js","sources":["../../src/tools/hcs10/natural-language-mapper.ts"],"sourcesContent":["import { AIAgentCapability } from '@hashgraphonline/standards-sdk';\n\n/**\n * Valid input types for parsing tags or capabilities\n */\ntype ParseInput = string | number[] | string[] | AIAgentCapability[];\n\n/**\n * Maps natural language terms to AIAgentCapability enum values\n */\nexport class NaturalLanguageMapper {\n private static readonly CAPABILITY_MAPPINGS: Record<string, AIAgentCapability[]> = {\n\n 'ai': [AIAgentCapability.TEXT_GENERATION],\n 'artificial intelligence': [AIAgentCapability.TEXT_GENERATION],\n 'chat': [AIAgentCapability.TEXT_GENERATION],\n 'conversation': [AIAgentCapability.TEXT_GENERATION],\n 'text': [AIAgentCapability.TEXT_GENERATION],\n 'text generation': [AIAgentCapability.TEXT_GENERATION],\n\n 'image': [AIAgentCapability.IMAGE_GENERATION],\n 'picture': [AIAgentCapability.IMAGE_GENERATION],\n 'visual': [AIAgentCapability.IMAGE_GENERATION],\n 'photo': [AIAgentCapability.IMAGE_GENERATION],\n\n 'audio': [AIAgentCapability.AUDIO_GENERATION],\n 'sound': [AIAgentCapability.AUDIO_GENERATION],\n 'voice': [AIAgentCapability.AUDIO_GENERATION],\n 'speech': [AIAgentCapability.AUDIO_GENERATION],\n\n 'video': [AIAgentCapability.VIDEO_GENERATION],\n 'movie': [AIAgentCapability.VIDEO_GENERATION],\n 'animation': [AIAgentCapability.VIDEO_GENERATION],\n\n 'code': [AIAgentCapability.CODE_GENERATION],\n 'programming': [AIAgentCapability.CODE_GENERATION],\n 'development': [AIAgentCapability.CODE_GENERATION],\n 'coding': [AIAgentCapability.CODE_GENERATION],\n\n 'translate': [AIAgentCapability.LANGUAGE_TRANSLATION],\n 'translation': [AIAgentCapability.LANGUAGE_TRANSLATION],\n 'language': [AIAgentCapability.LANGUAGE_TRANSLATION],\n\n 'summarize': [AIAgentCapability.SUMMARIZATION_EXTRACTION],\n 'summary': [AIAgentCapability.SUMMARIZATION_EXTRACTION],\n 'extract': [AIAgentCapability.SUMMARIZATION_EXTRACTION],\n 'extraction': [AIAgentCapability.SUMMARIZATION_EXTRACTION],\n\n 'knowledge': [AIAgentCapability.KNOWLEDGE_RETRIEVAL],\n 'search': [AIAgentCapability.KNOWLEDGE_RETRIEVAL],\n 'retrieve': [AIAgentCapability.KNOWLEDGE_RETRIEVAL],\n 'lookup': [AIAgentCapability.KNOWLEDGE_RETRIEVAL],\n\n 'data': [AIAgentCapability.DATA_INTEGRATION],\n 'data processing': [AIAgentCapability.DATA_INTEGRATION],\n 'data integration': [AIAgentCapability.DATA_INTEGRATION],\n 'etl': [AIAgentCapability.DATA_INTEGRATION],\n\n 'market': [AIAgentCapability.MARKET_INTELLIGENCE],\n 'trading': [AIAgentCapability.MARKET_INTELLIGENCE],\n 'finance': [AIAgentCapability.MARKET_INTELLIGENCE],\n 'financial': [AIAgentCapability.MARKET_INTELLIGENCE],\n\n 'analytics': [AIAgentCapability.TRANSACTION_ANALYTICS],\n 'analysis': [AIAgentCapability.TRANSACTION_ANALYTICS],\n 'analyze': [AIAgentCapability.TRANSACTION_ANALYTICS],\n 'transactions': [AIAgentCapability.TRANSACTION_ANALYTICS],\n\n 'audit': [AIAgentCapability.SMART_CONTRACT_AUDIT],\n 'contract': [AIAgentCapability.SMART_CONTRACT_AUDIT],\n 'smart contract': [AIAgentCapability.SMART_CONTRACT_AUDIT],\n\n 'governance': [AIAgentCapability.GOVERNANCE_FACILITATION],\n 'voting': [AIAgentCapability.GOVERNANCE_FACILITATION],\n 'dao': [AIAgentCapability.GOVERNANCE_FACILITATION],\n\n 'security': [AIAgentCapability.SECURITY_MONITORING],\n 'monitoring': [AIAgentCapability.SECURITY_MONITORING],\n 'threat': [AIAgentCapability.SECURITY_MONITORING],\n\n 'compliance': [AIAgentCapability.COMPLIANCE_ANALYSIS],\n 'regulatory': [AIAgentCapability.COMPLIANCE_ANALYSIS],\n 'regulation': [AIAgentCapability.COMPLIANCE_ANALYSIS],\n\n 'fraud': [AIAgentCapability.FRAUD_DETECTION],\n 'detection': [AIAgentCapability.FRAUD_DETECTION],\n 'anomaly': [AIAgentCapability.FRAUD_DETECTION],\n\n 'coordination': [AIAgentCapability.MULTI_AGENT_COORDINATION],\n 'multi-agent': [AIAgentCapability.MULTI_AGENT_COORDINATION],\n 'orchestration': [AIAgentCapability.MULTI_AGENT_COORDINATION],\n\n 'api': [AIAgentCapability.API_INTEGRATION],\n 'integration': [AIAgentCapability.API_INTEGRATION],\n 'webhook': [AIAgentCapability.API_INTEGRATION],\n\n 'workflow': [AIAgentCapability.WORKFLOW_AUTOMATION],\n 'automation': [AIAgentCapability.WORKFLOW_AUTOMATION],\n 'process': [AIAgentCapability.WORKFLOW_AUTOMATION],\n };\n\n /**\n * Parse natural language text and extract capability values\n */\n static parseCapabilities(text: string): AIAgentCapability[] {\n if (!text) {return [AIAgentCapability.TEXT_GENERATION];}\n\n const normalizedText = text.toLowerCase();\n const capabilities = new Set<AIAgentCapability>();\n\n for (const [term, caps] of Object.entries(this.CAPABILITY_MAPPINGS)) {\n if (normalizedText.includes(term)) {\n caps.forEach(cap => capabilities.add(cap));\n }\n }\n\n if (capabilities.size === 0) {\n capabilities.add(AIAgentCapability.TEXT_GENERATION);\n }\n\n return Array.from(capabilities);\n }\n\n /**\n * Parse tags/capabilities from various input formats\n */\n static parseTagsOrCapabilities(input: ParseInput): AIAgentCapability[] {\n\n if (Array.isArray(input) && input.every(item => typeof item === 'number')) {\n return input;\n }\n\n if (Array.isArray(input) && input.every(item => typeof item === 'string')) {\n const capabilities = new Set<AIAgentCapability>();\n input.forEach(term => {\n this.parseCapabilities(term).forEach(cap => capabilities.add(cap));\n });\n return Array.from(capabilities);\n }\n\n if (typeof input === 'string') {\n return this.parseCapabilities(input);\n }\n\n return [AIAgentCapability.TEXT_GENERATION];\n }\n\n /**\n * Convert capability enum to human-readable name\n */\n static getCapabilityName(capability: AIAgentCapability): string {\n const names: Record<AIAgentCapability, string> = {\n [AIAgentCapability.TEXT_GENERATION]: 'Text Generation',\n [AIAgentCapability.IMAGE_GENERATION]: 'Image Generation',\n [AIAgentCapability.AUDIO_GENERATION]: 'Audio Generation',\n [AIAgentCapability.VIDEO_GENERATION]: 'Video Generation',\n [AIAgentCapability.CODE_GENERATION]: 'Code Generation',\n [AIAgentCapability.LANGUAGE_TRANSLATION]: 'Language Translation',\n [AIAgentCapability.SUMMARIZATION_EXTRACTION]: 'Summarization & Extraction',\n [AIAgentCapability.KNOWLEDGE_RETRIEVAL]: 'Knowledge Retrieval',\n [AIAgentCapability.DATA_INTEGRATION]: 'Data Integration',\n [AIAgentCapability.MARKET_INTELLIGENCE]: 'Market Intelligence',\n [AIAgentCapability.TRANSACTION_ANALYTICS]: 'Transaction Analytics',\n [AIAgentCapability.SMART_CONTRACT_AUDIT]: 'Smart Contract Audit',\n [AIAgentCapability.GOVERNANCE_FACILITATION]: 'Governance Facilitation',\n [AIAgentCapability.SECURITY_MONITORING]: 'Security Monitoring',\n [AIAgentCapability.COMPLIANCE_ANALYSIS]: 'Compliance Analysis',\n [AIAgentCapability.FRAUD_DETECTION]: 'Fraud Detection',\n [AIAgentCapability.MULTI_AGENT_COORDINATION]: 'Multi-Agent Coordination',\n [AIAgentCapability.API_INTEGRATION]: 'API Integration',\n [AIAgentCapability.WORKFLOW_AUTOMATION]: 'Workflow Automation',\n };\n\n return names[capability] || 'Unknown Capability';\n }\n}"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { BaseHederaTransactionTool, BaseHederaQueryTool } from "hedera-agent-kit";
|
|
2
|
+
class BaseHCS2TransactionTool extends BaseHederaTransactionTool {
|
|
3
|
+
constructor(params) {
|
|
4
|
+
super(params);
|
|
5
|
+
this.namespace = "hcs2";
|
|
6
|
+
this.hcs2Builder = params.hcs2Builder;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Override to return the HCS2Builder
|
|
10
|
+
*/
|
|
11
|
+
getServiceBuilder() {
|
|
12
|
+
return this.hcs2Builder;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
class BaseHCS2QueryTool extends BaseHederaQueryTool {
|
|
16
|
+
constructor(params) {
|
|
17
|
+
super(params);
|
|
18
|
+
this.namespace = "hcs2";
|
|
19
|
+
this.hcs2Builder = params.hcs2Builder;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Override to return the HCS2Builder
|
|
23
|
+
*/
|
|
24
|
+
getServiceBuilder() {
|
|
25
|
+
return this.hcs2Builder;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export {
|
|
29
|
+
BaseHCS2QueryTool,
|
|
30
|
+
BaseHCS2TransactionTool
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=standards-agent-kit.es21.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standards-agent-kit.es21.js","sources":["../../src/tools/hcs2/base-hcs2-tools.ts"],"sourcesContent":["import {\n BaseHederaTransactionTool,\n BaseHederaQueryTool,\n BaseServiceBuilder,\n} from 'hedera-agent-kit';\nimport { HCS2Builder } from '../../builders/hcs2/hcs2-builder';\nimport {\n HCS2TransactionToolParams,\n HCS2QueryToolParams,\n} from './hcs2-tool-params';\nimport { z } from 'zod';\n\n/**\n * Base class for HCS2 transaction tools\n */\nexport abstract class BaseHCS2TransactionTool<\n T extends z.ZodObject<\n z.ZodRawShape,\n z.UnknownKeysParam,\n z.ZodTypeAny\n > = z.ZodObject<z.ZodRawShape>\n> extends BaseHederaTransactionTool<T> {\n protected hcs2Builder: HCS2Builder;\n namespace = 'hcs2' as const;\n\n constructor(params: HCS2TransactionToolParams) {\n super(params);\n this.hcs2Builder = params.hcs2Builder;\n }\n\n /**\n * Override to return the HCS2Builder\n */\n protected getServiceBuilder(): BaseServiceBuilder {\n return this.hcs2Builder;\n }\n}\n\n/**\n * Base class for HCS2 query tools\n */\nexport abstract class BaseHCS2QueryTool<\n T extends z.ZodObject<\n z.ZodRawShape,\n z.UnknownKeysParam,\n z.ZodTypeAny\n > = z.ZodObject<z.ZodRawShape>\n> extends BaseHederaQueryTool<T> {\n protected hcs2Builder: HCS2Builder;\n namespace = 'hcs2' as const;\n\n constructor(params: HCS2QueryToolParams) {\n super(params);\n this.hcs2Builder = params.hcs2Builder;\n }\n\n /**\n * Override to return the HCS2Builder\n */\n protected getServiceBuilder(): BaseServiceBuilder {\n return this.hcs2Builder;\n }\n}"],"names":[],"mappings":";AAeO,MAAe,gCAMZ,0BAA6B;AAAA,EAIrC,YAAY,QAAmC;AAC7C,UAAM,MAAM;AAHd,SAAA,YAAY;AAIV,SAAK,cAAc,OAAO;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA,EAKU,oBAAwC;AAChD,WAAO,KAAK;AAAA,EACd;AACF;AAKO,MAAe,0BAMZ,oBAAuB;AAAA,EAI/B,YAAY,QAA6B;AACvC,UAAM,MAAM;AAHd,SAAA,YAAY;AAIV,SAAK,cAAc,OAAO;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA,EAKU,oBAAwC;AAChD,WAAO,KAAK;AAAA,EACd;AACF;"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { BaseHCS2QueryTool } from "./standards-agent-kit.es21.js";
|
|
3
|
+
import { HCS2RegistryType } from "@hashgraphonline/standards-sdk";
|
|
4
|
+
const createRegistrySchema = z.object({
|
|
5
|
+
registryType: z.nativeEnum(HCS2RegistryType).optional().describe("Registry type: 0 for indexed, 1 for non-indexed (default: 0)"),
|
|
6
|
+
ttl: z.number().int().positive().optional().describe("Time to live in seconds (default: 86400)"),
|
|
7
|
+
adminKey: z.union([z.string(), z.boolean()]).optional().describe("Admin key: public key string or true to use operator key"),
|
|
8
|
+
submitKey: z.union([z.string(), z.boolean()]).optional().describe("Submit key: public key string or true to use operator key")
|
|
9
|
+
});
|
|
10
|
+
class CreateRegistryTool extends BaseHCS2QueryTool {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
this.name = "createHCS2Registry";
|
|
14
|
+
this.description = "Create a new HCS-2 registry topic for storing decentralized data";
|
|
15
|
+
}
|
|
16
|
+
get specificInputSchema() {
|
|
17
|
+
return createRegistrySchema;
|
|
18
|
+
}
|
|
19
|
+
async executeQuery(params, _runManager) {
|
|
20
|
+
try {
|
|
21
|
+
const result = await this.hcs2Builder.createRegistry({
|
|
22
|
+
registryType: params.registryType,
|
|
23
|
+
ttl: params.ttl,
|
|
24
|
+
adminKey: params.adminKey,
|
|
25
|
+
submitKey: params.submitKey
|
|
26
|
+
});
|
|
27
|
+
if (!result.success) {
|
|
28
|
+
throw new Error(result.error || "Failed to create registry");
|
|
29
|
+
}
|
|
30
|
+
return `Successfully created HCS-2 registry!
|
|
31
|
+
|
|
32
|
+
Topic ID: ${result.topicId}
|
|
33
|
+
Registry Type: ${params.registryType === 1 ? "Non-Indexed" : "Indexed"}
|
|
34
|
+
TTL: ${params.ttl || 86400} seconds
|
|
35
|
+
|
|
36
|
+
You can now register entries to this registry using the topic ID.`;
|
|
37
|
+
} catch (error) {
|
|
38
|
+
const errorMessage = error instanceof Error ? error.message : "Failed to create HCS-2 registry";
|
|
39
|
+
throw new Error(`Registry creation failed: ${errorMessage}`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
export {
|
|
44
|
+
CreateRegistryTool
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=standards-agent-kit.es22.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standards-agent-kit.es22.js","sources":["../../src/tools/hcs2/CreateRegistryTool.ts"],"sourcesContent":["import { z } from 'zod';\nimport { BaseHCS2QueryTool } from './base-hcs2-tools';\nimport { HCS2RegistryType } from '@hashgraphonline/standards-sdk';\nimport { CallbackManagerForToolRun } from '@langchain/core/callbacks/manager';\n\n/**\n * Schema for creating an HCS-2 registry\n */\nconst createRegistrySchema = z.object({\n registryType: z\n .nativeEnum(HCS2RegistryType)\n .optional()\n .describe('Registry type: 0 for indexed, 1 for non-indexed (default: 0)'),\n ttl: z\n .number()\n .int()\n .positive()\n .optional()\n .describe('Time to live in seconds (default: 86400)'),\n adminKey: z\n .union([z.string(), z.boolean()])\n .optional()\n .describe('Admin key: public key string or true to use operator key'),\n submitKey: z\n .union([z.string(), z.boolean()])\n .optional()\n .describe('Submit key: public key string or true to use operator key'),\n});\n\n/**\n * Tool for creating HCS-2 registries\n */\nexport class CreateRegistryTool extends BaseHCS2QueryTool<typeof createRegistrySchema> {\n name = 'createHCS2Registry';\n description = 'Create a new HCS-2 registry topic for storing decentralized data';\n\n get specificInputSchema(): typeof createRegistrySchema {\n return createRegistrySchema;\n }\n\n protected async executeQuery(\n params: z.infer<typeof createRegistrySchema>,\n _runManager?: CallbackManagerForToolRun\n ): Promise<unknown> {\n try {\n const result = await this.hcs2Builder.createRegistry({\n registryType: params.registryType,\n ttl: params.ttl,\n adminKey: params.adminKey,\n submitKey: params.submitKey,\n });\n\n if (!result.success) {\n throw new Error(result.error || 'Failed to create registry');\n }\n\n return `Successfully created HCS-2 registry!\\n\\nTopic ID: ${result.topicId}\\nRegistry Type: ${params.registryType === 1 ? 'Non-Indexed' : 'Indexed'}\\nTTL: ${params.ttl || 86400} seconds\\n\\nYou can now register entries to this registry using the topic ID.`;\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Failed to create HCS-2 registry';\n throw new Error(`Registry creation failed: ${errorMessage}`);\n }\n }\n}"],"names":[],"mappings":";;;AAQA,MAAM,uBAAuB,EAAE,OAAO;AAAA,EACpC,cAAc,EACX,WAAW,gBAAgB,EAC3B,SAAA,EACA,SAAS,8DAA8D;AAAA,EAC1E,KAAK,EACF,OAAA,EACA,IAAA,EACA,SAAA,EACA,SAAA,EACA,SAAS,0CAA0C;AAAA,EACtD,UAAU,EACP,MAAM,CAAC,EAAE,OAAA,GAAU,EAAE,QAAA,CAAS,CAAC,EAC/B,SAAA,EACA,SAAS,0DAA0D;AAAA,EACtE,WAAW,EACR,MAAM,CAAC,EAAE,OAAA,GAAU,EAAE,QAAA,CAAS,CAAC,EAC/B,SAAA,EACA,SAAS,2DAA2D;AACzE,CAAC;AAKM,MAAM,2BAA2B,kBAA+C;AAAA,EAAhF,cAAA;AAAA,UAAA,GAAA,SAAA;AACL,SAAA,OAAO;AACP,SAAA,cAAc;AAAA,EAAA;AAAA,EAEd,IAAI,sBAAmD;AACrD,WAAO;AAAA,EACT;AAAA,EAEA,MAAgB,aACd,QACA,aACkB;AAClB,QAAI;AACF,YAAM,SAAS,MAAM,KAAK,YAAY,eAAe;AAAA,QACnD,cAAc,OAAO;AAAA,QACrB,KAAK,OAAO;AAAA,QACZ,UAAU,OAAO;AAAA,QACjB,WAAW,OAAO;AAAA,MAAA,CACnB;AAED,UAAI,CAAC,OAAO,SAAS;AACnB,cAAM,IAAI,MAAM,OAAO,SAAS,2BAA2B;AAAA,MAC7D;AAEA,aAAO;AAAA;AAAA,YAAqD,OAAO,OAAO;AAAA,iBAAoB,OAAO,iBAAiB,IAAI,gBAAgB,SAAS;AAAA,OAAU,OAAO,OAAO,KAAK;AAAA;AAAA;AAAA,IAClL,SAAS,OAAO;AACd,YAAM,eAAe,iBAAiB,QAAQ,MAAM,UAAU;AAC9D,YAAM,IAAI,MAAM,6BAA6B,YAAY,EAAE;AAAA,IAC7D;AAAA,EACF;AACF;"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { BaseHCS2QueryTool } from "./standards-agent-kit.es21.js";
|
|
3
|
+
const registerEntrySchema = z.object({
|
|
4
|
+
registryTopicId: z.string().regex(/^\d+\.\d+\.\d+$/).describe("The HCS-2 registry topic ID (e.g., 0.0.123456)"),
|
|
5
|
+
targetTopicId: z.string().regex(/^\d+\.\d+\.\d+$/).describe("The target topic ID to register (e.g., 0.0.123456)"),
|
|
6
|
+
metadata: z.string().optional().describe("Optional metadata URI (HIP-412 format)"),
|
|
7
|
+
memo: z.string().max(500).optional().describe("Optional memo (max 500 characters)")
|
|
8
|
+
});
|
|
9
|
+
class RegisterEntryTool extends BaseHCS2QueryTool {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.name = "registerHCS2Entry";
|
|
13
|
+
this.description = "Register a new entry in an HCS-2 registry";
|
|
14
|
+
}
|
|
15
|
+
get specificInputSchema() {
|
|
16
|
+
return registerEntrySchema;
|
|
17
|
+
}
|
|
18
|
+
async executeQuery(params, _runManager) {
|
|
19
|
+
try {
|
|
20
|
+
const result = await this.hcs2Builder.registerEntry(
|
|
21
|
+
params.registryTopicId,
|
|
22
|
+
{
|
|
23
|
+
targetTopicId: params.targetTopicId,
|
|
24
|
+
metadata: params.metadata,
|
|
25
|
+
memo: params.memo
|
|
26
|
+
}
|
|
27
|
+
);
|
|
28
|
+
if (!result.success) {
|
|
29
|
+
throw new Error(result.error || "Failed to register entry");
|
|
30
|
+
}
|
|
31
|
+
return `Successfully registered entry in HCS-2 registry!
|
|
32
|
+
|
|
33
|
+
Registry Topic: ${params.registryTopicId}
|
|
34
|
+
Target Topic ID: ${params.targetTopicId}${params.metadata ? `
|
|
35
|
+
Metadata: ${params.metadata}` : ""}${params.memo ? `
|
|
36
|
+
Memo: ${params.memo}` : ""}
|
|
37
|
+
|
|
38
|
+
The entry has been added to the registry.`;
|
|
39
|
+
} catch (error) {
|
|
40
|
+
const errorMessage = error instanceof Error ? error.message : "Failed to register entry";
|
|
41
|
+
throw new Error(`Entry registration failed: ${errorMessage}`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
export {
|
|
46
|
+
RegisterEntryTool
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=standards-agent-kit.es23.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standards-agent-kit.es23.js","sources":["../../src/tools/hcs2/RegisterEntryTool.ts"],"sourcesContent":["import { z } from 'zod';\nimport { BaseHCS2QueryTool } from './base-hcs2-tools';\nimport { CallbackManagerForToolRun } from '@langchain/core/callbacks/manager';\n\n/**\n * Schema for registering an entry in HCS-2\n */\nconst registerEntrySchema = z.object({\n registryTopicId: z\n .string()\n .regex(/^\\d+\\.\\d+\\.\\d+$/)\n .describe('The HCS-2 registry topic ID (e.g., 0.0.123456)'),\n targetTopicId: z\n .string()\n .regex(/^\\d+\\.\\d+\\.\\d+$/)\n .describe('The target topic ID to register (e.g., 0.0.123456)'),\n metadata: z\n .string()\n .optional()\n .describe('Optional metadata URI (HIP-412 format)'),\n memo: z\n .string()\n .max(500)\n .optional()\n .describe('Optional memo (max 500 characters)'),\n});\n\n/**\n * Tool for registering entries in HCS-2 registries\n */\nexport class RegisterEntryTool extends BaseHCS2QueryTool<typeof registerEntrySchema> {\n name = 'registerHCS2Entry';\n description = 'Register a new entry in an HCS-2 registry';\n\n get specificInputSchema(): typeof registerEntrySchema {\n return registerEntrySchema;\n }\n\n protected async executeQuery(\n params: z.infer<typeof registerEntrySchema>,\n _runManager?: CallbackManagerForToolRun\n ): Promise<unknown> {\n try {\n const result = await this.hcs2Builder.registerEntry(\n params.registryTopicId,\n {\n targetTopicId: params.targetTopicId,\n metadata: params.metadata,\n memo: params.memo,\n }\n );\n\n if (!result.success) {\n throw new Error(result.error || 'Failed to register entry');\n }\n\n return `Successfully registered entry in HCS-2 registry!\\n\\nRegistry Topic: ${params.registryTopicId}\\nTarget Topic ID: ${params.targetTopicId}${params.metadata ? `\\nMetadata: ${params.metadata}` : ''}${params.memo ? `\\nMemo: ${params.memo}` : ''}\\n\\nThe entry has been added to the registry.`;\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Failed to register entry';\n throw new Error(`Entry registration failed: ${errorMessage}`);\n }\n }\n}"],"names":[],"mappings":";;AAOA,MAAM,sBAAsB,EAAE,OAAO;AAAA,EACnC,iBAAiB,EACd,OAAA,EACA,MAAM,iBAAiB,EACvB,SAAS,gDAAgD;AAAA,EAC5D,eAAe,EACZ,OAAA,EACA,MAAM,iBAAiB,EACvB,SAAS,oDAAoD;AAAA,EAChE,UAAU,EACP,OAAA,EACA,SAAA,EACA,SAAS,wCAAwC;AAAA,EACpD,MAAM,EACH,SACA,IAAI,GAAG,EACP,WACA,SAAS,oCAAoC;AAClD,CAAC;AAKM,MAAM,0BAA0B,kBAA8C;AAAA,EAA9E,cAAA;AAAA,UAAA,GAAA,SAAA;AACL,SAAA,OAAO;AACP,SAAA,cAAc;AAAA,EAAA;AAAA,EAEd,IAAI,sBAAkD;AACpD,WAAO;AAAA,EACT;AAAA,EAEA,MAAgB,aACd,QACA,aACkB;AAClB,QAAI;AACF,YAAM,SAAS,MAAM,KAAK,YAAY;AAAA,QACpC,OAAO;AAAA,QACP;AAAA,UACE,eAAe,OAAO;AAAA,UACtB,UAAU,OAAO;AAAA,UACjB,MAAM,OAAO;AAAA,QAAA;AAAA,MACf;AAGF,UAAI,CAAC,OAAO,SAAS;AACnB,cAAM,IAAI,MAAM,OAAO,SAAS,0BAA0B;AAAA,MAC5D;AAEA,aAAO;AAAA;AAAA,kBAAuE,OAAO,eAAe;AAAA,mBAAsB,OAAO,aAAa,GAAG,OAAO,WAAW;AAAA,YAAe,OAAO,QAAQ,KAAK,EAAE,GAAG,OAAO,OAAO;AAAA,QAAW,OAAO,IAAI,KAAK,EAAE;AAAA;AAAA;AAAA,IACxP,SAAS,OAAO;AACd,YAAM,eAAe,iBAAiB,QAAQ,MAAM,UAAU;AAC9D,YAAM,IAAI,MAAM,8BAA8B,YAAY,EAAE;AAAA,IAC9D;AAAA,EACF;AACF;"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { BaseHCS2QueryTool } from "./standards-agent-kit.es21.js";
|
|
3
|
+
const updateEntrySchema = z.object({
|
|
4
|
+
registryTopicId: z.string().regex(/^\d+\.\d+\.\d+$/).describe("The HCS-2 registry topic ID (must be indexed)"),
|
|
5
|
+
targetTopicId: z.string().regex(/^\d+\.\d+\.\d+$/).describe("The new topic ID to point to"),
|
|
6
|
+
uid: z.string().describe("The unique ID of the entry to update"),
|
|
7
|
+
metadata: z.string().optional().describe("Optional metadata URI (HIP-412 format)"),
|
|
8
|
+
memo: z.string().max(500).optional().describe("Optional memo (max 500 characters)")
|
|
9
|
+
});
|
|
10
|
+
class UpdateEntryTool extends BaseHCS2QueryTool {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
this.name = "updateHCS2Entry";
|
|
14
|
+
this.description = "Update an existing entry in an indexed HCS-2 registry";
|
|
15
|
+
}
|
|
16
|
+
get specificInputSchema() {
|
|
17
|
+
return updateEntrySchema;
|
|
18
|
+
}
|
|
19
|
+
async executeQuery(params, _runManager) {
|
|
20
|
+
try {
|
|
21
|
+
const result = await this.hcs2Builder.updateEntry(
|
|
22
|
+
params.registryTopicId,
|
|
23
|
+
{
|
|
24
|
+
targetTopicId: params.targetTopicId,
|
|
25
|
+
uid: params.uid,
|
|
26
|
+
metadata: params.metadata,
|
|
27
|
+
memo: params.memo
|
|
28
|
+
}
|
|
29
|
+
);
|
|
30
|
+
if (!result.success) {
|
|
31
|
+
throw new Error(result.error || "Failed to update entry");
|
|
32
|
+
}
|
|
33
|
+
return `Successfully updated entry in HCS-2 registry!
|
|
34
|
+
|
|
35
|
+
Registry Topic: ${params.registryTopicId}
|
|
36
|
+
UID: ${params.uid}
|
|
37
|
+
New Target Topic ID: ${params.targetTopicId}${params.metadata ? `
|
|
38
|
+
Metadata: ${params.metadata}` : ""}${params.memo ? `
|
|
39
|
+
Memo: ${params.memo}` : ""}
|
|
40
|
+
|
|
41
|
+
The entry has been updated in the registry.`;
|
|
42
|
+
} catch (error) {
|
|
43
|
+
const errorMessage = error instanceof Error ? error.message : "Failed to update entry";
|
|
44
|
+
throw new Error(`Entry update failed: ${errorMessage}`);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
export {
|
|
49
|
+
UpdateEntryTool
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=standards-agent-kit.es24.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standards-agent-kit.es24.js","sources":["../../src/tools/hcs2/UpdateEntryTool.ts"],"sourcesContent":["import { z } from 'zod';\nimport { BaseHCS2QueryTool } from './base-hcs2-tools';\nimport { CallbackManagerForToolRun } from '@langchain/core/callbacks/manager';\n\n/**\n * Schema for updating an entry in HCS-2\n */\nconst updateEntrySchema = z.object({\n registryTopicId: z\n .string()\n .regex(/^\\d+\\.\\d+\\.\\d+$/)\n .describe('The HCS-2 registry topic ID (must be indexed)'),\n targetTopicId: z\n .string()\n .regex(/^\\d+\\.\\d+\\.\\d+$/)\n .describe('The new topic ID to point to'),\n uid: z\n .string()\n .describe('The unique ID of the entry to update'),\n metadata: z\n .string()\n .optional()\n .describe('Optional metadata URI (HIP-412 format)'),\n memo: z\n .string()\n .max(500)\n .optional()\n .describe('Optional memo (max 500 characters)'),\n});\n\n\n/**\n * Tool for updating entries in HCS-2 registries\n */\nexport class UpdateEntryTool extends BaseHCS2QueryTool<typeof updateEntrySchema> {\n name = 'updateHCS2Entry';\n description = 'Update an existing entry in an indexed HCS-2 registry';\n\n get specificInputSchema(): typeof updateEntrySchema {\n return updateEntrySchema;\n }\n\n protected async executeQuery(\n params: z.infer<typeof updateEntrySchema>,\n _runManager?: CallbackManagerForToolRun\n ): Promise<unknown> {\n try {\n const result = await this.hcs2Builder.updateEntry(\n params.registryTopicId,\n {\n targetTopicId: params.targetTopicId,\n uid: params.uid,\n metadata: params.metadata,\n memo: params.memo,\n }\n );\n\n if (!result.success) {\n throw new Error(result.error || 'Failed to update entry');\n }\n\n return `Successfully updated entry in HCS-2 registry!\\n\\nRegistry Topic: ${params.registryTopicId}\\nUID: ${params.uid}\\nNew Target Topic ID: ${params.targetTopicId}${params.metadata ? `\\nMetadata: ${params.metadata}` : ''}${params.memo ? `\\nMemo: ${params.memo}` : ''}\\n\\nThe entry has been updated in the registry.`;\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Failed to update entry';\n throw new Error(`Entry update failed: ${errorMessage}`);\n }\n }\n}"],"names":[],"mappings":";;AAOA,MAAM,oBAAoB,EAAE,OAAO;AAAA,EACjC,iBAAiB,EACd,OAAA,EACA,MAAM,iBAAiB,EACvB,SAAS,+CAA+C;AAAA,EAC3D,eAAe,EACZ,OAAA,EACA,MAAM,iBAAiB,EACvB,SAAS,8BAA8B;AAAA,EAC1C,KAAK,EACF,SACA,SAAS,sCAAsC;AAAA,EAClD,UAAU,EACP,OAAA,EACA,SAAA,EACA,SAAS,wCAAwC;AAAA,EACpD,MAAM,EACH,SACA,IAAI,GAAG,EACP,WACA,SAAS,oCAAoC;AAClD,CAAC;AAMM,MAAM,wBAAwB,kBAA4C;AAAA,EAA1E,cAAA;AAAA,UAAA,GAAA,SAAA;AACL,SAAA,OAAO;AACP,SAAA,cAAc;AAAA,EAAA;AAAA,EAEd,IAAI,sBAAgD;AAClD,WAAO;AAAA,EACT;AAAA,EAEA,MAAgB,aACd,QACA,aACkB;AAClB,QAAI;AACF,YAAM,SAAS,MAAM,KAAK,YAAY;AAAA,QACpC,OAAO;AAAA,QACP;AAAA,UACE,eAAe,OAAO;AAAA,UACtB,KAAK,OAAO;AAAA,UACZ,UAAU,OAAO;AAAA,UACjB,MAAM,OAAO;AAAA,QAAA;AAAA,MACf;AAGF,UAAI,CAAC,OAAO,SAAS;AACnB,cAAM,IAAI,MAAM,OAAO,SAAS,wBAAwB;AAAA,MAC1D;AAEA,aAAO;AAAA;AAAA,kBAAoE,OAAO,eAAe;AAAA,OAAU,OAAO,GAAG;AAAA,uBAA0B,OAAO,aAAa,GAAG,OAAO,WAAW;AAAA,YAAe,OAAO,QAAQ,KAAK,EAAE,GAAG,OAAO,OAAO;AAAA,QAAW,OAAO,IAAI,KAAK,EAAE;AAAA;AAAA;AAAA,IAC7Q,SAAS,OAAO;AACd,YAAM,eAAe,iBAAiB,QAAQ,MAAM,UAAU;AAC9D,YAAM,IAAI,MAAM,wBAAwB,YAAY,EAAE;AAAA,IACxD;AAAA,EACF;AACF;"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { BaseHCS2QueryTool } from "./standards-agent-kit.es21.js";
|
|
3
|
+
const deleteEntrySchema = z.object({
|
|
4
|
+
registryTopicId: z.string().regex(/^\d+\.\d+\.\d+$/).describe("The HCS-2 registry topic ID (must be indexed)"),
|
|
5
|
+
uid: z.string().describe("The unique ID of the entry to delete"),
|
|
6
|
+
memo: z.string().max(500).optional().describe("Optional memo (max 500 characters)")
|
|
7
|
+
});
|
|
8
|
+
class DeleteEntryTool extends BaseHCS2QueryTool {
|
|
9
|
+
constructor() {
|
|
10
|
+
super(...arguments);
|
|
11
|
+
this.name = "deleteHCS2Entry";
|
|
12
|
+
this.description = "Delete an entry from an indexed HCS-2 registry";
|
|
13
|
+
}
|
|
14
|
+
get specificInputSchema() {
|
|
15
|
+
return deleteEntrySchema;
|
|
16
|
+
}
|
|
17
|
+
async executeQuery(params, _runManager) {
|
|
18
|
+
try {
|
|
19
|
+
const result = await this.hcs2Builder.deleteEntry(
|
|
20
|
+
params.registryTopicId,
|
|
21
|
+
{
|
|
22
|
+
uid: params.uid,
|
|
23
|
+
memo: params.memo
|
|
24
|
+
}
|
|
25
|
+
);
|
|
26
|
+
if (!result.success) {
|
|
27
|
+
throw new Error(result.error || "Failed to delete entry");
|
|
28
|
+
}
|
|
29
|
+
return `Successfully deleted entry from HCS-2 registry!
|
|
30
|
+
|
|
31
|
+
Registry Topic: ${params.registryTopicId}
|
|
32
|
+
UID: ${params.uid}${params.memo ? `
|
|
33
|
+
Memo: ${params.memo}` : ""}
|
|
34
|
+
|
|
35
|
+
The entry has been removed from the registry.`;
|
|
36
|
+
} catch (error) {
|
|
37
|
+
const errorMessage = error instanceof Error ? error.message : "Failed to delete entry";
|
|
38
|
+
throw new Error(`Entry deletion failed: ${errorMessage}`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
export {
|
|
43
|
+
DeleteEntryTool
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=standards-agent-kit.es25.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standards-agent-kit.es25.js","sources":["../../src/tools/hcs2/DeleteEntryTool.ts"],"sourcesContent":["import { z } from 'zod';\nimport { BaseHCS2QueryTool } from './base-hcs2-tools';\nimport { CallbackManagerForToolRun } from '@langchain/core/callbacks/manager';\n\n/**\n * Schema for deleting an entry from HCS-2\n */\nconst deleteEntrySchema = z.object({\n registryTopicId: z\n .string()\n .regex(/^\\d+\\.\\d+\\.\\d+$/)\n .describe('The HCS-2 registry topic ID (must be indexed)'),\n uid: z\n .string()\n .describe('The unique ID of the entry to delete'),\n memo: z\n .string()\n .max(500)\n .optional()\n .describe('Optional memo (max 500 characters)'),\n});\n\n\n/**\n * Tool for deleting entries from HCS-2 registries\n */\nexport class DeleteEntryTool extends BaseHCS2QueryTool<typeof deleteEntrySchema> {\n name = 'deleteHCS2Entry';\n description = 'Delete an entry from an indexed HCS-2 registry';\n\n get specificInputSchema(): typeof deleteEntrySchema {\n return deleteEntrySchema;\n }\n\n protected async executeQuery(\n params: z.infer<typeof deleteEntrySchema>,\n _runManager?: CallbackManagerForToolRun\n ): Promise<unknown> {\n try {\n const result = await this.hcs2Builder.deleteEntry(\n params.registryTopicId,\n {\n uid: params.uid,\n memo: params.memo,\n }\n );\n\n if (!result.success) {\n throw new Error(result.error || 'Failed to delete entry');\n }\n\n return `Successfully deleted entry from HCS-2 registry!\\n\\nRegistry Topic: ${params.registryTopicId}\\nUID: ${params.uid}${params.memo ? `\\nMemo: ${params.memo}` : ''}\\n\\nThe entry has been removed from the registry.`;\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Failed to delete entry';\n throw new Error(`Entry deletion failed: ${errorMessage}`);\n }\n }\n}"],"names":[],"mappings":";;AAOA,MAAM,oBAAoB,EAAE,OAAO;AAAA,EACjC,iBAAiB,EACd,OAAA,EACA,MAAM,iBAAiB,EACvB,SAAS,+CAA+C;AAAA,EAC3D,KAAK,EACF,SACA,SAAS,sCAAsC;AAAA,EAClD,MAAM,EACH,SACA,IAAI,GAAG,EACP,WACA,SAAS,oCAAoC;AAClD,CAAC;AAMM,MAAM,wBAAwB,kBAA4C;AAAA,EAA1E,cAAA;AAAA,UAAA,GAAA,SAAA;AACL,SAAA,OAAO;AACP,SAAA,cAAc;AAAA,EAAA;AAAA,EAEd,IAAI,sBAAgD;AAClD,WAAO;AAAA,EACT;AAAA,EAEA,MAAgB,aACd,QACA,aACkB;AAClB,QAAI;AACF,YAAM,SAAS,MAAM,KAAK,YAAY;AAAA,QACpC,OAAO;AAAA,QACP;AAAA,UACE,KAAK,OAAO;AAAA,UACZ,MAAM,OAAO;AAAA,QAAA;AAAA,MACf;AAGF,UAAI,CAAC,OAAO,SAAS;AACnB,cAAM,IAAI,MAAM,OAAO,SAAS,wBAAwB;AAAA,MAC1D;AAEA,aAAO;AAAA;AAAA,kBAAsE,OAAO,eAAe;AAAA,OAAU,OAAO,GAAG,GAAG,OAAO,OAAO;AAAA,QAAW,OAAO,IAAI,KAAK,EAAE;AAAA;AAAA;AAAA,IACvK,SAAS,OAAO;AACd,YAAM,eAAe,iBAAiB,QAAQ,MAAM,UAAU;AAC9D,YAAM,IAAI,MAAM,0BAA0B,YAAY,EAAE;AAAA,IAC1D;AAAA,EACF;AACF;"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { BaseHCS2QueryTool } from "./standards-agent-kit.es21.js";
|
|
3
|
+
const migrateRegistrySchema = z.object({
|
|
4
|
+
registryTopicId: z.string().regex(/^\d+\.\d+\.\d+$/).describe("The current HCS-2 registry topic ID"),
|
|
5
|
+
targetTopicId: z.string().regex(/^\d+\.\d+\.\d+$/).describe("The new topic ID to migrate to"),
|
|
6
|
+
metadata: z.string().optional().describe("Optional metadata URI for migration details"),
|
|
7
|
+
memo: z.string().max(500).optional().describe("Optional memo (max 500 characters)")
|
|
8
|
+
});
|
|
9
|
+
class MigrateRegistryTool extends BaseHCS2QueryTool {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.name = "migrateHCS2Registry";
|
|
13
|
+
this.description = "Migrate an HCS-2 registry to a new topic";
|
|
14
|
+
}
|
|
15
|
+
get specificInputSchema() {
|
|
16
|
+
return migrateRegistrySchema;
|
|
17
|
+
}
|
|
18
|
+
async executeQuery(params, _runManager) {
|
|
19
|
+
try {
|
|
20
|
+
const result = await this.hcs2Builder.migrateRegistry(
|
|
21
|
+
params.registryTopicId,
|
|
22
|
+
{
|
|
23
|
+
targetTopicId: params.targetTopicId,
|
|
24
|
+
metadata: params.metadata,
|
|
25
|
+
memo: params.memo
|
|
26
|
+
}
|
|
27
|
+
);
|
|
28
|
+
if (!result.success) {
|
|
29
|
+
throw new Error(result.error || "Failed to migrate registry");
|
|
30
|
+
}
|
|
31
|
+
return `Successfully migrated HCS-2 registry!
|
|
32
|
+
|
|
33
|
+
From Registry Topic: ${params.registryTopicId}
|
|
34
|
+
To Target Topic: ${params.targetTopicId}${params.metadata ? `
|
|
35
|
+
Metadata: ${params.metadata}` : ""}${params.memo ? `
|
|
36
|
+
Memo: ${params.memo}` : ""}
|
|
37
|
+
|
|
38
|
+
The registry has been migrated to the new topic.`;
|
|
39
|
+
} catch (error) {
|
|
40
|
+
const errorMessage = error instanceof Error ? error.message : "Failed to migrate registry";
|
|
41
|
+
throw new Error(`Registry migration failed: ${errorMessage}`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
export {
|
|
46
|
+
MigrateRegistryTool
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=standards-agent-kit.es26.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standards-agent-kit.es26.js","sources":["../../src/tools/hcs2/MigrateRegistryTool.ts"],"sourcesContent":["import { z } from 'zod';\nimport { BaseHCS2QueryTool } from './base-hcs2-tools';\nimport { CallbackManagerForToolRun } from '@langchain/core/callbacks/manager';\n\n/**\n * Schema for migrating an HCS-2 registry\n */\nconst migrateRegistrySchema = z.object({\n registryTopicId: z\n .string()\n .regex(/^\\d+\\.\\d+\\.\\d+$/)\n .describe('The current HCS-2 registry topic ID'),\n targetTopicId: z\n .string()\n .regex(/^\\d+\\.\\d+\\.\\d+$/)\n .describe('The new topic ID to migrate to'),\n metadata: z\n .string()\n .optional()\n .describe('Optional metadata URI for migration details'),\n memo: z\n .string()\n .max(500)\n .optional()\n .describe('Optional memo (max 500 characters)'),\n});\n\n\n/**\n * Tool for migrating HCS-2 registries\n */\nexport class MigrateRegistryTool extends BaseHCS2QueryTool<typeof migrateRegistrySchema> {\n name = 'migrateHCS2Registry';\n description = 'Migrate an HCS-2 registry to a new topic';\n\n get specificInputSchema() {\n return migrateRegistrySchema;\n }\n\n protected async executeQuery(\n params: z.infer<typeof migrateRegistrySchema>,\n _runManager?: CallbackManagerForToolRun\n ): Promise<unknown> {\n try {\n const result = await this.hcs2Builder.migrateRegistry(\n params.registryTopicId,\n {\n targetTopicId: params.targetTopicId,\n metadata: params.metadata,\n memo: params.memo,\n }\n );\n\n if (!result.success) {\n throw new Error(result.error || 'Failed to migrate registry');\n }\n\n return `Successfully migrated HCS-2 registry!\\n\\nFrom Registry Topic: ${params.registryTopicId}\\nTo Target Topic: ${params.targetTopicId}${params.metadata ? `\\nMetadata: ${params.metadata}` : ''}${params.memo ? `\\nMemo: ${params.memo}` : ''}\\n\\nThe registry has been migrated to the new topic.`;\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : 'Failed to migrate registry';\n throw new Error(`Registry migration failed: ${errorMessage}`);\n }\n }\n}"],"names":[],"mappings":";;AAOA,MAAM,wBAAwB,EAAE,OAAO;AAAA,EACrC,iBAAiB,EACd,OAAA,EACA,MAAM,iBAAiB,EACvB,SAAS,qCAAqC;AAAA,EACjD,eAAe,EACZ,OAAA,EACA,MAAM,iBAAiB,EACvB,SAAS,gCAAgC;AAAA,EAC5C,UAAU,EACP,OAAA,EACA,SAAA,EACA,SAAS,6CAA6C;AAAA,EACzD,MAAM,EACH,SACA,IAAI,GAAG,EACP,WACA,SAAS,oCAAoC;AAClD,CAAC;AAMM,MAAM,4BAA4B,kBAAgD;AAAA,EAAlF,cAAA;AAAA,UAAA,GAAA,SAAA;AACL,SAAA,OAAO;AACP,SAAA,cAAc;AAAA,EAAA;AAAA,EAEd,IAAI,sBAAsB;AACxB,WAAO;AAAA,EACT;AAAA,EAEA,MAAgB,aACd,QACA,aACkB;AAClB,QAAI;AACF,YAAM,SAAS,MAAM,KAAK,YAAY;AAAA,QACpC,OAAO;AAAA,QACP;AAAA,UACE,eAAe,OAAO;AAAA,UACtB,UAAU,OAAO;AAAA,UACjB,MAAM,OAAO;AAAA,QAAA;AAAA,MACf;AAGF,UAAI,CAAC,OAAO,SAAS;AACnB,cAAM,IAAI,MAAM,OAAO,SAAS,4BAA4B;AAAA,MAC9D;AAEA,aAAO;AAAA;AAAA,uBAAiE,OAAO,eAAe;AAAA,mBAAsB,OAAO,aAAa,GAAG,OAAO,WAAW;AAAA,YAAe,OAAO,QAAQ,KAAK,EAAE,GAAG,OAAO,OAAO;AAAA,QAAW,OAAO,IAAI,KAAK,EAAE;AAAA;AAAA;AAAA,IAClP,SAAS,OAAO;AACd,YAAM,eAAe,iBAAiB,QAAQ,MAAM,UAAU;AAC9D,YAAM,IAAI,MAAM,8BAA8B,YAAY,EAAE;AAAA,IAC9D;AAAA,EACF;AACF;"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { BaseHCS2QueryTool } from "./standards-agent-kit.es21.js";
|
|
3
|
+
const queryRegistrySchema = z.object({
|
|
4
|
+
topicId: z.string().regex(/^\d+\.\d+\.\d+$/).describe("The HCS-2 registry topic ID to query"),
|
|
5
|
+
limit: z.number().int().positive().optional().describe("Maximum number of entries to return"),
|
|
6
|
+
order: z.enum(["asc", "desc"]).optional().describe("Order of results (ascending or descending)"),
|
|
7
|
+
skip: z.number().int().min(0).optional().describe("Number of entries to skip")
|
|
8
|
+
});
|
|
9
|
+
class QueryRegistryTool extends BaseHCS2QueryTool {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.name = "queryHCS2Registry";
|
|
13
|
+
this.description = "Query entries from an HCS-2 registry";
|
|
14
|
+
}
|
|
15
|
+
get specificInputSchema() {
|
|
16
|
+
return queryRegistrySchema;
|
|
17
|
+
}
|
|
18
|
+
async executeQuery(params, _runManager) {
|
|
19
|
+
const registry = await this.hcs2Builder.getRegistry(params.topicId, {
|
|
20
|
+
limit: params.limit,
|
|
21
|
+
order: params.order,
|
|
22
|
+
skip: params.skip
|
|
23
|
+
});
|
|
24
|
+
return {
|
|
25
|
+
topicId: registry.topicId,
|
|
26
|
+
registryType: registry.registryType === 0 ? "indexed" : "non-indexed",
|
|
27
|
+
ttl: registry.ttl,
|
|
28
|
+
totalEntries: registry.entries.length,
|
|
29
|
+
entries: registry.entries.map((entry) => ({
|
|
30
|
+
sequence: entry.sequence,
|
|
31
|
+
timestamp: entry.timestamp,
|
|
32
|
+
payer: entry.payer,
|
|
33
|
+
operation: entry.message.op,
|
|
34
|
+
targetTopicId: entry.message.t_id,
|
|
35
|
+
uid: entry.message.uid,
|
|
36
|
+
metadata: entry.message.metadata,
|
|
37
|
+
memo: entry.message.m
|
|
38
|
+
}))
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
export {
|
|
43
|
+
QueryRegistryTool
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=standards-agent-kit.es27.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standards-agent-kit.es27.js","sources":["../../src/tools/hcs2/QueryRegistryTool.ts"],"sourcesContent":["import { z } from 'zod';\nimport { BaseHCS2QueryTool } from './base-hcs2-tools';\nimport { CallbackManagerForToolRun } from '@langchain/core/callbacks/manager';\n\n/**\n * Schema for querying HCS-2 registry\n */\nconst queryRegistrySchema = z.object({\n topicId: z\n .string()\n .regex(/^\\d+\\.\\d+\\.\\d+$/)\n .describe('The HCS-2 registry topic ID to query'),\n limit: z\n .number()\n .int()\n .positive()\n .optional()\n .describe('Maximum number of entries to return'),\n order: z\n .enum(['asc', 'desc'])\n .optional()\n .describe('Order of results (ascending or descending)'),\n skip: z\n .number()\n .int()\n .min(0)\n .optional()\n .describe('Number of entries to skip'),\n});\n\n\n/**\n * Tool for querying HCS-2 registries\n */\nexport class QueryRegistryTool extends BaseHCS2QueryTool<typeof queryRegistrySchema> {\n name = 'queryHCS2Registry';\n description = 'Query entries from an HCS-2 registry';\n\n get specificInputSchema() {\n return queryRegistrySchema;\n }\n\n protected async executeQuery(\n params: z.infer<typeof queryRegistrySchema>,\n _runManager?: CallbackManagerForToolRun\n ): Promise<unknown> {\n const registry = await this.hcs2Builder.getRegistry(params.topicId, {\n limit: params.limit,\n order: params.order,\n skip: params.skip,\n });\n\n return {\n topicId: registry.topicId,\n registryType: registry.registryType === 0 ? 'indexed' : 'non-indexed',\n ttl: registry.ttl,\n totalEntries: registry.entries.length,\n entries: registry.entries.map(entry => ({\n sequence: entry.sequence,\n timestamp: entry.timestamp,\n payer: entry.payer,\n operation: entry.message.op,\n targetTopicId: entry.message.t_id,\n uid: entry.message.uid,\n metadata: entry.message.metadata,\n memo: entry.message.m,\n })),\n };\n }\n}"],"names":[],"mappings":";;AAOA,MAAM,sBAAsB,EAAE,OAAO;AAAA,EACnC,SAAS,EACN,OAAA,EACA,MAAM,iBAAiB,EACvB,SAAS,sCAAsC;AAAA,EAClD,OAAO,EACJ,OAAA,EACA,IAAA,EACA,SAAA,EACA,SAAA,EACA,SAAS,qCAAqC;AAAA,EACjD,OAAO,EACJ,KAAK,CAAC,OAAO,MAAM,CAAC,EACpB,SAAA,EACA,SAAS,4CAA4C;AAAA,EACxD,MAAM,EACH,OAAA,EACA,IAAA,EACA,IAAI,CAAC,EACL,WACA,SAAS,2BAA2B;AACzC,CAAC;AAMM,MAAM,0BAA0B,kBAA8C;AAAA,EAA9E,cAAA;AAAA,UAAA,GAAA,SAAA;AACL,SAAA,OAAO;AACP,SAAA,cAAc;AAAA,EAAA;AAAA,EAEd,IAAI,sBAAsB;AACxB,WAAO;AAAA,EACT;AAAA,EAEA,MAAgB,aACd,QACA,aACkB;AAClB,UAAM,WAAW,MAAM,KAAK,YAAY,YAAY,OAAO,SAAS;AAAA,MAClE,OAAO,OAAO;AAAA,MACd,OAAO,OAAO;AAAA,MACd,MAAM,OAAO;AAAA,IAAA,CACd;AAED,WAAO;AAAA,MACL,SAAS,SAAS;AAAA,MAClB,cAAc,SAAS,iBAAiB,IAAI,YAAY;AAAA,MACxD,KAAK,SAAS;AAAA,MACd,cAAc,SAAS,QAAQ;AAAA,MAC/B,SAAS,SAAS,QAAQ,IAAI,CAAA,WAAU;AAAA,QACtC,UAAU,MAAM;AAAA,QAChB,WAAW,MAAM;AAAA,QACjB,OAAO,MAAM;AAAA,QACb,WAAW,MAAM,QAAQ;AAAA,QACzB,eAAe,MAAM,QAAQ;AAAA,QAC7B,KAAK,MAAM,QAAQ;AAAA,QACnB,UAAU,MAAM,QAAQ;AAAA,QACxB,MAAM,MAAM,QAAQ;AAAA,MAAA,EACpB;AAAA,IAAA;AAAA,EAEN;AACF;"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { BaseHederaTransactionTool, BaseHederaQueryTool } from "hedera-agent-kit";
|
|
2
|
+
class BaseHCS6TransactionTool extends BaseHederaTransactionTool {
|
|
3
|
+
constructor(params) {
|
|
4
|
+
super(params);
|
|
5
|
+
this.namespace = "hcs6";
|
|
6
|
+
this.hcs6Builder = params.hcs6Builder;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Override to return the HCS6Builder
|
|
10
|
+
*/
|
|
11
|
+
getServiceBuilder() {
|
|
12
|
+
return this.hcs6Builder;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
class BaseHCS6QueryTool extends BaseHederaQueryTool {
|
|
16
|
+
constructor(params) {
|
|
17
|
+
super(params);
|
|
18
|
+
this.namespace = "hcs6";
|
|
19
|
+
this.hcs6Builder = params.hcs6Builder;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Override to return the HCS6Builder
|
|
23
|
+
*/
|
|
24
|
+
getServiceBuilder() {
|
|
25
|
+
return this.hcs6Builder;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export {
|
|
29
|
+
BaseHCS6QueryTool,
|
|
30
|
+
BaseHCS6TransactionTool
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=standards-agent-kit.es28.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standards-agent-kit.es28.js","sources":["../../src/tools/hcs6/base-hcs6-tools.ts"],"sourcesContent":["import {\n BaseHederaTransactionTool,\n BaseHederaQueryTool,\n BaseServiceBuilder,\n} from 'hedera-agent-kit';\nimport { HCS6Builder } from '../../builders/hcs6/hcs6-builder';\nimport {\n HCS6TransactionToolParams,\n HCS6QueryToolParams,\n} from './hcs6-tool-params';\nimport { z } from 'zod';\n\n/**\n * Base class for HCS6 transaction tools\n */\nexport abstract class BaseHCS6TransactionTool<\n T extends z.ZodObject<\n z.ZodRawShape,\n z.UnknownKeysParam,\n z.ZodTypeAny\n > = z.ZodObject<z.ZodRawShape>\n> extends BaseHederaTransactionTool<T> {\n protected hcs6Builder: HCS6Builder;\n namespace = 'hcs6' as const;\n\n constructor(params: HCS6TransactionToolParams) {\n super(params);\n this.hcs6Builder = params.hcs6Builder;\n }\n\n /**\n * Override to return the HCS6Builder\n */\n protected getServiceBuilder(): BaseServiceBuilder {\n return this.hcs6Builder;\n }\n}\n\n/**\n * Base class for HCS6 query tools\n */\nexport abstract class BaseHCS6QueryTool<\n T extends z.ZodObject<\n z.ZodRawShape,\n z.UnknownKeysParam,\n z.ZodTypeAny\n > = z.ZodObject<z.ZodRawShape>\n> extends BaseHederaQueryTool<T> {\n protected hcs6Builder: HCS6Builder;\n namespace = 'hcs6' as const;\n\n constructor(params: HCS6QueryToolParams) {\n super(params);\n this.hcs6Builder = params.hcs6Builder;\n }\n\n /**\n * Override to return the HCS6Builder\n */\n protected getServiceBuilder(): BaseServiceBuilder {\n return this.hcs6Builder;\n }\n}"],"names":[],"mappings":";AAeO,MAAe,gCAMZ,0BAA6B;AAAA,EAIrC,YAAY,QAAmC;AAC7C,UAAM,MAAM;AAHd,SAAA,YAAY;AAIV,SAAK,cAAc,OAAO;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA,EAKU,oBAAwC;AAChD,WAAO,KAAK;AAAA,EACd;AACF;AAKO,MAAe,0BAMZ,oBAAuB;AAAA,EAI/B,YAAY,QAA6B;AACvC,UAAM,MAAM;AAHd,SAAA,YAAY;AAIV,SAAK,cAAc,OAAO;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA,EAKU,oBAAwC;AAChD,WAAO,KAAK;AAAA,EACd;AACF;"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { BaseHCS6QueryTool } from "./standards-agent-kit.es28.js";
|
|
3
|
+
const CreateDynamicRegistrySchema = z.object({
|
|
4
|
+
ttl: z.number().min(3600).default(86400).describe("Time-to-live in seconds (minimum 3600 seconds/1 hour)"),
|
|
5
|
+
submitKey: z.union([z.boolean(), z.string()]).optional().describe("Submit key for the registry topic. Can be boolean (use operator key) or a public key string")
|
|
6
|
+
});
|
|
7
|
+
class CreateDynamicRegistryTool extends BaseHCS6QueryTool {
|
|
8
|
+
constructor(params) {
|
|
9
|
+
super(params);
|
|
10
|
+
this.name = "createDynamicRegistry";
|
|
11
|
+
this.description = "Create a new HCS-6 dynamic registry for managing evolving content";
|
|
12
|
+
}
|
|
13
|
+
get specificInputSchema() {
|
|
14
|
+
return CreateDynamicRegistrySchema;
|
|
15
|
+
}
|
|
16
|
+
async executeQuery(params, _runManager) {
|
|
17
|
+
const result = await this.hcs6Builder.createRegistry({
|
|
18
|
+
ttl: params.ttl,
|
|
19
|
+
submitKey: params.submitKey
|
|
20
|
+
});
|
|
21
|
+
if (!result.success) {
|
|
22
|
+
throw new Error(result.error || "Failed to create dynamic registry");
|
|
23
|
+
}
|
|
24
|
+
return `Successfully created HCS-6 dynamic registry!
|
|
25
|
+
|
|
26
|
+
Topic ID: ${result.topicId}
|
|
27
|
+
TTL: ${params.ttl} seconds
|
|
28
|
+
|
|
29
|
+
You can now register dynamic hashinals to this registry using the topic ID.`;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
export {
|
|
33
|
+
CreateDynamicRegistryTool
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=standards-agent-kit.es29.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standards-agent-kit.es29.js","sources":["../../src/tools/hcs6/CreateDynamicRegistryTool.ts"],"sourcesContent":["import { z } from 'zod';\nimport { BaseHCS6QueryTool } from './base-hcs6-tools';\nimport { HCS6QueryToolParams } from './hcs6-tool-params';\nimport { CallbackManagerForToolRun } from '@langchain/core/callbacks/manager';\n\n/**\n * Schema for creating a dynamic hashinal registry\n */\nconst CreateDynamicRegistrySchema = z.object({\n ttl: z\n .number()\n .min(3600)\n .default(86400)\n .describe('Time-to-live in seconds (minimum 3600 seconds/1 hour)'),\n submitKey: z\n .union([z.boolean(), z.string()])\n .optional()\n .describe('Submit key for the registry topic. Can be boolean (use operator key) or a public key string'),\n});\n\nexport type CreateDynamicRegistryInput = z.infer<typeof CreateDynamicRegistrySchema>;\n\n/**\n * Tool for creating HCS-6 dynamic registries\n */\nexport class CreateDynamicRegistryTool extends BaseHCS6QueryTool<typeof CreateDynamicRegistrySchema> {\n name = 'createDynamicRegistry';\n description = 'Create a new HCS-6 dynamic registry for managing evolving content';\n\n get specificInputSchema(): typeof CreateDynamicRegistrySchema {\n return CreateDynamicRegistrySchema;\n }\n\n constructor(params: HCS6QueryToolParams) {\n super(params);\n }\n\n protected async executeQuery(\n params: CreateDynamicRegistryInput,\n _runManager?: CallbackManagerForToolRun\n ): Promise<unknown> {\n const result = await this.hcs6Builder.createRegistry({\n ttl: params.ttl,\n submitKey: params.submitKey,\n });\n\n if (!result.success) {\n throw new Error(result.error || 'Failed to create dynamic registry');\n }\n\n return `Successfully created HCS-6 dynamic registry!\\n\\nTopic ID: ${result.topicId}\\nTTL: ${params.ttl} seconds\\n\\nYou can now register dynamic hashinals to this registry using the topic ID.`;\n }\n}"],"names":[],"mappings":";;AAQA,MAAM,8BAA8B,EAAE,OAAO;AAAA,EAC3C,KAAK,EACF,OAAA,EACA,IAAI,IAAI,EACR,QAAQ,KAAK,EACb,SAAS,uDAAuD;AAAA,EACnE,WAAW,EACR,MAAM,CAAC,EAAE,QAAA,GAAW,EAAE,OAAA,CAAQ,CAAC,EAC/B,SAAA,EACA,SAAS,6FAA6F;AAC3G,CAAC;AAOM,MAAM,kCAAkC,kBAAsD;AAAA,EAQnG,YAAY,QAA6B;AACvC,UAAM,MAAM;AARd,SAAA,OAAO;AACP,SAAA,cAAc;AAAA,EAQd;AAAA,EANA,IAAI,sBAA0D;AAC5D,WAAO;AAAA,EACT;AAAA,EAMA,MAAgB,aACd,QACA,aACkB;AAClB,UAAM,SAAS,MAAM,KAAK,YAAY,eAAe;AAAA,MACnD,KAAK,OAAO;AAAA,MACZ,WAAW,OAAO;AAAA,IAAA,CACnB;AAED,QAAI,CAAC,OAAO,SAAS;AACnB,YAAM,IAAI,MAAM,OAAO,SAAS,mCAAmC;AAAA,IACrE;AAEA,WAAO;AAAA;AAAA,YAA6D,OAAO,OAAO;AAAA,OAAU,OAAO,GAAG;AAAA;AAAA;AAAA,EACxG;AACF;"}
|