@hashgraphonline/standards-agent-kit 0.2.136 → 0.2.138
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 +3 -4
- package/dist/cjs/builders/hcs10/hcs10-builder.d.ts +1 -0
- package/dist/cjs/builders/hcs2/hcs2-builder.d.ts +8 -7
- package/dist/cjs/builders/hcs6/hcs6-builder.d.ts +5 -4
- package/dist/cjs/builders/inscriber/inscriber-builder.d.ts +32 -1
- package/dist/cjs/index.d.ts +4 -0
- package/dist/cjs/signing/bytes-registry.d.ts +17 -0
- package/dist/cjs/signing/signer-provider.d.ts +45 -0
- package/dist/cjs/standards-agent-kit.cjs +1 -1
- package/dist/cjs/standards-agent-kit.cjs.map +1 -1
- package/dist/cjs/tools/hcs10/InitiateConnectionTool.d.ts +4 -4
- package/dist/cjs/tools/hcs2/CreateRegistryTool.d.ts +2 -2
- package/dist/cjs/tools/hcs2/DeleteEntryTool.d.ts +2 -2
- package/dist/cjs/tools/hcs2/UpdateEntryTool.d.ts +2 -2
- package/dist/cjs/tools/hcs6/RegisterDynamicHashinalTool.d.ts +10 -10
- package/dist/cjs/tools/hcs6/UpdateDynamicHashinalTool.d.ts +8 -8
- package/dist/cjs/tools/inscriber/InscribeFromBufferTool.d.ts +5 -4
- package/dist/cjs/tools/inscriber/InscribeFromFileTool.d.ts +2 -2
- package/dist/cjs/tools/inscriber/InscribeFromUrlTool.d.ts +4 -4
- package/dist/cjs/tools/inscriber/InscribeHashinalTool.d.ts +3 -3
- package/dist/cjs/types/inscription-response.d.ts +8 -0
- package/dist/cjs/types/tx-results.d.ts +15 -0
- package/dist/cjs/utils/CodedError.d.ts +4 -0
- package/dist/cjs/utils/inscription-utils.d.ts +21 -0
- package/dist/cjs/validation/hip412-schemas.d.ts +2 -2
- package/dist/es/builders/hcs10/hcs10-builder.d.ts +1 -0
- package/dist/es/builders/hcs2/hcs2-builder.d.ts +8 -7
- package/dist/es/builders/hcs6/hcs6-builder.d.ts +5 -4
- package/dist/es/builders/inscriber/inscriber-builder.d.ts +32 -1
- package/dist/es/index.d.ts +4 -0
- package/dist/es/signing/bytes-registry.d.ts +17 -0
- package/dist/es/signing/signer-provider.d.ts +45 -0
- package/dist/es/standards-agent-kit.es.js +46 -42
- package/dist/es/standards-agent-kit.es.js.map +1 -1
- package/dist/es/standards-agent-kit.es10.js +24 -83
- package/dist/es/standards-agent-kit.es10.js.map +1 -1
- package/dist/es/standards-agent-kit.es11.js +224 -20
- package/dist/es/standards-agent-kit.es11.js.map +1 -1
- package/dist/es/standards-agent-kit.es12.js +78 -27
- package/dist/es/standards-agent-kit.es12.js.map +1 -1
- package/dist/es/standards-agent-kit.es13.js +26 -36
- package/dist/es/standards-agent-kit.es13.js.map +1 -1
- package/dist/es/standards-agent-kit.es14.js +17 -39
- package/dist/es/standards-agent-kit.es14.js.map +1 -1
- package/dist/es/standards-agent-kit.es15.js +36 -58
- package/dist/es/standards-agent-kit.es15.js.map +1 -1
- package/dist/es/standards-agent-kit.es16.js +45 -18
- package/dist/es/standards-agent-kit.es16.js.map +1 -1
- package/dist/es/standards-agent-kit.es17.js +53 -16
- package/dist/es/standards-agent-kit.es17.js.map +1 -1
- package/dist/es/standards-agent-kit.es18.js +18 -28
- package/dist/es/standards-agent-kit.es18.js.map +1 -1
- package/dist/es/standards-agent-kit.es19.js +26 -12
- package/dist/es/standards-agent-kit.es19.js.map +1 -1
- package/dist/es/standards-agent-kit.es20.js +38 -136
- package/dist/es/standards-agent-kit.es20.js.map +1 -1
- package/dist/es/standards-agent-kit.es21.js +13 -24
- package/dist/es/standards-agent-kit.es21.js.map +1 -1
- package/dist/es/standards-agent-kit.es22.js +136 -39
- package/dist/es/standards-agent-kit.es22.js.map +1 -1
- package/dist/es/standards-agent-kit.es23.js +25 -41
- package/dist/es/standards-agent-kit.es23.js.map +1 -1
- package/dist/es/standards-agent-kit.es24.js +49 -31
- package/dist/es/standards-agent-kit.es24.js.map +1 -1
- package/dist/es/standards-agent-kit.es25.js +34 -18
- package/dist/es/standards-agent-kit.es25.js.map +1 -1
- package/dist/es/standards-agent-kit.es26.js +35 -19
- package/dist/es/standards-agent-kit.es26.js.map +1 -1
- package/dist/es/standards-agent-kit.es27.js +45 -32
- package/dist/es/standards-agent-kit.es27.js.map +1 -1
- package/dist/es/standards-agent-kit.es28.js +54 -25
- package/dist/es/standards-agent-kit.es28.js.map +1 -1
- package/dist/es/standards-agent-kit.es29.js +35 -23
- package/dist/es/standards-agent-kit.es29.js.map +1 -1
- package/dist/es/standards-agent-kit.es3.js +41 -1545
- package/dist/es/standards-agent-kit.es3.js.map +1 -1
- package/dist/es/standards-agent-kit.es30.js +23 -39
- package/dist/es/standards-agent-kit.es30.js.map +1 -1
- package/dist/es/standards-agent-kit.es31.js +30 -28
- package/dist/es/standards-agent-kit.es31.js.map +1 -1
- package/dist/es/standards-agent-kit.es32.js +45 -32
- package/dist/es/standards-agent-kit.es32.js.map +1 -1
- package/dist/es/standards-agent-kit.es33.js +50 -89
- package/dist/es/standards-agent-kit.es33.js.map +1 -1
- package/dist/es/standards-agent-kit.es34.js +35 -228
- package/dist/es/standards-agent-kit.es34.js.map +1 -1
- package/dist/es/standards-agent-kit.es35.js +87 -212
- package/dist/es/standards-agent-kit.es35.js.map +1 -1
- package/dist/es/standards-agent-kit.es36.js +188 -128
- package/dist/es/standards-agent-kit.es36.js.map +1 -1
- package/dist/es/standards-agent-kit.es37.js +167 -561
- package/dist/es/standards-agent-kit.es37.js.map +1 -1
- package/dist/es/standards-agent-kit.es38.js +236 -31
- package/dist/es/standards-agent-kit.es38.js.map +1 -1
- package/dist/es/standards-agent-kit.es39.js +483 -206
- package/dist/es/standards-agent-kit.es39.js.map +1 -1
- package/dist/es/standards-agent-kit.es4.js +359 -81
- package/dist/es/standards-agent-kit.es4.js.map +1 -1
- package/dist/es/standards-agent-kit.es40.js +39 -135
- package/dist/es/standards-agent-kit.es40.js.map +1 -1
- package/dist/es/standards-agent-kit.es41.js +244 -28
- package/dist/es/standards-agent-kit.es41.js.map +1 -1
- package/dist/es/standards-agent-kit.es42.js +132 -418
- package/dist/es/standards-agent-kit.es42.js.map +1 -1
- package/dist/es/standards-agent-kit.es43.js +28 -184
- package/dist/es/standards-agent-kit.es43.js.map +1 -1
- package/dist/es/standards-agent-kit.es44.js +423 -3
- package/dist/es/standards-agent-kit.es44.js.map +1 -1
- package/dist/es/standards-agent-kit.es45.js +185 -24
- package/dist/es/standards-agent-kit.es45.js.map +1 -1
- package/dist/es/standards-agent-kit.es46.js +3 -3
- package/dist/es/standards-agent-kit.es46.js.map +1 -1
- package/dist/es/standards-agent-kit.es47.js +21 -50
- package/dist/es/standards-agent-kit.es47.js.map +1 -1
- package/dist/es/standards-agent-kit.es48.js +8 -3
- package/dist/es/standards-agent-kit.es48.js.map +1 -1
- package/dist/es/standards-agent-kit.es49.js +3 -39
- package/dist/es/standards-agent-kit.es49.js.map +1 -1
- package/dist/es/standards-agent-kit.es5.js +1747 -73
- package/dist/es/standards-agent-kit.es5.js.map +1 -1
- package/dist/es/standards-agent-kit.es50.js +18 -16
- package/dist/es/standards-agent-kit.es50.js.map +1 -1
- package/dist/es/standards-agent-kit.es51.js +49 -49
- package/dist/es/standards-agent-kit.es51.js.map +1 -1
- package/dist/es/standards-agent-kit.es52.js +6 -0
- package/dist/es/standards-agent-kit.es52.js.map +1 -0
- package/dist/es/standards-agent-kit.es53.js +43 -0
- package/dist/es/standards-agent-kit.es53.js.map +1 -0
- package/dist/es/standards-agent-kit.es54.js +22 -0
- package/dist/es/standards-agent-kit.es54.js.map +1 -0
- package/dist/es/standards-agent-kit.es55.js +77 -0
- package/dist/es/standards-agent-kit.es55.js.map +1 -0
- package/dist/es/standards-agent-kit.es56.js +7 -0
- package/dist/es/standards-agent-kit.es56.js.map +1 -0
- package/dist/es/standards-agent-kit.es6.js +347 -32
- package/dist/es/standards-agent-kit.es6.js.map +1 -1
- package/dist/es/standards-agent-kit.es7.js +142 -293
- package/dist/es/standards-agent-kit.es7.js.map +1 -1
- package/dist/es/standards-agent-kit.es8.js +201 -21
- package/dist/es/standards-agent-kit.es8.js.map +1 -1
- package/dist/es/standards-agent-kit.es9.js +301 -213
- package/dist/es/standards-agent-kit.es9.js.map +1 -1
- package/dist/es/tools/hcs10/InitiateConnectionTool.d.ts +4 -4
- package/dist/es/tools/hcs2/CreateRegistryTool.d.ts +2 -2
- package/dist/es/tools/hcs2/DeleteEntryTool.d.ts +2 -2
- package/dist/es/tools/hcs2/UpdateEntryTool.d.ts +2 -2
- package/dist/es/tools/hcs6/RegisterDynamicHashinalTool.d.ts +10 -10
- package/dist/es/tools/hcs6/UpdateDynamicHashinalTool.d.ts +8 -8
- package/dist/es/tools/inscriber/InscribeFromBufferTool.d.ts +5 -4
- package/dist/es/tools/inscriber/InscribeFromFileTool.d.ts +2 -2
- package/dist/es/tools/inscriber/InscribeFromUrlTool.d.ts +4 -4
- package/dist/es/tools/inscriber/InscribeHashinalTool.d.ts +3 -3
- package/dist/es/types/inscription-response.d.ts +8 -0
- package/dist/es/types/tx-results.d.ts +15 -0
- package/dist/es/utils/CodedError.d.ts +4 -0
- package/dist/es/utils/inscription-utils.d.ts +21 -0
- package/dist/es/validation/hip412-schemas.d.ts +2 -2
- package/dist/umd/builders/hcs10/hcs10-builder.d.ts +1 -0
- package/dist/umd/builders/hcs2/hcs2-builder.d.ts +8 -7
- package/dist/umd/builders/hcs6/hcs6-builder.d.ts +5 -4
- package/dist/umd/builders/inscriber/inscriber-builder.d.ts +32 -1
- package/dist/umd/index.d.ts +4 -0
- package/dist/umd/signing/bytes-registry.d.ts +17 -0
- package/dist/umd/signing/signer-provider.d.ts +45 -0
- 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/hcs10/InitiateConnectionTool.d.ts +4 -4
- package/dist/umd/tools/hcs2/CreateRegistryTool.d.ts +2 -2
- package/dist/umd/tools/hcs2/DeleteEntryTool.d.ts +2 -2
- package/dist/umd/tools/hcs2/UpdateEntryTool.d.ts +2 -2
- package/dist/umd/tools/hcs6/RegisterDynamicHashinalTool.d.ts +10 -10
- package/dist/umd/tools/hcs6/UpdateDynamicHashinalTool.d.ts +8 -8
- package/dist/umd/tools/inscriber/InscribeFromBufferTool.d.ts +5 -4
- package/dist/umd/tools/inscriber/InscribeFromFileTool.d.ts +2 -2
- package/dist/umd/tools/inscriber/InscribeFromUrlTool.d.ts +4 -4
- package/dist/umd/tools/inscriber/InscribeHashinalTool.d.ts +3 -3
- package/dist/umd/types/inscription-response.d.ts +8 -0
- package/dist/umd/types/tx-results.d.ts +15 -0
- package/dist/umd/utils/CodedError.d.ts +4 -0
- package/dist/umd/utils/inscription-utils.d.ts +21 -0
- package/dist/umd/validation/hip412-schemas.d.ts +2 -2
- package/package.json +10 -5
- package/src/builders/hcs10/hcs10-builder.ts +239 -6
- package/src/builders/hcs2/hcs2-builder.ts +302 -9
- package/src/builders/hcs6/hcs6-builder.ts +79 -4
- package/src/builders/inscriber/inscriber-builder.ts +235 -2
- package/src/hcs10/HCS10Client.ts +1 -1
- package/src/index.ts +5 -1
- package/src/lib/zod-render/schema-extension.ts +0 -1
- package/src/signing/bytes-registry.ts +501 -0
- package/src/signing/signer-provider.ts +120 -0
- package/src/tools/hcs2/CreateRegistryTool.ts +30 -5
- package/src/tools/hcs2/DeleteEntryTool.ts +16 -2
- package/src/tools/hcs2/MigrateRegistryTool.ts +16 -2
- package/src/tools/hcs2/QueryRegistryTool.ts +11 -2
- package/src/tools/hcs2/RegisterEntryTool.ts +17 -3
- package/src/tools/hcs2/UpdateEntryTool.ts +16 -2
- package/src/tools/hcs6/CreateDynamicRegistryTool.ts +17 -3
- package/src/tools/hcs6/RegisterDynamicHashinalTool.ts +17 -3
- package/src/tools/hcs6/UpdateDynamicHashinalTool.ts +17 -3
- package/src/tools/inscriber/InscribeFromBufferTool.ts +126 -21
- package/src/tools/inscriber/InscribeFromFileTool.ts +10 -13
- package/src/tools/inscriber/InscribeFromUrlTool.ts +15 -11
- package/src/tools/inscriber/InscribeHashinalTool.ts +40 -168
- package/src/tools/inscriber/RetrieveInscriptionTool.ts +15 -16
- package/src/types/inscription-response.ts +27 -0
- package/src/types/tx-results.ts +18 -0
- package/src/utils/CodedError.ts +8 -0
- package/src/utils/Encryption.ts +0 -2
- package/src/utils/ensure-agent-has-hbar.ts +4 -5
- package/src/utils/inscription-utils.ts +53 -0
|
@@ -1,46 +1,143 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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);
|
|
18
21
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
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));
|
|
26
33
|
});
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
return
|
|
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}`);
|
|
34
|
+
return Array.from(capabilities);
|
|
35
|
+
}
|
|
36
|
+
if (typeof input === "string") {
|
|
37
|
+
return this.parseCapabilities(input);
|
|
40
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";
|
|
41
67
|
}
|
|
42
|
-
}
|
|
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;
|
|
43
140
|
export {
|
|
44
|
-
|
|
141
|
+
NaturalLanguageMapper
|
|
45
142
|
};
|
|
46
143
|
//# sourceMappingURL=standards-agent-kit.es22.js.map
|
|
@@ -1 +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;"}
|
|
1
|
+
{"version":3,"file":"standards-agent-kit.es22.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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"}
|
|
@@ -1,48 +1,32 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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";
|
|
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;
|
|
14
7
|
}
|
|
15
|
-
|
|
16
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Override to return the HCS2Builder
|
|
10
|
+
*/
|
|
11
|
+
getServiceBuilder() {
|
|
12
|
+
return this.hcs2Builder;
|
|
17
13
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
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
|
-
}
|
|
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;
|
|
43
26
|
}
|
|
44
27
|
}
|
|
45
28
|
export {
|
|
46
|
-
|
|
29
|
+
BaseHCS2QueryTool,
|
|
30
|
+
BaseHCS2TransactionTool
|
|
47
31
|
};
|
|
48
32
|
//# sourceMappingURL=standards-agent-kit.es23.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-agent-kit.es23.js","sources":["../../src/tools/hcs2/
|
|
1
|
+
{"version":3,"file":"standards-agent-kit.es23.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;"}
|
|
@@ -1,51 +1,69 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { BaseHCS2QueryTool } from "./standards-agent-kit.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
import { BaseHCS2QueryTool } from "./standards-agent-kit.es23.js";
|
|
3
|
+
import { HCS2RegistryType } from "@hashgraphonline/standards-sdk";
|
|
4
|
+
import { isWalletBytesResponse } from "./standards-agent-kit.es56.js";
|
|
5
|
+
const createRegistrySchema = z.object({
|
|
6
|
+
registryType: z.nativeEnum(HCS2RegistryType).optional().describe("Registry type: 0 for indexed, 1 for non-indexed (default: 0)"),
|
|
7
|
+
ttl: z.number().int().positive().optional().describe("Time to live in seconds (default: 86400)"),
|
|
8
|
+
adminKey: z.union([z.string(), z.boolean()]).optional().describe("Admin key: public key string or true to use operator key"),
|
|
9
|
+
submitKey: z.union([z.string(), z.boolean()]).optional().describe("Submit key: public key string or true to use operator key")
|
|
9
10
|
});
|
|
10
|
-
class
|
|
11
|
+
class CreateRegistryTool extends BaseHCS2QueryTool {
|
|
11
12
|
constructor() {
|
|
12
13
|
super(...arguments);
|
|
13
|
-
this.name = "
|
|
14
|
-
this.description = "
|
|
14
|
+
this.name = "createHCS2Registry";
|
|
15
|
+
this.description = "Create an HCS-2 registry (standard HCS-2). Use when the user asks to create an HCS-2 registry, not a generic HCS topic. Builds a standards-compliant registry topic and returns the result or transaction bytes.";
|
|
15
16
|
}
|
|
16
17
|
get specificInputSchema() {
|
|
17
|
-
return
|
|
18
|
+
return createRegistrySchema;
|
|
18
19
|
}
|
|
19
20
|
async executeQuery(params, _runManager) {
|
|
21
|
+
const normalizeKey = (val) => {
|
|
22
|
+
if (typeof val === "string") {
|
|
23
|
+
const lc = val.trim().toLowerCase();
|
|
24
|
+
if (lc === "true") return true;
|
|
25
|
+
if (lc === "false") return false;
|
|
26
|
+
return val;
|
|
27
|
+
}
|
|
28
|
+
return val;
|
|
29
|
+
};
|
|
20
30
|
try {
|
|
21
|
-
const result = await this.hcs2Builder.
|
|
22
|
-
params.
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
memo: params.memo
|
|
28
|
-
}
|
|
29
|
-
);
|
|
31
|
+
const result = await this.hcs2Builder.createRegistry({
|
|
32
|
+
registryType: params.registryType,
|
|
33
|
+
ttl: params.ttl,
|
|
34
|
+
adminKey: normalizeKey(params.adminKey),
|
|
35
|
+
submitKey: normalizeKey(params.submitKey)
|
|
36
|
+
});
|
|
30
37
|
if (!result.success) {
|
|
31
|
-
throw new Error(result.error || "Failed to
|
|
38
|
+
throw new Error(result.error || "Failed to create registry");
|
|
39
|
+
}
|
|
40
|
+
if (isWalletBytesResponse(result)) {
|
|
41
|
+
const txBytes = result.transactionBytes;
|
|
42
|
+
return {
|
|
43
|
+
message: "I prepared an unsigned transaction to create your HCS-2 registry. Please review and approve to submit.",
|
|
44
|
+
transactionBytes: txBytes,
|
|
45
|
+
metadata: {
|
|
46
|
+
transactionBytes: txBytes,
|
|
47
|
+
pendingApproval: true,
|
|
48
|
+
description: `Create HCS-2 registry (${params.registryType === 1 ? "Non-Indexed" : "Indexed"}; TTL: ${params.ttl || 86400}s)`
|
|
49
|
+
}
|
|
50
|
+
};
|
|
32
51
|
}
|
|
33
|
-
|
|
52
|
+
const topicId = result?.topicId || "unknown";
|
|
53
|
+
return `Successfully created HCS-2 registry!
|
|
34
54
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
Metadata: ${params.metadata}` : ""}${params.memo ? `
|
|
39
|
-
Memo: ${params.memo}` : ""}
|
|
55
|
+
Topic ID: ${topicId}
|
|
56
|
+
Registry Type: ${params.registryType === 1 ? "Non-Indexed" : "Indexed"}
|
|
57
|
+
TTL: ${params.ttl || 86400} seconds
|
|
40
58
|
|
|
41
|
-
|
|
59
|
+
You can now register entries to this registry using the topic ID.`;
|
|
42
60
|
} catch (error) {
|
|
43
|
-
const errorMessage = error instanceof Error ? error.message : "Failed to
|
|
44
|
-
throw new Error(`
|
|
61
|
+
const errorMessage = error instanceof Error ? error.message : "Failed to create HCS-2 registry";
|
|
62
|
+
throw new Error(`Registry creation failed: ${errorMessage}`);
|
|
45
63
|
}
|
|
46
64
|
}
|
|
47
65
|
}
|
|
48
66
|
export {
|
|
49
|
-
|
|
67
|
+
CreateRegistryTool
|
|
50
68
|
};
|
|
51
69
|
//# sourceMappingURL=standards-agent-kit.es24.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-agent-kit.es24.js","sources":["../../src/tools/hcs2/
|
|
1
|
+
{"version":3,"file":"standards-agent-kit.es24.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';\nimport { isWalletBytesResponse, type TopicRegistrationResult } from '../../types/tx-results';\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 an HCS-2 registry (standard HCS-2). Use when the user asks to create an HCS-2 registry, not a generic HCS topic. Builds a standards-compliant registry topic and returns the result or transaction bytes.'\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 const normalizeKey = (val?: string | boolean): string | boolean | undefined => {\n if (typeof val === 'string') {\n const lc = val.trim().toLowerCase();\n if (lc === 'true') return true;\n if (lc === 'false') return false;\n return val; // assume public key string\n }\n return val;\n };\n\n try {\n const result: TopicRegistrationResult = await this.hcs2Builder.createRegistry({\n registryType: params.registryType,\n ttl: params.ttl,\n adminKey: normalizeKey(params.adminKey),\n submitKey: normalizeKey(params.submitKey),\n });\n\n if (!result.success) {\n throw new Error(result.error || 'Failed to create registry');\n }\n\n if (isWalletBytesResponse(result)) {\n const txBytes = result.transactionBytes;\n return {\n message: 'I prepared an unsigned transaction to create your HCS-2 registry. Please review and approve to submit.',\n transactionBytes: txBytes,\n metadata: {\n transactionBytes: txBytes,\n pendingApproval: true,\n description: `Create HCS-2 registry (${params.registryType === 1 ? 'Non-Indexed' : 'Indexed'}; TTL: ${params.ttl || 86400}s)`,\n },\n };\n }\n\n const topicId = (result as any)?.topicId || 'unknown';\n return `Successfully created HCS-2 registry!\\n\\nTopic ID: ${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":";;;;AASA,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,UAAM,eAAe,CAAC,QAAyD;AAC7E,UAAI,OAAO,QAAQ,UAAU;AAC3B,cAAM,KAAK,IAAI,KAAA,EAAO,YAAA;AACtB,YAAI,OAAO,OAAQ,QAAO;AAC1B,YAAI,OAAO,QAAS,QAAO;AAC3B,eAAO;AAAA,MACT;AACA,aAAO;AAAA,IACT;AAEA,QAAI;AACF,YAAM,SAAkC,MAAM,KAAK,YAAY,eAAe;AAAA,QAC5E,cAAc,OAAO;AAAA,QACrB,KAAK,OAAO;AAAA,QACZ,UAAU,aAAa,OAAO,QAAQ;AAAA,QACtC,WAAW,aAAa,OAAO,SAAS;AAAA,MAAA,CACzC;AAED,UAAI,CAAC,OAAO,SAAS;AACnB,cAAM,IAAI,MAAM,OAAO,SAAS,2BAA2B;AAAA,MAC7D;AAEA,UAAI,sBAAsB,MAAM,GAAG;AACjC,cAAM,UAAU,OAAO;AACvB,eAAO;AAAA,UACL,SAAS;AAAA,UACT,kBAAkB;AAAA,UAClB,UAAU;AAAA,YACR,kBAAkB;AAAA,YAClB,iBAAiB;AAAA,YACjB,aAAa,0BAA0B,OAAO,iBAAiB,IAAI,gBAAgB,SAAS,UAAU,OAAO,OAAO,KAAK;AAAA,UAAA;AAAA,QAC3H;AAAA,MAEJ;AAEA,YAAM,UAAW,QAAgB,WAAW;AAC5C,aAAO;AAAA;AAAA,YAAqD,OAAO;AAAA,iBAAoB,OAAO,iBAAiB,IAAI,gBAAgB,SAAS;AAAA,OAAU,OAAO,OAAO,KAAK;AAAA;AAAA;AAAA,IAC3K,SAAS,OAAO;AACd,YAAM,eAAe,iBAAiB,QAAQ,MAAM,UAAU;AAC9D,YAAM,IAAI,MAAM,6BAA6B,YAAY,EAAE;AAAA,IAC7D;AAAA,EACF;AACF;"}
|
|
@@ -1,45 +1,61 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { BaseHCS2QueryTool } from "./standards-agent-kit.
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
import { BaseHCS2QueryTool } from "./standards-agent-kit.es23.js";
|
|
3
|
+
import { isWalletBytesResponse } from "./standards-agent-kit.es56.js";
|
|
4
|
+
const registerEntrySchema = z.object({
|
|
5
|
+
registryTopicId: z.string().regex(/^\d+\.\d+\.\d+$/).describe("The HCS-2 registry topic ID (e.g., 0.0.123456)"),
|
|
6
|
+
targetTopicId: z.string().regex(/^\d+\.\d+\.\d+$/).describe("The target topic ID to register (e.g., 0.0.123456)"),
|
|
7
|
+
metadata: z.string().optional().describe("Optional metadata URI (HIP-412 format)"),
|
|
6
8
|
memo: z.string().max(500).optional().describe("Optional memo (max 500 characters)")
|
|
7
9
|
});
|
|
8
|
-
class
|
|
10
|
+
class RegisterEntryTool extends BaseHCS2QueryTool {
|
|
9
11
|
constructor() {
|
|
10
12
|
super(...arguments);
|
|
11
|
-
this.name = "
|
|
12
|
-
this.description = "
|
|
13
|
+
this.name = "registerHCS2Entry";
|
|
14
|
+
this.description = "Register an entry in an HCS-2 registry (standard HCS-2). Use this to add a target topic to an existing HCS-2 registry.";
|
|
13
15
|
}
|
|
14
16
|
get specificInputSchema() {
|
|
15
|
-
return
|
|
17
|
+
return registerEntrySchema;
|
|
16
18
|
}
|
|
17
19
|
async executeQuery(params, _runManager) {
|
|
18
20
|
try {
|
|
19
|
-
const result = await this.hcs2Builder.
|
|
21
|
+
const result = await this.hcs2Builder.registerEntry(
|
|
20
22
|
params.registryTopicId,
|
|
21
23
|
{
|
|
22
|
-
|
|
24
|
+
targetTopicId: params.targetTopicId,
|
|
25
|
+
metadata: params.metadata,
|
|
23
26
|
memo: params.memo
|
|
24
27
|
}
|
|
25
28
|
);
|
|
26
|
-
if (!result.success) {
|
|
27
|
-
throw new Error(result.error || "Failed to
|
|
29
|
+
if (!("success" in result) || !result.success) {
|
|
30
|
+
throw new Error(result.error || "Failed to register entry");
|
|
28
31
|
}
|
|
29
|
-
|
|
32
|
+
if (isWalletBytesResponse(result)) {
|
|
33
|
+
const txBytes = result.transactionBytes;
|
|
34
|
+
return {
|
|
35
|
+
message: "I prepared an unsigned transaction to register the entry in the HCS-2 registry. Please review and approve to submit.",
|
|
36
|
+
transactionBytes: txBytes,
|
|
37
|
+
metadata: {
|
|
38
|
+
transactionBytes: txBytes,
|
|
39
|
+
pendingApproval: true,
|
|
40
|
+
description: `Register HCS-2 entry (registry ${params.registryTopicId} -> target ${params.targetTopicId})`
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
return `Successfully registered entry in HCS-2 registry!
|
|
30
45
|
|
|
31
46
|
Registry Topic: ${params.registryTopicId}
|
|
32
|
-
|
|
47
|
+
Target Topic ID: ${params.targetTopicId}${params.metadata ? `
|
|
48
|
+
Metadata: ${params.metadata}` : ""}${params.memo ? `
|
|
33
49
|
Memo: ${params.memo}` : ""}
|
|
34
50
|
|
|
35
|
-
The entry has been
|
|
51
|
+
The entry has been added to the registry.`;
|
|
36
52
|
} catch (error) {
|
|
37
|
-
const errorMessage = error instanceof Error ? error.message : "Failed to
|
|
38
|
-
throw new Error(`Entry
|
|
53
|
+
const errorMessage = error instanceof Error ? error.message : "Failed to register entry";
|
|
54
|
+
throw new Error(`Entry registration failed: ${errorMessage}`);
|
|
39
55
|
}
|
|
40
56
|
}
|
|
41
57
|
}
|
|
42
58
|
export {
|
|
43
|
-
|
|
59
|
+
RegisterEntryTool
|
|
44
60
|
};
|
|
45
61
|
//# sourceMappingURL=standards-agent-kit.es25.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-agent-kit.es25.js","sources":["../../src/tools/hcs2/
|
|
1
|
+
{"version":3,"file":"standards-agent-kit.es25.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';\nimport { isWalletBytesResponse, type RegistryOperationResult } from '../../types/tx-results';\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 an entry in an HCS-2 registry (standard HCS-2). Use this to add a target topic to an existing 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: RegistryOperationResult = 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 (!('success' in result) || !result.success) {\n throw new Error(result.error || 'Failed to register entry');\n }\n\n if (isWalletBytesResponse(result)) {\n const txBytes = result.transactionBytes;\n return {\n message: 'I prepared an unsigned transaction to register the entry in the HCS-2 registry. Please review and approve to submit.',\n transactionBytes: txBytes,\n metadata: {\n transactionBytes: txBytes,\n pendingApproval: true,\n description: `Register HCS-2 entry (registry ${params.registryTopicId} -> target ${params.targetTopicId})`,\n },\n };\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":";;;AAQA,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,SAAkC,MAAM,KAAK,YAAY;AAAA,QAC7D,OAAO;AAAA,QACP;AAAA,UACE,eAAe,OAAO;AAAA,UACtB,UAAU,OAAO;AAAA,UACjB,MAAM,OAAO;AAAA,QAAA;AAAA,MACf;AAGF,UAAI,EAAE,aAAa,WAAW,CAAC,OAAO,SAAS;AAC7C,cAAM,IAAI,MAAM,OAAO,SAAS,0BAA0B;AAAA,MAC5D;AAEA,UAAI,sBAAsB,MAAM,GAAG;AACjC,cAAM,UAAU,OAAO;AACvB,eAAO;AAAA,UACL,SAAS;AAAA,UACT,kBAAkB;AAAA,UAClB,UAAU;AAAA,YACR,kBAAkB;AAAA,YAClB,iBAAiB;AAAA,YACjB,aAAa,kCAAkC,OAAO,eAAe,cAAc,OAAO,aAAa;AAAA,UAAA;AAAA,QACzG;AAAA,MAEJ;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;"}
|