@veramo/cli 5.0.1-next.12 → 5.0.1-next.14

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 (89) hide show
  1. package/build/cli.d.ts +1 -13
  2. package/build/cli.d.ts.map +1 -1
  3. package/build/cli.js +3 -16
  4. package/build/cli.js.map +1 -1
  5. package/build/config.d.ts +3 -1
  6. package/build/config.d.ts.map +1 -1
  7. package/build/config.js +6 -4
  8. package/build/config.js.map +1 -1
  9. package/build/createCommand.d.ts +4 -0
  10. package/build/createCommand.d.ts.map +1 -0
  11. package/build/createCommand.js +31 -0
  12. package/build/createCommand.js.map +1 -0
  13. package/build/credential.d.ts +3 -1
  14. package/build/credential.d.ts.map +1 -1
  15. package/build/credential.js +12 -11
  16. package/build/credential.js.map +1 -1
  17. package/build/dev.d.ts +3 -1
  18. package/build/dev.d.ts.map +1 -1
  19. package/build/dev.js +5 -4
  20. package/build/dev.js.map +1 -1
  21. package/build/did.d.ts +3 -1
  22. package/build/did.d.ts.map +1 -1
  23. package/build/did.js +31 -25
  24. package/build/did.js.map +1 -1
  25. package/build/discover.d.ts +3 -1
  26. package/build/discover.d.ts.map +1 -1
  27. package/build/discover.js +6 -5
  28. package/build/discover.js.map +1 -1
  29. package/build/execute.d.ts +3 -1
  30. package/build/execute.d.ts.map +1 -1
  31. package/build/execute.js +13 -8
  32. package/build/execute.js.map +1 -1
  33. package/build/explore/index.d.ts +3 -1
  34. package/build/explore/index.d.ts.map +1 -1
  35. package/build/explore/index.js +4 -5
  36. package/build/explore/index.js.map +1 -1
  37. package/build/lib/agentCreator.d.ts +9 -0
  38. package/build/lib/agentCreator.d.ts.map +1 -1
  39. package/build/lib/agentCreator.js +9 -0
  40. package/build/lib/agentCreator.js.map +1 -1
  41. package/build/lib/objectCreator.d.ts +47 -1
  42. package/build/lib/objectCreator.d.ts.map +1 -1
  43. package/build/lib/objectCreator.js +48 -2
  44. package/build/lib/objectCreator.js.map +1 -1
  45. package/build/message.d.ts +3 -1
  46. package/build/message.d.ts.map +1 -1
  47. package/build/message.js +5 -4
  48. package/build/message.js.map +1 -1
  49. package/build/presentation.d.ts +3 -1
  50. package/build/presentation.d.ts.map +1 -1
  51. package/build/presentation.js +14 -13
  52. package/build/presentation.js.map +1 -1
  53. package/build/sdr.d.ts +3 -1
  54. package/build/sdr.d.ts.map +1 -1
  55. package/build/sdr.js +9 -7
  56. package/build/sdr.js.map +1 -1
  57. package/build/server.d.ts +3 -1
  58. package/build/server.d.ts.map +1 -1
  59. package/build/server.js +10 -7
  60. package/build/server.js.map +1 -1
  61. package/build/setup.d.ts +9 -1
  62. package/build/setup.d.ts.map +1 -1
  63. package/build/setup.js +22 -6
  64. package/build/setup.js.map +1 -1
  65. package/default/default.yml +24 -20
  66. package/package.json +45 -26
  67. package/src/__tests__/cli.test.ts +49 -0
  68. package/src/cli.ts +3 -17
  69. package/src/config.ts +9 -6
  70. package/src/createCommand.ts +34 -0
  71. package/src/credential.ts +13 -11
  72. package/src/dev.ts +8 -6
  73. package/src/did.ts +34 -27
  74. package/src/discover.ts +7 -5
  75. package/src/execute.ts +13 -8
  76. package/src/explore/index.ts +5 -5
  77. package/src/lib/agentCreator.ts +9 -0
  78. package/src/lib/objectCreator.ts +49 -3
  79. package/src/message.ts +6 -4
  80. package/src/presentation.ts +53 -48
  81. package/src/sdr.ts +10 -7
  82. package/src/server.ts +11 -7
  83. package/src/setup.ts +22 -6
  84. package/build/version.d.ts +0 -2
  85. package/build/version.d.ts.map +0 -1
  86. package/build/version.js +0 -7
  87. package/build/version.js.map +0 -1
  88. package/src/__tests__/default.test.ts +0 -6
  89. package/src/version.ts +0 -9
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAA;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAEtD,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,uBAAuB,CAAC;KACpC,MAAM,CAAC,qBAAqB,EAAE,wCAAwC,CAAC;KACvE,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACpB,MAAM,GAAG,GAAG,OAAO,EAAE,CAAA;IAErB,IAAI,MAAW,CAAA;IAEf,IAAI;QACF,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;QAC3F,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;KACvB;IAAC,OAAO,CAAM,EAAE;QACf,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QACtB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAChB;IAED,KAAK,IAAI,MAAM,IAAI,MAAM,CAAC,GAAG,EAAE;QAC7B,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAA;KACnB;IAED,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;QAC7C,OAAO,CAAC,GAAG,CAAC,2BAA2B,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;IAC1D,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAA;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAEtD,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KACjC,WAAW,CAAC,uBAAuB,CAAC;KACpC,MAAM,CAAC,qBAAqB,EAAE,wCAAwC,CAAC;KACvE,MAAM,CAAC,KAAK,EAAE,IAAsB,EAAE,GAAY,EAAE,EAAE;IACrD,MAAM,GAAG,GAAG,OAAO,EAAE,CAAA;IAErB,IAAI,MAAW,CAAA;IAEf,IAAI;QACF,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAA;QAClG,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;KACvB;IAAC,OAAO,CAAM,EAAE;QACf,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAChB;IAED,KAAK,IAAI,MAAM,IAAI,MAAM,CAAC,GAAG,EAAE;QAC7B,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAA;QAClB,IAAI,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;YACjC,OAAO,CAAC,GAAG,CAAC,uBAAuB,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;SACjE;KACF;IAED,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;QAC9C,OAAO,CAAC,GAAG,CAAC,2BAA2B,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;IAC1D,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA;AAEJ,OAAO,EAAE,MAAM,EAAE,CAAA"}
package/build/setup.d.ts CHANGED
@@ -2,7 +2,15 @@ import { ICredentialPlugin, IDataStore, IDataStoreORM, IDIDManager, IKeyManager,
2
2
  import { ISelectiveDisclosure } from '@veramo/selective-disclosure';
3
3
  import { IDIDComm } from '@veramo/did-comm';
4
4
  import { IDIDDiscovery } from '@veramo/did-discovery';
5
- export declare const getConfig: (fileName: string) => any;
5
+ import fs from 'fs';
6
+ /**
7
+ * Parses a yaml config file and returns a config object
8
+ * @param filePath
9
+ */
10
+ export declare const getConfig: (filePath: fs.PathLike) => Promise<{
11
+ [x: string]: any;
12
+ version?: number | undefined;
13
+ }>;
6
14
  export type EnabledInterfaces = IDIDManager & IKeyManager & IDataStore & IDataStoreORM & IResolver & IMessageHandler & IDIDComm & ICredentialPlugin & ISelectiveDisclosure & IDIDDiscovery;
7
15
  export type ConfiguredAgent = TAgent<EnabledInterfaces>;
8
16
  export declare function getAgent(fileName: string): Promise<ConfiguredAgent>;
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,WAAW,EACX,WAAW,EACX,eAAe,EACf,SAAS,EACT,MAAM,EACP,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAKrD,eAAO,MAAM,SAAS,aAAc,MAAM,KAAG,GAc5C,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,WAAW,GACzC,WAAW,GACX,UAAU,GACV,aAAa,GACb,SAAS,GACT,eAAe,GACf,QAAQ,GACR,iBAAiB,GACjB,oBAAoB,GACpB,aAAa,CAAA;AAEf,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAA;AAEvD,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAOzE"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,WAAW,EACX,WAAW,EACX,eAAe,EACf,SAAS,EACT,MAAM,EACP,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAGrD,OAAO,EAAE,MAAM,IAAI,CAAA;AAEnB;;;GAGG;AACH,eAAO,MAAM,SAAS,aAAoB,GAAG,QAAQ;;;EA0BpD,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,WAAW,GACzC,WAAW,GACX,UAAU,GACV,aAAa,GACb,SAAS,GACT,eAAe,GACf,QAAQ,GACR,iBAAiB,GACjB,oBAAoB,GACpB,aAAa,CAAA;AAEf,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAA;AAEvD,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAOzE"}
package/build/setup.js CHANGED
@@ -1,22 +1,38 @@
1
1
  import yaml from 'yaml';
2
2
  import { createAgentFromConfig } from './lib/agentCreator.js';
3
3
  import fs from 'fs';
4
- export const getConfig = (fileName) => {
5
- if (!fs.existsSync(fileName)) {
6
- console.log('Config file not found: ' + fileName);
4
+ /**
5
+ * Parses a yaml config file and returns a config object
6
+ * @param filePath
7
+ */
8
+ export const getConfig = async (filePath) => {
9
+ let fileContent;
10
+ // read file async
11
+ try {
12
+ fileContent = await fs.promises.readFile(filePath, 'utf8');
13
+ }
14
+ catch (e) {
15
+ console.log('Config file not found: ' + filePath);
7
16
  console.log('Use "veramo config create" to create one');
8
17
  process.exit(1);
9
18
  }
10
- const config = yaml.parse(fs.readFileSync(fileName).toString(), { prettyErrors: true });
19
+ let config;
20
+ try {
21
+ config = yaml.parse(fileContent, { prettyErrors: true });
22
+ }
23
+ catch (e) {
24
+ console.error(`Unable to parse config file: ${e.message} ${e.linePos}`);
25
+ process.exit(1);
26
+ }
11
27
  if (config?.version != 3) {
12
- console.log('Unsupported configuration file version:', config.version);
28
+ console.error('Unsupported configuration file version:', config.version);
13
29
  process.exit(1);
14
30
  }
15
31
  return config;
16
32
  };
17
33
  export async function getAgent(fileName) {
18
34
  try {
19
- return await createAgentFromConfig(getConfig(fileName));
35
+ return await createAgentFromConfig(await getConfig(fileName));
20
36
  }
21
37
  catch (e) {
22
38
  console.log('Unable to create agent from ' + fileName + '.', e.message);
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AAcvB,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAE7D,OAAO,EAAE,MAAM,IAAI,CAAA;AAEnB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,QAAgB,EAAO,EAAE;IACjD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC5B,OAAO,CAAC,GAAG,CAAC,yBAAyB,GAAG,QAAQ,CAAC,CAAA;QACjD,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAA;QACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAChB;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAA;IAEvF,IAAI,MAAM,EAAE,OAAO,IAAI,CAAC,EAAE;QACxB,OAAO,CAAC,GAAG,CAAC,yCAAyC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAChB;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAeD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,QAAgB;IAC7C,IAAI;QACF,OAAO,MAAM,qBAAqB,CAAoB,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAA;KAC3E;IAAC,OAAO,CAAM,EAAE;QACf,OAAO,CAAC,GAAG,CAAC,8BAA8B,GAAG,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAA;QACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAChB;AACH,CAAC"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AAcvB,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAE7D,OAAO,EAAE,MAAM,IAAI,CAAA;AAEnB;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,QAAqB,EAAmD,EAAE;IACxG,IAAI,WAAmB,CAAA;IAEvB,kBAAkB;IAClB,IAAI;QACF,WAAW,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;KAC3D;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,GAAG,CAAC,yBAAyB,GAAG,QAAQ,CAAC,CAAA;QACjD,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAA;QACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAChB;IAED,IAAI,MAAM,CAAA;IAEV,IAAI;QACF,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAA;KACzD;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;QACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAChB;IAED,IAAI,MAAM,EAAE,OAAO,IAAI,CAAC,EAAE;QACxB,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;QACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAChB;IACD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAeD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,QAAgB;IAC7C,IAAI;QACF,OAAO,MAAM,qBAAqB,CAAoB,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAA;KACjF;IAAC,OAAO,CAAM,EAAE;QACf,OAAO,CAAC,GAAG,CAAC,8BAA8B,GAAG,QAAQ,GAAG,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAA;QACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;KAChB;AACH,CAAC"}
@@ -160,25 +160,24 @@ messageHandler:
160
160
  didResolver:
161
161
  $require: '@veramo/did-resolver#DIDResolverPlugin'
162
162
  $args:
163
- - resolver:
164
- $require: did-resolver#Resolver
165
- $args:
166
- - ethr:
167
- $ref: /ethr-did-resolver
168
- web:
169
- $ref: /web-did-resolver
170
- key:
171
- $ref: /did-key-resolver
172
- 3:
173
- $ref: /3id-did-resolver
174
- elem:
175
- $ref: /universal-resolver
176
- io:
177
- $ref: /universal-resolver
178
- ion:
179
- $ref: /universal-resolver
180
- sov:
181
- $ref: /universal-resolver
163
+ - ethr:
164
+ $ref: /ethr-did-resolver
165
+ web:
166
+ $ref: /web-did-resolver
167
+ key:
168
+ $ref: /did-key-resolver
169
+ pkh:
170
+ $require: '@veramo/did-provider-pkh?t=function&p=/pkh#getDidPkhResolver'
171
+ 3:
172
+ $ref: /3id-did-resolver
173
+ elem:
174
+ $ref: /universal-resolver
175
+ io:
176
+ $ref: /universal-resolver
177
+ ion:
178
+ $ref: /universal-resolver
179
+ sov:
180
+ $ref: /universal-resolver
182
181
 
183
182
  ethr-did-resolver:
184
183
  $require: ethr-did-resolver?t=function&p=/ethr#getResolver
@@ -190,7 +189,7 @@ web-did-resolver:
190
189
 
191
190
  ceramic:
192
191
  $require: '@ceramicnetwork/http-client#CeramicClient'
193
- $args:
192
+ $args:
194
193
  - 'https://gateway.ceramic.network'
195
194
 
196
195
  3id-did-resolver:
@@ -259,6 +258,11 @@ didManager:
259
258
  $require: '@veramo/did-provider-key#KeyDIDProvider'
260
259
  $args:
261
260
  - defaultKms: local
261
+ did:pkh:
262
+ $require: '@veramo/did-provider-pkh#PkhDIDProvider'
263
+ $args:
264
+ - defaultKms: local
265
+ chainId: 1
262
266
 
263
267
  didDiscovery:
264
268
  $require: '@veramo/did-discovery#DIDDiscovery'
package/package.json CHANGED
@@ -1,9 +1,27 @@
1
1
  {
2
2
  "name": "@veramo/cli",
3
3
  "description": "Veramo command line application.",
4
- "version": "5.0.1-next.12+44bb3650",
4
+ "version": "5.0.1-next.14+19cccc1f",
5
+ "exports": {
6
+ ".": {
7
+ "types": "./build/cli.d.ts",
8
+ "import": "./build/cli.js"
9
+ },
10
+ "./build/setup": {
11
+ "types": "./build/setup.d.ts",
12
+ "import": "./build/setup.js"
13
+ },
14
+ "./build/lib/objectCreator": {
15
+ "types": "./build/lib/objectCreator.d.ts",
16
+ "import": "./build/lib/objectCreator.js"
17
+ },
18
+ "./build/lib/agentCreator": {
19
+ "types": "./build/lib/agentCreator.d.ts",
20
+ "import": "./build/lib/agentCreator.js"
21
+ },
22
+ "./package.json": "./package.json"
23
+ },
5
24
  "main": "build/cli.js",
6
- "exports": "./build/cli.js",
7
25
  "types": "build/cli.d.ts",
8
26
  "bin": {
9
27
  "veramo": "bin/veramo.js"
@@ -22,30 +40,31 @@
22
40
  "@transmute/credentials-context": "^0.7.0-unstable.79",
23
41
  "@types/blessed": "^0.1.19",
24
42
  "@types/swagger-ui-express": "^4.1.3",
25
- "@veramo/core": "^5.0.1-next.12+44bb3650",
26
- "@veramo/core-types": "^5.0.1-next.12+44bb3650",
27
- "@veramo/credential-eip712": "^5.0.1-next.12+44bb3650",
28
- "@veramo/credential-ld": "^5.0.1-next.12+44bb3650",
29
- "@veramo/credential-w3c": "^5.0.1-next.12+44bb3650",
30
- "@veramo/data-store": "^5.0.1-next.12+44bb3650",
31
- "@veramo/did-comm": "^5.0.1-next.12+44bb3650",
32
- "@veramo/did-discovery": "^5.0.1-next.12+44bb3650",
33
- "@veramo/did-jwt": "^5.0.1-next.12+44bb3650",
34
- "@veramo/did-manager": "^5.0.1-next.12+44bb3650",
35
- "@veramo/did-provider-ethr": "^5.0.1-next.12+44bb3650",
36
- "@veramo/did-provider-key": "^5.0.1-next.12+44bb3650",
37
- "@veramo/did-provider-web": "^5.0.1-next.12+44bb3650",
38
- "@veramo/did-resolver": "^5.0.1-next.12+44bb3650",
39
- "@veramo/key-manager": "^5.0.1-next.12+44bb3650",
40
- "@veramo/kms-local": "^5.0.1-next.12+44bb3650",
41
- "@veramo/message-handler": "^5.0.1-next.12+44bb3650",
42
- "@veramo/remote-client": "^5.0.1-next.12+44bb3650",
43
- "@veramo/remote-server": "^5.0.1-next.12+44bb3650",
44
- "@veramo/selective-disclosure": "^5.0.1-next.12+44bb3650",
45
- "@veramo/url-handler": "^5.0.1-next.12+44bb3650",
46
- "@veramo/utils": "^5.0.1-next.12+44bb3650",
43
+ "@veramo/core": "^5.0.1-next.14+19cccc1f",
44
+ "@veramo/core-types": "^5.0.1-next.14+19cccc1f",
45
+ "@veramo/credential-eip712": "^5.0.1-next.14+19cccc1f",
46
+ "@veramo/credential-ld": "^5.0.1-next.14+19cccc1f",
47
+ "@veramo/credential-w3c": "^5.0.1-next.14+19cccc1f",
48
+ "@veramo/data-store": "^5.0.1-next.14+19cccc1f",
49
+ "@veramo/did-comm": "^5.0.1-next.14+19cccc1f",
50
+ "@veramo/did-discovery": "^5.0.1-next.14+19cccc1f",
51
+ "@veramo/did-jwt": "^5.0.1-next.14+19cccc1f",
52
+ "@veramo/did-manager": "^5.0.1-next.14+19cccc1f",
53
+ "@veramo/did-provider-ethr": "^5.0.1-next.14+19cccc1f",
54
+ "@veramo/did-provider-key": "^5.0.1-next.14+19cccc1f",
55
+ "@veramo/did-provider-pkh": "^5.0.1-next.14+19cccc1f",
56
+ "@veramo/did-provider-web": "^5.0.1-next.14+19cccc1f",
57
+ "@veramo/did-resolver": "^5.0.1-next.14+19cccc1f",
58
+ "@veramo/key-manager": "^5.0.1-next.14+19cccc1f",
59
+ "@veramo/kms-local": "^5.0.1-next.14+19cccc1f",
60
+ "@veramo/message-handler": "^5.0.1-next.14+19cccc1f",
61
+ "@veramo/remote-client": "^5.0.1-next.14+19cccc1f",
62
+ "@veramo/remote-server": "^5.0.1-next.14+19cccc1f",
63
+ "@veramo/selective-disclosure": "^5.0.1-next.14+19cccc1f",
64
+ "@veramo/url-handler": "^5.0.1-next.14+19cccc1f",
65
+ "@veramo/utils": "^5.0.1-next.14+19cccc1f",
47
66
  "blessed": "^0.1.81",
48
- "commander": "^9.0.0",
67
+ "commander": "^10.0.0",
49
68
  "console-table-printer": "^2.10.0",
50
69
  "cors": "^2.8.5",
51
70
  "cross-fetch": "^3.1.4",
@@ -115,5 +134,5 @@
115
134
  "node_modules",
116
135
  "src"
117
136
  ],
118
- "gitHead": "44bb36503b635ee1f5431cb4bf28c7a9ba111156"
137
+ "gitHead": "19cccc1f394a63505fc40d57a7c1d26d21abc3e5"
119
138
  }
@@ -0,0 +1,49 @@
1
+ import { veramo } from '../createCommand.js'
2
+ import { jest } from '@jest/globals'
3
+ import { createObjects } from '../lib/objectCreator'
4
+ import { getConfig } from '../setup'
5
+
6
+ describe('cli version', () => {
7
+ const writeMock = jest.fn()
8
+
9
+ beforeAll(() => {
10
+ // veramo
11
+ // .exitOverride()
12
+ // .configureOutput({ writeOut: writeMock })
13
+ })
14
+
15
+ afterAll(() => {
16
+ jest.clearAllMocks()
17
+ })
18
+
19
+ it('should load the dbConnection', async () => {
20
+ const { dbConnection } = await createObjects(await getConfig('./packages/cli/default/default.yml'), {
21
+ dbConnection: '/dbConnection',
22
+ })
23
+ expect(dbConnection).toBeDefined()
24
+ })
25
+
26
+ // this seems to fail because of an incompatibility between jest and the `multiformats@11` transitive dependency
27
+ it.skip('should load the agent', async () => {
28
+ const { agent } = await createObjects(await getConfig('./packages/cli/default/default.yml'), {
29
+ agent: '/agent',
30
+ })
31
+ expect(agent).toBeDefined()
32
+ })
33
+
34
+ // this seems to fail because of some timing issues or an incompatibility with the `chalk` transitive dependency
35
+ it.skip('should list version number', async () => {
36
+ expect(() => {
37
+ // veramo.parse(['--version'], { from: 'user' })
38
+ }).toThrow()
39
+ expect(writeMock).toHaveBeenCalledWith(expect.stringMatching(/^\d\.\d\.\d\n?$/))
40
+ })
41
+
42
+ // this seems to fail because of some timing issues or an incompatibility with the `chalk` transitive dependency
43
+ it.skip('should check the default config', async () => {
44
+ expect(() => {
45
+ // veramo.parse(['config', 'check', '-f', './packages/cli/default/default.yml'], { from: 'user' })
46
+ }).toThrow(/hello/)
47
+ expect(writeMock).toHaveBeenCalledWith(expect.stringMatching(/^\d\.\d\.\d\n?$/))
48
+ })
49
+ })
package/src/cli.ts CHANGED
@@ -1,25 +1,11 @@
1
- import { program } from 'commander'
2
1
  import inquirer from 'inquirer'
3
2
  import inquirerAutoPrompt from 'inquirer-autocomplete-prompt'
4
3
 
5
4
  inquirer.registerPrompt('autocomplete', inquirerAutoPrompt)
6
-
7
- import './did.js'
8
- import './credential.js'
9
- import './presentation.js'
10
- import './explore/index.js'
11
- import './sdr.js'
12
- import './message.js'
13
- import './discover.js'
14
- import './version.js'
15
- import './execute.js'
16
- import './server.js'
17
- import './setup.js'
18
- import './config.js'
19
- import './dev.js'
5
+ import { veramo } from './createCommand.js'
20
6
 
21
7
  if (!process.argv.slice(2).length) {
22
- program.outputHelp()
8
+ veramo.outputHelp()
23
9
  } else {
24
- program.parse(process.argv)
10
+ veramo.parse(process.argv)
25
11
  }
package/src/config.ts CHANGED
@@ -1,15 +1,14 @@
1
- import { program } from 'commander'
1
+ import { Command } from 'commander'
2
2
  import { SecretBox } from '@veramo/kms-local'
3
3
  import { getAgent } from './setup.js'
4
- import fs from "fs"
4
+ import fs from 'fs'
5
5
  import { dirname } from 'path'
6
6
 
7
- import * as url from 'url';
8
- const __dirname = url.fileURLToPath(new URL('.', import.meta.url));
7
+ import * as url from 'url'
9
8
 
10
- program.option('--config <path>', 'Configuration file', './agent.yml')
9
+ const __dirname = url.fileURLToPath(new URL('.', import.meta.url))
11
10
 
12
- const config = program.command('config').description('Agent configuration')
11
+ const config = new Command('config').description('Agent configuration')
13
12
 
14
13
  config
15
14
  .command('create', { isDefault: true })
@@ -43,6 +42,8 @@ config
43
42
  .command('create-secret-key')
44
43
  .alias('gen-key')
45
44
  .alias('key-gen')
45
+ .alias('keygen')
46
+ .alias('genkey')
46
47
  .description('generate secret key')
47
48
  .option('-q, --quiet', 'Only print the raw key, no instructions', false)
48
49
  .action(async (options) => {
@@ -89,3 +90,5 @@ config
89
90
  }
90
91
  }
91
92
  })
93
+
94
+ export { config }
@@ -0,0 +1,34 @@
1
+ import { Command } from 'commander'
2
+ import module from 'module'
3
+
4
+ import { config } from './config.js'
5
+ import { credential } from './credential.js'
6
+ import { dev } from './dev.js'
7
+ import { did } from './did.js'
8
+ import { discover } from './discover.js'
9
+ import { execute } from './execute.js'
10
+ import { message } from './message.js'
11
+ import { presentation } from './presentation.js'
12
+ import { explore } from './explore/index.js'
13
+ import { sdr } from './sdr.js'
14
+ import { server } from './server.js'
15
+
16
+ const requireCjs = module.createRequire(import.meta.url)
17
+ const { version } = requireCjs('../package.json')
18
+
19
+ const veramo = new Command('veramo')
20
+ .version(version, '-v, --version')
21
+ .option('--config <string>', 'Configuration file', './agent.yml')
22
+ .addCommand(config)
23
+ .addCommand(credential)
24
+ .addCommand(dev)
25
+ .addCommand(did)
26
+ .addCommand(discover)
27
+ .addCommand(execute)
28
+ .addCommand(explore)
29
+ .addCommand(message)
30
+ .addCommand(presentation)
31
+ .addCommand(sdr)
32
+ .addCommand(server)
33
+
34
+ export { veramo }
package/src/credential.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { getAgent } from './setup.js'
2
- import { program } from 'commander'
2
+ import { Command } from 'commander'
3
3
  import inquirer from 'inquirer'
4
4
  import qrcode from 'qrcode-terminal'
5
5
  import * as fs from 'fs'
@@ -9,7 +9,7 @@ import { CredentialPayload } from '@veramo/core-types'
9
9
 
10
10
  import fuzzy from 'fuzzy'
11
11
 
12
- const credential = program.command('credential').description('W3C Verifiable Credential')
12
+ const credential = new Command('credential').description('W3C Verifiable Credential')
13
13
 
14
14
  credential
15
15
  .command('create', { isDefault: true })
@@ -17,8 +17,8 @@ credential
17
17
  .option('-s, --send', 'Send')
18
18
  .option('-j, --json', 'Output in JSON')
19
19
  .option('-q, --qrcode', 'Show qrcode')
20
- .action(async (cmd) => {
21
- const agent = await getAgent(program.opts().config)
20
+ .action(async (opts: { send: boolean; qrcode: boolean; json: boolean }, cmd: Command) => {
21
+ const agent = await getAgent(cmd.optsWithGlobals().config)
22
22
  const identifiers = await agent.didManagerFind()
23
23
 
24
24
  const knownDids = await agent.dataStoreORMGetIdentifiers()
@@ -127,7 +127,7 @@ credential
127
127
  proofFormat: answers.proofFormat,
128
128
  })
129
129
 
130
- if (cmd.send) {
130
+ if (opts.send) {
131
131
  let body
132
132
  let type
133
133
  if (answers.proofFormat == 'jwt') {
@@ -153,10 +153,10 @@ credential
153
153
  }
154
154
  }
155
155
 
156
- if (cmd.qrcode) {
156
+ if (opts.qrcode) {
157
157
  qrcode.generate(verifiableCredential.proof.jwt)
158
158
  } else {
159
- if (cmd.json) {
159
+ if (opts.json) {
160
160
  console.log(JSON.stringify(verifiableCredential, null, 2))
161
161
  } else {
162
162
  console.dir(verifiableCredential, { depth: 10 })
@@ -169,8 +169,8 @@ credential
169
169
  .description('Verify a W3C Verifiable Credential provided as raw string, file or stdin')
170
170
  .option('-f, --filename <string>', 'Optional. Read the credential from a file instead of stdin')
171
171
  .option('-r, --raw <string>', 'Optional. Specify the credential as a parameter instead of file or stdin')
172
- .action(async (options) => {
173
- const agent = await getAgent(program.opts().config)
172
+ .action(async (options: { raw: string; filename: string }, cmd: Command) => {
173
+ const agent = await getAgent(cmd.optsWithGlobals().config)
174
174
  let raw: string = ''
175
175
  if (options.raw) {
176
176
  raw = options.raw
@@ -205,8 +205,8 @@ credential
205
205
  credential
206
206
  .command('output')
207
207
  .description('Print W3C Verifiable Credential to stdout')
208
- .action(async (cmd) => {
209
- const agent = await getAgent(program.opts().config)
208
+ .action(async (opts: {}, cmd: Command) => {
209
+ const agent = await getAgent(cmd.optsWithGlobals().config)
210
210
 
211
211
  const credentials = await agent.dataStoreORMGetVerifiableCredentials()
212
212
 
@@ -236,3 +236,5 @@ credential
236
236
  console.log('No credentials found.')
237
237
  }
238
238
  })
239
+
240
+ export { credential }
package/src/dev.ts CHANGED
@@ -5,16 +5,15 @@ import {
5
5
  ApiParameterListMixin,
6
6
  ApiReturnTypeMixin,
7
7
  } from '@microsoft/api-extractor-model'
8
- import { program } from 'commander'
8
+ import { Command } from 'commander'
9
9
  import { writeFileSync } from 'fs'
10
10
  import { OpenAPIV3 } from 'openapi-types'
11
11
  import { resolve } from 'path'
12
12
  import * as TJS from 'ts-json-schema-generator'
13
- import fs from 'fs'
14
13
 
15
- import module from "module"
16
- const requireCjs = module.createRequire(import.meta.url);
14
+ import module from 'module'
17
15
 
16
+ const requireCjs = module.createRequire(import.meta.url)
18
17
 
19
18
  interface Method {
20
19
  packageName: string
@@ -24,6 +23,7 @@ interface Method {
24
23
  parameters?: string
25
24
  response: string
26
25
  }
26
+
27
27
  const genericTypes = ['boolean', 'string', 'number', 'any', 'Array<string>']
28
28
 
29
29
  function createSchema(generator: TJS.SchemaGenerator, symbol: string) {
@@ -84,7 +84,7 @@ function getReference(response: string): OpenAPIV3.ReferenceObject | OpenAPIV3.S
84
84
  }
85
85
  }
86
86
 
87
- const dev = program.command('dev').description('Plugin developer tools')
87
+ const dev = new Command('dev').description('Plugin developer tools')
88
88
 
89
89
  dev
90
90
  .command('generate-plugin-schema')
@@ -129,7 +129,7 @@ dev
129
129
  path: resolve(entryFile),
130
130
  encodeRefs: false,
131
131
  additionalProperties: true,
132
- skipTypeCheck: true
132
+ skipTypeCheck: true,
133
133
  })
134
134
 
135
135
  const apiModel: ApiModel = new ApiModel()
@@ -208,3 +208,5 @@ dev
208
208
  process.exitCode = 1
209
209
  }
210
210
  })
211
+
212
+ export { dev }