@loopstack/hitl 0.1.2 → 0.2.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/dist/hitl.module.d.ts.map +1 -1
- package/dist/hitl.module.js +4 -2
- package/dist/hitl.module.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/tools/ask-clarification.tool.d.ts +20 -0
- package/dist/tools/ask-clarification.tool.d.ts.map +1 -0
- package/dist/tools/ask-clarification.tool.js +75 -0
- package/dist/tools/ask-clarification.tool.js.map +1 -0
- package/dist/tools/ask-for-approval.tool.d.ts +13 -0
- package/dist/tools/ask-for-approval.tool.d.ts.map +1 -0
- package/dist/tools/ask-for-approval.tool.js +60 -0
- package/dist/tools/ask-for-approval.tool.js.map +1 -0
- package/dist/tools/index.d.ts +3 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +8 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/workflows/ask-user/ask-user.workflow.d.ts.map +1 -1
- package/dist/workflows/ask-user/ask-user.workflow.js +2 -1
- package/dist/workflows/ask-user/ask-user.workflow.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hitl.module.d.ts","sourceRoot":"","sources":["../src/hitl.module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hitl.module.d.ts","sourceRoot":"","sources":["../src/hitl.module.ts"],"names":[],"mappings":"AAOA,qBAKa,UAAU;CAAG"}
|
package/dist/hitl.module.js
CHANGED
|
@@ -9,6 +9,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
9
9
|
exports.HitlModule = void 0;
|
|
10
10
|
const common_1 = require("@nestjs/common");
|
|
11
11
|
const core_1 = require("@loopstack/core");
|
|
12
|
+
const ask_clarification_tool_1 = require("./tools/ask-clarification.tool");
|
|
13
|
+
const ask_for_approval_tool_1 = require("./tools/ask-for-approval.tool");
|
|
12
14
|
const ask_user_workflow_1 = require("./workflows/ask-user/ask-user.workflow");
|
|
13
15
|
const confirm_user_workflow_1 = require("./workflows/confirm-user/confirm-user.workflow");
|
|
14
16
|
let HitlModule = class HitlModule {
|
|
@@ -17,8 +19,8 @@ exports.HitlModule = HitlModule;
|
|
|
17
19
|
exports.HitlModule = HitlModule = __decorate([
|
|
18
20
|
(0, common_1.Module)({
|
|
19
21
|
imports: [core_1.LoopCoreModule],
|
|
20
|
-
providers: [ask_user_workflow_1.AskUserWorkflow, confirm_user_workflow_1.ConfirmUserWorkflow],
|
|
21
|
-
exports: [ask_user_workflow_1.AskUserWorkflow, confirm_user_workflow_1.ConfirmUserWorkflow],
|
|
22
|
+
providers: [ask_user_workflow_1.AskUserWorkflow, confirm_user_workflow_1.ConfirmUserWorkflow, ask_clarification_tool_1.AskClarificationTool, ask_for_approval_tool_1.AskForApprovalTool],
|
|
23
|
+
exports: [ask_user_workflow_1.AskUserWorkflow, confirm_user_workflow_1.ConfirmUserWorkflow, ask_clarification_tool_1.AskClarificationTool, ask_for_approval_tool_1.AskForApprovalTool],
|
|
22
24
|
})
|
|
23
25
|
], HitlModule);
|
|
24
26
|
//# sourceMappingURL=hitl.module.js.map
|
package/dist/hitl.module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hitl.module.js","sourceRoot":"","sources":["../src/hitl.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,0CAAiD;AACjD,8EAAyE;AACzE,0FAAqF;AAO9E,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,gCAAU;qBAAV,UAAU;IALtB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,qBAAc,CAAC;QACzB,SAAS,EAAE,CAAC,mCAAe,EAAE,2CAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"hitl.module.js","sourceRoot":"","sources":["../src/hitl.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,0CAAiD;AACjD,2EAAsE;AACtE,yEAAmE;AACnE,8EAAyE;AACzE,0FAAqF;AAO9E,IAAM,UAAU,GAAhB,MAAM,UAAU;CAAG,CAAA;AAAb,gCAAU;qBAAV,UAAU;IALtB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,qBAAc,CAAC;QACzB,SAAS,EAAE,CAAC,mCAAe,EAAE,2CAAmB,EAAE,6CAAoB,EAAE,0CAAkB,CAAC;QAC3F,OAAO,EAAE,CAAC,mCAAe,EAAE,2CAAmB,EAAE,6CAAoB,EAAE,0CAAkB,CAAC;KAC1F,CAAC;GACW,UAAU,CAAG"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./documents"), exports);
|
|
18
|
+
__exportStar(require("./tools"), exports);
|
|
18
19
|
__exportStar(require("./workflows"), exports);
|
|
19
20
|
__exportStar(require("./hitl.module"), exports);
|
|
20
21
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,8CAA4B;AAC5B,gDAA8B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,0CAAwB;AACxB,8CAA4B;AAC5B,gDAA8B"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { BaseTool, ToolCallOptions, ToolResult } from '@loopstack/common';
|
|
3
|
+
declare const AskClarificationInputSchema: z.ZodObject<{
|
|
4
|
+
question: z.ZodString;
|
|
5
|
+
mode: z.ZodOptional<z.ZodEnum<{
|
|
6
|
+
options: "options";
|
|
7
|
+
text: "text";
|
|
8
|
+
confirm: "confirm";
|
|
9
|
+
}>>;
|
|
10
|
+
options: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
11
|
+
allowCustomAnswer: z.ZodOptional<z.ZodBoolean>;
|
|
12
|
+
}, z.core.$strict>;
|
|
13
|
+
type AskClarificationInput = z.infer<typeof AskClarificationInputSchema>;
|
|
14
|
+
export declare class AskClarificationTool extends BaseTool {
|
|
15
|
+
private askUser;
|
|
16
|
+
call(args: AskClarificationInput, options?: ToolCallOptions): Promise<ToolResult>;
|
|
17
|
+
complete(result: Record<string, unknown>): Promise<ToolResult>;
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=ask-clarification.tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ask-clarification.tool.d.ts","sourceRoot":"","sources":["../../src/tools/ask-clarification.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAsC,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG9G,QAAA,MAAM,2BAA2B;;;;;;;;;kBAyBtB,CAAC;AAEZ,KAAK,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEzE,qBASa,oBAAqB,SAAQ,QAAQ;IAC9B,OAAO,CAAC,OAAO,CAAkB;IAE7C,IAAI,CAAC,IAAI,EAAE,qBAAqB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC;IAyBjF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;CAWrE"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.AskClarificationTool = void 0;
|
|
13
|
+
const zod_1 = require("zod");
|
|
14
|
+
const common_1 = require("@loopstack/common");
|
|
15
|
+
const ask_user_workflow_1 = require("../workflows/ask-user/ask-user.workflow");
|
|
16
|
+
const AskClarificationInputSchema = zod_1.z
|
|
17
|
+
.object({
|
|
18
|
+
question: zod_1.z
|
|
19
|
+
.string()
|
|
20
|
+
.describe('The clarification question to ask the user. Be specific about what information you need and why.'),
|
|
21
|
+
mode: zod_1.z
|
|
22
|
+
.enum(['text', 'options', 'confirm'])
|
|
23
|
+
.optional()
|
|
24
|
+
.describe('How the question is presented. "text" (default) shows a free-text input. ' +
|
|
25
|
+
'"options" shows a list of choices for the user to pick from. ' +
|
|
26
|
+
'"confirm" shows Yes / No buttons.'),
|
|
27
|
+
options: zod_1.z
|
|
28
|
+
.array(zod_1.z.string())
|
|
29
|
+
.optional()
|
|
30
|
+
.describe('The list of choices when mode is "options". Required when mode is "options".'),
|
|
31
|
+
allowCustomAnswer: zod_1.z
|
|
32
|
+
.boolean()
|
|
33
|
+
.optional()
|
|
34
|
+
.describe('When mode is "options", set to true to show an additional free-text input ' +
|
|
35
|
+
'so the user can provide a custom answer not in the list.'),
|
|
36
|
+
})
|
|
37
|
+
.strict();
|
|
38
|
+
let AskClarificationTool = class AskClarificationTool extends common_1.BaseTool {
|
|
39
|
+
askUser;
|
|
40
|
+
async call(args, options) {
|
|
41
|
+
const result = await this.askUser.run({
|
|
42
|
+
question: args.question,
|
|
43
|
+
mode: args.mode,
|
|
44
|
+
options: args.options,
|
|
45
|
+
allowCustomAnswer: args.allowCustomAnswer,
|
|
46
|
+
}, { alias: 'askUser', callback: options?.callback });
|
|
47
|
+
const workflowId = result.workflowId;
|
|
48
|
+
await this.repository.save(common_1.LinkDocument, { status: 'pending', label: 'Waiting for user answer...', workflowId, embed: true, expanded: true }, { id: `ask_clarification_link_${workflowId}` });
|
|
49
|
+
return {
|
|
50
|
+
data: { workflowId },
|
|
51
|
+
pending: { workflowId },
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
async complete(result) {
|
|
55
|
+
const data = result;
|
|
56
|
+
await this.repository.save(common_1.LinkDocument, { status: 'success', label: 'User answered', workflowId: data.workflowId, embed: true, expanded: false }, { id: `ask_clarification_link_${data.workflowId}` });
|
|
57
|
+
return { data: data.data?.answer ?? result };
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
exports.AskClarificationTool = AskClarificationTool;
|
|
61
|
+
__decorate([
|
|
62
|
+
(0, common_1.InjectWorkflow)(),
|
|
63
|
+
__metadata("design:type", ask_user_workflow_1.AskUserWorkflow)
|
|
64
|
+
], AskClarificationTool.prototype, "askUser", void 0);
|
|
65
|
+
exports.AskClarificationTool = AskClarificationTool = __decorate([
|
|
66
|
+
(0, common_1.Tool)({
|
|
67
|
+
uiConfig: {
|
|
68
|
+
description: 'Ask the user a clarification question and wait for their answer. ' +
|
|
69
|
+
'Use this when you need more information from the user before you can proceed. ' +
|
|
70
|
+
'IMPORTANT: This must be the only tool call in your response.',
|
|
71
|
+
},
|
|
72
|
+
schema: AskClarificationInputSchema,
|
|
73
|
+
})
|
|
74
|
+
], AskClarificationTool);
|
|
75
|
+
//# sourceMappingURL=ask-clarification.tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ask-clarification.tool.js","sourceRoot":"","sources":["../../src/tools/ask-clarification.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6BAAwB;AACxB,8CAA8G;AAC9G,+EAA0E;AAE1E,MAAM,2BAA2B,GAAG,OAAC;KAClC,MAAM,CAAC;IACN,QAAQ,EAAE,OAAC;SACR,MAAM,EAAE;SACR,QAAQ,CAAC,kGAAkG,CAAC;IAC/G,IAAI,EAAE,OAAC;SACJ,IAAI,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;SACpC,QAAQ,EAAE;SACV,QAAQ,CACP,2EAA2E;QACzE,+DAA+D;QAC/D,mCAAmC,CACtC;IACH,OAAO,EAAE,OAAC;SACP,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,8EAA8E,CAAC;IAC3F,iBAAiB,EAAE,OAAC;SACjB,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,4EAA4E;QAC1E,0DAA0D,CAC7D;CACJ,CAAC;KACD,MAAM,EAAE,CAAC;AAaL,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,iBAAQ;IACtB,OAAO,CAAkB;IAEnD,KAAK,CAAC,IAAI,CAAC,IAA2B,EAAE,OAAyB;QAC/D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CACnC;YACE,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;SAC1C,EACD,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,CAClD,CAAC;QAEF,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QAErC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CACxB,qBAAY,EACZ,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,4BAA4B,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EACnG,EAAE,EAAE,EAAE,0BAA0B,UAAU,EAAE,EAAE,CAC/C,CAAC;QAEF,OAAO;YACL,IAAI,EAAE,EAAE,UAAU,EAAE;YACpB,OAAO,EAAE,EAAE,UAAU,EAAE;SACxB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAA+B;QAC5C,MAAM,IAAI,GAAG,MAA6D,CAAC;QAE3E,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CACxB,qBAAY,EACZ,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,IAAI,CAAC,UAAW,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EACzG,EAAE,EAAE,EAAE,0BAA0B,IAAI,CAAC,UAAU,EAAE,EAAE,CACpD,CAAC;QAEF,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,MAAM,EAAE,CAAC;IAC/C,CAAC;CACF,CAAA;AAvCY,oDAAoB;AACL;IAAzB,IAAA,uBAAc,GAAE;8BAAkB,mCAAe;qDAAC;+BADxC,oBAAoB;IAThC,IAAA,aAAI,EAAC;QACJ,QAAQ,EAAE;YACR,WAAW,EACT,mEAAmE;gBACnE,gFAAgF;gBAChF,8DAA8D;SACjE;QACD,MAAM,EAAE,2BAA2B;KACpC,CAAC;GACW,oBAAoB,CAuChC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { BaseTool, ToolCallOptions, ToolResult } from '@loopstack/common';
|
|
3
|
+
declare const AskForApprovalInputSchema: z.ZodObject<{
|
|
4
|
+
concept: z.ZodString;
|
|
5
|
+
}, z.core.$strict>;
|
|
6
|
+
type AskForApprovalInput = z.infer<typeof AskForApprovalInputSchema>;
|
|
7
|
+
export declare class AskForApprovalTool extends BaseTool {
|
|
8
|
+
private confirmUser;
|
|
9
|
+
call(args: AskForApprovalInput, options?: ToolCallOptions): Promise<ToolResult>;
|
|
10
|
+
complete(result: Record<string, unknown>): Promise<ToolResult>;
|
|
11
|
+
}
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=ask-for-approval.tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ask-for-approval.tool.d.ts","sourceRoot":"","sources":["../../src/tools/ask-for-approval.tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAsC,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG9G,QAAA,MAAM,yBAAyB;;kBAIpB,CAAC;AAEZ,KAAK,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAErE,qBASa,kBAAmB,SAAQ,QAAQ;IAC5B,OAAO,CAAC,WAAW,CAAsB;IAErD,IAAI,CAAC,IAAI,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC;IAoB/E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;CAkBrE"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.AskForApprovalTool = void 0;
|
|
13
|
+
const zod_1 = require("zod");
|
|
14
|
+
const common_1 = require("@loopstack/common");
|
|
15
|
+
const confirm_user_workflow_1 = require("../workflows/confirm-user/confirm-user.workflow");
|
|
16
|
+
const AskForApprovalInputSchema = zod_1.z
|
|
17
|
+
.object({
|
|
18
|
+
concept: zod_1.z.string().describe('The final concept as a markdown string to present for user approval.'),
|
|
19
|
+
})
|
|
20
|
+
.strict();
|
|
21
|
+
let AskForApprovalTool = class AskForApprovalTool extends common_1.BaseTool {
|
|
22
|
+
confirmUser;
|
|
23
|
+
async call(args, options) {
|
|
24
|
+
const result = await this.confirmUser.run({ markdown: args.concept }, { alias: 'confirmUser', callback: options?.callback });
|
|
25
|
+
const workflowId = result.workflowId;
|
|
26
|
+
await this.repository.save(common_1.LinkDocument, { status: 'pending', label: 'Waiting for approval...', workflowId, embed: true, expanded: true }, { id: `ask_for_approval_link_${workflowId}` });
|
|
27
|
+
return {
|
|
28
|
+
data: { workflowId },
|
|
29
|
+
pending: { workflowId },
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
async complete(result) {
|
|
33
|
+
const data = result;
|
|
34
|
+
const approved = data.data?.confirmed ?? false;
|
|
35
|
+
await this.repository.save(common_1.LinkDocument, {
|
|
36
|
+
status: approved ? 'success' : 'failure',
|
|
37
|
+
label: approved ? 'Concept approved' : 'Concept denied',
|
|
38
|
+
workflowId: data.workflowId,
|
|
39
|
+
embed: true,
|
|
40
|
+
expanded: false,
|
|
41
|
+
}, { id: `ask_for_approval_link_${data.workflowId}` });
|
|
42
|
+
return { data: approved ? { concept: data.data?.markdown } : { denied: true } };
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
exports.AskForApprovalTool = AskForApprovalTool;
|
|
46
|
+
__decorate([
|
|
47
|
+
(0, common_1.InjectWorkflow)(),
|
|
48
|
+
__metadata("design:type", confirm_user_workflow_1.ConfirmUserWorkflow)
|
|
49
|
+
], AskForApprovalTool.prototype, "confirmUser", void 0);
|
|
50
|
+
exports.AskForApprovalTool = AskForApprovalTool = __decorate([
|
|
51
|
+
(0, common_1.Tool)({
|
|
52
|
+
uiConfig: {
|
|
53
|
+
description: 'Present the final concept to the user for approval. The concept is shown as formatted markdown ' +
|
|
54
|
+
'with a confirm button. Call this when the user indicates the concept is complete. ' +
|
|
55
|
+
'IMPORTANT: This must be the only tool call in your response.',
|
|
56
|
+
},
|
|
57
|
+
schema: AskForApprovalInputSchema,
|
|
58
|
+
})
|
|
59
|
+
], AskForApprovalTool);
|
|
60
|
+
//# sourceMappingURL=ask-for-approval.tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ask-for-approval.tool.js","sourceRoot":"","sources":["../../src/tools/ask-for-approval.tool.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6BAAwB;AACxB,8CAA8G;AAC9G,2FAAsF;AAEtF,MAAM,yBAAyB,GAAG,OAAC;KAChC,MAAM,CAAC;IACN,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sEAAsE,CAAC;CACrG,CAAC;KACD,MAAM,EAAE,CAAC;AAaL,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,iBAAQ;IACpB,WAAW,CAAsB;IAE3D,KAAK,CAAC,IAAI,CAAC,IAAyB,EAAE,OAAyB;QAC7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CACvC,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,EAC1B,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,CACtD,CAAC;QAEF,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QAErC,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CACxB,qBAAY,EACZ,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAChG,EAAE,EAAE,EAAE,yBAAyB,UAAU,EAAE,EAAE,CAC9C,CAAC;QAEF,OAAO;YACL,IAAI,EAAE,EAAE,UAAU,EAAE;YACpB,OAAO,EAAE,EAAE,UAAU,EAAE;SACxB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAA+B;QAC5C,MAAM,IAAI,GAAG,MAAmF,CAAC;QACjG,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,IAAI,KAAK,CAAC;QAE/C,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CACxB,qBAAY,EACZ;YACE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YACxC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,gBAAgB;YACvD,UAAU,EAAE,IAAI,CAAC,UAAW;YAC5B,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,KAAK;SAChB,EACD,EAAE,EAAE,EAAE,yBAAyB,IAAI,CAAC,UAAU,EAAE,EAAE,CACnD,CAAC;QAEF,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;IAClF,CAAC;CACF,CAAA;AAzCY,gDAAkB;AACH;IAAzB,IAAA,uBAAc,GAAE;8BAAsB,2CAAmB;uDAAC;6BADhD,kBAAkB;IAT9B,IAAA,aAAI,EAAC;QACJ,QAAQ,EAAE;YACR,WAAW,EACT,iGAAiG;gBACjG,oFAAoF;gBACpF,8DAA8D;SACjE;QACD,MAAM,EAAE,yBAAyB;KAClC,CAAC;GACW,kBAAkB,CAyC9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AskForApprovalTool = exports.AskClarificationTool = void 0;
|
|
4
|
+
var ask_clarification_tool_1 = require("./ask-clarification.tool");
|
|
5
|
+
Object.defineProperty(exports, "AskClarificationTool", { enumerable: true, get: function () { return ask_clarification_tool_1.AskClarificationTool; } });
|
|
6
|
+
var ask_for_approval_tool_1 = require("./ask-for-approval.tool");
|
|
7
|
+
Object.defineProperty(exports, "AskForApprovalTool", { enumerable: true, get: function () { return ask_for_approval_tool_1.AskForApprovalTool; } });
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":";;;AAAA,mEAAgE;AAAvD,8HAAA,oBAAoB,OAAA;AAC7B,iEAA6D;AAApD,2HAAA,kBAAkB,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask-user.workflow.d.ts","sourceRoot":"","sources":["../../../src/workflows/ask-user/ask-user.workflow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAA+C,MAAM,mBAAmB,CAAC;AAS9F,qBASa,eAAgB,SAAQ,YAAY;IAE/C,KAAK;IAIC,mBAAmB;IAenB,mBAAmB;IAMnB,gBAAgB;IAMhB,YAAY,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAuB5E,OAAO,CAAC,aAAa;
|
|
1
|
+
{"version":3,"file":"ask-user.workflow.d.ts","sourceRoot":"","sources":["../../../src/workflows/ask-user/ask-user.workflow.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAA+C,MAAM,mBAAmB,CAAC;AAS9F,qBASa,eAAgB,SAAQ,YAAY;IAE/C,KAAK;IAIC,mBAAmB;IAenB,mBAAmB;IAMnB,gBAAgB;IAMhB,YAAY,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAuB5E,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,aAAa;CAGtB"}
|
|
@@ -46,7 +46,8 @@ let AskUserWorkflow = class AskUserWorkflow extends common_1.BaseWorkflow {
|
|
|
46
46
|
return { answer: payload.answer };
|
|
47
47
|
}
|
|
48
48
|
isOptionsMode() {
|
|
49
|
-
|
|
49
|
+
const args = this.ctx.args;
|
|
50
|
+
return (args?.mode === 'options' || (args?.mode === undefined && Array.isArray(args?.options) && args.options.length > 0));
|
|
50
51
|
}
|
|
51
52
|
isConfirmMode() {
|
|
52
53
|
return this.ctx.args?.mode === 'confirm';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ask-user.workflow.js","sourceRoot":"","sources":["../../../src/workflows/ask-user/ask-user.workflow.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6BAAwB;AACxB,8CAA8F;AAC9F,yFAAmF;AACnF,yEAAoE;AACpE,yFAAmF;AAEnF,MAAM,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IACnC,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC;AAWI,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,qBAAY;IAE/C,KAAK,KAAI,CAAC;IAIJ,AAAN,KAAK,CAAC,mBAAmB;QACvB,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAIzD,CAAC;QACF,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CACxB,kDAAsB,EACtB,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,iBAAiB,EAAE,EACvD,EAAE,EAAE,EAAE,UAAU,EAAE,CACnB,CAAC;IACJ,CAAC;IAIK,AAAN,KAAK,CAAC,mBAAmB;QACvB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAA4B,CAAC;QAC3D,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,kDAAsB,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;IACvF,CAAC;IAGK,AAAN,KAAK,CAAC,gBAAgB;QACpB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAA4B,CAAC;QAC3D,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,mCAAe,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;IAChF,CAAC;IAGK,AAAN,KAAK,CAAC,YAAY,CAAC,OAA2B;QAC5C,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,iBAAiB,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,IAK/D,CAAC;QAEF,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CACxB,kDAAsB,EACtB,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,iBAAiB,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,EAC/E,EAAE,EAAE,EAAE,UAAU,EAAE,CACnB,CAAC;QACJ,CAAC;aAAM,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,kDAAsB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QAC/G,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,mCAAe,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;QACxG,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;IACpC,CAAC;IAEO,aAAa;QACnB,
|
|
1
|
+
{"version":3,"file":"ask-user.workflow.js","sourceRoot":"","sources":["../../../src/workflows/ask-user/ask-user.workflow.ts"],"names":[],"mappings":"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"}
|