@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.
Files changed (95) hide show
  1. package/.jsii +5562 -0
  2. package/.package.env +1 -0
  3. package/CHANGELOG.md +67 -0
  4. package/README.md +353 -1
  5. package/dist/Server.d.ts +1 -0
  6. package/dist/Server.js +1 -1
  7. package/dist/agent.js +2 -2
  8. package/dist/app.d.ts +2 -2
  9. package/dist/app.js +8 -6
  10. package/dist/model.js +1 -1
  11. package/dist/outcomes/CombinationOutcome.js +1 -1
  12. package/dist/outcomes/IOutcomes.js +1 -1
  13. package/dist/outcomes/StreamingOutcome.js +1 -1
  14. package/dist/secrets.js +2 -2
  15. package/dist/server/http.d.ts +44 -0
  16. package/dist/server/http.js +721 -4
  17. package/dist/tools/tool.js +2 -2
  18. package/dist/tools/toolkit.js +1 -1
  19. package/dist/trigger/ApiTrigger.js +1 -1
  20. package/dist/trigger/EmailTrigger.js +1 -1
  21. package/dist/trigger/FileTrigger.js +1 -1
  22. package/dist/trigger/ITrigger.js +1 -1
  23. package/dist/trigger/RateTrigger.js +1 -1
  24. package/package.json +2 -2
  25. package/publish.sh +149 -8
  26. package/dist/src/Server.d.ts +0 -5
  27. package/dist/src/Server.js +0 -3
  28. package/dist/src/Triggers.d.ts +0 -0
  29. package/dist/src/Triggers.js +0 -2
  30. package/dist/src/agent.d.ts +0 -49
  31. package/dist/src/agent.js +0 -251
  32. package/dist/src/app.d.ts +0 -17
  33. package/dist/src/app.js +0 -46
  34. package/dist/src/index.d.ts +0 -12
  35. package/dist/src/index.js +0 -29
  36. package/dist/src/model.d.ts +0 -6
  37. package/dist/src/model.js +0 -16
  38. package/dist/src/models/openAi.d.ts +0 -38
  39. package/dist/src/models/openAi.js +0 -344
  40. package/dist/src/models/types.d.ts +0 -101
  41. package/dist/src/models/types.js +0 -27
  42. package/dist/src/outcomes/CombinationOutcome.d.ts +0 -9
  43. package/dist/src/outcomes/CombinationOutcome.js +0 -41
  44. package/dist/src/outcomes/IOutcomes.d.ts +0 -9
  45. package/dist/src/outcomes/IOutcomes.js +0 -19
  46. package/dist/src/outcomes/StreamingOutcome.d.ts +0 -6
  47. package/dist/src/outcomes/StreamingOutcome.js +0 -30
  48. package/dist/src/outcomes/index.d.ts +0 -3
  49. package/dist/src/outcomes/index.js +0 -20
  50. package/dist/src/secrets.d.ts +0 -19
  51. package/dist/src/secrets.js +0 -34
  52. package/dist/src/server/http.d.ts +0 -68
  53. package/dist/src/server/http.js +0 -654
  54. package/dist/src/server/index.d.ts +0 -1
  55. package/dist/src/server/index.js +0 -18
  56. package/dist/src/tools/tool.d.ts +0 -33
  57. package/dist/src/tools/tool.js +0 -49
  58. package/dist/src/tools/toolkit.d.ts +0 -13
  59. package/dist/src/tools/toolkit.js +0 -19
  60. package/dist/src/trigger/ApiTrigger.d.ts +0 -37
  61. package/dist/src/trigger/ApiTrigger.js +0 -106
  62. package/dist/src/trigger/EmailTrigger.d.ts +0 -15
  63. package/dist/src/trigger/EmailTrigger.js +0 -22
  64. package/dist/src/trigger/FileTrigger.d.ts +0 -14
  65. package/dist/src/trigger/FileTrigger.js +0 -37
  66. package/dist/src/trigger/ITrigger.d.ts +0 -89
  67. package/dist/src/trigger/ITrigger.js +0 -35
  68. package/dist/src/trigger/RateTrigger.d.ts +0 -23
  69. package/dist/src/trigger/RateTrigger.js +0 -58
  70. package/dist/src/trigger/index.d.ts +0 -5
  71. package/dist/src/trigger/index.js +0 -22
  72. package/dist/tests/agent.test.d.ts +0 -1
  73. package/dist/tests/agent.test.js +0 -388
  74. package/dist/tests/agentStreamer.test.d.ts +0 -1
  75. package/dist/tests/agentStreamer.test.js +0 -530
  76. package/dist/tests/app.test.d.ts +0 -1
  77. package/dist/tests/app.test.js +0 -423
  78. package/dist/tests/model.test.d.ts +0 -1
  79. package/dist/tests/model.test.js +0 -310
  80. package/dist/tests/openAi.test.d.ts +0 -1
  81. package/dist/tests/openAi.test.js +0 -701
  82. package/dist/tests/outcomes.test.d.ts +0 -1
  83. package/dist/tests/outcomes.test.js +0 -257
  84. package/dist/tests/secrets.test.d.ts +0 -1
  85. package/dist/tests/secrets.test.js +0 -263
  86. package/dist/tests/server/http.test.d.ts +0 -1
  87. package/dist/tests/server/http.test.js +0 -553
  88. package/dist/tests/tool.test.d.ts +0 -1
  89. package/dist/tests/tool.test.js +0 -315
  90. package/dist/tests/toolkit.test.d.ts +0 -1
  91. package/dist/tests/toolkit.test.js +0 -189
  92. package/dist/tests/triggers.test.d.ts +0 -1
  93. package/dist/tests/triggers.test.js +0 -203
  94. package/dist/tests/types.test.d.ts +0 -1
  95. package/dist/tests/types.test.js +0 -429
@@ -1,30 +0,0 @@
1
- "use strict";
2
- var _a;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.StreamingOutcome = void 0;
5
- const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
- const process_1 = require("process");
7
- class StreamingOutcome {
8
- async send(messageStream) {
9
- console.log("StreamingOutcome.send");
10
- let shouldContinue = true;
11
- while (shouldContinue) {
12
- const value = await messageStream.next();
13
- if (value.done) {
14
- shouldContinue = false;
15
- }
16
- else {
17
- process_1.stdout.write(JSON.stringify(value.value) + "\n");
18
- }
19
- }
20
- return;
21
- }
22
- bindToRequest(request) {
23
- console.log("Binding request to Slack:", request);
24
- return Promise.resolve();
25
- }
26
- }
27
- exports.StreamingOutcome = StreamingOutcome;
28
- _a = JSII_RTTI_SYMBOL_1;
29
- StreamingOutcome[_a] = { fqn: "@shuttl-io/core.StreamingOutcome", version: "0.1.7-0" };
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RyZWFtaW5nT3V0Y29tZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9vdXRjb21lcy9TdHJlYW1pbmdPdXRjb21lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEscUNBQWlDO0FBRWpDLE1BQWEsZ0JBQWdCO0lBQ2xCLEtBQUssQ0FBQyxJQUFJLENBQUMsYUFBbUM7UUFDakQsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3JDLElBQUksY0FBYyxHQUFHLElBQUksQ0FBQztRQUMxQixPQUFPLGNBQWMsRUFBRSxDQUFDO1lBQ3BCLE1BQU0sS0FBSyxHQUFHLE1BQU0sYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3pDLElBQUksS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNiLGNBQWMsR0FBRyxLQUFLLENBQUM7WUFDM0IsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLGdCQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1lBQ3JELENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTztJQUNYLENBQUM7SUFFTSxhQUFhLENBQUMsT0FBWTtRQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLDJCQUEyQixFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2xELE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzdCLENBQUM7O0FBbEJMLDRDQW1CQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElPdXRjb21lIH0gZnJvbSBcIi4vSU91dGNvbWVzXCI7XG5pbXBvcnQgeyBJTW9kZWxSZXNwb25zZVN0cmVhbSB9IGZyb20gXCIuLi9tb2RlbHMvdHlwZXNcIjtcbmltcG9ydCB7IHN0ZG91dCB9IGZyb20gXCJwcm9jZXNzXCI7XG5cbmV4cG9ydCBjbGFzcyBTdHJlYW1pbmdPdXRjb21lIGltcGxlbWVudHMgSU91dGNvbWUge1xuICAgIHB1YmxpYyBhc3luYyBzZW5kKG1lc3NhZ2VTdHJlYW06IElNb2RlbFJlc3BvbnNlU3RyZWFtKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiU3RyZWFtaW5nT3V0Y29tZS5zZW5kXCIpO1xuICAgICAgICBsZXQgc2hvdWxkQ29udGludWUgPSB0cnVlO1xuICAgICAgICB3aGlsZSAoc2hvdWxkQ29udGludWUpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gYXdhaXQgbWVzc2FnZVN0cmVhbS5uZXh0KCk7XG4gICAgICAgICAgICBpZiAodmFsdWUuZG9uZSkge1xuICAgICAgICAgICAgICAgIHNob3VsZENvbnRpbnVlID0gZmFsc2U7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHN0ZG91dC53cml0ZShKU09OLnN0cmluZ2lmeSh2YWx1ZS52YWx1ZSkgKyBcIlxcblwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcHVibGljIGJpbmRUb1JlcXVlc3QocmVxdWVzdDogYW55KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiQmluZGluZyByZXF1ZXN0IHRvIFNsYWNrOlwiLCByZXF1ZXN0KTtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgIH1cbn0iXX0=
@@ -1,3 +0,0 @@
1
- export * from "./IOutcomes";
2
- export * from "./StreamingOutcome";
3
- export * from "./CombinationOutcome";
@@ -1,20 +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("./IOutcomes"), exports);
18
- __exportStar(require("./StreamingOutcome"), exports);
19
- __exportStar(require("./CombinationOutcome"), exports);
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvb3V0Y29tZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhDQUE0QjtBQUM1QixxREFBbUM7QUFDbkMsdURBQXFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vSU91dGNvbWVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9TdHJlYW1pbmdPdXRjb21lXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9Db21iaW5hdGlvbk91dGNvbWVcIjsiXX0=
@@ -1,19 +0,0 @@
1
- export interface ISecret {
2
- resolveSecret(): Promise<string>;
3
- }
4
- export declare class EnvSecret implements ISecret {
5
- readonly envVarName: string;
6
- constructor(envVarName: string);
7
- resolveSecret(): Promise<string>;
8
- }
9
- export declare class Secret {
10
- source: "env" | "file" | "shuttl";
11
- name: string;
12
- private constructor();
13
- /**
14
- * Create a Secret from an environment variable.
15
- * @param envVarName The name of the environment variable.
16
- * @returns A new Secret.
17
- */
18
- static fromEnv(envVarName: string): ISecret;
19
- }
@@ -1,34 +0,0 @@
1
- "use strict";
2
- var _a, _b;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.Secret = exports.EnvSecret = void 0;
5
- const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
- class EnvSecret {
7
- constructor(envVarName) {
8
- this.envVarName = envVarName;
9
- }
10
- async resolveSecret() {
11
- return process.env[this.envVarName] || "";
12
- }
13
- }
14
- exports.EnvSecret = EnvSecret;
15
- _a = JSII_RTTI_SYMBOL_1;
16
- EnvSecret[_a] = { fqn: "@shuttl-io/core.EnvSecret", version: "0.1.7-0" };
17
- class Secret {
18
- constructor(source, name) {
19
- this.source = source;
20
- this.name = name;
21
- }
22
- /**
23
- * Create a Secret from an environment variable.
24
- * @param envVarName The name of the environment variable.
25
- * @returns A new Secret.
26
- */
27
- static fromEnv(envVarName) {
28
- return new EnvSecret(envVarName);
29
- }
30
- }
31
- exports.Secret = Secret;
32
- _b = JSII_RTTI_SYMBOL_1;
33
- Secret[_b] = { fqn: "@shuttl-io/core.Secret", version: "0.1.7-0" };
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjcmV0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZWNyZXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBSUEsTUFBYSxTQUFTO0lBQ2xCLFlBQW1DLFVBQWtCO1FBQWxCLGVBQVUsR0FBVixVQUFVLENBQVE7SUFBRSxDQUFDO0lBQ2pELEtBQUssQ0FBQyxhQUFhO1FBQ3RCLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzlDLENBQUM7O0FBSkwsOEJBS0M7OztBQUVELE1BQWEsTUFBTTtJQUdmLFlBQW9CLE1BQWlDLEVBQUUsSUFBWTtRQUMvRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBa0I7UUFDcEMsT0FBTyxJQUFJLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNyQyxDQUFDOztBQWZMLHdCQWdCQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSVNlY3JldCB7XG4gICAgcmVzb2x2ZVNlY3JldCgpOiBQcm9taXNlPHN0cmluZz47XG59XG5cbmV4cG9ydCBjbGFzcyBFbnZTZWNyZXQgaW1wbGVtZW50cyBJU2VjcmV0IHtcbiAgICBwdWJsaWMgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IGVudlZhck5hbWU6IHN0cmluZyl7fVxuICAgIHB1YmxpYyBhc3luYyByZXNvbHZlU2VjcmV0KCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiBwcm9jZXNzLmVudlt0aGlzLmVudlZhck5hbWVdIHx8IFwiXCI7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgU2VjcmV0ICB7XG4gICAgcHVibGljIHNvdXJjZTogXCJlbnZcIiB8IFwiZmlsZVwiIHwgXCJzaHV0dGxcIjtcbiAgICBwdWJsaWMgbmFtZTogc3RyaW5nO1xuICAgIHByaXZhdGUgY29uc3RydWN0b3Ioc291cmNlOiBcImVudlwiIHwgXCJmaWxlXCIgfCBcInNodXR0bFwiLCBuYW1lOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5zb3VyY2UgPSBzb3VyY2U7XG4gICAgICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlIGEgU2VjcmV0IGZyb20gYW4gZW52aXJvbm1lbnQgdmFyaWFibGUuICAgIFxuICAgICAqIEBwYXJhbSBlbnZWYXJOYW1lIFRoZSBuYW1lIG9mIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZS5cbiAgICAgKiBAcmV0dXJucyBBIG5ldyBTZWNyZXQuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBmcm9tRW52KGVudlZhck5hbWU6IHN0cmluZyk6IElTZWNyZXQge1xuICAgICAgICByZXR1cm4gbmV3IEVudlNlY3JldChlbnZWYXJOYW1lKTtcbiAgICB9XG59Il19
@@ -1,68 +0,0 @@
1
- import { IServer } from "../Server";
2
- /**
3
- * Request message format from the host CLI
4
- */
5
- export interface IPCRequest {
6
- /** Unique request ID for correlation */
7
- id: string;
8
- /** The method/action to invoke */
9
- method: string;
10
- /** Optional parameters for the method */
11
- body?: Record<string, unknown>;
12
- }
13
- export interface IPCResponseError {
14
- code: string;
15
- message: string;
16
- }
17
- /**
18
- * Response message format sent back to the host CLI
19
- */
20
- export interface IPCResponse {
21
- /** Correlates to the request ID */
22
- id: string;
23
- /** Whether the request was successful */
24
- success: boolean;
25
- /** The result data (on success) */
26
- result?: unknown;
27
- /** Error information (on failure) */
28
- errorObj?: IPCResponseError;
29
- }
30
- /**
31
- * A server that communicates via STDIN/STDOUT using JSON messages.
32
- * Uses newline-delimited JSON (NDJSON) protocol where each message
33
- * is a single line of JSON followed by a newline character.
34
- *
35
- * Host CLI writes requests to the process's STDIN.
36
- * This server writes responses to STDOUT.
37
- * Debug/log messages go to STDERR to avoid polluting the protocol.
38
- */
39
- export declare class StdInServer implements IServer {
40
- private app?;
41
- private running;
42
- private rl?;
43
- constructor();
44
- accept(app: any): void;
45
- start(): Promise<void>;
46
- stop(): Promise<void>;
47
- /**
48
- * Process a single line of input
49
- */
50
- private handleLine;
51
- /**
52
- * Route and handle a validated request
53
- */
54
- private handleRequest;
55
- private handleInvokeAgent;
56
- /**
57
- * Handle tool invocation request
58
- */
59
- private handleInvokeTool;
60
- /**
61
- * Handle trigger invocation request from the serve command
62
- */
63
- private handleInvokeTrigger;
64
- /**
65
- * Send a JSON response to STDOUT
66
- */
67
- private sendResponse;
68
- }