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
@@ -1,143 +0,0 @@
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.publishFromFile = void 0;
7
- const nautilus_1 = require("@deltadao/nautilus");
8
- const ajv_1 = __importDefault(require("ajv"));
9
- const js_yaml_1 = __importDefault(require("js-yaml"));
10
- const node_fs_1 = require("node:fs");
11
- const node_path_1 = __importDefault(require("node:path"));
12
- const schema_1 = __importDefault(require("../types/schema"));
13
- function parseConfig(filePath) {
14
- const raw = (0, node_fs_1.readFileSync)(filePath, 'utf-8');
15
- const ext = node_path_1.default.extname(filePath).toLowerCase();
16
- if (ext === '.json') {
17
- return JSON.parse(raw);
18
- }
19
- else if (ext === '.yaml') {
20
- return js_yaml_1.default.load(raw);
21
- }
22
- else {
23
- throw new Error(`Unsupported file extension: ${ext}`);
24
- }
25
- }
26
- const publishFromFile = async (filePath, providerUrl, connection, dryRun) => {
27
- const config = parseConfig(filePath);
28
- const ajv = new ajv_1.default();
29
- const validate = ajv.compile(schema_1.default);
30
- const valid = validate(config);
31
- if (!valid) {
32
- console.error('❌ Invalid publish config file:');
33
- console.error(validate.errors);
34
- process.exit(1);
35
- }
36
- const folder = node_path_1.default.dirname(filePath);
37
- const assetBuilder = new nautilus_1.AssetBuilder()
38
- .setType(config.metadata.type)
39
- .setName(config.metadata.name)
40
- .setAuthor(config.metadata.author)
41
- .setOwner(connection.wallet.address)
42
- .setDescription((0, node_fs_1.readFileSync)(node_path_1.default.resolve(folder, config.metadata.description), 'utf8'))
43
- .setLicense(config.metadata.license)
44
- .setNftData(config.nftData);
45
- if (config.metadata.tags) {
46
- assetBuilder.addTags(config.metadata.tags);
47
- }
48
- if (config.metadata.links) {
49
- assetBuilder.addLinks(config.metadata.links);
50
- }
51
- if (config.credentials) {
52
- if (config.credentials.allow) {
53
- assetBuilder.addCredentialAddresses(nautilus_1.CredentialListTypes.ALLOW, config.credentials.allow);
54
- }
55
- if (config.credentials.deny) {
56
- assetBuilder.addCredentialAddresses(nautilus_1.CredentialListTypes.DENY, config.credentials.deny);
57
- }
58
- }
59
- if (config.metadata.additionalInformation) {
60
- assetBuilder.addAdditionalInformation(config.metadata.additionalInformation);
61
- }
62
- if (config.metadata.type === 'algorithm' && config.metadata.algorithm) {
63
- const consumerParameters = [];
64
- for (const param of config.metadata.algorithm.consumerParameters || []) {
65
- const consumerParameter = new nautilus_1.ConsumerParameterBuilder()
66
- .setType(param.type)
67
- .setName(param.name)
68
- .setLabel(param.label)
69
- .setDescription(param.description)
70
- .setRequired(param.required)
71
- .setDefault(typeof param.default === 'object' ? JSON.stringify(param.default) : param.default);
72
- for (const option of param.options || []) {
73
- consumerParameter.addOption(option);
74
- }
75
- consumerParameters.push(consumerParameter.build());
76
- }
77
- const algorithm = {
78
- language: config.metadata.algorithm.language,
79
- version: config.metadata.algorithm.version,
80
- container: config.metadata.algorithm.container,
81
- };
82
- assetBuilder.setAlgorithm(consumerParameters.length > 0 ? Object.assign(Object.assign({}, algorithm), { consumerParameters }) : algorithm);
83
- }
84
- const serviceBuilder = new nautilus_1.ServiceBuilder({
85
- fileType: config.service.fileType,
86
- serviceType: config.service.serviceType,
87
- });
88
- for (const file of config.service.files) {
89
- serviceBuilder.addFile(file);
90
- }
91
- for (const param of config.service.consumerParameters || []) {
92
- // Stringify param.default if it's an object
93
- const defaultValue = typeof param.default === 'object' ? JSON.stringify(param.default) : param.default;
94
- const consumerParam = new nautilus_1.ConsumerParameterBuilder()
95
- .setType(param.type)
96
- .setName(param.name)
97
- .setLabel(param.label)
98
- .setDescription(param.description)
99
- .setRequired(param.required)
100
- .setDefault(defaultValue)
101
- .build();
102
- serviceBuilder.addConsumerParameter(consumerParam);
103
- }
104
- if (config.trustedAlgorithms) {
105
- serviceBuilder.addTrustedAlgorithms(config.trustedAlgorithms);
106
- }
107
- for (const trustedAlgorithmPublisher of config.trustedAlgorithmPublishers || []) {
108
- serviceBuilder.addTrustedAlgorithmPublisher(trustedAlgorithmPublisher);
109
- }
110
- if (config.trustOwnerAlgorithms) {
111
- serviceBuilder.addTrustedAlgorithmPublisher(connection.wallet.address);
112
- }
113
- if (config.allowAlgorithmNetworkAccess !== undefined) {
114
- serviceBuilder.allowAlgorithmNetworkAccess(config.allowAlgorithmNetworkAccess);
115
- }
116
- serviceBuilder
117
- .setServiceEndpoint(providerUrl)
118
- .setTimeout(config.service.timeout)
119
- .setDatatokenNameAndSymbol(config.service.datatoken.name, config.service.datatoken.symbol)
120
- .setPricing(config.service.pricing.type === 'free' || !config.service.pricing.amount
121
- ? { type: 'free' }
122
- : config.service.pricing.currency === 'EUROe'
123
- ? connection.pricingConfig.fixedRateEUROe(config.service.pricing.amount)
124
- : connection.pricingConfig.fixedRateOCEAN(config.service.pricing.amount));
125
- const service = serviceBuilder.build();
126
- assetBuilder.addService(service);
127
- const asset = assetBuilder.build();
128
- console.log(`\n✅ Asset metadata:\n${JSON.stringify(asset, null, 2)}\n`);
129
- if (dryRun) {
130
- console.log('⚠️ Dry run enabled. Asset not published.\n');
131
- return;
132
- }
133
- console.log(`🚀 Publishing asset...`);
134
- const result = await connection.nautilus.publish(asset);
135
- console.log([
136
- '✅ Asset published.',
137
- `🔗 Transaction: ${connection.networkConfig.explorerUri}/tx/${result.setMetadataTxReceipt.transactionHash}`,
138
- `🌐 Asset: https://portal.agrospai.udl.cat/asset/${result.ddo.id}`,
139
- ].join('\n'));
140
- return asset.ddo.id;
141
- };
142
- exports.publishFromFile = publishFromFile;
143
- //# sourceMappingURL=publishFromFile.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"publishFromFile.js","sourceRoot":"","sources":["../../src/lib/publishFromFile.ts"],"names":[],"mappings":"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"}