pontus-x_cli 1.0.2 → 1.1.4

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.
Files changed (107) hide show
  1. package/README.md +124 -38
  2. package/bin/dev.js +5 -5
  3. package/bin/run.js +4 -5
  4. package/dist/commands/access.d.ts +1 -1
  5. package/dist/commands/access.js +3 -3
  6. package/dist/commands/access.js.map +1 -1
  7. package/dist/commands/change-price.d.ts +3 -3
  8. package/dist/commands/change-price.js +12 -11
  9. package/dist/commands/change-price.js.map +1 -1
  10. package/dist/commands/check-participant-compliance.d.ts +1 -1
  11. package/dist/commands/check-participant-compliance.js +13 -11
  12. package/dist/commands/check-participant-compliance.js.map +1 -1
  13. package/dist/commands/compute-results.d.ts +1 -1
  14. package/dist/commands/compute-results.js +7 -7
  15. package/dist/commands/compute-results.js.map +1 -1
  16. package/dist/commands/compute-status.d.ts +1 -1
  17. package/dist/commands/compute-status.js +7 -7
  18. package/dist/commands/compute-status.js.map +1 -1
  19. package/dist/commands/compute.d.ts +5 -4
  20. package/dist/commands/compute.js +60 -14
  21. package/dist/commands/compute.js.map +1 -1
  22. package/dist/commands/edit-additional-metadata.d.ts +13 -0
  23. package/dist/commands/edit-additional-metadata.js +88 -0
  24. package/dist/commands/edit-additional-metadata.js.map +1 -0
  25. package/dist/commands/edit-algo.d.ts +3 -3
  26. package/dist/commands/edit-algo.js +22 -13
  27. package/dist/commands/edit-algo.js.map +1 -1
  28. package/dist/commands/edit-asset-url.d.ts +3 -3
  29. package/dist/commands/edit-asset-url.js +12 -11
  30. package/dist/commands/edit-asset-url.js.map +1 -1
  31. package/dist/commands/edit-trusted-algos.d.ts +1 -1
  32. package/dist/commands/edit-trusted-algos.js +10 -6
  33. package/dist/commands/edit-trusted-algos.js.map +1 -1
  34. package/dist/commands/export-private-key.d.ts +2 -2
  35. package/dist/commands/export-private-key.js +27 -27
  36. package/dist/commands/export-private-key.js.map +1 -1
  37. package/dist/commands/generate-asset-credentials.d.ts +1 -1
  38. package/dist/commands/generate-asset-credentials.js +11 -11
  39. package/dist/commands/generate-asset-credentials.js.map +1 -1
  40. package/dist/commands/generate-did-web.d.ts +1 -1
  41. package/dist/commands/generate-did-web.js +11 -11
  42. package/dist/commands/generate-did-web.js.map +1 -1
  43. package/dist/commands/generate-participant-credentials.d.ts +1 -1
  44. package/dist/commands/generate-participant-credentials.js +10 -10
  45. package/dist/commands/generate-participant-credentials.js.map +1 -1
  46. package/dist/commands/get.d.ts +1 -1
  47. package/dist/commands/get.js +3 -3
  48. package/dist/commands/get.js.map +1 -1
  49. package/dist/commands/login.d.ts +2 -2
  50. package/dist/commands/login.js +16 -13
  51. package/dist/commands/login.js.map +1 -1
  52. package/dist/commands/logout.d.ts +1 -1
  53. package/dist/commands/logout.js +7 -7
  54. package/dist/commands/logout.js.map +1 -1
  55. package/dist/commands/publish.d.ts +5 -3
  56. package/dist/commands/publish.js +95 -27
  57. package/dist/commands/publish.js.map +1 -1
  58. package/dist/commands/render.d.ts +12 -0
  59. package/dist/commands/render.js +126 -0
  60. package/dist/commands/render.js.map +1 -0
  61. package/dist/commands/revoke.d.ts +7 -6
  62. package/dist/commands/revoke.js +92 -23
  63. package/dist/commands/revoke.js.map +1 -1
  64. package/dist/commands/self-description.d.ts +3 -3
  65. package/dist/commands/self-description.js +13 -8
  66. package/dist/commands/self-description.js.map +1 -1
  67. package/dist/config.d.ts +3 -6
  68. package/dist/config.js +55 -107
  69. package/dist/config.js.map +1 -1
  70. package/dist/index.d.ts +1 -1
  71. package/dist/index.js.map +1 -1
  72. package/dist/lib/aquarius.d.ts +7 -0
  73. package/dist/lib/aquarius.js +71 -0
  74. package/dist/lib/aquarius.js.map +1 -0
  75. package/dist/lib/gaia-x_compliance/generate-credentials/index.js +26 -25
  76. package/dist/lib/gaia-x_compliance/generate-credentials/index.js.map +1 -1
  77. package/dist/lib/manifest.d.ts +4 -0
  78. package/dist/lib/manifest.js +29 -0
  79. package/dist/lib/manifest.js.map +1 -0
  80. package/dist/lib/spec.d.ts +12 -0
  81. package/dist/lib/spec.js +266 -0
  82. package/dist/lib/spec.js.map +1 -0
  83. package/dist/lib/wallet.d.ts +1 -0
  84. package/dist/lib/wallet.js +14 -0
  85. package/dist/lib/wallet.js.map +1 -0
  86. package/dist/lib/yaml.d.ts +2 -0
  87. package/dist/lib/yaml.js +53 -0
  88. package/dist/lib/yaml.js.map +1 -0
  89. package/dist/scripts/json-schema.d.ts +1 -0
  90. package/dist/scripts/json-schema.js +24 -0
  91. package/dist/scripts/json-schema.js.map +1 -0
  92. package/dist/types/manifest-schema.json +52 -0
  93. package/dist/types/manifest.d.ts +17 -0
  94. package/dist/types/manifest.js +14 -0
  95. package/dist/types/manifest.js.map +1 -0
  96. package/dist/types/schema.d.ts +1 -2
  97. package/dist/types/schema.js +3 -2
  98. package/dist/types/schema.js.map +1 -1
  99. package/dist/types/schema.json +24 -72
  100. package/dist/utils/connection.d.ts +3 -3
  101. package/dist/utils/connection.js +2 -2
  102. package/dist/utils/connection.js.map +1 -1
  103. package/oclif.manifest.json +169 -19
  104. package/package.json +20 -18
  105. package/dist/lib/publishFromFile.d.ts +0 -2
  106. package/dist/lib/publishFromFile.js +0 -143
  107. package/dist/lib/publishFromFile.js.map +0 -1
@@ -0,0 +1,266 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.getFilesFromPaths = getFilesFromPaths;
40
+ exports.getEnvironmentConfig = getEnvironmentConfig;
41
+ exports.parseConfig = parseConfig;
42
+ exports.writeConfig = writeConfig;
43
+ exports.publishFromFile = publishFromFile;
44
+ const node_fs_1 = require("node:fs");
45
+ const node_path_1 = __importStar(require("node:path"));
46
+ const nautilus_1 = require("@deltadao/nautilus");
47
+ const ajv_1 = __importDefault(require("ajv"));
48
+ const ethers_1 = require("ethers");
49
+ const yaml_1 = require("yaml");
50
+ const manifest_1 = require("../lib/manifest");
51
+ const wallet_1 = require("../lib/wallet");
52
+ const schema_1 = __importDefault(require("../types/schema"));
53
+ function getFiles(rootPath, preference = ["spec.yaml", "spec.json", "index.ts"]) {
54
+ const specifications = [];
55
+ const walkDir = (dir) => {
56
+ const entries = (0, node_fs_1.readdirSync)(dir, { withFileTypes: true });
57
+ // Find the first preferred file that exists in this directory
58
+ const preferredFile = preference.find((pref) => entries.some((entry) => entry.isFile() && entry.name === pref));
59
+ if (preferredFile) {
60
+ specifications.push((0, node_path_1.join)(dir, preferredFile));
61
+ }
62
+ // Recurse into subdirectories
63
+ for (const entry of entries) {
64
+ if (entry.isDirectory()) {
65
+ walkDir((0, node_path_1.join)(dir, entry.name));
66
+ }
67
+ }
68
+ };
69
+ walkDir(rootPath);
70
+ return specifications;
71
+ }
72
+ function getFilesFromPaths(paths, preference) {
73
+ return paths.flatMap((path) => getFiles(path, preference));
74
+ }
75
+ async function getEnvironmentConfig(file, config, manifest) {
76
+ const network = config.metadata.network || process.env.NETWORK;
77
+ if (!network) {
78
+ console.error(`No network specified for file ${file}. Please add it to the metadata or set the NETWORK environment variable.`);
79
+ return null;
80
+ }
81
+ let privateKey = process.env.PRIVATE_KEY;
82
+ let { owner } = config.metadata;
83
+ if (!privateKey && !owner) {
84
+ console.error(`No owner or private key specified for file ${file}. Please add owner to the metadata or set the PRIVATE_KEY environment variable.`);
85
+ return null;
86
+ }
87
+ if (privateKey && !owner) {
88
+ owner = new ethers_1.Wallet(privateKey).address;
89
+ }
90
+ if (owner && !privateKey) {
91
+ const account = (0, manifest_1.getAccountByAddress)(manifest, owner);
92
+ const password = process.env[(account === null || account === void 0 ? void 0 : account.passwordEnvKey) || ""] || "";
93
+ try {
94
+ privateKey = await (0, wallet_1.getPrivateKey)((account === null || account === void 0 ? void 0 : account.privateKeyPath) || "", password);
95
+ }
96
+ catch (error) {
97
+ console.error(`Failed to retrieve private key for owner ${owner}:`, error);
98
+ console.error("Password used:", password);
99
+ return null;
100
+ }
101
+ }
102
+ if (!privateKey) {
103
+ console.error(`Unable to retrieve private key for file ${file}. Please check the manifest and environment variables.`);
104
+ return null;
105
+ }
106
+ return { network, owner, privateKey };
107
+ }
108
+ function parseConfig(filePath) {
109
+ const raw = (0, node_fs_1.readFileSync)(filePath, "utf8");
110
+ const ext = node_path_1.default.extname(filePath).toLowerCase();
111
+ if (ext === ".json") {
112
+ return JSON.parse(raw);
113
+ }
114
+ if (ext === ".yaml") {
115
+ return (0, yaml_1.parse)(raw);
116
+ }
117
+ throw new Error(`Unsupported file extension: ${ext}`);
118
+ }
119
+ function writeConfig(config, filePath) {
120
+ const ext = node_path_1.default.extname(filePath).toLowerCase();
121
+ let content;
122
+ if (ext === ".json") {
123
+ content = JSON.stringify(config, null, 2);
124
+ }
125
+ else if (ext === ".yaml") {
126
+ content = (0, yaml_1.stringify)(config);
127
+ }
128
+ else {
129
+ throw new Error(`Unsupported file extension: ${ext}`);
130
+ }
131
+ (0, node_fs_1.writeFileSync)(filePath, content, "utf8");
132
+ }
133
+ function getPricing(connection, type, currency, amount) {
134
+ var _a;
135
+ if (type === "free" || !amount) {
136
+ return { type: "free" };
137
+ }
138
+ const pricingMap = {
139
+ EURAU: connection.pricingConfig.fixedRateEURAU,
140
+ EUROe: connection.pricingConfig.fixedRateEUROe,
141
+ OCEAN: connection.pricingConfig.fixedRateOCEAN,
142
+ };
143
+ const pricingFn = (_a = pricingMap[currency]) !== null && _a !== void 0 ? _a : pricingMap.OCEAN;
144
+ return pricingFn(amount);
145
+ }
146
+ async function publishFromFile(filePath, providerUrl, connection, dryRun) {
147
+ const config = parseConfig(filePath);
148
+ const ajv = new ajv_1.default();
149
+ const validate = ajv.compile(schema_1.default);
150
+ const valid = validate(config);
151
+ if (!valid) {
152
+ console.error("❌ Invalid publish config file:");
153
+ console.error(validate.errors);
154
+ throw new Error(`Publish config validation failed for file ${filePath}`);
155
+ }
156
+ const folder = node_path_1.default.dirname(filePath);
157
+ const assetBuilder = new nautilus_1.AssetBuilder()
158
+ .setType(config.metadata.type)
159
+ .setName(config.metadata.name)
160
+ .setOwner(connection.wallet.address)
161
+ .setDescription((0, node_fs_1.readFileSync)(node_path_1.default.resolve(folder, config.metadata.description), "utf8"))
162
+ .setLicense(config.metadata.license)
163
+ .setNftData(config.nftData);
164
+ if (config.metadata.author) {
165
+ assetBuilder.setAuthor(config.metadata.author);
166
+ }
167
+ if (config.metadata.tags) {
168
+ assetBuilder.addTags(config.metadata.tags);
169
+ }
170
+ if (config.metadata.links) {
171
+ assetBuilder.addLinks(config.metadata.links);
172
+ }
173
+ if (config.credentials) {
174
+ if (config.credentials.allow) {
175
+ assetBuilder.addCredentialAddresses(nautilus_1.CredentialListTypes.ALLOW, config.credentials.allow);
176
+ }
177
+ if (config.credentials.deny) {
178
+ assetBuilder.addCredentialAddresses(nautilus_1.CredentialListTypes.DENY, config.credentials.deny);
179
+ }
180
+ }
181
+ if (config.metadata.additionalInformation) {
182
+ assetBuilder.addAdditionalInformation(config.metadata.additionalInformation);
183
+ }
184
+ if (config.metadata.type === "algorithm" && config.metadata.algorithm) {
185
+ const consumerParameters = [];
186
+ for (const param of config.metadata.algorithm.consumerParameters || []) {
187
+ const consumerParameter = new nautilus_1.ConsumerParameterBuilder()
188
+ .setType(param.type)
189
+ .setName(param.name)
190
+ .setLabel(param.label)
191
+ .setDescription(param.description)
192
+ .setRequired(param.required)
193
+ .setDefault(typeof param.default === "object"
194
+ ? JSON.stringify(param.default)
195
+ : param.default);
196
+ for (const option of param.options || []) {
197
+ consumerParameter.addOption(option);
198
+ }
199
+ consumerParameters.push(consumerParameter.build());
200
+ }
201
+ const algorithm = {
202
+ container: config.metadata.algorithm.container,
203
+ language: config.metadata.algorithm.language,
204
+ version: config.metadata.algorithm.version,
205
+ };
206
+ assetBuilder.setAlgorithm(consumerParameters.length > 0
207
+ ? Object.assign(Object.assign({}, algorithm), { consumerParameters }) : algorithm);
208
+ }
209
+ const serviceBuilder = new nautilus_1.ServiceBuilder({
210
+ fileType: config.service.fileType,
211
+ serviceType: config.service.serviceType,
212
+ });
213
+ for (const file of config.service.files) {
214
+ serviceBuilder.addFile(file);
215
+ }
216
+ for (const param of config.service.consumerParameters || []) {
217
+ // Stringify param.default if it's an object
218
+ const defaultValue = typeof param.default === "object"
219
+ ? JSON.stringify(param.default)
220
+ : param.default;
221
+ const consumerParam = new nautilus_1.ConsumerParameterBuilder()
222
+ .setType(param.type)
223
+ .setName(param.name)
224
+ .setLabel(param.label)
225
+ .setDescription(param.description)
226
+ .setRequired(param.required)
227
+ .setDefault(defaultValue)
228
+ .build();
229
+ serviceBuilder.addConsumerParameter(consumerParam);
230
+ }
231
+ if (config.trustedAlgorithms) {
232
+ serviceBuilder.addTrustedAlgorithms(config.trustedAlgorithms);
233
+ }
234
+ for (const trustedAlgorithmPublisher of config.trustedAlgorithmPublishers ||
235
+ []) {
236
+ serviceBuilder.addTrustedAlgorithmPublisher(trustedAlgorithmPublisher);
237
+ }
238
+ if (config.trustOwnerAlgorithms) {
239
+ serviceBuilder.addTrustedAlgorithmPublisher(connection.wallet.address);
240
+ }
241
+ if (config.allowAlgorithmNetworkAccess !== undefined) {
242
+ serviceBuilder.allowAlgorithmNetworkAccess(config.allowAlgorithmNetworkAccess);
243
+ }
244
+ serviceBuilder
245
+ .setServiceEndpoint(providerUrl)
246
+ .setTimeout(config.service.timeout)
247
+ .setDatatokenNameAndSymbol(config.service.datatoken.name, config.service.datatoken.symbol)
248
+ .setPricing(getPricing(connection, config.service.pricing.type, config.service.pricing.currency, config.service.pricing.amount));
249
+ const service = serviceBuilder.build();
250
+ assetBuilder.addService(service);
251
+ const asset = assetBuilder.build();
252
+ console.log(`\n✅ Asset metadata:\n${JSON.stringify(asset, null, 2)}\n`);
253
+ if (dryRun) {
254
+ console.log("⚠️ Dry run enabled. Asset not published.\n");
255
+ return;
256
+ }
257
+ console.log(`🚀 Publishing asset...`);
258
+ const result = await connection.nautilus.publish(asset);
259
+ console.log([
260
+ "✅ Asset published.",
261
+ `🔗 Transaction: ${connection.networkConfig.explorerUri}/tx/${result.setMetadataTxReceipt.transactionHash}`,
262
+ `🌐 Asset: https://portal.agrospai.udl.cat/asset/${result.ddo.id}`,
263
+ ].join("\n"));
264
+ return asset.ddo.id;
265
+ }
266
+ //# sourceMappingURL=spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec.js","sourceRoot":"","sources":["../../src/lib/spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkDA,8CAKC;AAED,oDAkDC;AAED,kCAaC;AAED,kCAaC;AAwBD,0CA2LC;AA5VD,qCAAmE;AACnE,uDAAuC;AACvC,iDAM4B;AAC5B,8CAAsB;AACtB,mCAAgC;AAChC,+BAAwC;AAExC,6CAAqD;AACrD,yCAA6C;AAG7C,4DAAoC;AAGpC,SAAS,QAAQ,CACf,QAAgB,EAChB,aAAuB,CAAC,WAAW,EAAE,WAAW,EAAE,UAAU,CAAC;IAE7D,MAAM,cAAc,GAAa,EAAE,CAAC;IAEpC,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,EAAE;QAC9B,MAAM,OAAO,GAAG,IAAA,qBAAW,EAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAE1D,8DAA8D;QAC9D,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAC/D,CAAC;QAEF,IAAI,aAAa,EAAE,CAAC;YAClB,cAAc,CAAC,IAAI,CAAC,IAAA,gBAAI,EAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,8BAA8B;QAC9B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,OAAO,CAAC,IAAA,gBAAI,EAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClB,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,SAAgB,iBAAiB,CAC/B,KAAe,EACf,UAAqB;IAErB,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;AAC7D,CAAC;AAEM,KAAK,UAAU,oBAAoB,CACxC,IAAY,EACZ,MAAqB,EACrB,QAAkB;IAElB,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;IAC/D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CACX,iCAAiC,IAAI,0EAA0E,CAChH,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IACzC,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC;IAEhC,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC;QAC1B,OAAO,CAAC,KAAK,CACX,8CAA8C,IAAI,iFAAiF,CACpI,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC;QACzB,KAAK,GAAG,IAAI,eAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC;IACzC,CAAC;IAED,IAAI,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAA,8BAAmB,EAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,KAAI,EAAE,CAAC,IAAI,EAAE,CAAC;QAClE,IAAI,CAAC;YACH,UAAU,GAAG,MAAM,IAAA,sBAAa,EAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,cAAc,KAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC5E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CACX,4CAA4C,KAAK,GAAG,EACpD,KAAK,CACN,CAAC;YACF,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;YAC1C,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CACX,2CAA2C,IAAI,wDAAwD,CACxG,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;AACxC,CAAC;AAED,SAAgB,WAAW,CAAC,QAAgB;IAC1C,MAAM,GAAG,GAAG,IAAA,sBAAY,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC3C,MAAM,GAAG,GAAG,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAEjD,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACpB,OAAO,IAAA,YAAK,EAAC,GAAG,CAAkB,CAAC;IACrC,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;AACxD,CAAC;AAED,SAAgB,WAAW,CAAC,MAAqB,EAAE,QAAgB;IACjE,MAAM,GAAG,GAAG,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAEjD,IAAI,OAAe,CAAC;IACpB,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QACpB,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;SAAM,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;QAC3B,OAAO,GAAG,IAAA,gBAAS,EAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,IAAA,uBAAa,EAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,UAAU,CACjB,UAAsB,EACtB,IAAiD,EACjD,QAAyD,EACzD,MAAqD;;IAErD,IAAI,IAAI,KAAK,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC;IAED,MAAM,UAAU,GAAG;QACjB,KAAK,EAAE,UAAU,CAAC,aAAa,CAAC,cAAc;QAC9C,KAAK,EAAE,UAAU,CAAC,aAAa,CAAC,cAAc;QAC9C,KAAK,EAAE,UAAU,CAAC,aAAa,CAAC,cAAc;KACtC,CAAC;IAEX,MAAM,SAAS,GACb,MAAA,UAAU,CAAC,QAAmC,CAAC,mCAAI,UAAU,CAAC,KAAK,CAAC;IAEtE,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC;AAEM,KAAK,UAAU,eAAe,CACnC,QAAgB,EAChB,WAAmB,EACnB,UAAsB,EACtB,MAAe;IAEf,MAAM,MAAM,GAAkB,WAAW,CAAC,QAAQ,CAAC,CAAC;IAEpD,MAAM,GAAG,GAAG,IAAI,aAAG,EAAE,CAAC;IACtB,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAM,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAE/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAChD,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,6CAA6C,QAAQ,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,MAAM,GAAG,mBAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEtC,MAAM,YAAY,GAAG,IAAI,uBAAY,EAAE;SACpC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;SAC7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;SAC7B,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;SACnC,cAAc,CACb,IAAA,sBAAY,EAAC,mBAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,CACxE;SACA,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;SACnC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAE9B,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC3B,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACzB,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC1B,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,IAAI,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YAC7B,YAAY,CAAC,sBAAsB,CACjC,8BAAmB,CAAC,KAAK,EACzB,MAAM,CAAC,WAAW,CAAC,KAAK,CACzB,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YAC5B,YAAY,CAAC,sBAAsB,CACjC,8BAAmB,CAAC,IAAI,EACxB,MAAM,CAAC,WAAW,CAAC,IAAI,CACxB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,CAAC,qBAAqB,EAAE,CAAC;QAC1C,YAAY,CAAC,wBAAwB,CACnC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CACtC,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,WAAW,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QACtE,MAAM,kBAAkB,GAAG,EAAE,CAAC;QAC9B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,kBAAkB,IAAI,EAAE,EAAE,CAAC;YACvE,MAAM,iBAAiB,GAAG,IAAI,mCAAwB,EAAE;iBACrD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;iBACnB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;iBACnB,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;iBACrB,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC;iBACjC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC;iBAC3B,UAAU,CACT,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;gBAC/B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC;gBAC/B,CAAC,CAAC,KAAK,CAAC,OAAO,CAClB,CAAC;YAEJ,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;gBACzC,iBAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC;YAED,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,SAAS,GAAG;YAChB,SAAS,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS;YAC9C,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ;YAC5C,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO;SAC3C,CAAC;QAEF,YAAY,CAAC,YAAY,CACvB,kBAAkB,CAAC,MAAM,GAAG,CAAC;YAC3B,CAAC,iCAAM,SAAS,KAAE,kBAAkB,IACpC,CAAC,CAAC,SAAS,CACd,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,yBAAc,CAAC;QACxC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ;QACjC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW;KACxC,CAAC,CAAC;IAEH,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACxC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,kBAAkB,IAAI,EAAE,EAAE,CAAC;QAC5D,4CAA4C;QAC5C,MAAM,YAAY,GAChB,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;YAC/B,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC;YAC/B,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QAEpB,MAAM,aAAa,GAAG,IAAI,mCAAwB,EAAE;aACjD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;aACnB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;aACnB,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;aACrB,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC;aACjC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC;aAC3B,UAAU,CAAC,YAAY,CAAC;aACxB,KAAK,EAAE,CAAC;QAEX,cAAc,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAC7B,cAAc,CAAC,oBAAoB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,MAAM,yBAAyB,IAAI,MAAM,CAAC,0BAA0B;QACvE,EAAE,EAAE,CAAC;QACL,cAAc,CAAC,4BAA4B,CAAC,yBAAyB,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;QAChC,cAAc,CAAC,4BAA4B,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzE,CAAC;IAED,IAAI,MAAM,CAAC,2BAA2B,KAAK,SAAS,EAAE,CAAC;QACrD,cAAc,CAAC,2BAA2B,CACxC,MAAM,CAAC,2BAA2B,CACnC,CAAC;IACJ,CAAC;IAED,cAAc;SACX,kBAAkB,CAAC,WAAW,CAAC;SAC/B,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;SAClC,yBAAyB,CACxB,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAC7B,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAChC;SACA,UAAU,CACT,UAAU,CACR,UAAU,EACV,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAC3B,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAC/B,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAC9B,CACF,CAAC;IAEJ,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC;IAEvC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAEjC,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC;IAEnC,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;IAExE,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAEtC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CACT;QACE,oBAAoB;QACpB,mBAAmB,UAAU,CAAC,aAAa,CAAC,WAAW,OAAO,MAAM,CAAC,oBAAoB,CAAC,eAAe,EAAE;QAC3G,mDAAmD,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE;KACnE,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IAEF,OAAO,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;AACtB,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function getPrivateKey(privateKeyPath: string, password?: string): Promise<string>;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getPrivateKey = getPrivateKey;
7
+ const node_fs_1 = require("node:fs");
8
+ const ethereumjs_wallet_1 = __importDefault(require("ethereumjs-wallet"));
9
+ async function getPrivateKey(privateKeyPath, password = "") {
10
+ const keyStore = JSON.parse((0, node_fs_1.readFileSync)(privateKeyPath, "utf8"));
11
+ const wallet = await ethereumjs_wallet_1.default.fromV3(keyStore, password);
12
+ return wallet.getPrivateKeyString();
13
+ }
14
+ //# sourceMappingURL=wallet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/lib/wallet.ts"],"names":[],"mappings":";;;;;AAGA,sCAOC;AAVD,qCAAuC;AACvC,0EAAuC;AAEhC,KAAK,UAAU,aAAa,CACjC,cAAsB,EACtB,WAAmB,EAAE;IAErB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,MAAM,2BAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACvD,OAAO,MAAM,CAAC,mBAAmB,EAAE,CAAC;AACtC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function setKeyInYaml(filePath: string, key: string | undefined, value: unknown): void;
2
+ export declare function deleteKeyFromYaml(filePath: string, key?: string): void;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.setKeyInYaml = setKeyInYaml;
7
+ exports.deleteKeyFromYaml = deleteKeyFromYaml;
8
+ const node_fs_1 = __importDefault(require("node:fs"));
9
+ const yaml_1 = __importDefault(require("yaml"));
10
+ function getPathSegments(key) {
11
+ return key.split(".").filter(Boolean);
12
+ }
13
+ function setKeyInYaml(filePath, key = "metadata.did", value) {
14
+ var _a;
15
+ const source = node_fs_1.default.readFileSync(filePath, "utf8");
16
+ const doc = yaml_1.default.parseDocument(source);
17
+ const segments = getPathSegments(key);
18
+ let current = doc;
19
+ for (let i = 0; i < segments.length; i++) {
20
+ const segment = segments[i];
21
+ const isLast = i === segments.length - 1;
22
+ let next = (_a = current.get) === null || _a === void 0 ? void 0 : _a.call(current, segment, true);
23
+ if (isLast) {
24
+ // Create or update (UPSERT)
25
+ current.set(segment, value);
26
+ break;
27
+ }
28
+ if (!next || !yaml_1.default.isMap(next)) {
29
+ next = doc.createNode({});
30
+ current.set(segment, next);
31
+ }
32
+ current = next;
33
+ }
34
+ node_fs_1.default.writeFileSync(filePath, doc.toString());
35
+ }
36
+ function deleteKeyFromYaml(filePath, key = "metadata.did") {
37
+ var _a, _b;
38
+ const source = node_fs_1.default.readFileSync(filePath, "utf8");
39
+ const doc = yaml_1.default.parseDocument(source);
40
+ const segments = getPathSegments(key);
41
+ let current = doc;
42
+ for (let i = 0; i < segments.length - 1; i++) {
43
+ current = (_a = current.get) === null || _a === void 0 ? void 0 : _a.call(current, segments[i], true);
44
+ if (!current || !yaml_1.default.isMap(current)) {
45
+ // Path does not exist → nothing to delete
46
+ return;
47
+ }
48
+ }
49
+ const lastSegment = segments.at(-1);
50
+ (_b = current.delete) === null || _b === void 0 ? void 0 : _b.call(current, lastSegment);
51
+ node_fs_1.default.writeFileSync(filePath, doc.toString());
52
+ }
53
+ //# sourceMappingURL=yaml.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yaml.js","sourceRoot":"","sources":["../../src/lib/yaml.ts"],"names":[],"mappings":";;;;;AAOA,oCAiCC;AAED,8CAwBC;AAlED,sDAAyB;AACzB,gDAAwB;AAExB,SAAS,eAAe,CAAC,GAAW;IAClC,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACxC,CAAC;AAED,SAAgB,YAAY,CAC1B,QAAgB,EAChB,MAAc,cAAc,EAC5B,KAAc;;IAEd,MAAM,MAAM,GAAG,iBAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,cAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAEvC,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IAEtC,IAAI,OAAO,GAAQ,GAAG,CAAC;IAEvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,MAAM,GAAG,CAAC,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAEzC,IAAI,IAAI,GAAG,MAAA,OAAO,CAAC,GAAG,wDAAG,OAAO,EAAE,IAAI,CAAC,CAAC;QAExC,IAAI,MAAM,EAAE,CAAC;YACX,4BAA4B;YAC5B,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC5B,MAAM;QACR,CAAC;QAED,IAAI,CAAC,IAAI,IAAI,CAAC,cAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC7B,CAAC;QAED,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IAED,iBAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC7C,CAAC;AAED,SAAgB,iBAAiB,CAC/B,QAAgB,EAChB,MAAc,cAAc;;IAE5B,MAAM,MAAM,GAAG,iBAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,cAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAEvC,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IAEtC,IAAI,OAAO,GAAQ,GAAG,CAAC;IAEvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,OAAO,GAAG,MAAA,OAAO,CAAC,GAAG,wDAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAE3C,IAAI,CAAC,OAAO,IAAI,CAAC,cAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACrC,0CAA0C;YAC1C,OAAO;QACT,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,MAAA,OAAO,CAAC,MAAM,wDAAG,WAAW,CAAC,CAAC;IAE9B,iBAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC7C,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function generateManifestJsonSchema(): void;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.generateManifestJsonSchema = generateManifestJsonSchema;
7
+ const node_fs_1 = __importDefault(require("node:fs"));
8
+ const manifest_1 = require("../types/manifest");
9
+ function generateManifestJsonSchema() {
10
+ console.log("Generating manifest JSON schema...");
11
+ const jsonSchema = manifest_1.manifestSchema.toJSONSchema();
12
+ const path = "src/types/manifest-schema.json";
13
+ node_fs_1.default.writeFileSync(path, JSON.stringify(jsonSchema, null, 2));
14
+ }
15
+ if (typeof require !== "undefined" && require.main === module) {
16
+ const cmd = process.argv[2];
17
+ if (cmd === "generateManifestJsonSchema") {
18
+ generateManifestJsonSchema();
19
+ }
20
+ else {
21
+ console.error("Usage: npx ts-node src/scripts/json-schema.ts <command>");
22
+ }
23
+ }
24
+ //# sourceMappingURL=json-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-schema.js","sourceRoot":"","sources":["../../src/scripts/json-schema.ts"],"names":[],"mappings":";;;;;AAIA,gEAKC;AATD,sDAAyB;AAEzB,gDAAmD;AAEnD,SAAgB,0BAA0B;IACxC,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,yBAAc,CAAC,YAAY,EAAE,CAAC;IACjD,MAAM,IAAI,GAAG,gCAAgC,CAAC;IAC9C,iBAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC9D,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,GAAG,KAAK,4BAA4B,EAAE,CAAC;QACzC,0BAA0B,EAAE,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC"}
@@ -0,0 +1,52 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "properties": {
5
+ "accounts": {
6
+ "type": "array",
7
+ "items": {
8
+ "type": "object",
9
+ "properties": {
10
+ "name": {
11
+ "type": "string"
12
+ },
13
+ "address": {
14
+ "type": "string"
15
+ },
16
+ "privateKeyPath": {
17
+ "type": "string"
18
+ },
19
+ "passwordEnvKey": {
20
+ "type": "string"
21
+ },
22
+ "assets": {
23
+ "type": "array",
24
+ "items": {
25
+ "type": "object",
26
+ "properties": {
27
+ "name": {
28
+ "type": "string"
29
+ },
30
+ "key": {
31
+ "type": "string"
32
+ },
33
+ "spec": {
34
+ "type": "string"
35
+ },
36
+ "did": {
37
+ "type": "string"
38
+ }
39
+ },
40
+ "required": ["spec"],
41
+ "additionalProperties": false
42
+ }
43
+ }
44
+ },
45
+ "required": ["address", "privateKeyPath", "passwordEnvKey", "assets"],
46
+ "additionalProperties": false
47
+ }
48
+ }
49
+ },
50
+ "required": ["accounts"],
51
+ "additionalProperties": false
52
+ }
@@ -0,0 +1,17 @@
1
+ import { z } from "zod";
2
+ export declare const accountSchema: z.ZodObject<{
3
+ address: z.ZodString;
4
+ name: z.ZodOptional<z.ZodString>;
5
+ passwordEnvKey: z.ZodString;
6
+ privateKeyPath: z.ZodString;
7
+ }, z.core.$strip>;
8
+ export declare const manifestSchema: z.ZodObject<{
9
+ accounts: z.ZodArray<z.ZodObject<{
10
+ address: z.ZodString;
11
+ name: z.ZodOptional<z.ZodString>;
12
+ passwordEnvKey: z.ZodString;
13
+ privateKeyPath: z.ZodString;
14
+ }, z.core.$strip>>;
15
+ }, z.core.$strip>;
16
+ export type Account = z.infer<typeof accountSchema>;
17
+ export type Manifest = z.infer<typeof manifestSchema>;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.manifestSchema = exports.accountSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.accountSchema = zod_1.z.object({
6
+ address: zod_1.z.string(),
7
+ name: zod_1.z.string().optional(),
8
+ passwordEnvKey: zod_1.z.string(),
9
+ privateKeyPath: zod_1.z.string(),
10
+ });
11
+ exports.manifestSchema = zod_1.z.object({
12
+ accounts: zod_1.z.array(exports.accountSchema),
13
+ });
14
+ //# sourceMappingURL=manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/types/manifest.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,aAAa,GAAG,OAAC,CAAC,MAAM,CAAC;IACpC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE;IAC1B,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE;CAC3B,CAAC,CAAC;AAEU,QAAA,cAAc,GAAG,OAAC,CAAC,MAAM,CAAC;IACrC,QAAQ,EAAE,OAAC,CAAC,KAAK,CAAC,qBAAa,CAAC;CACjC,CAAC,CAAC"}
@@ -1,2 +1 @@
1
- import schema from './schema.json';
2
- export default schema;
1
+ export { default } from "./schema.json";
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const schema_json_1 = __importDefault(require("./schema.json"));
7
- exports.default = schema_json_1.default;
6
+ exports.default = void 0;
7
+ var schema_json_1 = require("./schema.json");
8
+ Object.defineProperty(exports, "default", { enumerable: true, get: function () { return __importDefault(schema_json_1).default; } });
8
9
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/types/schema.ts"],"names":[],"mappings":";;;;;AAAA,gEAAkC;AAElC,kBAAe,qBAAM,CAAA"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/types/schema.ts"],"names":[],"mappings":";;;;;;AAAA,6CAAwC;AAA/B,uHAAA,OAAO,OAAA"}