@taqueria/protocol 0.16.0 → 0.18.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.
- package/Alias.d.ts +48 -0
- package/Alias.js +70 -0
- package/Alias.js.map +1 -0
- package/Alias.mjs +34 -0
- package/Alias.mjs.map +1 -0
- package/Base.d.ts +50 -0
- package/Base.js +83 -0
- package/Base.js.map +1 -0
- package/Base.mjs +57 -0
- package/Base.mjs.map +1 -0
- package/Command.d.ts +30 -0
- package/Command.js +61 -0
- package/Command.js.map +1 -0
- package/Command.mjs +25 -0
- package/Command.mjs.map +1 -0
- package/Config.d.ts +2062 -0
- package/Config.js +175 -0
- package/Config.js.map +1 -0
- package/Config.mjs +135 -0
- package/Config.mjs.map +1 -0
- package/Contract.d.ts +88 -0
- package/Contract.js +68 -0
- package/Contract.js.map +1 -0
- package/Contract.mjs +32 -0
- package/Contract.mjs.map +1 -0
- package/Crypto.d.ts +5 -0
- package/Crypto.js +35 -0
- package/Crypto.js.map +1 -0
- package/Crypto.mjs +10 -0
- package/Crypto.mjs.map +1 -0
- package/EconomicalProtocolHash.d.ts +48 -0
- package/EconomicalProtocolHash.js +64 -0
- package/EconomicalProtocolHash.js.map +1 -0
- package/EconomicalProtocolHash.mjs +27 -0
- package/EconomicalProtocolHash.mjs.map +1 -0
- package/Environment.d.ts +142 -0
- package/Environment.js +78 -0
- package/Environment.js.map +1 -0
- package/Environment.mjs +40 -0
- package/Environment.mjs.map +1 -0
- package/EphemeralState.d.ts +4561 -0
- package/EphemeralState.js +268 -0
- package/EphemeralState.js.map +1 -0
- package/EphemeralState.mjs +228 -0
- package/EphemeralState.mjs.map +1 -0
- package/Faucet.d.ts +210 -0
- package/Faucet.js +84 -0
- package/Faucet.js.map +1 -0
- package/Faucet.mjs +47 -0
- package/Faucet.mjs.map +1 -0
- package/HumanReadableIdentifier.d.ts +30 -0
- package/HumanReadableIdentifier.js +61 -0
- package/HumanReadableIdentifier.js.map +1 -0
- package/HumanReadableIdentifier.mjs +25 -0
- package/HumanReadableIdentifier.mjs.map +1 -0
- package/InstalledPlugin.d.ts +99 -0
- package/InstalledPlugin.js +67 -0
- package/InstalledPlugin.js.map +1 -0
- package/InstalledPlugin.mjs +30 -0
- package/InstalledPlugin.mjs.map +1 -0
- package/LoadedConfig.d.ts +2325 -0
- package/LoadedConfig.js +80 -0
- package/LoadedConfig.js.map +1 -0
- package/LoadedConfig.mjs +41 -0
- package/LoadedConfig.mjs.map +1 -0
- package/MetadataConfig.d.ts +162 -0
- package/MetadataConfig.js +75 -0
- package/MetadataConfig.js.map +1 -0
- package/MetadataConfig.mjs +38 -0
- package/MetadataConfig.mjs.map +1 -0
- package/NetworkConfig.d.ts +431 -0
- package/NetworkConfig.js +77 -0
- package/NetworkConfig.js.map +1 -0
- package/NetworkConfig.mjs +40 -0
- package/NetworkConfig.mjs.map +1 -0
- package/Operation.d.ts +1476 -0
- package/Operation.js +98 -0
- package/Operation.js.map +1 -0
- package/Operation.mjs +60 -0
- package/Operation.mjs.map +1 -0
- package/Option.d.ts +316 -0
- package/Option.js +103 -0
- package/Option.js.map +1 -0
- package/Option.mjs +65 -0
- package/Option.mjs.map +1 -0
- package/ParsedOperation.d.ts +888 -0
- package/ParsedOperation.js +63 -0
- package/ParsedOperation.js.map +1 -0
- package/ParsedOperation.mjs +26 -0
- package/ParsedOperation.mjs.map +1 -0
- package/ParsedTemplate.d.ts +1032 -0
- package/ParsedTemplate.js +71 -0
- package/ParsedTemplate.js.map +1 -0
- package/ParsedTemplate.mjs +34 -0
- package/ParsedTemplate.mjs.map +1 -0
- package/PersistentState.d.ts +581 -0
- package/PersistentState.js +98 -0
- package/PersistentState.js.map +1 -0
- package/PersistentState.mjs +60 -0
- package/PersistentState.mjs.map +1 -0
- package/PluginActionName.d.ts +23 -0
- package/PluginActionName.js +48 -0
- package/PluginActionName.js.map +1 -0
- package/PluginActionName.mjs +23 -0
- package/PluginActionName.mjs.map +1 -0
- package/PluginDependenciesResponse.d.ts +158 -0
- package/PluginDependenciesResponse.js +63 -0
- package/PluginDependenciesResponse.js.map +1 -0
- package/PluginDependenciesResponse.mjs +28 -0
- package/PluginDependenciesResponse.mjs.map +1 -0
- package/PluginInfo.d.ts +3425 -0
- package/PluginInfo.js +113 -0
- package/PluginInfo.js.map +1 -0
- package/PluginInfo.mjs +76 -0
- package/PluginInfo.mjs.map +1 -0
- package/PluginJsonResponse.d.ts +104 -0
- package/PluginJsonResponse.js +59 -0
- package/PluginJsonResponse.js.map +1 -0
- package/PluginJsonResponse.mjs +25 -0
- package/PluginJsonResponse.mjs.map +1 -0
- package/PluginProxyResponse.d.ts +23 -0
- package/PluginProxyResponse.js +61 -0
- package/PluginProxyResponse.js.map +1 -0
- package/PluginProxyResponse.mjs +25 -0
- package/PluginProxyResponse.mjs.map +1 -0
- package/PluginResponseEncoding.d.ts +39 -0
- package/PluginResponseEncoding.js +63 -0
- package/PluginResponseEncoding.js.map +1 -0
- package/PluginResponseEncoding.mjs +27 -0
- package/PluginResponseEncoding.mjs.map +1 -0
- package/PluginSchema.d.ts +7332 -0
- package/PluginSchema.js +107 -0
- package/PluginSchema.js.map +1 -0
- package/PluginSchema.mjs +70 -0
- package/PluginSchema.mjs.map +1 -0
- package/PositionalArg.d.ts +190 -0
- package/PositionalArg.js +78 -0
- package/PositionalArg.js.map +1 -0
- package/PositionalArg.mjs +41 -0
- package/PositionalArg.mjs.map +1 -0
- package/Provisioner.d.ts +276 -0
- package/Provisioner.js +86 -0
- package/Provisioner.js.map +1 -0
- package/Provisioner.mjs +48 -0
- package/Provisioner.mjs.map +1 -0
- package/ProvisionerID.d.ts +48 -0
- package/ProvisionerID.js +61 -0
- package/ProvisionerID.js.map +1 -0
- package/ProvisionerID.mjs +24 -0
- package/ProvisionerID.mjs.map +1 -0
- package/Provisions.d.ts +244 -0
- package/Provisions.js +93 -0
- package/Provisions.js.map +1 -0
- package/Provisions.mjs +57 -0
- package/Provisions.mjs.map +1 -0
- package/PublicKeyHash.d.ts +49 -0
- package/PublicKeyHash.js +65 -0
- package/PublicKeyHash.js.map +1 -0
- package/PublicKeyHash.mjs +28 -0
- package/PublicKeyHash.mjs.map +1 -0
- package/RequestArgs.d.ts +5557 -0
- package/RequestArgs.js +136 -0
- package/RequestArgs.js.map +1 -0
- package/RequestArgs.mjs +89 -0
- package/RequestArgs.mjs.map +1 -0
- package/SHA256.d.ts +33 -0
- package/SHA256.js +79 -0
- package/SHA256.js.map +1 -0
- package/SHA256.mjs +42 -0
- package/SHA256.mjs.map +1 -0
- package/SandboxAccountConfig.d.ts +152 -0
- package/SandboxAccountConfig.js +72 -0
- package/SandboxAccountConfig.js.map +1 -0
- package/SandboxAccountConfig.mjs +35 -0
- package/SandboxAccountConfig.mjs.map +1 -0
- package/SandboxConfig.d.ts +550 -0
- package/SandboxConfig.js +103 -0
- package/SandboxConfig.js.map +1 -0
- package/SandboxConfig.mjs +66 -0
- package/SandboxConfig.mjs.map +1 -0
- package/SanitizedAbsPath.d.ts +48 -0
- package/SanitizedAbsPath.js +64 -0
- package/SanitizedAbsPath.js.map +1 -0
- package/SanitizedAbsPath.mjs +27 -0
- package/SanitizedAbsPath.mjs.map +1 -0
- package/SanitizedArgs.d.ts +2907 -0
- package/SanitizedArgs.js +269 -0
- package/SanitizedArgs.js.map +1 -0
- package/SanitizedArgs.mjs +197 -0
- package/SanitizedArgs.mjs.map +1 -0
- package/SanitizedPath.d.ts +30 -0
- package/SanitizedPath.js +64 -0
- package/SanitizedPath.js.map +1 -0
- package/SanitizedPath.mjs +28 -0
- package/SanitizedPath.mjs.map +1 -0
- package/ScaffoldConfig.d.ts +6 -0
- package/ScaffoldConfig.js +19 -0
- package/ScaffoldConfig.js.map +1 -0
- package/ScaffoldConfig.mjs +1 -0
- package/ScaffoldConfig.mjs.map +1 -0
- package/Settings.d.ts +82 -0
- package/Settings.js +66 -0
- package/Settings.js.map +1 -0
- package/Settings.mjs +29 -0
- package/Settings.mjs.map +1 -0
- package/SingleChar.d.ts +48 -0
- package/SingleChar.js +62 -0
- package/SingleChar.js.map +1 -0
- package/SingleChar.mjs +25 -0
- package/SingleChar.mjs.map +1 -0
- package/TaqError.d.ts +24 -0
- package/TaqError.js +65 -0
- package/TaqError.js.map +1 -0
- package/TaqError.mjs +35 -0
- package/TaqError.mjs.map +1 -0
- package/Task.d.ts +825 -0
- package/Task.js +95 -0
- package/Task.js.map +1 -0
- package/Task.mjs +58 -0
- package/Task.mjs.map +1 -0
- package/Template.d.ts +1746 -0
- package/Template.js +117 -0
- package/Template.js.map +1 -0
- package/Template.mjs +79 -0
- package/Template.mjs.map +1 -0
- package/Timestamp.d.ts +51 -0
- package/Timestamp.js +65 -0
- package/Timestamp.js.map +1 -0
- package/Timestamp.mjs +27 -0
- package/Timestamp.mjs.map +1 -0
- package/Tz.d.ts +47 -0
- package/Tz.js +62 -0
- package/Tz.js.map +1 -0
- package/Tz.mjs +25 -0
- package/Tz.mjs.map +1 -0
- package/Url.d.ts +49 -0
- package/Url.js +68 -0
- package/Url.js.map +1 -0
- package/Url.mjs +30 -0
- package/Url.mjs.map +1 -0
- package/Verb.d.ts +48 -0
- package/Verb.js +62 -0
- package/Verb.js.map +1 -0
- package/Verb.mjs +25 -0
- package/Verb.mjs.map +1 -0
- package/VersionNumber.d.ts +30 -0
- package/VersionNumber.js +61 -0
- package/VersionNumber.js.map +1 -0
- package/VersionNumber.mjs +25 -0
- package/VersionNumber.mjs.map +1 -0
- package/i18n.d.ts +7 -0
- package/i18n.js +96 -0
- package/i18n.js.map +1 -0
- package/i18n.mjs +67 -0
- package/i18n.mjs.map +1 -0
- package/package.json +31 -3
- package/taqueria-protocol-types.d.ts +72 -0
- package/taqueria-protocol-types.js +142 -0
- package/taqueria-protocol-types.js.map +1 -0
- package/taqueria-protocol-types.mjs +76 -0
- package/taqueria-protocol-types.mjs.map +1 -0
- package/tzkt-config.d.ts +116 -0
- package/tzkt-config.js +65 -0
- package/tzkt-config.js.map +1 -0
- package/tzkt-config.mjs +28 -0
- package/tzkt-config.mjs.map +1 -0
- package/Alias.ts +0 -38
- package/Base.ts +0 -105
- package/Command.ts +0 -26
- package/Config.ts +0 -163
- package/Contract.ts +0 -35
- package/Crypto.ts +0 -3
- package/EconomicalProtocolHash.ts +0 -26
- package/Environment.ts +0 -40
- package/EphemeralState.ts +0 -282
- package/Faucet.ts +0 -46
- package/HumanReadableIdentifier.ts +0 -26
- package/InstalledPlugin.ts +0 -28
- package/LoadedConfig.ts +0 -45
- package/MetadataConfig.ts +0 -37
- package/NetworkConfig.ts +0 -39
- package/Operation.ts +0 -70
- package/Option.ts +0 -64
- package/ParsedOperation.ts +0 -33
- package/ParsedTemplate.ts +0 -40
- package/PersistentState.ts +0 -69
- package/PluginActionName.ts +0 -28
- package/PluginDependenciesResponse.ts +0 -33
- package/PluginInfo.ts +0 -76
- package/PluginJsonResponse.ts +0 -26
- package/PluginProxyResponse.ts +0 -24
- package/PluginResponseEncoding.ts +0 -27
- package/PluginSchema.ts +0 -81
- package/PositionalArg.ts +0 -41
- package/Provisioner.ts +0 -61
- package/ProvisionerID.ts +0 -25
- package/Provisions.ts +0 -70
- package/PublicKeyHash.ts +0 -28
- package/RequestArgs.ts +0 -97
- package/SHA256.ts +0 -42
- package/SandboxAccountConfig.ts +0 -35
- package/SandboxConfig.ts +0 -66
- package/SanitizedAbsPath.ts +0 -23
- package/SanitizedArgs.ts +0 -213
- package/SanitizedPath.ts +0 -28
- package/ScaffoldConfig.ts +0 -6
- package/Settings.ts +0 -27
- package/SingleChar.ts +0 -23
- package/TaqError.ts +0 -78
- package/Task.ts +0 -57
- package/Template.ts +0 -77
- package/Timestamp.ts +0 -25
- package/Tz.ts +0 -22
- package/Url.ts +0 -28
- package/Verb.ts +0 -23
- package/VersionNumber.ts +0 -25
- package/i18n.ts +0 -74
- package/taqueria-protocol-types.ts +0 -36
- package/tzkt-config.ts +0 -27
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
|
+
mod
|
|
23
|
+
));
|
|
24
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
|
+
|
|
26
|
+
// EphemeralState.ts
|
|
27
|
+
var EphemeralState_exports = {};
|
|
28
|
+
__export(EphemeralState_exports, {
|
|
29
|
+
create: () => create2,
|
|
30
|
+
factory: () => factory,
|
|
31
|
+
generatedSchemas: () => generatedSchemas,
|
|
32
|
+
getTasks: () => getTasks,
|
|
33
|
+
make: () => make7,
|
|
34
|
+
mapOperationsToPlugins: () => mapOperationsToPlugins,
|
|
35
|
+
mapTasksToPlugins: () => mapTasksToPlugins,
|
|
36
|
+
mapTemplatesToPlugins: () => mapTemplatesToPlugins,
|
|
37
|
+
of: () => of,
|
|
38
|
+
schemas: () => schemas6
|
|
39
|
+
});
|
|
40
|
+
module.exports = __toCommonJS(EphemeralState_exports);
|
|
41
|
+
var import_Base = __toESM(require("@taqueria/protocol/Base"));
|
|
42
|
+
var Command = __toESM(require("@taqueria/protocol/Command"));
|
|
43
|
+
var InstalledPlugin = __toESM(require("@taqueria/protocol/InstalledPlugin"));
|
|
44
|
+
var Option = __toESM(require("@taqueria/protocol/Option"));
|
|
45
|
+
var ParsedOperation = __toESM(require("@taqueria/protocol/ParsedOperation"));
|
|
46
|
+
var ParsedTemplate = __toESM(require("@taqueria/protocol/ParsedTemplate"));
|
|
47
|
+
var PluginInfo = __toESM(require("@taqueria/protocol/PluginInfo"));
|
|
48
|
+
var PluginResponseEncoding = __toESM(require("@taqueria/protocol/PluginResponseEncoding"));
|
|
49
|
+
var import_TaqError = require("@taqueria/protocol/TaqError");
|
|
50
|
+
var Task = __toESM(require("@taqueria/protocol/Task"));
|
|
51
|
+
var Verb = __toESM(require("@taqueria/protocol/Verb"));
|
|
52
|
+
var import_fluture = require("fluture");
|
|
53
|
+
var import_zod = require("zod");
|
|
54
|
+
var eager = (f) => (0, import_fluture.promise)(
|
|
55
|
+
(0, import_fluture.mapRej)((err) => new import_TaqError.E_TaqError(err))(f)
|
|
56
|
+
);
|
|
57
|
+
var taskToPluginMap = import_zod.z.record(
|
|
58
|
+
import_zod.z.union([
|
|
59
|
+
InstalledPlugin.schemas.schema,
|
|
60
|
+
Task.schemas.schema
|
|
61
|
+
], { description: "Task/Plugin Mapping" })
|
|
62
|
+
);
|
|
63
|
+
var operationToPluginMap = import_zod.z.record(
|
|
64
|
+
import_zod.z.union([
|
|
65
|
+
InstalledPlugin.schemas.schema,
|
|
66
|
+
ParsedOperation.schemas.schema
|
|
67
|
+
], { description: "Operation/Plugin Mapping" })
|
|
68
|
+
);
|
|
69
|
+
var templateToPluginMap = import_zod.z.record(
|
|
70
|
+
import_zod.z.union([
|
|
71
|
+
InstalledPlugin.schemas.schema,
|
|
72
|
+
ParsedTemplate.schemas.schema
|
|
73
|
+
])
|
|
74
|
+
);
|
|
75
|
+
var rawSchema = import_zod.z.object({
|
|
76
|
+
build: import_zod.z.string({ description: "cache.build" }),
|
|
77
|
+
configHash: import_zod.z.string({ description: "cache.configHash" }),
|
|
78
|
+
tasks: taskToPluginMap,
|
|
79
|
+
operations: operationToPluginMap,
|
|
80
|
+
templates: templateToPluginMap,
|
|
81
|
+
plugins: import_zod.z.array(PluginInfo.schemas.schema, { description: "cache.plugins" })
|
|
82
|
+
}).describe("Ephemeral State");
|
|
83
|
+
var { schemas: generatedSchemas, factory } = (0, import_Base.default)({
|
|
84
|
+
rawSchema,
|
|
85
|
+
parseErrMsg: (value) => `${value} is not a valid representation of ephemeral state`,
|
|
86
|
+
unknownErrMsg: "Something went wrong when parsing the ephemeral state"
|
|
87
|
+
});
|
|
88
|
+
var { create: create2, of, make: make7 } = factory;
|
|
89
|
+
var schemas6 = {
|
|
90
|
+
...generatedSchemas,
|
|
91
|
+
schema: generatedSchemas.schema.transform((val) => val)
|
|
92
|
+
};
|
|
93
|
+
var getTaskCounts = (pluginInfo) => {
|
|
94
|
+
return pluginInfo.reduce(
|
|
95
|
+
(retval, pluginInfo2) => pluginInfo2.tasks === void 0 ? {} : pluginInfo2.tasks.reduce(
|
|
96
|
+
(retval2, task) => {
|
|
97
|
+
const taskName = task.task;
|
|
98
|
+
const providers = retval2[taskName] ? [...retval2[taskName], pluginInfo2] : [pluginInfo2];
|
|
99
|
+
const mapping = {};
|
|
100
|
+
mapping[taskName] = providers.filter((provider) => provider !== void 0);
|
|
101
|
+
return { ...retval2, ...mapping };
|
|
102
|
+
},
|
|
103
|
+
retval
|
|
104
|
+
),
|
|
105
|
+
{}
|
|
106
|
+
);
|
|
107
|
+
};
|
|
108
|
+
var getTemplateCounts = (pluginInfo) => {
|
|
109
|
+
return pluginInfo.reduce(
|
|
110
|
+
(retval, pluginInfo2) => !pluginInfo2.templates ? retval : pluginInfo2.templates.reduce(
|
|
111
|
+
(retval2, template) => {
|
|
112
|
+
const templateName = template.template;
|
|
113
|
+
const providers = retval2[templateName] ? [...retval2[templateName], pluginInfo2] : [pluginInfo2];
|
|
114
|
+
const mapping = {};
|
|
115
|
+
mapping[templateName] = providers.filter((provider) => provider !== void 0);
|
|
116
|
+
return { ...retval2, ...mapping };
|
|
117
|
+
},
|
|
118
|
+
retval
|
|
119
|
+
),
|
|
120
|
+
{}
|
|
121
|
+
);
|
|
122
|
+
};
|
|
123
|
+
var getOperationCounts = (pluginInfo) => {
|
|
124
|
+
return pluginInfo.reduce(
|
|
125
|
+
(retval, pluginInfo2) => pluginInfo2.operations === void 0 ? retval : pluginInfo2.operations.reduce(
|
|
126
|
+
(retval2, operation) => {
|
|
127
|
+
const operationName = operation.operation;
|
|
128
|
+
const providers = retval2[operationName] ? [...retval2[operationName], pluginInfo2] : [pluginInfo2];
|
|
129
|
+
const mapping = {};
|
|
130
|
+
mapping[operationName] = providers.filter((provider) => provider !== void 0);
|
|
131
|
+
return { ...retval2, ...mapping };
|
|
132
|
+
},
|
|
133
|
+
retval
|
|
134
|
+
),
|
|
135
|
+
{}
|
|
136
|
+
);
|
|
137
|
+
};
|
|
138
|
+
var toChoices = (plugins) => plugins.reduce(
|
|
139
|
+
(retval, pluginInfo) => {
|
|
140
|
+
return [...retval, pluginInfo.name, pluginInfo.alias];
|
|
141
|
+
},
|
|
142
|
+
[]
|
|
143
|
+
);
|
|
144
|
+
var isComposite = (name, counts) => counts[name] && counts[name].length > 1;
|
|
145
|
+
var getInstalledPlugin = (config, name) => {
|
|
146
|
+
var _a;
|
|
147
|
+
return (_a = config.plugins) == null ? void 0 : _a.find(
|
|
148
|
+
(plugin) => [`taqueria-plugin-${name}`, name].includes(plugin.name)
|
|
149
|
+
);
|
|
150
|
+
};
|
|
151
|
+
var mapTasksToPlugins = (config, pluginInfo, i18n) => {
|
|
152
|
+
const taskCounts = getTaskCounts(pluginInfo);
|
|
153
|
+
return (0, import_fluture.attemptP)(
|
|
154
|
+
async () => await pluginInfo.reduce(
|
|
155
|
+
async (retval, pluginInfo2) => !pluginInfo2.tasks ? Promise.resolve({}) : await pluginInfo2.tasks.reduce(
|
|
156
|
+
async (retval2, { task }) => {
|
|
157
|
+
if (isComposite(task, taskCounts)) {
|
|
158
|
+
const command = await eager(Command.make(task));
|
|
159
|
+
const compositeTask = await eager(Task.make({
|
|
160
|
+
task,
|
|
161
|
+
command,
|
|
162
|
+
description: i18n.__("providedByMany"),
|
|
163
|
+
hidden: false,
|
|
164
|
+
options: [
|
|
165
|
+
await eager(Option.make({
|
|
166
|
+
flag: await eager(Verb.make("plugin")),
|
|
167
|
+
description: "Specify which plugin should be used to execute this task",
|
|
168
|
+
choices: toChoices(taskCounts[task]),
|
|
169
|
+
required: true
|
|
170
|
+
}))
|
|
171
|
+
],
|
|
172
|
+
handler: "proxy"
|
|
173
|
+
}));
|
|
174
|
+
return { ...await retval2, [task]: compositeTask };
|
|
175
|
+
}
|
|
176
|
+
const installedPlugin = getInstalledPlugin(config, pluginInfo2.name);
|
|
177
|
+
return installedPlugin ? { ...await retval2, [task]: installedPlugin } : retval2;
|
|
178
|
+
},
|
|
179
|
+
retval
|
|
180
|
+
),
|
|
181
|
+
Promise.resolve({})
|
|
182
|
+
)
|
|
183
|
+
).pipe((0, import_fluture.mapRej)((rej) => rej));
|
|
184
|
+
};
|
|
185
|
+
var mapOperationsToPlugins = (config, pluginInfo, i18n) => {
|
|
186
|
+
const opCounts = getOperationCounts(pluginInfo);
|
|
187
|
+
return (0, import_fluture.attemptP)(
|
|
188
|
+
async () => await pluginInfo.reduce(
|
|
189
|
+
async (retval, pluginInfo2) => !pluginInfo2.operations ? Promise.resolve({}) : await pluginInfo2.operations.reduce(
|
|
190
|
+
async (retval2, { operation }) => {
|
|
191
|
+
if (isComposite(operation, opCounts)) {
|
|
192
|
+
const command = await eager(Command.make(operation));
|
|
193
|
+
const compositeOp = await eager(ParsedOperation.make({
|
|
194
|
+
operation,
|
|
195
|
+
command,
|
|
196
|
+
description: i18n.__("providedByMany"),
|
|
197
|
+
options: [
|
|
198
|
+
await eager(Option.make({
|
|
199
|
+
flag: await eager(Verb.make("plugin")),
|
|
200
|
+
description: "Specify which plugin should be used to execute this operation",
|
|
201
|
+
choices: toChoices(opCounts[operation]),
|
|
202
|
+
required: true
|
|
203
|
+
}))
|
|
204
|
+
]
|
|
205
|
+
}));
|
|
206
|
+
return { ...await retval2, [operation]: compositeOp };
|
|
207
|
+
}
|
|
208
|
+
const installedPlugin = getInstalledPlugin(config, pluginInfo2.name);
|
|
209
|
+
return installedPlugin ? { ...await retval2, [operation]: installedPlugin } : retval2;
|
|
210
|
+
},
|
|
211
|
+
retval
|
|
212
|
+
),
|
|
213
|
+
Promise.resolve({})
|
|
214
|
+
)
|
|
215
|
+
).pipe((0, import_fluture.mapRej)((rej) => rej));
|
|
216
|
+
};
|
|
217
|
+
var mapTemplatesToPlugins = (config, pluginInfo, i18n) => {
|
|
218
|
+
const tmplCounts = getTemplateCounts(pluginInfo);
|
|
219
|
+
return (0, import_fluture.attemptP)(
|
|
220
|
+
async () => await pluginInfo.reduce(
|
|
221
|
+
async (retval, pluginInfo2) => !pluginInfo2.templates ? Promise.resolve({}) : await pluginInfo2.templates.reduce(
|
|
222
|
+
async (retval2, { template }) => {
|
|
223
|
+
if (isComposite(template, tmplCounts)) {
|
|
224
|
+
const command = await eager(Command.make(template));
|
|
225
|
+
const compositeTmpl = await eager(ParsedTemplate.make({
|
|
226
|
+
template,
|
|
227
|
+
command,
|
|
228
|
+
description: i18n.__("providedByMany"),
|
|
229
|
+
options: [
|
|
230
|
+
await eager(Option.make({
|
|
231
|
+
flag: await eager(Verb.make("plugin")),
|
|
232
|
+
description: "Specify which plugin should be used to execute this task",
|
|
233
|
+
choices: toChoices(tmplCounts[template]),
|
|
234
|
+
required: true
|
|
235
|
+
}))
|
|
236
|
+
],
|
|
237
|
+
handler: "proxy",
|
|
238
|
+
encoding: PluginResponseEncoding.create("none")
|
|
239
|
+
}));
|
|
240
|
+
return { ...await retval2, [template]: compositeTmpl };
|
|
241
|
+
}
|
|
242
|
+
const installedPlugin = getInstalledPlugin(config, pluginInfo2.name);
|
|
243
|
+
return installedPlugin ? { ...await retval2, [template]: installedPlugin } : retval2;
|
|
244
|
+
},
|
|
245
|
+
retval
|
|
246
|
+
),
|
|
247
|
+
Promise.resolve({})
|
|
248
|
+
)
|
|
249
|
+
).pipe((0, import_fluture.mapRej)((rej) => rej));
|
|
250
|
+
};
|
|
251
|
+
var getTasks = (pluginInfo) => pluginInfo.reduce(
|
|
252
|
+
(retval, pluginInfo2) => [...retval, ...pluginInfo2.tasks ?? []],
|
|
253
|
+
[]
|
|
254
|
+
);
|
|
255
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
256
|
+
0 && (module.exports = {
|
|
257
|
+
create,
|
|
258
|
+
factory,
|
|
259
|
+
generatedSchemas,
|
|
260
|
+
getTasks,
|
|
261
|
+
make,
|
|
262
|
+
mapOperationsToPlugins,
|
|
263
|
+
mapTasksToPlugins,
|
|
264
|
+
mapTemplatesToPlugins,
|
|
265
|
+
of,
|
|
266
|
+
schemas
|
|
267
|
+
});
|
|
268
|
+
//# sourceMappingURL=EphemeralState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["EphemeralState.ts"],"sourcesContent":["import createType from '@taqueria/protocol/Base';\nimport * as Command from '@taqueria/protocol/Command';\nimport * as Config from '@taqueria/protocol/Config';\nimport type { i18n } from '@taqueria/protocol/i18n';\nimport * as InstalledPlugin from '@taqueria/protocol/InstalledPlugin';\nimport * as Option from '@taqueria/protocol/Option';\nimport * as ParsedOperation from '@taqueria/protocol/ParsedOperation';\nimport * as ParsedTemplate from '@taqueria/protocol/ParsedTemplate';\nimport * as PluginInfo from '@taqueria/protocol/PluginInfo';\nimport * as PluginResponseEncoding from '@taqueria/protocol/PluginResponseEncoding';\nimport { E_TaqError, TaqError } from '@taqueria/protocol/TaqError';\nimport * as Task from '@taqueria/protocol/Task';\nimport * as Verb from '@taqueria/protocol/Verb';\nimport { attemptP, FutureInstance as Future, mapRej, promise } from 'fluture';\nimport { z } from 'zod';\n\nconst eager = <T>(f: Future<TaqError, T>) =>\n\tpromise(\n\t\tmapRej((err: TaqError) => new E_TaqError(err))(f),\n\t);\n\nconst taskToPluginMap = z.record(\n\tz.union([\n\t\tInstalledPlugin.schemas.schema,\n\t\tTask.schemas.schema,\n\t], { description: 'Task/Plugin Mapping' }),\n);\nconst operationToPluginMap = z.record(\n\tz.union([\n\t\tInstalledPlugin.schemas.schema,\n\t\tParsedOperation.schemas.schema,\n\t], { description: 'Operation/Plugin Mapping' }),\n);\n\nconst templateToPluginMap = z.record(\n\tz.union([\n\t\tInstalledPlugin.schemas.schema,\n\t\tParsedTemplate.schemas.schema,\n\t]),\n);\n\nconst rawSchema = z.object({\n\tbuild: z.string({ description: 'cache.build' }),\n\tconfigHash: z.string({ description: 'cache.configHash' }),\n\ttasks: taskToPluginMap,\n\toperations: operationToPluginMap,\n\ttemplates: templateToPluginMap,\n\tplugins: z.array(PluginInfo.schemas.schema, { description: 'cache.plugins' }),\n}).describe('Ephemeral State');\n\ntype RawInput = z.infer<typeof rawSchema>;\n\nexport const { schemas: generatedSchemas, factory } = createType<RawInput, RawInput>({\n\trawSchema,\n\tparseErrMsg: (value: unknown) => `${value} is not a valid representation of ephemeral state`,\n\tunknownErrMsg: 'Something went wrong when parsing the ephemeral state',\n});\n\nexport type EphemeralState = z.infer<typeof generatedSchemas.schema>;\nexport type t = EphemeralState;\nexport type TaskToPluginMap = z.infer<typeof taskToPluginMap>;\nexport type OpToPluginMap = z.infer<typeof operationToPluginMap>;\nexport type TemplateToPluginMap = z.infer<typeof templateToPluginMap>;\n\nexport const { create, of, make } = factory;\n\nexport const schemas = {\n\t...generatedSchemas,\n\tschema: generatedSchemas.schema.transform(val => val as EphemeralState),\n};\n\n/**\n * Private functions\n */\ntype Counts = Record<Verb.t, PluginInfo.t[]>;\nconst getTaskCounts = (pluginInfo: PluginInfo.t[]): Counts => {\n\treturn pluginInfo.reduce(\n\t\t(retval, pluginInfo) =>\n\t\t\tpluginInfo.tasks === undefined\n\t\t\t\t? {}\n\t\t\t\t: pluginInfo.tasks.reduce(\n\t\t\t\t\t(retval: Counts, task: Task.t) => {\n\t\t\t\t\t\tconst taskName = task.task;\n\t\t\t\t\t\tconst providers: PluginInfo.t[] = retval[taskName]\n\t\t\t\t\t\t\t? [...retval[taskName], pluginInfo]\n\t\t\t\t\t\t\t: [pluginInfo];\n\t\t\t\t\t\tconst mapping: Counts = {};\n\t\t\t\t\t\tmapping[taskName] = providers.filter(provider => provider !== undefined);\n\t\t\t\t\t\treturn { ...retval, ...mapping };\n\t\t\t\t\t},\n\t\t\t\t\tretval,\n\t\t\t\t),\n\t\t{} as Counts,\n\t);\n};\n\nconst getTemplateCounts = (pluginInfo: PluginInfo.t[]): Counts => {\n\treturn pluginInfo.reduce(\n\t\t(retval, pluginInfo) =>\n\t\t\t!pluginInfo.templates\n\t\t\t\t? retval\n\t\t\t\t: pluginInfo.templates.reduce(\n\t\t\t\t\t(retval: Counts, template: ParsedTemplate.t) => {\n\t\t\t\t\t\tconst templateName = template.template;\n\t\t\t\t\t\tconst providers = retval[templateName]\n\t\t\t\t\t\t\t? [...retval[templateName], pluginInfo]\n\t\t\t\t\t\t\t: [pluginInfo];\n\t\t\t\t\t\tconst mapping: Counts = {};\n\t\t\t\t\t\tmapping[templateName] = providers.filter(provider => provider !== undefined);\n\t\t\t\t\t\treturn { ...retval, ...mapping };\n\t\t\t\t\t},\n\t\t\t\t\tretval,\n\t\t\t\t),\n\t\t{} as Counts,\n\t);\n};\n\nconst getOperationCounts = (pluginInfo: PluginInfo.t[]): Counts => {\n\treturn pluginInfo.reduce(\n\t\t(retval, pluginInfo) =>\n\t\t\tpluginInfo.operations === undefined\n\t\t\t\t? retval\n\t\t\t\t: pluginInfo.operations.reduce(\n\t\t\t\t\t(retval: Counts, operation: ParsedOperation.t) => {\n\t\t\t\t\t\tconst operationName = operation.operation;\n\t\t\t\t\t\tconst providers = retval[operationName]\n\t\t\t\t\t\t\t? [...retval[operationName], pluginInfo]\n\t\t\t\t\t\t\t: [pluginInfo];\n\t\t\t\t\t\tconst mapping: Counts = {};\n\t\t\t\t\t\tmapping[operationName] = providers.filter(provider => provider !== undefined);\n\t\t\t\t\t\treturn { ...retval, ...mapping };\n\t\t\t\t\t},\n\t\t\t\t\tretval,\n\t\t\t\t),\n\t\t{} as Counts,\n\t);\n};\n\nconst toChoices = (plugins: PluginInfo.t[]) =>\n\tplugins.reduce(\n\t\t(retval, pluginInfo) => {\n\t\t\treturn [...retval, pluginInfo.name as string, pluginInfo.alias as string];\n\t\t},\n\t\t[] as string[],\n\t);\n\nconst isComposite = (name: Verb.t, counts: Counts) => counts[name] && counts[name].length > 1;\n\nconst getInstalledPlugin = (config: Config.t, name: string) =>\n\tconfig.plugins?.find(\n\t\t(plugin: InstalledPlugin.t) => [`taqueria-plugin-${name}`, name].includes(plugin.name),\n\t);\n\nexport const mapTasksToPlugins = (config: Config.t, pluginInfo: PluginInfo.t[], i18n: i18n) => {\n\tconst taskCounts = getTaskCounts(pluginInfo);\n\treturn attemptP<TaqError, TaskToPluginMap>(async () =>\n\t\tawait pluginInfo.reduce(\n\t\t\tasync (retval, pluginInfo) =>\n\t\t\t\t!pluginInfo.tasks\n\t\t\t\t\t? Promise.resolve({} as TaskToPluginMap)\n\t\t\t\t\t: await pluginInfo.tasks.reduce(\n\t\t\t\t\t\tasync (retval, { task }) => {\n\t\t\t\t\t\t\tif (isComposite(task, taskCounts)) {\n\t\t\t\t\t\t\t\tconst command = await eager(Command.make(task));\n\t\t\t\t\t\t\t\tconst compositeTask = await eager(Task.make({\n\t\t\t\t\t\t\t\t\ttask,\n\t\t\t\t\t\t\t\t\tcommand,\n\t\t\t\t\t\t\t\t\tdescription: i18n.__('providedByMany'),\n\t\t\t\t\t\t\t\t\thidden: false,\n\t\t\t\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t\t\t\tawait eager(Option.make({\n\t\t\t\t\t\t\t\t\t\t\tflag: await eager(Verb.make('plugin')),\n\t\t\t\t\t\t\t\t\t\t\tdescription: 'Specify which plugin should be used to execute this task',\n\t\t\t\t\t\t\t\t\t\t\tchoices: toChoices(taskCounts[task]),\n\t\t\t\t\t\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\t\t\t\t\t})),\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\thandler: 'proxy',\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t\treturn { ...await retval, [task]: compositeTask };\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Task is provided by just a single plugin\n\t\t\t\t\t\t\tconst installedPlugin = getInstalledPlugin(config, pluginInfo.name);\n\t\t\t\t\t\t\treturn installedPlugin\n\t\t\t\t\t\t\t\t? { ...await retval, [task]: installedPlugin }\n\t\t\t\t\t\t\t\t: retval;\n\t\t\t\t\t\t},\n\t\t\t\t\t\tretval,\n\t\t\t\t\t),\n\t\t\tPromise.resolve({} as TaskToPluginMap),\n\t\t)\n\t).pipe(mapRej(rej => rej as TaqError));\n};\n\nexport const mapOperationsToPlugins = (config: Config.t, pluginInfo: PluginInfo.t[], i18n: i18n) => {\n\tconst opCounts = getOperationCounts(pluginInfo);\n\treturn attemptP(async () =>\n\t\tawait pluginInfo.reduce(\n\t\t\tasync (retval, pluginInfo) =>\n\t\t\t\t!pluginInfo.operations\n\t\t\t\t\t? Promise.resolve({} as OpToPluginMap)\n\t\t\t\t\t: await pluginInfo.operations.reduce(\n\t\t\t\t\t\tasync (retval, { operation }) => {\n\t\t\t\t\t\t\tif (isComposite(operation, opCounts)) {\n\t\t\t\t\t\t\t\tconst command = await eager(Command.make(operation));\n\t\t\t\t\t\t\t\tconst compositeOp = await eager(ParsedOperation.make({\n\t\t\t\t\t\t\t\t\toperation,\n\t\t\t\t\t\t\t\t\tcommand,\n\t\t\t\t\t\t\t\t\tdescription: i18n.__('providedByMany'),\n\t\t\t\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t\t\t\tawait eager(Option.make({\n\t\t\t\t\t\t\t\t\t\t\tflag: await eager(Verb.make('plugin')),\n\t\t\t\t\t\t\t\t\t\t\tdescription: 'Specify which plugin should be used to execute this operation',\n\t\t\t\t\t\t\t\t\t\t\tchoices: toChoices(opCounts[operation]),\n\t\t\t\t\t\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\t\t\t\t\t})),\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t\treturn { ...await retval, [operation]: compositeOp };\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Operation is provided by just a single plugin\n\t\t\t\t\t\t\tconst installedPlugin = getInstalledPlugin(config, pluginInfo.name);\n\t\t\t\t\t\t\treturn installedPlugin\n\t\t\t\t\t\t\t\t? { ...await retval, [operation]: installedPlugin }\n\t\t\t\t\t\t\t\t: retval;\n\t\t\t\t\t\t},\n\t\t\t\t\t\tretval,\n\t\t\t\t\t),\n\t\t\tPromise.resolve({} as OpToPluginMap),\n\t\t)\n\t).pipe(mapRej(rej => rej as TaqError));\n};\n\nexport const mapTemplatesToPlugins = (config: Config.t, pluginInfo: PluginInfo.t[], i18n: i18n) => {\n\tconst tmplCounts = getTemplateCounts(pluginInfo);\n\treturn attemptP<TaqError, TemplateToPluginMap>(async () =>\n\t\tawait pluginInfo.reduce(\n\t\t\tasync (retval, pluginInfo) =>\n\t\t\t\t!pluginInfo.templates\n\t\t\t\t\t? Promise.resolve({} as TemplateToPluginMap)\n\t\t\t\t\t: await pluginInfo.templates!.reduce(\n\t\t\t\t\t\tasync (retval, { template }) => {\n\t\t\t\t\t\t\tif (isComposite(template, tmplCounts)) {\n\t\t\t\t\t\t\t\tconst command = await eager(Command.make(template));\n\t\t\t\t\t\t\t\tconst compositeTmpl = await eager(ParsedTemplate.make({\n\t\t\t\t\t\t\t\t\ttemplate,\n\t\t\t\t\t\t\t\t\tcommand,\n\t\t\t\t\t\t\t\t\tdescription: i18n.__('providedByMany'),\n\t\t\t\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t\t\t\tawait eager(Option.make({\n\t\t\t\t\t\t\t\t\t\t\tflag: await eager(Verb.make('plugin')),\n\t\t\t\t\t\t\t\t\t\t\tdescription: 'Specify which plugin should be used to execute this task',\n\t\t\t\t\t\t\t\t\t\t\tchoices: toChoices(tmplCounts[template]),\n\t\t\t\t\t\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\t\t\t\t\t})),\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\thandler: 'proxy',\n\t\t\t\t\t\t\t\t\tencoding: PluginResponseEncoding.create('none'),\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t\treturn { ...await retval, [template]: compositeTmpl };\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Template is provided by just a single plugin\n\t\t\t\t\t\t\tconst installedPlugin = getInstalledPlugin(config, pluginInfo.name);\n\t\t\t\t\t\t\treturn installedPlugin\n\t\t\t\t\t\t\t\t? { ...await retval, [template]: installedPlugin }\n\t\t\t\t\t\t\t\t: retval;\n\t\t\t\t\t\t},\n\t\t\t\t\t\tretval,\n\t\t\t\t\t),\n\t\t\tPromise.resolve({} as TemplateToPluginMap),\n\t\t)\n\t).pipe(mapRej(rej => rej as TaqError));\n};\n\nexport const getTasks = (pluginInfo: PluginInfo.t[]) =>\n\tpluginInfo.reduce(\n\t\t(retval: Task.t[], pluginInfo) => [...retval, ...(pluginInfo.tasks ?? [])],\n\t\t[],\n\t);\n"],"mappings":"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","names":["create","make","schemas","createType","pluginInfo","retval"]}
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
// EphemeralState.ts
|
|
2
|
+
import createType from "@taqueria/protocol/Base";
|
|
3
|
+
import * as Command from "@taqueria/protocol/Command";
|
|
4
|
+
import * as InstalledPlugin from "@taqueria/protocol/InstalledPlugin";
|
|
5
|
+
import * as Option from "@taqueria/protocol/Option";
|
|
6
|
+
import * as ParsedOperation from "@taqueria/protocol/ParsedOperation";
|
|
7
|
+
import * as ParsedTemplate from "@taqueria/protocol/ParsedTemplate";
|
|
8
|
+
import * as PluginInfo from "@taqueria/protocol/PluginInfo";
|
|
9
|
+
import * as PluginResponseEncoding from "@taqueria/protocol/PluginResponseEncoding";
|
|
10
|
+
import { E_TaqError } from "@taqueria/protocol/TaqError";
|
|
11
|
+
import * as Task from "@taqueria/protocol/Task";
|
|
12
|
+
import * as Verb from "@taqueria/protocol/Verb";
|
|
13
|
+
import { attemptP, mapRej, promise } from "fluture";
|
|
14
|
+
import { z } from "zod";
|
|
15
|
+
var eager = (f) => promise(
|
|
16
|
+
mapRej((err) => new E_TaqError(err))(f)
|
|
17
|
+
);
|
|
18
|
+
var taskToPluginMap = z.record(
|
|
19
|
+
z.union([
|
|
20
|
+
InstalledPlugin.schemas.schema,
|
|
21
|
+
Task.schemas.schema
|
|
22
|
+
], { description: "Task/Plugin Mapping" })
|
|
23
|
+
);
|
|
24
|
+
var operationToPluginMap = z.record(
|
|
25
|
+
z.union([
|
|
26
|
+
InstalledPlugin.schemas.schema,
|
|
27
|
+
ParsedOperation.schemas.schema
|
|
28
|
+
], { description: "Operation/Plugin Mapping" })
|
|
29
|
+
);
|
|
30
|
+
var templateToPluginMap = z.record(
|
|
31
|
+
z.union([
|
|
32
|
+
InstalledPlugin.schemas.schema,
|
|
33
|
+
ParsedTemplate.schemas.schema
|
|
34
|
+
])
|
|
35
|
+
);
|
|
36
|
+
var rawSchema = z.object({
|
|
37
|
+
build: z.string({ description: "cache.build" }),
|
|
38
|
+
configHash: z.string({ description: "cache.configHash" }),
|
|
39
|
+
tasks: taskToPluginMap,
|
|
40
|
+
operations: operationToPluginMap,
|
|
41
|
+
templates: templateToPluginMap,
|
|
42
|
+
plugins: z.array(PluginInfo.schemas.schema, { description: "cache.plugins" })
|
|
43
|
+
}).describe("Ephemeral State");
|
|
44
|
+
var { schemas: generatedSchemas, factory } = createType({
|
|
45
|
+
rawSchema,
|
|
46
|
+
parseErrMsg: (value) => `${value} is not a valid representation of ephemeral state`,
|
|
47
|
+
unknownErrMsg: "Something went wrong when parsing the ephemeral state"
|
|
48
|
+
});
|
|
49
|
+
var { create: create2, of, make: make7 } = factory;
|
|
50
|
+
var schemas6 = {
|
|
51
|
+
...generatedSchemas,
|
|
52
|
+
schema: generatedSchemas.schema.transform((val) => val)
|
|
53
|
+
};
|
|
54
|
+
var getTaskCounts = (pluginInfo) => {
|
|
55
|
+
return pluginInfo.reduce(
|
|
56
|
+
(retval, pluginInfo2) => pluginInfo2.tasks === void 0 ? {} : pluginInfo2.tasks.reduce(
|
|
57
|
+
(retval2, task) => {
|
|
58
|
+
const taskName = task.task;
|
|
59
|
+
const providers = retval2[taskName] ? [...retval2[taskName], pluginInfo2] : [pluginInfo2];
|
|
60
|
+
const mapping = {};
|
|
61
|
+
mapping[taskName] = providers.filter((provider) => provider !== void 0);
|
|
62
|
+
return { ...retval2, ...mapping };
|
|
63
|
+
},
|
|
64
|
+
retval
|
|
65
|
+
),
|
|
66
|
+
{}
|
|
67
|
+
);
|
|
68
|
+
};
|
|
69
|
+
var getTemplateCounts = (pluginInfo) => {
|
|
70
|
+
return pluginInfo.reduce(
|
|
71
|
+
(retval, pluginInfo2) => !pluginInfo2.templates ? retval : pluginInfo2.templates.reduce(
|
|
72
|
+
(retval2, template) => {
|
|
73
|
+
const templateName = template.template;
|
|
74
|
+
const providers = retval2[templateName] ? [...retval2[templateName], pluginInfo2] : [pluginInfo2];
|
|
75
|
+
const mapping = {};
|
|
76
|
+
mapping[templateName] = providers.filter((provider) => provider !== void 0);
|
|
77
|
+
return { ...retval2, ...mapping };
|
|
78
|
+
},
|
|
79
|
+
retval
|
|
80
|
+
),
|
|
81
|
+
{}
|
|
82
|
+
);
|
|
83
|
+
};
|
|
84
|
+
var getOperationCounts = (pluginInfo) => {
|
|
85
|
+
return pluginInfo.reduce(
|
|
86
|
+
(retval, pluginInfo2) => pluginInfo2.operations === void 0 ? retval : pluginInfo2.operations.reduce(
|
|
87
|
+
(retval2, operation) => {
|
|
88
|
+
const operationName = operation.operation;
|
|
89
|
+
const providers = retval2[operationName] ? [...retval2[operationName], pluginInfo2] : [pluginInfo2];
|
|
90
|
+
const mapping = {};
|
|
91
|
+
mapping[operationName] = providers.filter((provider) => provider !== void 0);
|
|
92
|
+
return { ...retval2, ...mapping };
|
|
93
|
+
},
|
|
94
|
+
retval
|
|
95
|
+
),
|
|
96
|
+
{}
|
|
97
|
+
);
|
|
98
|
+
};
|
|
99
|
+
var toChoices = (plugins) => plugins.reduce(
|
|
100
|
+
(retval, pluginInfo) => {
|
|
101
|
+
return [...retval, pluginInfo.name, pluginInfo.alias];
|
|
102
|
+
},
|
|
103
|
+
[]
|
|
104
|
+
);
|
|
105
|
+
var isComposite = (name, counts) => counts[name] && counts[name].length > 1;
|
|
106
|
+
var getInstalledPlugin = (config, name) => {
|
|
107
|
+
var _a;
|
|
108
|
+
return (_a = config.plugins) == null ? void 0 : _a.find(
|
|
109
|
+
(plugin) => [`taqueria-plugin-${name}`, name].includes(plugin.name)
|
|
110
|
+
);
|
|
111
|
+
};
|
|
112
|
+
var mapTasksToPlugins = (config, pluginInfo, i18n) => {
|
|
113
|
+
const taskCounts = getTaskCounts(pluginInfo);
|
|
114
|
+
return attemptP(
|
|
115
|
+
async () => await pluginInfo.reduce(
|
|
116
|
+
async (retval, pluginInfo2) => !pluginInfo2.tasks ? Promise.resolve({}) : await pluginInfo2.tasks.reduce(
|
|
117
|
+
async (retval2, { task }) => {
|
|
118
|
+
if (isComposite(task, taskCounts)) {
|
|
119
|
+
const command = await eager(Command.make(task));
|
|
120
|
+
const compositeTask = await eager(Task.make({
|
|
121
|
+
task,
|
|
122
|
+
command,
|
|
123
|
+
description: i18n.__("providedByMany"),
|
|
124
|
+
hidden: false,
|
|
125
|
+
options: [
|
|
126
|
+
await eager(Option.make({
|
|
127
|
+
flag: await eager(Verb.make("plugin")),
|
|
128
|
+
description: "Specify which plugin should be used to execute this task",
|
|
129
|
+
choices: toChoices(taskCounts[task]),
|
|
130
|
+
required: true
|
|
131
|
+
}))
|
|
132
|
+
],
|
|
133
|
+
handler: "proxy"
|
|
134
|
+
}));
|
|
135
|
+
return { ...await retval2, [task]: compositeTask };
|
|
136
|
+
}
|
|
137
|
+
const installedPlugin = getInstalledPlugin(config, pluginInfo2.name);
|
|
138
|
+
return installedPlugin ? { ...await retval2, [task]: installedPlugin } : retval2;
|
|
139
|
+
},
|
|
140
|
+
retval
|
|
141
|
+
),
|
|
142
|
+
Promise.resolve({})
|
|
143
|
+
)
|
|
144
|
+
).pipe(mapRej((rej) => rej));
|
|
145
|
+
};
|
|
146
|
+
var mapOperationsToPlugins = (config, pluginInfo, i18n) => {
|
|
147
|
+
const opCounts = getOperationCounts(pluginInfo);
|
|
148
|
+
return attemptP(
|
|
149
|
+
async () => await pluginInfo.reduce(
|
|
150
|
+
async (retval, pluginInfo2) => !pluginInfo2.operations ? Promise.resolve({}) : await pluginInfo2.operations.reduce(
|
|
151
|
+
async (retval2, { operation }) => {
|
|
152
|
+
if (isComposite(operation, opCounts)) {
|
|
153
|
+
const command = await eager(Command.make(operation));
|
|
154
|
+
const compositeOp = await eager(ParsedOperation.make({
|
|
155
|
+
operation,
|
|
156
|
+
command,
|
|
157
|
+
description: i18n.__("providedByMany"),
|
|
158
|
+
options: [
|
|
159
|
+
await eager(Option.make({
|
|
160
|
+
flag: await eager(Verb.make("plugin")),
|
|
161
|
+
description: "Specify which plugin should be used to execute this operation",
|
|
162
|
+
choices: toChoices(opCounts[operation]),
|
|
163
|
+
required: true
|
|
164
|
+
}))
|
|
165
|
+
]
|
|
166
|
+
}));
|
|
167
|
+
return { ...await retval2, [operation]: compositeOp };
|
|
168
|
+
}
|
|
169
|
+
const installedPlugin = getInstalledPlugin(config, pluginInfo2.name);
|
|
170
|
+
return installedPlugin ? { ...await retval2, [operation]: installedPlugin } : retval2;
|
|
171
|
+
},
|
|
172
|
+
retval
|
|
173
|
+
),
|
|
174
|
+
Promise.resolve({})
|
|
175
|
+
)
|
|
176
|
+
).pipe(mapRej((rej) => rej));
|
|
177
|
+
};
|
|
178
|
+
var mapTemplatesToPlugins = (config, pluginInfo, i18n) => {
|
|
179
|
+
const tmplCounts = getTemplateCounts(pluginInfo);
|
|
180
|
+
return attemptP(
|
|
181
|
+
async () => await pluginInfo.reduce(
|
|
182
|
+
async (retval, pluginInfo2) => !pluginInfo2.templates ? Promise.resolve({}) : await pluginInfo2.templates.reduce(
|
|
183
|
+
async (retval2, { template }) => {
|
|
184
|
+
if (isComposite(template, tmplCounts)) {
|
|
185
|
+
const command = await eager(Command.make(template));
|
|
186
|
+
const compositeTmpl = await eager(ParsedTemplate.make({
|
|
187
|
+
template,
|
|
188
|
+
command,
|
|
189
|
+
description: i18n.__("providedByMany"),
|
|
190
|
+
options: [
|
|
191
|
+
await eager(Option.make({
|
|
192
|
+
flag: await eager(Verb.make("plugin")),
|
|
193
|
+
description: "Specify which plugin should be used to execute this task",
|
|
194
|
+
choices: toChoices(tmplCounts[template]),
|
|
195
|
+
required: true
|
|
196
|
+
}))
|
|
197
|
+
],
|
|
198
|
+
handler: "proxy",
|
|
199
|
+
encoding: PluginResponseEncoding.create("none")
|
|
200
|
+
}));
|
|
201
|
+
return { ...await retval2, [template]: compositeTmpl };
|
|
202
|
+
}
|
|
203
|
+
const installedPlugin = getInstalledPlugin(config, pluginInfo2.name);
|
|
204
|
+
return installedPlugin ? { ...await retval2, [template]: installedPlugin } : retval2;
|
|
205
|
+
},
|
|
206
|
+
retval
|
|
207
|
+
),
|
|
208
|
+
Promise.resolve({})
|
|
209
|
+
)
|
|
210
|
+
).pipe(mapRej((rej) => rej));
|
|
211
|
+
};
|
|
212
|
+
var getTasks = (pluginInfo) => pluginInfo.reduce(
|
|
213
|
+
(retval, pluginInfo2) => [...retval, ...pluginInfo2.tasks ?? []],
|
|
214
|
+
[]
|
|
215
|
+
);
|
|
216
|
+
export {
|
|
217
|
+
create2 as create,
|
|
218
|
+
factory,
|
|
219
|
+
generatedSchemas,
|
|
220
|
+
getTasks,
|
|
221
|
+
make7 as make,
|
|
222
|
+
mapOperationsToPlugins,
|
|
223
|
+
mapTasksToPlugins,
|
|
224
|
+
mapTemplatesToPlugins,
|
|
225
|
+
of,
|
|
226
|
+
schemas6 as schemas
|
|
227
|
+
};
|
|
228
|
+
//# sourceMappingURL=EphemeralState.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["EphemeralState.ts"],"sourcesContent":["import createType from '@taqueria/protocol/Base';\nimport * as Command from '@taqueria/protocol/Command';\nimport * as Config from '@taqueria/protocol/Config';\nimport type { i18n } from '@taqueria/protocol/i18n';\nimport * as InstalledPlugin from '@taqueria/protocol/InstalledPlugin';\nimport * as Option from '@taqueria/protocol/Option';\nimport * as ParsedOperation from '@taqueria/protocol/ParsedOperation';\nimport * as ParsedTemplate from '@taqueria/protocol/ParsedTemplate';\nimport * as PluginInfo from '@taqueria/protocol/PluginInfo';\nimport * as PluginResponseEncoding from '@taqueria/protocol/PluginResponseEncoding';\nimport { E_TaqError, TaqError } from '@taqueria/protocol/TaqError';\nimport * as Task from '@taqueria/protocol/Task';\nimport * as Verb from '@taqueria/protocol/Verb';\nimport { attemptP, FutureInstance as Future, mapRej, promise } from 'fluture';\nimport { z } from 'zod';\n\nconst eager = <T>(f: Future<TaqError, T>) =>\n\tpromise(\n\t\tmapRej((err: TaqError) => new E_TaqError(err))(f),\n\t);\n\nconst taskToPluginMap = z.record(\n\tz.union([\n\t\tInstalledPlugin.schemas.schema,\n\t\tTask.schemas.schema,\n\t], { description: 'Task/Plugin Mapping' }),\n);\nconst operationToPluginMap = z.record(\n\tz.union([\n\t\tInstalledPlugin.schemas.schema,\n\t\tParsedOperation.schemas.schema,\n\t], { description: 'Operation/Plugin Mapping' }),\n);\n\nconst templateToPluginMap = z.record(\n\tz.union([\n\t\tInstalledPlugin.schemas.schema,\n\t\tParsedTemplate.schemas.schema,\n\t]),\n);\n\nconst rawSchema = z.object({\n\tbuild: z.string({ description: 'cache.build' }),\n\tconfigHash: z.string({ description: 'cache.configHash' }),\n\ttasks: taskToPluginMap,\n\toperations: operationToPluginMap,\n\ttemplates: templateToPluginMap,\n\tplugins: z.array(PluginInfo.schemas.schema, { description: 'cache.plugins' }),\n}).describe('Ephemeral State');\n\ntype RawInput = z.infer<typeof rawSchema>;\n\nexport const { schemas: generatedSchemas, factory } = createType<RawInput, RawInput>({\n\trawSchema,\n\tparseErrMsg: (value: unknown) => `${value} is not a valid representation of ephemeral state`,\n\tunknownErrMsg: 'Something went wrong when parsing the ephemeral state',\n});\n\nexport type EphemeralState = z.infer<typeof generatedSchemas.schema>;\nexport type t = EphemeralState;\nexport type TaskToPluginMap = z.infer<typeof taskToPluginMap>;\nexport type OpToPluginMap = z.infer<typeof operationToPluginMap>;\nexport type TemplateToPluginMap = z.infer<typeof templateToPluginMap>;\n\nexport const { create, of, make } = factory;\n\nexport const schemas = {\n\t...generatedSchemas,\n\tschema: generatedSchemas.schema.transform(val => val as EphemeralState),\n};\n\n/**\n * Private functions\n */\ntype Counts = Record<Verb.t, PluginInfo.t[]>;\nconst getTaskCounts = (pluginInfo: PluginInfo.t[]): Counts => {\n\treturn pluginInfo.reduce(\n\t\t(retval, pluginInfo) =>\n\t\t\tpluginInfo.tasks === undefined\n\t\t\t\t? {}\n\t\t\t\t: pluginInfo.tasks.reduce(\n\t\t\t\t\t(retval: Counts, task: Task.t) => {\n\t\t\t\t\t\tconst taskName = task.task;\n\t\t\t\t\t\tconst providers: PluginInfo.t[] = retval[taskName]\n\t\t\t\t\t\t\t? [...retval[taskName], pluginInfo]\n\t\t\t\t\t\t\t: [pluginInfo];\n\t\t\t\t\t\tconst mapping: Counts = {};\n\t\t\t\t\t\tmapping[taskName] = providers.filter(provider => provider !== undefined);\n\t\t\t\t\t\treturn { ...retval, ...mapping };\n\t\t\t\t\t},\n\t\t\t\t\tretval,\n\t\t\t\t),\n\t\t{} as Counts,\n\t);\n};\n\nconst getTemplateCounts = (pluginInfo: PluginInfo.t[]): Counts => {\n\treturn pluginInfo.reduce(\n\t\t(retval, pluginInfo) =>\n\t\t\t!pluginInfo.templates\n\t\t\t\t? retval\n\t\t\t\t: pluginInfo.templates.reduce(\n\t\t\t\t\t(retval: Counts, template: ParsedTemplate.t) => {\n\t\t\t\t\t\tconst templateName = template.template;\n\t\t\t\t\t\tconst providers = retval[templateName]\n\t\t\t\t\t\t\t? [...retval[templateName], pluginInfo]\n\t\t\t\t\t\t\t: [pluginInfo];\n\t\t\t\t\t\tconst mapping: Counts = {};\n\t\t\t\t\t\tmapping[templateName] = providers.filter(provider => provider !== undefined);\n\t\t\t\t\t\treturn { ...retval, ...mapping };\n\t\t\t\t\t},\n\t\t\t\t\tretval,\n\t\t\t\t),\n\t\t{} as Counts,\n\t);\n};\n\nconst getOperationCounts = (pluginInfo: PluginInfo.t[]): Counts => {\n\treturn pluginInfo.reduce(\n\t\t(retval, pluginInfo) =>\n\t\t\tpluginInfo.operations === undefined\n\t\t\t\t? retval\n\t\t\t\t: pluginInfo.operations.reduce(\n\t\t\t\t\t(retval: Counts, operation: ParsedOperation.t) => {\n\t\t\t\t\t\tconst operationName = operation.operation;\n\t\t\t\t\t\tconst providers = retval[operationName]\n\t\t\t\t\t\t\t? [...retval[operationName], pluginInfo]\n\t\t\t\t\t\t\t: [pluginInfo];\n\t\t\t\t\t\tconst mapping: Counts = {};\n\t\t\t\t\t\tmapping[operationName] = providers.filter(provider => provider !== undefined);\n\t\t\t\t\t\treturn { ...retval, ...mapping };\n\t\t\t\t\t},\n\t\t\t\t\tretval,\n\t\t\t\t),\n\t\t{} as Counts,\n\t);\n};\n\nconst toChoices = (plugins: PluginInfo.t[]) =>\n\tplugins.reduce(\n\t\t(retval, pluginInfo) => {\n\t\t\treturn [...retval, pluginInfo.name as string, pluginInfo.alias as string];\n\t\t},\n\t\t[] as string[],\n\t);\n\nconst isComposite = (name: Verb.t, counts: Counts) => counts[name] && counts[name].length > 1;\n\nconst getInstalledPlugin = (config: Config.t, name: string) =>\n\tconfig.plugins?.find(\n\t\t(plugin: InstalledPlugin.t) => [`taqueria-plugin-${name}`, name].includes(plugin.name),\n\t);\n\nexport const mapTasksToPlugins = (config: Config.t, pluginInfo: PluginInfo.t[], i18n: i18n) => {\n\tconst taskCounts = getTaskCounts(pluginInfo);\n\treturn attemptP<TaqError, TaskToPluginMap>(async () =>\n\t\tawait pluginInfo.reduce(\n\t\t\tasync (retval, pluginInfo) =>\n\t\t\t\t!pluginInfo.tasks\n\t\t\t\t\t? Promise.resolve({} as TaskToPluginMap)\n\t\t\t\t\t: await pluginInfo.tasks.reduce(\n\t\t\t\t\t\tasync (retval, { task }) => {\n\t\t\t\t\t\t\tif (isComposite(task, taskCounts)) {\n\t\t\t\t\t\t\t\tconst command = await eager(Command.make(task));\n\t\t\t\t\t\t\t\tconst compositeTask = await eager(Task.make({\n\t\t\t\t\t\t\t\t\ttask,\n\t\t\t\t\t\t\t\t\tcommand,\n\t\t\t\t\t\t\t\t\tdescription: i18n.__('providedByMany'),\n\t\t\t\t\t\t\t\t\thidden: false,\n\t\t\t\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t\t\t\tawait eager(Option.make({\n\t\t\t\t\t\t\t\t\t\t\tflag: await eager(Verb.make('plugin')),\n\t\t\t\t\t\t\t\t\t\t\tdescription: 'Specify which plugin should be used to execute this task',\n\t\t\t\t\t\t\t\t\t\t\tchoices: toChoices(taskCounts[task]),\n\t\t\t\t\t\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\t\t\t\t\t})),\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\thandler: 'proxy',\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t\treturn { ...await retval, [task]: compositeTask };\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Task is provided by just a single plugin\n\t\t\t\t\t\t\tconst installedPlugin = getInstalledPlugin(config, pluginInfo.name);\n\t\t\t\t\t\t\treturn installedPlugin\n\t\t\t\t\t\t\t\t? { ...await retval, [task]: installedPlugin }\n\t\t\t\t\t\t\t\t: retval;\n\t\t\t\t\t\t},\n\t\t\t\t\t\tretval,\n\t\t\t\t\t),\n\t\t\tPromise.resolve({} as TaskToPluginMap),\n\t\t)\n\t).pipe(mapRej(rej => rej as TaqError));\n};\n\nexport const mapOperationsToPlugins = (config: Config.t, pluginInfo: PluginInfo.t[], i18n: i18n) => {\n\tconst opCounts = getOperationCounts(pluginInfo);\n\treturn attemptP(async () =>\n\t\tawait pluginInfo.reduce(\n\t\t\tasync (retval, pluginInfo) =>\n\t\t\t\t!pluginInfo.operations\n\t\t\t\t\t? Promise.resolve({} as OpToPluginMap)\n\t\t\t\t\t: await pluginInfo.operations.reduce(\n\t\t\t\t\t\tasync (retval, { operation }) => {\n\t\t\t\t\t\t\tif (isComposite(operation, opCounts)) {\n\t\t\t\t\t\t\t\tconst command = await eager(Command.make(operation));\n\t\t\t\t\t\t\t\tconst compositeOp = await eager(ParsedOperation.make({\n\t\t\t\t\t\t\t\t\toperation,\n\t\t\t\t\t\t\t\t\tcommand,\n\t\t\t\t\t\t\t\t\tdescription: i18n.__('providedByMany'),\n\t\t\t\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t\t\t\tawait eager(Option.make({\n\t\t\t\t\t\t\t\t\t\t\tflag: await eager(Verb.make('plugin')),\n\t\t\t\t\t\t\t\t\t\t\tdescription: 'Specify which plugin should be used to execute this operation',\n\t\t\t\t\t\t\t\t\t\t\tchoices: toChoices(opCounts[operation]),\n\t\t\t\t\t\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\t\t\t\t\t})),\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t\treturn { ...await retval, [operation]: compositeOp };\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Operation is provided by just a single plugin\n\t\t\t\t\t\t\tconst installedPlugin = getInstalledPlugin(config, pluginInfo.name);\n\t\t\t\t\t\t\treturn installedPlugin\n\t\t\t\t\t\t\t\t? { ...await retval, [operation]: installedPlugin }\n\t\t\t\t\t\t\t\t: retval;\n\t\t\t\t\t\t},\n\t\t\t\t\t\tretval,\n\t\t\t\t\t),\n\t\t\tPromise.resolve({} as OpToPluginMap),\n\t\t)\n\t).pipe(mapRej(rej => rej as TaqError));\n};\n\nexport const mapTemplatesToPlugins = (config: Config.t, pluginInfo: PluginInfo.t[], i18n: i18n) => {\n\tconst tmplCounts = getTemplateCounts(pluginInfo);\n\treturn attemptP<TaqError, TemplateToPluginMap>(async () =>\n\t\tawait pluginInfo.reduce(\n\t\t\tasync (retval, pluginInfo) =>\n\t\t\t\t!pluginInfo.templates\n\t\t\t\t\t? Promise.resolve({} as TemplateToPluginMap)\n\t\t\t\t\t: await pluginInfo.templates!.reduce(\n\t\t\t\t\t\tasync (retval, { template }) => {\n\t\t\t\t\t\t\tif (isComposite(template, tmplCounts)) {\n\t\t\t\t\t\t\t\tconst command = await eager(Command.make(template));\n\t\t\t\t\t\t\t\tconst compositeTmpl = await eager(ParsedTemplate.make({\n\t\t\t\t\t\t\t\t\ttemplate,\n\t\t\t\t\t\t\t\t\tcommand,\n\t\t\t\t\t\t\t\t\tdescription: i18n.__('providedByMany'),\n\t\t\t\t\t\t\t\t\toptions: [\n\t\t\t\t\t\t\t\t\t\tawait eager(Option.make({\n\t\t\t\t\t\t\t\t\t\t\tflag: await eager(Verb.make('plugin')),\n\t\t\t\t\t\t\t\t\t\t\tdescription: 'Specify which plugin should be used to execute this task',\n\t\t\t\t\t\t\t\t\t\t\tchoices: toChoices(tmplCounts[template]),\n\t\t\t\t\t\t\t\t\t\t\trequired: true,\n\t\t\t\t\t\t\t\t\t\t})),\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\thandler: 'proxy',\n\t\t\t\t\t\t\t\t\tencoding: PluginResponseEncoding.create('none'),\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t\treturn { ...await retval, [template]: compositeTmpl };\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// Template is provided by just a single plugin\n\t\t\t\t\t\t\tconst installedPlugin = getInstalledPlugin(config, pluginInfo.name);\n\t\t\t\t\t\t\treturn installedPlugin\n\t\t\t\t\t\t\t\t? { ...await retval, [template]: installedPlugin }\n\t\t\t\t\t\t\t\t: retval;\n\t\t\t\t\t\t},\n\t\t\t\t\t\tretval,\n\t\t\t\t\t),\n\t\t\tPromise.resolve({} as TemplateToPluginMap),\n\t\t)\n\t).pipe(mapRej(rej => rej as TaqError));\n};\n\nexport const getTasks = (pluginInfo: PluginInfo.t[]) =>\n\tpluginInfo.reduce(\n\t\t(retval: Task.t[], pluginInfo) => [...retval, ...(pluginInfo.tasks ?? [])],\n\t\t[],\n\t);\n"],"mappings":"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","names":["create","make","schemas","pluginInfo","retval"]}
|