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
@@ -1,37 +1,37 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const did_web_generator_1 = require("@gaia-x/did-web-generator");
4
- const core_1 = require("@oclif/core");
5
3
  const node_fs_1 = require("node:fs");
6
4
  const node_path_1 = require("node:path");
5
+ const did_web_generator_1 = require("@gaia-x/did-web-generator");
6
+ const core_1 = require("@oclif/core");
7
7
  class GenerateDidWeb extends core_1.Command {
8
8
  async run() {
9
9
  const { flags } = await this.parse(GenerateDidWeb);
10
10
  try {
11
- const x509 = (0, node_fs_1.readFileSync)(flags.certificate, 'utf8');
11
+ const x509 = (0, node_fs_1.readFileSync)(flags.certificate, "utf8");
12
12
  const didJson = await (0, did_web_generator_1.createDidDocument)(flags.domain, (0, node_path_1.basename)(flags.certificate), x509);
13
13
  const folder = (0, node_path_1.dirname)(flags.certificate);
14
- console.log('Writing DID Web document to ' + (0, node_path_1.resolve)(folder, 'did.json'));
15
- (0, node_fs_1.writeFileSync)((0, node_path_1.resolve)(folder, 'did.json'), JSON.stringify(didJson, null, 2));
14
+ console.log(`Writing DID Web document to ${(0, node_path_1.resolve)(folder, "did.json")}`);
15
+ (0, node_fs_1.writeFileSync)((0, node_path_1.resolve)(folder, "did.json"), JSON.stringify(didJson, null, 2));
16
16
  }
17
17
  catch (error) {
18
18
  this.error(error);
19
19
  }
20
20
  }
21
21
  }
22
- GenerateDidWeb.description = 'Generate a did.json to set up a DID-Web source to publish Gaia-X complaint credentials';
22
+ GenerateDidWeb.description = "Generate a did.json to set up a DID-Web source to publish Gaia-X complaint credentials";
23
23
  GenerateDidWeb.examples = [
24
- '<%= config.bin %> <%= command.id %> -d <https://compliance.agrospai.udl.cat> -c certificate-chain.crt',
24
+ "<%= config.bin %> <%= command.id %> -d <https://compliance.agrospai.udl.cat> -c certificate-chain.crt",
25
25
  ];
26
26
  GenerateDidWeb.flags = {
27
27
  certificate: core_1.Flags.string({
28
- char: 'c',
29
- description: 'Path to the file with the certificate chain for the DID domain URL',
28
+ char: "c",
29
+ description: "Path to the file with the certificate chain for the DID domain URL",
30
30
  required: true,
31
31
  }),
32
32
  domain: core_1.Flags.string({
33
- char: 'd',
34
- description: 'URL where the DID-Web document will be hosted',
33
+ char: "d",
34
+ description: "URL where the DID-Web document will be hosted",
35
35
  required: true,
36
36
  }),
37
37
  };
@@ -1 +1 @@
1
- {"version":3,"file":"generate-did-web.js","sourceRoot":"","sources":["../../src/commands/generate-did-web.ts"],"names":[],"mappings":";;AAAA,iEAA2D;AAC3D,sCAA0C;AAC1C,qCAAmD;AACnD,yCAAoD;AAEpD,MAAqB,cAAe,SAAQ,cAAO;IAkBjD,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;QAChD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAA,sBAAY,EAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;YACpD,MAAM,OAAO,GAAG,MAAM,IAAA,qCAAiB,EAAC,KAAK,CAAC,MAAM,EAAE,IAAA,oBAAQ,EAAC,KAAK,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAAA;YACxF,MAAM,MAAM,GAAG,IAAA,mBAAO,EAAC,KAAK,CAAC,WAAW,CAAC,CAAA;YACzC,OAAO,CAAC,GAAG,CAAC,8BAA8B,GAAG,IAAA,mBAAO,EAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;YACzE,IAAA,uBAAa,EAAC,IAAA,mBAAO,EAAC,MAAM,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;QAC9E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,KAAe,CAAC,CAAA;QAC7B,CAAC;IACH,CAAC;;AA5BM,0BAAW,GAAG,wFAAwF,CAAA;AACtG,uBAAQ,GAAsB;IACnC,uGAAuG;CACxG,CAAA;AACM,oBAAK,GAAG;IACb,WAAW,EAAE,YAAK,CAAC,MAAM,CAAC;QACxB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,oEAAoE;QACjF,QAAQ,EAAE,IAAI;KACf,CAAC;IACF,MAAM,EAAE,YAAK,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,+CAA+C;QAC5D,QAAQ,EAAE,IAAI;KACf,CAAC;CACH,CAAA;kBAhBkB,cAAc"}
1
+ {"version":3,"file":"generate-did-web.js","sourceRoot":"","sources":["../../src/commands/generate-did-web.ts"],"names":[],"mappings":";;AAAA,qCAAsD;AACtD,yCAAuD;AACvD,iEAA8D;AAC9D,sCAA6C;AAE7C,MAAqB,cAAe,SAAQ,cAAO;IAoBjD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACnD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAA,sBAAY,EAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YACrD,MAAM,OAAO,GAAG,MAAM,IAAA,qCAAiB,EACrC,KAAK,CAAC,MAAM,EACZ,IAAA,oBAAQ,EAAC,KAAK,CAAC,WAAW,CAAC,EAC3B,IAAI,CACL,CAAC;YACF,MAAM,MAAM,GAAG,IAAA,mBAAO,EAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAA,mBAAO,EAAC,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC;YAC1E,IAAA,uBAAa,EACX,IAAA,mBAAO,EAAC,MAAM,EAAE,UAAU,CAAC,EAC3B,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CACjC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,KAAe,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;;AArCM,0BAAW,GAChB,wFAAwF,CAAC;AACpF,uBAAQ,GAAsB;IACnC,uGAAuG;CACxG,CAAC;AACK,oBAAK,GAAG;IACb,WAAW,EAAE,YAAK,CAAC,MAAM,CAAC;QACxB,IAAI,EAAE,GAAG;QACT,WAAW,EACT,oEAAoE;QACtE,QAAQ,EAAE,IAAI;KACf,CAAC;IACF,MAAM,EAAE,YAAK,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,+CAA+C;QAC5D,QAAQ,EAAE,IAAI;KACf,CAAC;CACH,CAAC;kBAlBiB,cAAc"}
@@ -1,4 +1,4 @@
1
- import { Command } from '@oclif/core';
1
+ import { Command } from "@oclif/core";
2
2
  export default class GenerateParticipantCredentials extends Command {
3
3
  static description: string;
4
4
  static examples: Command.Example[];
@@ -21,29 +21,29 @@ class GenerateParticipantCredentials extends core_1.Command {
21
21
  }
22
22
  }
23
23
  }
24
- GenerateParticipantCredentials.description = 'Generate the Gaia-X credentials for the participant including their verifiable presentation';
24
+ GenerateParticipantCredentials.description = "Generate the Gaia-X credentials for the participant including their verifiable presentation";
25
25
  GenerateParticipantCredentials.examples = [
26
- '<%= config.bin %> <%= command.id %> -p ./CEP.data.json -d ./did.json -c certificate.key',
26
+ "<%= config.bin %> <%= command.id %> -p ./CEP.data.json -d ./did.json -c certificate.key",
27
27
  ];
28
28
  GenerateParticipantCredentials.flags = {
29
29
  certificate: core_1.Flags.string({
30
- char: 'c',
31
- description: 'Path to the certificate.key file',
30
+ char: "c",
31
+ description: "Path to the certificate.key file",
32
32
  required: true,
33
33
  }),
34
34
  didjson: core_1.Flags.string({
35
- char: 'd',
36
- description: 'Path to the did.json file',
35
+ char: "d",
36
+ description: "Path to the did.json file",
37
37
  required: true,
38
38
  }),
39
39
  participant: core_1.Flags.string({
40
- char: 'p',
41
- description: 'Path to the JSON file including the required participant data',
40
+ char: "p",
41
+ description: "Path to the JSON file including the required participant data",
42
42
  required: true,
43
43
  }),
44
44
  password: core_1.Flags.string({
45
- char: 'w',
46
- description: 'Password for the private key file (if not provided, it will be asked interactively)',
45
+ char: "w",
46
+ description: "Password for the private key file (if not provided, it will be asked interactively)",
47
47
  required: false,
48
48
  }),
49
49
  };
@@ -1 +1 @@
1
- {"version":3,"file":"generate-participant-credentials.js","sourceRoot":"","sources":["../../src/commands/generate-participant-credentials.ts"],"names":[],"mappings":";;;;;AAAA,sCAA0C;AAC1C,kEAAwC;AAExC,wFAAiF;AAEjF,MAAqB,8BAA+B,SAAQ,cAAO;IA4BjE,KAAK,CAAC,GAAG;;QACP,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAA;QAChE,IAAI,CAAC;YACH,MAAM,QAAQ,GACZ,MAAA,KAAK,CAAC,QAAQ,mCACd,uBAAY,CAAC,QAAQ,CAAC,gDAAgD,KAAK,CAAC,WAAW,IAAI,EAAE;gBAC3F,YAAY,EAAE,IAAI;aACnB,CAAC,CAAA;YACJ,MAAM,IAAA,0CAAmB,EAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;QAC1F,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,KAAe,CAAC,CAAA;QAC7B,CAAC;IACH,CAAC;;AAvCM,0CAAW,GAAG,6FAA6F,CAAA;AAC3G,uCAAQ,GAAsB;IACnC,yFAAyF;CAC1F,CAAA;AACM,oCAAK,GAAG;IACb,WAAW,EAAE,YAAK,CAAC,MAAM,CAAC;QACxB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,kCAAkC;QAC/C,QAAQ,EAAE,IAAI;KACf,CAAC;IACF,OAAO,EAAE,YAAK,CAAC,MAAM,CAAC;QACpB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,2BAA2B;QACxC,QAAQ,EAAE,IAAI;KACf,CAAC;IACF,WAAW,EAAE,YAAK,CAAC,MAAM,CAAC;QACxB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,+DAA+D;QAC5E,QAAQ,EAAE,IAAI;KACf,CAAC;IACF,QAAQ,EAAE,YAAK,CAAC,MAAM,CAAC;QACrB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,qFAAqF;QAClG,QAAQ,EAAE,KAAK;KAChB,CAAC;CACH,CAAA;kBA1BkB,8BAA8B"}
1
+ {"version":3,"file":"generate-participant-credentials.js","sourceRoot":"","sources":["../../src/commands/generate-participant-credentials.ts"],"names":[],"mappings":";;;;;AAAA,sCAA6C;AAC7C,kEAAyC;AAEzC,uFAAmF;AAEnF,MAAqB,8BAA+B,SAAQ,cAAO;IA+BjE,KAAK,CAAC,GAAG;;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACnE,IAAI,CAAC;YACH,MAAM,QAAQ,GACZ,MAAA,KAAK,CAAC,QAAQ,mCACd,uBAAY,CAAC,QAAQ,CACnB,gDAAgD,KAAK,CAAC,WAAW,IAAI,EACrE;gBACE,YAAY,EAAE,IAAI;aACnB,CACF,CAAC;YACJ,MAAM,IAAA,0CAAmB,EACvB,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,WAAW,EACjB,QAAQ,CACT,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,KAAe,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;;AAlDM,0CAAW,GAChB,6FAA6F,CAAC;AACzF,uCAAQ,GAAsB;IACnC,yFAAyF;CAC1F,CAAC;AACK,oCAAK,GAAG;IACb,WAAW,EAAE,YAAK,CAAC,MAAM,CAAC;QACxB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,kCAAkC;QAC/C,QAAQ,EAAE,IAAI;KACf,CAAC;IACF,OAAO,EAAE,YAAK,CAAC,MAAM,CAAC;QACpB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,2BAA2B;QACxC,QAAQ,EAAE,IAAI;KACf,CAAC;IACF,WAAW,EAAE,YAAK,CAAC,MAAM,CAAC;QACxB,IAAI,EAAE,GAAG;QACT,WAAW,EACT,+DAA+D;QACjE,QAAQ,EAAE,IAAI;KACf,CAAC;IACF,QAAQ,EAAE,YAAK,CAAC,MAAM,CAAC;QACrB,IAAI,EAAE,GAAG;QACT,WAAW,EACT,qFAAqF;QACvF,QAAQ,EAAE,KAAK;KAChB,CAAC;CACH,CAAC;kBA7BiB,8BAA8B"}
@@ -1,4 +1,4 @@
1
- import { Command } from '@oclif/core';
1
+ import { Command } from "@oclif/core";
2
2
  export default class Get extends Command {
3
3
  static args: {
4
4
  did: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
@@ -13,11 +13,11 @@ class Get extends core_1.Command {
13
13
  }
14
14
  }
15
15
  Get.args = {
16
- did: core_1.Args.string({ description: 'DID of the asset', required: true }),
16
+ did: core_1.Args.string({ description: "DID of the asset", required: true }),
17
17
  };
18
- Get.description = 'Get the available metadata to the asset with the given DID';
18
+ Get.description = "Get the available metadata to the asset with the given DID";
19
19
  Get.examples = [
20
- '<%= config.bin %> <%= command.id %> did:op:ffeee8c8f19328985ef6743b08e61ef89d5141027fd47612e32e7900cacd2b7a',
20
+ "<%= config.bin %> <%= command.id %> did:op:ffeee8c8f19328985ef6743b08e61ef89d5141027fd47612e32e7900cacd2b7a",
21
21
  ];
22
22
  exports.default = Get;
23
23
  //# sourceMappingURL=get.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../src/commands/get.ts"],"names":[],"mappings":";;AAAA,sCAAyC;AAEzC,oDAA8C;AAE9C,MAAqB,GAAI,SAAQ,cAAO;IAStC,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,IAAI,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACpC,MAAM,EAAC,GAAG,EAAC,GAAG,IAAI,CAAA;QAClB,IAAI,CAAC,GAAG,CAAC,sCAAsC,GAAG,EAAE,CAAC,CAAA;QACrD,MAAM,EAAC,QAAQ,EAAC,GAAG,MAAM,uBAAU,CAAC,OAAO,EAAE,CAAA;QAC7C,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAA;QAC1D,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,mBAAmB,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAA;IACtF,CAAC;;AAfM,QAAI,GAAG;IACZ,GAAG,EAAE,WAAI,CAAC,MAAM,CAAC,EAAC,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC;CACpE,CAAA;AACM,eAAW,GAAG,4DAA4D,CAAA;AAC1E,YAAQ,GAAsB;IACnC,6GAA6G;CAC9G,CAAA;kBAPkB,GAAG"}
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../src/commands/get.ts"],"names":[],"mappings":";;AAAA,sCAA4C;AAE5C,mDAAgD;AAEhD,MAAqB,GAAI,SAAQ,cAAO;IAUtC,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,GAAG,CAAC,sCAAsC,GAAG,EAAE,CAAC,CAAC;QACtD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,uBAAU,CAAC,OAAO,EAAE,CAAC;QAChD,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAC3D,IAAI,CAAC,GAAG,CACN,SAAS,GAAG,mBAAmB,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAC3E,CAAC;IACJ,CAAC;;AAlBM,QAAI,GAAG;IACZ,GAAG,EAAE,WAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;CACtE,CAAC;AACK,eAAW,GAChB,4DAA4D,CAAC;AACxD,YAAQ,GAAsB;IACnC,6GAA6G;CAC9G,CAAC;kBARiB,GAAG"}
@@ -1,4 +1,4 @@
1
- import { Command } from '@oclif/core';
1
+ import { Command } from "@oclif/core";
2
2
  export default class Login extends Command {
3
3
  static args: {
4
4
  keyFile: import("@oclif/core/lib/interfaces").Arg<string, {
@@ -10,5 +10,5 @@ export default class Login extends Command {
10
10
  static flags: {
11
11
  password: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
12
12
  };
13
- run(): Promise<void>;
13
+ run(): Promise<string>;
14
14
  }
@@ -3,47 +3,50 @@ 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 node_fs_1 = require("node:fs");
6
7
  const core_1 = require("@oclif/core");
7
8
  const dotenv_1 = __importDefault(require("dotenv"));
8
9
  const ethereumjs_wallet_1 = __importDefault(require("ethereumjs-wallet"));
9
- const node_fs_1 = require("node:fs");
10
10
  const readline_sync_1 = __importDefault(require("readline-sync"));
11
11
  dotenv_1.default.config();
12
12
  class Login extends core_1.Command {
13
13
  async run() {
14
14
  const { args, flags } = await this.parse(Login);
15
15
  const keyFileName = args.keyFile;
16
- const keyStore = JSON.parse((0, node_fs_1.readFileSync)(keyFileName, 'utf8'));
16
+ const keyStore = JSON.parse((0, node_fs_1.readFileSync)(keyFileName, "utf8"));
17
17
  const password = flags.password === undefined
18
18
  ? readline_sync_1.default.question(`Enter the password to decrypt the key file ${keyFileName}: `, {
19
19
  hideEchoBack: true,
20
20
  })
21
21
  : flags.password;
22
22
  const wallet = await ethereumjs_wallet_1.default.fromV3(keyStore, password);
23
- this.log('Storing your private key for this session with Pontus-X CLI, do not forget to logout.\n');
24
- const envConfig = dotenv_1.default.parse((0, node_fs_1.readFileSync)('.env', 'utf8'));
25
- envConfig.PRIVATE_KEY = wallet.getPrivateKeyString();
23
+ this.log("Storing your private key for this session with Pontus-X CLI, do not forget to logout.\n");
24
+ const envConfig = dotenv_1.default.parse((0, node_fs_1.readFileSync)(".env", "utf8"));
25
+ const privateKey = wallet.getPrivateKeyString();
26
+ envConfig.PRIVATE_KEY = privateKey;
26
27
  const updatedEnvConfig = Object.entries(envConfig)
27
28
  .map(([key, value]) => `${key}=${value}`)
28
- .join('\n');
29
- (0, node_fs_1.writeFileSync)('.env', updatedEnvConfig, 'utf8');
29
+ .join("\n");
30
+ (0, node_fs_1.writeFileSync)(".env", updatedEnvConfig, "utf8");
31
+ process.env.PRIVATE_KEY = privateKey;
32
+ return privateKey;
30
33
  }
31
34
  }
32
35
  Login.args = {
33
36
  keyFile: core_1.Args.file({
34
- description: 'Path to the keyFile.json',
37
+ description: "Path to the keyFile.json",
35
38
  required: true,
36
39
  }),
37
40
  };
38
- Login.description = 'Login to retrieve your private key from a JSON key store and store it in .env';
41
+ Login.description = "Login to retrieve your private key from a JSON key store and store it in .env";
39
42
  Login.examples = [
40
- '<%= config.bin %> <%= command.id %> d999baae98ac5246568fd726be8832c49626867d.json',
43
+ "<%= config.bin %> <%= command.id %> d999baae98ac5246568fd726be8832c49626867d.json",
41
44
  ];
42
45
  Login.flags = {
43
46
  password: core_1.Flags.string({
44
- char: 'p',
45
- description: 'Password to decrypt the key file',
46
- env: 'PASSWORD',
47
+ char: "p",
48
+ description: "Password to decrypt the key file",
49
+ env: "PASSWORD",
47
50
  required: false,
48
51
  }),
49
52
  };
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":";;;;;AAAA,sCAAgD;AAChD,oDAA2B;AAC3B,0EAAsC;AACtC,qCAAmD;AACnD,kEAAwC;AAExC,gBAAM,CAAC,MAAM,EAAE,CAAA;AAEf,MAAqB,KAAM,SAAQ,cAAO;IAoBxC,KAAK,CAAC,GAAG;QACP,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAA;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAA;QAC9D,MAAM,QAAQ,GACZ,KAAK,CAAC,QAAQ,KAAK,SAAS;YAC1B,CAAC,CAAC,uBAAY,CAAC,QAAQ,CAAC,8CAA8C,WAAW,IAAI,EAAE;gBACnF,YAAY,EAAE,IAAI;aACnB,CAAC;YACJ,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAA;QAEpB,MAAM,MAAM,GAAG,MAAM,2BAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;QACtD,IAAI,CAAC,GAAG,CAAC,yFAAyF,CAAC,CAAA;QACnG,MAAM,SAAS,GAAG,gBAAM,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;QAC5D,SAAS,CAAC,WAAW,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAA;QACpD,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;aAC/C,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;aACxC,IAAI,CAAC,IAAI,CAAC,CAAA;QACb,IAAA,uBAAa,EAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAA;IACjD,CAAC;;AAtCM,UAAI,GAAG;IACZ,OAAO,EAAE,WAAI,CAAC,IAAI,CAAC;QACjB,WAAW,EAAE,0BAA0B;QACvC,QAAQ,EAAE,IAAI;KACf,CAAC;CACH,CAAA;AACM,iBAAW,GAAG,+EAA+E,CAAA;AAC7F,cAAQ,GAAsB;IACnC,mFAAmF;CACpF,CAAA;AACM,WAAK,GAAG;IACb,QAAQ,EAAE,YAAK,CAAC,MAAM,CAAC;QACrB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,kCAAkC;QAC/C,GAAG,EAAE,UAAU;QACf,QAAQ,EAAE,KAAK;KAChB,CAAC;CACH,CAAA;kBAlBkB,KAAK"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":";;;;;AAAA,qCAAsD;AACtD,sCAAmD;AACnD,oDAA4B;AAC5B,0EAAuC;AACvC,kEAAyC;AAEzC,gBAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAqB,KAAM,SAAQ,cAAO;IAqBxC,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;QAC/D,MAAM,QAAQ,GACZ,KAAK,CAAC,QAAQ,KAAK,SAAS;YAC1B,CAAC,CAAC,uBAAY,CAAC,QAAQ,CACnB,8CAA8C,WAAW,IAAI,EAC7D;gBACE,YAAY,EAAE,IAAI;aACnB,CACF;YACH,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;QAErB,MAAM,MAAM,GAAG,MAAM,2BAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACvD,IAAI,CAAC,GAAG,CACN,yFAAyF,CAC1F,CAAC;QACF,MAAM,SAAS,GAAG,gBAAM,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7D,MAAM,UAAU,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAChD,SAAS,CAAC,WAAW,GAAG,UAAU,CAAC;QACnC,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;aAC/C,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;aACxC,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,IAAA,uBAAa,EAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,WAAW,GAAG,UAAU,CAAC;QACrC,OAAO,UAAU,CAAC;IACpB,CAAC;;AA/CM,UAAI,GAAG;IACZ,OAAO,EAAE,WAAI,CAAC,IAAI,CAAC;QACjB,WAAW,EAAE,0BAA0B;QACvC,QAAQ,EAAE,IAAI;KACf,CAAC;CACH,CAAC;AACK,iBAAW,GAChB,+EAA+E,CAAC;AAC3E,cAAQ,GAAsB;IACnC,mFAAmF;CACpF,CAAC;AACK,WAAK,GAAG;IACb,QAAQ,EAAE,YAAK,CAAC,MAAM,CAAC;QACrB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,kCAAkC;QAC/C,GAAG,EAAE,UAAU;QACf,QAAQ,EAAE,KAAK;KAChB,CAAC;CACH,CAAC;kBAnBiB,KAAK"}
@@ -1,4 +1,4 @@
1
- import { Command } from '@oclif/core';
1
+ import { Command } from "@oclif/core";
2
2
  export default class Logout extends Command {
3
3
  static description: string;
4
4
  static examples: Command.Example[];
@@ -3,22 +3,22 @@ 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 node_fs_1 = require("node:fs");
6
7
  const core_1 = require("@oclif/core");
7
8
  const dotenv_1 = __importDefault(require("dotenv"));
8
- const node_fs_1 = require("node:fs");
9
9
  dotenv_1.default.config();
10
10
  class Logout extends core_1.Command {
11
11
  async run() {
12
- const envConfig = dotenv_1.default.parse((0, node_fs_1.readFileSync)('.env', 'utf8'));
12
+ const envConfig = dotenv_1.default.parse((0, node_fs_1.readFileSync)(".env", "utf8"));
13
13
  delete envConfig.PRIVATE_KEY;
14
14
  const updatedEnvConfig = Object.entries(envConfig)
15
15
  .map(([key, value]) => `${key}=${value}`)
16
- .join('\n');
17
- (0, node_fs_1.writeFileSync)('.env', updatedEnvConfig, 'utf8');
18
- this.log('Logged out and removed PRIVATE_KEY from .env');
16
+ .join("\n");
17
+ (0, node_fs_1.writeFileSync)(".env", updatedEnvConfig, "utf8");
18
+ this.log("Logged out and removed PRIVATE_KEY from .env");
19
19
  }
20
20
  }
21
- Logout.description = 'Logout to remove your private key from .env file';
22
- Logout.examples = ['<%= config.bin %> <%= command.id %>'];
21
+ Logout.description = "Logout to remove your private key from .env file";
22
+ Logout.examples = ["<%= config.bin %> <%= command.id %>"];
23
23
  exports.default = Logout;
24
24
  //# sourceMappingURL=logout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logout.js","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":";;;;;AAAA,sCAAmC;AACnC,oDAA2B;AAC3B,qCAAmD;AAEnD,gBAAM,CAAC,MAAM,EAAE,CAAA;AAEf,MAAqB,MAAO,SAAQ,cAAO;IAIzC,KAAK,CAAC,GAAG;QACP,MAAM,SAAS,GAAG,gBAAM,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;QAC5D,OAAO,SAAS,CAAC,WAAW,CAAA;QAC5B,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;aAC/C,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;aACxC,IAAI,CAAC,IAAI,CAAC,CAAA;QACb,IAAA,uBAAa,EAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAA;QAC/C,IAAI,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAA;IAC1D,CAAC;;AAXM,kBAAW,GAAG,kDAAkD,CAAA;AAChE,eAAQ,GAAsB,CAAC,qCAAqC,CAAC,CAAA;kBAFzD,MAAM"}
1
+ {"version":3,"file":"logout.js","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":";;;;;AAAA,qCAAsD;AACtD,sCAAsC;AACtC,oDAA4B;AAE5B,gBAAM,CAAC,MAAM,EAAE,CAAC;AAEhB,MAAqB,MAAO,SAAQ,cAAO;IAIzC,KAAK,CAAC,GAAG;QACP,MAAM,SAAS,GAAG,gBAAM,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7D,OAAO,SAAS,CAAC,WAAW,CAAC;QAC7B,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;aAC/C,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;aACxC,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,IAAA,uBAAa,EAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;IAC3D,CAAC;;AAXM,kBAAW,GAAG,kDAAkD,CAAC;AACjE,eAAQ,GAAsB,CAAC,qCAAqC,CAAC,CAAC;kBAF1D,MAAM"}
@@ -1,4 +1,4 @@
1
- import { Command } from '@oclif/core';
1
+ import { Command } from "@oclif/core";
2
2
  export default class Publish extends Command {
3
3
  static args: {
4
4
  path: import("@oclif/core/lib/interfaces").Arg<string, {
@@ -8,8 +8,10 @@ export default class Publish extends Command {
8
8
  static description: string;
9
9
  static examples: Command.Example[];
10
10
  static flags: {
11
- 'dry-run': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
+ "dry-run": import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
12
+ manifest: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
12
13
  provider: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
14
+ recursive: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
13
15
  };
14
- run(): Promise<string | void>;
16
+ run(): Promise<string | undefined>;
15
17
  }
@@ -32,76 +32,144 @@ var __importStar = (this && this.__importStar) || (function () {
32
32
  return result;
33
33
  };
34
34
  })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
35
38
  Object.defineProperty(exports, "__esModule", { value: true });
36
- const core_1 = require("@oclif/core");
37
39
  const fs = __importStar(require("node:fs"));
38
40
  const vm = __importStar(require("node:vm"));
41
+ const core_1 = require("@oclif/core");
42
+ const chalk_1 = __importDefault(require("chalk"));
39
43
  const ts = __importStar(require("typescript"));
40
- const publishFromFile_1 = require("../lib/publishFromFile");
44
+ const yaml_1 = require("../lib/yaml");
41
45
  const connection_1 = require("../utils/connection");
42
- async function invokeFunctionFromFile(filePath, functionName, ...args) {
43
- // Read the TypeScript file content
44
- const tsContent = fs.readFileSync(filePath, 'utf8');
45
- // Transpile TypeScript to JavaScript
46
- const jsContent = ts.transpileModule(tsContent, {
47
- compilerOptions: { module: ts.ModuleKind.CommonJS },
48
- }).outputText;
49
- // Create a new context for the script
50
- const script = new vm.Script(jsContent);
51
- const context = vm.createContext({ console, exports, module, require });
52
- // Run the script in the context
53
- script.runInContext(context);
54
- // Invoke the function by name
55
- if (typeof context[functionName] === 'function') {
56
- return context[functionName](...args);
57
- }
58
- throw new Error(`Function ${functionName} not found in ${filePath}`);
59
- }
46
+ const manifest_1 = require("../lib/manifest");
47
+ const spec_1 = require("../lib/spec");
60
48
  class Publish extends core_1.Command {
61
49
  async run() {
62
50
  const { args, flags } = await this.parse(Publish);
63
- const connection = await connection_1.Connection.connect();
64
- this.log(`Publishing asset ${args.path} in provider ${flags.provider} from wallet ${connection.wallet.address}`);
65
- try {
66
- if (args.path.endsWith('.ts')) {
67
- const dirPath = args.path.split('/').slice(0, -1).join('/');
68
- await invokeFunctionFromFile(args.path, 'publish', dirPath, connection, flags.provider, flags['dry-run']);
51
+ if (!fs.existsSync(args.path)) {
52
+ this.error(`The provided path does not exist: ${args.path}`);
53
+ }
54
+ const isDirectory = fs.lstatSync(args.path).isDirectory();
55
+ if (!flags.recursive) {
56
+ let { path } = args;
57
+ if (isDirectory) {
58
+ path =
59
+ ["spec.yaml", "spec.json", "index.ts"]
60
+ .map((file) => `${args.path}/${file}`)
61
+ .find((file) => fs.existsSync(file)) || "";
62
+ if (!path) {
63
+ this.error(`No spec.yaml, spec.json or index.ts file found in the provided directory: ${args.path}`);
64
+ }
69
65
  }
70
- else if (args.path.endsWith('.json') || args.path.endsWith('.yaml')) {
71
- return await (0, publishFromFile_1.publishFromFile)(args.path, flags.provider, connection, flags['dry-run']);
66
+ try {
67
+ const connection = await connection_1.Connection.connect();
68
+ await publish(path, flags.provider, flags["dry-run"], connection);
72
69
  }
73
- else {
74
- this.error('The provided file must be a .json/.yaml or .ts file');
70
+ catch (error) {
71
+ console.error(error);
72
+ this.error("Please, login before running this command with a TypeScript file");
75
73
  }
74
+ return;
76
75
  }
77
- catch (error) {
78
- this.error(error);
76
+ const filesToPublish = (0, spec_1.getFilesFromPaths)([args.path], ["spec.yaml", "spec.json", "index.ts"]);
77
+ const manifest = (0, manifest_1.readManifest)(flags.manifest);
78
+ for (const file of filesToPublish) {
79
+ const config = (0, spec_1.parseConfig)(file);
80
+ const { did } = config.metadata;
81
+ if (did) {
82
+ console.log(chalk_1.default.yellow(`Skipping file ${file} as it is already published: ${did}`));
83
+ continue;
84
+ }
85
+ console.log(chalk_1.default.blue(`Processing file: ${file}`));
86
+ const environmentConfig = await (0, spec_1.getEnvironmentConfig)(file, config, manifest);
87
+ if (!environmentConfig) {
88
+ console.error(chalk_1.default.red(`Skipping file ${file} due to missing environment configuration`));
89
+ continue;
90
+ }
91
+ const { network, owner, privateKey } = environmentConfig;
92
+ console.log(chalk_1.default.green(`Publishing file ${file} with owner ${owner} on network ${network}`));
93
+ try {
94
+ const envOverrides = {
95
+ NETWORK: network,
96
+ PRIVATE_KEY: privateKey,
97
+ };
98
+ const connection = await connection_1.Connection.connect(envOverrides);
99
+ const publishedDid = await publish(file, flags.provider, flags["dry-run"], connection);
100
+ (0, yaml_1.setKeyInYaml)(file, "metadata.did", publishedDid);
101
+ (0, yaml_1.setKeyInYaml)(file, "metadata.owner", owner);
102
+ (0, yaml_1.setKeyInYaml)(file, "metadata.network", network);
103
+ console.log(chalk_1.default.green(`Published file ${file} with DID: ${publishedDid}`));
104
+ }
105
+ catch (error) {
106
+ console.error(error);
107
+ this.error(`Error publishing file ${file}`);
108
+ }
79
109
  }
80
110
  }
81
111
  }
82
112
  Publish.args = {
83
113
  path: core_1.Args.directory({
84
- description: 'Path to the JSON/YAML or TS file describing the asset to publish',
114
+ description: "Path to find a JSON/YAML or TS file describing the asset to publish",
85
115
  required: true,
86
116
  }),
87
117
  };
88
- Publish.description = 'Publish the asset as instructed in the provided script folder.';
118
+ Publish.description = "Publish the asset as instructed in the provided script folder.";
89
119
  Publish.examples = [
90
- '<%= config.bin %> <%= command.id %> samples/publish/algo/spec.json',
91
- '<%= config.bin %> <%= command.id %> samples/publish/algo/spec.yaml',
92
- '<%= config.bin %> <%= command.id %> samples/publish/algo/index.ts',
120
+ "<%= config.bin %> <%= command.id %> samples/publish/algo/",
121
+ "<%= config.bin %> <%= command.id %> samples/publish/algo/spec.json",
122
+ "<%= config.bin %> <%= command.id %> samples/publish/algo/spec.yaml",
123
+ "<%= config.bin %> <%= command.id %> samples/publish/algo/index.ts",
93
124
  ];
94
125
  Publish.flags = {
95
- 'dry-run': core_1.Flags.boolean({
126
+ "dry-run": core_1.Flags.boolean({
96
127
  default: false,
97
- description: 'Dry run the publishing process',
128
+ description: "Dry run the publishing process",
129
+ }),
130
+ manifest: core_1.Flags.string({
131
+ char: "m",
132
+ default: "./manifest.yaml",
133
+ description: "Path to the manifest file",
98
134
  }),
99
135
  provider: core_1.Flags.string({
100
- char: 'p',
101
- description: 'The Provider URL',
102
- required: true,
103
- default: 'https://provider.agrospai.udl.cat',
136
+ char: "p",
137
+ default: "https://provider.agrospai.udl.cat",
138
+ description: "The Provider URL",
139
+ }),
140
+ recursive: core_1.Flags.boolean({
141
+ char: "r",
142
+ default: false,
143
+ description: "Recursively publish assets in a directory (only for JSON/YAML files)",
104
144
  }),
105
145
  };
106
146
  exports.default = Publish;
147
+ async function invokeFunctionFromFile(filePath, functionName, ...args) {
148
+ // Read the TypeScript file content
149
+ const tsContent = fs.readFileSync(filePath, "utf8");
150
+ // Transpile TypeScript to JavaScript
151
+ const jsContent = ts.transpileModule(tsContent, {
152
+ compilerOptions: { module: ts.ModuleKind.CommonJS },
153
+ }).outputText;
154
+ // Create a new context for the script
155
+ const script = new vm.Script(jsContent);
156
+ const context = vm.createContext({ console, exports, module, require });
157
+ // Run the script in the context
158
+ script.runInContext(context);
159
+ // Invoke the function by name
160
+ if (typeof context[functionName] === "function") {
161
+ return context[functionName](...args);
162
+ }
163
+ throw new Error(`Function ${functionName} not found in ${filePath}`);
164
+ }
165
+ async function publish(path, provider, dryRun, connection) {
166
+ if (path.endsWith(".ts")) {
167
+ const dirPath = path.split("/").slice(0, -1).join("/");
168
+ return invokeFunctionFromFile(path, "publish", dirPath, connection, provider, dryRun);
169
+ }
170
+ if (path.endsWith(".json") || path.endsWith(".yaml")) {
171
+ return (0, spec_1.publishFromFile)(path, provider, connection, dryRun);
172
+ }
173
+ throw new Error("The provided file must be a .json/.yaml or .ts file");
174
+ }
107
175
  //# sourceMappingURL=publish.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { Command } from "@oclif/core";
2
+ export default class Render extends Command {
3
+ static args: {
4
+ did: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
5
+ };
6
+ static flags: {
7
+ dst: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
8
+ tags: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ onlyAccess: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
10
+ };
11
+ run(): Promise<void>;
12
+ }