@hashgraphonline/standards-agent-kit 0.2.132 → 0.2.135
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/builders/hcs10/hcs10-builder.d.ts +0 -2
- package/dist/cjs/builders/inscriber/inscriber-builder.d.ts +2 -39
- package/dist/cjs/lib/zod-render/config-extractor.d.ts +0 -21
- package/dist/cjs/lib/zod-render/index.d.ts +3 -3
- package/dist/cjs/lib/zod-render/schema-extension.d.ts +1 -9
- package/dist/cjs/standards-agent-kit.cjs +1 -1
- package/dist/cjs/standards-agent-kit.cjs.map +1 -1
- package/dist/cjs/tools/index.d.ts +0 -1
- package/dist/cjs/tools/inscriber/InscribeHashinalTool.d.ts +42 -1
- package/dist/cjs/tools/inscriber/base-inscriber-tools.d.ts +19 -0
- package/dist/es/builders/hcs10/hcs10-builder.d.ts +0 -2
- package/dist/es/builders/inscriber/inscriber-builder.d.ts +2 -39
- package/dist/es/lib/zod-render/config-extractor.d.ts +0 -21
- package/dist/es/lib/zod-render/index.d.ts +3 -3
- package/dist/es/lib/zod-render/schema-extension.d.ts +1 -9
- package/dist/es/standards-agent-kit.es.js +47 -6228
- package/dist/es/standards-agent-kit.es.js.map +1 -1
- package/dist/es/standards-agent-kit.es10.js +91 -0
- package/dist/es/standards-agent-kit.es10.js.map +1 -0
- package/dist/es/standards-agent-kit.es11.js +40 -0
- package/dist/es/standards-agent-kit.es11.js.map +1 -0
- package/dist/es/standards-agent-kit.es12.js +40 -0
- package/dist/es/standards-agent-kit.es12.js.map +1 -0
- package/dist/es/standards-agent-kit.es13.js +50 -0
- package/dist/es/standards-agent-kit.es13.js.map +1 -0
- package/dist/es/standards-agent-kit.es14.js +62 -0
- package/dist/es/standards-agent-kit.es14.js.map +1 -0
- package/dist/es/standards-agent-kit.es15.js +72 -0
- package/dist/es/standards-agent-kit.es15.js.map +1 -0
- package/dist/es/standards-agent-kit.es16.js +35 -0
- package/dist/es/standards-agent-kit.es16.js.map +1 -0
- package/dist/es/standards-agent-kit.es17.js +35 -0
- package/dist/es/standards-agent-kit.es17.js.map +1 -0
- package/dist/es/standards-agent-kit.es18.js +45 -0
- package/dist/es/standards-agent-kit.es18.js.map +1 -0
- package/dist/es/standards-agent-kit.es19.js +21 -0
- package/dist/es/standards-agent-kit.es19.js.map +1 -0
- package/dist/es/standards-agent-kit.es2.js +25 -0
- package/dist/es/standards-agent-kit.es2.js.map +1 -0
- package/dist/es/standards-agent-kit.es20.js +143 -0
- package/dist/es/standards-agent-kit.es20.js.map +1 -0
- package/dist/es/standards-agent-kit.es21.js +32 -0
- package/dist/es/standards-agent-kit.es21.js.map +1 -0
- package/dist/es/standards-agent-kit.es22.js +46 -0
- package/dist/es/standards-agent-kit.es22.js.map +1 -0
- package/dist/es/standards-agent-kit.es23.js +48 -0
- package/dist/es/standards-agent-kit.es23.js.map +1 -0
- package/dist/es/standards-agent-kit.es24.js +51 -0
- package/dist/es/standards-agent-kit.es24.js.map +1 -0
- package/dist/es/standards-agent-kit.es25.js +45 -0
- package/dist/es/standards-agent-kit.es25.js.map +1 -0
- package/dist/es/standards-agent-kit.es26.js +48 -0
- package/dist/es/standards-agent-kit.es26.js.map +1 -0
- package/dist/es/standards-agent-kit.es27.js +45 -0
- package/dist/es/standards-agent-kit.es27.js.map +1 -0
- package/dist/es/standards-agent-kit.es28.js +32 -0
- package/dist/es/standards-agent-kit.es28.js.map +1 -0
- package/dist/es/standards-agent-kit.es29.js +35 -0
- package/dist/es/standards-agent-kit.es29.js.map +1 -0
- package/dist/es/standards-agent-kit.es3.js +1568 -0
- package/dist/es/standards-agent-kit.es3.js.map +1 -0
- package/dist/es/standards-agent-kit.es30.js +48 -0
- package/dist/es/standards-agent-kit.es30.js.map +1 -0
- package/dist/es/standards-agent-kit.es31.js +46 -0
- package/dist/es/standards-agent-kit.es31.js.map +1 -0
- package/dist/es/standards-agent-kit.es32.js +48 -0
- package/dist/es/standards-agent-kit.es32.js.map +1 -0
- package/dist/es/standards-agent-kit.es33.js +98 -0
- package/dist/es/standards-agent-kit.es33.js.map +1 -0
- package/dist/es/standards-agent-kit.es34.js +241 -0
- package/dist/es/standards-agent-kit.es34.js.map +1 -0
- package/dist/es/standards-agent-kit.es35.js +223 -0
- package/dist/es/standards-agent-kit.es35.js.map +1 -0
- package/dist/es/standards-agent-kit.es36.js +187 -0
- package/dist/es/standards-agent-kit.es36.js.map +1 -0
- package/dist/es/standards-agent-kit.es37.js +636 -0
- package/dist/es/standards-agent-kit.es37.js.map +1 -0
- package/dist/es/standards-agent-kit.es38.js +46 -0
- package/dist/es/standards-agent-kit.es38.js.map +1 -0
- package/dist/es/standards-agent-kit.es39.js +249 -0
- package/dist/es/standards-agent-kit.es39.js.map +1 -0
- package/dist/es/standards-agent-kit.es4.js +95 -0
- package/dist/es/standards-agent-kit.es4.js.map +1 -0
- package/dist/es/standards-agent-kit.es40.js +141 -0
- package/dist/es/standards-agent-kit.es40.js.map +1 -0
- package/dist/es/standards-agent-kit.es41.js +33 -0
- package/dist/es/standards-agent-kit.es41.js.map +1 -0
- package/dist/es/standards-agent-kit.es42.js +427 -0
- package/dist/es/standards-agent-kit.es42.js.map +1 -0
- package/dist/es/standards-agent-kit.es43.js +189 -0
- package/dist/es/standards-agent-kit.es43.js.map +1 -0
- package/dist/es/standards-agent-kit.es44.js +7 -0
- package/dist/es/standards-agent-kit.es44.js.map +1 -0
- package/dist/es/standards-agent-kit.es45.js +28 -0
- package/dist/es/standards-agent-kit.es45.js.map +1 -0
- package/dist/es/standards-agent-kit.es46.js +7 -0
- package/dist/es/standards-agent-kit.es46.js.map +1 -0
- package/dist/es/standards-agent-kit.es47.js +57 -0
- package/dist/es/standards-agent-kit.es47.js.map +1 -0
- package/dist/es/standards-agent-kit.es48.js +6 -0
- package/dist/es/standards-agent-kit.es48.js.map +1 -0
- package/dist/es/standards-agent-kit.es49.js +43 -0
- package/dist/es/standards-agent-kit.es49.js.map +1 -0
- package/dist/es/standards-agent-kit.es5.js +113 -0
- package/dist/es/standards-agent-kit.es5.js.map +1 -0
- package/dist/es/standards-agent-kit.es50.js +22 -0
- package/dist/es/standards-agent-kit.es50.js.map +1 -0
- package/dist/es/standards-agent-kit.es51.js +57 -0
- package/dist/es/standards-agent-kit.es51.js.map +1 -0
- package/dist/es/standards-agent-kit.es6.js +56 -0
- package/dist/es/standards-agent-kit.es6.js.map +1 -0
- package/dist/es/standards-agent-kit.es7.js +332 -0
- package/dist/es/standards-agent-kit.es7.js.map +1 -0
- package/dist/es/standards-agent-kit.es8.js +32 -0
- package/dist/es/standards-agent-kit.es8.js.map +1 -0
- package/dist/es/standards-agent-kit.es9.js +244 -0
- package/dist/es/standards-agent-kit.es9.js.map +1 -0
- package/dist/es/tools/index.d.ts +0 -1
- package/dist/es/tools/inscriber/InscribeHashinalTool.d.ts +42 -1
- package/dist/es/tools/inscriber/base-inscriber-tools.d.ts +19 -0
- package/dist/umd/builders/hcs10/hcs10-builder.d.ts +0 -2
- package/dist/umd/builders/inscriber/inscriber-builder.d.ts +2 -39
- package/dist/umd/lib/zod-render/config-extractor.d.ts +0 -21
- package/dist/umd/lib/zod-render/index.d.ts +3 -3
- package/dist/umd/lib/zod-render/schema-extension.d.ts +1 -9
- package/dist/umd/standards-agent-kit.umd.js +1 -1
- package/dist/umd/standards-agent-kit.umd.js.map +1 -1
- package/dist/umd/tools/index.d.ts +0 -1
- package/dist/umd/tools/inscriber/InscribeHashinalTool.d.ts +42 -1
- package/dist/umd/tools/inscriber/base-inscriber-tools.d.ts +19 -0
- package/package.json +33 -29
- package/src/builders/hcs10/hcs10-builder.ts +0 -4
- package/src/builders/inscriber/inscriber-builder.ts +2 -45
- package/src/lib/zod-render/config-extractor.ts +0 -92
- package/src/lib/zod-render/index.ts +1 -7
- package/src/lib/zod-render/schema-extension.ts +1 -69
- package/src/tools/index.ts +1 -2
- package/src/tools/inscriber/InscribeFromBufferTool.ts +2 -2
- package/src/tools/inscriber/InscribeFromUrlTool.ts +2 -2
- package/src/tools/inscriber/InscribeHashinalTool.ts +129 -20
- package/src/tools/inscriber/base-inscriber-tools.ts +26 -0
- package/src/types/inscription-response.ts +2 -2
- package/dist/cjs/lib/zod-render/__tests__/withRender.test.d.ts +0 -1
- package/dist/cjs/tools/hedera/HederaCreateNftTool.d.ts +0 -72
- package/dist/cjs/tools/hedera/index.d.ts +0 -1
- package/dist/es/lib/zod-render/__tests__/withRender.test.d.ts +0 -1
- package/dist/es/tools/hedera/HederaCreateNftTool.d.ts +0 -72
- package/dist/es/tools/hedera/index.d.ts +0 -1
- package/dist/umd/lib/zod-render/__tests__/withRender.test.d.ts +0 -1
- package/dist/umd/tools/hedera/HederaCreateNftTool.d.ts +0 -72
- package/dist/umd/tools/hedera/index.d.ts +0 -1
- package/src/lib/zod-render/__tests__/withRender.test.ts +0 -205
- package/src/tools/hedera/HederaCreateNftTool.ts +0 -294
- package/src/tools/hedera/index.ts +0 -1
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { ServerSigner, HederaAgentKit } from "hedera-agent-kit";
|
|
2
|
+
import { HCS10Builder } from "./standards-agent-kit.es3.js";
|
|
3
|
+
import { RegisterAgentTool } from "./standards-agent-kit.es9.js";
|
|
4
|
+
import { FindRegistrationsTool } from "./standards-agent-kit.es14.js";
|
|
5
|
+
import { InitiateConnectionTool } from "./standards-agent-kit.es11.js";
|
|
6
|
+
import { ListConnectionsTool } from "./standards-agent-kit.es12.js";
|
|
7
|
+
import { SendMessageToConnectionTool } from "./standards-agent-kit.es10.js";
|
|
8
|
+
import { CheckMessagesTool } from "./standards-agent-kit.es13.js";
|
|
9
|
+
import { ConnectionMonitorTool } from "./standards-agent-kit.es15.js";
|
|
10
|
+
import { ManageConnectionRequestsTool } from "./standards-agent-kit.es16.js";
|
|
11
|
+
import { AcceptConnectionRequestTool } from "./standards-agent-kit.es17.js";
|
|
12
|
+
import { RetrieveProfileTool } from "./standards-agent-kit.es18.js";
|
|
13
|
+
import { ListUnapprovedConnectionRequestsTool } from "./standards-agent-kit.es19.js";
|
|
14
|
+
import { OpenConvaiState } from "./standards-agent-kit.es39.js";
|
|
15
|
+
import { Logger } from "@hashgraphonline/standards-sdk";
|
|
16
|
+
import { ENV_FILE_PATH } from "./standards-agent-kit.es45.js";
|
|
17
|
+
const initializeStandardsAgentKit = async (options) => {
|
|
18
|
+
const config = options?.clientConfig || {};
|
|
19
|
+
const operatorId = config.operatorId || process.env.HEDERA_OPERATOR_ID;
|
|
20
|
+
const operatorPrivateKey = config.operatorKey || process.env.HEDERA_OPERATOR_KEY;
|
|
21
|
+
const networkEnv = config.network || process.env.HEDERA_NETWORK || "testnet";
|
|
22
|
+
const shouldSilence = process.env.DISABLE_LOGGING === "true";
|
|
23
|
+
const logger = Logger.getInstance({
|
|
24
|
+
level: config.logLevel || "info",
|
|
25
|
+
silent: shouldSilence
|
|
26
|
+
});
|
|
27
|
+
let network;
|
|
28
|
+
if (networkEnv === "mainnet") {
|
|
29
|
+
network = "mainnet";
|
|
30
|
+
} else if (networkEnv === "testnet") {
|
|
31
|
+
network = "testnet";
|
|
32
|
+
} else {
|
|
33
|
+
logger.warn(
|
|
34
|
+
`Unsupported network specified: '${networkEnv}'. Defaulting to 'testnet'.`
|
|
35
|
+
);
|
|
36
|
+
network = "testnet";
|
|
37
|
+
}
|
|
38
|
+
if (!operatorId || !operatorPrivateKey) {
|
|
39
|
+
throw new Error(
|
|
40
|
+
"Operator ID and private key must be provided either through options or environment variables."
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
const stateManager = options?.stateManager || new OpenConvaiState({
|
|
44
|
+
defaultEnvFilePath: ENV_FILE_PATH,
|
|
45
|
+
defaultPrefix: "TODD"
|
|
46
|
+
});
|
|
47
|
+
logger.info("State manager initialized");
|
|
48
|
+
const signer = new ServerSigner(operatorId, operatorPrivateKey, network);
|
|
49
|
+
const hederaKit = new HederaAgentKit(signer);
|
|
50
|
+
await hederaKit.initialize();
|
|
51
|
+
logger.info(`HederaAgentKit initialized for ${operatorId} on ${network}`);
|
|
52
|
+
const hcs10Builder = new HCS10Builder(hederaKit, stateManager, {
|
|
53
|
+
useEncryption: config.useEncryption,
|
|
54
|
+
registryUrl: config.registryUrl,
|
|
55
|
+
logLevel: config.logLevel
|
|
56
|
+
});
|
|
57
|
+
let monitoringHederaKit;
|
|
58
|
+
let monitoringHcs10Builder;
|
|
59
|
+
if (options?.monitoringClient) {
|
|
60
|
+
const monitoringSigner = new ServerSigner(operatorId, operatorPrivateKey, network);
|
|
61
|
+
monitoringHederaKit = new HederaAgentKit(monitoringSigner);
|
|
62
|
+
await monitoringHederaKit.initialize();
|
|
63
|
+
monitoringHcs10Builder = new HCS10Builder(monitoringHederaKit, stateManager, {
|
|
64
|
+
useEncryption: config.useEncryption,
|
|
65
|
+
registryUrl: config.registryUrl,
|
|
66
|
+
logLevel: "error"
|
|
67
|
+
});
|
|
68
|
+
logger.info("Monitoring client initialized");
|
|
69
|
+
}
|
|
70
|
+
const tools = {};
|
|
71
|
+
tools.registerAgentTool = new RegisterAgentTool({
|
|
72
|
+
hederaKit,
|
|
73
|
+
hcs10Builder,
|
|
74
|
+
logger: void 0
|
|
75
|
+
});
|
|
76
|
+
if (options?.createAllTools) {
|
|
77
|
+
tools.findRegistrationsTool = new FindRegistrationsTool({
|
|
78
|
+
hederaKit,
|
|
79
|
+
hcs10Builder,
|
|
80
|
+
logger: void 0
|
|
81
|
+
});
|
|
82
|
+
tools.retrieveProfileTool = new RetrieveProfileTool({
|
|
83
|
+
hederaKit,
|
|
84
|
+
hcs10Builder,
|
|
85
|
+
logger: void 0
|
|
86
|
+
});
|
|
87
|
+
tools.initiateConnectionTool = new InitiateConnectionTool({
|
|
88
|
+
hederaKit,
|
|
89
|
+
hcs10Builder,
|
|
90
|
+
logger: void 0
|
|
91
|
+
});
|
|
92
|
+
tools.listConnectionsTool = new ListConnectionsTool({
|
|
93
|
+
hederaKit,
|
|
94
|
+
hcs10Builder,
|
|
95
|
+
logger: void 0
|
|
96
|
+
});
|
|
97
|
+
tools.sendMessageToConnectionTool = new SendMessageToConnectionTool({
|
|
98
|
+
hederaKit,
|
|
99
|
+
hcs10Builder,
|
|
100
|
+
logger: void 0
|
|
101
|
+
});
|
|
102
|
+
tools.checkMessagesTool = new CheckMessagesTool({
|
|
103
|
+
hederaKit,
|
|
104
|
+
hcs10Builder,
|
|
105
|
+
logger: void 0
|
|
106
|
+
});
|
|
107
|
+
tools.connectionMonitorTool = new ConnectionMonitorTool({
|
|
108
|
+
hederaKit: monitoringHederaKit || hederaKit,
|
|
109
|
+
hcs10Builder: monitoringHcs10Builder || hcs10Builder,
|
|
110
|
+
logger: void 0
|
|
111
|
+
});
|
|
112
|
+
tools.manageConnectionRequestsTool = new ManageConnectionRequestsTool({
|
|
113
|
+
hederaKit,
|
|
114
|
+
hcs10Builder,
|
|
115
|
+
logger: void 0
|
|
116
|
+
});
|
|
117
|
+
tools.acceptConnectionRequestTool = new AcceptConnectionRequestTool({
|
|
118
|
+
hederaKit,
|
|
119
|
+
hcs10Builder,
|
|
120
|
+
logger: void 0
|
|
121
|
+
});
|
|
122
|
+
tools.listUnapprovedConnectionRequestsTool = new ListUnapprovedConnectionRequestsTool({
|
|
123
|
+
hederaKit,
|
|
124
|
+
hcs10Builder,
|
|
125
|
+
logger: void 0
|
|
126
|
+
});
|
|
127
|
+
logger.info("All tools initialized");
|
|
128
|
+
}
|
|
129
|
+
return {
|
|
130
|
+
hederaKit,
|
|
131
|
+
hcs10Builder,
|
|
132
|
+
monitoringHederaKit,
|
|
133
|
+
monitoringHcs10Builder,
|
|
134
|
+
tools,
|
|
135
|
+
stateManager
|
|
136
|
+
};
|
|
137
|
+
};
|
|
138
|
+
export {
|
|
139
|
+
initializeStandardsAgentKit
|
|
140
|
+
};
|
|
141
|
+
//# sourceMappingURL=standards-agent-kit.es40.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standards-agent-kit.es40.js","sources":["../../src/init/init.ts"],"sourcesContent":["import { HederaAgentKit, ServerSigner } from 'hedera-agent-kit';\nimport { HCS10Builder } from '../builders/hcs10/hcs10-builder';\nimport { RegisterAgentTool } from '../tools/hcs10/RegisterAgentTool';\nimport { FindRegistrationsTool } from '../tools/hcs10/FindRegistrationsTool';\nimport { InitiateConnectionTool } from '../tools/hcs10/InitiateConnectionTool';\nimport { ListConnectionsTool } from '../tools/hcs10/ListConnectionsTool';\nimport { SendMessageToConnectionTool } from '../tools/hcs10/SendMessageToConnectionTool';\nimport { CheckMessagesTool } from '../tools/hcs10/CheckMessagesTool';\nimport { ConnectionMonitorTool } from '../tools/hcs10/ConnectionMonitorTool';\nimport { ManageConnectionRequestsTool } from '../tools/hcs10/ManageConnectionRequestsTool';\nimport { AcceptConnectionRequestTool } from '../tools/hcs10/AcceptConnectionRequestTool';\nimport { RetrieveProfileTool } from '../tools/hcs10/RetrieveProfileTool';\nimport { ListUnapprovedConnectionRequestsTool } from '../tools/hcs10/ListUnapprovedConnectionRequestsTool';\nimport { IStateManager } from '../state/state-types';\nimport { OpenConvaiState } from '../state/open-convai-state';\nimport { Logger } from '@hashgraphonline/standards-sdk';\nimport { ENV_FILE_PATH } from '../utils/state-tools';\n\nexport interface HCS10ClientConfig {\n operatorId?: string;\n operatorKey?: string;\n network?: 'mainnet' | 'testnet';\n useEncryption?: boolean;\n registryUrl?: string;\n logLevel?: 'debug' | 'info' | 'warn' | 'error';\n}\n\nexport interface HCS10InitializationOptions {\n clientConfig?: HCS10ClientConfig;\n stateManager?: IStateManager;\n createAllTools?: boolean;\n monitoringClient?: boolean;\n}\n\n/**\n * Tool collection containing all available tools from the standards-agent-kit\n */\nexport interface HCS10Tools {\n registerAgentTool: RegisterAgentTool;\n findRegistrationsTool: FindRegistrationsTool;\n retrieveProfileTool: RetrieveProfileTool;\n initiateConnectionTool: InitiateConnectionTool;\n listConnectionsTool: ListConnectionsTool;\n sendMessageToConnectionTool: SendMessageToConnectionTool;\n checkMessagesTool: CheckMessagesTool;\n connectionMonitorTool: ConnectionMonitorTool;\n manageConnectionRequestsTool: ManageConnectionRequestsTool;\n acceptConnectionRequestTool: AcceptConnectionRequestTool;\n listUnapprovedConnectionRequestsTool: ListUnapprovedConnectionRequestsTool;\n}\n\n/**\n * Initializes the HCS10 client and returns pre-registered LangChain tools.\n *\n * @param options - Initialization options\n * @returns Object containing hederaKit, hcs10Builder and requested tools\n */\nexport const initializeStandardsAgentKit = async (\n options?: HCS10InitializationOptions\n): Promise<{\n hederaKit: HederaAgentKit;\n hcs10Builder: HCS10Builder;\n monitoringHederaKit?: HederaAgentKit;\n monitoringHcs10Builder?: HCS10Builder;\n tools: Partial<HCS10Tools>;\n stateManager: IStateManager;\n}> => {\n const config = options?.clientConfig || {};\n\n const operatorId = config.operatorId || process.env.HEDERA_OPERATOR_ID;\n const operatorPrivateKey =\n config.operatorKey || process.env.HEDERA_OPERATOR_KEY;\n\n const networkEnv = config.network || process.env.HEDERA_NETWORK || 'testnet';\n\n const shouldSilence = process.env.DISABLE_LOGGING === 'true';\n const logger = Logger.getInstance({\n level: config.logLevel || 'info',\n silent: shouldSilence,\n });\n\n let network: 'mainnet' | 'testnet';\n if (networkEnv === 'mainnet') {\n network = 'mainnet';\n } else if (networkEnv === 'testnet') {\n network = 'testnet';\n } else {\n logger.warn(\n `Unsupported network specified: '${networkEnv}'. Defaulting to 'testnet'.`\n );\n network = 'testnet';\n }\n\n if (!operatorId || !operatorPrivateKey) {\n throw new Error(\n 'Operator ID and private key must be provided either through options or environment variables.'\n );\n }\n\n const stateManager =\n options?.stateManager ||\n new OpenConvaiState({\n defaultEnvFilePath: ENV_FILE_PATH,\n defaultPrefix: 'TODD',\n });\n logger.info('State manager initialized');\n\n const signer = new ServerSigner(operatorId, operatorPrivateKey, network);\n const hederaKit = new HederaAgentKit(signer);\n await hederaKit.initialize();\n logger.info(`HederaAgentKit initialized for ${operatorId} on ${network}`);\n\n const hcs10Builder = new HCS10Builder(hederaKit, stateManager, {\n useEncryption: config.useEncryption,\n registryUrl: config.registryUrl,\n logLevel: config.logLevel,\n });\n\n let monitoringHederaKit: HederaAgentKit | undefined;\n let monitoringHcs10Builder: HCS10Builder | undefined;\n\n if (options?.monitoringClient) {\n const monitoringSigner = new ServerSigner(operatorId, operatorPrivateKey, network);\n monitoringHederaKit = new HederaAgentKit(monitoringSigner);\n await monitoringHederaKit.initialize();\n monitoringHcs10Builder = new HCS10Builder(monitoringHederaKit, stateManager, {\n useEncryption: config.useEncryption,\n registryUrl: config.registryUrl,\n logLevel: 'error',\n });\n logger.info('Monitoring client initialized');\n }\n\n const tools: Partial<HCS10Tools> = {};\n\n tools.registerAgentTool = new RegisterAgentTool({\n hederaKit,\n hcs10Builder,\n logger: undefined,\n });\n\n if (options?.createAllTools) {\n tools.findRegistrationsTool = new FindRegistrationsTool({\n hederaKit,\n hcs10Builder,\n logger: undefined,\n });\n tools.retrieveProfileTool = new RetrieveProfileTool({\n hederaKit,\n hcs10Builder,\n logger: undefined,\n });\n tools.initiateConnectionTool = new InitiateConnectionTool({\n hederaKit,\n hcs10Builder,\n logger: undefined,\n });\n tools.listConnectionsTool = new ListConnectionsTool({\n hederaKit,\n hcs10Builder,\n logger: undefined,\n });\n tools.sendMessageToConnectionTool = new SendMessageToConnectionTool({\n hederaKit,\n hcs10Builder,\n logger: undefined,\n });\n tools.checkMessagesTool = new CheckMessagesTool({\n hederaKit,\n hcs10Builder,\n logger: undefined,\n });\n tools.connectionMonitorTool = new ConnectionMonitorTool({\n hederaKit: monitoringHederaKit || hederaKit,\n hcs10Builder: monitoringHcs10Builder || hcs10Builder,\n logger: undefined,\n });\n tools.manageConnectionRequestsTool = new ManageConnectionRequestsTool({\n hederaKit,\n hcs10Builder,\n logger: undefined,\n });\n tools.acceptConnectionRequestTool = new AcceptConnectionRequestTool({\n hederaKit,\n hcs10Builder,\n logger: undefined,\n });\n tools.listUnapprovedConnectionRequestsTool =\n new ListUnapprovedConnectionRequestsTool({\n hederaKit,\n hcs10Builder,\n logger: undefined,\n });\n\n logger.info('All tools initialized');\n }\n\n return {\n hederaKit,\n hcs10Builder,\n monitoringHederaKit,\n monitoringHcs10Builder,\n tools,\n stateManager,\n };\n};"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { BasePlugin, HederaGetHbarPriceTool } from "hedera-agent-kit";
|
|
2
|
+
import { HederaGetHbarPriceTool as HederaGetHbarPriceTool2 } from "hedera-agent-kit";
|
|
3
|
+
class HbarPricePlugin extends BasePlugin {
|
|
4
|
+
constructor() {
|
|
5
|
+
super(...arguments);
|
|
6
|
+
this.id = "hedera-hbar-price";
|
|
7
|
+
this.name = "Hedera HBAR Price Plugin";
|
|
8
|
+
this.description = "Provides tools to interact with Hedera network data, specifically HBAR price.";
|
|
9
|
+
this.version = "1.0.0";
|
|
10
|
+
this.author = "Hashgraph Online";
|
|
11
|
+
this.tools = [];
|
|
12
|
+
}
|
|
13
|
+
async initialize(context) {
|
|
14
|
+
await super.initialize(context);
|
|
15
|
+
this.initializeTools();
|
|
16
|
+
}
|
|
17
|
+
initializeTools() {
|
|
18
|
+
this.tools = [
|
|
19
|
+
new HederaGetHbarPriceTool({
|
|
20
|
+
hederaKit: this.context.config.hederaKit,
|
|
21
|
+
logger: this.context.logger
|
|
22
|
+
})
|
|
23
|
+
];
|
|
24
|
+
}
|
|
25
|
+
getTools() {
|
|
26
|
+
return this.tools;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
export {
|
|
30
|
+
HederaGetHbarPriceTool2 as GetHbarPriceTool,
|
|
31
|
+
HbarPricePlugin
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=standards-agent-kit.es41.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standards-agent-kit.es41.js","sources":["../../src/plugins/hedera/HbarPricePlugin.ts"],"sourcesContent":["\nexport { HederaGetHbarPriceTool as GetHbarPriceTool } from 'hedera-agent-kit';\n\nimport { BasePlugin, GenericPluginContext, HederaTool, HederaAgentKit } from 'hedera-agent-kit';\nimport { HederaGetHbarPriceTool } from 'hedera-agent-kit';\n\n/**\n * Plugin to provide tools related to Hedera network information, like HBAR price.\n * Uses the built-in HederaGetHbarPriceTool from hedera-agent-kit.\n */\nexport class HbarPricePlugin extends BasePlugin<GenericPluginContext> {\n id = 'hedera-hbar-price';\n name = 'Hedera HBAR Price Plugin';\n description = 'Provides tools to interact with Hedera network data, specifically HBAR price.';\n version = '1.0.0';\n author = 'Hashgraph Online';\n\n private tools: HederaTool[] = [];\n\n override async initialize(context: GenericPluginContext): Promise<void> {\n await super.initialize(context);\n this.initializeTools();\n }\n\n private initializeTools(): void {\n this.tools = [\n new HederaGetHbarPriceTool({\n hederaKit: this.context.config.hederaKit as HederaAgentKit,\n logger: this.context.logger\n })\n ];\n }\n\n getTools(): HederaTool[] {\n return this.tools;\n }\n}"],"names":["HederaGetHbarPriceTool"],"mappings":";;AAUO,MAAM,wBAAwB,WAAiC;AAAA,EAA/D,cAAA;AAAA,UAAA,GAAA,SAAA;AACL,SAAA,KAAK;AACL,SAAA,OAAO;AACP,SAAA,cAAc;AACd,SAAA,UAAU;AACV,SAAA,SAAS;AAET,SAAQ,QAAsB,CAAA;AAAA,EAAC;AAAA,EAE/B,MAAe,WAAW,SAA8C;AACtE,UAAM,MAAM,WAAW,OAAO;AAC9B,SAAK,gBAAA;AAAA,EACP;AAAA,EAEQ,kBAAwB;AAC9B,SAAK,QAAQ;AAAA,MACX,IAAIA,uBAAuB;AAAA,QACzB,WAAW,KAAK,QAAQ,OAAO;AAAA,QAC/B,QAAQ,KAAK,QAAQ;AAAA,MAAA,CACtB;AAAA,IAAA;AAAA,EAEL;AAAA,EAEA,WAAyB;AACvB,WAAO,KAAK;AAAA,EACd;AACF;"}
|
|
@@ -0,0 +1,427 @@
|
|
|
1
|
+
import { ZodType } from "zod";
|
|
2
|
+
function extendZodSchema(schema) {
|
|
3
|
+
const extendedSchema = schema;
|
|
4
|
+
extendedSchema.withRender = function(config) {
|
|
5
|
+
const newSchema = Object.create(this);
|
|
6
|
+
const currentConfig = this._renderConfig || {};
|
|
7
|
+
const mergedConfig = {
|
|
8
|
+
...currentConfig,
|
|
9
|
+
...config,
|
|
10
|
+
ui: {
|
|
11
|
+
...currentConfig.ui || {},
|
|
12
|
+
...config.ui || {}
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
if (currentConfig.progressive || config.progressive) {
|
|
16
|
+
mergedConfig.progressive = {
|
|
17
|
+
...currentConfig.progressive || {},
|
|
18
|
+
...config.progressive || {}
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
if (currentConfig.block || config.block) {
|
|
22
|
+
mergedConfig.block = {
|
|
23
|
+
...currentConfig.block || {},
|
|
24
|
+
...config.block || {}
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
newSchema._renderConfig = mergedConfig;
|
|
28
|
+
newSchema.withRender = extendedSchema.withRender;
|
|
29
|
+
newSchema.withProgressive = extendedSchema.withProgressive;
|
|
30
|
+
newSchema.withBlock = extendedSchema.withBlock;
|
|
31
|
+
return newSchema;
|
|
32
|
+
};
|
|
33
|
+
extendedSchema.withProgressive = function(priority, group) {
|
|
34
|
+
const currentConfig = this._renderConfig || { fieldType: inferFieldTypeFromSchema(schema) };
|
|
35
|
+
return this.withRender({
|
|
36
|
+
...currentConfig,
|
|
37
|
+
progressive: {
|
|
38
|
+
priority,
|
|
39
|
+
group
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
extendedSchema.withBlock = function(blockId) {
|
|
44
|
+
const currentConfig = this._renderConfig || { fieldType: inferFieldTypeFromSchema(schema) };
|
|
45
|
+
return this.withRender({
|
|
46
|
+
...currentConfig,
|
|
47
|
+
block: {
|
|
48
|
+
id: blockId,
|
|
49
|
+
type: "field",
|
|
50
|
+
reusable: true
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
};
|
|
54
|
+
return extendedSchema;
|
|
55
|
+
}
|
|
56
|
+
function hasRenderConfig(schema) {
|
|
57
|
+
return Boolean(schema && typeof schema.withRender === "function");
|
|
58
|
+
}
|
|
59
|
+
function getRenderConfig(schema) {
|
|
60
|
+
if (hasRenderConfig(schema)) {
|
|
61
|
+
return schema._renderConfig;
|
|
62
|
+
}
|
|
63
|
+
return void 0;
|
|
64
|
+
}
|
|
65
|
+
function inferFieldTypeFromSchema(schema) {
|
|
66
|
+
const typeName = schema._def?.typeName;
|
|
67
|
+
switch (typeName) {
|
|
68
|
+
case "ZodString": {
|
|
69
|
+
const stringChecks = schema._def?.checks || [];
|
|
70
|
+
for (const check of stringChecks) {
|
|
71
|
+
if (check.kind === "email") {
|
|
72
|
+
return "text";
|
|
73
|
+
}
|
|
74
|
+
if (check.kind === "url") {
|
|
75
|
+
return "text";
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return "text";
|
|
79
|
+
}
|
|
80
|
+
case "ZodNumber":
|
|
81
|
+
case "ZodBigInt":
|
|
82
|
+
return "number";
|
|
83
|
+
case "ZodBoolean":
|
|
84
|
+
return "checkbox";
|
|
85
|
+
case "ZodEnum":
|
|
86
|
+
case "ZodNativeEnum":
|
|
87
|
+
return "select";
|
|
88
|
+
case "ZodArray":
|
|
89
|
+
return "array";
|
|
90
|
+
case "ZodUnion":
|
|
91
|
+
case "ZodDiscriminatedUnion":
|
|
92
|
+
return "select";
|
|
93
|
+
case "ZodDate":
|
|
94
|
+
return "text";
|
|
95
|
+
case "ZodObject":
|
|
96
|
+
return "object";
|
|
97
|
+
case "ZodOptional":
|
|
98
|
+
case "ZodDefault": {
|
|
99
|
+
const innerType = schema._def?.innerType;
|
|
100
|
+
if (innerType) {
|
|
101
|
+
return inferFieldTypeFromSchema(innerType);
|
|
102
|
+
}
|
|
103
|
+
return "text";
|
|
104
|
+
}
|
|
105
|
+
default:
|
|
106
|
+
return "text";
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
function extractOptionsFromSchema(schema) {
|
|
110
|
+
const typeName = schema._def?.typeName;
|
|
111
|
+
if (typeName === "ZodEnum") {
|
|
112
|
+
const values = schema._def?.values;
|
|
113
|
+
if (Array.isArray(values)) {
|
|
114
|
+
return values.map((value) => ({
|
|
115
|
+
value,
|
|
116
|
+
label: value.charAt(0).toUpperCase() + value.slice(1).replace(/[_-]/g, " ")
|
|
117
|
+
}));
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
if (typeName === "ZodNativeEnum") {
|
|
121
|
+
const enumObject = schema._def?.values;
|
|
122
|
+
if (enumObject) {
|
|
123
|
+
return Object.entries(enumObject).map(([key, value]) => ({
|
|
124
|
+
value,
|
|
125
|
+
label: key.replace(/[_-]/g, " ")
|
|
126
|
+
}));
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
if (typeName === "ZodUnion") {
|
|
130
|
+
const options = [];
|
|
131
|
+
const unionOptions = schema._def?.options;
|
|
132
|
+
if (Array.isArray(unionOptions)) {
|
|
133
|
+
for (const option of unionOptions) {
|
|
134
|
+
if (option._def?.typeName === "ZodLiteral") {
|
|
135
|
+
const value = option._def?.value;
|
|
136
|
+
if (value !== void 0) {
|
|
137
|
+
options.push({
|
|
138
|
+
value,
|
|
139
|
+
label: typeof value === "string" ? value.charAt(0).toUpperCase() + value.slice(1) : String(value)
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
return options.length > 0 ? options : void 0;
|
|
146
|
+
}
|
|
147
|
+
return void 0;
|
|
148
|
+
}
|
|
149
|
+
function isOptionalSchema(schema) {
|
|
150
|
+
const typeName = schema._def?.typeName;
|
|
151
|
+
return typeName === "ZodOptional" || typeName === "ZodDefault";
|
|
152
|
+
}
|
|
153
|
+
function getInnerSchema(schema) {
|
|
154
|
+
const typeName = schema._def?.typeName;
|
|
155
|
+
if (typeName === "ZodOptional" || typeName === "ZodDefault") {
|
|
156
|
+
const innerType = schema._def?.innerType;
|
|
157
|
+
return innerType || schema;
|
|
158
|
+
}
|
|
159
|
+
return schema;
|
|
160
|
+
}
|
|
161
|
+
function extractValidationConstraints(schema) {
|
|
162
|
+
const innerSchema = getInnerSchema(schema);
|
|
163
|
+
const typeName = innerSchema._def?.typeName;
|
|
164
|
+
const constraints = {};
|
|
165
|
+
if (typeName === "ZodString") {
|
|
166
|
+
const def = innerSchema._def;
|
|
167
|
+
const checks = def.checks;
|
|
168
|
+
if (checks && Array.isArray(checks)) {
|
|
169
|
+
for (const check of checks) {
|
|
170
|
+
switch (check.kind) {
|
|
171
|
+
case "min":
|
|
172
|
+
constraints.minLength = check.value;
|
|
173
|
+
break;
|
|
174
|
+
case "max":
|
|
175
|
+
constraints.maxLength = check.value;
|
|
176
|
+
break;
|
|
177
|
+
case "email":
|
|
178
|
+
constraints.type = "email";
|
|
179
|
+
break;
|
|
180
|
+
case "url":
|
|
181
|
+
constraints.type = "url";
|
|
182
|
+
break;
|
|
183
|
+
case "regex":
|
|
184
|
+
constraints.pattern = check.regex;
|
|
185
|
+
break;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
if (typeName === "ZodNumber") {
|
|
191
|
+
const def = innerSchema._def;
|
|
192
|
+
const checks = def.checks;
|
|
193
|
+
if (checks && Array.isArray(checks)) {
|
|
194
|
+
for (const check of checks) {
|
|
195
|
+
switch (check.kind) {
|
|
196
|
+
case "min":
|
|
197
|
+
constraints.min = check.value;
|
|
198
|
+
break;
|
|
199
|
+
case "max":
|
|
200
|
+
constraints.max = check.value;
|
|
201
|
+
break;
|
|
202
|
+
case "int":
|
|
203
|
+
constraints.step = 1;
|
|
204
|
+
break;
|
|
205
|
+
case "multipleOf":
|
|
206
|
+
constraints.step = check.value;
|
|
207
|
+
break;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
if (typeName === "ZodArray") {
|
|
213
|
+
const def = innerSchema._def;
|
|
214
|
+
const minLength = def.minLength;
|
|
215
|
+
const maxLength = def.maxLength;
|
|
216
|
+
if (minLength !== void 0) {
|
|
217
|
+
constraints.minItems = minLength.value;
|
|
218
|
+
}
|
|
219
|
+
if (maxLength !== void 0) {
|
|
220
|
+
constraints.maxItems = maxLength.value;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
return constraints;
|
|
224
|
+
}
|
|
225
|
+
function getDefaultValue(schema) {
|
|
226
|
+
const typeName = schema._def?.typeName;
|
|
227
|
+
if (typeName === "ZodDefault") {
|
|
228
|
+
const defaultValue = schema._def?.defaultValue;
|
|
229
|
+
if (typeof defaultValue === "function") {
|
|
230
|
+
return defaultValue();
|
|
231
|
+
}
|
|
232
|
+
return defaultValue;
|
|
233
|
+
}
|
|
234
|
+
const innerSchema = getInnerSchema(schema);
|
|
235
|
+
const innerTypeName = innerSchema._def?.typeName;
|
|
236
|
+
switch (innerTypeName) {
|
|
237
|
+
case "ZodString":
|
|
238
|
+
return "";
|
|
239
|
+
case "ZodNumber":
|
|
240
|
+
case "ZodBigInt":
|
|
241
|
+
return 0;
|
|
242
|
+
case "ZodBoolean":
|
|
243
|
+
return false;
|
|
244
|
+
case "ZodArray":
|
|
245
|
+
return [];
|
|
246
|
+
case "ZodObject": {
|
|
247
|
+
const shape = innerSchema._def?.shape;
|
|
248
|
+
if (shape) {
|
|
249
|
+
const defaultObj = {};
|
|
250
|
+
for (const [key, value] of Object.entries(shape)) {
|
|
251
|
+
defaultObj[key] = getDefaultValue(value);
|
|
252
|
+
}
|
|
253
|
+
return defaultObj;
|
|
254
|
+
}
|
|
255
|
+
return {};
|
|
256
|
+
}
|
|
257
|
+
case "ZodDate":
|
|
258
|
+
return /* @__PURE__ */ new Date();
|
|
259
|
+
case "ZodEnum": {
|
|
260
|
+
const values = innerSchema._def?.values;
|
|
261
|
+
return Array.isArray(values) && values.length > 0 ? values[0] : void 0;
|
|
262
|
+
}
|
|
263
|
+
default:
|
|
264
|
+
return void 0;
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
function extractFieldMetadata(schema) {
|
|
268
|
+
const innerSchema = getInnerSchema(schema);
|
|
269
|
+
const fieldType = inferFieldTypeFromSchema(schema);
|
|
270
|
+
const required = !isOptionalSchema(schema);
|
|
271
|
+
const optional = isOptionalSchema(schema);
|
|
272
|
+
const defaultValue = getDefaultValue(schema);
|
|
273
|
+
const options = extractOptionsFromSchema(innerSchema);
|
|
274
|
+
const constraints = extractValidationConstraints(schema);
|
|
275
|
+
const description = schema?.description;
|
|
276
|
+
return {
|
|
277
|
+
type: fieldType,
|
|
278
|
+
required,
|
|
279
|
+
optional,
|
|
280
|
+
default: defaultValue,
|
|
281
|
+
options,
|
|
282
|
+
constraints,
|
|
283
|
+
description,
|
|
284
|
+
validation: {
|
|
285
|
+
minLength: constraints.minLength,
|
|
286
|
+
maxLength: constraints.maxLength,
|
|
287
|
+
min: constraints.min,
|
|
288
|
+
max: constraints.max,
|
|
289
|
+
pattern: constraints.pattern ? new RegExp(constraints.pattern) : void 0
|
|
290
|
+
}
|
|
291
|
+
};
|
|
292
|
+
}
|
|
293
|
+
const renderConfigs = {
|
|
294
|
+
text: (label, placeholder, priority = "common") => ({
|
|
295
|
+
fieldType: "text",
|
|
296
|
+
ui: { label, placeholder, priority },
|
|
297
|
+
progressive: { priority }
|
|
298
|
+
}),
|
|
299
|
+
number: (label, min, max, priority = "common") => ({
|
|
300
|
+
fieldType: "number",
|
|
301
|
+
ui: { label, priority },
|
|
302
|
+
constraints: { min, max },
|
|
303
|
+
progressive: { priority }
|
|
304
|
+
}),
|
|
305
|
+
select: (label, options, priority = "common") => ({
|
|
306
|
+
fieldType: "select",
|
|
307
|
+
ui: { label, priority },
|
|
308
|
+
options,
|
|
309
|
+
progressive: { priority }
|
|
310
|
+
}),
|
|
311
|
+
textarea: (label, rows = 3, priority = "common") => ({
|
|
312
|
+
fieldType: "textarea",
|
|
313
|
+
ui: { label, priority },
|
|
314
|
+
props: { rows },
|
|
315
|
+
progressive: { priority }
|
|
316
|
+
}),
|
|
317
|
+
currency: (label, symbol = "HBAR", priority = "common") => ({
|
|
318
|
+
fieldType: "currency",
|
|
319
|
+
ui: { label, priority },
|
|
320
|
+
props: { symbol },
|
|
321
|
+
progressive: { priority }
|
|
322
|
+
}),
|
|
323
|
+
array: (label, itemLabel, priority = "advanced") => ({
|
|
324
|
+
fieldType: "array",
|
|
325
|
+
ui: { label, priority },
|
|
326
|
+
props: { itemLabel },
|
|
327
|
+
progressive: { priority }
|
|
328
|
+
}),
|
|
329
|
+
essential: {
|
|
330
|
+
text: (label, placeholder) => renderConfigs.text(label, placeholder, "essential"),
|
|
331
|
+
number: (label, min, max) => renderConfigs.number(label, min, max, "essential"),
|
|
332
|
+
select: (label, options) => renderConfigs.select(label, options, "essential"),
|
|
333
|
+
textarea: (label, rows) => renderConfigs.textarea(label, rows, "essential")
|
|
334
|
+
},
|
|
335
|
+
advanced: {
|
|
336
|
+
text: (label, placeholder) => renderConfigs.text(label, placeholder, "advanced"),
|
|
337
|
+
number: (label, min, max) => renderConfigs.number(label, min, max, "advanced"),
|
|
338
|
+
select: (label, options) => renderConfigs.select(label, options, "advanced"),
|
|
339
|
+
textarea: (label, rows) => renderConfigs.textarea(label, rows, "advanced"),
|
|
340
|
+
array: (label, itemLabel) => renderConfigs.array(label, itemLabel, "advanced")
|
|
341
|
+
},
|
|
342
|
+
expert: {
|
|
343
|
+
text: (label, placeholder) => renderConfigs.text(label, placeholder, "expert"),
|
|
344
|
+
number: (label, min, max) => renderConfigs.number(label, min, max, "expert"),
|
|
345
|
+
select: (label, options) => renderConfigs.select(label, options, "expert"),
|
|
346
|
+
textarea: (label, rows) => renderConfigs.textarea(label, rows, "expert")
|
|
347
|
+
}
|
|
348
|
+
};
|
|
349
|
+
function installZodRenderExtensions() {
|
|
350
|
+
if (!ZodType.prototype.withRender) {
|
|
351
|
+
ZodType.prototype.withRender = function(config) {
|
|
352
|
+
return extendZodSchema(this).withRender(config);
|
|
353
|
+
};
|
|
354
|
+
ZodType.prototype.withProgressive = function(priority, group) {
|
|
355
|
+
return extendZodSchema(this).withProgressive(priority, group);
|
|
356
|
+
};
|
|
357
|
+
ZodType.prototype.withBlock = function(blockId) {
|
|
358
|
+
return extendZodSchema(this).withBlock(blockId);
|
|
359
|
+
};
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
function createProgressiveSchema(baseSchema, groups) {
|
|
363
|
+
const extendedSchema = extendZodSchema(baseSchema);
|
|
364
|
+
const typeName = baseSchema._def?.typeName;
|
|
365
|
+
if (typeName === "ZodObject") {
|
|
366
|
+
const shape = baseSchema._def?.shape;
|
|
367
|
+
if (shape) {
|
|
368
|
+
for (const [fieldName, fieldSchema] of Object.entries(shape)) {
|
|
369
|
+
let fieldGroup;
|
|
370
|
+
let fieldPriority = "common";
|
|
371
|
+
for (const [groupName, groupConfig] of Object.entries(groups)) {
|
|
372
|
+
if (groupConfig.fields.includes(fieldName)) {
|
|
373
|
+
fieldGroup = groupName;
|
|
374
|
+
fieldPriority = groupConfig.priority;
|
|
375
|
+
break;
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
extendZodSchema(fieldSchema).withProgressive(fieldPriority, fieldGroup);
|
|
379
|
+
}
|
|
380
|
+
return extendedSchema;
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
return extendedSchema;
|
|
384
|
+
}
|
|
385
|
+
function enhanceRenderConfig(config) {
|
|
386
|
+
return {
|
|
387
|
+
...config,
|
|
388
|
+
progressive: {
|
|
389
|
+
priority: config.ui?.priority || "common",
|
|
390
|
+
group: config.ui?.group
|
|
391
|
+
}
|
|
392
|
+
};
|
|
393
|
+
}
|
|
394
|
+
function extractProgressiveInfo(schema) {
|
|
395
|
+
const renderConfig = getRenderConfig(schema);
|
|
396
|
+
if (renderConfig?.progressive) {
|
|
397
|
+
return {
|
|
398
|
+
priority: renderConfig.progressive.priority,
|
|
399
|
+
group: renderConfig.progressive.group
|
|
400
|
+
};
|
|
401
|
+
}
|
|
402
|
+
if (renderConfig?.ui?.priority) {
|
|
403
|
+
return {
|
|
404
|
+
priority: renderConfig.ui.priority,
|
|
405
|
+
group: renderConfig.ui.group
|
|
406
|
+
};
|
|
407
|
+
}
|
|
408
|
+
return { priority: "common" };
|
|
409
|
+
}
|
|
410
|
+
export {
|
|
411
|
+
createProgressiveSchema,
|
|
412
|
+
enhanceRenderConfig,
|
|
413
|
+
extendZodSchema,
|
|
414
|
+
extractFieldMetadata,
|
|
415
|
+
extractOptionsFromSchema,
|
|
416
|
+
extractProgressiveInfo,
|
|
417
|
+
extractValidationConstraints,
|
|
418
|
+
getDefaultValue,
|
|
419
|
+
getInnerSchema,
|
|
420
|
+
getRenderConfig,
|
|
421
|
+
hasRenderConfig,
|
|
422
|
+
inferFieldTypeFromSchema,
|
|
423
|
+
installZodRenderExtensions,
|
|
424
|
+
isOptionalSchema,
|
|
425
|
+
renderConfigs
|
|
426
|
+
};
|
|
427
|
+
//# sourceMappingURL=standards-agent-kit.es42.js.map
|