@hashgraphonline/standards-agent-kit 0.2.137 → 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/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/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 +1 -1
- package/dist/cjs/types/tx-results.d.ts +15 -0
- package/dist/cjs/utils/CodedError.d.ts +4 -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/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 -1549
- 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 -234
- package/dist/es/standards-agent-kit.es34.js.map +1 -1
- package/dist/es/standards-agent-kit.es35.js +87 -213
- package/dist/es/standards-agent-kit.es35.js.map +1 -1
- package/dist/es/standards-agent-kit.es36.js +185 -129
- package/dist/es/standards-agent-kit.es36.js.map +1 -1
- package/dist/es/standards-agent-kit.es37.js +167 -563
- package/dist/es/standards-agent-kit.es37.js.map +1 -1
- package/dist/es/standards-agent-kit.es38.js +236 -30
- 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 +24 -20
- package/dist/es/standards-agent-kit.es47.js.map +1 -1
- package/dist/es/standards-agent-kit.es48.js +6 -52
- package/dist/es/standards-agent-kit.es48.js.map +1 -1
- package/dist/es/standards-agent-kit.es49.js +4 -3
- 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 +20 -39
- package/dist/es/standards-agent-kit.es50.js.map +1 -1
- package/dist/es/standards-agent-kit.es51.js +50 -15
- package/dist/es/standards-agent-kit.es51.js.map +1 -1
- package/dist/es/standards-agent-kit.es52.js +3 -74
- package/dist/es/standards-agent-kit.es52.js.map +1 -1
- 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 +332 -173
- 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 +1 -1
- package/dist/es/types/tx-results.d.ts +15 -0
- package/dist/es/utils/CodedError.d.ts +4 -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/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 +1 -1
- package/dist/umd/types/tx-results.d.ts +15 -0
- package/dist/umd/utils/CodedError.d.ts +4 -0
- package/dist/umd/validation/hip412-schemas.d.ts +2 -2
- package/package.json +3 -3
- package/src/builders/hcs10/hcs10-builder.ts +239 -10
- package/src/builders/hcs2/hcs2-builder.ts +302 -9
- package/src/builders/hcs6/hcs6-builder.ts +79 -4
- 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 +78 -2
- package/src/tools/inscriber/InscribeHashinalTool.ts +22 -131
- 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
|
@@ -1,32 +1,61 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { BaseHCS2QueryTool } from "./standards-agent-kit.es23.js";
|
|
3
|
+
import { isWalletBytesResponse } from "./standards-agent-kit.es56.js";
|
|
4
|
+
const migrateRegistrySchema = z.object({
|
|
5
|
+
registryTopicId: z.string().regex(/^\d+\.\d+\.\d+$/).describe("The current HCS-2 registry topic ID"),
|
|
6
|
+
targetTopicId: z.string().regex(/^\d+\.\d+\.\d+$/).describe("The new topic ID to migrate to"),
|
|
7
|
+
metadata: z.string().optional().describe("Optional metadata URI for migration details"),
|
|
8
|
+
memo: z.string().max(500).optional().describe("Optional memo (max 500 characters)")
|
|
9
|
+
});
|
|
10
|
+
class MigrateRegistryTool extends BaseHCS2QueryTool {
|
|
11
|
+
constructor() {
|
|
12
|
+
super(...arguments);
|
|
13
|
+
this.name = "migrateHCS2Registry";
|
|
14
|
+
this.description = "Migrate an HCS-2 registry to a new topic";
|
|
7
15
|
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
*/
|
|
11
|
-
getServiceBuilder() {
|
|
12
|
-
return this.hcs6Builder;
|
|
16
|
+
get specificInputSchema() {
|
|
17
|
+
return migrateRegistrySchema;
|
|
13
18
|
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
19
|
+
async executeQuery(params, _runManager) {
|
|
20
|
+
try {
|
|
21
|
+
const result = await this.hcs2Builder.migrateRegistry(
|
|
22
|
+
params.registryTopicId,
|
|
23
|
+
{
|
|
24
|
+
targetTopicId: params.targetTopicId,
|
|
25
|
+
metadata: params.metadata,
|
|
26
|
+
memo: params.memo
|
|
27
|
+
}
|
|
28
|
+
);
|
|
29
|
+
if (!("success" in result) || !result.success) {
|
|
30
|
+
throw new Error(result.error || "Failed to migrate registry");
|
|
31
|
+
}
|
|
32
|
+
if (isWalletBytesResponse(result)) {
|
|
33
|
+
const txBytes = result.transactionBytes;
|
|
34
|
+
return {
|
|
35
|
+
message: "I prepared an unsigned transaction to migrate the HCS-2 registry. Please review and approve to submit.",
|
|
36
|
+
transactionBytes: txBytes,
|
|
37
|
+
metadata: {
|
|
38
|
+
transactionBytes: txBytes,
|
|
39
|
+
pendingApproval: true,
|
|
40
|
+
description: `Migrate HCS-2 registry (from ${params.registryTopicId} to ${params.targetTopicId})`
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
return `Successfully migrated HCS-2 registry!
|
|
45
|
+
|
|
46
|
+
From Registry Topic: ${params.registryTopicId}
|
|
47
|
+
To Target Topic: ${params.targetTopicId}${params.metadata ? `
|
|
48
|
+
Metadata: ${params.metadata}` : ""}${params.memo ? `
|
|
49
|
+
Memo: ${params.memo}` : ""}
|
|
50
|
+
|
|
51
|
+
The registry has been migrated to the new topic.`;
|
|
52
|
+
} catch (error) {
|
|
53
|
+
const errorMessage = error instanceof Error ? error.message : "Failed to migrate registry";
|
|
54
|
+
throw new Error(`Registry migration failed: ${errorMessage}`);
|
|
55
|
+
}
|
|
26
56
|
}
|
|
27
57
|
}
|
|
28
58
|
export {
|
|
29
|
-
|
|
30
|
-
BaseHCS6TransactionTool
|
|
59
|
+
MigrateRegistryTool
|
|
31
60
|
};
|
|
32
61
|
//# sourceMappingURL=standards-agent-kit.es28.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-agent-kit.es28.js","sources":["../../src/tools/
|
|
1
|
+
{"version":3,"file":"standards-agent-kit.es28.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';\nimport { isWalletBytesResponse, type RegistryOperationResult } from '../../types/tx-results';\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: RegistryOperationResult = 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 (!('success' in result) || !result.success) {\n throw new Error(result.error || 'Failed to migrate registry');\n }\n\n if (isWalletBytesResponse(result)) {\n const txBytes = result.transactionBytes;\n return {\n message: 'I prepared an unsigned transaction to migrate the HCS-2 registry. Please review and approve to submit.',\n transactionBytes: txBytes,\n metadata: {\n transactionBytes: txBytes,\n pendingApproval: true,\n description: `Migrate HCS-2 registry (from ${params.registryTopicId} to ${params.targetTopicId})`,\n },\n };\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":";;;AAQA,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,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,4BAA4B;AAAA,MAC9D;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,gCAAgC,OAAO,eAAe,OAAO,OAAO,aAAa;AAAA,UAAA;AAAA,QAChG;AAAA,MAEJ;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;"}
|
|
@@ -1,35 +1,47 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import {
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
import { BaseHCS2QueryTool } from "./standards-agent-kit.es23.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")
|
|
6
8
|
});
|
|
7
|
-
class
|
|
8
|
-
constructor(
|
|
9
|
-
super(
|
|
10
|
-
this.name = "
|
|
11
|
-
this.description = "
|
|
9
|
+
class QueryRegistryTool extends BaseHCS2QueryTool {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.name = "queryHCS2Registry";
|
|
13
|
+
this.description = "Query entries from an HCS-2 registry (standard HCS-2). Retrieves indexed or latest entries and returns a structured summary.";
|
|
12
14
|
}
|
|
13
15
|
get specificInputSchema() {
|
|
14
|
-
return
|
|
16
|
+
return queryRegistrySchema;
|
|
15
17
|
}
|
|
16
18
|
async executeQuery(params, _runManager) {
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
const registry = await this.hcs2Builder.getRegistry(params.topicId, {
|
|
20
|
+
limit: params.limit,
|
|
21
|
+
order: params.order,
|
|
22
|
+
skip: params.skip
|
|
20
23
|
});
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
24
|
+
const typeVal = registry.registryType;
|
|
25
|
+
const isIndexed = typeVal === 0 || typeVal === "0" || String(typeVal).toLowerCase() === "indexed" || String(typeVal).toLowerCase() === "index" || String(typeVal).toLowerCase() === "index_topic" || String(typeVal).toLowerCase() === "indexed_registry";
|
|
26
|
+
return {
|
|
27
|
+
topicId: registry.topicId,
|
|
28
|
+
registryType: isIndexed ? "indexed" : "non-indexed",
|
|
29
|
+
ttl: registry.ttl,
|
|
30
|
+
totalEntries: registry.entries.length,
|
|
31
|
+
entries: registry.entries.map((entry) => ({
|
|
32
|
+
sequence: entry.sequence,
|
|
33
|
+
timestamp: entry.timestamp,
|
|
34
|
+
payer: entry.payer,
|
|
35
|
+
operation: entry.message.op,
|
|
36
|
+
targetTopicId: entry.message.t_id,
|
|
37
|
+
uid: entry.message.uid,
|
|
38
|
+
metadata: entry.message.metadata,
|
|
39
|
+
memo: entry.message.m
|
|
40
|
+
}))
|
|
41
|
+
};
|
|
30
42
|
}
|
|
31
43
|
}
|
|
32
44
|
export {
|
|
33
|
-
|
|
45
|
+
QueryRegistryTool
|
|
34
46
|
};
|
|
35
47
|
//# sourceMappingURL=standards-agent-kit.es29.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standards-agent-kit.es29.js","sources":["../../src/tools/
|
|
1
|
+
{"version":3,"file":"standards-agent-kit.es29.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 (standard HCS-2). Retrieves indexed or latest entries and returns a structured summary.'\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 const typeVal = (registry as unknown as { registryType: unknown }).registryType;\n const isIndexed =\n typeVal === 0 ||\n typeVal === '0' ||\n String(typeVal).toLowerCase() === 'indexed' ||\n String(typeVal).toLowerCase() === 'index' ||\n String(typeVal).toLowerCase() === 'index_topic' ||\n String(typeVal).toLowerCase() === 'indexed_registry';\n\n return {\n topicId: registry.topicId,\n registryType: isIndexed ? '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,UAAM,UAAW,SAAkD;AACnE,UAAM,YACJ,YAAY,KACZ,YAAY,OACZ,OAAO,OAAO,EAAE,kBAAkB,aAClC,OAAO,OAAO,EAAE,kBAAkB,WAClC,OAAO,OAAO,EAAE,kBAAkB,iBAClC,OAAO,OAAO,EAAE,YAAA,MAAkB;AAEpC,WAAO;AAAA,MACL,SAAS,SAAS;AAAA,MAClB,cAAc,YAAY,YAAY;AAAA,MACtC,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;"}
|