claire-agent
Version:
A Dialogflow agent for Claire Global
766 lines (648 loc) • 35.2 kB
JavaScript
// Compiled by ClojureScript 1.10.520 {:target :nodejs}
goog.provide('claire_agent.api');
goog.require('cljs.core');
goog.require('claire_common.utils');
goog.require('cljs.core.async');
claire_agent.api._STAR_db_STAR_ = cljs.core.atom.call(null,new cljs.core.PersistentArrayMap(null, 3, [new cljs.core.Keyword(null,"products","products",1876973544),new cljs.core.PersistentVector(null, 3, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"description","description",-1428560544),new cljs.core.Keyword(null,"category","category",-593092832),new cljs.core.Keyword(null,"kg-batch","kg-batch",202787779),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"origin-country","origin-country",258183563),new cljs.core.Keyword(null,"incoterm","incoterm",169678540),new cljs.core.Keyword(null,"is-frozen","is-frozen",1868053201),new cljs.core.Keyword(null,"taric-code","taric-code",-1949405035),new cljs.core.Keyword(null,"min-kg","min-kg",-1217575882),new cljs.core.Keyword(null,"min-batch","min-batch",-2105345578),new cljs.core.Keyword(null,"max-kg","max-kg",-1925279013),new cljs.core.Keyword(null,"on-demand","on-demand",-1279675557),new cljs.core.Keyword(null,"price","price",22129180),new cljs.core.Keyword(null,"product-id","product-id",1556861660),new cljs.core.Keyword(null,"seller","seller",-715410369)],["","meat",(100),"chicken wings","Spain",new cljs.core.Keyword(null,"ex-works","ex-works",-1472954345),false,(12345),(100),(1),(4000),true,(100),"1","Acme, Inc."]),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"description","description",-1428560544),new cljs.core.Keyword(null,"category","category",-593092832),new cljs.core.Keyword(null,"kg-batch","kg-batch",202787779),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"origin-country","origin-country",258183563),new cljs.core.Keyword(null,"incoterm","incoterm",169678540),new cljs.core.Keyword(null,"is-frozen","is-frozen",1868053201),new cljs.core.Keyword(null,"taric-code","taric-code",-1949405035),new cljs.core.Keyword(null,"min-kg","min-kg",-1217575882),new cljs.core.Keyword(null,"min-batch","min-batch",-2105345578),new cljs.core.Keyword(null,"max-kg","max-kg",-1925279013),new cljs.core.Keyword(null,"on-demand","on-demand",-1279675557),new cljs.core.Keyword(null,"price","price",22129180),new cljs.core.Keyword(null,"product-id","product-id",1556861660),new cljs.core.Keyword(null,"seller","seller",-715410369)],["","meat",(100),"chicken wings","Spain",new cljs.core.Keyword(null,"ex-works","ex-works",-1472954345),false,(12345),(100),(1),(5000),true,(101),"2","Food Global, Inc."]),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"description","description",-1428560544),new cljs.core.Keyword(null,"category","category",-593092832),new cljs.core.Keyword(null,"kg-batch","kg-batch",202787779),new cljs.core.Keyword(null,"name","name",1843675177),new cljs.core.Keyword(null,"origin-country","origin-country",258183563),new cljs.core.Keyword(null,"incoterm","incoterm",169678540),new cljs.core.Keyword(null,"is-frozen","is-frozen",1868053201),new cljs.core.Keyword(null,"taric-code","taric-code",-1949405035),new cljs.core.Keyword(null,"min-kg","min-kg",-1217575882),new cljs.core.Keyword(null,"min-batch","min-batch",-2105345578),new cljs.core.Keyword(null,"max-kg","max-kg",-1925279013),new cljs.core.Keyword(null,"on-demand","on-demand",-1279675557),new cljs.core.Keyword(null,"price","price",22129180),new cljs.core.Keyword(null,"product-id","product-id",1556861660),new cljs.core.Keyword(null,"seller","seller",-715410369)],["","meat",(100),"pork cheeks","Spain",new cljs.core.Keyword(null,"ex-works","ex-works",-1472954345),false,(23456),(100),(1),(5000),true,(101),"3","Food Global, Inc."])], null),new cljs.core.Keyword(null,"orders","orders",-1032870176),new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"delivery-date","delivery-date",-835216797),new cljs.core.Keyword(null,"fee-rate","fee-rate",-764826871),new cljs.core.Keyword(null,"incoterm","incoterm",169678540),new cljs.core.Keyword(null,"load-date","load-date",797436111),new cljs.core.Keyword(null,"product","product",1363474257),new cljs.core.Keyword(null,"status","status",-1997798413),new cljs.core.Keyword(null,"order-id","order-id",1242924148),new cljs.core.Keyword(null,"taric-code","taric-code",-1949405035),new cljs.core.Keyword(null,"quantity","quantity",-1929050694),new cljs.core.Keyword(null,"buyer","buyer",747390746),new cljs.core.Keyword(null,"price","price",22129180),new cljs.core.Keyword(null,"country","country",312965309),new cljs.core.Keyword(null,"destination","destination",-253872483),new cljs.core.Keyword(null,"seller","seller",-715410369)],["2019-11-12",(10),new cljs.core.Keyword(null,"ex-works","ex-works",-1472954345),"2019-11-11","chicken wings","received",(1),(12345),(234),"buyer-1",(222),"China","Madrid","Acme, Inc."]),cljs.core.PersistentHashMap.fromArrays([new cljs.core.Keyword(null,"delivery-date","delivery-date",-835216797),new cljs.core.Keyword(null,"fee-rate","fee-rate",-764826871),new cljs.core.Keyword(null,"incoterm","incoterm",169678540),new cljs.core.Keyword(null,"load-date","load-date",797436111),new cljs.core.Keyword(null,"product","product",1363474257),new cljs.core.Keyword(null,"status","status",-1997798413),new cljs.core.Keyword(null,"order-id","order-id",1242924148),new cljs.core.Keyword(null,"taric-code","taric-code",-1949405035),new cljs.core.Keyword(null,"quantity","quantity",-1929050694),new cljs.core.Keyword(null,"buyer","buyer",747390746),new cljs.core.Keyword(null,"price","price",22129180),new cljs.core.Keyword(null,"country","country",312965309),new cljs.core.Keyword(null,"destination","destination",-253872483),new cljs.core.Keyword(null,"seller","seller",-715410369)],["2019-11-12",(10),new cljs.core.Keyword(null,"ex-works","ex-works",-1472954345),"2019-11-11","pork cheeks","received",(1),(23456),(234),"buyer-1",(222),"China","Madrid","Acme, Inc."])], null),new cljs.core.Keyword(null,"queries","queries",1446291995),new cljs.core.PersistentArrayMap(null, 2, ["00000",new cljs.core.PersistentArrayMap(null, 8, [new cljs.core.Keyword(null,"query-id","query-id",1474128842),"00000",new cljs.core.Keyword(null,"taric-code","taric-code",-1949405035),"",new cljs.core.Keyword(null,"product","product",1363474257),"",new cljs.core.Keyword(null,"quantity","quantity",-1929050694),"",new cljs.core.Keyword(null,"destination","destination",-253872483),"",new cljs.core.Keyword(null,"delivery-date","delivery-date",-835216797),"",new cljs.core.Keyword(null,"incoterm","incoterm",169678540),new cljs.core.Keyword(null,"ex-works","ex-works",-1472954345),new cljs.core.Keyword(null,"status","status",-1997798413),"polling"], null),"00001",new cljs.core.PersistentArrayMap(null, 8, [new cljs.core.Keyword(null,"query-id","query-id",1474128842),"00001",new cljs.core.Keyword(null,"taric-code","taric-code",-1949405035),"",new cljs.core.Keyword(null,"product","product",1363474257),"",new cljs.core.Keyword(null,"quantity","quantity",-1929050694),"",new cljs.core.Keyword(null,"destination","destination",-253872483),"",new cljs.core.Keyword(null,"delivery-date","delivery-date",-835216797),"",new cljs.core.Keyword(null,"incoterm","incoterm",169678540),new cljs.core.Keyword(null,"ex-works","ex-works",-1472954345),new cljs.core.Keyword(null,"status","status",-1997798413),"polling"], null)], null)], null));
claire_agent.api.record_matcher = (function claire_agent$api$record_matcher(record){
return (function (with$){
var r = record;
while(true){
var f = cljs.core.first.call(null,r);
if((f == null)){
return true;
} else {
if(cljs.core.not_EQ_.call(null,cljs.core.get.call(null,with$,cljs.core.keyword.call(null,cljs.core.first.call(null,f))),cljs.core.second.call(null,f))){
return false;
} else {
var G__14603 = cljs.core.rest.call(null,r);
r = G__14603;
continue;
}
}
break;
}
});
});
claire_agent.api.rfind = (function claire_agent$api$rfind(key,what){
var l = ((cljs.core.sequential_QMARK_.call(null,cljs.core.get.call(null,cljs.core.deref.call(null,claire_agent.api._STAR_db_STAR_),key)))?cljs.core.get.call(null,cljs.core.deref.call(null,claire_agent.api._STAR_db_STAR_),key):cljs.core.vals.call(null,cljs.core.get.call(null,cljs.core.deref.call(null,claire_agent.api._STAR_db_STAR_),key)));
return claire_common.utils.find_first.call(null,claire_agent.api.record_matcher.call(null,what),l);
});
claire_agent.api.query_status = (function claire_agent$api$query_status(qid){
return new cljs.core.Keyword(null,"status","status",-1997798413).cljs$core$IFn$_invoke$arity$1(claire_agent.api.rfind.call(null,new cljs.core.Keyword(null,"queries","queries",1446291995),new cljs.core.PersistentArrayMap(null, 1, [new cljs.core.Keyword(null,"query-id","query-id",1474128842),qid], null)));
});
claire_agent.api.query_started_QMARK_ = (function claire_agent$api$query_started_QMARK_(qid){
return cljs.core._EQ_.call(null,"polling ",claire_agent.api.query_status.call(null,qid));
});
claire_agent.api.query_completed_QMARK_ = (function claire_agent$api$query_completed_QMARK_(qid){
return cljs.core._EQ_.call(null,"finished",claire_agent.api.query_status.call(null,qid));
});
claire_agent.api.update_query = (function claire_agent$api$update_query(qid,query){
return cljs.core.swap_BANG_.call(null,claire_agent.api._STAR_db_STAR_,cljs.core.assoc,new cljs.core.Keyword(null,"queries","queries",1446291995),cljs.core.assoc.call(null,new cljs.core.Keyword(null,"queries","queries",1446291995).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,claire_agent.api._STAR_db_STAR_)),qid,query));
});
claire_agent.api.long_call = (function claire_agent$api$long_call(var_args){
var args__4736__auto__ = [];
var len__4730__auto___14609 = arguments.length;
var i__4731__auto___14610 = (0);
while(true){
if((i__4731__auto___14610 < len__4730__auto___14609)){
args__4736__auto__.push((arguments[i__4731__auto___14610]));
var G__14611 = (i__4731__auto___14610 + (1));
i__4731__auto___14610 = G__14611;
continue;
} else {
}
break;
}
var argseq__4737__auto__ = ((((0) < args__4736__auto__.length))?(new cljs.core.IndexedSeq(args__4736__auto__.slice((0)),(0),null)):null);
return claire_agent.api.long_call.cljs$core$IFn$_invoke$arity$variadic(argseq__4737__auto__);
});
claire_agent.api.long_call.cljs$core$IFn$_invoke$arity$variadic = (function (p__14605){
var vec__14606 = p__14605;
var delay = cljs.core.nth.call(null,vec__14606,(0),null);
var query = cljs.core.nth.call(null,vec__14606,(1),null);
var _ = cljs.core.print.call(null,"DB: ",new cljs.core.Keyword(null,"queries","queries",1446291995).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,claire_agent.api._STAR_db_STAR_)));
var qid = (function (){var or__4131__auto__ = new cljs.core.Keyword(null,"query-id","query-id",1474128842).cljs$core$IFn$_invoke$arity$1(query);
if(cljs.core.truth_(or__4131__auto__)){
return or__4131__auto__;
} else {
return cljs.core.str.cljs$core$IFn$_invoke$arity$1(cljs.core.random_uuid.call(null));
}
})();
cljs.core.println.call(null,"LONG-CALL: started 0 ",qid," -- found: ",cljs.core.get.call(null,new cljs.core.Keyword(null,"queries","queries",1446291995).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,claire_agent.api._STAR_db_STAR_)),qid));
if(((claire_agent.api.query_started_QMARK_.call(null,qid) === false) && ((!((delay == null)))))){
claire_agent.api.update_query.call(null,qid,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"query-id","query-id",1474128842),qid,new cljs.core.Keyword(null,"status","status",-1997798413),"polling"], null));
cljs.core.println.call(null,"EXTERNAL QUERY STARTED -- status: ",cljs.core.get.call(null,new cljs.core.Keyword(null,"queries","queries",1446291995).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,claire_agent.api._STAR_db_STAR_)),qid));
setTimeout(((function (_,qid,vec__14606,delay,query){
return (function (){
cljs.core.println.call(null,"EXTERNAL QUERY END at ",(new Date()).toISOString());
claire_agent.api.update_query.call(null,qid,new cljs.core.PersistentArrayMap(null, 2, [new cljs.core.Keyword(null,"query-id","query-id",1474128842),qid,new cljs.core.Keyword(null,"status","status",-1997798413),"finished"], null));
return delay;
});})(_,qid,vec__14606,delay,query))
);
} else {
}
return cljs.core.get.call(null,new cljs.core.Keyword(null,"queries","queries",1446291995).cljs$core$IFn$_invoke$arity$1(cljs.core.deref.call(null,claire_agent.api._STAR_db_STAR_)),qid);
});
claire_agent.api.long_call.cljs$lang$maxFixedArity = (0);
/** @this {Function} */
claire_agent.api.long_call.cljs$lang$applyTo = (function (seq14604){
var self__4718__auto__ = this;
return self__4718__auto__.cljs$core$IFn$_invoke$arity$variadic(cljs.core.seq.call(null,seq14604));
});
claire_agent.api.request = (function claire_agent$api$request(session_id,query,record){
var c__11207__auto__ = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,((function (c__11207__auto__){
return (function (){
var f__11208__auto__ = (function (){var switch__11112__auto__ = ((function (c__11207__auto__){
return (function (state_14618){
var state_val_14619 = (state_14618[(1)]);
if((state_val_14619 === (1))){
var inst_14612 = [new cljs.core.Keyword(null,"session","session",1008279103),new cljs.core.Keyword(null,"endpoint","endpoint",447890044),new cljs.core.Keyword(null,"res","res",-1395007879)];
var inst_14613 = claire_agent.api.rfind.call(null,query,record);
var inst_14614 = [session_id,query,inst_14613];
var inst_14615 = cljs.core.PersistentHashMap.fromArrays(inst_14612,inst_14614);
var inst_14616 = claire_common.utils.err_or.call(null,inst_14615);
var state_14618__$1 = state_14618;
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_14618__$1,inst_14616);
} else {
return null;
}
});})(c__11207__auto__))
;
return ((function (switch__11112__auto__,c__11207__auto__){
return (function() {
var claire_agent$api$request_$_state_machine__11113__auto__ = null;
var claire_agent$api$request_$_state_machine__11113__auto____0 = (function (){
var statearr_14620 = [null,null,null,null,null,null,null];
(statearr_14620[(0)] = claire_agent$api$request_$_state_machine__11113__auto__);
(statearr_14620[(1)] = (1));
return statearr_14620;
});
var claire_agent$api$request_$_state_machine__11113__auto____1 = (function (state_14618){
while(true){
var ret_value__11114__auto__ = (function (){try{while(true){
var result__11115__auto__ = switch__11112__auto__.call(null,state_14618);
if(cljs.core.keyword_identical_QMARK_.call(null,result__11115__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__11115__auto__;
}
break;
}
}catch (e14621){if((e14621 instanceof Object)){
var ex__11116__auto__ = e14621;
var statearr_14622_14624 = state_14618;
(statearr_14622_14624[(5)] = ex__11116__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_14618);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e14621;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__11114__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__14625 = state_14618;
state_14618 = G__14625;
continue;
} else {
return ret_value__11114__auto__;
}
break;
}
});
claire_agent$api$request_$_state_machine__11113__auto__ = function(state_14618){
switch(arguments.length){
case 0:
return claire_agent$api$request_$_state_machine__11113__auto____0.call(this);
case 1:
return claire_agent$api$request_$_state_machine__11113__auto____1.call(this,state_14618);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
claire_agent$api$request_$_state_machine__11113__auto__.cljs$core$IFn$_invoke$arity$0 = claire_agent$api$request_$_state_machine__11113__auto____0;
claire_agent$api$request_$_state_machine__11113__auto__.cljs$core$IFn$_invoke$arity$1 = claire_agent$api$request_$_state_machine__11113__auto____1;
return claire_agent$api$request_$_state_machine__11113__auto__;
})()
;})(switch__11112__auto__,c__11207__auto__))
})();
var state__11209__auto__ = (function (){var statearr_14623 = f__11208__auto__.call(null);
(statearr_14623[(6)] = c__11207__auto__);
return statearr_14623;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__11209__auto__);
});})(c__11207__auto__))
);
return c__11207__auto__;
});
claire_agent.api.look_for_product = (function claire_agent$api$look_for_product(session_id,product){
var c__11207__auto__ = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,((function (c__11207__auto__){
return (function (){
var f__11208__auto__ = (function (){var switch__11112__auto__ = ((function (c__11207__auto__){
return (function (state_14654){
var state_val_14655 = (state_14654[(1)]);
if((state_val_14655 === (7))){
var inst_14628 = (state_14654[(7)]);
var inst_14637 = cljs.core.first.call(null,inst_14628);
var state_14654__$1 = state_14654;
var statearr_14656_14679 = state_14654__$1;
(statearr_14656_14679[(2)] = inst_14637);
(statearr_14656_14679[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14655 === (1))){
var inst_14626 = claire_agent.api.request.call(null,session_id,new cljs.core.Keyword(null,"products","products",1876973544),product);
var state_14654__$1 = state_14654;
return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_14654__$1,(2),inst_14626);
} else {
if((state_val_14655 === (4))){
var inst_14628 = (state_14654[(7)]);
var inst_14632 = new cljs.core.Keyword(null,"error","error",-978969032).cljs$core$IFn$_invoke$arity$1(inst_14628);
var state_14654__$1 = state_14654;
var statearr_14657_14680 = state_14654__$1;
(statearr_14657_14680[(2)] = inst_14632);
(statearr_14657_14680[(1)] = (5));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14655 === (13))){
var inst_14639 = (state_14654[(8)]);
var state_14654__$1 = state_14654;
var statearr_14658_14681 = state_14654__$1;
(statearr_14658_14681[(2)] = inst_14639);
(statearr_14658_14681[(1)] = (14));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14655 === (6))){
var inst_14628 = (state_14654[(7)]);
var state_14654__$1 = state_14654;
var statearr_14659_14682 = state_14654__$1;
(statearr_14659_14682[(2)] = inst_14628);
(statearr_14659_14682[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14655 === (3))){
var inst_14629 = (state_14654[(9)]);
var state_14654__$1 = state_14654;
var statearr_14660_14683 = state_14654__$1;
(statearr_14660_14683[(2)] = inst_14629);
(statearr_14660_14683[(1)] = (5));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14655 === (12))){
var inst_14645 = (state_14654[(10)]);
var state_14654__$1 = state_14654;
var statearr_14661_14684 = state_14654__$1;
(statearr_14661_14684[(2)] = inst_14645);
(statearr_14661_14684[(1)] = (14));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14655 === (2))){
var inst_14629 = (state_14654[(9)]);
var inst_14628 = (state_14654[(7)]);
var inst_14628__$1 = (state_14654[(2)]);
var inst_14629__$1 = new cljs.core.Keyword(null,"result","result",1415092211).cljs$core$IFn$_invoke$arity$1(inst_14628__$1);
var state_14654__$1 = (function (){var statearr_14662 = state_14654;
(statearr_14662[(9)] = inst_14629__$1);
(statearr_14662[(7)] = inst_14628__$1);
return statearr_14662;
})();
if(cljs.core.truth_(inst_14629__$1)){
var statearr_14663_14685 = state_14654__$1;
(statearr_14663_14685[(1)] = (3));
} else {
var statearr_14664_14686 = state_14654__$1;
(statearr_14664_14686[(1)] = (4));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14655 === (11))){
var inst_14651 = (state_14654[(2)]);
var inst_14652 = claire_common.utils.err_or.call(null,inst_14651);
var state_14654__$1 = state_14654;
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_14654__$1,inst_14652);
} else {
if((state_val_14655 === (9))){
var inst_14639 = (state_14654[(8)]);
var inst_14642 = new cljs.core.Keyword(null,"error","error",-978969032).cljs$core$IFn$_invoke$arity$1(inst_14639);
var inst_14643 = (function(){throw inst_14642})();
var state_14654__$1 = state_14654;
var statearr_14665_14687 = state_14654__$1;
(statearr_14665_14687[(2)] = inst_14643);
(statearr_14665_14687[(1)] = (11));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14655 === (5))){
var inst_14634 = (state_14654[(2)]);
var state_14654__$1 = state_14654;
if(cljs.core.truth_(inst_14634)){
var statearr_14666_14688 = state_14654__$1;
(statearr_14666_14688[(1)] = (6));
} else {
var statearr_14667_14689 = state_14654__$1;
(statearr_14667_14689[(1)] = (7));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14655 === (14))){
var inst_14649 = (state_14654[(2)]);
var state_14654__$1 = state_14654;
var statearr_14668_14690 = state_14654__$1;
(statearr_14668_14690[(2)] = inst_14649);
(statearr_14668_14690[(1)] = (11));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14655 === (10))){
var inst_14645 = (state_14654[(10)]);
var inst_14639 = (state_14654[(8)]);
var inst_14645__$1 = new cljs.core.Keyword(null,"result","result",1415092211).cljs$core$IFn$_invoke$arity$1(inst_14639);
var state_14654__$1 = (function (){var statearr_14669 = state_14654;
(statearr_14669[(10)] = inst_14645__$1);
return statearr_14669;
})();
if(cljs.core.truth_(inst_14645__$1)){
var statearr_14670_14691 = state_14654__$1;
(statearr_14670_14691[(1)] = (12));
} else {
var statearr_14671_14692 = state_14654__$1;
(statearr_14671_14692[(1)] = (13));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14655 === (8))){
var inst_14639 = (state_14654[(8)]);
var inst_14639__$1 = (state_14654[(2)]);
var inst_14640 = cljs.core.contains_QMARK_.call(null,inst_14639__$1,new cljs.core.Keyword(null,"error","error",-978969032));
var state_14654__$1 = (function (){var statearr_14672 = state_14654;
(statearr_14672[(8)] = inst_14639__$1);
return statearr_14672;
})();
if(inst_14640){
var statearr_14673_14693 = state_14654__$1;
(statearr_14673_14693[(1)] = (9));
} else {
var statearr_14674_14694 = state_14654__$1;
(statearr_14674_14694[(1)] = (10));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});})(c__11207__auto__))
;
return ((function (switch__11112__auto__,c__11207__auto__){
return (function() {
var claire_agent$api$look_for_product_$_state_machine__11113__auto__ = null;
var claire_agent$api$look_for_product_$_state_machine__11113__auto____0 = (function (){
var statearr_14675 = [null,null,null,null,null,null,null,null,null,null,null];
(statearr_14675[(0)] = claire_agent$api$look_for_product_$_state_machine__11113__auto__);
(statearr_14675[(1)] = (1));
return statearr_14675;
});
var claire_agent$api$look_for_product_$_state_machine__11113__auto____1 = (function (state_14654){
while(true){
var ret_value__11114__auto__ = (function (){try{while(true){
var result__11115__auto__ = switch__11112__auto__.call(null,state_14654);
if(cljs.core.keyword_identical_QMARK_.call(null,result__11115__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__11115__auto__;
}
break;
}
}catch (e14676){if((e14676 instanceof Object)){
var ex__11116__auto__ = e14676;
var statearr_14677_14695 = state_14654;
(statearr_14677_14695[(5)] = ex__11116__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_14654);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e14676;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__11114__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__14696 = state_14654;
state_14654 = G__14696;
continue;
} else {
return ret_value__11114__auto__;
}
break;
}
});
claire_agent$api$look_for_product_$_state_machine__11113__auto__ = function(state_14654){
switch(arguments.length){
case 0:
return claire_agent$api$look_for_product_$_state_machine__11113__auto____0.call(this);
case 1:
return claire_agent$api$look_for_product_$_state_machine__11113__auto____1.call(this,state_14654);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
claire_agent$api$look_for_product_$_state_machine__11113__auto__.cljs$core$IFn$_invoke$arity$0 = claire_agent$api$look_for_product_$_state_machine__11113__auto____0;
claire_agent$api$look_for_product_$_state_machine__11113__auto__.cljs$core$IFn$_invoke$arity$1 = claire_agent$api$look_for_product_$_state_machine__11113__auto____1;
return claire_agent$api$look_for_product_$_state_machine__11113__auto__;
})()
;})(switch__11112__auto__,c__11207__auto__))
})();
var state__11209__auto__ = (function (){var statearr_14678 = f__11208__auto__.call(null);
(statearr_14678[(6)] = c__11207__auto__);
return statearr_14678;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__11209__auto__);
});})(c__11207__auto__))
);
return c__11207__auto__;
});
claire_agent.api.look_for_order = (function claire_agent$api$look_for_order(session_id,order){
var c__11207__auto__ = cljs.core.async.chan.call(null,(1));
cljs.core.async.impl.dispatch.run.call(null,((function (c__11207__auto__){
return (function (){
var f__11208__auto__ = (function (){var switch__11112__auto__ = ((function (c__11207__auto__){
return (function (state_14725){
var state_val_14726 = (state_14725[(1)]);
if((state_val_14726 === (7))){
var inst_14699 = (state_14725[(7)]);
var inst_14708 = cljs.core.first.call(null,inst_14699);
var state_14725__$1 = state_14725;
var statearr_14727_14750 = state_14725__$1;
(statearr_14727_14750[(2)] = inst_14708);
(statearr_14727_14750[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14726 === (1))){
var inst_14697 = claire_agent.api.request.call(null,session_id,new cljs.core.Keyword(null,"orders","orders",-1032870176),order);
var state_14725__$1 = state_14725;
return cljs.core.async.impl.ioc_helpers.take_BANG_.call(null,state_14725__$1,(2),inst_14697);
} else {
if((state_val_14726 === (4))){
var inst_14699 = (state_14725[(7)]);
var inst_14703 = new cljs.core.Keyword(null,"error","error",-978969032).cljs$core$IFn$_invoke$arity$1(inst_14699);
var state_14725__$1 = state_14725;
var statearr_14728_14751 = state_14725__$1;
(statearr_14728_14751[(2)] = inst_14703);
(statearr_14728_14751[(1)] = (5));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14726 === (13))){
var inst_14710 = (state_14725[(8)]);
var state_14725__$1 = state_14725;
var statearr_14729_14752 = state_14725__$1;
(statearr_14729_14752[(2)] = inst_14710);
(statearr_14729_14752[(1)] = (14));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14726 === (6))){
var inst_14699 = (state_14725[(7)]);
var state_14725__$1 = state_14725;
var statearr_14730_14753 = state_14725__$1;
(statearr_14730_14753[(2)] = inst_14699);
(statearr_14730_14753[(1)] = (8));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14726 === (3))){
var inst_14700 = (state_14725[(9)]);
var state_14725__$1 = state_14725;
var statearr_14731_14754 = state_14725__$1;
(statearr_14731_14754[(2)] = inst_14700);
(statearr_14731_14754[(1)] = (5));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14726 === (12))){
var inst_14716 = (state_14725[(10)]);
var state_14725__$1 = state_14725;
var statearr_14732_14755 = state_14725__$1;
(statearr_14732_14755[(2)] = inst_14716);
(statearr_14732_14755[(1)] = (14));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14726 === (2))){
var inst_14699 = (state_14725[(7)]);
var inst_14700 = (state_14725[(9)]);
var inst_14699__$1 = (state_14725[(2)]);
var inst_14700__$1 = new cljs.core.Keyword(null,"result","result",1415092211).cljs$core$IFn$_invoke$arity$1(inst_14699__$1);
var state_14725__$1 = (function (){var statearr_14733 = state_14725;
(statearr_14733[(7)] = inst_14699__$1);
(statearr_14733[(9)] = inst_14700__$1);
return statearr_14733;
})();
if(cljs.core.truth_(inst_14700__$1)){
var statearr_14734_14756 = state_14725__$1;
(statearr_14734_14756[(1)] = (3));
} else {
var statearr_14735_14757 = state_14725__$1;
(statearr_14735_14757[(1)] = (4));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14726 === (11))){
var inst_14722 = (state_14725[(2)]);
var inst_14723 = claire_common.utils.err_or.call(null,inst_14722);
var state_14725__$1 = state_14725;
return cljs.core.async.impl.ioc_helpers.return_chan.call(null,state_14725__$1,inst_14723);
} else {
if((state_val_14726 === (9))){
var inst_14710 = (state_14725[(8)]);
var inst_14713 = new cljs.core.Keyword(null,"error","error",-978969032).cljs$core$IFn$_invoke$arity$1(inst_14710);
var inst_14714 = (function(){throw inst_14713})();
var state_14725__$1 = state_14725;
var statearr_14736_14758 = state_14725__$1;
(statearr_14736_14758[(2)] = inst_14714);
(statearr_14736_14758[(1)] = (11));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14726 === (5))){
var inst_14705 = (state_14725[(2)]);
var state_14725__$1 = state_14725;
if(cljs.core.truth_(inst_14705)){
var statearr_14737_14759 = state_14725__$1;
(statearr_14737_14759[(1)] = (6));
} else {
var statearr_14738_14760 = state_14725__$1;
(statearr_14738_14760[(1)] = (7));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14726 === (14))){
var inst_14720 = (state_14725[(2)]);
var state_14725__$1 = state_14725;
var statearr_14739_14761 = state_14725__$1;
(statearr_14739_14761[(2)] = inst_14720);
(statearr_14739_14761[(1)] = (11));
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14726 === (10))){
var inst_14710 = (state_14725[(8)]);
var inst_14716 = (state_14725[(10)]);
var inst_14716__$1 = new cljs.core.Keyword(null,"result","result",1415092211).cljs$core$IFn$_invoke$arity$1(inst_14710);
var state_14725__$1 = (function (){var statearr_14740 = state_14725;
(statearr_14740[(10)] = inst_14716__$1);
return statearr_14740;
})();
if(cljs.core.truth_(inst_14716__$1)){
var statearr_14741_14762 = state_14725__$1;
(statearr_14741_14762[(1)] = (12));
} else {
var statearr_14742_14763 = state_14725__$1;
(statearr_14742_14763[(1)] = (13));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
if((state_val_14726 === (8))){
var inst_14710 = (state_14725[(8)]);
var inst_14710__$1 = (state_14725[(2)]);
var inst_14711 = cljs.core.contains_QMARK_.call(null,inst_14710__$1,new cljs.core.Keyword(null,"error","error",-978969032));
var state_14725__$1 = (function (){var statearr_14743 = state_14725;
(statearr_14743[(8)] = inst_14710__$1);
return statearr_14743;
})();
if(inst_14711){
var statearr_14744_14764 = state_14725__$1;
(statearr_14744_14764[(1)] = (9));
} else {
var statearr_14745_14765 = state_14725__$1;
(statearr_14745_14765[(1)] = (10));
}
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
return null;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
});})(c__11207__auto__))
;
return ((function (switch__11112__auto__,c__11207__auto__){
return (function() {
var claire_agent$api$look_for_order_$_state_machine__11113__auto__ = null;
var claire_agent$api$look_for_order_$_state_machine__11113__auto____0 = (function (){
var statearr_14746 = [null,null,null,null,null,null,null,null,null,null,null];
(statearr_14746[(0)] = claire_agent$api$look_for_order_$_state_machine__11113__auto__);
(statearr_14746[(1)] = (1));
return statearr_14746;
});
var claire_agent$api$look_for_order_$_state_machine__11113__auto____1 = (function (state_14725){
while(true){
var ret_value__11114__auto__ = (function (){try{while(true){
var result__11115__auto__ = switch__11112__auto__.call(null,state_14725);
if(cljs.core.keyword_identical_QMARK_.call(null,result__11115__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
continue;
} else {
return result__11115__auto__;
}
break;
}
}catch (e14747){if((e14747 instanceof Object)){
var ex__11116__auto__ = e14747;
var statearr_14748_14766 = state_14725;
(statearr_14748_14766[(5)] = ex__11116__auto__);
cljs.core.async.impl.ioc_helpers.process_exception.call(null,state_14725);
return new cljs.core.Keyword(null,"recur","recur",-437573268);
} else {
throw e14747;
}
}})();
if(cljs.core.keyword_identical_QMARK_.call(null,ret_value__11114__auto__,new cljs.core.Keyword(null,"recur","recur",-437573268))){
var G__14767 = state_14725;
state_14725 = G__14767;
continue;
} else {
return ret_value__11114__auto__;
}
break;
}
});
claire_agent$api$look_for_order_$_state_machine__11113__auto__ = function(state_14725){
switch(arguments.length){
case 0:
return claire_agent$api$look_for_order_$_state_machine__11113__auto____0.call(this);
case 1:
return claire_agent$api$look_for_order_$_state_machine__11113__auto____1.call(this,state_14725);
}
throw(new Error('Invalid arity: ' + arguments.length));
};
claire_agent$api$look_for_order_$_state_machine__11113__auto__.cljs$core$IFn$_invoke$arity$0 = claire_agent$api$look_for_order_$_state_machine__11113__auto____0;
claire_agent$api$look_for_order_$_state_machine__11113__auto__.cljs$core$IFn$_invoke$arity$1 = claire_agent$api$look_for_order_$_state_machine__11113__auto____1;
return claire_agent$api$look_for_order_$_state_machine__11113__auto__;
})()
;})(switch__11112__auto__,c__11207__auto__))
})();
var state__11209__auto__ = (function (){var statearr_14749 = f__11208__auto__.call(null);
(statearr_14749[(6)] = c__11207__auto__);
return statearr_14749;
})();
return cljs.core.async.impl.ioc_helpers.run_state_machine_wrapped.call(null,state__11209__auto__);
});})(c__11207__auto__))
);
return c__11207__auto__;
});
claire_agent.api.start_query = (function claire_agent$api$start_query(session_id,query){
return claire_agent.api.long_call.call(null,(3500),query);
});
claire_agent.api.query = (function claire_agent$api$query(session_id,query){
return claire_agent.api.long_call.call(null,null,query);
});
claire_agent.api.exports = new cljs.core.PersistentArrayMap(null, 4, [new cljs.core.Keyword(null,"lookForProduct","lookForProduct",-710818009),claire_common.utils.make_promise.call(null,claire_agent.api.look_for_product),new cljs.core.Keyword(null,"lookForOrder","lookForOrder",-1359094040),claire_common.utils.make_promise.call(null,claire_agent.api.look_for_order),new cljs.core.Keyword(null,"startQuery","startQuery",-1898648073),claire_common.utils.js_wrapper.call(null,claire_agent.api.start_query),new cljs.core.Keyword(null,"query","query",-1288509510),claire_common.utils.js_wrapper.call(null,claire_agent.api.query)], null);
//# sourceMappingURL=api.js.map?rel=1571758970133