pontus-x_cli 1.0.4 → 1.2.5

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 (119) hide show
  1. package/README.md +144 -53
  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 +7 -5
  20. package/dist/commands/compute.js +136 -36
  21. package/dist/commands/compute.js.map +1 -1
  22. package/dist/commands/edit-additional-metadata.d.ts +3 -3
  23. package/dist/commands/edit-additional-metadata.js +18 -11
  24. package/dist/commands/edit-additional-metadata.js.map +1 -1
  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 +6 -5
  32. package/dist/commands/edit-trusted-algos.js +136 -21
  33. package/dist/commands/edit-trusted-algos.js.map +1 -1
  34. package/dist/commands/edit-trusted-publishers.d.ts +13 -0
  35. package/dist/commands/edit-trusted-publishers.js +132 -0
  36. package/dist/commands/edit-trusted-publishers.js.map +1 -0
  37. package/dist/commands/export-private-key.d.ts +2 -2
  38. package/dist/commands/export-private-key.js +27 -27
  39. package/dist/commands/export-private-key.js.map +1 -1
  40. package/dist/commands/generate-asset-credentials.d.ts +1 -1
  41. package/dist/commands/generate-asset-credentials.js +11 -11
  42. package/dist/commands/generate-asset-credentials.js.map +1 -1
  43. package/dist/commands/generate-did-web.d.ts +1 -1
  44. package/dist/commands/generate-did-web.js +11 -11
  45. package/dist/commands/generate-did-web.js.map +1 -1
  46. package/dist/commands/generate-participant-credentials.d.ts +1 -1
  47. package/dist/commands/generate-participant-credentials.js +10 -10
  48. package/dist/commands/generate-participant-credentials.js.map +1 -1
  49. package/dist/commands/get.d.ts +1 -1
  50. package/dist/commands/get.js +3 -3
  51. package/dist/commands/get.js.map +1 -1
  52. package/dist/commands/login.d.ts +2 -2
  53. package/dist/commands/login.js +16 -13
  54. package/dist/commands/login.js.map +1 -1
  55. package/dist/commands/logout.d.ts +1 -1
  56. package/dist/commands/logout.js +7 -7
  57. package/dist/commands/logout.js.map +1 -1
  58. package/dist/commands/publish.d.ts +5 -3
  59. package/dist/commands/publish.js +111 -43
  60. package/dist/commands/publish.js.map +1 -1
  61. package/dist/commands/render.d.ts +12 -0
  62. package/dist/commands/render.js +130 -0
  63. package/dist/commands/render.js.map +1 -0
  64. package/dist/commands/revoke.d.ts +7 -6
  65. package/dist/commands/revoke.js +92 -23
  66. package/dist/commands/revoke.js.map +1 -1
  67. package/dist/commands/self-description.d.ts +3 -3
  68. package/dist/commands/self-description.js +13 -8
  69. package/dist/commands/self-description.js.map +1 -1
  70. package/dist/config.d.ts +16 -18
  71. package/dist/config.js +63 -62
  72. package/dist/config.js.map +1 -1
  73. package/dist/index.d.ts +1 -1
  74. package/dist/index.js.map +1 -1
  75. package/dist/lib/aquarius.d.ts +29 -0
  76. package/dist/lib/aquarius.js +212 -0
  77. package/dist/lib/aquarius.js.map +1 -0
  78. package/dist/lib/gaia-x_compliance/generate-credentials/index.js +26 -25
  79. package/dist/lib/gaia-x_compliance/generate-credentials/index.js.map +1 -1
  80. package/dist/lib/manifest.d.ts +5 -0
  81. package/dist/lib/manifest.js +33 -0
  82. package/dist/lib/manifest.js.map +1 -0
  83. package/dist/lib/spec.d.ts +12 -0
  84. package/dist/lib/spec.js +266 -0
  85. package/dist/lib/spec.js.map +1 -0
  86. package/dist/lib/wallet.d.ts +2 -0
  87. package/dist/lib/wallet.js +19 -0
  88. package/dist/lib/wallet.js.map +1 -0
  89. package/dist/lib/yaml.d.ts +2 -0
  90. package/dist/lib/yaml.js +53 -0
  91. package/dist/lib/yaml.js.map +1 -0
  92. package/dist/scripts/json-schema.d.ts +1 -0
  93. package/dist/scripts/json-schema.js +24 -0
  94. package/dist/scripts/json-schema.js.map +1 -0
  95. package/dist/types/manifest-schema.json +52 -0
  96. package/dist/types/manifest.d.ts +17 -0
  97. package/dist/types/manifest.js +14 -0
  98. package/dist/types/manifest.js.map +1 -0
  99. package/dist/types/schema.d.ts +1 -2
  100. package/dist/types/schema.js +3 -2
  101. package/dist/types/schema.js.map +1 -1
  102. package/dist/types/schema.json +24 -72
  103. package/dist/utils/account.d.ts +2 -0
  104. package/dist/utils/account.js +41 -0
  105. package/dist/utils/account.js.map +1 -0
  106. package/dist/utils/asset.d.ts +25 -0
  107. package/dist/utils/asset.js +108 -0
  108. package/dist/utils/asset.js.map +1 -0
  109. package/dist/utils/connection.d.ts +3 -3
  110. package/dist/utils/connection.js +2 -2
  111. package/dist/utils/connection.js.map +1 -1
  112. package/dist/utils/login.d.ts +14 -0
  113. package/dist/utils/login.js +99 -0
  114. package/dist/utils/login.js.map +1 -0
  115. package/oclif.manifest.json +250 -39
  116. package/package.json +22 -18
  117. package/dist/lib/publishFromFile.d.ts +0 -2
  118. package/dist/lib/publishFromFile.js +0 -143
  119. 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.readPrivateKey)((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":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function readPrivateKey(privateKeyPath: string, password?: string): Promise<string>;
2
+ export declare function getOwnerAddress(privateKey: string): Promise<string>;
@@ -0,0 +1,19 @@
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.readPrivateKey = readPrivateKey;
7
+ exports.getOwnerAddress = getOwnerAddress;
8
+ const node_fs_1 = require("node:fs");
9
+ const ethereumjs_wallet_1 = __importDefault(require("ethereumjs-wallet"));
10
+ async function readPrivateKey(privateKeyPath, password = "") {
11
+ const keyStore = JSON.parse((0, node_fs_1.readFileSync)(privateKeyPath, "utf8"));
12
+ const wallet = await ethereumjs_wallet_1.default.fromV3(keyStore, password);
13
+ return wallet.getPrivateKeyString();
14
+ }
15
+ async function getOwnerAddress(privateKey) {
16
+ const wallet = ethereumjs_wallet_1.default.fromPrivateKey(Buffer.from(privateKey.replace(/^0x/, ""), "hex"));
17
+ return wallet.getAddressString();
18
+ }
19
+ //# sourceMappingURL=wallet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/lib/wallet.ts"],"names":[],"mappings":";;;;;AAGA,wCAOC;AAED,0CAKC;AAjBD,qCAAuC;AACvC,0EAAuC;AAEhC,KAAK,UAAU,cAAc,CAClC,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;AAEM,KAAK,UAAU,eAAe,CAAC,UAAkB;IACtD,MAAM,MAAM,GAAG,2BAAM,CAAC,cAAc,CAClC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAClD,CAAC;IACF,OAAO,MAAM,CAAC,gBAAgB,EAAE,CAAC;AACnC,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"}