@@ -7503,6 +7503,69 @@ Content-Type: ` + contentType) + (StringUtil.isEmpty(headerStr, true) ? '' : hea
7503
7503
doOnKeyUp: function (event, type, isFilter, item) {
7504
7504
var keyCode = event.keyCode ? event.keyCode : (event.which ? event.which : event.charCode);
7505
7505
var isEnter = keyCode == 13
7506
+
7507
+ if (type == 'ask') {
7508
+ if (isEnter) {
7509
+ const user_query = StringUtil.trim(vAskAI.value);
7510
+ const uuid = crypto.randomUUID();
7511
+ this.request(true, REQUEST_TYPE_POST, REQUEST_TYPE_JSON, 'https://api.devin.ai/ada/query', {
7512
+ "engine_id": "multihop",
7513
+ "user_query": "<relevant_context>This query was sent from the wiki page: Overview.</relevant_context>" + user_query,
7514
+ "keywords": [],
7515
+ "repo_names": [
7516
+ "Tencent/APIJSON"
7517
+ ],
7518
+ "additional_context": "",
7519
+ "query_id": uuid,
7520
+ "use_notes": false,
7521
+ "generate_summary": false
7522
+ }, {}, function (url, res, err) {
7523
+ App.onResponse(url, res, err)
7524
+ var data = res.data || {}
7525
+ var isOk = JSONResponse.isSuccess(data)
7526
+
7527
+ var msg = isOk ? '' : ('\nmsg: ' + StringUtil.get(data.msg))
7528
+ if (err != null) {
7529
+ msg += '\nerr: ' + err.msg
7530
+ vOutput.value = err.msg
7531
+ this.view = 'error';
7532
+ return
7533
+ }
7534
+
7535
+ App.request(true, REQUEST_TYPE_GET, REQUEST_TYPE_PARAM, 'https://api.devin.ai/ada/query/' + uuid, {}, {}, function (url, res, err) {
7536
+ App.onResponse(url, res, err)
7537
+ var data = res.data || {}
7538
+ var isOk = JSONResponse.isSuccess(data)
7539
+
7540
+ var msg = isOk ? '' : ('\nmsg: ' + StringUtil.get(data.msg))
7541
+ if (err != null) {
7542
+ msg += '\nerr: ' + err.msg
7543
+ vOutput.value = err.msg
7544
+ this.view = 'error';
7545
+ return
7546
+ }
7547
+
7548
+ var queries = data.queries || []
7549
+ var last = queries[queries.length - 1]
7550
+ var query = last.user_query || user_query
7551
+ var response = last.response || []
7552
+ var answer = '### Ask\n' + query + '\n### Answer\n';
7553
+ for (var i = 0; i < response.length; i ++) {
7554
+ var item = response[i] || {};
7555
+ if (item.type != 'file_contents') {
7556
+ continue;
7557
+ }
7558
+ answer += '\n' + StringUtil.trim(typeof data == 'string' ? data : (data instanceof Array ? data.join() : JSON.stringify(data)));
7559
+ }
7560
+
7561
+ vOutput.value += answer;
7562
+ App.view = 'markdown';
7563
+ })
7564
+ })
7565
+ }
7566
+ return
7567
+ }
7568
+
7506
7569
if (type == 'option') {
7507
7570
if (isEnter) {
7508
7571
this.selectInput(item);
0 commit comments