@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
|
@@ -15,7 +15,6 @@ import {
|
|
|
15
15
|
extendZodSchema,
|
|
16
16
|
renderConfigs,
|
|
17
17
|
} from '../../lib/zod-render/schema-extension';
|
|
18
|
-
import type { EnhancedRenderConfig } from '../../lib/zod-render/types';
|
|
19
18
|
import {
|
|
20
19
|
createInscriptionSuccess,
|
|
21
20
|
createInscriptionQuote,
|
|
@@ -25,15 +24,42 @@ import {
|
|
|
25
24
|
import { FormValidatable } from '../../interfaces/FormValidatable';
|
|
26
25
|
|
|
27
26
|
/**
|
|
28
|
-
*
|
|
27
|
+
* Network-specific Hashinal block configuration for HashLink blocks
|
|
29
28
|
*/
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
29
|
+
const HASHLINK_BLOCK_CONFIG = {
|
|
30
|
+
testnet: {
|
|
31
|
+
blockId: '0.0.6617393',
|
|
32
|
+
hashLink: 'hcs://12/0.0.6617393',
|
|
33
|
+
template: '0.0.6617393',
|
|
34
|
+
},
|
|
35
|
+
mainnet: {
|
|
36
|
+
blockId: '0.0.TBD',
|
|
37
|
+
hashLink: 'hcs://12/0.0.TBD',
|
|
38
|
+
template: '0.0.TBD',
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Gets the appropriate HashLink block configuration for the specified network.
|
|
44
|
+
* Provides graceful fallback to testnet for unknown networks or undeployed mainnet blocks.
|
|
45
|
+
*
|
|
46
|
+
* @param network The network type to get configuration for
|
|
47
|
+
* @returns Network-specific block configuration with blockId, hashLink, and template
|
|
48
|
+
*/
|
|
49
|
+
// @ts-ignore - keep untyped to satisfy mixed parser while using runtime narrowing
|
|
50
|
+
function getHashLinkBlockId(network) {
|
|
51
|
+
const config =
|
|
52
|
+
network === 'mainnet'
|
|
53
|
+
? HASHLINK_BLOCK_CONFIG.mainnet
|
|
54
|
+
: HASHLINK_BLOCK_CONFIG.testnet;
|
|
55
|
+
if (!config || config.blockId === '0.0.TBD') {
|
|
56
|
+
return HASHLINK_BLOCK_CONFIG.testnet;
|
|
57
|
+
}
|
|
58
|
+
return config;
|
|
35
59
|
}
|
|
36
60
|
|
|
61
|
+
// Note: Using inline return type annotations to avoid parser issues with interface declarations
|
|
62
|
+
|
|
37
63
|
/**
|
|
38
64
|
* Schema for inscribing Hashinal NFT
|
|
39
65
|
*/
|
|
@@ -179,6 +205,17 @@ export class InscribeHashinalTool
|
|
|
179
205
|
description =
|
|
180
206
|
'Tool for inscribing Hashinal NFTs. CRITICAL: When user provides content (url/contentRef/base64Data), call with ONLY the content parameters - DO NOT auto-generate name, description, creator, or attributes. A form will be automatically shown to collect metadata from the user. Only include metadata parameters if the user explicitly provided them in their message.';
|
|
181
207
|
|
|
208
|
+
// Declare entity resolution preferences to preserve user-specified literal fields
|
|
209
|
+
getEntityResolutionPreferences(): Record<string, string> {
|
|
210
|
+
return {
|
|
211
|
+
name: 'literal',
|
|
212
|
+
description: 'literal',
|
|
213
|
+
creator: 'literal',
|
|
214
|
+
attributes: 'literal',
|
|
215
|
+
properties: 'literal',
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
|
|
182
219
|
get specificInputSchema(): z.ZodObject<z.ZodRawShape> {
|
|
183
220
|
const baseSchema =
|
|
184
221
|
(inscribeHashinalSchema as z.ZodType & { _def?: { schema?: z.ZodType } })
|
|
@@ -318,12 +355,7 @@ export class InscribeHashinalTool
|
|
|
318
355
|
})
|
|
319
356
|
)
|
|
320
357
|
)
|
|
321
|
-
.withRender(
|
|
322
|
-
renderConfigs.array(
|
|
323
|
-
'NFT Attributes',
|
|
324
|
-
'Attribute'
|
|
325
|
-
) as EnhancedRenderConfig
|
|
326
|
-
)
|
|
358
|
+
.withRender(renderConfigs.array('NFT Attributes', 'Attribute'))
|
|
327
359
|
.optional()
|
|
328
360
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
329
361
|
.describe('Collectible traits and characteristics.'),
|
|
@@ -439,7 +471,7 @@ export class InscribeHashinalTool
|
|
|
439
471
|
waitForConfirmation: params.quoteOnly
|
|
440
472
|
? false
|
|
441
473
|
: params.waitForConfirmation ?? true,
|
|
442
|
-
waitMaxAttempts:
|
|
474
|
+
waitMaxAttempts: 60,
|
|
443
475
|
waitIntervalMs: 5000,
|
|
444
476
|
network: this.inscriberBuilder['hederaKit'].client.network
|
|
445
477
|
.toString()
|
|
@@ -571,6 +603,14 @@ export class InscribeHashinalTool
|
|
|
571
603
|
},
|
|
572
604
|
});
|
|
573
605
|
|
|
606
|
+
this.onEntityCreated?.({
|
|
607
|
+
entityId: jsonTopicId || imageTopicId || 'unknown',
|
|
608
|
+
entityName: params.name || 'Unnamed Inscription',
|
|
609
|
+
entityType: 'topic',
|
|
610
|
+
transactionId: (result.result as { transactionId?: string })
|
|
611
|
+
?.transactionId,
|
|
612
|
+
});
|
|
613
|
+
|
|
574
614
|
if (params.withHashLinkBlocks) {
|
|
575
615
|
try {
|
|
576
616
|
const blockData = await this.createHashLinkBlock(
|
|
@@ -628,6 +668,14 @@ export class InscribeHashinalTool
|
|
|
628
668
|
},
|
|
629
669
|
});
|
|
630
670
|
|
|
671
|
+
this.onEntityCreated?.({
|
|
672
|
+
entityId: jsonTopicId || imageTopicId || 'unknown',
|
|
673
|
+
entityName: params.name || 'Unnamed Inscription',
|
|
674
|
+
entityType: 'topic',
|
|
675
|
+
transactionId: (result.result as { transactionId?: string })
|
|
676
|
+
?.transactionId,
|
|
677
|
+
});
|
|
678
|
+
|
|
631
679
|
if (params.withHashLinkBlocks) {
|
|
632
680
|
try {
|
|
633
681
|
const blockData = await this.createHashLinkBlock(
|
|
@@ -692,20 +740,81 @@ export class InscribeHashinalTool
|
|
|
692
740
|
}
|
|
693
741
|
|
|
694
742
|
/**
|
|
695
|
-
* Creates HashLink block
|
|
743
|
+
* Creates HashLink block configuration for Hashinal inscriptions.
|
|
744
|
+
* Automatically detects network and selects appropriate block ID configuration.
|
|
745
|
+
* Uses testnet block as fallback for unknown networks or undeployed mainnet blocks.
|
|
746
|
+
*
|
|
747
|
+
* @param response The inscription response containing metadata and network information
|
|
748
|
+
* @param _mimeType Optional MIME type (currently unused, preserved for compatibility)
|
|
749
|
+
* @returns HCS12BlockResult with network-specific block configuration
|
|
750
|
+
*
|
|
751
|
+
* @example
|
|
752
|
+
* ```typescript
|
|
753
|
+
* // Testnet usage (automatic detection from client)
|
|
754
|
+
* const testnetClient = Client.forTestnet();
|
|
755
|
+
* const tool = new InscribeHashinalTool(testnetClient);
|
|
756
|
+
* const block = await tool.createHashLinkBlock(inscriptionResponse);
|
|
757
|
+
* console.log(block.blockId); // '0.0.6617393'
|
|
758
|
+
* console.log(block.hashLink); // 'hcs://12/0.0.6617393'
|
|
759
|
+
*
|
|
760
|
+
* // Mainnet usage (automatic detection from client)
|
|
761
|
+
* const mainnetClient = Client.forMainnet();
|
|
762
|
+
* const tool = new InscribeHashinalTool(mainnetClient);
|
|
763
|
+
* const block = await tool.createHashLinkBlock(inscriptionResponse);
|
|
764
|
+
* console.log(block.blockId); // Network-specific mainnet block ID
|
|
765
|
+
*
|
|
766
|
+
* // HashLink Block Response Structure:
|
|
767
|
+
* {
|
|
768
|
+
* blockId: string; // Hedera account ID format (e.g., '0.0.6617393')
|
|
769
|
+
* hashLink: string; // HCS-12 URL format: 'hcs://12/{blockId}'
|
|
770
|
+
* template: string; // Block template reference matching blockId
|
|
771
|
+
* attributes: { // Metadata for client-side processing
|
|
772
|
+
* name: string; // Content display name
|
|
773
|
+
* creator: string; // Creator account ID
|
|
774
|
+
* topicId: string; // HCS topic containing the inscription
|
|
775
|
+
* hrl: string; // Hedera Resource Locator
|
|
776
|
+
* network: string; // Network type: 'testnet' | 'mainnet'
|
|
777
|
+
* }
|
|
778
|
+
* }
|
|
779
|
+
*
|
|
780
|
+
* // Render function usage in HashLink blocks:
|
|
781
|
+
* // The block's JavaScript render function receives this structure
|
|
782
|
+
* // and can access network-specific resources through attributes.network
|
|
783
|
+
* ```
|
|
696
784
|
*/
|
|
697
785
|
private async createHashLinkBlock(
|
|
698
786
|
response: ReturnType<typeof createInscriptionSuccess>,
|
|
699
787
|
_mimeType?: string
|
|
700
|
-
): Promise<
|
|
701
|
-
|
|
788
|
+
): Promise<{
|
|
789
|
+
blockId: string;
|
|
790
|
+
hashLink: string;
|
|
791
|
+
template: string;
|
|
792
|
+
attributes: Record<string, unknown>;
|
|
793
|
+
}> {
|
|
794
|
+
const clientNetwork = this.inscriberBuilder['hederaKit'].client.network
|
|
795
|
+
.toString()
|
|
796
|
+
.includes('mainnet')
|
|
702
797
|
? 'mainnet'
|
|
703
798
|
: 'testnet';
|
|
704
799
|
|
|
800
|
+
const cdnNetwork = response.inscription.cdnUrl?.includes('mainnet')
|
|
801
|
+
? 'mainnet'
|
|
802
|
+
: 'testnet';
|
|
803
|
+
|
|
804
|
+
if (clientNetwork !== cdnNetwork) {
|
|
805
|
+
const logger = new Logger({ module: 'InscribeHashinalTool' });
|
|
806
|
+
logger.warn(
|
|
807
|
+
`Network mismatch detected: client=${clientNetwork}, cdn=${cdnNetwork}. Using client network.`
|
|
808
|
+
);
|
|
809
|
+
}
|
|
810
|
+
|
|
811
|
+
const network = clientNetwork;
|
|
812
|
+
const config = getHashLinkBlockId(network);
|
|
813
|
+
|
|
705
814
|
return {
|
|
706
|
-
blockId:
|
|
707
|
-
hashLink:
|
|
708
|
-
template:
|
|
815
|
+
blockId: config.blockId,
|
|
816
|
+
hashLink: config.hashLink,
|
|
817
|
+
template: config.template,
|
|
709
818
|
attributes: {
|
|
710
819
|
name: response.metadata.name || 'Untitled Content',
|
|
711
820
|
creator: response.metadata.creator || '',
|
|
@@ -16,6 +16,16 @@ import {
|
|
|
16
16
|
} from '@hashgraphonline/standards-sdk';
|
|
17
17
|
import { z } from 'zod';
|
|
18
18
|
|
|
19
|
+
/**
|
|
20
|
+
* Event emitted when an entity is created during inscription
|
|
21
|
+
*/
|
|
22
|
+
export interface EntityCreationEvent {
|
|
23
|
+
entityId: string;
|
|
24
|
+
entityName: string;
|
|
25
|
+
entityType: string;
|
|
26
|
+
transactionId?: string;
|
|
27
|
+
}
|
|
28
|
+
|
|
19
29
|
/**
|
|
20
30
|
* Base class for Inscriber transaction tools
|
|
21
31
|
*/
|
|
@@ -28,6 +38,7 @@ export abstract class BaseInscriberTransactionTool<
|
|
|
28
38
|
> extends BaseHederaTransactionTool<T> {
|
|
29
39
|
protected inscriberBuilder: InscriberBuilder;
|
|
30
40
|
protected contentResolver: ContentResolverInterface | null;
|
|
41
|
+
protected onEntityCreated?: (event: EntityCreationEvent) => void;
|
|
31
42
|
namespace = 'inscriber' as const;
|
|
32
43
|
|
|
33
44
|
constructor(params: InscriberTransactionToolParams) {
|
|
@@ -50,6 +61,13 @@ export abstract class BaseInscriberTransactionTool<
|
|
|
50
61
|
return this.contentResolver;
|
|
51
62
|
}
|
|
52
63
|
|
|
64
|
+
/**
|
|
65
|
+
* Set entity creation handler for automatic entity storage
|
|
66
|
+
*/
|
|
67
|
+
setEntityCreationHandler(handler: (event: EntityCreationEvent) => void): void {
|
|
68
|
+
this.onEntityCreated = handler;
|
|
69
|
+
}
|
|
70
|
+
|
|
53
71
|
/**
|
|
54
72
|
* Generate a quote for an inscription without executing it
|
|
55
73
|
* @param input - The inscription input data
|
|
@@ -93,6 +111,7 @@ export abstract class BaseInscriberQueryTool<
|
|
|
93
111
|
> extends BaseHederaQueryTool<T> {
|
|
94
112
|
protected inscriberBuilder: InscriberBuilder;
|
|
95
113
|
protected contentResolver: ContentResolverInterface | null;
|
|
114
|
+
protected onEntityCreated?: (event: EntityCreationEvent) => void;
|
|
96
115
|
namespace = 'inscriber' as const;
|
|
97
116
|
|
|
98
117
|
constructor(params: InscriberQueryToolParams) {
|
|
@@ -115,6 +134,13 @@ export abstract class BaseInscriberQueryTool<
|
|
|
115
134
|
return this.contentResolver;
|
|
116
135
|
}
|
|
117
136
|
|
|
137
|
+
/**
|
|
138
|
+
* Set entity creation handler for automatic entity storage
|
|
139
|
+
*/
|
|
140
|
+
setEntityCreationHandler(handler: (event: EntityCreationEvent) => void): void {
|
|
141
|
+
this.onEntityCreated = handler;
|
|
142
|
+
}
|
|
143
|
+
|
|
118
144
|
/**
|
|
119
145
|
* Generate a quote for an inscription without executing it
|
|
120
146
|
* @param input - The inscription input data
|
|
@@ -131,9 +131,9 @@ export function createInscriptionSuccess(params: {
|
|
|
131
131
|
},
|
|
132
132
|
metadata,
|
|
133
133
|
nextSteps: {
|
|
134
|
-
primary: '
|
|
134
|
+
primary: 'CRITICAL: When minting NFTs, use ONLY the mintingMetadata value as a single string in the metadata array. Do NOT create JSON objects.',
|
|
135
135
|
context:
|
|
136
|
-
'The
|
|
136
|
+
'The metadata parameter for minting should be exactly: ["' + hrl + '"] - just the HRL string in an array, nothing else.',
|
|
137
137
|
mintingMetadata: hrl,
|
|
138
138
|
},
|
|
139
139
|
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { BaseHederaTransactionTool, BaseServiceBuilder } from 'hedera-agent-kit';
|
|
3
|
-
/**
|
|
4
|
-
* Enhanced NFT creation schema with render configurations
|
|
5
|
-
*/
|
|
6
|
-
export declare const HederaCreateNftSchema: import('../..').ZodSchemaWithRender<{
|
|
7
|
-
tokenName: string;
|
|
8
|
-
memo?: string | undefined;
|
|
9
|
-
adminKey?: string | undefined;
|
|
10
|
-
tokenSymbol?: string | undefined;
|
|
11
|
-
treasuryAccountId?: string | undefined;
|
|
12
|
-
kycKey?: string | undefined;
|
|
13
|
-
freezeKey?: string | undefined;
|
|
14
|
-
wipeKey?: string | undefined;
|
|
15
|
-
supplyKey?: string | undefined;
|
|
16
|
-
feeScheduleKey?: string | undefined;
|
|
17
|
-
pauseKey?: string | undefined;
|
|
18
|
-
autoRenewAccountId?: string | undefined;
|
|
19
|
-
autoRenewPeriod?: number | undefined;
|
|
20
|
-
freezeDefault?: boolean | undefined;
|
|
21
|
-
supplyType?: "FINITE" | "INFINITE" | undefined;
|
|
22
|
-
maxSupply?: string | number | undefined;
|
|
23
|
-
customFees?: ({
|
|
24
|
-
type: "FIXED" | "FIXED_FEE";
|
|
25
|
-
amount: string | number;
|
|
26
|
-
feeCollectorAccountId?: string | undefined;
|
|
27
|
-
denominatingTokenId?: string | undefined;
|
|
28
|
-
} | {
|
|
29
|
-
type: "FRACTIONAL" | "FRACTIONAL_FEE";
|
|
30
|
-
numerator: number;
|
|
31
|
-
denominator: number;
|
|
32
|
-
feeCollectorAccountId?: string | undefined;
|
|
33
|
-
minAmount?: string | number | undefined;
|
|
34
|
-
maxAmount?: string | number | undefined;
|
|
35
|
-
assessmentMethodInclusive?: boolean | undefined;
|
|
36
|
-
} | {
|
|
37
|
-
type: "ROYALTY" | "ROYALTY_FEE";
|
|
38
|
-
numerator: number;
|
|
39
|
-
denominator: number;
|
|
40
|
-
feeCollectorAccountId?: string | undefined;
|
|
41
|
-
fallbackFee?: {
|
|
42
|
-
amount: string | number;
|
|
43
|
-
feeCollectorAccountId?: string | undefined;
|
|
44
|
-
denominatingTokenId?: string | undefined;
|
|
45
|
-
} | undefined;
|
|
46
|
-
})[] | undefined;
|
|
47
|
-
}>;
|
|
48
|
-
/**
|
|
49
|
-
* Hedera Create NFT Tool with enhanced render configurations for form generation
|
|
50
|
-
*/
|
|
51
|
-
export declare class HederaCreateNftTool extends BaseHederaTransactionTool<any> {
|
|
52
|
-
name: string;
|
|
53
|
-
description: string;
|
|
54
|
-
specificInputSchema: any;
|
|
55
|
-
namespace: string;
|
|
56
|
-
/**
|
|
57
|
-
* Returns the service builder for HTS operations
|
|
58
|
-
*/
|
|
59
|
-
protected getServiceBuilder(): BaseServiceBuilder;
|
|
60
|
-
/**
|
|
61
|
-
* Calls the builder method to create the NFT collection
|
|
62
|
-
*/
|
|
63
|
-
protected callBuilderMethod(builder: BaseServiceBuilder, specificArgs: z.infer<typeof HederaCreateNftSchema>): Promise<void>;
|
|
64
|
-
/**
|
|
65
|
-
* Provides helpful notes for specific field values
|
|
66
|
-
*/
|
|
67
|
-
protected getNoteForKey(key: string, schemaDefaultValue: unknown, actualValue: unknown): string | undefined;
|
|
68
|
-
/**
|
|
69
|
-
* Validates the configuration before execution
|
|
70
|
-
*/
|
|
71
|
-
protected validateInput(args: z.infer<typeof HederaCreateNftSchema>): Promise<void>;
|
|
72
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { HederaCreateNftTool, HederaCreateNftSchema } from './HederaCreateNftTool';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { BaseHederaTransactionTool, BaseServiceBuilder } from 'hedera-agent-kit';
|
|
3
|
-
/**
|
|
4
|
-
* Enhanced NFT creation schema with render configurations
|
|
5
|
-
*/
|
|
6
|
-
export declare const HederaCreateNftSchema: import('../..').ZodSchemaWithRender<{
|
|
7
|
-
tokenName: string;
|
|
8
|
-
memo?: string | undefined;
|
|
9
|
-
adminKey?: string | undefined;
|
|
10
|
-
tokenSymbol?: string | undefined;
|
|
11
|
-
treasuryAccountId?: string | undefined;
|
|
12
|
-
kycKey?: string | undefined;
|
|
13
|
-
freezeKey?: string | undefined;
|
|
14
|
-
wipeKey?: string | undefined;
|
|
15
|
-
supplyKey?: string | undefined;
|
|
16
|
-
feeScheduleKey?: string | undefined;
|
|
17
|
-
pauseKey?: string | undefined;
|
|
18
|
-
autoRenewAccountId?: string | undefined;
|
|
19
|
-
autoRenewPeriod?: number | undefined;
|
|
20
|
-
freezeDefault?: boolean | undefined;
|
|
21
|
-
supplyType?: "FINITE" | "INFINITE" | undefined;
|
|
22
|
-
maxSupply?: string | number | undefined;
|
|
23
|
-
customFees?: ({
|
|
24
|
-
type: "FIXED" | "FIXED_FEE";
|
|
25
|
-
amount: string | number;
|
|
26
|
-
feeCollectorAccountId?: string | undefined;
|
|
27
|
-
denominatingTokenId?: string | undefined;
|
|
28
|
-
} | {
|
|
29
|
-
type: "FRACTIONAL" | "FRACTIONAL_FEE";
|
|
30
|
-
numerator: number;
|
|
31
|
-
denominator: number;
|
|
32
|
-
feeCollectorAccountId?: string | undefined;
|
|
33
|
-
minAmount?: string | number | undefined;
|
|
34
|
-
maxAmount?: string | number | undefined;
|
|
35
|
-
assessmentMethodInclusive?: boolean | undefined;
|
|
36
|
-
} | {
|
|
37
|
-
type: "ROYALTY" | "ROYALTY_FEE";
|
|
38
|
-
numerator: number;
|
|
39
|
-
denominator: number;
|
|
40
|
-
feeCollectorAccountId?: string | undefined;
|
|
41
|
-
fallbackFee?: {
|
|
42
|
-
amount: string | number;
|
|
43
|
-
feeCollectorAccountId?: string | undefined;
|
|
44
|
-
denominatingTokenId?: string | undefined;
|
|
45
|
-
} | undefined;
|
|
46
|
-
})[] | undefined;
|
|
47
|
-
}>;
|
|
48
|
-
/**
|
|
49
|
-
* Hedera Create NFT Tool with enhanced render configurations for form generation
|
|
50
|
-
*/
|
|
51
|
-
export declare class HederaCreateNftTool extends BaseHederaTransactionTool<any> {
|
|
52
|
-
name: string;
|
|
53
|
-
description: string;
|
|
54
|
-
specificInputSchema: any;
|
|
55
|
-
namespace: string;
|
|
56
|
-
/**
|
|
57
|
-
* Returns the service builder for HTS operations
|
|
58
|
-
*/
|
|
59
|
-
protected getServiceBuilder(): BaseServiceBuilder;
|
|
60
|
-
/**
|
|
61
|
-
* Calls the builder method to create the NFT collection
|
|
62
|
-
*/
|
|
63
|
-
protected callBuilderMethod(builder: BaseServiceBuilder, specificArgs: z.infer<typeof HederaCreateNftSchema>): Promise<void>;
|
|
64
|
-
/**
|
|
65
|
-
* Provides helpful notes for specific field values
|
|
66
|
-
*/
|
|
67
|
-
protected getNoteForKey(key: string, schemaDefaultValue: unknown, actualValue: unknown): string | undefined;
|
|
68
|
-
/**
|
|
69
|
-
* Validates the configuration before execution
|
|
70
|
-
*/
|
|
71
|
-
protected validateInput(args: z.infer<typeof HederaCreateNftSchema>): Promise<void>;
|
|
72
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { HederaCreateNftTool, HederaCreateNftSchema } from './HederaCreateNftTool';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { BaseHederaTransactionTool, BaseServiceBuilder } from 'hedera-agent-kit';
|
|
3
|
-
/**
|
|
4
|
-
* Enhanced NFT creation schema with render configurations
|
|
5
|
-
*/
|
|
6
|
-
export declare const HederaCreateNftSchema: import('../..').ZodSchemaWithRender<{
|
|
7
|
-
tokenName: string;
|
|
8
|
-
memo?: string | undefined;
|
|
9
|
-
adminKey?: string | undefined;
|
|
10
|
-
tokenSymbol?: string | undefined;
|
|
11
|
-
treasuryAccountId?: string | undefined;
|
|
12
|
-
kycKey?: string | undefined;
|
|
13
|
-
freezeKey?: string | undefined;
|
|
14
|
-
wipeKey?: string | undefined;
|
|
15
|
-
supplyKey?: string | undefined;
|
|
16
|
-
feeScheduleKey?: string | undefined;
|
|
17
|
-
pauseKey?: string | undefined;
|
|
18
|
-
autoRenewAccountId?: string | undefined;
|
|
19
|
-
autoRenewPeriod?: number | undefined;
|
|
20
|
-
freezeDefault?: boolean | undefined;
|
|
21
|
-
supplyType?: "FINITE" | "INFINITE" | undefined;
|
|
22
|
-
maxSupply?: string | number | undefined;
|
|
23
|
-
customFees?: ({
|
|
24
|
-
type: "FIXED" | "FIXED_FEE";
|
|
25
|
-
amount: string | number;
|
|
26
|
-
feeCollectorAccountId?: string | undefined;
|
|
27
|
-
denominatingTokenId?: string | undefined;
|
|
28
|
-
} | {
|
|
29
|
-
type: "FRACTIONAL" | "FRACTIONAL_FEE";
|
|
30
|
-
numerator: number;
|
|
31
|
-
denominator: number;
|
|
32
|
-
feeCollectorAccountId?: string | undefined;
|
|
33
|
-
minAmount?: string | number | undefined;
|
|
34
|
-
maxAmount?: string | number | undefined;
|
|
35
|
-
assessmentMethodInclusive?: boolean | undefined;
|
|
36
|
-
} | {
|
|
37
|
-
type: "ROYALTY" | "ROYALTY_FEE";
|
|
38
|
-
numerator: number;
|
|
39
|
-
denominator: number;
|
|
40
|
-
feeCollectorAccountId?: string | undefined;
|
|
41
|
-
fallbackFee?: {
|
|
42
|
-
amount: string | number;
|
|
43
|
-
feeCollectorAccountId?: string | undefined;
|
|
44
|
-
denominatingTokenId?: string | undefined;
|
|
45
|
-
} | undefined;
|
|
46
|
-
})[] | undefined;
|
|
47
|
-
}>;
|
|
48
|
-
/**
|
|
49
|
-
* Hedera Create NFT Tool with enhanced render configurations for form generation
|
|
50
|
-
*/
|
|
51
|
-
export declare class HederaCreateNftTool extends BaseHederaTransactionTool<any> {
|
|
52
|
-
name: string;
|
|
53
|
-
description: string;
|
|
54
|
-
specificInputSchema: any;
|
|
55
|
-
namespace: string;
|
|
56
|
-
/**
|
|
57
|
-
* Returns the service builder for HTS operations
|
|
58
|
-
*/
|
|
59
|
-
protected getServiceBuilder(): BaseServiceBuilder;
|
|
60
|
-
/**
|
|
61
|
-
* Calls the builder method to create the NFT collection
|
|
62
|
-
*/
|
|
63
|
-
protected callBuilderMethod(builder: BaseServiceBuilder, specificArgs: z.infer<typeof HederaCreateNftSchema>): Promise<void>;
|
|
64
|
-
/**
|
|
65
|
-
* Provides helpful notes for specific field values
|
|
66
|
-
*/
|
|
67
|
-
protected getNoteForKey(key: string, schemaDefaultValue: unknown, actualValue: unknown): string | undefined;
|
|
68
|
-
/**
|
|
69
|
-
* Validates the configuration before execution
|
|
70
|
-
*/
|
|
71
|
-
protected validateInput(args: z.infer<typeof HederaCreateNftSchema>): Promise<void>;
|
|
72
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { HederaCreateNftTool, HederaCreateNftSchema } from './HederaCreateNftTool';
|