@affinidi/cli 2.8.1 → 2.10.0

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 (77) hide show
  1. package/README.md +2 -0
  2. package/dist/commands/iota/create-config.d.ts +19 -0
  3. package/dist/commands/iota/create-config.js +160 -0
  4. package/dist/commands/iota/create-config.js.map +1 -0
  5. package/dist/commands/iota/create-query.d.ts +13 -0
  6. package/dist/commands/iota/create-query.js +72 -0
  7. package/dist/commands/iota/create-query.js.map +1 -0
  8. package/dist/commands/iota/delete-config.d.ts +11 -0
  9. package/dist/commands/iota/delete-config.js +34 -0
  10. package/dist/commands/iota/delete-config.js.map +1 -0
  11. package/dist/commands/iota/delete-query.d.ts +12 -0
  12. package/dist/commands/iota/delete-query.js +39 -0
  13. package/dist/commands/iota/delete-query.js.map +1 -0
  14. package/dist/commands/iota/get-config.d.ts +10 -0
  15. package/dist/commands/iota/get-config.js +34 -0
  16. package/dist/commands/iota/get-config.js.map +1 -0
  17. package/dist/commands/iota/get-query.d.ts +11 -0
  18. package/dist/commands/iota/get-query.js +39 -0
  19. package/dist/commands/iota/get-query.js.map +1 -0
  20. package/dist/commands/iota/list-configs.d.ts +7 -0
  21. package/dist/commands/iota/list-configs.js +16 -0
  22. package/dist/commands/iota/list-configs.js.map +1 -0
  23. package/dist/commands/iota/list-queries.d.ts +10 -0
  24. package/dist/commands/iota/list-queries.js +34 -0
  25. package/dist/commands/iota/list-queries.js.map +1 -0
  26. package/dist/commands/iota/update-config.d.ts +20 -0
  27. package/dist/commands/iota/update-config.js +97 -0
  28. package/dist/commands/iota/update-config.js.map +1 -0
  29. package/dist/commands/iota/update-query.d.ts +13 -0
  30. package/dist/commands/iota/update-query.js +73 -0
  31. package/dist/commands/iota/update-query.js.map +1 -0
  32. package/dist/commands/issuance/create-config.d.ts +14 -0
  33. package/dist/commands/issuance/create-config.js +146 -0
  34. package/dist/commands/issuance/create-config.js.map +1 -0
  35. package/dist/commands/issuance/delete-config.d.ts +11 -0
  36. package/dist/commands/issuance/delete-config.js +34 -0
  37. package/dist/commands/issuance/delete-config.js.map +1 -0
  38. package/dist/commands/issuance/get-config.d.ts +10 -0
  39. package/dist/commands/issuance/get-config.js +34 -0
  40. package/dist/commands/issuance/get-config.js.map +1 -0
  41. package/dist/commands/issuance/list-configs.d.ts +7 -0
  42. package/dist/commands/issuance/list-configs.js +16 -0
  43. package/dist/commands/issuance/list-configs.js.map +1 -0
  44. package/dist/commands/issuance/update-config.d.ts +15 -0
  45. package/dist/commands/issuance/update-config.js +90 -0
  46. package/dist/commands/issuance/update-config.js.map +1 -0
  47. package/dist/commands/wallet/create-wallet.d.ts +13 -0
  48. package/dist/commands/wallet/create-wallet.js +102 -0
  49. package/dist/commands/wallet/create-wallet.js.map +1 -0
  50. package/dist/commands/wallet/delete-wallet.d.ts +11 -0
  51. package/dist/commands/wallet/delete-wallet.js +34 -0
  52. package/dist/commands/wallet/delete-wallet.js.map +1 -0
  53. package/dist/commands/wallet/get-wallet.d.ts +10 -0
  54. package/dist/commands/wallet/get-wallet.js +34 -0
  55. package/dist/commands/wallet/get-wallet.js.map +1 -0
  56. package/dist/commands/wallet/list-wallets.d.ts +7 -0
  57. package/dist/commands/wallet/list-wallets.js +16 -0
  58. package/dist/commands/wallet/list-wallets.js.map +1 -0
  59. package/dist/commands/wallet/update-wallet.d.ts +12 -0
  60. package/dist/commands/wallet/update-wallet.js +65 -0
  61. package/dist/commands/wallet/update-wallet.js.map +1 -0
  62. package/dist/common/constants.d.ts +4 -0
  63. package/dist/common/constants.js +5 -0
  64. package/dist/common/constants.js.map +1 -1
  65. package/dist/services/affinidi/cis/service.d.ts +12 -0
  66. package/dist/services/affinidi/cis/service.js +59 -0
  67. package/dist/services/affinidi/cis/service.js.map +1 -0
  68. package/dist/services/affinidi/cwe/service.d.ts +12 -0
  69. package/dist/services/affinidi/cwe/service.js +59 -0
  70. package/dist/services/affinidi/cwe/service.js.map +1 -0
  71. package/dist/services/affinidi/errors.d.ts +1 -1
  72. package/dist/services/affinidi/errors.js +3 -0
  73. package/dist/services/affinidi/errors.js.map +1 -1
  74. package/dist/services/affinidi/iota/service.d.ts +18 -0
  75. package/dist/services/affinidi/iota/service.js +104 -0
  76. package/dist/services/affinidi/iota/service.js.map +1 -0
  77. package/package.json +13 -1
@@ -0,0 +1,20 @@
1
+ import { IotaConfigurationDto } from '@affinidi-tdk/iota-client';
2
+ import { BaseCommand } from '../../common/base-command.js';
3
+ export declare class UpdateIotaConfig extends BaseCommand<typeof UpdateIotaConfig> {
4
+ static summary: string;
5
+ static examples: string[];
6
+ static flags: {
7
+ id: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
+ name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
+ description: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ 'wallet-ari': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
+ 'token-max-age': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ 'response-webhook-url': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ 'enable-verification': import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
+ 'enable-consent-audit-log': import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
+ 'client-name': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
+ 'client-origin': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
+ 'client-logo': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
+ };
19
+ run(): Promise<IotaConfigurationDto>;
20
+ }
@@ -0,0 +1,97 @@
1
+ import { ux, Flags } from '@oclif/core';
2
+ import z from 'zod';
3
+ import { BaseCommand } from '../../common/base-command.js';
4
+ import { promptRequiredParameters } from '../../common/prompts.js';
5
+ import { INPUT_LIMIT } from '../../common/validators.js';
6
+ import { iotaService } from '../../services/affinidi/iota/service.js';
7
+ export class UpdateIotaConfig extends BaseCommand {
8
+ async run() {
9
+ const { flags } = await this.parse(UpdateIotaConfig);
10
+ const promptFlags = await promptRequiredParameters(['id'], flags);
11
+ const flagsSchema = z.object({ id: z.string().max(INPUT_LIMIT).uuid() });
12
+ const validatedFlags = flagsSchema.parse(promptFlags);
13
+ const data = {
14
+ name: promptFlags.name ?? undefined,
15
+ description: promptFlags.description ?? undefined,
16
+ walletAri: promptFlags['wallet-ari'] ?? undefined,
17
+ iotaResponseWebhookURL: promptFlags['response-webhook-url'] ?? undefined,
18
+ enableVerification: promptFlags['enable-verification'] ?? false,
19
+ enableConsentAuditLog: promptFlags['enable-consent-audit-log'] ?? false,
20
+ tokenMaxAge: promptFlags['token-max-age'] ?? undefined,
21
+ };
22
+ if (promptFlags['client-name'] || promptFlags['client-origin'] || promptFlags['client-logo']) {
23
+ data.clientMetadata = {
24
+ name: promptFlags['client-name'] ?? undefined,
25
+ origin: promptFlags['client-origin'] ?? undefined,
26
+ logo: promptFlags['client-logo'] ?? undefined,
27
+ };
28
+ }
29
+ const schema = z.object({
30
+ name: z.string().max(INPUT_LIMIT).optional(),
31
+ description: z.string().max(INPUT_LIMIT).optional(),
32
+ walletAri: z.string().min(1).max(INPUT_LIMIT).optional(),
33
+ enableVerification: z.boolean().optional(),
34
+ enableConsentAuditLog: z.boolean().optional(),
35
+ tokenMaxAge: z.number().min(1).max(10).optional(),
36
+ iotaResponseWebhookURL: z.string().max(INPUT_LIMIT).optional(),
37
+ clientMetadata: z
38
+ .object({
39
+ name: z.string().max(INPUT_LIMIT),
40
+ origin: z.string().max(INPUT_LIMIT),
41
+ logo: z.string().max(INPUT_LIMIT),
42
+ })
43
+ .optional(),
44
+ });
45
+ const configInput = schema.parse(data);
46
+ ux.action.start('Updating Affinidi Iota Framework configuration');
47
+ const output = await iotaService.updateIotaConfigById(validatedFlags.id, configInput);
48
+ ux.action.stop('Updated successfully!');
49
+ if (!this.jsonEnabled())
50
+ this.logJson(output);
51
+ return output;
52
+ }
53
+ }
54
+ UpdateIotaConfig.summary = 'Updates Affinidi Iota Framework configuration in your active project';
55
+ UpdateIotaConfig.examples = [
56
+ '<%= config.bin %> <%= command.id %> -i <value>',
57
+ '<%= config.bin %> <%= command.id %> --id <value>',
58
+ ];
59
+ UpdateIotaConfig.flags = {
60
+ id: Flags.string({
61
+ char: 'i',
62
+ summary: 'ID of the Affinidi Iota Framework configuration',
63
+ }),
64
+ name: Flags.string({
65
+ char: 'n',
66
+ summary: 'Name of the Affinidi Iota Framework configuration',
67
+ }),
68
+ description: Flags.string({
69
+ char: 'd',
70
+ summary: 'Description of the Affinidi Iota Framework configuration',
71
+ }),
72
+ 'wallet-ari': Flags.string({
73
+ summary: 'ARI of the wallet',
74
+ }),
75
+ 'token-max-age': Flags.integer({
76
+ summary: 'Token expiration time in seconds - integer between 1 and 10',
77
+ }),
78
+ 'response-webhook-url': Flags.string({
79
+ summary: 'Affinidi Iota Framework response webhook URL',
80
+ }),
81
+ 'enable-verification': Flags.boolean({
82
+ summary: 'Perform verification',
83
+ }),
84
+ 'enable-consent-audit-log': Flags.boolean({
85
+ summary: 'Log consents',
86
+ }),
87
+ 'client-name': Flags.string({
88
+ summary: 'Name, displayed in the consent page',
89
+ }),
90
+ 'client-origin': Flags.string({
91
+ summary: 'Domain, displayed in the consent page',
92
+ }),
93
+ 'client-logo': Flags.string({
94
+ summary: 'Application URL of a logo, displayed in the consent page',
95
+ }),
96
+ };
97
+ //# sourceMappingURL=update-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-config.js","sourceRoot":"","sources":["../../../src/commands/iota/update-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { PexQueryDto } from '@affinidi-tdk/iota-client';
2
+ import { BaseCommand } from '../../common/base-command.js';
3
+ export declare class UpdateQuery extends BaseCommand<typeof UpdateQuery> {
4
+ static summary: string;
5
+ static examples: string[];
6
+ static flags: {
7
+ 'configuration-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
+ 'query-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
+ description: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ file: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
+ };
12
+ run(): Promise<PexQueryDto>;
13
+ }
@@ -0,0 +1,73 @@
1
+ import { readFile } from 'fs/promises';
2
+ import { ux, Flags } from '@oclif/core';
3
+ import { CLIError } from '@oclif/core/errors';
4
+ import z from 'zod';
5
+ import { BaseCommand } from '../../common/base-command.js';
6
+ import { promptRequiredParameters } from '../../common/prompts.js';
7
+ import { INPUT_LIMIT, PRESENTATION_DEFINITION_LIMIT, validateInputLength } from '../../common/validators.js';
8
+ import { iotaService } from '../../services/affinidi/iota/service.js';
9
+ export class UpdateQuery extends BaseCommand {
10
+ async run() {
11
+ const { flags } = await this.parse(UpdateQuery);
12
+ const promptFlags = await promptRequiredParameters(['configuration-id', 'query-id'], flags);
13
+ const flagsSchema = z.object({
14
+ 'configuration-id': z.string().max(INPUT_LIMIT).uuid(),
15
+ 'query-id': z.string().max(INPUT_LIMIT).uuid(),
16
+ description: z.string().max(INPUT_LIMIT).optional(),
17
+ file: z.string().optional(),
18
+ });
19
+ const validatedFlags = flagsSchema.parse(promptFlags);
20
+ let data = {};
21
+ if (validatedFlags.file) {
22
+ const rawData = await readFile(validatedFlags.file, 'utf8');
23
+ try {
24
+ data = JSON.parse(rawData);
25
+ }
26
+ catch (error) {
27
+ throw new CLIError(`Provided file is not a valid JSON\n${error.message}`);
28
+ }
29
+ const vpDefinition = JSON.stringify(data);
30
+ validateInputLength(vpDefinition, PRESENTATION_DEFINITION_LIMIT);
31
+ data.vpDefinition = vpDefinition;
32
+ }
33
+ if (validatedFlags.description) {
34
+ data.description = validatedFlags.description;
35
+ }
36
+ const inputSchema = z.object({
37
+ description: z.string().optional(),
38
+ vpDefinition: z.string().optional(),
39
+ });
40
+ const input = inputSchema.parse(data);
41
+ ux.action.start('Updating PEX query');
42
+ const output = await iotaService.updatePexQueryById(validatedFlags['configuration-id'], validatedFlags['query-id'], input);
43
+ ux.action.stop('Updated successfully!');
44
+ if (!this.jsonEnabled())
45
+ this.logJson(output);
46
+ return output;
47
+ }
48
+ }
49
+ UpdateQuery.summary = 'Updates PEX query for your Affinidi Iota Framework configuration';
50
+ UpdateQuery.examples = [
51
+ '<%= config.bin %> <%= command.id %> -c <value> -i <value> -d <value> -f pexQuery.json',
52
+ '<%= config.bin %> <%= command.id %> --configuration-id <value> --query-id <value> -d <value> -f pexQuery.json',
53
+ '<%= config.bin %> <%= command.id %> --configuration-id <value> --query-id <value> --description <value> --file pexQuery.json',
54
+ ];
55
+ UpdateQuery.flags = {
56
+ 'configuration-id': Flags.string({
57
+ char: 'c',
58
+ summary: 'ID of the Affinidi Iota Framework configuration',
59
+ }),
60
+ 'query-id': Flags.string({
61
+ char: 'i',
62
+ summary: 'PEX query ID',
63
+ }),
64
+ description: Flags.string({
65
+ char: 'd',
66
+ summary: 'PEX query description',
67
+ }),
68
+ file: Flags.string({
69
+ char: 'f',
70
+ summary: 'Location of a json file containing PEX query',
71
+ }),
72
+ };
73
+ //# sourceMappingURL=update-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-query.js","sourceRoot":"","sources":["../../../src/commands/iota/update-query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAClE,OAAO,EAAE,WAAW,EAAE,6BAA6B,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAC5G,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAA;AAErE,MAAM,OAAO,WAAY,SAAQ,WAA+B;IA2BvD,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QAC/C,MAAM,WAAW,GAAG,MAAM,wBAAwB,CAAC,CAAC,kBAAkB,EAAE,UAAU,CAAC,EAAE,KAAK,CAAC,CAAA;QAE3F,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;YAC3B,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE;YACtD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE;YAC9C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE;YACnD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC5B,CAAC,CAAA;QAEF,MAAM,cAAc,GAAG,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QAErD,IAAI,IAAI,GAAwB,EAAE,CAAA;QAElC,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YAE3D,IAAI,CAAC;gBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YAC5B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,QAAQ,CAAC,sCAAuC,KAAe,CAAC,OAAO,EAAE,CAAC,CAAA;YACtF,CAAC;YAED,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YACzC,mBAAmB,CAAC,YAAY,EAAE,6BAA6B,CAAC,CAAA;YAEhE,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAClC,CAAC;QAED,IAAI,cAAc,CAAC,WAAW,EAAE,CAAC;YAC/B,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,WAAW,CAAA;QAC/C,CAAC;QAED,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;YAC3B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAClC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SACpC,CAAC,CAAA;QAEF,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAErC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;QACrC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,kBAAkB,CACjD,cAAc,CAAC,kBAAkB,CAAC,EAClC,cAAc,CAAC,UAAU,CAAC,EAC1B,KAAK,CACN,CAAA;QACD,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QAEvC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAC7C,OAAO,MAAM,CAAA;IACf,CAAC;;AA7EM,mBAAO,GAAG,kEAAkE,CAAA;AAC5E,oBAAQ,GAAG;IAChB,uFAAuF;IACvF,+GAA+G;IAC/G,8HAA8H;CAC/H,CAAA;AAEM,iBAAK,GAAG;IACb,kBAAkB,EAAE,KAAK,CAAC,MAAM,CAAC;QAC/B,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,iDAAiD;KAC3D,CAAC;IACF,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC;QACvB,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,cAAc;KACxB,CAAC;IACF,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC;QACxB,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,uBAAuB;KACjC,CAAC;IACF,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;QACjB,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,8CAA8C;KACxD,CAAC;CACH,CAAA"}
@@ -0,0 +1,14 @@
1
+ import { IssuanceConfigDto } from '@affinidi-tdk/credential-issuance-client';
2
+ import { BaseCommand } from '../../common/base-command.js';
3
+ export declare class CreateIssuanceConfig extends BaseCommand<typeof CreateIssuanceConfig> {
4
+ static summary: string;
5
+ static examples: string[];
6
+ static flags: {
7
+ name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
+ description: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
+ 'wallet-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ 'credential-offer-duration': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
+ file: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ };
13
+ run(): Promise<IssuanceConfigDto>;
14
+ }
@@ -0,0 +1,146 @@
1
+ import { readFile } from 'fs/promises';
2
+ import { input, select } from '@inquirer/prompts';
3
+ import { ux, Flags } from '@oclif/core';
4
+ import { CLIError } from '@oclif/core/errors';
5
+ import z from 'zod';
6
+ import { BaseCommand } from '../../common/base-command.js';
7
+ import { DidMethods } from '../../common/constants.js';
8
+ import { promptRequiredParameters } from '../../common/prompts.js';
9
+ import { INPUT_LIMIT, validateInputLength } from '../../common/validators.js';
10
+ import { issuanceService } from '../../services/affinidi/cis/service.js';
11
+ import { cweService } from '../../services/affinidi/cwe/service.js';
12
+ export class CreateIssuanceConfig extends BaseCommand {
13
+ async run() {
14
+ const { flags } = await this.parse(CreateIssuanceConfig);
15
+ const promptFlags = await promptRequiredParameters(['wallet-id', 'name', 'file'], flags);
16
+ const flagsSchema = z.object({
17
+ 'wallet-id': z.string().max(INPUT_LIMIT),
18
+ name: z.string().min(3).max(INPUT_LIMIT),
19
+ description: z.string().max(INPUT_LIMIT).optional(),
20
+ 'credential-offer-duration': z.number().optional(),
21
+ file: z.string(),
22
+ });
23
+ const validatedFlags = flagsSchema.parse(promptFlags);
24
+ ux.action.start('Fetching wallets');
25
+ const { wallets } = await cweService.listWallets();
26
+ ux.action.stop('Fetched successfully!');
27
+ let issuerWalletId = validatedFlags['wallet-id'];
28
+ const walletIds = wallets?.map((wallet) => wallet.id) || [];
29
+ const wrongAriProvided = !walletIds.includes(issuerWalletId);
30
+ if (!issuerWalletId || wallets?.length === 0 || wrongAriProvided) {
31
+ const walletChoices = wallets?.map((wallet) => ({
32
+ name: wallet.name || wallet.id,
33
+ value: wallet.id,
34
+ })) || [];
35
+ const CREATE_NEW_WALLET = 'Create new wallet';
36
+ walletChoices.push({ name: CREATE_NEW_WALLET, value: CREATE_NEW_WALLET });
37
+ const selectedWallet = await select({
38
+ message: 'Select the wallet used for signing credentials that will be issued',
39
+ choices: walletChoices,
40
+ });
41
+ if (selectedWallet === CREATE_NEW_WALLET) {
42
+ const walletDidMethodChoices = Object.values(DidMethods).map((method) => ({
43
+ name: method,
44
+ value: method,
45
+ default: DidMethods.KEY,
46
+ }));
47
+ const name = validateInputLength(await input({ message: 'Enter wallet name' }), INPUT_LIMIT);
48
+ const description = validateInputLength(await input({ message: 'Enter wallet description (optional)' }), INPUT_LIMIT);
49
+ const didMethod = await select({ message: 'Select DID method of wallet', choices: walletDidMethodChoices });
50
+ const isDidWeb = didMethod === DidMethods.WEB;
51
+ const didWebUrl = isDidWeb
52
+ ? validateInputLength(await input({ message: 'Enter did:web URL (your applications domain)' }), INPUT_LIMIT)
53
+ : undefined;
54
+ const newWalletData = {
55
+ name,
56
+ description,
57
+ didMethod,
58
+ ...(isDidWeb && { didWebUrl }),
59
+ };
60
+ const walletSchema = z
61
+ .object({
62
+ name: z.string().min(3).max(INPUT_LIMIT).optional(),
63
+ description: z.string().max(INPUT_LIMIT).optional(),
64
+ didMethod: z.nativeEnum(DidMethods).optional(),
65
+ didWebUrl: z.string().min(3).max(INPUT_LIMIT).optional(),
66
+ })
67
+ .refine((wallet) => {
68
+ if (wallet.didMethod === DidMethods.WEB && !wallet.didWebUrl) {
69
+ return false;
70
+ }
71
+ return true;
72
+ });
73
+ const createWalletInput = walletSchema.parse(newWalletData);
74
+ ux.action.start('Creating wallet');
75
+ const output = await cweService.createWallet(createWalletInput);
76
+ ux.action.stop('Created successfully!');
77
+ issuerWalletId = output.wallet?.id || '';
78
+ }
79
+ else {
80
+ issuerWalletId = selectedWallet || '';
81
+ }
82
+ }
83
+ let credentialSupported;
84
+ try {
85
+ const rawData = await readFile(validatedFlags.file, 'utf8');
86
+ credentialSupported = JSON.parse(rawData);
87
+ }
88
+ catch (error) {
89
+ throw new CLIError(`Provided file is not a valid JSON\n${error.message}`);
90
+ }
91
+ const data = {
92
+ name: flags.name ??
93
+ validateInputLength(await input({ message: 'Enter credential issuance configuration name' }), INPUT_LIMIT),
94
+ description: flags.description ?? '',
95
+ issuerWalletId,
96
+ credentialOfferDuration: flags['credential-offer-duration'] ?? undefined,
97
+ credentialSupported: credentialSupported ?? [],
98
+ };
99
+ const credentialSupportedSchema = z.object({
100
+ credentialTypeId: z.string(),
101
+ jsonSchemaUrl: z.string(),
102
+ jsonLdContextUrl: z.string(),
103
+ });
104
+ const schema = z.object({
105
+ name: z.string().min(3).max(INPUT_LIMIT),
106
+ issuerWalletId: z.string().min(1).max(INPUT_LIMIT),
107
+ description: z.string().max(INPUT_LIMIT).optional(),
108
+ credentialOfferDuration: z.number().min(1).optional(),
109
+ credentialSupported: z.array(credentialSupportedSchema),
110
+ });
111
+ const configInput = schema.parse(data);
112
+ ux.action.start('Creating credential issuance configuration');
113
+ const output = await issuanceService.createIssuanceConfig(configInput);
114
+ ux.action.stop('Created successfully!');
115
+ if (!this.jsonEnabled())
116
+ this.logJson(output);
117
+ return output;
118
+ }
119
+ }
120
+ CreateIssuanceConfig.summary = 'Creates credential issuance configuration in your active project';
121
+ CreateIssuanceConfig.examples = [
122
+ '<%= config.bin %> <%= command.id %> -n <value> -w <value> -f credentialSchemas.json',
123
+ '<%= config.bin %> <%= command.id %> --name <value> --wallet-id <value> --description <value> --credential-offer-duration <value> --file credentialSchemas.json',
124
+ ];
125
+ CreateIssuanceConfig.flags = {
126
+ name: Flags.string({
127
+ char: 'n',
128
+ summary: 'Name of the credential issuance configuration',
129
+ }),
130
+ description: Flags.string({
131
+ char: 'd',
132
+ summary: 'Description of the credential issuance configuration',
133
+ }),
134
+ 'wallet-id': Flags.string({
135
+ char: 'w',
136
+ summary: 'ID of the wallet',
137
+ }),
138
+ 'credential-offer-duration': Flags.integer({
139
+ summary: 'Credential offer duration in seconds',
140
+ }),
141
+ file: Flags.string({
142
+ char: 'f',
143
+ summary: 'Location of a json file containing the list of allowed schemas for creating a credential offer. One or more schemas can be added to the issuance. The credential type ID must be unique',
144
+ }),
145
+ };
146
+ //# sourceMappingURL=create-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-config.js","sourceRoot":"","sources":["../../../src/commands/issuance/create-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { BaseCommand } from '../../common/base-command.js';
2
+ export declare class DeleteIssuanceConfig extends BaseCommand<typeof DeleteIssuanceConfig> {
3
+ static summary: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ id: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
7
+ };
8
+ run(): Promise<{
9
+ id: string;
10
+ }>;
11
+ }
@@ -0,0 +1,34 @@
1
+ import { ux, Flags } from '@oclif/core';
2
+ import z from 'zod';
3
+ import { BaseCommand } from '../../common/base-command.js';
4
+ import { promptRequiredParameters } from '../../common/prompts.js';
5
+ import { INPUT_LIMIT } from '../../common/validators.js';
6
+ import { issuanceService } from '../../services/affinidi/cis/service.js';
7
+ export class DeleteIssuanceConfig extends BaseCommand {
8
+ async run() {
9
+ const { flags } = await this.parse(DeleteIssuanceConfig);
10
+ const promptFlags = await promptRequiredParameters(['id'], flags);
11
+ const schema = z.object({
12
+ id: z.string().max(INPUT_LIMIT),
13
+ });
14
+ const validatedFlags = schema.parse(promptFlags);
15
+ ux.action.start('Deleting credential issuance configuration');
16
+ await issuanceService.deleteIssuanceConfigById(validatedFlags.id);
17
+ ux.action.stop('Deleted successfully!');
18
+ if (!this.jsonEnabled())
19
+ this.logJson({ id: validatedFlags.id });
20
+ return { id: validatedFlags.id };
21
+ }
22
+ }
23
+ DeleteIssuanceConfig.summary = 'Deletes credential issuance configuration from your active project';
24
+ DeleteIssuanceConfig.examples = [
25
+ '<%= config.bin %> <%= command.id %> -i <value>',
26
+ '<%= config.bin %> <%= command.id %> --id <value>',
27
+ ];
28
+ DeleteIssuanceConfig.flags = {
29
+ id: Flags.string({
30
+ char: 'i',
31
+ summary: 'ID of the credential issuance configuration',
32
+ }),
33
+ };
34
+ //# sourceMappingURL=delete-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-config.js","sourceRoot":"","sources":["../../../src/commands/issuance/delete-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AAExE,MAAM,OAAO,oBAAqB,SAAQ,WAAwC;IAazE,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAA;QACxD,MAAM,WAAW,GAAG,MAAM,wBAAwB,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAA;QAEjE,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;YACtB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC;SAChC,CAAC,CAAA;QACF,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QAEhD,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAA;QAC7D,MAAM,eAAe,CAAC,wBAAwB,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;QACjE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QAEvC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,cAAc,CAAC,EAAE,EAAE,CAAC,CAAA;QAChE,OAAO,EAAE,EAAE,EAAE,cAAc,CAAC,EAAE,EAAE,CAAA;IAClC,CAAC;;AA3BM,4BAAO,GAAG,oEAAoE,CAAA;AAC9E,6BAAQ,GAAG;IAChB,gDAAgD;IAChD,kDAAkD;CACnD,CAAA;AACM,0BAAK,GAAG;IACb,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC;QACf,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,6CAA6C;KACvD,CAAC;CACH,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { IssuanceConfigDto } from '@affinidi-tdk/credential-issuance-client';
2
+ import { BaseCommand } from '../../common/base-command.js';
3
+ export declare class GetIssuanceConfig extends BaseCommand<typeof GetIssuanceConfig> {
4
+ static summary: string;
5
+ static examples: string[];
6
+ static flags: {
7
+ id: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
+ };
9
+ run(): Promise<IssuanceConfigDto>;
10
+ }
@@ -0,0 +1,34 @@
1
+ import { ux, Flags } from '@oclif/core';
2
+ import z from 'zod';
3
+ import { BaseCommand } from '../../common/base-command.js';
4
+ import { promptRequiredParameters } from '../../common/prompts.js';
5
+ import { INPUT_LIMIT } from '../../common/validators.js';
6
+ import { issuanceService } from '../../services/affinidi/cis/service.js';
7
+ export class GetIssuanceConfig extends BaseCommand {
8
+ async run() {
9
+ const { flags } = await this.parse(GetIssuanceConfig);
10
+ const promptFlags = await promptRequiredParameters(['id'], flags);
11
+ const schema = z.object({
12
+ id: z.string().max(INPUT_LIMIT),
13
+ });
14
+ const validatedFlags = schema.parse(promptFlags);
15
+ ux.action.start('Fetching credential issuance configuration');
16
+ const output = await issuanceService.getIssuanceConfigById(validatedFlags.id);
17
+ ux.action.stop('Fetched successfully!');
18
+ if (!this.jsonEnabled())
19
+ this.logJson(output);
20
+ return output;
21
+ }
22
+ }
23
+ GetIssuanceConfig.summary = 'Gets the details of the credential issuance configuration in your active project';
24
+ GetIssuanceConfig.examples = [
25
+ '<%= config.bin %> <%= command.id %> -i <value>',
26
+ '<%= config.bin %> <%= command.id %> --id <value>',
27
+ ];
28
+ GetIssuanceConfig.flags = {
29
+ id: Flags.string({
30
+ char: 'i',
31
+ summary: 'ID of the credential issuance configuration',
32
+ }),
33
+ };
34
+ //# sourceMappingURL=get-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-config.js","sourceRoot":"","sources":["../../../src/commands/issuance/get-config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,CAAC,MAAM,KAAK,CAAA;AACnB,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AAExE,MAAM,OAAO,iBAAkB,SAAQ,WAAqC;IAanE,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;QACrD,MAAM,WAAW,GAAG,MAAM,wBAAwB,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAA;QAEjE,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;YACtB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC;SAChC,CAAC,CAAA;QACF,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QAEhD,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAA;QAC7D,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,qBAAqB,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;QAC7E,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QAEvC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAC7C,OAAO,MAAM,CAAA;IACf,CAAC;;AA3BM,yBAAO,GAAG,kFAAkF,CAAA;AAC5F,0BAAQ,GAAG;IAChB,gDAAgD;IAChD,kDAAkD;CACnD,CAAA;AACM,uBAAK,GAAG;IACb,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC;QACf,IAAI,EAAE,GAAG;QACT,OAAO,EAAE,6CAA6C;KACvD,CAAC;CACH,CAAA"}
@@ -0,0 +1,7 @@
1
+ import { IssuanceConfigListResponse } from '@affinidi-tdk/credential-issuance-client';
2
+ import { BaseCommand } from '../../common/base-command.js';
3
+ export declare class ListIssuanceConfigs extends BaseCommand<typeof ListIssuanceConfigs> {
4
+ static summary: string;
5
+ static examples: string[];
6
+ run(): Promise<IssuanceConfigListResponse>;
7
+ }
@@ -0,0 +1,16 @@
1
+ import { ux } from '@oclif/core';
2
+ import { BaseCommand } from '../../common/base-command.js';
3
+ import { issuanceService } from '../../services/affinidi/cis/service.js';
4
+ export class ListIssuanceConfigs extends BaseCommand {
5
+ async run() {
6
+ ux.action.start('Fetching credential issuance configurations');
7
+ const output = await issuanceService.listIssuanceConfigs();
8
+ ux.action.stop('Fetched successfully!');
9
+ if (!this.jsonEnabled())
10
+ this.logJson(output);
11
+ return output;
12
+ }
13
+ }
14
+ ListIssuanceConfigs.summary = 'Lists credential issuance configurations in your active project';
15
+ ListIssuanceConfigs.examples = ['<%= config.bin %> <%= command.id %>'];
16
+ //# sourceMappingURL=list-configs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-configs.js","sourceRoot":"","sources":["../../../src/commands/issuance/list-configs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AAExE,MAAM,OAAO,mBAAoB,SAAQ,WAAuC;IAIvE,KAAK,CAAC,GAAG;QACd,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAA;QAC9D,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,mBAAmB,EAAE,CAAA;QAC1D,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QAEvC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAC7C,OAAO,MAAM,CAAA;IACf,CAAC;;AAVM,2BAAO,GAAG,iEAAiE,CAAA;AAC3E,4BAAQ,GAAG,CAAC,qCAAqC,CAAC,CAAA"}
@@ -0,0 +1,15 @@
1
+ import { IssuanceConfigDto } from '@affinidi-tdk/credential-issuance-client';
2
+ import { BaseCommand } from '../../common/base-command.js';
3
+ export declare class UpdateIssuanceConfig extends BaseCommand<typeof UpdateIssuanceConfig> {
4
+ static summary: string;
5
+ static examples: string[];
6
+ static flags: {
7
+ id: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
8
+ name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
9
+ description: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
10
+ 'wallet-id': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
11
+ 'credential-offer-duration': import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ file: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ };
14
+ run(): Promise<IssuanceConfigDto>;
15
+ }