@shuttl-io/core 0.2.0 → 0.4.2
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/.jsii +5562 -0
- package/.package.env +1 -0
- package/CHANGELOG.md +67 -0
- package/README.md +353 -1
- package/dist/Server.d.ts +1 -0
- package/dist/Server.js +1 -1
- package/dist/agent.js +2 -2
- package/dist/app.d.ts +2 -2
- package/dist/app.js +8 -6
- package/dist/model.js +1 -1
- package/dist/outcomes/CombinationOutcome.js +1 -1
- package/dist/outcomes/IOutcomes.js +1 -1
- package/dist/outcomes/StreamingOutcome.js +1 -1
- package/dist/secrets.js +2 -2
- package/dist/server/http.d.ts +44 -0
- package/dist/server/http.js +721 -4
- package/dist/tools/tool.js +2 -2
- package/dist/tools/toolkit.js +1 -1
- package/dist/trigger/ApiTrigger.js +1 -1
- package/dist/trigger/EmailTrigger.js +1 -1
- package/dist/trigger/FileTrigger.js +1 -1
- package/dist/trigger/ITrigger.js +1 -1
- package/dist/trigger/RateTrigger.js +1 -1
- package/package.json +2 -2
- package/publish.sh +149 -8
- package/dist/src/Server.d.ts +0 -5
- package/dist/src/Server.js +0 -3
- package/dist/src/Triggers.d.ts +0 -0
- package/dist/src/Triggers.js +0 -2
- package/dist/src/agent.d.ts +0 -49
- package/dist/src/agent.js +0 -251
- package/dist/src/app.d.ts +0 -17
- package/dist/src/app.js +0 -46
- package/dist/src/index.d.ts +0 -12
- package/dist/src/index.js +0 -29
- package/dist/src/model.d.ts +0 -6
- package/dist/src/model.js +0 -16
- package/dist/src/models/openAi.d.ts +0 -38
- package/dist/src/models/openAi.js +0 -344
- package/dist/src/models/types.d.ts +0 -101
- package/dist/src/models/types.js +0 -27
- package/dist/src/outcomes/CombinationOutcome.d.ts +0 -9
- package/dist/src/outcomes/CombinationOutcome.js +0 -41
- package/dist/src/outcomes/IOutcomes.d.ts +0 -9
- package/dist/src/outcomes/IOutcomes.js +0 -19
- package/dist/src/outcomes/StreamingOutcome.d.ts +0 -6
- package/dist/src/outcomes/StreamingOutcome.js +0 -30
- package/dist/src/outcomes/index.d.ts +0 -3
- package/dist/src/outcomes/index.js +0 -20
- package/dist/src/secrets.d.ts +0 -19
- package/dist/src/secrets.js +0 -34
- package/dist/src/server/http.d.ts +0 -68
- package/dist/src/server/http.js +0 -654
- package/dist/src/server/index.d.ts +0 -1
- package/dist/src/server/index.js +0 -18
- package/dist/src/tools/tool.d.ts +0 -33
- package/dist/src/tools/tool.js +0 -49
- package/dist/src/tools/toolkit.d.ts +0 -13
- package/dist/src/tools/toolkit.js +0 -19
- package/dist/src/trigger/ApiTrigger.d.ts +0 -37
- package/dist/src/trigger/ApiTrigger.js +0 -106
- package/dist/src/trigger/EmailTrigger.d.ts +0 -15
- package/dist/src/trigger/EmailTrigger.js +0 -22
- package/dist/src/trigger/FileTrigger.d.ts +0 -14
- package/dist/src/trigger/FileTrigger.js +0 -37
- package/dist/src/trigger/ITrigger.d.ts +0 -89
- package/dist/src/trigger/ITrigger.js +0 -35
- package/dist/src/trigger/RateTrigger.d.ts +0 -23
- package/dist/src/trigger/RateTrigger.js +0 -58
- package/dist/src/trigger/index.d.ts +0 -5
- package/dist/src/trigger/index.js +0 -22
- package/dist/tests/agent.test.d.ts +0 -1
- package/dist/tests/agent.test.js +0 -388
- package/dist/tests/agentStreamer.test.d.ts +0 -1
- package/dist/tests/agentStreamer.test.js +0 -530
- package/dist/tests/app.test.d.ts +0 -1
- package/dist/tests/app.test.js +0 -423
- package/dist/tests/model.test.d.ts +0 -1
- package/dist/tests/model.test.js +0 -310
- package/dist/tests/openAi.test.d.ts +0 -1
- package/dist/tests/openAi.test.js +0 -701
- package/dist/tests/outcomes.test.d.ts +0 -1
- package/dist/tests/outcomes.test.js +0 -257
- package/dist/tests/secrets.test.d.ts +0 -1
- package/dist/tests/secrets.test.js +0 -263
- package/dist/tests/server/http.test.d.ts +0 -1
- package/dist/tests/server/http.test.js +0 -553
- package/dist/tests/tool.test.d.ts +0 -1
- package/dist/tests/tool.test.js +0 -315
- package/dist/tests/toolkit.test.d.ts +0 -1
- package/dist/tests/toolkit.test.js +0 -189
- package/dist/tests/triggers.test.d.ts +0 -1
- package/dist/tests/triggers.test.js +0 -203
- package/dist/tests/types.test.d.ts +0 -1
- package/dist/tests/types.test.js +0 -429
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./http";
|
package/dist/src/server/index.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./http"), exports);
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx5Q0FBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9odHRwXCI7XG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbiJdfQ==
|
package/dist/src/tools/tool.d.ts
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
export interface ToolArg {
|
|
2
|
-
readonly name?: string;
|
|
3
|
-
readonly argType: string;
|
|
4
|
-
readonly description: string;
|
|
5
|
-
readonly required: boolean;
|
|
6
|
-
readonly defaultValue?: unknown;
|
|
7
|
-
readonly enumValues?: string[];
|
|
8
|
-
}
|
|
9
|
-
export interface ITool {
|
|
10
|
-
name: string;
|
|
11
|
-
description: string;
|
|
12
|
-
schema?: Schema;
|
|
13
|
-
execute(args: Record<string, unknown>): unknown;
|
|
14
|
-
}
|
|
15
|
-
export declare class ToolArgBuilder {
|
|
16
|
-
argType: string;
|
|
17
|
-
description: string;
|
|
18
|
-
required: boolean;
|
|
19
|
-
defaultValue?: unknown;
|
|
20
|
-
enumValues?: string[];
|
|
21
|
-
constructor(argType: string, description: string, required: boolean, defaultValue?: unknown, enumValues?: string[]);
|
|
22
|
-
isRequired(): ToolArgBuilder;
|
|
23
|
-
defaultTo(defaultValue: unknown): ToolArgBuilder;
|
|
24
|
-
}
|
|
25
|
-
export declare class Schema {
|
|
26
|
-
readonly properties: Record<string, ToolArgBuilder>;
|
|
27
|
-
private constructor();
|
|
28
|
-
static objectValue(properties: Record<string, ToolArgBuilder>): Schema;
|
|
29
|
-
static stringValue(description: string): ToolArgBuilder;
|
|
30
|
-
static numberValue(description: string): ToolArgBuilder;
|
|
31
|
-
static booleanValue(description: string): ToolArgBuilder;
|
|
32
|
-
static enumValue(description: string, enumValues: string[]): ToolArgBuilder;
|
|
33
|
-
}
|
package/dist/src/tools/tool.js
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var _a, _b;
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.Schema = exports.ToolArgBuilder = void 0;
|
|
5
|
-
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
-
class ToolArgBuilder {
|
|
7
|
-
constructor(argType, description, required, defaultValue, enumValues) {
|
|
8
|
-
this.argType = argType;
|
|
9
|
-
this.description = description;
|
|
10
|
-
this.required = required;
|
|
11
|
-
this.defaultValue = defaultValue;
|
|
12
|
-
this.enumValues = enumValues;
|
|
13
|
-
}
|
|
14
|
-
isRequired() {
|
|
15
|
-
this.required = true;
|
|
16
|
-
return this;
|
|
17
|
-
}
|
|
18
|
-
defaultTo(defaultValue) {
|
|
19
|
-
this.defaultValue = defaultValue;
|
|
20
|
-
return this;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
exports.ToolArgBuilder = ToolArgBuilder;
|
|
24
|
-
_a = JSII_RTTI_SYMBOL_1;
|
|
25
|
-
ToolArgBuilder[_a] = { fqn: "@shuttl-io/core.ToolArgBuilder", version: "0.1.7-0" };
|
|
26
|
-
class Schema {
|
|
27
|
-
constructor(properties) {
|
|
28
|
-
this.properties = properties;
|
|
29
|
-
}
|
|
30
|
-
static objectValue(properties) {
|
|
31
|
-
return new Schema(properties);
|
|
32
|
-
}
|
|
33
|
-
static stringValue(description) {
|
|
34
|
-
return new ToolArgBuilder("string", description, false);
|
|
35
|
-
}
|
|
36
|
-
static numberValue(description) {
|
|
37
|
-
return new ToolArgBuilder("number", description, false);
|
|
38
|
-
}
|
|
39
|
-
static booleanValue(description) {
|
|
40
|
-
return new ToolArgBuilder("boolean", description, false);
|
|
41
|
-
}
|
|
42
|
-
static enumValue(description, enumValues) {
|
|
43
|
-
return new ToolArgBuilder("string", description, false, undefined, enumValues);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
exports.Schema = Schema;
|
|
47
|
-
_b = JSII_RTTI_SYMBOL_1;
|
|
48
|
-
Schema[_b] = { fqn: "@shuttl-io/core.Schema", version: "0.1.7-0" };
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b29scy90b29sLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBZUEsTUFBYSxjQUFjO0lBT3ZCLFlBQW1CLE9BQWUsRUFBRSxXQUFtQixFQUFFLFFBQWlCLEVBQUUsWUFBc0IsRUFBRSxVQUFxQjtRQUNySCxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztRQUNqQyxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUNqQyxDQUFDO0lBRU0sVUFBVTtRQUNiLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxTQUFTLENBQUMsWUFBcUI7UUFDbEMsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzs7QUF2Qkwsd0NBd0JDOzs7QUFFRCxNQUFhLE1BQU07SUFDZixZQUFvQyxVQUEwQztRQUExQyxlQUFVLEdBQVYsVUFBVSxDQUFnQztJQUFHLENBQUM7SUFDM0UsTUFBTSxDQUFDLFdBQVcsQ0FBQyxVQUEwQztRQUNoRSxPQUFPLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFDTSxNQUFNLENBQUMsV0FBVyxDQUFDLFdBQW1CO1FBQ3pDLE9BQU8sSUFBSSxjQUFjLENBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBQ00sTUFBTSxDQUFDLFdBQVcsQ0FBQyxXQUFtQjtRQUN6QyxPQUFPLElBQUksY0FBYyxDQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUNNLE1BQU0sQ0FBQyxZQUFZLENBQUMsV0FBbUI7UUFDMUMsT0FBTyxJQUFJLGNBQWMsQ0FBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFTSxNQUFNLENBQUMsU0FBUyxDQUFDLFdBQW1CLEVBQUUsVUFBb0I7UUFDN0QsT0FBTyxJQUFJLGNBQWMsQ0FBQyxRQUFRLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDbkYsQ0FBQzs7QUFqQkwsd0JBa0JDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBUb29sQXJnIHtcbiAgICByZWFkb25seSBuYW1lPzogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGFyZ1R5cGU6IHN0cmluZztcbiAgICByZWFkb25seSBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHJlcXVpcmVkOiBib29sZWFuO1xuICAgIHJlYWRvbmx5IGRlZmF1bHRWYWx1ZT86IHVua25vd247XG4gICAgcmVhZG9ubHkgZW51bVZhbHVlcz86IHN0cmluZ1tdO1xufVxuZXhwb3J0IGludGVyZmFjZSBJVG9vbCB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgc2NoZW1hPzogU2NoZW1hO1xuICAgIGV4ZWN1dGUoYXJnczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiB1bmtub3duO1xufVxuXG5leHBvcnQgY2xhc3MgVG9vbEFyZ0J1aWxkZXIge1xuICAgIHB1YmxpYyBhcmdUeXBlOiBzdHJpbmc7XG4gICAgcHVibGljIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgcHVibGljIHJlcXVpcmVkOiBib29sZWFuO1xuICAgIHB1YmxpYyBkZWZhdWx0VmFsdWU/OiB1bmtub3duO1xuICAgIHB1YmxpYyBlbnVtVmFsdWVzPzogc3RyaW5nW107XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoYXJnVHlwZTogc3RyaW5nLCBkZXNjcmlwdGlvbjogc3RyaW5nLCByZXF1aXJlZDogYm9vbGVhbiwgZGVmYXVsdFZhbHVlPzogdW5rbm93biwgZW51bVZhbHVlcz86IHN0cmluZ1tdKSB7XG4gICAgICAgIHRoaXMuYXJnVHlwZSA9IGFyZ1R5cGU7XG4gICAgICAgIHRoaXMuZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbjtcbiAgICAgICAgdGhpcy5yZXF1aXJlZCA9IHJlcXVpcmVkO1xuICAgICAgICB0aGlzLmRlZmF1bHRWYWx1ZSA9IGRlZmF1bHRWYWx1ZTtcbiAgICAgICAgdGhpcy5lbnVtVmFsdWVzID0gZW51bVZhbHVlcztcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNSZXF1aXJlZCgpOiBUb29sQXJnQnVpbGRlciB7XG4gICAgICAgIHRoaXMucmVxdWlyZWQgPSB0cnVlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgZGVmYXVsdFRvKGRlZmF1bHRWYWx1ZTogdW5rbm93bik6IFRvb2xBcmdCdWlsZGVyIHtcbiAgICAgICAgdGhpcy5kZWZhdWx0VmFsdWUgPSBkZWZhdWx0VmFsdWU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFNjaGVtYSB7XG4gICAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgcHJvcGVydGllczogUmVjb3JkPHN0cmluZywgVG9vbEFyZ0J1aWxkZXI+KSB7fVxuICAgIHB1YmxpYyBzdGF0aWMgb2JqZWN0VmFsdWUocHJvcGVydGllczogUmVjb3JkPHN0cmluZywgVG9vbEFyZ0J1aWxkZXI+KTogU2NoZW1hIHtcbiAgICAgICAgcmV0dXJuIG5ldyBTY2hlbWEocHJvcGVydGllcyk7XG4gICAgfVxuICAgIHB1YmxpYyBzdGF0aWMgc3RyaW5nVmFsdWUoZGVzY3JpcHRpb246IHN0cmluZyk6IFRvb2xBcmdCdWlsZGVyIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUb29sQXJnQnVpbGRlciggXCJzdHJpbmdcIiwgZGVzY3JpcHRpb24sIGZhbHNlKTtcbiAgICB9XG4gICAgcHVibGljIHN0YXRpYyBudW1iZXJWYWx1ZShkZXNjcmlwdGlvbjogc3RyaW5nKTogVG9vbEFyZ0J1aWxkZXIge1xuICAgICAgICByZXR1cm4gbmV3IFRvb2xBcmdCdWlsZGVyKCBcIm51bWJlclwiLCBkZXNjcmlwdGlvbiwgZmFsc2UpO1xuICAgIH1cbiAgICBwdWJsaWMgc3RhdGljIGJvb2xlYW5WYWx1ZShkZXNjcmlwdGlvbjogc3RyaW5nKTogVG9vbEFyZ0J1aWxkZXIge1xuICAgICAgICByZXR1cm4gbmV3IFRvb2xBcmdCdWlsZGVyKCBcImJvb2xlYW5cIiwgZGVzY3JpcHRpb24sIGZhbHNlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGVudW1WYWx1ZShkZXNjcmlwdGlvbjogc3RyaW5nLCBlbnVtVmFsdWVzOiBzdHJpbmdbXSk6IFRvb2xBcmdCdWlsZGVyIHtcbiAgICAgICAgcmV0dXJuIG5ldyBUb29sQXJnQnVpbGRlcihcInN0cmluZ1wiLCBkZXNjcmlwdGlvbiwgZmFsc2UsIHVuZGVmaW5lZCwgZW51bVZhbHVlcyk7XG4gICAgfVxufSJdfQ==
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { ITool } from "./tool";
|
|
2
|
-
export interface ToolkitProps {
|
|
3
|
-
readonly name: string;
|
|
4
|
-
readonly description?: string;
|
|
5
|
-
readonly tools?: ITool[];
|
|
6
|
-
}
|
|
7
|
-
export declare class Toolkit {
|
|
8
|
-
readonly name: string;
|
|
9
|
-
readonly description: string | undefined;
|
|
10
|
-
readonly tools: ITool[];
|
|
11
|
-
constructor(props: ToolkitProps);
|
|
12
|
-
addTool(tool: ITool): void;
|
|
13
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var _a;
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.Toolkit = void 0;
|
|
5
|
-
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
-
class Toolkit {
|
|
7
|
-
constructor(props) {
|
|
8
|
-
this.name = props.name;
|
|
9
|
-
this.description = props.description;
|
|
10
|
-
this.tools = props.tools ?? [];
|
|
11
|
-
}
|
|
12
|
-
addTool(tool) {
|
|
13
|
-
this.tools.push(tool);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
exports.Toolkit = Toolkit;
|
|
17
|
-
_a = JSII_RTTI_SYMBOL_1;
|
|
18
|
-
Toolkit[_a] = { fqn: "@shuttl-io/core.Toolkit", version: "0.1.7-0" };
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGtpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90b29scy90b29sa2l0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBUUEsTUFBYSxPQUFPO0lBS2hCLFlBQW1CLEtBQW1CO1FBQ2xDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFDckMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRU0sT0FBTyxDQUFDLElBQVc7UUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQzs7QUFiTCwwQkFjQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElUb29sIH0gZnJvbSBcIi4vdG9vbFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRvb2xraXRQcm9wcyB7XG4gICAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHRvb2xzPzogSVRvb2xbXTtcbn1cblxuZXhwb3J0IGNsYXNzIFRvb2xraXQge1xuICAgIHB1YmxpYyByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gICAgcHVibGljIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgcHVibGljIHJlYWRvbmx5IHRvb2xzOiBJVG9vbFtdO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHByb3BzOiBUb29sa2l0UHJvcHMpIHtcbiAgICAgICAgdGhpcy5uYW1lID0gcHJvcHMubmFtZTtcbiAgICAgICAgdGhpcy5kZXNjcmlwdGlvbiA9IHByb3BzLmRlc2NyaXB0aW9uO1xuICAgICAgICB0aGlzLnRvb2xzID0gcHJvcHMudG9vbHMgPz8gW107XG4gICAgfVxuXG4gICAgcHVibGljIGFkZFRvb2wodG9vbDogSVRvb2wpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50b29scy5wdXNoKHRvb2wpO1xuICAgIH1cbn0iXX0=
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { BaseTrigger, TriggerOutput } from "./ITrigger";
|
|
2
|
-
import { IOutcome } from "../outcomes/IOutcomes";
|
|
3
|
-
export interface IApiAuthenticator {
|
|
4
|
-
authenticate(args: ApiTriggerArgs): Promise<boolean>;
|
|
5
|
-
}
|
|
6
|
-
export interface ApiTriggerConfig {
|
|
7
|
-
readonly cors?: string[];
|
|
8
|
-
readonly authenticator?: IApiAuthenticator;
|
|
9
|
-
}
|
|
10
|
-
export interface ApiAuth {
|
|
11
|
-
readonly authType: "bearer" | "basic" | "api_key";
|
|
12
|
-
readonly value: string;
|
|
13
|
-
}
|
|
14
|
-
export interface ApiTriggerArgs {
|
|
15
|
-
readonly method: "POST" | "GET" | "PUT" | "PATCH" | "DELETE";
|
|
16
|
-
readonly hostName: string;
|
|
17
|
-
readonly headers?: Record<string, string> | undefined;
|
|
18
|
-
readonly body?: any;
|
|
19
|
-
readonly queryParams?: Record<string, string> | undefined;
|
|
20
|
-
readonly pathParams?: Record<string, string> | undefined;
|
|
21
|
-
readonly cookies?: Record<string, string> | undefined;
|
|
22
|
-
readonly auth?: ApiAuth | undefined;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Represents a trigger that can activate an agent via an API call.
|
|
26
|
-
* This API trigger is the default trigger for agents.
|
|
27
|
-
*/
|
|
28
|
-
export declare class ApiTrigger extends BaseTrigger {
|
|
29
|
-
triggerType: string;
|
|
30
|
-
triggerConfig: Record<string, unknown>;
|
|
31
|
-
outcome?: IOutcome;
|
|
32
|
-
private authenticator?;
|
|
33
|
-
constructor(config?: ApiTriggerConfig);
|
|
34
|
-
parseArgs(rawArgs: any): Promise<TriggerOutput>;
|
|
35
|
-
private createInputContent;
|
|
36
|
-
validate(rawArgs: any): Promise<Record<string, unknown>>;
|
|
37
|
-
}
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var _a;
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.ApiTrigger = void 0;
|
|
5
|
-
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
-
const zod_1 = require("zod");
|
|
7
|
-
const ITrigger_1 = require("./ITrigger");
|
|
8
|
-
function assertNever(value) {
|
|
9
|
-
throw new Error(`Unexpected value: ${value}`);
|
|
10
|
-
}
|
|
11
|
-
const ApiTriggerSchema = zod_1.z.object({
|
|
12
|
-
method: zod_1.z.enum(["POST", "GET", "PUT", "PATCH", "DELETE"]),
|
|
13
|
-
hostName: zod_1.z.string(),
|
|
14
|
-
headers: zod_1.z.record(zod_1.z.string(), zod_1.z.string()).optional(),
|
|
15
|
-
body: zod_1.z.any().optional(),
|
|
16
|
-
queryParams: zod_1.z.record(zod_1.z.string(), zod_1.z.string()).optional(),
|
|
17
|
-
pathParams: zod_1.z.record(zod_1.z.string(), zod_1.z.string()).optional(),
|
|
18
|
-
cookies: zod_1.z.record(zod_1.z.string(), zod_1.z.string()).optional(),
|
|
19
|
-
auth: zod_1.z.object({
|
|
20
|
-
authType: zod_1.z.enum(["bearer", "basic", "api_key"]),
|
|
21
|
-
value: zod_1.z.string(),
|
|
22
|
-
}).optional(),
|
|
23
|
-
});
|
|
24
|
-
const fileAttachmentSchema = zod_1.z.object({
|
|
25
|
-
type: zod_1.z.literal("file"),
|
|
26
|
-
name: zod_1.z.string(),
|
|
27
|
-
content: zod_1.z.string(),
|
|
28
|
-
mimeType: zod_1.z.string().optional(),
|
|
29
|
-
});
|
|
30
|
-
const imageSchema = zod_1.z.object({
|
|
31
|
-
type: zod_1.z.literal("image"),
|
|
32
|
-
content: zod_1.z.string(),
|
|
33
|
-
name: zod_1.z.string(),
|
|
34
|
-
mimeType: zod_1.z.string().optional(),
|
|
35
|
-
});
|
|
36
|
-
const textSchema = zod_1.z.object({
|
|
37
|
-
type: zod_1.z.literal("text"),
|
|
38
|
-
content: zod_1.z.string(),
|
|
39
|
-
});
|
|
40
|
-
const bodySchema1 = zod_1.z.discriminatedUnion("type", [fileAttachmentSchema, imageSchema, textSchema]);
|
|
41
|
-
const bodySchema = zod_1.z.union([bodySchema1, zod_1.z.array(bodySchema1)]);
|
|
42
|
-
/**
|
|
43
|
-
* Represents a trigger that can activate an agent via an API call.
|
|
44
|
-
* This API trigger is the default trigger for agents.
|
|
45
|
-
*/
|
|
46
|
-
class ApiTrigger extends ITrigger_1.BaseTrigger {
|
|
47
|
-
constructor(config) {
|
|
48
|
-
super("api", config ?? {
|
|
49
|
-
cors: ["*"],
|
|
50
|
-
authenticator: async (_) => true,
|
|
51
|
-
});
|
|
52
|
-
this.triggerType = "api";
|
|
53
|
-
this.triggerConfig = {};
|
|
54
|
-
this.authenticator = config?.authenticator ?? undefined;
|
|
55
|
-
}
|
|
56
|
-
parseArgs(rawArgs) {
|
|
57
|
-
const args = ApiTriggerSchema.parse(rawArgs);
|
|
58
|
-
const body = bodySchema.parse(args.body);
|
|
59
|
-
if (!Array.isArray(body)) {
|
|
60
|
-
return Promise.resolve({ input: [this.createInputContent(body)] });
|
|
61
|
-
}
|
|
62
|
-
return Promise.resolve({ input: body.map((b) => this.createInputContent(b)) });
|
|
63
|
-
}
|
|
64
|
-
createInputContent(body) {
|
|
65
|
-
if (body.type === "text") {
|
|
66
|
-
return { typeName: "text", text: body.content };
|
|
67
|
-
}
|
|
68
|
-
if (body.type === "file") {
|
|
69
|
-
return { typeName: "file", fileData: {
|
|
70
|
-
content: body.content,
|
|
71
|
-
name: body.name,
|
|
72
|
-
mimeType: body.mimeType,
|
|
73
|
-
} };
|
|
74
|
-
}
|
|
75
|
-
if (body.type === "image") {
|
|
76
|
-
return {
|
|
77
|
-
typeName: "image",
|
|
78
|
-
fileData: {
|
|
79
|
-
content: body.content,
|
|
80
|
-
name: body.name,
|
|
81
|
-
mimeType: body.mimeType,
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
assertNever(body);
|
|
86
|
-
}
|
|
87
|
-
async validate(rawArgs) {
|
|
88
|
-
const args = ApiTriggerSchema.safeParse(rawArgs);
|
|
89
|
-
if (!args.success) {
|
|
90
|
-
return Promise.resolve({ error: "Invalid arguments", details: args.error.issues });
|
|
91
|
-
}
|
|
92
|
-
if (!this.authenticator) {
|
|
93
|
-
return Promise.resolve({});
|
|
94
|
-
}
|
|
95
|
-
const authenticator = this.authenticator;
|
|
96
|
-
const authenticated = await authenticator.authenticate(args.data);
|
|
97
|
-
if (!authenticated) {
|
|
98
|
-
return Promise.resolve({ error: "Unauthorized" });
|
|
99
|
-
}
|
|
100
|
-
return Promise.resolve({});
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
exports.ApiTrigger = ApiTrigger;
|
|
104
|
-
_a = JSII_RTTI_SYMBOL_1;
|
|
105
|
-
ApiTrigger[_a] = { fqn: "@shuttl-io/core.ApiTrigger", version: "0.1.7-0" };
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXBpVHJpZ2dlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90cmlnZ2VyL0FwaVRyaWdnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2QkFBd0I7QUFFeEIseUNBQXdEO0FBR3hELFNBQVMsV0FBVyxDQUFDLEtBQVk7SUFDN0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsS0FBSyxFQUFFLENBQUMsQ0FBQztBQUNsRCxDQUFDO0FBV0QsTUFBTSxnQkFBZ0IsR0FBRyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQzlCLE1BQU0sRUFBRSxPQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3pELFFBQVEsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0lBQ3BCLE9BQU8sRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDcEQsSUFBSSxFQUFFLE9BQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDeEIsV0FBVyxFQUFFLE9BQUMsQ0FBQyxNQUFNLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUN4RCxVQUFVLEVBQUUsT0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ3ZELE9BQU8sRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDcEQsSUFBSSxFQUFFLE9BQUMsQ0FBQyxN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RCxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3pDLE1BQU0sYUFBYSxHQUFHLE1BQU0sYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ2pCLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDL0IsQ0FBQzs7QUE3REwsZ0NBOERDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgeiB9IGZyb20gXCJ6b2RcIjtcbmltcG9ydCB7IElucHV0Q29udGVudCB9IGZyb20gXCIuLi9tb2RlbHMvdHlwZXNcIjtcbmltcG9ydCB7IEJhc2VUcmlnZ2VyLCBUcmlnZ2VyT3V0cHV0IH0gZnJvbSBcIi4vSVRyaWdnZXJcIjtcbmltcG9ydCB7IElPdXRjb21lIH0gZnJvbSBcIi4uL291dGNvbWVzL0lPdXRjb21lc1wiO1xuXG5mdW5jdGlvbiBhc3NlcnROZXZlcih2YWx1ZTogbmV2ZXIpOiBuZXZlciB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIHZhbHVlOiAke3ZhbHVlfWApO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElBcGlBdXRoZW50aWNhdG9yIHtcbiAgICBhdXRoZW50aWNhdGUoYXJnczogQXBpVHJpZ2dlckFyZ3MpOiBQcm9taXNlPGJvb2xlYW4+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwaVRyaWdnZXJDb25maWcge1xuICAgIHJlYWRvbmx5IGNvcnM/OiBzdHJpbmdbXTtcbiAgICByZWFkb25seSBhdXRoZW50aWNhdG9yPzogSUFwaUF1dGhlbnRpY2F0b3I7XG59XG5cbmNvbnN0IEFwaVRyaWdnZXJTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgbWV0aG9kOiB6LmVudW0oW1wiUE9TVFwiLCBcIkdFVFwiLCBcIlBVVFwiLCBcIlBBVENIXCIsIFwiREVMRVRFXCJdKSxcbiAgICBob3N0TmFtZTogei5zdHJpbmcoKSxcbiAgICBoZWFkZXJzOiB6LnJlY29yZCh6LnN0cmluZygpLCB6LnN0cmluZygpKS5vcHRpb25hbCgpLFxuICAgIGJvZHk6IHouYW55KCkub3B0aW9uYWwoKSxcbiAgICBxdWVyeVBhcmFtczogei5yZWNvcmQoei5zdHJpbmcoKSwgei5zdHJpbmcoKSkub3B0aW9uYWwoKSxcbiAgICBwYXRoUGFyYW1zOiB6LnJlY29yZCh6LnN0cmluZygpLCB6LnN0cmluZygpKS5vcHRpb25hbCgpLFxuICAgIGNvb2tpZXM6IHoucmVjb3JkKHouc3RyaW5nKCksIHouc3RyaW5nKCkpLm9wdGlvbmFsKCksXG4gICAgYXV0aDogei5vYmplY3Qoe1xuICAgICAgICBhdXRoVHlwZTogei5lbnVtKFtcImJlYXJlclwiLCBcImJhc2ljXCIsIFwiYXBpX2tleVwiXSksXG4gICAgICAgIHZhbHVlOiB6LnN0cmluZygpLFxuICAgIH0pLm9wdGlvbmFsKCksXG59KTtcblxuY29uc3QgZmlsZUF0dGFjaG1lbnRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgdHlwZTogei5saXRlcmFsKFwiZmlsZVwiKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgIGNvbnRlbnQ6IHouc3RyaW5nKCksXG4gICAgbWltZVR5cGU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5jb25zdCBpbWFnZVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICB0eXBlOiB6LmxpdGVyYWwoXCJpbWFnZVwiKSxcbiAgICBjb250ZW50OiB6LnN0cmluZygpLFxuICAgIG5hbWU6IHouc3RyaW5nKCksXG4gICAgbWltZVR5cGU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbn0pO1xuXG5jb25zdCB0ZXh0U2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHR5cGU6IHoubGl0ZXJhbChcInRleHRcIiksXG4gICAgY29udGVudDogei5zdHJpbmcoKSxcbn0pO1xuXG5jb25zdCBib2R5U2NoZW1hMSA9IHouZGlzY3JpbWluYXRlZFVuaW9uKFwidHlwZVwiLCBbZmlsZUF0dGFjaG1lbnRTY2hlbWEsIGltYWdlU2NoZW1hLCB0ZXh0U2NoZW1hXSk7XG5cbmNvbnN0IGJvZHlTY2hlbWEgPSB6LnVuaW9uKFtib2R5U2NoZW1hMSwgei5hcnJheShib2R5U2NoZW1hMSldKTtcblxuZXhwb3J0IGludGVyZmFjZSBBcGlBdXRoIHtcbiAgICByZWFkb25seSBhdXRoVHlwZTogXCJiZWFyZXJcIiB8IFwiYmFzaWNcIiB8IFwiYXBpX2tleVwiO1xuICAgIHJlYWRvbmx5IHZhbHVlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBpVHJpZ2dlckFyZ3Mge1xuICAgIHJlYWRvbmx5IG1ldGhvZDogXCJQT1NUXCIgfCBcIkdFVFwiIHwgXCJQVVRcIiB8IFwiUEFUQ0hcIiB8IFwiREVMRVRFXCI7XG4gICAgcmVhZG9ubHkgaG9zdE5hbWU6IHN0cmluZztcbiAgICByZWFkb25seSBoZWFkZXJzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHVuZGVmaW5lZDtcbiAgICByZWFkb25seSBib2R5PzogYW55O1xuICAgIHJlYWRvbmx5IHF1ZXJ5UGFyYW1zPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHVuZGVmaW5lZDtcbiAgICByZWFkb25seSBwYXRoUGFyYW1zPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHVuZGVmaW5lZDtcbiAgICByZWFkb25seSBjb29raWVzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHVuZGVmaW5lZDtcbiAgICByZWFkb25seSBhdXRoPzogQXBpQXV0aCB8IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgdHJpZ2dlciB0aGF0IGNhbiBhY3RpdmF0ZSBhbiBhZ2VudCB2aWEgYW4gQVBJIGNhbGwuXG4gKiBUaGlzIEFQSSB0cmlnZ2VyIGlzIHRoZSBkZWZhdWx0IHRyaWdnZXIgZm9yIGFnZW50cy5cbiAqL1xuZXhwb3J0IGNsYXNzIEFwaVRyaWdnZXIgZXh0ZW5kcyBCYXNlVHJpZ2dlciAge1xuICAgIHB1YmxpYyB0cmlnZ2VyVHlwZTogc3RyaW5nID0gXCJhcGlcIjtcbiAgICBwdWJsaWMgdHJpZ2dlckNvbmZpZzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcbiAgICBwdWJsaWMgb3V0Y29tZT86IElPdXRjb21lO1xuICAgIHByaXZhdGUgYXV0aGVudGljYXRvcj86IElBcGlBdXRoZW50aWNhdG9yO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGNvbmZpZz86IEFwaVRyaWdnZXJDb25maWcpIHtcbiAgICAgICAgc3VwZXIoXCJhcGlcIiwgY29uZmlnID8/IHtcbiAgICAgICAgICAgIGNvcnM6IFtcIipcIl0sXG4gICAgICAgICAgICBhdXRoZW50aWNhdG9yOiBhc3luYyAoXzogQXBpVHJpZ2dlckFyZ3MpID0+IHRydWUsXG4gICAgICAgIH0gYXMgYW55KTtcbiAgICAgICAgdGhpcy5hdXRoZW50aWNhdG9yID0gY29uZmlnPy5hdXRoZW50aWNhdG9yID8/IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgcGFyc2VBcmdzKHJhd0FyZ3M6IGFueSk6IFByb21pc2U8VHJpZ2dlck91dHB1dD4ge1xuICAgICAgICBjb25zdCBhcmdzID0gQXBpVHJpZ2dlclNjaGVtYS5wYXJzZShyYXdBcmdzKTtcbiAgICAgICAgY29uc3QgYm9keSA9IGJvZHlTY2hlbWEucGFyc2UoYXJncy5ib2R5KTtcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGJvZHkpKSB7XG4gICAgICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHsgaW5wdXQ6IFt0aGlzLmNyZWF0ZUlucHV0Q29udGVudChib2R5KV0gfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7IGlucHV0OiBib2R5Lm1hcCgoYikgPT4gdGhpcy5jcmVhdGVJbnB1dENvbnRlbnQoYikpIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlSW5wdXRDb250ZW50KGJvZHk6IHouaW5mZXI8dHlwZW9mIGJvZHlTY2hlbWExPik6IElucHV0Q29udGVudCB7XG4gICAgICAgIGlmIChib2R5LnR5cGUgPT09IFwidGV4dFwiKSB7XG4gICAgICAgICAgICByZXR1cm4geyB0eXBlTmFtZTogXCJ0ZXh0XCIsIHRleHQ6IGJvZHkuY29udGVudCB9O1xuICAgICAgICB9XG4gICAgICAgIGlmIChib2R5LnR5cGUgPT09IFwiZmlsZVwiKSB7XG4gICAgICAgICAgICByZXR1cm4geyB0eXBlTmFtZTogXCJmaWxlXCIsIGZpbGVEYXRhOiB7XG4gICAgICAgICAgICAgICAgY29udGVudDogYm9keS5jb250ZW50LFxuICAgICAgICAgICAgICAgIG5hbWU6IGJvZHkubmFtZSxcbiAgICAgICAgICAgICAgICBtaW1lVHlwZTogYm9keS5taW1lVHlwZSxcbiAgICAgICAgICAgIH0gfTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYm9keS50eXBlID09PSBcImltYWdlXCIpIHtcbiAgICAgICAgICAgIHJldHVybiB7IFxuICAgICAgICAgICAgICAgIHR5cGVOYW1lOiBcImltYWdlXCIsIFxuICAgICAgICAgICAgICAgIGZpbGVEYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGJvZHkuY29udGVudCxcbiAgICAgICAgICAgICAgICAgICAgbmFtZTogYm9keS5uYW1lLFxuICAgICAgICAgICAgICAgICAgICBtaW1lVHlwZTogYm9keS5taW1lVHlwZSxcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGFzc2VydE5ldmVyKGJvZHkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyB2YWxpZGF0ZShyYXdBcmdzOiBhbnkpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIHVua25vd24+PiB7XG4gICAgICAgIGNvbnN0IGFyZ3MgPSBBcGlUcmlnZ2VyU2NoZW1hLnNhZmVQYXJzZShyYXdBcmdzKTtcbiAgICAgICAgaWYgKCFhcmdzLnN1Y2Nlc3MpIHtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoeyBlcnJvcjogXCJJbnZhbGlkIGFyZ3VtZW50c1wiLCBkZXRhaWxzOiBhcmdzLmVycm9yLmlzc3VlcyB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuYXV0aGVudGljYXRvcikge1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7fSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYXV0aGVudGljYXRvciA9IHRoaXMuYXV0aGVudGljYXRvcjtcbiAgICAgICAgY29uc3QgYXV0aGVudGljYXRlZCA9IGF3YWl0IGF1dGhlbnRpY2F0b3IuYXV0aGVudGljYXRlKGFyZ3MuZGF0YSk7XG4gICAgICAgIGlmICghYXV0aGVudGljYXRlZCkge1xuICAgICAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7IGVycm9yOiBcIlVuYXV0aG9yaXplZFwiIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoe30pO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { BaseTrigger, TriggerOutput } from "./ITrigger";
|
|
2
|
-
import { IOutcome } from "../outcomes/IOutcomes";
|
|
3
|
-
export interface EmailTriggerConfig {
|
|
4
|
-
readonly inboxName: string;
|
|
5
|
-
readonly domain: string;
|
|
6
|
-
readonly fromAddress: string;
|
|
7
|
-
readonly subjectPattern: string;
|
|
8
|
-
readonly folder: string;
|
|
9
|
-
}
|
|
10
|
-
export declare class EmailTrigger extends BaseTrigger {
|
|
11
|
-
triggerType: string;
|
|
12
|
-
outcome?: IOutcome;
|
|
13
|
-
constructor(config: EmailTriggerConfig);
|
|
14
|
-
parseArgs(_: any): Promise<TriggerOutput>;
|
|
15
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var _a;
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.EmailTrigger = void 0;
|
|
5
|
-
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
-
const ITrigger_1 = require("./ITrigger");
|
|
7
|
-
class EmailTrigger extends ITrigger_1.BaseTrigger {
|
|
8
|
-
constructor(config) {
|
|
9
|
-
super("email", config);
|
|
10
|
-
this.triggerType = "email";
|
|
11
|
-
}
|
|
12
|
-
parseArgs(_) {
|
|
13
|
-
return Promise.resolve({ input: [{
|
|
14
|
-
typeName: "text",
|
|
15
|
-
text: "The email trigger is activated",
|
|
16
|
-
}] });
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
exports.EmailTrigger = EmailTrigger;
|
|
20
|
-
_a = JSII_RTTI_SYMBOL_1;
|
|
21
|
-
EmailTrigger[_a] = { fqn: "@shuttl-io/core.EmailTrigger", version: "0.1.7-0" };
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW1haWxUcmlnZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3RyaWdnZXIvRW1haWxUcmlnZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEseUNBQXdEO0FBV3hELE1BQWEsWUFBYSxTQUFRLHNCQUFXO0lBSXpDLFlBQW1CLE1BQTBCO1FBQ3pDLEtBQUssQ0FBQyxPQUFPLEVBQUUsTUFBYSxDQUFDLENBQUM7UUFKM0IsZ0JBQVcsR0FBVyxPQUFPLENBQUM7SUFLckMsQ0FBQztJQUVNLFNBQVMsQ0FBQyxDQUFNO1FBQ25CLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO29CQUM3QixRQUFRLEVBQUUsTUFBTTtvQkFDaEIsSUFBSSxFQUFFLGdDQUFnQztpQkFDekMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNWLENBQUM7O0FBYkwsb0NBY0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlVHJpZ2dlciwgVHJpZ2dlck91dHB1dCB9IGZyb20gXCIuL0lUcmlnZ2VyXCI7XG5pbXBvcnQgeyBJT3V0Y29tZSB9IGZyb20gXCIuLi9vdXRjb21lcy9JT3V0Y29tZXNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBFbWFpbFRyaWdnZXJDb25maWcge1xuICAgIHJlYWRvbmx5IGluYm94TmFtZTogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGRvbWFpbjogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGZyb21BZGRyZXNzOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgc3ViamVjdFBhdHRlcm46IHN0cmluZztcbiAgICByZWFkb25seSBmb2xkZXI6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIEVtYWlsVHJpZ2dlciBleHRlbmRzIEJhc2VUcmlnZ2VyIHtcbiAgICBwdWJsaWMgdHJpZ2dlclR5cGU6IHN0cmluZyA9IFwiZW1haWxcIjtcbiAgICBwdWJsaWMgb3V0Y29tZT86IElPdXRjb21lO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGNvbmZpZzogRW1haWxUcmlnZ2VyQ29uZmlnKSB7XG4gICAgICAgIHN1cGVyKFwiZW1haWxcIiwgY29uZmlnIGFzIGFueSk7XG4gICAgfVxuXG4gICAgcHVibGljIHBhcnNlQXJncyhfOiBhbnkpOiBQcm9taXNlPFRyaWdnZXJPdXRwdXQ+IHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7IGlucHV0OiBbe1xuICAgICAgICAgICAgdHlwZU5hbWU6IFwidGV4dFwiLFxuICAgICAgICAgICAgdGV4dDogXCJUaGUgZW1haWwgdHJpZ2dlciBpcyBhY3RpdmF0ZWRcIixcbiAgICAgICAgfV0gfSk7XG4gICAgfVxufSJdfQ==
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { IOutcome } from "../outcomes/IOutcomes";
|
|
2
|
-
import { BaseTrigger, TriggerOutput } from "./ITrigger";
|
|
3
|
-
export interface FileTriggerConfig {
|
|
4
|
-
readonly allowedExtensions: string[];
|
|
5
|
-
readonly maxFileSize: number;
|
|
6
|
-
readonly uploadPath: string;
|
|
7
|
-
readonly s3Bucket: string;
|
|
8
|
-
}
|
|
9
|
-
export declare class FileTrigger extends BaseTrigger {
|
|
10
|
-
triggerType: string;
|
|
11
|
-
outcome?: IOutcome;
|
|
12
|
-
constructor(config: FileTriggerConfig);
|
|
13
|
-
parseArgs(args: any): Promise<TriggerOutput>;
|
|
14
|
-
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var _a;
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.FileTrigger = void 0;
|
|
5
|
-
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
-
const ITrigger_1 = require("./ITrigger");
|
|
7
|
-
const zod_1 = require("zod");
|
|
8
|
-
const FileTriggerSchema = zod_1.z.object({
|
|
9
|
-
content: zod_1.z.string(),
|
|
10
|
-
file_url: zod_1.z.string(),
|
|
11
|
-
mimeType: zod_1.z.string().optional(),
|
|
12
|
-
name: zod_1.z.string(),
|
|
13
|
-
});
|
|
14
|
-
class FileTrigger extends ITrigger_1.BaseTrigger {
|
|
15
|
-
constructor(config) {
|
|
16
|
-
super("file", config);
|
|
17
|
-
this.triggerType = "file";
|
|
18
|
-
}
|
|
19
|
-
parseArgs(args) {
|
|
20
|
-
const parsedArgs = FileTriggerSchema.safeParse(args);
|
|
21
|
-
if (!parsedArgs.success) {
|
|
22
|
-
throw new Error(parsedArgs.error.message);
|
|
23
|
-
}
|
|
24
|
-
return Promise.resolve({ input: [{
|
|
25
|
-
typeName: "file",
|
|
26
|
-
fileData: {
|
|
27
|
-
content: parsedArgs.data.content,
|
|
28
|
-
name: parsedArgs.data.name,
|
|
29
|
-
mimeType: parsedArgs.data.mimeType,
|
|
30
|
-
},
|
|
31
|
-
}] });
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
exports.FileTrigger = FileTrigger;
|
|
35
|
-
_a = JSII_RTTI_SYMBOL_1;
|
|
36
|
-
FileTrigger[_a] = { fqn: "@shuttl-io/core.FileTrigger", version: "0.1.7-0" };
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmlsZVRyaWdnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHJpZ2dlci9GaWxlVHJpZ2dlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLHlDQUF3RDtBQUN4RCw2QkFBd0I7QUFTeEIsTUFBTSxpQkFBaUIsR0FBRyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQy9CLE9BQU8sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0lBQ25CLFFBQVEsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0lBQ3BCLFFBQVEsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQy9CLElBQUksRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0NBQ25CLENBQUMsQ0FBQztBQUVILE1BQWEsV0FBWSxTQUFRLHNCQUFXO0lBS3hDLFlBQW1CLE1BQXlCO1FBQ3hDLEtBQUssQ0FBQyxNQUFNLEVBQUUsTUFBYSxDQUFDLENBQUM7UUFMMUIsZ0JBQVcsR0FBVyxNQUFNLENBQUM7SUFNcEMsQ0FBQztJQUVNLFNBQVMsQ0FBQyxJQUFTO1FBQ3RCLE1BQU0sVUFBVSxHQUFHLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5QyxDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUM7b0JBQzdCLFFBQVEsRUFBRSxNQUFNO29CQUNoQixRQUFRLEVBQUU7d0JBQ04sT0FBTyxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTzt3QkFDaEMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSTt3QkFDMUIsUUFBUSxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUTtxQkFDckM7aUJBQ0osQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNWLENBQUM7O0FBdEJMLGtDQXVCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElPdXRjb21lIH0gZnJvbSBcIi4uL291dGNvbWVzL0lPdXRjb21lc1wiO1xuaW1wb3J0IHsgQmFzZVRyaWdnZXIsIFRyaWdnZXJPdXRwdXQgfSBmcm9tIFwiLi9JVHJpZ2dlclwiO1xuaW1wb3J0IHsgeiB9IGZyb20gXCJ6b2RcIjtcblxuZXhwb3J0IGludGVyZmFjZSBGaWxlVHJpZ2dlckNvbmZpZyB7XG4gICAgcmVhZG9ubHkgYWxsb3dlZEV4dGVuc2lvbnM6IHN0cmluZ1tdO1xuICAgIHJlYWRvbmx5IG1heEZpbGVTaXplOiBudW1iZXI7XG4gICAgcmVhZG9ubHkgdXBsb2FkUGF0aDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHMzQnVja2V0OiBzdHJpbmc7XG59XG5cbmNvbnN0IEZpbGVUcmlnZ2VyU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIGNvbnRlbnQ6IHouc3RyaW5nKCksXG4gICAgZmlsZV91cmw6IHouc3RyaW5nKCksXG4gICAgbWltZVR5cGU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBuYW1lOiB6LnN0cmluZygpLFxufSk7XG5cbmV4cG9ydCBjbGFzcyBGaWxlVHJpZ2dlciBleHRlbmRzIEJhc2VUcmlnZ2VyIHtcbiAgICBwdWJsaWMgdHJpZ2dlclR5cGU6IHN0cmluZyA9IFwiZmlsZVwiO1xuXG4gICAgcHVibGljIG91dGNvbWU/OiBJT3V0Y29tZTtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3Rvcihjb25maWc6IEZpbGVUcmlnZ2VyQ29uZmlnKSB7XG4gICAgICAgIHN1cGVyKFwiZmlsZVwiLCBjb25maWcgYXMgYW55KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcGFyc2VBcmdzKGFyZ3M6IGFueSk6IFByb21pc2U8VHJpZ2dlck91dHB1dD4ge1xuICAgICAgICBjb25zdCBwYXJzZWRBcmdzID0gRmlsZVRyaWdnZXJTY2hlbWEuc2FmZVBhcnNlKGFyZ3MpO1xuICAgICAgICBpZiAoIXBhcnNlZEFyZ3Muc3VjY2Vzcykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKHBhcnNlZEFyZ3MuZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7IGlucHV0OiBbe1xuICAgICAgICAgICAgdHlwZU5hbWU6IFwiZmlsZVwiLFxuICAgICAgICAgICAgZmlsZURhdGE6IHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBwYXJzZWRBcmdzLmRhdGEuY29udGVudCxcbiAgICAgICAgICAgICAgICBuYW1lOiBwYXJzZWRBcmdzLmRhdGEubmFtZSxcbiAgICAgICAgICAgICAgICBtaW1lVHlwZTogcGFyc2VkQXJncy5kYXRhLm1pbWVUeXBlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfV0gfSk7XG4gICAgfVxufSJdfQ==
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { InputContent, IModelResponseStream } from "../models/types";
|
|
2
|
-
import { IOutcome } from "../outcomes/IOutcomes";
|
|
3
|
-
export interface TriggerOutput {
|
|
4
|
-
readonly input: InputContent[];
|
|
5
|
-
}
|
|
6
|
-
export interface ITriggerInvoker {
|
|
7
|
-
invoke(prompt: InputContent[]): Promise<IModelResponseStream>;
|
|
8
|
-
defaultOutcome(stream: IModelResponseStream): Promise<void>;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Represents a serialized HTTP request from the serve command
|
|
12
|
-
*/
|
|
13
|
-
export interface SerializedHTTPRequest {
|
|
14
|
-
/** The HTTP method (POST, GET, etc.) */
|
|
15
|
-
readonly method: string;
|
|
16
|
-
/** The request path */
|
|
17
|
-
readonly path: string;
|
|
18
|
-
/** HTTP headers as key-value pairs with array values */
|
|
19
|
-
readonly headers: Record<string, string[]>;
|
|
20
|
-
/** Query parameters as key-value pairs with array values */
|
|
21
|
-
readonly query: Record<string, string[]>;
|
|
22
|
-
/** The request body (parsed JSON or raw) */
|
|
23
|
-
readonly body?: unknown;
|
|
24
|
-
/** The Content-Type header value */
|
|
25
|
-
readonly contentType: string;
|
|
26
|
-
/** The remote address of the client */
|
|
27
|
-
readonly remoteAddr: string;
|
|
28
|
-
/** The host header value */
|
|
29
|
-
readonly host: string;
|
|
30
|
-
/** The HTTP protocol version */
|
|
31
|
-
readonly proto: string;
|
|
32
|
-
/** Timestamp of when the request was received */
|
|
33
|
-
readonly timestamp: string;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Represents a trigger that can activate an agent. Triggers can take any arguments and then return what the input should be for the agent.
|
|
37
|
-
* Triggers also can validate the arguments and return an error if the arguments are invalid.
|
|
38
|
-
*/
|
|
39
|
-
export interface ITrigger {
|
|
40
|
-
/**
|
|
41
|
-
* The unique name of this trigger instance.
|
|
42
|
-
* If not set, defaults to triggerType.
|
|
43
|
-
*/
|
|
44
|
-
name: string;
|
|
45
|
-
/**
|
|
46
|
-
* The type of trigger.
|
|
47
|
-
*/
|
|
48
|
-
triggerType: string;
|
|
49
|
-
/**
|
|
50
|
-
* The configuration for the trigger.
|
|
51
|
-
*/
|
|
52
|
-
triggerConfig: Record<string, unknown>;
|
|
53
|
-
outcome?: IOutcome;
|
|
54
|
-
/**
|
|
55
|
-
* Activates the trigger and returns the input for the agent.
|
|
56
|
-
* @param args - The arguments for the trigger.
|
|
57
|
-
* @returns The input for the agent.
|
|
58
|
-
*/
|
|
59
|
-
activate(args: any, invoker: ITriggerInvoker): Promise<void>;
|
|
60
|
-
/**
|
|
61
|
-
* Validates the arguments for the trigger.
|
|
62
|
-
* @param args - The arguments for the trigger.
|
|
63
|
-
* @returns The validation result.
|
|
64
|
-
*/
|
|
65
|
-
validate?(args: any): Promise<Record<string, unknown>>;
|
|
66
|
-
/**
|
|
67
|
-
* binds the outcome to the trigger
|
|
68
|
-
* @param outcome - The outcome to bind to the trigger.
|
|
69
|
-
* @returns The bound outcome.
|
|
70
|
-
*/
|
|
71
|
-
bindOutcome(outcome: IOutcome): ITrigger;
|
|
72
|
-
/**
|
|
73
|
-
* Sets the name of the trigger
|
|
74
|
-
* @param name - The name to set for the trigger
|
|
75
|
-
* @returns The trigger instance for chaining
|
|
76
|
-
*/
|
|
77
|
-
withName(name: string): ITrigger;
|
|
78
|
-
}
|
|
79
|
-
export declare abstract class BaseTrigger implements ITrigger {
|
|
80
|
-
name: string;
|
|
81
|
-
triggerType: string;
|
|
82
|
-
triggerConfig: Record<string, unknown>;
|
|
83
|
-
outcome?: IOutcome;
|
|
84
|
-
constructor(triggerType: string, config: Record<string, unknown>);
|
|
85
|
-
abstract parseArgs(args: any): Promise<TriggerOutput>;
|
|
86
|
-
activate(args: any, invoker: ITriggerInvoker): Promise<void>;
|
|
87
|
-
bindOutcome(outcome: IOutcome): ITrigger;
|
|
88
|
-
withName(name: string): ITrigger;
|
|
89
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var _a;
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.BaseTrigger = void 0;
|
|
5
|
-
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
-
class BaseTrigger {
|
|
7
|
-
constructor(triggerType, config) {
|
|
8
|
-
this.triggerConfig = {};
|
|
9
|
-
this.triggerType = triggerType;
|
|
10
|
-
this.name = triggerType; // Default name is the trigger type
|
|
11
|
-
this.triggerConfig = config;
|
|
12
|
-
}
|
|
13
|
-
async activate(args, invoker) {
|
|
14
|
-
const parsedArgs = await this.parseArgs(args);
|
|
15
|
-
const response = await invoker.invoke(parsedArgs.input);
|
|
16
|
-
if (this.outcome) {
|
|
17
|
-
await this.outcome.send(response);
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
await invoker.defaultOutcome(response);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
bindOutcome(outcome) {
|
|
24
|
-
this.outcome = outcome;
|
|
25
|
-
return this;
|
|
26
|
-
}
|
|
27
|
-
withName(name) {
|
|
28
|
-
this.name = name;
|
|
29
|
-
return this;
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
exports.BaseTrigger = BaseTrigger;
|
|
33
|
-
_a = JSII_RTTI_SYMBOL_1;
|
|
34
|
-
BaseTrigger[_a] = { fqn: "@shuttl-io/core.BaseTrigger", version: "0.1.7-0" };
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSVRyaWdnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHJpZ2dlci9JVHJpZ2dlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQXlGQSxNQUFzQixXQUFXO0lBTTdCLFlBQW1CLFdBQW1CLEVBQUUsTUFBK0I7UUFIaEUsa0JBQWEsR0FBNEIsRUFBRSxDQUFDO1FBSS9DLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLENBQUMsbUNBQW1DO1FBQzVELElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDO0lBQ2hDLENBQUM7SUFJTSxLQUFLLENBQUMsUUFBUSxDQUFDLElBQVMsRUFBRSxPQUF3QjtRQUNyRCxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsTUFBTSxRQUFRLEdBQUcsTUFBTSxPQUFPLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4RCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNmLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEMsQ0FBQzthQUFNLENBQUM7WUFDSixNQUFNLE9BQU8sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0MsQ0FBQztJQUNMLENBQUM7SUFFTSxXQUFXLENBQUMsT0FBaUI7UUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVNLFFBQVEsQ0FBQyxJQUFZO1FBQ3hCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7O0FBaENMLGtDQWlDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElucHV0Q29udGVudCwgSU1vZGVsUmVzcG9uc2VTdHJlYW0gfSBmcm9tIFwiLi4vbW9kZWxzL3R5cGVzXCI7XG5pbXBvcnQgeyBJT3V0Y29tZSB9IGZyb20gXCIuLi9vdXRjb21lcy9JT3V0Y29tZXNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBUcmlnZ2VyT3V0cHV0IHtcbiAgICByZWFkb25seSBpbnB1dDogSW5wdXRDb250ZW50W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVRyaWdnZXJJbnZva2VyIHtcbiAgICBpbnZva2UocHJvbXB0OiBJbnB1dENvbnRlbnRbXSk6IFByb21pc2U8SU1vZGVsUmVzcG9uc2VTdHJlYW0+O1xuICAgIGRlZmF1bHRPdXRjb21lKHN0cmVhbTogSU1vZGVsUmVzcG9uc2VTdHJlYW0pOiBQcm9taXNlPHZvaWQ+O1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBzZXJpYWxpemVkIEhUVFAgcmVxdWVzdCBmcm9tIHRoZSBzZXJ2ZSBjb21tYW5kXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VyaWFsaXplZEhUVFBSZXF1ZXN0IHtcbiAgICAvKiogVGhlIEhUVFAgbWV0aG9kIChQT1NULCBHRVQsIGV0Yy4pICovXG4gICAgcmVhZG9ubHkgbWV0aG9kOiBzdHJpbmc7XG4gICAgLyoqIFRoZSByZXF1ZXN0IHBhdGggKi9cbiAgICByZWFkb25seSBwYXRoOiBzdHJpbmc7XG4gICAgLyoqIEhUVFAgaGVhZGVycyBhcyBrZXktdmFsdWUgcGFpcnMgd2l0aCBhcnJheSB2YWx1ZXMgKi9cbiAgICByZWFkb25seSBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT47XG4gICAgLyoqIFF1ZXJ5IHBhcmFtZXRlcnMgYXMga2V5LXZhbHVlIHBhaXJzIHdpdGggYXJyYXkgdmFsdWVzICovXG4gICAgcmVhZG9ubHkgcXVlcnk6IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdPjtcbiAgICAvKiogVGhlIHJlcXVlc3QgYm9keSAocGFyc2VkIEpTT04gb3IgcmF3KSAqL1xuICAgIHJlYWRvbmx5IGJvZHk/OiB1bmtub3duO1xuICAgIC8qKiBUaGUgQ29udGVudC1UeXBlIGhlYWRlciB2YWx1ZSAqL1xuICAgIHJlYWRvbmx5IGNvbnRlbnRUeXBlOiBzdHJpbmc7XG4gICAgLyoqIFRoZSByZW1vdGUgYWRkcmVzcyBvZiB0aGUgY2xpZW50ICovXG4gICAgcmVhZG9ubHkgcmVtb3RlQWRkcjogc3RyaW5nO1xuICAgIC8qKiBUaGUgaG9zdCBoZWFkZXIgdmFsdWUgKi9cbiAgICByZWFkb25seSBob3N0OiBzdHJpbmc7XG4gICAgLyoqIFRoZSBIVFRQIHByb3RvY29sIHZlcnNpb24gKi9cbiAgICByZWFkb25seSBwcm90bzogc3RyaW5nO1xuICAgIC8qKiBUaW1lc3RhbXAgb2Ygd2hlbiB0aGUgcmVxdWVzdCB3YXMgcmVjZWl2ZWQgKi9cbiAgICByZWFkb25seSB0aW1lc3RhbXA6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgdHJpZ2dlciB0aGF0IGNhbiBhY3RpdmF0ZSBhbiBhZ2VudC4gVHJpZ2dlcnMgY2FuIHRha2UgYW55IGFyZ3VtZW50cyBhbmQgdGhlbiByZXR1cm4gd2hhdCB0aGUgaW5wdXQgc2hvdWxkIGJlIGZvciB0aGUgYWdlbnQuXG4gKiBUcmlnZ2VycyBhbHNvIGNhbiB2YWxpZGF0ZSB0aGUgYXJndW1lbnRzIGFuZCByZXR1cm4gYW4gZXJyb3IgaWYgdGhlIGFyZ3VtZW50cyBhcmUgaW52YWxpZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJVHJpZ2dlciB7XG4gICAgLyoqXG4gICAgICogVGhlIHVuaXF1ZSBuYW1lIG9mIHRoaXMgdHJpZ2dlciBpbnN0YW5jZS5cbiAgICAgKiBJZiBub3Qgc2V0LCBkZWZhdWx0cyB0byB0cmlnZ2VyVHlwZS5cbiAgICAgKi9cbiAgICBuYW1lOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdHlwZSBvZiB0cmlnZ2VyLlxuICAgICAqL1xuICAgIHRyaWdnZXJUeXBlOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSB0cmlnZ2VyLlxuICAgICAqL1xuICAgIHRyaWdnZXJDb25maWc6IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG4gICAgb3V0Y29tZT86IElPdXRjb21lO1xuXG4gICAgLyoqXG4gICAgICogQWN0aXZhdGVzIHRoZSB0cmlnZ2VyIGFuZCByZXR1cm5zIHRoZSBpbnB1dCBmb3IgdGhlIGFnZW50LlxuICAgICAqIEBwYXJhbSBhcmdzIC0gVGhlIGFyZ3VtZW50cyBmb3IgdGhlIHRyaWdnZXIuXG4gICAgICogQHJldHVybnMgVGhlIGlucHV0IGZvciB0aGUgYWdlbnQuXG4gICAgICovXG4gICAgYWN0aXZhdGUoYXJnczogYW55LCBpbnZva2VyOiBJVHJpZ2dlckludm9rZXIpOiBQcm9taXNlPHZvaWQ+O1xuXG4gICAgLyoqXG4gICAgICogVmFsaWRhdGVzIHRoZSBhcmd1bWVudHMgZm9yIHRoZSB0cmlnZ2VyLlxuICAgICAqIEBwYXJhbSBhcmdzIC0gVGhlIGFyZ3VtZW50cyBmb3IgdGhlIHRyaWdnZXIuXG4gICAgICogQHJldHVybnMgVGhlIHZhbGlkYXRpb24gcmVzdWx0LlxuICAgICAqL1xuICAgIHZhbGlkYXRlPyhhcmdzOiBhbnkpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIHVua25vd24+PjtcblxuICAgIC8qKlxuICAgICAqIGJpbmRzIHRoZSBvdXRjb21lIHRvIHRoZSB0cmlnZ2VyXG4gICAgICogQHBhcmFtIG91dGNvbWUgLSBUaGUgb3V0Y29tZSB0byBiaW5kIHRvIHRoZSB0cmlnZ2VyLlxuICAgICAqIEByZXR1cm5zIFRoZSBib3VuZCBvdXRjb21lLlxuICAgICAqL1xuICAgIGJpbmRPdXRjb21lKG91dGNvbWU6IElPdXRjb21lKTogSVRyaWdnZXI7XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIHRoZSBuYW1lIG9mIHRoZSB0cmlnZ2VyXG4gICAgICogQHBhcmFtIG5hbWUgLSBUaGUgbmFtZSB0byBzZXQgZm9yIHRoZSB0cmlnZ2VyXG4gICAgICogQHJldHVybnMgVGhlIHRyaWdnZXIgaW5zdGFuY2UgZm9yIGNoYWluaW5nXG4gICAgICovXG4gICAgd2l0aE5hbWUobmFtZTogc3RyaW5nKTogSVRyaWdnZXI7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlVHJpZ2dlciBpbXBsZW1lbnRzIElUcmlnZ2VyIHtcbiAgICBwdWJsaWMgbmFtZTogc3RyaW5nO1xuICAgIHB1YmxpYyB0cmlnZ2VyVHlwZTogc3RyaW5nO1xuICAgIHB1YmxpYyB0cmlnZ2VyQ29uZmlnOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9O1xuICAgIHB1YmxpYyBvdXRjb21lPzogSU91dGNvbWU7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IodHJpZ2dlclR5cGU6IHN0cmluZywgY29uZmlnOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikge1xuICAgICAgICB0aGlzLnRyaWdnZXJUeXBlID0gdHJpZ2dlclR5cGU7XG4gICAgICAgIHRoaXMubmFtZSA9IHRyaWdnZXJUeXBlOyAvLyBEZWZhdWx0IG5hbWUgaXMgdGhlIHRyaWdnZXIgdHlwZVxuICAgICAgICB0aGlzLnRyaWdnZXJDb25maWcgPSBjb25maWc7XG4gICAgfVxuXG4gICAgcHVibGljIGFic3RyYWN0IHBhcnNlQXJncyhhcmdzOiBhbnkpOiBQcm9taXNlPFRyaWdnZXJPdXRwdXQ+O1xuXG4gICAgcHVibGljIGFzeW5jIGFjdGl2YXRlKGFyZ3M6IGFueSwgaW52b2tlcjogSVRyaWdnZXJJbnZva2VyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHBhcnNlZEFyZ3MgPSBhd2FpdCB0aGlzLnBhcnNlQXJncyhhcmdzKTtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBpbnZva2VyLmludm9rZShwYXJzZWRBcmdzLmlucHV0KTtcbiAgICAgICAgaWYgKHRoaXMub3V0Y29tZSkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5vdXRjb21lLnNlbmQocmVzcG9uc2UpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYXdhaXQgaW52b2tlci5kZWZhdWx0T3V0Y29tZShyZXNwb25zZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgYmluZE91dGNvbWUob3V0Y29tZTogSU91dGNvbWUpOiBJVHJpZ2dlciB7XG4gICAgICAgIHRoaXMub3V0Y29tZSA9IG91dGNvbWU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoTmFtZShuYW1lOiBzdHJpbmcpOiBJVHJpZ2dlciB7XG4gICAgICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbn0iXX0=
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { BaseTrigger, TriggerOutput } from "./ITrigger";
|
|
2
|
-
import { InputContent } from "../models/types";
|
|
3
|
-
import { IOutcome } from "../outcomes/IOutcomes";
|
|
4
|
-
export interface IRateTriggerOnTrigger {
|
|
5
|
-
onTrigger(): Promise<InputContent[]>;
|
|
6
|
-
}
|
|
7
|
-
export declare class Rate extends BaseTrigger {
|
|
8
|
-
triggerType: string;
|
|
9
|
-
triggerConfig: Record<string, unknown>;
|
|
10
|
-
outcome?: IOutcome;
|
|
11
|
-
private onTrigger;
|
|
12
|
-
private constructor();
|
|
13
|
-
parseArgs(_: any): Promise<TriggerOutput>;
|
|
14
|
-
withOnTrigger(onTrigger: IRateTriggerOnTrigger): Rate;
|
|
15
|
-
static milliseconds(value: number): Rate;
|
|
16
|
-
static seconds(value: number): Rate;
|
|
17
|
-
static minutes(value: number): Rate;
|
|
18
|
-
static hours(value: number): Rate;
|
|
19
|
-
static days(value: number): Rate;
|
|
20
|
-
static weeks(value: number): Rate;
|
|
21
|
-
static months(value: number): Rate;
|
|
22
|
-
static cron(expression: string, timezone?: string): Rate;
|
|
23
|
-
}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var _a;
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.Rate = void 0;
|
|
5
|
-
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
-
const ITrigger_1 = require("./ITrigger");
|
|
7
|
-
class Rate extends ITrigger_1.BaseTrigger {
|
|
8
|
-
constructor(config) {
|
|
9
|
-
super("rate", config);
|
|
10
|
-
this.triggerType = "rate";
|
|
11
|
-
this.triggerConfig = {};
|
|
12
|
-
this.onTrigger = config.onTrigger?.onTrigger ?? null;
|
|
13
|
-
}
|
|
14
|
-
async parseArgs(_) {
|
|
15
|
-
if (this.onTrigger) {
|
|
16
|
-
const input = await this.onTrigger();
|
|
17
|
-
return { input };
|
|
18
|
-
}
|
|
19
|
-
else {
|
|
20
|
-
return { input: [{
|
|
21
|
-
typeName: "text",
|
|
22
|
-
text: "The cron expression is " + this.triggerConfig.cronExpression + " and the timezone is " + this.triggerConfig.timezone,
|
|
23
|
-
}] };
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
withOnTrigger(onTrigger) {
|
|
27
|
-
this.onTrigger = onTrigger.onTrigger;
|
|
28
|
-
return this;
|
|
29
|
-
}
|
|
30
|
-
static milliseconds(value) {
|
|
31
|
-
return new Rate({ ms_rate: value });
|
|
32
|
-
}
|
|
33
|
-
static seconds(value) {
|
|
34
|
-
return new Rate({ ms_rate: value * 1000 });
|
|
35
|
-
}
|
|
36
|
-
static minutes(value) {
|
|
37
|
-
return new Rate({ ms_rate: value * 60 * 1000 });
|
|
38
|
-
}
|
|
39
|
-
static hours(value) {
|
|
40
|
-
return new Rate({ ms_rate: value * 60 * 60 * 1000 });
|
|
41
|
-
}
|
|
42
|
-
static days(value) {
|
|
43
|
-
return new Rate({ ms_rate: value * 24 * 60 * 60 * 1000 });
|
|
44
|
-
}
|
|
45
|
-
static weeks(value) {
|
|
46
|
-
return new Rate({ ms_rate: value * 7 * 24 * 60 * 60 * 1000 });
|
|
47
|
-
}
|
|
48
|
-
static months(value) {
|
|
49
|
-
return new Rate({ ms_rate: value * 30 * 24 * 60 * 60 * 1000 });
|
|
50
|
-
}
|
|
51
|
-
static cron(expression, timezone) {
|
|
52
|
-
return new Rate({ cronExpression: expression, timezone: timezone ?? "UTC" });
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
exports.Rate = Rate;
|
|
56
|
-
_a = JSII_RTTI_SYMBOL_1;
|
|
57
|
-
Rate[_a] = { fqn: "@shuttl-io/core.Rate", version: "0.1.7-0" };
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmF0ZVRyaWdnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdHJpZ2dlci9SYXRlVHJpZ2dlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHlDQUF3RDtBQTJCeEQsTUFBYSxJQUFLLFNBQVEsc0JBQVc7SUFRakMsWUFBb0IsTUFBeUI7UUFDekMsS0FBSyxDQUFDLE1BQU0sRUFBRSxNQUFhLENBQUMsQ0FBQztRQVIxQixnQkFBVyxHQUFXLE1BQU0sQ0FBQztRQUM3QixrQkFBYSxHQUE0QixFQUFFLENBQUM7UUFRL0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLFNBQVMsSUFBSSxJQUFJLENBQUM7SUFDekQsQ0FBQztJQUVNLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBTTtRQUN6QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqQixNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNyQyxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDckIsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7d0JBQ2IsUUFBUSxFQUFFLE1BQU07d0JBQ2hCLElBQUksRUFBRSx5QkFBeUIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGNBQWMsR0FBRyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVE7cUJBQzlILENBQUMsRUFBRSxDQUFDO1FBQ1QsQ0FBQztJQUNMLENBQUM7SUFFTSxhQUFhLENBQUMsU0FBZ0M7UUFDakQsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDO1FBQ3JDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQWE7UUFDcEMsT0FBTyxJQUFJLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTSxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQWE7UUFDL0IsT0FBTyxJQUFJLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFhO1FBQy9CLE9BQU8sSUFBSSxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFTSxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQWE7UUFDN0IsT0FBTyxJQUFJLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFTSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQWE7UUFDNUIsT0FBTyxJQUFJLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU0sTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFhO1FBQzdCLE9BQU8sSUFBSSxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFTSxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQWE7UUFDOUIsT0FBTyxJQUFJLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVNLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBa0IsRUFBRSxRQUFpQjtRQUNwRCxPQUFPLElBQUksSUFBSSxDQUFDLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxJQUFJLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDakYsQ0FBQzs7QUE1REwsb0JBNkRDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZVRyaWdnZXIsIFRyaWdnZXJPdXRwdXQgfSBmcm9tIFwiLi9JVHJpZ2dlclwiO1xuaW1wb3J0IHsgSW5wdXRDb250ZW50IH0gZnJvbSBcIi4uL21vZGVscy90eXBlc1wiO1xuaW1wb3J0IHsgSU91dGNvbWUgfSBmcm9tIFwiLi4vb3V0Y29tZXMvSU91dGNvbWVzXCI7XG5cbmludGVyZmFjZSBSYXRlVHJpZ2dlckNvbmZpZyB7XG4gICAgLyoqXG4gICAgICogVGhlIGNyb24gZXhwcmVzc2lvbiBmb3IgdGhlIHJhdGUgdHJpZ2dlci5cbiAgICAgKi9cbiAgICBjcm9uRXhwcmVzc2lvbj86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgdGltZXpvbmUgZm9yIHRoZSBjcm9uIGV4cHJlc3Npb24uXG4gICAgICogQGRlZmF1bHQgXCJVVENcIlxuICAgICAqL1xuICAgIHRpbWV6b25lPzogc3RyaW5nO1xuICAgIG1zX3JhdGU/OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZnVuY3Rpb24gdG8gY2FsbCB3aGVuIHRoZSB0cmlnZ2VyIGlzIGFjdGl2YXRlZC5cbiAgICAgKiBAZGVmYXVsdCBudWxsXG4gICAgICovXG4gICAgb25UcmlnZ2VyPzogSVJhdGVUcmlnZ2VyT25UcmlnZ2VyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElSYXRlVHJpZ2dlck9uVHJpZ2dlciB7XG4gICAgb25UcmlnZ2VyKCk6IFByb21pc2U8SW5wdXRDb250ZW50W10+O1xufVxuXG5leHBvcnQgY2xhc3MgUmF0ZSBleHRlbmRzIEJhc2VUcmlnZ2VyIHtcbiAgICBwdWJsaWMgdHJpZ2dlclR5cGU6IHN0cmluZyA9IFwicmF0ZVwiO1xuICAgIHB1YmxpYyB0cmlnZ2VyQ29uZmlnOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9O1xuXG4gICAgcHVibGljIG91dGNvbWU/OiBJT3V0Y29tZTtcblxuICAgIHByaXZhdGUgb25UcmlnZ2VyOiAoKCkgPT4gUHJvbWlzZTxJbnB1dENvbnRlbnRbXT4pIHwgbnVsbDtcblxuICAgIHByaXZhdGUgY29uc3RydWN0b3IoY29uZmlnOiBSYXRlVHJpZ2dlckNvbmZpZykge1xuICAgICAgICBzdXBlcihcInJhdGVcIiwgY29uZmlnIGFzIGFueSk7XG4gICAgICAgIHRoaXMub25UcmlnZ2VyID0gY29uZmlnLm9uVHJpZ2dlcj8ub25UcmlnZ2VyID8/IG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHBhcnNlQXJncyhfOiBhbnkpOiBQcm9taXNlPFRyaWdnZXJPdXRwdXQ+IHtcbiAgICAgICAgaWYgKHRoaXMub25UcmlnZ2VyKSB7XG4gICAgICAgICAgICBjb25zdCBpbnB1dCA9IGF3YWl0IHRoaXMub25UcmlnZ2VyKCk7XG4gICAgICAgICAgICByZXR1cm4geyBpbnB1dCB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHsgaW5wdXQ6IFt7XG4gICAgICAgICAgICAgICAgdHlwZU5hbWU6IFwidGV4dFwiLFxuICAgICAgICAgICAgICAgIHRleHQ6IFwiVGhlIGNyb24gZXhwcmVzc2lvbiBpcyBcIiArIHRoaXMudHJpZ2dlckNvbmZpZy5jcm9uRXhwcmVzc2lvbiArIFwiIGFuZCB0aGUgdGltZXpvbmUgaXMgXCIgKyB0aGlzLnRyaWdnZXJDb25maWcudGltZXpvbmUsXG4gICAgICAgICAgICB9XSB9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhPblRyaWdnZXIob25UcmlnZ2VyOiBJUmF0ZVRyaWdnZXJPblRyaWdnZXIpOiBSYXRlIHtcbiAgICAgICAgdGhpcy5vblRyaWdnZXIgPSBvblRyaWdnZXIub25UcmlnZ2VyO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIG1pbGxpc2Vjb25kcyh2YWx1ZTogbnVtYmVyKTogUmF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgUmF0ZSh7IG1zX3JhdGU6IHZhbHVlIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgc2Vjb25kcyh2YWx1ZTogbnVtYmVyKTogUmF0ZSB7XG4gICAgICAgIHJldHVybiBuZXcgUmF0ZSh7IG1zX3JhdGU6IHZhbHVlICogMTAwMCB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIG1pbnV0ZXModmFsdWU6IG51bWJlcik6IFJhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFJhdGUoeyBtc19yYXRlOiB2YWx1ZSAqIDYwICogMTAwMCB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGhvdXJzKHZhbHVlOiBudW1iZXIpOiBSYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBSYXRlKHsgbXNfcmF0ZTogdmFsdWUgKiA2MCAqIDYwICogMTAwMCB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGRheXModmFsdWU6IG51bWJlcik6IFJhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFJhdGUoeyBtc19yYXRlOiB2YWx1ZSAqIDI0ICogNjAgKiA2MCAqIDEwMDAgfSk7XG4gICAgfVxuICAgIFxuICAgIHB1YmxpYyBzdGF0aWMgd2Vla3ModmFsdWU6IG51bWJlcik6IFJhdGUge1xuICAgICAgICByZXR1cm4gbmV3IFJhdGUoeyBtc19yYXRlOiB2YWx1ZSAqIDcgKiAyNCAqIDYwICogNjAgKiAxMDAwIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgbW9udGhzKHZhbHVlOiBudW1iZXIpOiBSYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBSYXRlKHsgbXNfcmF0ZTogdmFsdWUgKiAzMCAqIDI0ICogNjAgKiA2MCAqIDEwMDAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBjcm9uKGV4cHJlc3Npb246IHN0cmluZywgdGltZXpvbmU/OiBzdHJpbmcpOiBSYXRlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBSYXRlKHsgY3JvbkV4cHJlc3Npb246IGV4cHJlc3Npb24sIHRpbWV6b25lOiB0aW1lem9uZSA/PyBcIlVUQ1wiIH0pO1xuICAgIH1cbn0iXX0=
|