├── .gitignore ├── .gitmodules ├── .pylintrc ├── LICENSE ├── README.md ├── configs ├── config-mixins │ ├── bc-rl.txt │ ├── image_position_scorer.txt │ ├── linear-program-policy.txt │ ├── natural-language.txt │ ├── no-conv.txt │ ├── no-demo-filter.txt │ ├── no-shortcut.txt │ ├── only-last-experience.txt │ ├── perfect-oracle.txt │ ├── program-oracle.txt │ ├── record-screenshots.txt │ ├── single-instance.txt │ ├── use-whole-episode.txt │ └── wait-300ms.txt ├── debug-base.txt ├── default-base.txt ├── flight-base.txt ├── profile-base.txt └── task-mixins │ ├── book-flight-nodelay.txt │ ├── choose-date-nodelay.txt │ ├── click-checkboxes-large.txt │ ├── click-checkboxes-soft.txt │ ├── click-checkboxes.txt │ ├── click-tab-2-hard.txt │ ├── email-inbox-forward-nl.txt │ ├── email-inbox-nl-turk.txt │ ├── enter-time.txt │ ├── flight.AA.txt │ ├── flight.Alaska-auto-medium.txt │ ├── flight.Alaska-auto.txt │ ├── flight.Alaska.txt │ ├── social-media.txt │ ├── use-autocomplete-nodelay.txt │ ├── use-autocomplete.txt │ └── use-spinner.txt ├── diff.py ├── docker ├── .tmux.conf ├── Dockerfile └── chrome_launcher.sh ├── docs ├── .gitignore ├── README.md ├── bootstrap │ ├── __init__.py │ ├── base.html │ ├── content.html │ ├── css │ │ ├── base.css │ │ ├── bootstrap-3.3.7.min.css │ │ ├── font-awesome-4.0.3.css │ │ └── highlight.css │ ├── fonts │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.svg │ │ ├── fontawesome-webfont.ttf │ │ └── fontawesome-webfont.woff │ ├── img │ │ └── favicon.ico │ ├── js │ │ ├── base.js │ │ ├── bootstrap-3.3.7.min.js │ │ ├── highlight.pack.js │ │ └── jquery-3.6.4.min.js │ ├── main.html │ ├── nav.html │ └── toc.html ├── cinder │ ├── 404.html │ ├── __init__.py │ ├── base.html │ ├── content.html │ ├── css │ │ ├── base.css │ │ ├── bootstrap-custom.css │ │ ├── bootstrap-custom.min.css │ │ ├── cinder.css │ │ ├── font-awesome-4.0.3.css │ │ └── highlight.css │ ├── fonts │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.svg │ │ ├── fontawesome-webfont.ttf │ │ └── fontawesome-webfont.woff │ ├── img │ │ ├── favicon.ico │ │ ├── grid1.png │ │ ├── grid10.png │ │ ├── grid11.png │ │ ├── grid12.png │ │ ├── grid13.png │ │ ├── grid14.png │ │ ├── grid15.png │ │ ├── grid16.png │ │ ├── grid17.png │ │ ├── grid18.png │ │ ├── grid19.png │ │ ├── grid2.png │ │ ├── grid20.png │ │ ├── grid3.png │ │ ├── grid4.png │ │ ├── grid5.png │ │ ├── grid6.png │ │ ├── grid7.png │ │ ├── grid8.png │ │ └── grid9.png │ ├── js │ │ ├── base.js │ │ ├── bootstrap-3.0.3.min.js │ │ ├── highlight.pack.js │ │ └── jquery-3.6.4.min.js │ ├── nav-sub.html │ ├── nav.html │ └── toc.html ├── docs │ ├── envs │ │ ├── environment.md │ │ └── world-of-bits.md │ ├── experiment.md │ ├── index.md │ ├── policy │ │ ├── basics.md │ │ └── miniwob.md │ └── setup.md └── mkdocs.yml ├── gtd ├── __init__.py ├── chrono.py ├── codalab.py ├── git_utils.py ├── graph.py ├── io.py ├── lm.py ├── log.py ├── ml │ ├── __init__.py │ ├── tests │ │ ├── __init__.py │ │ ├── test_utils.py │ │ └── test_vocab.py │ ├── tf │ │ ├── __init__.py │ │ ├── framework.py │ │ ├── model.py │ │ ├── profile.py │ │ ├── seq_batch.py │ │ ├── tests │ │ │ ├── __init__.py │ │ │ ├── test_framework.py │ │ │ ├── test_model.py │ │ │ ├── test_seq_batch.py │ │ │ └── test_utils.py │ │ ├── training_run.py │ │ └── utils.py │ ├── torch │ │ ├── __init__.py │ │ ├── alignments.py │ │ ├── attention.py │ │ ├── checkpoints.py │ │ ├── decoder.py │ │ ├── decoder_cell.py │ │ ├── feed_forward.py │ │ ├── multilayered_decoder_cell.py │ │ ├── recurrent.py │ │ ├── seq_batch.py │ │ ├── simple_decoder_cell.py │ │ ├── source_encoder.py │ │ ├── tests │ │ │ ├── __init__.py │ │ │ ├── test_alignments.py │ │ │ ├── test_attention.py │ │ │ ├── test_recurrent.py │ │ │ ├── test_seq_batch.py │ │ │ ├── test_source_encoder.py │ │ │ ├── test_token_embedder.py │ │ │ └── test_utils.py │ │ ├── token_embedder.py │ │ ├── training_run.py │ │ └── utils.py │ ├── training_run.py │ ├── training_run_viewer.py │ ├── utils.py │ └── vocab.py ├── persist.py ├── plot.py ├── postgres.py ├── profile_imports.py ├── tests │ ├── __init__.py │ ├── test_graph.py │ ├── test_io.py │ ├── test_lm.py │ ├── test_log.py │ ├── test_persist.py │ └── test_utils.py ├── text.py ├── turk.py └── utils.py ├── launch_jobs.py ├── main.py ├── miniwob-sandbox ├── requirements.txt ├── run_docker.py ├── script_tools.py ├── third-party ├── gtd │ ├── .gitignore │ ├── README.md │ ├── gtd │ │ ├── __init__.py │ │ ├── chrono.py │ │ ├── codalab.py │ │ ├── git_utils.py │ │ ├── graph.py │ │ ├── io.py │ │ ├── lm.py │ │ ├── log.py │ │ ├── ml │ │ │ ├── __init__.py │ │ │ ├── tests │ │ │ │ ├── __init__.py │ │ │ │ ├── test_utils.py │ │ │ │ └── test_vocab.py │ │ │ ├── tf │ │ │ │ ├── __init__.py │ │ │ │ ├── framework.py │ │ │ │ ├── model.py │ │ │ │ ├── profile.py │ │ │ │ ├── seq_batch.py │ │ │ │ ├── tests │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── test_framework.py │ │ │ │ │ ├── test_model.py │ │ │ │ │ ├── test_seq_batch.py │ │ │ │ │ └── test_utils.py │ │ │ │ ├── training_run.py │ │ │ │ └── utils.py │ │ │ ├── torch │ │ │ │ ├── __init__.py │ │ │ │ ├── alignments.py │ │ │ │ ├── attention.py │ │ │ │ ├── checkpoints.py │ │ │ │ ├── decoder.py │ │ │ │ ├── decoder_cell.py │ │ │ │ ├── feed_forward.py │ │ │ │ ├── multilayered_decoder_cell.py │ │ │ │ ├── recurrent.py │ │ │ │ ├── seq_batch.py │ │ │ │ ├── simple_decoder_cell.py │ │ │ │ ├── source_encoder.py │ │ │ │ ├── tests │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── test_alignments.py │ │ │ │ │ ├── test_attention.py │ │ │ │ │ ├── test_recurrent.py │ │ │ │ │ ├── test_seq_batch.py │ │ │ │ │ ├── test_source_encoder.py │ │ │ │ │ ├── test_token_embedder.py │ │ │ │ │ └── test_utils.py │ │ │ │ ├── token_embedder.py │ │ │ │ ├── training_run.py │ │ │ │ └── utils.py │ │ │ ├── training_run.py │ │ │ ├── training_run_viewer.py │ │ │ ├── utils.py │ │ │ └── vocab.py │ │ ├── persist.py │ │ ├── plot.py │ │ ├── postgres.py │ │ ├── profile_imports.py │ │ ├── tests │ │ │ ├── __init__.py │ │ │ ├── test_graph.py │ │ │ ├── test_io.py │ │ │ ├── test_lm.py │ │ │ ├── test_log.py │ │ │ ├── test_persist.py │ │ │ └── test_utils.py │ │ ├── text.py │ │ ├── turk.py │ │ └── utils.py │ ├── requirements.txt │ ├── scripts │ │ ├── git_logs.py │ │ ├── run_docker.py │ │ └── run_nlpsub.py │ └── setup.py └── miniwob-sandbox │ ├── .gitignore │ ├── README.md │ ├── bot │ ├── click-test-2-bot.py │ └── parallel-bot.py │ ├── docker │ └── Dockerfile │ ├── html │ ├── .gitignore │ ├── common │ │ ├── shapes.js │ │ ├── special │ │ │ ├── book-flight │ │ │ │ └── domestic.js │ │ │ ├── checkbox-numbers │ │ │ │ ├── ch_0.png │ │ │ │ ├── ch_1.png │ │ │ │ ├── ch_2.png │ │ │ │ ├── ch_3.png │ │ │ │ ├── ch_4.png │ │ │ │ ├── ch_5.png │ │ │ │ ├── ch_6.png │ │ │ │ ├── ch_7.png │ │ │ │ ├── ch_8.png │ │ │ │ └── ch_9.png │ │ │ ├── click-pie │ │ │ │ ├── raphael.icons.min.js │ │ │ │ ├── raphael.min.js │ │ │ │ └── wheelnav.min.js │ │ │ ├── drag-cube │ │ │ │ ├── blank.png │ │ │ │ ├── cube.css │ │ │ │ └── cube.js │ │ │ ├── email-inbox-nl │ │ │ │ └── templates.js │ │ │ ├── email-inbox │ │ │ │ ├── delete.png │ │ │ │ ├── email-inbox.css │ │ │ │ ├── forward.png │ │ │ │ ├── left-arrow-white.png │ │ │ │ ├── left-arrow.png │ │ │ │ ├── reply.png │ │ │ │ ├── search.png │ │ │ │ ├── send.png │ │ │ │ ├── star-clicked.png │ │ │ │ └── star.png │ │ │ ├── navigate-tree │ │ │ │ ├── images │ │ │ │ │ ├── ajax-loader.gif │ │ │ │ │ ├── file.gif │ │ │ │ │ ├── folder-closed.gif │ │ │ │ │ ├── folder.gif │ │ │ │ │ ├── minus.gif │ │ │ │ │ ├── plus.gif │ │ │ │ │ ├── treeview-black-line.gif │ │ │ │ │ ├── treeview-black.gif │ │ │ │ │ ├── treeview-default-line.gif │ │ │ │ │ ├── treeview-default.gif │ │ │ │ │ ├── treeview-famfamfam-line.gif │ │ │ │ │ ├── treeview-famfamfam.gif │ │ │ │ │ ├── treeview-gray-line.gif │ │ │ │ │ ├── treeview-gray.gif │ │ │ │ │ ├── treeview-red-line.gif │ │ │ │ │ └── treeview-red.gif │ │ │ │ ├── jquery.treeview.css │ │ │ │ └── jquery.treeview.min.js │ │ │ ├── search-engine │ │ │ │ └── jquery.twbsPagination.min.js │ │ │ ├── social-media │ │ │ │ ├── like-hover.png │ │ │ │ ├── like.png │ │ │ │ ├── more-hover.png │ │ │ │ ├── more.png │ │ │ │ ├── reply-hover.png │ │ │ │ ├── reply.png │ │ │ │ ├── retweet-hover.png │ │ │ │ ├── retweet.png │ │ │ │ ├── share-hover.png │ │ │ │ └── share.png │ │ │ ├── text-editor │ │ │ │ ├── quill.min.js │ │ │ │ └── quill.snow.css │ │ │ └── tic-tac-toe │ │ │ │ ├── o.png │ │ │ │ └── x.png │ │ └── ui_utils.js │ ├── core │ │ ├── core.css │ │ ├── core.js │ │ ├── d3.v3.min.js │ │ ├── jquery-ui │ │ │ ├── external │ │ │ │ └── jquery │ │ │ │ │ └── jquery.js │ │ │ ├── images │ │ │ │ ├── ui-icons_444444_256x240.png │ │ │ │ ├── ui-icons_555555_256x240.png │ │ │ │ ├── ui-icons_777620_256x240.png │ │ │ │ ├── ui-icons_777777_256x240.png │ │ │ │ ├── ui-icons_cc0000_256x240.png │ │ │ │ └── ui-icons_ffffff_256x240.png │ │ │ ├── jquery-ui.min.css │ │ │ ├── jquery-ui.min.js │ │ │ ├── jquery-ui.structure.min.css │ │ │ └── jquery-ui.theme.min.css │ │ ├── jscolor.min.js │ │ └── record.js │ ├── flight │ │ ├── AA │ │ │ ├── apps │ │ │ │ └── common │ │ │ │ │ └── js │ │ │ │ │ ├── aacom.js │ │ │ │ │ ├── aacomDevice.js │ │ │ │ │ ├── airportcode.js │ │ │ │ │ ├── cookieconsent.js │ │ │ │ │ ├── jquery │ │ │ │ │ └── aacom │ │ │ │ │ │ ├── plugins │ │ │ │ │ │ ├── aaAirportAutoComplete.js │ │ │ │ │ │ ├── aaCache.js │ │ │ │ │ │ ├── aaCookie.js │ │ │ │ │ │ ├── aaCountryLanSelect.js │ │ │ │ │ │ ├── aaDropdownPanel.js │ │ │ │ │ │ ├── aaFooterAds.js │ │ │ │ │ │ └── aaTextBoxMessage.js │ │ │ │ │ │ └── utilities │ │ │ │ │ │ ├── aaUtilities-2.1.js │ │ │ │ │ │ └── aaUtils.js │ │ │ │ │ └── wa.js │ │ │ ├── content │ │ │ │ ├── common │ │ │ │ │ └── css │ │ │ │ │ │ └── v3 │ │ │ │ │ │ ├── core.css │ │ │ │ │ │ ├── jquery-ui-1.10-aa.css │ │ │ │ │ │ ├── reservation │ │ │ │ │ │ └── findFlights │ │ │ │ │ │ │ └── mobile │ │ │ │ │ │ │ └── findFlights.css │ │ │ │ │ │ └── responsive.css │ │ │ │ ├── fonts │ │ │ │ │ ├── american-v2 │ │ │ │ │ │ ├── americansans-bold.woff │ │ │ │ │ │ ├── americansans-light.woff │ │ │ │ │ │ ├── americansans-medium.woff │ │ │ │ │ │ └── americansans-regular.woff │ │ │ │ │ └── icons │ │ │ │ │ │ └── american-icons-v4-4.woff │ │ │ │ └── images │ │ │ │ │ ├── chrome │ │ │ │ │ ├── icons │ │ │ │ │ │ └── loading.gif │ │ │ │ │ └── rebrand │ │ │ │ │ │ ├── aa-flight-icon.png │ │ │ │ │ │ ├── aa-icons-flags-sprite.png │ │ │ │ │ │ ├── aa-logo.png │ │ │ │ │ │ ├── down-arrow.png │ │ │ │ │ │ ├── favicon.png │ │ │ │ │ │ ├── oneworld.png │ │ │ │ │ │ ├── shadow-down.png │ │ │ │ │ │ ├── shadow-vertical-150.png │ │ │ │ │ │ ├── shadow12-down.png │ │ │ │ │ │ ├── shadow12-up.png │ │ │ │ │ │ └── shadow3-down.png │ │ │ │ │ └── graphics │ │ │ │ │ └── icons │ │ │ │ │ └── aa-jqueryUIicons-sprite.png │ │ │ ├── dataset-AA.js │ │ │ ├── index.html │ │ │ ├── js │ │ │ │ ├── aa │ │ │ │ │ ├── common │ │ │ │ │ │ ├── aa-utility-menu.js │ │ │ │ │ │ ├── aacom-ui-1.0.0.js │ │ │ │ │ │ └── core-2.0.0.js │ │ │ │ │ ├── modules │ │ │ │ │ │ ├── airportLookup.js │ │ │ │ │ │ ├── ajax.js │ │ │ │ │ │ ├── browserdetect.js │ │ │ │ │ │ ├── commonsetup.js │ │ │ │ │ │ ├── mobileDatePicker.js │ │ │ │ │ │ ├── utilities.js │ │ │ │ │ │ └── widgets.js │ │ │ │ │ ├── plugins │ │ │ │ │ │ └── noBounce.js │ │ │ │ │ └── shopping │ │ │ │ │ │ └── mobileSearchFlights.js │ │ │ │ └── libs │ │ │ │ │ ├── jquery │ │ │ │ │ ├── jquery-1.11.1.min.js │ │ │ │ │ ├── jquery-migrate-1.2.1.min.js │ │ │ │ │ └── ui │ │ │ │ │ │ └── 1.10 │ │ │ │ │ │ ├── i18n │ │ │ │ │ │ └── jquery.ui.datepicker-en-aa.js │ │ │ │ │ │ └── jquery-ui.min.js │ │ │ │ │ └── modernizr-2.8.1.js │ │ │ ├── original.html │ │ │ ├── surrogate │ │ │ │ ├── airportLookup.js │ │ │ │ └── airports.json │ │ │ └── wrapper.html │ │ ├── Alaska-auto-medium │ │ │ ├── images │ │ │ │ ├── aura.png │ │ │ │ ├── cal3.png │ │ │ │ ├── chkboxes3.png │ │ │ │ ├── clear_text2.png │ │ │ │ ├── collapse.png │ │ │ │ ├── expand.png │ │ │ │ ├── flight_arrow.png │ │ │ │ ├── geo.png │ │ │ │ ├── home.png │ │ │ │ ├── info2.png │ │ │ │ ├── leftright.png │ │ │ │ ├── logo2.png │ │ │ │ └── logos │ │ │ │ │ ├── AA.png │ │ │ │ │ ├── AS.png │ │ │ │ │ ├── DL.png │ │ │ │ │ └── VX.png │ │ │ ├── index.html │ │ │ ├── mobileweb-v3-28-6227-21813.css │ │ │ ├── scripts │ │ │ │ ├── datepickr.js │ │ │ │ ├── main.js │ │ │ │ └── shopbook.js │ │ │ ├── stylesheets │ │ │ │ └── circular │ │ │ │ │ ├── ASCircularWeb-Bold.woff │ │ │ │ │ └── ASCircularWeb-Book.woff │ │ │ ├── surrogate │ │ │ │ ├── airportLookup.js │ │ │ │ └── airports.json │ │ │ └── wrapper.html │ │ ├── Alaska-auto │ │ │ ├── images │ │ │ │ ├── aura.png │ │ │ │ ├── cal3.png │ │ │ │ ├── chkboxes3.png │ │ │ │ ├── clear_text2.png │ │ │ │ ├── collapse.png │ │ │ │ ├── expand.png │ │ │ │ ├── flight_arrow.png │ │ │ │ ├── geo.png │ │ │ │ ├── home.png │ │ │ │ ├── info2.png │ │ │ │ ├── leftright.png │ │ │ │ ├── logo2.png │ │ │ │ └── logos │ │ │ │ │ ├── AA.png │ │ │ │ │ ├── AS.png │ │ │ │ │ ├── DL.png │ │ │ │ │ └── VX.png │ │ │ ├── index.html │ │ │ ├── mobileweb-v3-28-6227-21813.css │ │ │ ├── scripts │ │ │ │ ├── datepickr.js │ │ │ │ ├── main.js │ │ │ │ └── shopbook.js │ │ │ ├── stylesheets │ │ │ │ └── circular │ │ │ │ │ ├── ASCircularWeb-Bold.woff │ │ │ │ │ └── ASCircularWeb-Book.woff │ │ │ ├── surrogate │ │ │ │ ├── airportLookup.js │ │ │ │ └── airports.json │ │ │ └── wrapper.html │ │ ├── Alaska │ │ │ ├── dataset-Alaska.js │ │ │ ├── images │ │ │ │ ├── aura.png │ │ │ │ ├── cal3.png │ │ │ │ ├── chkboxes3.png │ │ │ │ ├── clear_text2.png │ │ │ │ ├── collapse.png │ │ │ │ ├── expand.png │ │ │ │ ├── flight_arrow.png │ │ │ │ ├── geo.png │ │ │ │ ├── home.png │ │ │ │ ├── info2.png │ │ │ │ ├── leftright.png │ │ │ │ ├── logo2.png │ │ │ │ └── logos │ │ │ │ │ ├── AA.png │ │ │ │ │ ├── AS.png │ │ │ │ │ ├── DL.png │ │ │ │ │ └── VX.png │ │ │ ├── index.html │ │ │ ├── mobileweb-v3-28-6227-21813.css │ │ │ ├── original.html │ │ │ ├── scripts │ │ │ │ ├── datepickr.js │ │ │ │ ├── main.js │ │ │ │ └── shopbook.js │ │ │ ├── stylesheets │ │ │ │ └── circular │ │ │ │ │ ├── ASCircularWeb-Bold.woff │ │ │ │ │ └── ASCircularWeb-Book.woff │ │ │ ├── surrogate │ │ │ │ ├── airportLookup.js │ │ │ │ └── airports.json │ │ │ └── wrapper.html │ │ └── flight-common │ │ │ ├── inject.js │ │ │ ├── wrapper.css │ │ │ └── wrapper.js │ ├── http-serve │ └── miniwob │ │ ├── bisect-angle.html │ │ ├── book-flight-nodelay.html │ │ ├── book-flight.html │ │ ├── chase-circle.html │ │ ├── choose-date-easy.html │ │ ├── choose-date-medium.html │ │ ├── choose-date-nodelay.html │ │ ├── choose-date.html │ │ ├── choose-list.html │ │ ├── circle-center.html │ │ ├── click-button-sequence.html │ │ ├── click-button.html │ │ ├── click-checkboxes-large.html │ │ ├── click-checkboxes-soft.html │ │ ├── click-checkboxes-transfer.html │ │ ├── click-checkboxes.html │ │ ├── click-collapsible-2-nodelay.html │ │ ├── click-collapsible-2.html │ │ ├── click-collapsible-nodelay.html │ │ ├── click-collapsible.html │ │ ├── click-color.html │ │ ├── click-dialog-2.html │ │ ├── click-dialog.html │ │ ├── click-link.html │ │ ├── click-menu-2.html │ │ ├── click-menu.html │ │ ├── click-option.html │ │ ├── click-pie-nodelay.html │ │ ├── click-pie.html │ │ ├── click-scroll-list.html │ │ ├── click-shades.html │ │ ├── click-shape.html │ │ ├── click-tab-2-easy.html │ │ ├── click-tab-2-hard.html │ │ ├── click-tab-2-medium.html │ │ ├── click-tab-2.html │ │ ├── click-tab.html │ │ ├── click-test-2.html │ │ ├── click-test-transfer.html │ │ ├── click-test.html │ │ ├── click-widget.html │ │ ├── copy-paste-2.html │ │ ├── copy-paste.html │ │ ├── count-shape.html │ │ ├── count-sides.html │ │ ├── drag-box.html │ │ ├── drag-cube.html │ │ ├── drag-item.html │ │ ├── drag-items-grid.html │ │ ├── drag-items.html │ │ ├── drag-shapes.html │ │ ├── drag-sort-numbers.html │ │ ├── email-inbox-delete.html │ │ ├── email-inbox-forward-nl-turk.html │ │ ├── email-inbox-forward-nl.html │ │ ├── email-inbox-forward.html │ │ ├── email-inbox-important.html │ │ ├── email-inbox-nl-turk.html │ │ ├── email-inbox-noscroll.html │ │ ├── email-inbox-reply.html │ │ ├── email-inbox-star-reply.html │ │ ├── email-inbox.html │ │ ├── enter-date.html │ │ ├── enter-password.html │ │ ├── enter-text-2.html │ │ ├── enter-text-dynamic.html │ │ ├── enter-text.html │ │ ├── enter-time.html │ │ ├── find-midpoint.html │ │ ├── find-word.html │ │ ├── focus-text-2.html │ │ ├── focus-text.html │ │ ├── grid-coordinate.html │ │ ├── guess-number.html │ │ ├── highlight-text-2.html │ │ ├── highlight-text.html │ │ ├── identify-shape.html │ │ ├── login-user-popup.html │ │ ├── login-user.html │ │ ├── moving-items.html │ │ ├── multi-layouts.html │ │ ├── multi-orderings.html │ │ ├── navigate-tree.html │ │ ├── number-checkboxes.html │ │ ├── read-table-2.html │ │ ├── read-table.html │ │ ├── resize-textarea.html │ │ ├── right-angle.html │ │ ├── scroll-text-2.html │ │ ├── scroll-text.html │ │ ├── search-engine.html │ │ ├── simon-says.html │ │ ├── simple-algebra.html │ │ ├── simple-arithmetic.html │ │ ├── social-media-all.html │ │ ├── social-media-some.html │ │ ├── social-media.html │ │ ├── terminal.html │ │ ├── text-editor.html │ │ ├── text-transform.html │ │ ├── tic-tac-toe.html │ │ ├── unicode-test.html │ │ ├── use-autocomplete-nodelay.html │ │ ├── use-autocomplete.html │ │ ├── use-colorwheel-2.html │ │ ├── use-colorwheel.html │ │ ├── use-slider-2.html │ │ ├── use-slider.html │ │ ├── use-spinner.html │ │ └── visual-addition.html │ ├── record.py │ ├── tasks │ ├── tasks-from-paper-results.txt │ ├── tasks-from-paper.txt │ ├── tasks.json │ └── tasks.txt │ ├── turk-api │ ├── .gitignore │ ├── fix-email-nlp-demos.py │ ├── parse-email-nlp.py │ ├── parse-turk-results.py │ └── run.py │ ├── turk-server │ ├── .gitignore │ ├── launch │ ├── log.py │ ├── server.py │ ├── static │ │ ├── core │ │ │ ├── core.css │ │ │ ├── core.js │ │ │ ├── d3.v3.min.js │ │ │ ├── jquery-ui │ │ │ │ ├── external │ │ │ │ │ └── jquery │ │ │ │ │ │ └── jquery.js │ │ │ │ ├── images │ │ │ │ │ ├── ui-icons_444444_256x240.png │ │ │ │ │ ├── ui-icons_555555_256x240.png │ │ │ │ │ ├── ui-icons_777620_256x240.png │ │ │ │ │ ├── ui-icons_777777_256x240.png │ │ │ │ │ ├── ui-icons_cc0000_256x240.png │ │ │ │ │ └── ui-icons_ffffff_256x240.png │ │ │ │ ├── jquery-ui.min.css │ │ │ │ ├── jquery-ui.min.js │ │ │ │ ├── jquery-ui.structure.min.css │ │ │ │ └── jquery-ui.theme.min.css │ │ │ └── jscolor.min.js │ │ └── flight │ │ │ ├── Alaska-auto │ │ │ ├── images │ │ │ │ ├── aura.png │ │ │ │ ├── cal3.png │ │ │ │ ├── chkboxes3.png │ │ │ │ ├── clear_text2.png │ │ │ │ ├── collapse.png │ │ │ │ ├── expand.png │ │ │ │ ├── flight_arrow.png │ │ │ │ ├── geo.png │ │ │ │ ├── home.png │ │ │ │ ├── info2.png │ │ │ │ ├── leftright.png │ │ │ │ ├── logo2.png │ │ │ │ └── logos │ │ │ │ │ ├── AA.png │ │ │ │ │ ├── AS.png │ │ │ │ │ ├── DL.png │ │ │ │ │ └── VX.png │ │ │ ├── index.html │ │ │ ├── mobileweb-v3-28-6227-21813.css │ │ │ ├── scripts │ │ │ │ ├── datepickr.js │ │ │ │ ├── main.js │ │ │ │ └── shopbook.js │ │ │ ├── stylesheets │ │ │ │ └── circular │ │ │ │ │ ├── ASCircularWeb-Bold.woff │ │ │ │ │ └── ASCircularWeb-Book.woff │ │ │ ├── surrogate │ │ │ │ ├── airportLookup.js │ │ │ │ └── airports.json │ │ │ └── wrapper.html │ │ │ └── flight-common │ │ │ ├── inject.js │ │ │ ├── wrapper.css │ │ │ └── wrapper.js │ └── task.py │ ├── turk-www-flight │ ├── core │ │ ├── core.css │ │ ├── core.js │ │ ├── d3.v3.min.js │ │ ├── jquery-ui │ │ │ ├── external │ │ │ │ └── jquery │ │ │ │ │ └── jquery.js │ │ │ ├── images │ │ │ │ ├── ui-icons_444444_256x240.png │ │ │ │ ├── ui-icons_555555_256x240.png │ │ │ │ ├── ui-icons_777620_256x240.png │ │ │ │ ├── ui-icons_777777_256x240.png │ │ │ │ ├── ui-icons_cc0000_256x240.png │ │ │ │ └── ui-icons_ffffff_256x240.png │ │ │ ├── jquery-ui.min.css │ │ │ ├── jquery-ui.min.js │ │ │ ├── jquery-ui.structure.min.css │ │ │ └── jquery-ui.theme.min.css │ │ └── jscolor.min.js │ └── flight │ │ ├── Alaska-auto │ │ ├── images │ │ │ ├── aura.png │ │ │ ├── cal3.png │ │ │ ├── chkboxes3.png │ │ │ ├── clear_text2.png │ │ │ ├── collapse.png │ │ │ ├── expand.png │ │ │ ├── flight_arrow.png │ │ │ ├── geo.png │ │ │ ├── home.png │ │ │ ├── info2.png │ │ │ ├── leftright.png │ │ │ ├── logo2.png │ │ │ └── logos │ │ │ │ ├── AA.png │ │ │ │ ├── AS.png │ │ │ │ ├── DL.png │ │ │ │ └── VX.png │ │ ├── index.html │ │ ├── mobileweb-v3-28-6227-21813.css │ │ ├── scripts │ │ │ ├── datepickr.js │ │ │ ├── main.js │ │ │ └── shopbook.js │ │ ├── stylesheets │ │ │ └── circular │ │ │ │ ├── ASCircularWeb-Bold.woff │ │ │ │ └── ASCircularWeb-Book.woff │ │ ├── surrogate │ │ │ ├── airportLookup.js │ │ │ └── airports.json │ │ └── wrapper.html │ │ └── flight-common │ │ ├── inject.js │ │ ├── wrapper.css │ │ └── wrapper.js │ ├── turk-www │ ├── common │ │ ├── shapes.js │ │ ├── special │ │ │ ├── book-flight │ │ │ │ └── domestic.js │ │ │ ├── checkbox-numbers │ │ │ │ ├── ch_0.png │ │ │ │ ├── ch_1.png │ │ │ │ ├── ch_2.png │ │ │ │ ├── ch_3.png │ │ │ │ ├── ch_4.png │ │ │ │ ├── ch_5.png │ │ │ │ ├── ch_6.png │ │ │ │ ├── ch_7.png │ │ │ │ ├── ch_8.png │ │ │ │ └── ch_9.png │ │ │ ├── click-pie │ │ │ │ ├── raphael.icons.min.js │ │ │ │ ├── raphael.min.js │ │ │ │ └── wheelnav.min.js │ │ │ ├── drag-cube │ │ │ │ ├── blank.png │ │ │ │ ├── cube.css │ │ │ │ └── cube.js │ │ │ ├── email-inbox-nl │ │ │ │ └── templates.js │ │ │ ├── email-inbox │ │ │ │ ├── delete.png │ │ │ │ ├── email-inbox.css │ │ │ │ ├── forward.png │ │ │ │ ├── left-arrow-white.png │ │ │ │ ├── left-arrow.png │ │ │ │ ├── reply.png │ │ │ │ ├── search.png │ │ │ │ ├── send.png │ │ │ │ ├── star-clicked.png │ │ │ │ └── star.png │ │ │ ├── navigate-tree │ │ │ │ ├── images │ │ │ │ │ ├── ajax-loader.gif │ │ │ │ │ ├── file.gif │ │ │ │ │ ├── folder-closed.gif │ │ │ │ │ ├── folder.gif │ │ │ │ │ ├── minus.gif │ │ │ │ │ ├── plus.gif │ │ │ │ │ ├── treeview-black-line.gif │ │ │ │ │ ├── treeview-black.gif │ │ │ │ │ ├── treeview-default-line.gif │ │ │ │ │ ├── treeview-default.gif │ │ │ │ │ ├── treeview-famfamfam-line.gif │ │ │ │ │ ├── treeview-famfamfam.gif │ │ │ │ │ ├── treeview-gray-line.gif │ │ │ │ │ ├── treeview-gray.gif │ │ │ │ │ ├── treeview-red-line.gif │ │ │ │ │ └── treeview-red.gif │ │ │ │ ├── jquery.treeview.css │ │ │ │ └── jquery.treeview.min.js │ │ │ ├── search-engine │ │ │ │ └── jquery.twbsPagination.min.js │ │ │ ├── social-media │ │ │ │ ├── like-hover.png │ │ │ │ ├── like.png │ │ │ │ ├── more-hover.png │ │ │ │ ├── more.png │ │ │ │ ├── reply-hover.png │ │ │ │ ├── reply.png │ │ │ │ ├── retweet-hover.png │ │ │ │ ├── retweet.png │ │ │ │ ├── share-hover.png │ │ │ │ └── share.png │ │ │ ├── text-editor │ │ │ │ ├── quill.min.js │ │ │ │ └── quill.snow.css │ │ │ └── tic-tac-toe │ │ │ │ ├── o.png │ │ │ │ └── x.png │ │ └── ui_utils.js │ ├── core │ │ ├── core.css │ │ ├── core.js │ │ ├── d3.v3.min.js │ │ ├── jquery-ui │ │ │ ├── external │ │ │ │ └── jquery │ │ │ │ │ └── jquery.js │ │ │ ├── images │ │ │ │ ├── ui-icons_444444_256x240.png │ │ │ │ ├── ui-icons_555555_256x240.png │ │ │ │ ├── ui-icons_777620_256x240.png │ │ │ │ ├── ui-icons_777777_256x240.png │ │ │ │ ├── ui-icons_cc0000_256x240.png │ │ │ │ └── ui-icons_ffffff_256x240.png │ │ │ ├── jquery-ui.min.css │ │ │ ├── jquery-ui.min.js │ │ │ ├── jquery-ui.structure.min.css │ │ │ └── jquery-ui.theme.min.css │ │ └── jscolor.min.js │ ├── miniwob │ │ ├── bisect-angle.html │ │ ├── book-flight-nodelay.html │ │ ├── book-flight.html │ │ ├── chase-circle.html │ │ ├── choose-date-easy.html │ │ ├── choose-date-medium.html │ │ ├── choose-date-nodelay.html │ │ ├── choose-date.html │ │ ├── choose-list.html │ │ ├── circle-center.html │ │ ├── classes │ │ ├── click-button-sequence.html │ │ ├── click-button.html │ │ ├── click-checkboxes-large.html │ │ ├── click-checkboxes-soft.html │ │ ├── click-checkboxes-transfer.html │ │ ├── click-checkboxes.html │ │ ├── click-collapsible-2-nodelay.html │ │ ├── click-collapsible-2.html │ │ ├── click-collapsible-nodelay.html │ │ ├── click-collapsible.html │ │ ├── click-color.html │ │ ├── click-dialog-2.html │ │ ├── click-dialog.html │ │ ├── click-link.html │ │ ├── click-menu-2.html │ │ ├── click-menu.html │ │ ├── click-option.html │ │ ├── click-pie-nodelay.html │ │ ├── click-pie.html │ │ ├── click-scroll-list.html │ │ ├── click-shades.html │ │ ├── click-shape.html │ │ ├── click-tab-2-easy.html │ │ ├── click-tab-2-hard.html │ │ ├── click-tab-2-medium.html │ │ ├── click-tab-2.html │ │ ├── click-tab.html │ │ ├── click-test-2.html │ │ ├── click-test-transfer.html │ │ ├── click-test.html │ │ ├── click-widget.html │ │ ├── copy-paste-2.html │ │ ├── copy-paste.html │ │ ├── count-shape.html │ │ ├── count-sides.html │ │ ├── drag-box.html │ │ ├── drag-cube.html │ │ ├── drag-item.html │ │ ├── drag-items-grid.html │ │ ├── drag-items.html │ │ ├── drag-shapes.html │ │ ├── drag-sort-numbers.html │ │ ├── email-inbox-delete.html │ │ ├── email-inbox-forward-nl-turk.html │ │ ├── email-inbox-forward-nl.html │ │ ├── email-inbox-forward.html │ │ ├── email-inbox-important.html │ │ ├── email-inbox-nl-turk.html │ │ ├── email-inbox-noscroll.html │ │ ├── email-inbox-reply.html │ │ ├── email-inbox-star-reply.html │ │ ├── email-inbox.html │ │ ├── enter-date.html │ │ ├── enter-password.html │ │ ├── enter-text-2.html │ │ ├── enter-text-dynamic.html │ │ ├── enter-text.html │ │ ├── enter-time.html │ │ ├── find-midpoint.html │ │ ├── find-word.html │ │ ├── focus-text-2.html │ │ ├── focus-text.html │ │ ├── grid-coordinate.html │ │ ├── guess-number.html │ │ ├── highlight-text-2.html │ │ ├── highlight-text.html │ │ ├── identify-shape.html │ │ ├── logfile │ │ ├── login-user-popup.html │ │ ├── login-user.html │ │ ├── moving-items.html │ │ ├── multi-layouts.html │ │ ├── multi-orderings.html │ │ ├── navigate-tree.html │ │ ├── number-checkboxes.html │ │ ├── parser.py │ │ ├── read-table-2.html │ │ ├── read-table.html │ │ ├── resize-textarea.html │ │ ├── right-angle.html │ │ ├── scroll-text-2.html │ │ ├── scroll-text.html │ │ ├── search-engine.html │ │ ├── simon-says.html │ │ ├── simple-algebra.html │ │ ├── simple-arithmetic.html │ │ ├── social-media-all.html │ │ ├── social-media-some.html │ │ ├── social-media.html │ │ ├── terminal.html │ │ ├── text-editor.html │ │ ├── text-transform.html │ │ ├── tic-tac-toe.html │ │ ├── unicode-test.html │ │ ├── use-autocomplete-nodelay.html │ │ ├── use-autocomplete.html │ │ ├── use-colorwheel-2.html │ │ ├── use-colorwheel.html │ │ ├── use-slider-2.html │ │ ├── use-slider.html │ │ ├── use-spinner.html │ │ └── visual-addition.html │ └── sync │ └── viewer │ ├── main.js │ ├── style.css │ └── viewer.html └── wge ├── __init__.py ├── cache.py ├── data.py ├── embeddings.py ├── environment.py ├── episode_generator.py ├── formwob ├── __init__.py └── environment.py ├── log.py ├── mask.py ├── miniwob ├── __init__.py ├── action.py ├── demonstrations.py ├── distance.py ├── embeddings.py ├── environment.py ├── fields.py ├── instance.py ├── labeled_demonstration.py ├── neighbor.py ├── perfect_oracle.py ├── positions.py ├── program.py ├── program_oracle.py ├── program_policy.py ├── reward.py ├── screenshot.py ├── special_words.py ├── state.py └── trace.py ├── replay.py ├── rl.py ├── tests ├── __init__.py ├── miniwob │ ├── __init__.py │ ├── test_action.py │ ├── test_distance.py │ ├── test_embeddings.py │ ├── test_environment.py │ └── test_program.py ├── test_replay.py └── test_wob_policy.py ├── training_run.py ├── utils.py ├── visualize.py ├── vocab.py └── wob_policy.py /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "wob/third-party/websockify"] 2 | path = wob/third-party/websockify 3 | url = git@github.com:openai/websockify.git 4 | [submodule "wob/third-party/noVNC"] 5 | path = wob/third-party/noVNC 6 | url = git@github.com:stanfordnlp/noVNC.git 7 | [submodule "wob/third-party/universe"] 8 | path = wob/third-party/universe 9 | url = git@github.com:stanfordnlp/universe.git 10 | -------------------------------------------------------------------------------- /.pylintrc: -------------------------------------------------------------------------------- 1 | [MASTER] 2 | extension-pkg-whitelist=numpy,torch 3 | 4 | [TYPECHECK] 5 | ignored-modules=numpy,torch 6 | ignored-classes=numpy,torch 7 | 8 | [MESSAGES CONTROL] 9 | disable=R,C 10 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2018, Stanford University. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); you may not use 4 | this file except in compliance with the License. You may obtain a copy of the 5 | License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software distributed 10 | under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR 11 | CONDITIONS OF ANY KIND, either express or implied. See the License for the 12 | specific language governing permissions and limitations under the License. 13 | -------------------------------------------------------------------------------- /configs/config-mixins/bc-rl.txt: -------------------------------------------------------------------------------- 1 | train { 2 | behavioral_cloning = True 3 | replay_steps = 0 # essentially don't update from replay buffer 4 | replay = 1000000000 # essentially don't update from replay buffer 5 | reinforce_neural = True 6 | reinforce_program = False # don't use program policy 7 | } 8 | 9 | log { 10 | replay = 1000000000 # needs to also never happen 11 | trace_replay = 1000000000 # needs to also never happen 12 | } 13 | 14 | explore { 15 | program = 1000000000 # never 16 | neural = 1 17 | best_first_search = 1000000000 # never 18 | } 19 | -------------------------------------------------------------------------------- /configs/config-mixins/image_position_scorer.txt: -------------------------------------------------------------------------------- 1 | policy { 2 | episodes_to_replay = 10 3 | update_rule = "only-last-experience" 4 | position_scorer { 5 | type = "image" 6 | num_filters = [16, 24, 32] 7 | hidden_size = 128 8 | attn_dim = 64 9 | } 10 | } 11 | 12 | -------------------------------------------------------------------------------- /configs/config-mixins/linear-program-policy.txt: -------------------------------------------------------------------------------- 1 | program_policy { 2 | type = "program" 3 | parameterization = "linear" 4 | weight_init = 1 5 | learning_rate = 1 6 | } 7 | -------------------------------------------------------------------------------- /configs/config-mixins/natural-language.txt: -------------------------------------------------------------------------------- 1 | policy { 2 | query_type = "natural-language" 3 | } 4 | -------------------------------------------------------------------------------- /configs/config-mixins/no-conv.txt: -------------------------------------------------------------------------------- 1 | # Doesn't apply the conv layer in the scorer 2 | 3 | policy { 4 | position_scorer { 5 | conv_filters = 0 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /configs/config-mixins/no-demo-filter.txt: -------------------------------------------------------------------------------- 1 | demonstrations { 2 | min_raw_reward = -1.0 # any demo is OK 3 | } 4 | -------------------------------------------------------------------------------- /configs/config-mixins/no-shortcut.txt: -------------------------------------------------------------------------------- 1 | demonstrations { 2 | parser = chunk 3 | } 4 | -------------------------------------------------------------------------------- /configs/config-mixins/only-last-experience.txt: -------------------------------------------------------------------------------- 1 | policy { 2 | update_rule = "only-last-experience" 3 | } 4 | -------------------------------------------------------------------------------- /configs/config-mixins/perfect-oracle.txt: -------------------------------------------------------------------------------- 1 | # Sets exploration to be perfect oracle policy 2 | 3 | program_policy { 4 | type = "perfect-oracle" 5 | } 6 | -------------------------------------------------------------------------------- /configs/config-mixins/program-oracle.txt: -------------------------------------------------------------------------------- 1 | # Sets exploration to be oracle program policy 2 | 3 | program_policy { 4 | type = "program-oracle" 5 | } 6 | -------------------------------------------------------------------------------- /configs/config-mixins/record-screenshots.txt: -------------------------------------------------------------------------------- 1 | log { 2 | record_screenshots = True 3 | } 4 | -------------------------------------------------------------------------------- /configs/config-mixins/single-instance.txt: -------------------------------------------------------------------------------- 1 | env { 2 | num_instances = 1 3 | } 4 | -------------------------------------------------------------------------------- /configs/config-mixins/use-whole-episode.txt: -------------------------------------------------------------------------------- 1 | policy { 2 | update_rule = "use-whole-episode" 3 | } 4 | -------------------------------------------------------------------------------- /configs/config-mixins/wait-300ms.txt: -------------------------------------------------------------------------------- 1 | env { 2 | wait_ms = 300 3 | } 4 | -------------------------------------------------------------------------------- /configs/debug-base.txt: -------------------------------------------------------------------------------- 1 | include "default-base.txt" 2 | 3 | train { 4 | max_control_steps = 400 5 | replay_steps = 10 6 | } 7 | 8 | explore { 9 | max_steps_per_episode = 7 10 | best_first_beam_size = 5 11 | } 12 | 13 | log { 14 | episodes_to_evaluate_small = 3 15 | episodes_to_evaluate_big = 15 16 | 17 | evaluate = 10 18 | evaluate_big = 20 19 | explore = 10 20 | replay = 10 21 | 22 | trace_evaluate = 20 23 | trace_explore = 20 24 | trace_replay = 20 25 | } 26 | 27 | replay_buffer { 28 | min_size = 10 29 | } 30 | 31 | policy { 32 | utterance_embedder { 33 | vocab_size = 10000 34 | } 35 | } 36 | 37 | env { 38 | num_instances = 2 39 | } 40 | -------------------------------------------------------------------------------- /configs/flight-base.txt: -------------------------------------------------------------------------------- 1 | # Defaults for flight 2 | 3 | explore { 4 | max_steps_per_episode = 15 5 | } 6 | 7 | env { 8 | wait_ms = 100 9 | num_instances = 5 10 | } 11 | 12 | policy { 13 | episodes_to_replay = 3 # Episodes are long 14 | } 15 | -------------------------------------------------------------------------------- /configs/profile-base.txt: -------------------------------------------------------------------------------- 1 | include "default-base.txt" 2 | 3 | train.max_control_steps = 601 4 | -------------------------------------------------------------------------------- /configs/task-mixins/book-flight-nodelay.txt: -------------------------------------------------------------------------------- 1 | env { 2 | domain = "miniwob" 3 | subdomain = "book-flight-nodelay" 4 | refresh_freq = 1 5 | } 6 | -------------------------------------------------------------------------------- /configs/task-mixins/choose-date-nodelay.txt: -------------------------------------------------------------------------------- 1 | explore { 2 | max_steps_per_episode = 15 3 | } 4 | 5 | env { 6 | domain = "miniwob" 7 | subdomain = "choose-date-nodelay" 8 | refresh_freq = 1 9 | } 10 | -------------------------------------------------------------------------------- /configs/task-mixins/click-checkboxes-large.txt: -------------------------------------------------------------------------------- 1 | explore { 2 | max_steps_per_episode = 18 3 | } 4 | 5 | env { 6 | num_instances = 12 7 | domain = "miniwob" 8 | subdomain = "click-checkboxes-large" 9 | } 10 | -------------------------------------------------------------------------------- /configs/task-mixins/click-checkboxes-soft.txt: -------------------------------------------------------------------------------- 1 | explore { 2 | max_steps_per_episode = 7 3 | } 4 | 5 | env { 6 | num_instances = 12 7 | domain = "miniwob" 8 | subdomain = "click-checkboxes-soft" 9 | } 10 | -------------------------------------------------------------------------------- /configs/task-mixins/click-checkboxes.txt: -------------------------------------------------------------------------------- 1 | explore { 2 | max_steps_per_episode = 7 3 | } 4 | 5 | env { 6 | domain = "miniwob" 7 | subdomain = "click-checkboxes" 8 | } 9 | -------------------------------------------------------------------------------- /configs/task-mixins/click-tab-2-hard.txt: -------------------------------------------------------------------------------- 1 | explore { 2 | max_steps_per_episode = 7 3 | } 4 | 5 | env { 6 | domain = "miniwob" 7 | subdomain = "click-tab-2-hard" 8 | } 9 | -------------------------------------------------------------------------------- /configs/task-mixins/email-inbox-forward-nl.txt: -------------------------------------------------------------------------------- 1 | # Default configs for email-inbox-forward-nl 2 | 3 | explore { 4 | max_steps_per_episode = 6 5 | } 6 | 7 | policy { 8 | query_type = "natural-language" 9 | } 10 | 11 | env { 12 | domain = "miniwob" 13 | subdomain = "email-inbox-forward-nl" 14 | } 15 | -------------------------------------------------------------------------------- /configs/task-mixins/email-inbox-nl-turk.txt: -------------------------------------------------------------------------------- 1 | # Default configs for email-inbox-nl-turk 2 | 3 | explore { 4 | max_steps_per_episode = 6 5 | } 6 | 7 | policy { 8 | query_type = "natural-language" 9 | } 10 | 11 | env { 12 | domain = "miniwob" 13 | subdomain = "email-inbox-nl-turk" 14 | } 15 | -------------------------------------------------------------------------------- /configs/task-mixins/enter-time.txt: -------------------------------------------------------------------------------- 1 | env { 2 | domain = "miniwob" 3 | subdomain = "enter-time" 4 | refresh_freq = 1 5 | } 6 | -------------------------------------------------------------------------------- /configs/task-mixins/flight.AA.txt: -------------------------------------------------------------------------------- 1 | include "../flight-base.txt" 2 | 3 | env { 4 | domain = "miniwob" 5 | subdomain = "flight.AA" 6 | } 7 | -------------------------------------------------------------------------------- /configs/task-mixins/flight.Alaska-auto-medium.txt: -------------------------------------------------------------------------------- 1 | include "../flight-base.txt" 2 | 3 | env { 4 | domain = "miniwob" 5 | subdomain = "flight.Alaska-auto-medium" 6 | } 7 | -------------------------------------------------------------------------------- /configs/task-mixins/flight.Alaska-auto.txt: -------------------------------------------------------------------------------- 1 | include "../flight-base.txt" 2 | 3 | env { 4 | domain = "miniwob" 5 | subdomain = "flight.Alaska-auto" 6 | } 7 | -------------------------------------------------------------------------------- /configs/task-mixins/flight.Alaska.txt: -------------------------------------------------------------------------------- 1 | include "../flight-base.txt" 2 | 3 | env { 4 | domain = "miniwob" 5 | subdomain = "flight.Alaska" 6 | } 7 | -------------------------------------------------------------------------------- /configs/task-mixins/social-media.txt: -------------------------------------------------------------------------------- 1 | explore { 2 | max_steps_per_episode = 3 3 | } 4 | 5 | env { 6 | domain = "miniwob" 7 | subdomain = "social-media" 8 | } 9 | -------------------------------------------------------------------------------- /configs/task-mixins/use-autocomplete-nodelay.txt: -------------------------------------------------------------------------------- 1 | env { 2 | domain = "miniwob" 3 | subdomain = "use-autocomplete-nodelay" 4 | refresh_freq = 1 5 | } 6 | -------------------------------------------------------------------------------- /configs/task-mixins/use-autocomplete.txt: -------------------------------------------------------------------------------- 1 | env { 2 | domain = "miniwob" 3 | subdomain = "use-autocomplete" 4 | refresh_freq = 1 5 | wait_ms = 300 6 | } 7 | -------------------------------------------------------------------------------- /configs/task-mixins/use-spinner.txt: -------------------------------------------------------------------------------- 1 | explore { 2 | max_steps_per_episode = 20 3 | } 4 | 5 | env { 6 | domain = "miniwob" 7 | subdomain = "use-spinner" 8 | } 9 | -------------------------------------------------------------------------------- /docker/.tmux.conf: -------------------------------------------------------------------------------- 1 | # http://www.hamvocke.com/blog/a-guide-to-customizing-your-tmux-conf/ 2 | 3 | # split panes using | and - 4 | bind | split-window -h 5 | bind - split-window -v 6 | unbind '"' 7 | unbind % 8 | 9 | # reload config file (change file location to your the tmux.conf you want to use) 10 | bind r source-file ~/.tmux.conf 11 | 12 | # switch panes using Alt-arrow without prefix 13 | bind -n M-Left select-pane -L 14 | bind -n M-Right select-pane -R 15 | bind -n M-Up select-pane -U 16 | bind -n M-Down select-pane -D 17 | 18 | # Enable mouse mode (tmux 2.1 and above) 19 | set -g mouse on -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- 1 | /site 2 | -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- 1 | ## Theme 2 | 3 | ### Material 4 | 5 | To install Material theme, 6 | 7 | ``` 8 | pip install mkdocs-material 9 | ``` -------------------------------------------------------------------------------- /docs/bootstrap/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/docs/bootstrap/__init__.py -------------------------------------------------------------------------------- /docs/bootstrap/content.html: -------------------------------------------------------------------------------- 1 | {% if page and page.meta and page.meta.source %} 2 | 7 | {% endif %} 8 | 9 | {% if page and page.content %}{{ page.content }}{% endif %} 10 | -------------------------------------------------------------------------------- /docs/bootstrap/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/docs/bootstrap/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /docs/bootstrap/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/docs/bootstrap/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /docs/bootstrap/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/docs/bootstrap/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /docs/bootstrap/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/docs/bootstrap/img/favicon.ico -------------------------------------------------------------------------------- /docs/bootstrap/js/base.js: -------------------------------------------------------------------------------- 1 | 2 | /* Highlight */ 3 | $( document ).ready(function() { 4 | hljs.initHighlightingOnLoad(); 5 | $('table').addClass('table table-striped table-hover'); 6 | }); 7 | 8 | 9 | $('body').scrollspy({ 10 | target: '.bs-sidebar', 11 | }); 12 | 13 | 14 | /* Prevent disabled links from causing a page reload */ 15 | $("li.disabled a").click(function() { 16 | event.preventDefault(); 17 | }); 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /docs/bootstrap/main.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | -------------------------------------------------------------------------------- /docs/bootstrap/toc.html: -------------------------------------------------------------------------------- 1 | 13 | -------------------------------------------------------------------------------- /docs/cinder/404.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | 3 | {% block content %} 4 | 5 |
6 |
7 |

404

8 |

Page not found

9 |

Home

10 |
11 |
12 | 13 | {% endblock %} 14 | -------------------------------------------------------------------------------- /docs/cinder/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/docs/cinder/__init__.py -------------------------------------------------------------------------------- /docs/cinder/content.html: -------------------------------------------------------------------------------- 1 | {% if meta.source %} 2 | 7 | {% endif %} 8 | 9 | {{ content }} 10 | -------------------------------------------------------------------------------- /docs/cinder/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/docs/cinder/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /docs/cinder/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/docs/cinder/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /docs/cinder/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/docs/cinder/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /docs/cinder/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/docs/cinder/img/favicon.ico -------------------------------------------------------------------------------- /docs/cinder/img/grid1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/docs/cinder/img/grid1.png -------------------------------------------------------------------------------- /docs/cinder/img/grid10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/docs/cinder/img/grid10.png -------------------------------------------------------------------------------- /docs/cinder/img/grid11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/docs/cinder/img/grid11.png -------------------------------------------------------------------------------- /docs/cinder/img/grid12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/docs/cinder/img/grid12.png -------------------------------------------------------------------------------- /docs/cinder/img/grid13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/docs/cinder/img/grid13.png -------------------------------------------------------------------------------- /docs/cinder/img/grid14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/docs/cinder/img/grid14.png -------------------------------------------------------------------------------- /docs/cinder/img/grid15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/docs/cinder/img/grid15.png -------------------------------------------------------------------------------- /docs/cinder/img/grid16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/docs/cinder/img/grid16.png -------------------------------------------------------------------------------- /docs/cinder/img/grid17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/docs/cinder/img/grid17.png -------------------------------------------------------------------------------- /docs/cinder/img/grid18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/docs/cinder/img/grid18.png -------------------------------------------------------------------------------- /docs/cinder/img/grid19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/docs/cinder/img/grid19.png -------------------------------------------------------------------------------- /docs/cinder/img/grid2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/docs/cinder/img/grid2.png -------------------------------------------------------------------------------- /docs/cinder/img/grid20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/docs/cinder/img/grid20.png -------------------------------------------------------------------------------- /docs/cinder/img/grid3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/docs/cinder/img/grid3.png -------------------------------------------------------------------------------- /docs/cinder/img/grid4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/docs/cinder/img/grid4.png -------------------------------------------------------------------------------- /docs/cinder/img/grid5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/docs/cinder/img/grid5.png -------------------------------------------------------------------------------- /docs/cinder/img/grid6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/docs/cinder/img/grid6.png -------------------------------------------------------------------------------- /docs/cinder/img/grid7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/docs/cinder/img/grid7.png -------------------------------------------------------------------------------- /docs/cinder/img/grid8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/docs/cinder/img/grid8.png -------------------------------------------------------------------------------- /docs/cinder/img/grid9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/docs/cinder/img/grid9.png -------------------------------------------------------------------------------- /docs/cinder/js/base.js: -------------------------------------------------------------------------------- 1 | 2 | /* Highlight */ 3 | $( document ).ready(function() { 4 | hljs.initHighlightingOnLoad(); 5 | $('table').addClass('table table-striped table-hover'); 6 | }); 7 | 8 | 9 | $('body').scrollspy({ 10 | target: '.bs-sidebar', 11 | }); 12 | 13 | 14 | /* Prevent disabled links from causing a page reload */ 15 | $("li.disabled a").click(function() { 16 | event.preventDefault(); 17 | }); 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /docs/cinder/nav-sub.html: -------------------------------------------------------------------------------- 1 | {% if not nav_item.children %} 2 |
  • 3 | {{ nav_item.title }} 4 |
  • 5 | {% else %} 6 | 14 | {% endif %} 15 | -------------------------------------------------------------------------------- /docs/cinder/toc.html: -------------------------------------------------------------------------------- 1 | 14 | -------------------------------------------------------------------------------- /docs/docs/envs/environment.md: -------------------------------------------------------------------------------- 1 | # Environment 2 | 3 | 4 | All environments implement the `Environment` interface. A policy interacts 5 | with the environment by calling the environment's `step` method and passing in 6 | actions. 7 | 8 | Note that an environment object is _batched_. It actually represents a batch 9 | of environments, each running in parallel (so that we can train faster). 10 | 11 | Thus far, we have been mostly using `MiniWoBEnvironment`. 12 | 13 | -------------------------------------------------------------------------------- /docs/docs/envs/world-of-bits.md: -------------------------------------------------------------------------------- 1 | # World of Bits Environments 2 | 3 | World of Bits is a set of web environments built on top of OpenAI universe infrastructure. 4 | 5 | ![](https://blog.openai.com/content/images/2017/02/universe_img_3.png) 6 | 7 | Each environment in the world of bits is a selenium-controlled browser wrapped in a docker container. 8 | 9 | # Universe Base Image 10 | 11 | -------------------------------------------------------------------------------- /docs/docs/experiment.md: -------------------------------------------------------------------------------- 1 | # Experiment Management 2 | 3 | All training runs are managed by the `MiniWoBTrainingRuns` object. For example, 4 | to get training run #141, do this: 5 | ```python 6 | runs = MiniWoBTrainingRuns() 7 | run = runs[141] # a MiniWoBTrainingRun object 8 | ``` 9 | 10 | A `TrainingRun` is responsible for constructing a model, training it, saving it 11 | and reloading it (see superclasses `gtd.ml.TrainingRun` and 12 | `gtd.ml.TorchTrainingRun` for details.) 13 | 14 | The most important methods on `MiniWobTrainingRun` are: 15 | - `__init__`: the policy, the environment, demonstrations, etc, are all loaded 16 | here. 17 | - `train`: actual training of the policy happens here 18 | -------------------------------------------------------------------------------- /docs/docs/index.md: -------------------------------------------------------------------------------- 1 | # Web agents 2 | 3 | 4 | 5 | Welcome to the web agents project! -------------------------------------------------------------------------------- /docs/docs/policy/basics.md: -------------------------------------------------------------------------------- 1 | # RL Policy Basics 2 | 3 | ## Policies 4 | 5 | See the `Policy` interface. The most important methods are `act`, 6 | `update_from_episodes` and `update_from_replay_buffer`. 7 | 8 | Note that all of these methods are also batched (i.e. they operate on multiple 9 | episodes in parallel) 10 | 11 | The model policy is the main one that we are trying to train. See 12 | `MiniWoBPolicy` as an example. 13 | 14 | ## Configuration 15 | 16 | ## Model architecture 17 | 18 | During training, there are several key systems involved: 19 | - the environment 20 | - policies 21 | - the model policy 22 | - the exploration policy 23 | - the replay buffer 24 | 25 | 26 | ## Episodes 27 | 28 | 29 | 30 | ## Experience Buffer -------------------------------------------------------------------------------- /docs/docs/policy/miniwob.md: -------------------------------------------------------------------------------- 1 | # MiniWoB Policy 2 | 3 | ## State Space 4 | 5 | 6 | 7 | ## Action Space 8 | 9 | A `MiniWoBAction` is a wrapper object of Selenium Driver that automates a web action primitive. There are a few `MiniWoBAction` classes provided: 10 | 11 | * `MiniWoBElementClick` 12 | * `MiniWoBType` -------------------------------------------------------------------------------- /docs/mkdocs.yml: -------------------------------------------------------------------------------- 1 | site_name: Web Agents 2 | theme: 'material' 3 | extra: 4 | palette: 5 | primary: 'indigo' 6 | accent: 'light blue' 7 | pages: 8 | - index.md 9 | - setup.md 10 | - Environment: 11 | - envs/environment.md 12 | - envs/world-of-bits.md 13 | - Policy: 14 | - policy/basics.md 15 | - policy/miniwob.md 16 | - experiment.md -------------------------------------------------------------------------------- /gtd/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/gtd/__init__.py -------------------------------------------------------------------------------- /gtd/git_utils.py: -------------------------------------------------------------------------------- 1 | import git 2 | 3 | def commit_diff(c): 4 | """Return the set of changed files. 5 | 6 | Args: 7 | c (git.Commit) 8 | 9 | Returns: 10 | set[str]: a set of file paths (relative to the git repo's root directory). 11 | """ 12 | changed = set() 13 | 14 | def add_path(blob): 15 | if blob is not None: 16 | changed.add(blob.path) 17 | 18 | prev_c = c.parents[0] 19 | for x in c.diff(prev_c): 20 | add_path(x.a_blob) 21 | add_path(x.b_blob) 22 | return changed -------------------------------------------------------------------------------- /gtd/ml/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/gtd/ml/__init__.py -------------------------------------------------------------------------------- /gtd/ml/tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/gtd/ml/tests/__init__.py -------------------------------------------------------------------------------- /gtd/ml/tests/test_utils.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | import numpy as np 3 | from numpy.testing import assert_almost_equal 4 | 5 | from gtd.ml.utils import temperature_smooth 6 | 7 | 8 | def test_temperature_smooth(): 9 | smooth = lambda probs, temp: temperature_smooth(np.array(probs, dtype=np.float32), temp) 10 | same = lambda x1, x2: assert_almost_equal(x1, x2, decimal=4) 11 | 12 | probs = [0., 0.2, 0.4, 0.4] 13 | third = 1./3 14 | correct = [0., third, third, third] 15 | same(smooth(probs, 100000), correct) 16 | 17 | # doesn't sum to 1 18 | with pytest.raises(ValueError): 19 | smooth([1, 2, 0], 1) 20 | 21 | # contains negative numbers 22 | with pytest.raises(ValueError): 23 | smooth([1, -1, 1], 1) 24 | 25 | # temperature = 0 26 | with pytest.raises(ValueError): 27 | probs = [0, 0.25, 0.75, 0] 28 | smooth(probs, 0) 29 | 30 | # temperature = inf 31 | with pytest.raises(ValueError): 32 | probs = [0, 0.25, 0.75, 0] 33 | smooth(probs, float('inf')) 34 | 35 | # temperature = 1 36 | probs = [0, 0.25, 0.75, 0] 37 | same(smooth(probs, 1), probs) # shouldn't alter probs 38 | 39 | # contains 1 40 | probs = [1, 0, 0] 41 | same(smooth(probs, 10), probs) 42 | same(smooth(probs, 0.1), probs) 43 | 44 | a = np.exp(2) 45 | b = np.exp(3) 46 | 47 | probs = [0, a/(a+b), b/(a+b)] 48 | smoothed = smooth(probs, 11) 49 | 50 | a2 = np.exp(2. / 11) 51 | b2 = np.exp(3. / 11) 52 | correct = [0, a2/(a2+b2), b2/(a2+b2)] 53 | same(smoothed, correct) -------------------------------------------------------------------------------- /gtd/ml/tests/test_vocab.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import pytest 3 | 4 | from gtd.ml.vocab import SimpleVocab, SimpleEmbeddings 5 | 6 | 7 | @pytest.fixture 8 | def vocab(): 9 | return SimpleVocab(['a', 'b', 'c']) 10 | 11 | 12 | @pytest.fixture 13 | def embeds(vocab): 14 | array = np.eye(len(vocab)) 15 | return SimpleEmbeddings(array, vocab) 16 | 17 | 18 | class TestSimpleVocab(object): 19 | def test_save_load(self, vocab, tmpdir): 20 | path = str(tmpdir.join('vocab.txt')) 21 | vocab.save(path) 22 | new_vocab = SimpleVocab.load(path) 23 | assert vocab == new_vocab -------------------------------------------------------------------------------- /gtd/ml/tf/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/gtd/ml/tf/__init__.py -------------------------------------------------------------------------------- /gtd/ml/tf/profile.py: -------------------------------------------------------------------------------- 1 | import json 2 | import tensorflow as tf 3 | from tensorflow.python.client import timeline 4 | 5 | 6 | class ProfiledSession(tf.Session): 7 | def __init__(self, *args, **kwargs): 8 | super(ProfiledSession, self).__init__(*args, **kwargs) 9 | 10 | def run(self, fetches, feed_dict=None): 11 | """like Session.run, but return a Timeline object in Chrome trace format (JSON). 12 | 13 | Save the json to a file, go to chrome://tracing, and open the file. 14 | 15 | Args: 16 | fetches 17 | feed_dict 18 | 19 | Returns: 20 | dict: a JSON dict 21 | """ 22 | options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE) 23 | run_metadata = tf.RunMetadata() 24 | super(ProfiledSession, self).run(fetches, feed_dict, options=options, run_metadata=run_metadata) 25 | 26 | # Create the Timeline object, and write it to a json 27 | tl = timeline.Timeline(run_metadata.step_stats) 28 | ctf = tl.generate_chrome_trace_format() 29 | return json.loads(ctf) -------------------------------------------------------------------------------- /gtd/ml/tf/tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/gtd/ml/tf/tests/__init__.py -------------------------------------------------------------------------------- /gtd/ml/tf/training_run.py: -------------------------------------------------------------------------------- 1 | from gtd.ml.training_run import TrainingRun 2 | from gtd.utils import cached_property 3 | 4 | 5 | class TFTrainingRun(TrainingRun): 6 | def __init__(self, config, save_dir): 7 | super(TFTrainingRun, self).__init__(config, save_dir) 8 | 9 | @cached_property 10 | def saver(self): 11 | from gtd.ml.tf.utils import Saver 12 | return Saver(self.workspace.checkpoints, keep_checkpoint_every_n_hours=5) -------------------------------------------------------------------------------- /gtd/ml/torch/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/gtd/ml/torch/__init__.py -------------------------------------------------------------------------------- /gtd/ml/torch/tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/gtd/ml/torch/tests/__init__.py -------------------------------------------------------------------------------- /gtd/ml/torch/tests/test_recurrent.py: -------------------------------------------------------------------------------- 1 | import torch 2 | from gtd.ml.torch.utils import GPUVariable 3 | 4 | from gtd.ml.torch.recurrent import tile_state, gated_update 5 | from gtd.ml.torch.utils import assert_tensor_equal 6 | 7 | 8 | def test_tile_state(): 9 | h = GPUVariable(torch.FloatTensor([1, 2, 3])) 10 | h_tiled = tile_state(h, 3) 11 | assert_tensor_equal(h_tiled, [[1, 2, 3], [1, 2, 3], [1, 2, 3]]) 12 | 13 | 14 | def test_gated_update(): 15 | h = GPUVariable(torch.FloatTensor([ 16 | [1, 2, 3], 17 | [4, 5, 6], 18 | ])) 19 | h_new = GPUVariable(torch.FloatTensor([ 20 | [-1, 2, 3], 21 | [4, 8, 0], 22 | ])) 23 | update = GPUVariable(torch.FloatTensor([[0], [1]])) # only update the second row 24 | 25 | out = gated_update(h, h_new, update) 26 | 27 | assert_tensor_equal(out, [ 28 | [1, 2, 3], 29 | [4, 8, 0] 30 | ]) -------------------------------------------------------------------------------- /gtd/ml/torch/tests/test_utils.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | import torch 3 | 4 | from gtd.ml.torch.utils import expand_dims_for_broadcast, assert_tensor_equal, is_binary 5 | 6 | 7 | def test_expand_dims_for_broadcast(): 8 | low_tensor = torch.FloatTensor([[1, 2, 3], [4, 5, 6]]) # (2, 3) 9 | high_tensor = torch.zeros(2, 3, 8, 1) 10 | 11 | new_tensor = expand_dims_for_broadcast(low_tensor, high_tensor) 12 | 13 | assert new_tensor.size() == (2, 3, 1, 1) 14 | 15 | assert_tensor_equal(new_tensor.squeeze(), low_tensor) 16 | 17 | with pytest.raises(AssertionError): 18 | bad_tensor = torch.zeros(2, 4, 8, 1) # prefix doesn't match 19 | expand_dims_for_broadcast(low_tensor, bad_tensor) 20 | 21 | 22 | def test_is_binary(): 23 | t1 = torch.FloatTensor([0, 1, 0, 0]) 24 | t2 = torch.FloatTensor([0, -1, 0, 0]) 25 | t3 = torch.FloatTensor([0, 0.1, 0.2, 0]) 26 | assert is_binary(t1) 27 | assert not is_binary(t2) 28 | assert not is_binary(t3) -------------------------------------------------------------------------------- /gtd/ml/utils.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | 3 | 4 | def temperature_smooth(sampling_probs, temperature): 5 | """Smooth a discrete distribution by raising/lowering temperature. 6 | 7 | Args: 8 | sampling_probs (np.ndarray): 1D numpy array 9 | temperature (float) 10 | 11 | Returns: 12 | np.ndarray: 1D array of same shape as sampling_probs 13 | """ 14 | if not isinstance(sampling_probs, np.ndarray): 15 | raise TypeError("sampling_probs must be numpy array.") 16 | 17 | if temperature <= 0: 18 | raise ValueError("Temperature must be positive.") 19 | 20 | if not np.isfinite(temperature): 21 | raise ValueError("Temperature must be finite.") 22 | 23 | if abs(np.sum(sampling_probs) - 1.0) > 0.001: 24 | raise ValueError("sampling_probs must sum to 1.") 25 | 26 | if not np.all(sampling_probs >= 0): 27 | raise ValueError("sampling_probs must all be non-negative.") 28 | 29 | logits = np.log(sampling_probs) # should be in range [-inf, 0] 30 | unnormalized = np.exp(logits / temperature) 31 | probs = unnormalized / np.sum(unnormalized) 32 | return probs -------------------------------------------------------------------------------- /gtd/tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/gtd/tests/__init__.py -------------------------------------------------------------------------------- /gtd/tests/test_graph.py: -------------------------------------------------------------------------------- 1 | from unittest import TestCase 2 | 3 | from gtd.graph import Graph 4 | 5 | 6 | class TestGraph(TestCase): 7 | 8 | def test_shortest_path(self): 9 | 10 | triples = [ 11 | ('1', '2', '3'), 12 | ('3', '4', '5'), 13 | ('1', '0', '5'), 14 | ] 15 | self.assertEqual( 16 | Graph(triples).shortest_path('1', '5'), 17 | ['1', '0', '5'] 18 | ) 19 | self.assertEqual( 20 | Graph(triples[:2]).shortest_path('1', '5'), 21 | ['1', '2', '3', '4', '5'] 22 | ) 23 | -------------------------------------------------------------------------------- /gtd/tests/test_io.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | from gtd.io import IntegerDirectories, split_path 4 | 5 | 6 | class TestIntegerDirectories(object): 7 | @pytest.fixture 8 | def int_dirs(self, tmpdir): 9 | tmpdir.mkdir('152_blah') 10 | tmpdir.mkdir('153_woo') 11 | tmpdir.mkdir('1_') # no suffix, should still match 12 | tmpdir.mkdir('-1') # no suffix, should still match 13 | tmpdir.mkdir('_10') # prefix is not integer, ignore 14 | tmpdir.mkdir('.DS_Store') 15 | tmpdir.mkdir('other') 16 | return IntegerDirectories(str(tmpdir)) 17 | 18 | def test_keys(self, int_dirs): 19 | assert int_dirs.keys() == [-1, 1, 152, 153] 20 | assert len(int_dirs) == 4 21 | 22 | def test_largest_int(self, int_dirs): 23 | assert int_dirs.largest_int == 153 24 | 25 | def test_new_dir(self, tmpdir, int_dirs): 26 | correct = str(tmpdir.join('154')) 27 | assert int_dirs.new_dir() == correct 28 | 29 | def test_new_dir_named(self, tmpdir, int_dirs): 30 | correct = str(tmpdir.join('154')) + '_foobar' 31 | assert int_dirs.new_dir('foobar') == correct 32 | 33 | 34 | def test_split_path(): 35 | path = '/Users/Joe/Documents/file.txt' 36 | assert split_path(path) == ['Users', 'Joe', 'Documents', 'file.txt'] -------------------------------------------------------------------------------- /gtd/tests/test_log.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | from gtd.log import Metadata, SyncedMetadata 4 | 5 | 6 | class TestMetadata(object): 7 | @pytest.fixture 8 | def m(self): 9 | m = Metadata() 10 | m['a'] = 10 # this is overwritten 11 | m['b'] = 'test' 12 | 13 | # namescope setitem 14 | with m.name_scope('c'): 15 | m['foo'] = 140 16 | 17 | # nested setitem 18 | m['a.foo'] = 120 19 | m['c.bar'] = 'what' 20 | 21 | return m 22 | 23 | def test_getitem(self, m): 24 | assert m['b'] == 'test' 25 | 26 | def test_nested_getitem(self, m): 27 | assert m['a.foo'] == 120 28 | assert m['c.foo'] == 140 29 | 30 | def test_namescope_getitem(self, m): 31 | with m.name_scope('c'): 32 | assert m['bar'] == 'what' 33 | 34 | def test_nested_metadata(self, m): 35 | m_sub = m['a'] 36 | assert isinstance(m_sub, Metadata) 37 | assert m_sub['foo'] == 120 38 | 39 | def test_contains(self, m): 40 | assert 'b' in m 41 | assert 'bar' not in m 42 | assert 'c.bar' in m 43 | 44 | 45 | class TestSyncedMetadata(TestMetadata): # run all the metadata tests 46 | def test_syncing(self, tmpdir): 47 | meta_path = str(tmpdir.join('meta.txt')) 48 | s = SyncedMetadata(meta_path) 49 | 50 | with s.name_scope('job'): 51 | s['memory'] = 128 52 | 53 | s2 = SyncedMetadata(meta_path) # reload the file 54 | 55 | assert s2['job.memory'] == 128 -------------------------------------------------------------------------------- /miniwob-sandbox: -------------------------------------------------------------------------------- 1 | third-party/miniwob-sandbox/ -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | # For MiniWoB 2 | numpy>=1.11 3 | scipy>=0.18 4 | Pillow>=4.1 5 | selenium>=3.4.3 6 | pytest>=3.2.1 7 | jsonpickle>=0.9.5 8 | Fabric>=1.14.0 9 | futures>=3.1.1 10 | pyhocon>=0.3.37 11 | ipython>=5.5.0 12 | tqdm>=4.17.1 13 | gitpython>=2.1.6 14 | tensorboard_logger>=0.0.4 15 | twisted>=17.9.0 16 | -------------------------------------------------------------------------------- /third-party/gtd/.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | *.ipynb 3 | *.pyc 4 | .cache 5 | .DS_Store 6 | -------------------------------------------------------------------------------- /third-party/gtd/gtd/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/gtd/gtd/__init__.py -------------------------------------------------------------------------------- /third-party/gtd/gtd/git_utils.py: -------------------------------------------------------------------------------- 1 | import git 2 | 3 | def commit_diff(c): 4 | """Return the set of changed files. 5 | 6 | Args: 7 | c (git.Commit) 8 | 9 | Returns: 10 | set[str]: a set of file paths (relative to the git repo's root directory). 11 | """ 12 | changed = set() 13 | 14 | def add_path(blob): 15 | if blob is not None: 16 | changed.add(blob.path) 17 | 18 | prev_c = c.parents[0] 19 | for x in c.diff(prev_c): 20 | add_path(x.a_blob) 21 | add_path(x.b_blob) 22 | return changed -------------------------------------------------------------------------------- /third-party/gtd/gtd/ml/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/gtd/gtd/ml/__init__.py -------------------------------------------------------------------------------- /third-party/gtd/gtd/ml/tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/gtd/gtd/ml/tests/__init__.py -------------------------------------------------------------------------------- /third-party/gtd/gtd/ml/tests/test_utils.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | import numpy as np 3 | from numpy.testing import assert_almost_equal 4 | 5 | from gtd.ml.utils import temperature_smooth 6 | 7 | 8 | def test_temperature_smooth(): 9 | smooth = lambda probs, temp: temperature_smooth(np.array(probs, dtype=np.float32), temp) 10 | same = lambda x1, x2: assert_almost_equal(x1, x2, decimal=4) 11 | 12 | probs = [0., 0.2, 0.4, 0.4] 13 | third = 1./3 14 | correct = [0., third, third, third] 15 | same(smooth(probs, 100000), correct) 16 | 17 | # doesn't sum to 1 18 | with pytest.raises(ValueError): 19 | smooth([1, 2, 0], 1) 20 | 21 | # contains negative numbers 22 | with pytest.raises(ValueError): 23 | smooth([1, -1, 1], 1) 24 | 25 | # temperature = 0 26 | with pytest.raises(ValueError): 27 | probs = [0, 0.25, 0.75, 0] 28 | smooth(probs, 0) 29 | 30 | # temperature = inf 31 | with pytest.raises(ValueError): 32 | probs = [0, 0.25, 0.75, 0] 33 | smooth(probs, float('inf')) 34 | 35 | # temperature = 1 36 | probs = [0, 0.25, 0.75, 0] 37 | same(smooth(probs, 1), probs) # shouldn't alter probs 38 | 39 | # contains 1 40 | probs = [1, 0, 0] 41 | same(smooth(probs, 10), probs) 42 | same(smooth(probs, 0.1), probs) 43 | 44 | a = np.exp(2) 45 | b = np.exp(3) 46 | 47 | probs = [0, a/(a+b), b/(a+b)] 48 | smoothed = smooth(probs, 11) 49 | 50 | a2 = np.exp(2. / 11) 51 | b2 = np.exp(3. / 11) 52 | correct = [0, a2/(a2+b2), b2/(a2+b2)] 53 | same(smoothed, correct) -------------------------------------------------------------------------------- /third-party/gtd/gtd/ml/tests/test_vocab.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import pytest 3 | 4 | from gtd.ml.vocab import SimpleVocab, SimpleEmbeddings 5 | 6 | 7 | @pytest.fixture 8 | def vocab(): 9 | return SimpleVocab(['a', 'b', 'c']) 10 | 11 | 12 | @pytest.fixture 13 | def embeds(vocab): 14 | array = np.eye(len(vocab)) 15 | return SimpleEmbeddings(array, vocab) 16 | 17 | 18 | class TestSimpleVocab(object): 19 | def test_save_load(self, vocab, tmpdir): 20 | path = str(tmpdir.join('vocab.txt')) 21 | vocab.save(path) 22 | new_vocab = SimpleVocab.load(path) 23 | assert vocab == new_vocab -------------------------------------------------------------------------------- /third-party/gtd/gtd/ml/tf/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/gtd/gtd/ml/tf/__init__.py -------------------------------------------------------------------------------- /third-party/gtd/gtd/ml/tf/profile.py: -------------------------------------------------------------------------------- 1 | import json 2 | import tensorflow as tf 3 | from tensorflow.python.client import timeline 4 | 5 | 6 | class ProfiledSession(tf.Session): 7 | def __init__(self, *args, **kwargs): 8 | super(ProfiledSession, self).__init__(*args, **kwargs) 9 | 10 | def run(self, fetches, feed_dict=None): 11 | """like Session.run, but return a Timeline object in Chrome trace format (JSON). 12 | 13 | Save the json to a file, go to chrome://tracing, and open the file. 14 | 15 | Args: 16 | fetches 17 | feed_dict 18 | 19 | Returns: 20 | dict: a JSON dict 21 | """ 22 | options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE) 23 | run_metadata = tf.RunMetadata() 24 | super(ProfiledSession, self).run(fetches, feed_dict, options=options, run_metadata=run_metadata) 25 | 26 | # Create the Timeline object, and write it to a json 27 | tl = timeline.Timeline(run_metadata.step_stats) 28 | ctf = tl.generate_chrome_trace_format() 29 | return json.loads(ctf) -------------------------------------------------------------------------------- /third-party/gtd/gtd/ml/tf/tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/gtd/gtd/ml/tf/tests/__init__.py -------------------------------------------------------------------------------- /third-party/gtd/gtd/ml/tf/training_run.py: -------------------------------------------------------------------------------- 1 | from gtd.ml.training_run import TrainingRun 2 | from gtd.utils import cached_property 3 | 4 | 5 | class TFTrainingRun(TrainingRun): 6 | def __init__(self, config, save_dir): 7 | super(TFTrainingRun, self).__init__(config, save_dir) 8 | 9 | @cached_property 10 | def saver(self): 11 | from gtd.ml.tf.utils import Saver 12 | return Saver(self.workspace.checkpoints, keep_checkpoint_every_n_hours=5) -------------------------------------------------------------------------------- /third-party/gtd/gtd/ml/torch/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/gtd/gtd/ml/torch/__init__.py -------------------------------------------------------------------------------- /third-party/gtd/gtd/ml/torch/tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/gtd/gtd/ml/torch/tests/__init__.py -------------------------------------------------------------------------------- /third-party/gtd/gtd/ml/torch/tests/test_recurrent.py: -------------------------------------------------------------------------------- 1 | import torch 2 | from gtd.ml.torch.utils import GPUVariable 3 | 4 | from gtd.ml.torch.recurrent import tile_state, gated_update 5 | from gtd.ml.torch.utils import assert_tensor_equal 6 | 7 | 8 | def test_tile_state(): 9 | h = GPUVariable(torch.FloatTensor([1, 2, 3])) 10 | h_tiled = tile_state(h, 3) 11 | assert_tensor_equal(h_tiled, [[1, 2, 3], [1, 2, 3], [1, 2, 3]]) 12 | 13 | 14 | def test_gated_update(): 15 | h = GPUVariable(torch.FloatTensor([ 16 | [1, 2, 3], 17 | [4, 5, 6], 18 | ])) 19 | h_new = GPUVariable(torch.FloatTensor([ 20 | [-1, 2, 3], 21 | [4, 8, 0], 22 | ])) 23 | update = GPUVariable(torch.FloatTensor([[0], [1]])) # only update the second row 24 | 25 | out = gated_update(h, h_new, update) 26 | 27 | assert_tensor_equal(out, [ 28 | [1, 2, 3], 29 | [4, 8, 0] 30 | ]) -------------------------------------------------------------------------------- /third-party/gtd/gtd/ml/torch/tests/test_utils.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | import torch 3 | 4 | from gtd.ml.torch.utils import expand_dims_for_broadcast, assert_tensor_equal, is_binary 5 | 6 | 7 | def test_expand_dims_for_broadcast(): 8 | low_tensor = torch.FloatTensor([[1, 2, 3], [4, 5, 6]]) # (2, 3) 9 | high_tensor = torch.zeros(2, 3, 8, 1) 10 | 11 | new_tensor = expand_dims_for_broadcast(low_tensor, high_tensor) 12 | 13 | assert new_tensor.size() == (2, 3, 1, 1) 14 | 15 | assert_tensor_equal(new_tensor.squeeze(), low_tensor) 16 | 17 | with pytest.raises(AssertionError): 18 | bad_tensor = torch.zeros(2, 4, 8, 1) # prefix doesn't match 19 | expand_dims_for_broadcast(low_tensor, bad_tensor) 20 | 21 | 22 | def test_is_binary(): 23 | t1 = torch.FloatTensor([0, 1, 0, 0]) 24 | t2 = torch.FloatTensor([0, -1, 0, 0]) 25 | t3 = torch.FloatTensor([0, 0.1, 0.2, 0]) 26 | assert is_binary(t1) 27 | assert not is_binary(t2) 28 | assert not is_binary(t3) -------------------------------------------------------------------------------- /third-party/gtd/gtd/ml/utils.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | 3 | 4 | def temperature_smooth(sampling_probs, temperature): 5 | """Smooth a discrete distribution by raising/lowering temperature. 6 | 7 | Args: 8 | sampling_probs (np.ndarray): 1D numpy array 9 | temperature (float) 10 | 11 | Returns: 12 | np.ndarray: 1D array of same shape as sampling_probs 13 | """ 14 | if not isinstance(sampling_probs, np.ndarray): 15 | raise TypeError("sampling_probs must be numpy array.") 16 | 17 | if temperature <= 0: 18 | raise ValueError("Temperature must be positive.") 19 | 20 | if not np.isfinite(temperature): 21 | raise ValueError("Temperature must be finite.") 22 | 23 | if abs(np.sum(sampling_probs) - 1.0) > 0.001: 24 | raise ValueError("sampling_probs must sum to 1.") 25 | 26 | if not np.all(sampling_probs >= 0): 27 | raise ValueError("sampling_probs must all be non-negative.") 28 | 29 | logits = np.log(sampling_probs) # should be in range [-inf, 0] 30 | unnormalized = np.exp(logits / temperature) 31 | probs = unnormalized / np.sum(unnormalized) 32 | return probs -------------------------------------------------------------------------------- /third-party/gtd/gtd/tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/gtd/gtd/tests/__init__.py -------------------------------------------------------------------------------- /third-party/gtd/gtd/tests/test_graph.py: -------------------------------------------------------------------------------- 1 | from unittest import TestCase 2 | 3 | from gtd.graph import Graph 4 | 5 | 6 | class TestGraph(TestCase): 7 | 8 | def test_shortest_path(self): 9 | 10 | triples = [ 11 | ('1', '2', '3'), 12 | ('3', '4', '5'), 13 | ('1', '0', '5'), 14 | ] 15 | self.assertEqual( 16 | Graph(triples).shortest_path('1', '5'), 17 | ['1', '0', '5'] 18 | ) 19 | self.assertEqual( 20 | Graph(triples[:2]).shortest_path('1', '5'), 21 | ['1', '2', '3', '4', '5'] 22 | ) 23 | -------------------------------------------------------------------------------- /third-party/gtd/gtd/tests/test_io.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | from gtd.io import IntegerDirectories, split_path 4 | 5 | 6 | class TestIntegerDirectories(object): 7 | @pytest.fixture 8 | def int_dirs(self, tmpdir): 9 | tmpdir.mkdir('152_blah') 10 | tmpdir.mkdir('153_woo') 11 | tmpdir.mkdir('1_') # no suffix, should still match 12 | tmpdir.mkdir('-1') # no suffix, should still match 13 | tmpdir.mkdir('_10') # prefix is not integer, ignore 14 | tmpdir.mkdir('.DS_Store') 15 | tmpdir.mkdir('other') 16 | return IntegerDirectories(str(tmpdir)) 17 | 18 | def test_keys(self, int_dirs): 19 | assert int_dirs.keys() == [-1, 1, 152, 153] 20 | assert len(int_dirs) == 4 21 | 22 | def test_largest_int(self, int_dirs): 23 | assert int_dirs.largest_int == 153 24 | 25 | def test_new_dir(self, tmpdir, int_dirs): 26 | correct = str(tmpdir.join('154')) 27 | assert int_dirs.new_dir() == correct 28 | 29 | def test_new_dir_named(self, tmpdir, int_dirs): 30 | correct = str(tmpdir.join('154')) + '_foobar' 31 | assert int_dirs.new_dir('foobar') == correct 32 | 33 | 34 | def test_split_path(): 35 | path = '/Users/Joe/Documents/file.txt' 36 | assert split_path(path) == ['Users', 'Joe', 'Documents', 'file.txt'] -------------------------------------------------------------------------------- /third-party/gtd/gtd/tests/test_log.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | from gtd.log import Metadata, SyncedMetadata 4 | 5 | 6 | class TestMetadata(object): 7 | @pytest.fixture 8 | def m(self): 9 | m = Metadata() 10 | m['a'] = 10 # this is overwritten 11 | m['b'] = 'test' 12 | 13 | # namescope setitem 14 | with m.name_scope('c'): 15 | m['foo'] = 140 16 | 17 | # nested setitem 18 | m['a.foo'] = 120 19 | m['c.bar'] = 'what' 20 | 21 | return m 22 | 23 | def test_getitem(self, m): 24 | assert m['b'] == 'test' 25 | 26 | def test_nested_getitem(self, m): 27 | assert m['a.foo'] == 120 28 | assert m['c.foo'] == 140 29 | 30 | def test_namescope_getitem(self, m): 31 | with m.name_scope('c'): 32 | assert m['bar'] == 'what' 33 | 34 | def test_nested_metadata(self, m): 35 | m_sub = m['a'] 36 | assert isinstance(m_sub, Metadata) 37 | assert m_sub['foo'] == 120 38 | 39 | def test_contains(self, m): 40 | assert 'b' in m 41 | assert 'bar' not in m 42 | assert 'c.bar' in m 43 | 44 | 45 | class TestSyncedMetadata(TestMetadata): # run all the metadata tests 46 | def test_syncing(self, tmpdir): 47 | meta_path = str(tmpdir.join('meta.txt')) 48 | s = SyncedMetadata(meta_path) 49 | 50 | with s.name_scope('job'): 51 | s['memory'] = 128 52 | 53 | s2 = SyncedMetadata(meta_path) # reload the file 54 | 55 | assert s2['job.memory'] == 128 -------------------------------------------------------------------------------- /third-party/gtd/requirements.txt: -------------------------------------------------------------------------------- 1 | line_profiler==1.0 2 | matplotlib==1.4.3 3 | numpy==1.11.0 4 | psycopg2==2.6.1 5 | pytest==2.9.2 6 | spacy==0.99 7 | SQLAlchemy==1.1.0b3 8 | tensorflow==0.8.0 9 | ipython==5.1.0 10 | scipy==0.18.0 11 | faulthandler==2.4 12 | futures==3.0.5 13 | jsonpickle==0.9.2 14 | fabric==1.12.0 15 | -------------------------------------------------------------------------------- /third-party/gtd/scripts/git_logs.py: -------------------------------------------------------------------------------- 1 | from git import Repo 2 | from os.path import join 3 | 4 | import sys 5 | print sys.path 6 | 7 | from gtd.git_utils import commit_diff 8 | from gtd.chrono import verboserate 9 | 10 | 11 | repo_path = sys.argv[1] 12 | max_count = sys.argv[2] 13 | files = set(sys.argv[3:]) 14 | 15 | def format_commit(c): 16 | msg = c.message.split('\n')[0] 17 | return '{}\t{}'.format(c.hexsha, msg) 18 | 19 | repo = Repo(repo_path) 20 | commits = list(repo.iter_commits('master', max_count=max_count)) 21 | lines = [] 22 | for c in verboserate(commits, desc='Scanning commits', total=max_count): 23 | if len(files & commit_diff(c)) == 0: 24 | continue 25 | lines.append(format_commit(c)) 26 | 27 | log_path = join(repo_path, 'git-logs.tsv') 28 | with open(log_path, 'w') as f: 29 | for line in lines: 30 | f.write(line) 31 | f.write('\n') -------------------------------------------------------------------------------- /third-party/gtd/setup.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | from distutils.core import setup, Command 3 | 4 | 5 | class Test(Command): 6 | user_options = [] 7 | 8 | def initialize_options(self): 9 | pass 10 | 11 | def finalize_options(self): 12 | pass 13 | 14 | def run(self): 15 | import subprocess 16 | errno = subprocess.call(['py.test', '-v', '--doctest-modules', 'gtd']) 17 | raise SystemExit(errno) 18 | 19 | 20 | setup(name='gtd', 21 | version='1.0', 22 | packages=['gtd'], 23 | description='Get things done.', 24 | cmdclass={'test': Test}, 25 | ) -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/.gitignore: -------------------------------------------------------------------------------- 1 | *.swp 2 | *~ 3 | *.bak 4 | *.pyc 5 | /out 6 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/bot/parallel-bot.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | import sys, os, shutil, re, argparse, json 5 | from codecs import open 6 | from itertools import izip 7 | from collections import defaultdict, Counter 8 | 9 | from selenium import webdriver 10 | from selenium.webdriver.common.keys import Keys 11 | 12 | 13 | def main(): 14 | parser = argparse.ArgumentParser() 15 | 16 | args = parser.parse_args() 17 | 18 | drivers = [] 19 | for i in xrange(5): 20 | drivers.append(webdriver.Remote( 21 | desired_capabilities={'browserName': 'chrome'})) 22 | print 'Created 5 drivers' 23 | 24 | for driver in drivers: 25 | driver.get("https://github.com") 26 | print(driver.title) 27 | assert "GitHub" in driver.title 28 | 29 | for driver in drivers: 30 | driver.close() 31 | 32 | 33 | if __name__ == '__main__': 34 | main() 35 | 36 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/docker/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM python:2.7-slim 2 | RUN pip install selenium 3 | 4 | RUN apt-get update && apt-get install wget unzip xvfb -y 5 | 6 | RUN wget -q -O /tmp/linux_signing_key.pub https://dl-ssl.google.com/linux/linux_signing_key.pub \ 7 | && apt-key add /tmp/linux_signing_key.pub \ 8 | && echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list \ 9 | && apt-get update && apt-get install google-chrome-stable -y 10 | 11 | RUN wget -q https://chromedriver.storage.googleapis.com/2.30/chromedriver_linux64.zip -O /tmp/chromedriver.zip \ 12 | && mkdir -p /opt/bin/ \ 13 | && unzip /tmp/chromedriver.zip -d /opt/bin/ 14 | ENV PATH /opt/bin/:$PATH 15 | 16 | VOLUME ["/miniwob"] 17 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/.gitignore: -------------------------------------------------------------------------------- 1 | twistd.pid 2 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/checkbox-numbers/ch_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/checkbox-numbers/ch_0.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/checkbox-numbers/ch_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/checkbox-numbers/ch_1.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/checkbox-numbers/ch_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/checkbox-numbers/ch_2.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/checkbox-numbers/ch_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/checkbox-numbers/ch_3.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/checkbox-numbers/ch_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/checkbox-numbers/ch_4.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/checkbox-numbers/ch_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/checkbox-numbers/ch_5.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/checkbox-numbers/ch_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/checkbox-numbers/ch_6.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/checkbox-numbers/ch_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/checkbox-numbers/ch_7.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/checkbox-numbers/ch_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/checkbox-numbers/ch_8.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/checkbox-numbers/ch_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/checkbox-numbers/ch_9.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/drag-cube/blank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/drag-cube/blank.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/email-inbox/delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/email-inbox/delete.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/email-inbox/forward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/email-inbox/forward.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/email-inbox/left-arrow-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/email-inbox/left-arrow-white.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/email-inbox/left-arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/email-inbox/left-arrow.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/email-inbox/reply.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/email-inbox/reply.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/email-inbox/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/email-inbox/search.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/email-inbox/send.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/email-inbox/send.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/email-inbox/star-clicked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/email-inbox/star-clicked.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/email-inbox/star.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/email-inbox/star.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/navigate-tree/images/ajax-loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/navigate-tree/images/ajax-loader.gif -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/navigate-tree/images/file.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/navigate-tree/images/file.gif -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/navigate-tree/images/folder-closed.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/navigate-tree/images/folder-closed.gif -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/navigate-tree/images/folder.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/navigate-tree/images/folder.gif -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/navigate-tree/images/minus.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/navigate-tree/images/minus.gif -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/navigate-tree/images/plus.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/navigate-tree/images/plus.gif -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/navigate-tree/images/treeview-black-line.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/navigate-tree/images/treeview-black-line.gif -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/navigate-tree/images/treeview-black.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/navigate-tree/images/treeview-black.gif -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/navigate-tree/images/treeview-default-line.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/navigate-tree/images/treeview-default-line.gif -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/navigate-tree/images/treeview-default.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/navigate-tree/images/treeview-default.gif -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/navigate-tree/images/treeview-famfamfam-line.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/navigate-tree/images/treeview-famfamfam-line.gif -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/navigate-tree/images/treeview-famfamfam.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/navigate-tree/images/treeview-famfamfam.gif -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/navigate-tree/images/treeview-gray-line.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/navigate-tree/images/treeview-gray-line.gif -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/navigate-tree/images/treeview-gray.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/navigate-tree/images/treeview-gray.gif -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/navigate-tree/images/treeview-red-line.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/navigate-tree/images/treeview-red-line.gif -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/navigate-tree/images/treeview-red.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/navigate-tree/images/treeview-red.gif -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/social-media/like-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/social-media/like-hover.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/social-media/like.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/social-media/like.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/social-media/more-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/social-media/more-hover.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/social-media/more.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/social-media/more.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/social-media/reply-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/social-media/reply-hover.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/social-media/reply.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/social-media/reply.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/social-media/retweet-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/social-media/retweet-hover.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/social-media/retweet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/social-media/retweet.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/social-media/share-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/social-media/share-hover.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/social-media/share.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/social-media/share.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/tic-tac-toe/o.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/tic-tac-toe/o.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/common/special/tic-tac-toe/x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/common/special/tic-tac-toe/x.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/core/jquery-ui/images/ui-icons_444444_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/core/jquery-ui/images/ui-icons_444444_256x240.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/core/jquery-ui/images/ui-icons_555555_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/core/jquery-ui/images/ui-icons_555555_256x240.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/core/jquery-ui/images/ui-icons_777620_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/core/jquery-ui/images/ui-icons_777620_256x240.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/core/jquery-ui/images/ui-icons_777777_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/core/jquery-ui/images/ui-icons_777777_256x240.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/core/jquery-ui/images/ui-icons_cc0000_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/core/jquery-ui/images/ui-icons_cc0000_256x240.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/core/jquery-ui/images/ui-icons_ffffff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/core/jquery-ui/images/ui-icons_ffffff_256x240.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/AA/apps/common/js/aacomDevice.js: -------------------------------------------------------------------------------- 1 | var $device={mobile:false,tablet:false,desktop:true,touch:false,responsive:false,init:function(){this.desktop=(!this.tablet&&!this.mobile);this.touch=(this.tablet||this.mobile);if(this.tablet){jQuery("html").addClass("is-tablet");}if(this.mobile){jQuery("html").addClass("is-mobile");}if(this.responsive){jQuery("html").addClass("is-responsive");}},viewport:function(){if(this.responsive){var check=function(css){if(jQuery("."+css).length==0){jQuery("body").append('
    ');}return(jQuery("."+css).css("display")!="none");};if(check("visible-phone")){return"phone";}if(check("visible-tablet")){return"tablet";}}return"desktop";},landscape:function(){return(jQuery(window).height()'+values[i].name+"";}jQuery("select#aa-language-selector").html(options);self.changeAlert();}});});jQuery("#aa-language-selector").change(function(){self.changeAlert();});jQuery("#splashForm").submit(function(){url=jQuery("select#aa-language-selector",this).val();jQuery("#splashSelectedCountry",this).val(self.getParameter(url,"locale"));jQuery("#splashUrl",this).val(self.getParameter(url,"url"));jQuery("#splashGeoRedirect",this).val(self.getParameter(url,"georedirect"));});self.getParameter=function(url,name){return decodeURIComponent((RegExp(name+"=(.+?)(&|$)").exec(url)||[,""])[1]);};self.changeAlert=function(){if(self.getParameter(jQuery("select#aa-language-selector").val(),"locale")!=jQuery("input#currentLocale").val()){jQuery("#locale-change-alert").slideDown();}else{jQuery("#locale-change-alert").hide("fast");}};}; -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/AA/apps/common/js/jquery/aacom/plugins/aaFooterAds.js: -------------------------------------------------------------------------------- 1 | jQuery.aaFooterAds=function(source){var self=this;self.init=function(){jQuery(source).each(function(i,item){adLink=jQuery("#"+item.id+" a");if(item.isFlash){if(!jQuery.flash.available){adLink.append(''+item.altText+'');}else{jQuery(adLink).flash({swf:item.flashSrc,height:item.height,width:item.width,expressInstall:true});}}adLink.attr("title",item.altText);if(item.target.indexOf("http")!=-1){temp=function(){captureExtClickThru(item.target,item.anchorLocation,item.altText,item.repositoryName,item.repositoryId,item.locale,item.isFlash);};item.isFlash?adLink.mouseup(temp):adLink.click(temp);}if(item.openInNewWin=="Y"){temp=function(){window.open(this.href,"","scrollbars=yes,toolbar=yes,resizable=yes,status=yes,location=no,menubar=no,width=700,height=480,top=1,left=385");return false;};item.isFlash?adLink.mouseup(temp):adLink.click(temp);}else{if(item.isFlash){adLink.mouseup(function(){location.href=this.href;});}}});};self.init();}; -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/AA/apps/common/js/jquery/aacom/plugins/aaTextBoxMessage.js: -------------------------------------------------------------------------------- 1 | function aaTextBoxMessage(paramElement,paramMessage){if(paramElement){this.element=paramElement;this.message=((paramMessage)?paramMessage.replace(/^\s+|\s+$/g,""):"aaTextBoxMessage - ATTENTION: caption has not been defined");this.element.aaTextBoxMessage=this;this.element.value=this.message;this.element.onfocus=aaTextBoxMessage.onfocus;this.element.onblur=aaTextBoxMessage.onblur;this.element.aaTextBoxMessage=this;}}aaTextBoxMessage.onfocus=function(){if(this.value.replace(/^\s+|\s+$/g,"")===this.aaTextBoxMessage.message){this.value="";}};aaTextBoxMessage.onblur=function(){if(this.value.replace(/^\s+|\s+$/g,"")===""){this.value=this.aaTextBoxMessage.message;}};jQuery.fn.aaTextBoxMessage=function(paramMessage){var i=0;var obj;for(i;i<\/script>");}}catch(err){}delete_VPNR=createVPNR();delete_VPNR.initDeleteVPNRModal();});createVPNR=function(){var delete_VPNR={aaUtil_delete_VPNR:new aa_Utilities(),btns:[{name:vpnr_okMessage,callback:function forwardLogin(){deleteVirtualPNR();var url=jQuery("#loginURL").val();window.location=url;},cssClass:"btn",closeDialog:true},{name:vpnr_cancelMessage,cssClass:"btn btn-secondary",closeDialog:true}],deleteVPNRModal:function(){var VPNR=jQuery("#virtualPNR").val(),status=jQuery("#status").val();if(VPNR=="true"&&status!="Purchased"){this.aaUtil_delete_VPNR.aaDialog("#modal_deleteVPNRModal").openDialog(jQuery("#loginLogoutLink"));jQuery(window).scrollTop(0);}else{var url=jQuery("#loginURL").val();window.location=url;}},initDeleteVPNRModal:function(){this.aaUtil_delete_VPNR.aaDialog("#modal_deleteVPNRModal",{width:"small",buttons:this.btns,toggleScroll:true});}};return delete_VPNR;};function deleteVPNRModal(){delete_VPNR.deleteVPNRModal();} -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/AA/js/aa/common/aacom-ui-1.0.0.js: -------------------------------------------------------------------------------- 1 | function AAcom(){var args=Array.prototype.slice.call(arguments),callback=args.pop(),modules=(args[0]&&typeof args[0]==="string")?args:args[0],i;if(!(this instanceof AAcom)){return new AAcom(modules,callback);}if(!modules||modules=="*"){modules=[];for(i in AAcom.modules){if(AAcom.modules.hasOwnProperty(i)){modules.push(i);}}}for(i=0;i 2 | 3 | 4 | AA 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 27 | 28 | 29 | 30 |
    31 |
    (Instruction)
    32 |
    (Raw query)
    33 |
    (Reward reason)
    34 |
    35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska-auto-medium/images/aura.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska-auto-medium/images/aura.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska-auto-medium/images/cal3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska-auto-medium/images/cal3.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska-auto-medium/images/chkboxes3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska-auto-medium/images/chkboxes3.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska-auto-medium/images/clear_text2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska-auto-medium/images/clear_text2.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska-auto-medium/images/collapse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska-auto-medium/images/collapse.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska-auto-medium/images/expand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska-auto-medium/images/expand.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska-auto-medium/images/flight_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska-auto-medium/images/flight_arrow.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska-auto-medium/images/geo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska-auto-medium/images/geo.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska-auto-medium/images/home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska-auto-medium/images/home.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska-auto-medium/images/info2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska-auto-medium/images/info2.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska-auto-medium/images/leftright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska-auto-medium/images/leftright.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska-auto-medium/images/logo2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska-auto-medium/images/logo2.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska-auto-medium/images/logos/AA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska-auto-medium/images/logos/AA.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska-auto-medium/images/logos/AS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska-auto-medium/images/logos/AS.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska-auto-medium/images/logos/DL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska-auto-medium/images/logos/DL.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska-auto-medium/images/logos/VX.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska-auto-medium/images/logos/VX.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska-auto-medium/stylesheets/circular/ASCircularWeb-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska-auto-medium/stylesheets/circular/ASCircularWeb-Bold.woff -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska-auto-medium/stylesheets/circular/ASCircularWeb-Book.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska-auto-medium/stylesheets/circular/ASCircularWeb-Book.woff -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska-auto-medium/surrogate/airportLookup.js: -------------------------------------------------------------------------------- 1 | // Surrogate autocomplete 2 | 3 | /* 4 | Called by: scripts/main.js 5 | 6 | Important args: 7 | - prefix 8 | - callback 9 | 10 | The response only contains at most 5 entries. 11 | 12 | Response examples: 13 | ["Adak Island, AK (ADK-Adak Island)", "Alexandria, LA (AEX-Alexandria Intl.)", "Brownsville, TX (BRO-South Padre Island Intl.)", "Cleveland, OH (CLE-Hopkins Intl.)", "Grand Forks, ND (GFK-Grand Forks Intl.)"] 14 | 15 | The cache only contains a partial list of possible airports. Will just use that. 16 | */ 17 | $miniwob.surrogateAutocomplete = function (prefix, callback) { 18 | function match() { 19 | var query = prefix.toLowerCase().replace(/[^a-z0-9 ]/, ''); 20 | var results = $miniwob.airports.filter(function (item) { 21 | return (item.toLowerCase().replace(/[^a-z0-9 ]/, '').includes(query)); 22 | }); 23 | callback(results.length ? results.slice(0, 5) : null); 24 | } 25 | 26 | if (!$miniwob.airports) { 27 | var xhr = new XMLHttpRequest(); 28 | xhr.onreadystatechange = function () { 29 | if (xhr.readyState == 4) { 30 | if (xhr.status == 200) { 31 | $miniwob.airports = JSON.parse(xhr.responseText); 32 | match(); 33 | } else { 34 | console.error('Error loading airports.json'); 35 | } 36 | } 37 | }; 38 | xhr.open('GET', 'surrogate/airports.json'); 39 | xhr.send(); 40 | } else { 41 | match(); 42 | } 43 | } 44 | 45 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska-auto/images/aura.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska-auto/images/aura.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska-auto/images/cal3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska-auto/images/cal3.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska-auto/images/chkboxes3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska-auto/images/chkboxes3.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska-auto/images/clear_text2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska-auto/images/clear_text2.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska-auto/images/collapse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska-auto/images/collapse.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska-auto/images/expand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska-auto/images/expand.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska-auto/images/flight_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska-auto/images/flight_arrow.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska-auto/images/geo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska-auto/images/geo.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska-auto/images/home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska-auto/images/home.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska-auto/images/info2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska-auto/images/info2.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska-auto/images/leftright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska-auto/images/leftright.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska-auto/images/logo2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska-auto/images/logo2.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska-auto/images/logos/AA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska-auto/images/logos/AA.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska-auto/images/logos/AS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska-auto/images/logos/AS.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska-auto/images/logos/DL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska-auto/images/logos/DL.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska-auto/images/logos/VX.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska-auto/images/logos/VX.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska-auto/stylesheets/circular/ASCircularWeb-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska-auto/stylesheets/circular/ASCircularWeb-Bold.woff -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska-auto/stylesheets/circular/ASCircularWeb-Book.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska-auto/stylesheets/circular/ASCircularWeb-Book.woff -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska-auto/surrogate/airportLookup.js: -------------------------------------------------------------------------------- 1 | // Surrogate autocomplete 2 | 3 | /* 4 | Called by: scripts/main.js 5 | 6 | Important args: 7 | - prefix 8 | - callback 9 | 10 | The response only contains at most 5 entries. 11 | 12 | Response examples: 13 | ["Adak Island, AK (ADK-Adak Island)", "Alexandria, LA (AEX-Alexandria Intl.)", "Brownsville, TX (BRO-South Padre Island Intl.)", "Cleveland, OH (CLE-Hopkins Intl.)", "Grand Forks, ND (GFK-Grand Forks Intl.)"] 14 | 15 | The cache only contains a partial list of possible airports. Will just use that. 16 | */ 17 | $miniwob.surrogateAutocomplete = function (prefix, callback) { 18 | function match() { 19 | var query = prefix.toLowerCase().replace(/[^a-z0-9 ]/, ''); 20 | var results = $miniwob.airports.filter(function (item) { 21 | return (item.toLowerCase().replace(/[^a-z0-9 ]/, '').includes(query)); 22 | }); 23 | callback(results.length ? results.slice(0, 5) : null); 24 | } 25 | 26 | if (!$miniwob.airports) { 27 | var xhr = new XMLHttpRequest(); 28 | xhr.onreadystatechange = function () { 29 | if (xhr.readyState == 4) { 30 | if (xhr.status == 200) { 31 | $miniwob.airports = JSON.parse(xhr.responseText); 32 | match(); 33 | } else { 34 | console.error('Error loading airports.json'); 35 | } 36 | } 37 | }; 38 | xhr.open('GET', 'surrogate/airports.json'); 39 | xhr.send(); 40 | } else { 41 | match(); 42 | } 43 | } 44 | 45 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska/images/aura.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska/images/aura.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska/images/cal3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska/images/cal3.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska/images/chkboxes3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska/images/chkboxes3.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska/images/clear_text2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska/images/clear_text2.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska/images/collapse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska/images/collapse.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska/images/expand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska/images/expand.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska/images/flight_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska/images/flight_arrow.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska/images/geo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska/images/geo.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska/images/home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska/images/home.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska/images/info2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska/images/info2.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska/images/leftright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska/images/leftright.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska/images/logo2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska/images/logo2.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska/images/logos/AA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska/images/logos/AA.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska/images/logos/AS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska/images/logos/AS.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska/images/logos/DL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska/images/logos/DL.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska/images/logos/VX.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska/images/logos/VX.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska/stylesheets/circular/ASCircularWeb-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska/stylesheets/circular/ASCircularWeb-Bold.woff -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska/stylesheets/circular/ASCircularWeb-Book.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/html/flight/Alaska/stylesheets/circular/ASCircularWeb-Book.woff -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska/surrogate/airportLookup.js: -------------------------------------------------------------------------------- 1 | // Surrogate autocomplete 2 | 3 | /* 4 | Called by: scripts/main.js 5 | 6 | Important args: 7 | - prefix 8 | - callback 9 | 10 | The response only contains at most 5 entries. 11 | 12 | Response examples: 13 | ["Adak Island, AK (ADK-Adak Island)", "Alexandria, LA (AEX-Alexandria Intl.)", "Brownsville, TX (BRO-South Padre Island Intl.)", "Cleveland, OH (CLE-Hopkins Intl.)", "Grand Forks, ND (GFK-Grand Forks Intl.)"] 14 | 15 | The cache only contains a partial list of possible airports. Will just use that. 16 | */ 17 | $miniwob.surrogateAutocomplete = function (prefix, callback) { 18 | function match() { 19 | var query = prefix.toLowerCase().replace(/[^a-z0-9 ]/, ''); 20 | var results = $miniwob.airports.filter(function (item) { 21 | return (item.toLowerCase().replace(/[^a-z0-9 ]/, '').includes(query)); 22 | }); 23 | callback(results.length ? results.slice(0, 5) : null); 24 | } 25 | 26 | if (!$miniwob.airports) { 27 | var xhr = new XMLHttpRequest(); 28 | xhr.onreadystatechange = function () { 29 | if (xhr.readyState == 4) { 30 | if (xhr.status == 200) { 31 | $miniwob.airports = JSON.parse(xhr.responseText); 32 | match(); 33 | } else { 34 | console.error('Error loading airports.json'); 35 | } 36 | } 37 | }; 38 | xhr.open('GET', 'surrogate/airports.json'); 39 | xhr.send(); 40 | } else { 41 | match(); 42 | } 43 | } 44 | 45 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/Alaska/wrapper.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Alaska 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 27 | 28 | 29 | 30 |
    31 |
    (Instruction)
    32 |
    (Raw query)
    33 |
    (Reward reason)
    34 |
    35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/flight/flight-common/wrapper.css: -------------------------------------------------------------------------------- 1 | /* ################ SIZING ################ */ 2 | 3 | #wrap, #sync-task-cover { 4 | height: 667px; 5 | width: 375px; 6 | } 7 | 8 | #wrap { 9 | overflow-x: auto; 10 | overflow-y: auto; 11 | border: 0; 12 | } 13 | 14 | #click-canvas, #reward-display { 15 | left: 380px; 16 | } 17 | 18 | #query-wrap { 19 | position: absolute; 20 | top: 215px; 21 | left: 380px; 22 | width: 160px; 23 | height: auto; 24 | } 25 | #query { 26 | height: auto; 27 | } 28 | #query-pretty { 29 | background-color: #EFF; 30 | font-size: 12px; 31 | padding: 3px; 32 | } 33 | #query-pretty .mode { 34 | font-weight: bold; 35 | } 36 | #query-pretty table { 37 | border-collapse: collapse; 38 | } 39 | #query-pretty th, #query-pretty td { 40 | border: 1px solid gray; 41 | padding: 2px 5px; 42 | width: 50%; 43 | text-align: left; 44 | } 45 | #reward-reason { 46 | background-color: #FEF; 47 | font-size: 10px; 48 | padding: 3px; 49 | } 50 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/http-serve: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | PORT="$1" 3 | [ -n "$PORT" ] || PORT=8080 4 | echo "Serving on port $PORT" 5 | twistd -no web --port tcp:"$PORT" --path . 6 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/miniwob/click-test-2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Click Test Task 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 16 | 17 | 34 | 35 | 36 |
    37 |
    Click button ONE.
    38 |
    39 | 40 | 41 |
    42 |
    43 | 44 | 45 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/miniwob/click-test-transfer.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Click Test Transfer Task 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 16 | 17 | 44 | 45 | 46 |
    47 |
    48 |
    49 | 50 | 51 |
    52 |
    53 | 54 | 55 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/miniwob/click-test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Click Test Task 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 15 | 16 | 31 | 32 | 33 |
    34 |
    Click the button.
    35 |
    36 | 37 |
    38 |
    39 | 40 | 41 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/miniwob/enter-password.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Enter Password Task 5 | 6 | 7 | 8 | 12 | 13 | 14 | 15 | 16 | 17 | 40 | 41 | 42 |
    43 |
    44 |
    45 |
    46 |

    47 |

    48 | 49 |
    50 |
    51 |
    52 | 53 | 54 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/miniwob/enter-text-dynamic.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Enter Dynamic Text Task 5 | 6 | 7 | 8 | 11 | 12 | 13 | 14 | 15 | 16 | 45 | 46 | 47 |
    48 |
    49 |
    50 |
    51 | 52 | 53 |
    54 |
    55 |
    56 | 57 | 58 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/miniwob/enter-text.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Enter Text Task 5 | 6 | 7 | 8 | 11 | 12 | 13 | 14 | 15 | 16 | 47 | 48 | 49 |
    50 |
    51 |
    52 |
    53 | 54 | 55 |
    56 |
    57 |
    58 | 59 | 60 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/miniwob/focus-text-2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Focus Text Task 5 | 6 | 7 | 8 | 11 | 12 | 13 | 14 | 15 | 49 | 50 | 51 |
    52 |
    53 |
    54 | 55 | 56 | 57 |
    58 |
    59 | 60 | 61 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/miniwob/focus-text.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Focus Text Task 5 | 6 | 7 | 8 | 11 | 12 | 13 | 14 | 15 | 44 | 45 | 46 |
    47 |
    48 |
    49 | 50 |
    51 |
    52 | 53 | 54 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/html/miniwob/login-user.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Login User Task 5 | 6 | 7 | 8 | 12 | 13 | 14 | 15 | 16 | 17 | 39 | 40 | 41 |
    42 |
    43 |
    44 |
    45 |

    46 |

    47 | 48 |
    49 |
    50 |
    51 | 52 | 53 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/tasks/tasks-from-paper-results.txt: -------------------------------------------------------------------------------- 1 | 100 2 | 100 3 | 84 4 | 27 5 | 101 6 | 96 7 | 102 8 | 0 9 | 24 10 | 99 11 | 85 12 | 63 13 | 31 14 | 36 15 | 0 16 | 32 17 | 35 18 | 39 19 | 90 20 | 41 21 | 100 22 | 12 23 | >9000 24 | 78 25 | 0 26 | 16 27 | 20 28 | 28 29 | 24 30 | 13 31 | 1 32 | 11 33 | 26 34 | 84 35 | 9 36 | 12 37 | 58 38 | 19 39 | 55 40 | 13 41 | 31 42 | 51 43 | 18 44 | 98 45 | 31 46 | 80 47 | 38 48 | 29 49 | 21 50 | 7 51 | 30 52 | 8 53 | 63 54 | 38 55 | 92 56 | 0 57 | 69 58 | 28 59 | 12 60 | 18 61 | 28 62 | 19 63 | 16 64 | 4 65 | 0 66 | 0 67 | 0 68 | 106 69 | 107 70 | 0 71 | 4 72 | 0 73 | 62 74 | 15 75 | 7 76 | 27 77 | 0 78 | 0 79 | 37 80 | 0 81 | 27 82 | 21 83 | 0 84 | 0 85 | 0 86 | 16 87 | 0 88 | 0 89 | 66 90 | 0 91 | 22 92 | 0 93 | 23 94 | 1 95 | 43 96 | 0 97 | 0 98 | 1 99 | 3 100 | 0 -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/tasks/tasks.txt: -------------------------------------------------------------------------------- 1 | bisect-angle 2 | chase-circle 3 | choose-date 4 | choose-list 5 | circle-center 6 | click-button 7 | click-button-sequence 8 | click-checkboxes 9 | click-collapsible 10 | click-collapsible-2 11 | click-color 12 | click-dialog 13 | click-dialog-2 14 | click-link 15 | click-menu-2 16 | click-option 17 | click-pie 18 | click-shades 19 | click-shape 20 | click-tab 21 | click-tab-2 22 | click-test 23 | click-test-2 24 | click-widget 25 | count-shape 26 | count-sides 27 | find-midpoint 28 | focus-text 29 | focus-text-2 30 | grid-coordinate 31 | guess-number 32 | identify-shape 33 | navigate-tree 34 | number-checkboxes 35 | right-angle 36 | simon-says 37 | tic-tac-toe 38 | use-colorwheel 39 | use-colorwheel-2 40 | use-slider 41 | use-slider-2 42 | use-spinner 43 | click-menu 44 | drag-box 45 | drag-cube 46 | drag-item 47 | drag-items 48 | drag-items-grid 49 | drag-shapes 50 | drag-sort-numbers 51 | enter-password 52 | enter-text 53 | enter-text-dynamic 54 | highlight-text 55 | highlight-text-2 56 | login-user 57 | moving-items 58 | read-table 59 | read-table-2 60 | resize-textarea 61 | search-engine 62 | text-editor 63 | copy-paste 64 | copy-paste-2 65 | email-inbox 66 | find-word 67 | scroll-text 68 | scroll-text-2 69 | social-media 70 | book-flight 71 | click-scroll-list 72 | enter-date 73 | enter-text-2 74 | enter-time 75 | simple-algebra 76 | simple-arithmetic 77 | terminal 78 | text-transform 79 | use-autocomplete 80 | visual-addition 81 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-api/.gitignore: -------------------------------------------------------------------------------- 1 | data 2 | parsed 3 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-server/.gitignore: -------------------------------------------------------------------------------- 1 | /demos 2 | /logs 3 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-server/launch: -------------------------------------------------------------------------------- 1 | LOG_PATH=log/server-stderr.txt 2 | echo "stdout has been redirected to $LOG_PATH" 3 | python task.py >> $LOG_PATH 2>&1 4 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-server/log.py: -------------------------------------------------------------------------------- 1 | import logging 2 | import datetime 3 | 4 | 5 | def create_logger(name, file_path, level='DEBUG'): 6 | """Create a logger with the specified name.""" 7 | logger = logging.getLogger(name) 8 | 9 | if isinstance(level, str): 10 | level = logging._levelNames[level] 11 | logger.setLevel(level) 12 | 13 | log_formatter = logging.Formatter("%(asctime)s [%(name)-6.6s] [%(levelname)-5.5s] %(message)s") 14 | file_handler = logging.FileHandler(file_path) 15 | file_handler.setFormatter(log_formatter) 16 | logger.addHandler(file_handler) 17 | 18 | return logger 19 | 20 | 21 | # epoch time to pretty printed string 22 | epoch_to_str = lambda t: datetime.datetime.fromtimestamp(t).strftime("%Y-%m-%d %H:%M:%S.%f")[:-3] -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-server/static/core/jquery-ui/images/ui-icons_444444_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-server/static/core/jquery-ui/images/ui-icons_444444_256x240.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-server/static/core/jquery-ui/images/ui-icons_555555_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-server/static/core/jquery-ui/images/ui-icons_555555_256x240.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-server/static/core/jquery-ui/images/ui-icons_777620_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-server/static/core/jquery-ui/images/ui-icons_777620_256x240.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-server/static/core/jquery-ui/images/ui-icons_777777_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-server/static/core/jquery-ui/images/ui-icons_777777_256x240.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-server/static/core/jquery-ui/images/ui-icons_cc0000_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-server/static/core/jquery-ui/images/ui-icons_cc0000_256x240.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-server/static/core/jquery-ui/images/ui-icons_ffffff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-server/static/core/jquery-ui/images/ui-icons_ffffff_256x240.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-server/static/flight/Alaska-auto/images/aura.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-server/static/flight/Alaska-auto/images/aura.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-server/static/flight/Alaska-auto/images/cal3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-server/static/flight/Alaska-auto/images/cal3.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-server/static/flight/Alaska-auto/images/chkboxes3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-server/static/flight/Alaska-auto/images/chkboxes3.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-server/static/flight/Alaska-auto/images/clear_text2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-server/static/flight/Alaska-auto/images/clear_text2.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-server/static/flight/Alaska-auto/images/collapse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-server/static/flight/Alaska-auto/images/collapse.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-server/static/flight/Alaska-auto/images/expand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-server/static/flight/Alaska-auto/images/expand.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-server/static/flight/Alaska-auto/images/flight_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-server/static/flight/Alaska-auto/images/flight_arrow.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-server/static/flight/Alaska-auto/images/geo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-server/static/flight/Alaska-auto/images/geo.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-server/static/flight/Alaska-auto/images/home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-server/static/flight/Alaska-auto/images/home.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-server/static/flight/Alaska-auto/images/info2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-server/static/flight/Alaska-auto/images/info2.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-server/static/flight/Alaska-auto/images/leftright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-server/static/flight/Alaska-auto/images/leftright.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-server/static/flight/Alaska-auto/images/logo2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-server/static/flight/Alaska-auto/images/logo2.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-server/static/flight/Alaska-auto/images/logos/AA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-server/static/flight/Alaska-auto/images/logos/AA.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-server/static/flight/Alaska-auto/images/logos/AS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-server/static/flight/Alaska-auto/images/logos/AS.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-server/static/flight/Alaska-auto/images/logos/DL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-server/static/flight/Alaska-auto/images/logos/DL.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-server/static/flight/Alaska-auto/images/logos/VX.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-server/static/flight/Alaska-auto/images/logos/VX.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-server/static/flight/Alaska-auto/stylesheets/circular/ASCircularWeb-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-server/static/flight/Alaska-auto/stylesheets/circular/ASCircularWeb-Bold.woff -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-server/static/flight/Alaska-auto/stylesheets/circular/ASCircularWeb-Book.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-server/static/flight/Alaska-auto/stylesheets/circular/ASCircularWeb-Book.woff -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-server/static/flight/Alaska-auto/surrogate/airportLookup.js: -------------------------------------------------------------------------------- 1 | // Surrogate autocomplete 2 | 3 | /* 4 | Called by: scripts/main.js 5 | 6 | Important args: 7 | - prefix 8 | - callback 9 | 10 | The response only contains at most 5 entries. 11 | 12 | Response examples: 13 | ["Adak Island, AK (ADK-Adak Island)", "Alexandria, LA (AEX-Alexandria Intl.)", "Brownsville, TX (BRO-South Padre Island Intl.)", "Cleveland, OH (CLE-Hopkins Intl.)", "Grand Forks, ND (GFK-Grand Forks Intl.)"] 14 | 15 | The cache only contains a partial list of possible airports. Will just use that. 16 | */ 17 | $miniwob.surrogateAutocomplete = function (prefix, callback) { 18 | function match() { 19 | var query = prefix.toLowerCase().replace(/[^a-z0-9 ]/, ''); 20 | var results = $miniwob.airports.filter(function (item) { 21 | return (item.toLowerCase().replace(/[^a-z0-9 ]/, '').includes(query)); 22 | }); 23 | callback(results.length ? results.slice(0, 5) : null); 24 | } 25 | 26 | if (!$miniwob.airports) { 27 | var xhr = new XMLHttpRequest(); 28 | xhr.onreadystatechange = function () { 29 | if (xhr.readyState == 4) { 30 | if (xhr.status == 200) { 31 | $miniwob.airports = JSON.parse(xhr.responseText); 32 | match(); 33 | } else { 34 | console.error('Error loading airports.json'); 35 | } 36 | } 37 | }; 38 | xhr.open('GET', 'surrogate/airports.json'); 39 | xhr.send(); 40 | } else { 41 | match(); 42 | } 43 | } 44 | 45 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-server/static/flight/flight-common/wrapper.css: -------------------------------------------------------------------------------- 1 | /* ################ SIZING ################ */ 2 | 3 | #wrap, #sync-task-cover { 4 | height: 667px; 5 | width: 375px; 6 | } 7 | #sync-task-cover { 8 | font-size: 200%; 9 | } 10 | 11 | #wrap { 12 | overflow-x: auto; 13 | overflow-y: auto; 14 | border: 0; 15 | } 16 | 17 | #reward-display { 18 | position: static; 19 | height: auto; 20 | width: auto; 21 | margin: 0; 22 | padding: 5px; 23 | } 24 | #reward-display .info { 25 | margin: 5px 0; 26 | } 27 | 28 | #query-wrap { 29 | position: absolute; 30 | top: 0; 31 | left: 380px; 32 | width: 260px; 33 | height: auto; 34 | } 35 | #query { 36 | height: auto; 37 | display: none; 38 | } 39 | #query-pretty { 40 | background-color: #EFF; 41 | font-size: 14px; 42 | padding: 3px; 43 | } 44 | #query-pretty .mode { 45 | font-weight: bold; 46 | display: none; 47 | } 48 | #query-pretty table { 49 | border-collapse: collapse; 50 | } 51 | #query-pretty th, #query-pretty td { 52 | border: 1px solid #ddd; 53 | padding: 2px 8px; 54 | width: 50%; 55 | text-align: left; 56 | } 57 | #reward-reason { 58 | background-color: #FEF; 59 | font-size: 14px; 60 | padding: 3px; 61 | } 62 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www-flight/core/jquery-ui/images/ui-icons_444444_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www-flight/core/jquery-ui/images/ui-icons_444444_256x240.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www-flight/core/jquery-ui/images/ui-icons_555555_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www-flight/core/jquery-ui/images/ui-icons_555555_256x240.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www-flight/core/jquery-ui/images/ui-icons_777620_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www-flight/core/jquery-ui/images/ui-icons_777620_256x240.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www-flight/core/jquery-ui/images/ui-icons_777777_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www-flight/core/jquery-ui/images/ui-icons_777777_256x240.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www-flight/core/jquery-ui/images/ui-icons_cc0000_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www-flight/core/jquery-ui/images/ui-icons_cc0000_256x240.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www-flight/core/jquery-ui/images/ui-icons_ffffff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www-flight/core/jquery-ui/images/ui-icons_ffffff_256x240.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www-flight/flight/Alaska-auto/images/aura.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www-flight/flight/Alaska-auto/images/aura.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www-flight/flight/Alaska-auto/images/cal3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www-flight/flight/Alaska-auto/images/cal3.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www-flight/flight/Alaska-auto/images/chkboxes3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www-flight/flight/Alaska-auto/images/chkboxes3.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www-flight/flight/Alaska-auto/images/clear_text2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www-flight/flight/Alaska-auto/images/clear_text2.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www-flight/flight/Alaska-auto/images/collapse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www-flight/flight/Alaska-auto/images/collapse.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www-flight/flight/Alaska-auto/images/expand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www-flight/flight/Alaska-auto/images/expand.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www-flight/flight/Alaska-auto/images/flight_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www-flight/flight/Alaska-auto/images/flight_arrow.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www-flight/flight/Alaska-auto/images/geo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www-flight/flight/Alaska-auto/images/geo.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www-flight/flight/Alaska-auto/images/home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www-flight/flight/Alaska-auto/images/home.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www-flight/flight/Alaska-auto/images/info2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www-flight/flight/Alaska-auto/images/info2.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www-flight/flight/Alaska-auto/images/leftright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www-flight/flight/Alaska-auto/images/leftright.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www-flight/flight/Alaska-auto/images/logo2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www-flight/flight/Alaska-auto/images/logo2.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www-flight/flight/Alaska-auto/images/logos/AA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www-flight/flight/Alaska-auto/images/logos/AA.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www-flight/flight/Alaska-auto/images/logos/AS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www-flight/flight/Alaska-auto/images/logos/AS.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www-flight/flight/Alaska-auto/images/logos/DL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www-flight/flight/Alaska-auto/images/logos/DL.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www-flight/flight/Alaska-auto/images/logos/VX.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www-flight/flight/Alaska-auto/images/logos/VX.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www-flight/flight/Alaska-auto/stylesheets/circular/ASCircularWeb-Bold.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www-flight/flight/Alaska-auto/stylesheets/circular/ASCircularWeb-Bold.woff -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www-flight/flight/Alaska-auto/stylesheets/circular/ASCircularWeb-Book.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www-flight/flight/Alaska-auto/stylesheets/circular/ASCircularWeb-Book.woff -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www-flight/flight/Alaska-auto/surrogate/airportLookup.js: -------------------------------------------------------------------------------- 1 | // Surrogate autocomplete 2 | 3 | /* 4 | Called by: scripts/main.js 5 | 6 | Important args: 7 | - prefix 8 | - callback 9 | 10 | The response only contains at most 5 entries. 11 | 12 | Response examples: 13 | ["Adak Island, AK (ADK-Adak Island)", "Alexandria, LA (AEX-Alexandria Intl.)", "Brownsville, TX (BRO-South Padre Island Intl.)", "Cleveland, OH (CLE-Hopkins Intl.)", "Grand Forks, ND (GFK-Grand Forks Intl.)"] 14 | 15 | The cache only contains a partial list of possible airports. Will just use that. 16 | */ 17 | $miniwob.surrogateAutocomplete = function (prefix, callback) { 18 | function match() { 19 | var query = prefix.toLowerCase().replace(/[^a-z0-9 ]/, ''); 20 | var results = $miniwob.airports.filter(function (item) { 21 | return (item.toLowerCase().replace(/[^a-z0-9 ]/, '').includes(query)); 22 | }); 23 | callback(results.length ? results.slice(0, 5) : null); 24 | } 25 | 26 | if (!$miniwob.airports) { 27 | var xhr = new XMLHttpRequest(); 28 | xhr.onreadystatechange = function () { 29 | if (xhr.readyState == 4) { 30 | if (xhr.status == 200) { 31 | $miniwob.airports = JSON.parse(xhr.responseText); 32 | match(); 33 | } else { 34 | console.error('Error loading airports.json'); 35 | } 36 | } 37 | }; 38 | xhr.open('GET', 'surrogate/airports.json'); 39 | xhr.send(); 40 | } else { 41 | match(); 42 | } 43 | } 44 | 45 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www-flight/flight/flight-common/wrapper.css: -------------------------------------------------------------------------------- 1 | /* ################ SIZING ################ */ 2 | 3 | #wrap, #sync-task-cover { 4 | height: 667px; 5 | width: 375px; 6 | } 7 | #sync-task-cover { 8 | font-size: 200%; 9 | } 10 | 11 | #wrap { 12 | overflow-x: auto; 13 | overflow-y: auto; 14 | border: 0; 15 | } 16 | 17 | #reward-display { 18 | position: static; 19 | height: auto; 20 | width: auto; 21 | margin: 0; 22 | padding: 5px; 23 | } 24 | #reward-display .info { 25 | margin: 5px 0; 26 | } 27 | 28 | #query-wrap { 29 | position: absolute; 30 | top: 0; 31 | left: 380px; 32 | width: 260px; 33 | height: auto; 34 | } 35 | #query { 36 | height: auto; 37 | display: none; 38 | } 39 | #query-pretty { 40 | background-color: #EFF; 41 | font-size: 14px; 42 | padding: 3px; 43 | } 44 | #query-pretty .mode { 45 | font-weight: bold; 46 | display: none; 47 | } 48 | #query-pretty table { 49 | border-collapse: collapse; 50 | } 51 | #query-pretty th, #query-pretty td { 52 | border: 1px solid #ddd; 53 | padding: 2px 8px; 54 | width: 50%; 55 | text-align: left; 56 | } 57 | #reward-reason { 58 | background-color: #FEF; 59 | font-size: 14px; 60 | padding: 3px; 61 | } 62 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/checkbox-numbers/ch_0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/checkbox-numbers/ch_0.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/checkbox-numbers/ch_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/checkbox-numbers/ch_1.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/checkbox-numbers/ch_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/checkbox-numbers/ch_2.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/checkbox-numbers/ch_3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/checkbox-numbers/ch_3.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/checkbox-numbers/ch_4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/checkbox-numbers/ch_4.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/checkbox-numbers/ch_5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/checkbox-numbers/ch_5.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/checkbox-numbers/ch_6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/checkbox-numbers/ch_6.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/checkbox-numbers/ch_7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/checkbox-numbers/ch_7.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/checkbox-numbers/ch_8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/checkbox-numbers/ch_8.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/checkbox-numbers/ch_9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/checkbox-numbers/ch_9.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/drag-cube/blank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/drag-cube/blank.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/email-inbox/delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/email-inbox/delete.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/email-inbox/forward.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/email-inbox/forward.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/email-inbox/left-arrow-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/email-inbox/left-arrow-white.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/email-inbox/left-arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/email-inbox/left-arrow.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/email-inbox/reply.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/email-inbox/reply.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/email-inbox/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/email-inbox/search.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/email-inbox/send.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/email-inbox/send.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/email-inbox/star-clicked.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/email-inbox/star-clicked.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/email-inbox/star.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/email-inbox/star.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/navigate-tree/images/ajax-loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/navigate-tree/images/ajax-loader.gif -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/navigate-tree/images/file.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/navigate-tree/images/file.gif -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/navigate-tree/images/folder-closed.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/navigate-tree/images/folder-closed.gif -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/navigate-tree/images/folder.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/navigate-tree/images/folder.gif -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/navigate-tree/images/minus.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/navigate-tree/images/minus.gif -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/navigate-tree/images/plus.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/navigate-tree/images/plus.gif -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/navigate-tree/images/treeview-black-line.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/navigate-tree/images/treeview-black-line.gif -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/navigate-tree/images/treeview-black.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/navigate-tree/images/treeview-black.gif -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/navigate-tree/images/treeview-default-line.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/navigate-tree/images/treeview-default-line.gif -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/navigate-tree/images/treeview-default.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/navigate-tree/images/treeview-default.gif -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/navigate-tree/images/treeview-famfamfam-line.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/navigate-tree/images/treeview-famfamfam-line.gif -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/navigate-tree/images/treeview-famfamfam.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/navigate-tree/images/treeview-famfamfam.gif -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/navigate-tree/images/treeview-gray-line.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/navigate-tree/images/treeview-gray-line.gif -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/navigate-tree/images/treeview-gray.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/navigate-tree/images/treeview-gray.gif -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/navigate-tree/images/treeview-red-line.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/navigate-tree/images/treeview-red-line.gif -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/navigate-tree/images/treeview-red.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/navigate-tree/images/treeview-red.gif -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/social-media/like-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/social-media/like-hover.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/social-media/like.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/social-media/like.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/social-media/more-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/social-media/more-hover.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/social-media/more.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/social-media/more.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/social-media/reply-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/social-media/reply-hover.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/social-media/reply.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/social-media/reply.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/social-media/retweet-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/social-media/retweet-hover.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/social-media/retweet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/social-media/retweet.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/social-media/share-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/social-media/share-hover.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/social-media/share.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/social-media/share.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/tic-tac-toe/o.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/tic-tac-toe/o.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/common/special/tic-tac-toe/x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/common/special/tic-tac-toe/x.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/core/jquery-ui/images/ui-icons_444444_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/core/jquery-ui/images/ui-icons_444444_256x240.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/core/jquery-ui/images/ui-icons_555555_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/core/jquery-ui/images/ui-icons_555555_256x240.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/core/jquery-ui/images/ui-icons_777620_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/core/jquery-ui/images/ui-icons_777620_256x240.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/core/jquery-ui/images/ui-icons_777777_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/core/jquery-ui/images/ui-icons_777777_256x240.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/core/jquery-ui/images/ui-icons_cc0000_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/core/jquery-ui/images/ui-icons_cc0000_256x240.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/core/jquery-ui/images/ui-icons_ffffff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/third-party/miniwob-sandbox/turk-www/core/jquery-ui/images/ui-icons_ffffff_256x240.png -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/miniwob/click-test-2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Click Test Task 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 16 | 17 | 34 | 35 | 36 |
    37 |
    Click button ONE.
    38 |
    39 | 40 | 41 |
    42 |
    43 | 44 | 45 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/miniwob/click-test-transfer.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Click Test Transfer Task 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 16 | 17 | 44 | 45 | 46 |
    47 |
    48 |
    49 | 50 | 51 |
    52 |
    53 | 54 | 55 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/miniwob/click-test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Click Test Task 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 15 | 16 | 31 | 32 | 33 |
    34 |
    Click the button.
    35 |
    36 | 37 |
    38 |
    39 | 40 | 41 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/miniwob/enter-password.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Enter Password Task 5 | 6 | 7 | 8 | 12 | 13 | 14 | 15 | 16 | 17 | 40 | 41 | 42 |
    43 |
    44 |
    45 |
    46 |

    47 |

    48 | 49 |
    50 |
    51 |
    52 | 53 | 54 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/miniwob/enter-text-dynamic.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Enter Dynamic Text Task 5 | 6 | 7 | 8 | 11 | 12 | 13 | 14 | 15 | 16 | 45 | 46 | 47 |
    48 |
    49 |
    50 |
    51 | 52 | 53 |
    54 |
    55 |
    56 | 57 | 58 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/miniwob/enter-text.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Enter Text Task 5 | 6 | 7 | 8 | 11 | 12 | 13 | 14 | 15 | 16 | 47 | 48 | 49 |
    50 |
    51 |
    52 |
    53 | 54 | 55 |
    56 |
    57 |
    58 | 59 | 60 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/miniwob/focus-text-2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Focus Text Task 5 | 6 | 7 | 8 | 11 | 12 | 13 | 14 | 15 | 49 | 50 | 51 |
    52 |
    53 |
    54 | 55 | 56 | 57 |
    58 |
    59 | 60 | 61 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/miniwob/focus-text.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Focus Text Task 5 | 6 | 7 | 8 | 11 | 12 | 13 | 14 | 15 | 44 | 45 | 46 |
    47 |
    48 |
    49 | 50 |
    51 |
    52 | 53 | 54 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/miniwob/login-user.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Login User Task 5 | 6 | 7 | 8 | 12 | 13 | 14 | 15 | 16 | 17 | 39 | 40 | 41 |
    42 |
    43 |
    44 |
    45 |

    46 |

    47 | 48 |
    49 |
    50 |
    51 | 52 | 53 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/miniwob/parser.py: -------------------------------------------------------------------------------- 1 | import re 2 | 3 | classes = set() 4 | with open("logfile", "r") as f: 5 | for line in f: 6 | match = re.match(r".*class='([^']+)'", line) 7 | if match: 8 | classes.add(match.group(1)) 9 | else: 10 | match = re.match(r".*class=\"([^\"]+)\"", line) 11 | if match: 12 | classes.add(match.group(1)) 13 | else: 14 | print line, 15 | 16 | #for c in classes: 17 | # print "\"{}\",".format(c) 18 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/turk-www/sync: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | rsync -avzuLi --exclude='*.swp' ./ jamie:/u/ppasupat/www/mturk/miniwob-v3/ $@ 3 | -------------------------------------------------------------------------------- /third-party/miniwob-sandbox/viewer/viewer.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Demonstration viewer 6 | 7 | 8 | 9 | 10 | 11 |
    12 |
    13 |
    14 |
    15 |
    16 |
    17 |
    18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /wge/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/wge/__init__.py -------------------------------------------------------------------------------- /wge/cache.py: -------------------------------------------------------------------------------- 1 | class Cache(object): 2 | """Provides a set of APIs for caching.""" 3 | def __init__(self): 4 | self._cache = dict() 5 | 6 | def uncached_keys(self, keys): 7 | """Returns a list of the keys that are not cached in the same order as 8 | keys. 9 | 10 | Args: 11 | keys (list[Hashable]) 12 | 13 | Returns: 14 | uncached_keys (list[Hashable]) 15 | """ 16 | uncached_keys = [] 17 | for key in keys: 18 | if key not in self._cache: 19 | uncached_keys.append(key) 20 | return uncached_keys 21 | 22 | def get(self, keys): 23 | """Given a set of cached keys, returns associated cached values. 24 | 25 | Args: 26 | keys (list[Hashable]) 27 | 28 | Returns: 29 | values (list[Object]): in same order as keys 30 | """ 31 | return [self._cache[key] for key in keys] 32 | 33 | def cache(self, keys, values): 34 | """Associates the keys with the values. 35 | 36 | Args: 37 | keys (list[Hashable]) 38 | values (list[Object]): same length as keys 39 | """ 40 | assert len(keys) == len(values) 41 | 42 | for key, value in zip(keys, values): 43 | self._cache[key] = value 44 | 45 | def clear(self): 46 | """Clears the cache.""" 47 | self._cache = dict() 48 | -------------------------------------------------------------------------------- /wge/data.py: -------------------------------------------------------------------------------- 1 | import os 2 | from gtd.io import Workspace 3 | 4 | # Set location of local data directory from environment variable 5 | env_var = 'RL_DATA' 6 | if env_var not in os.environ: 7 | assert False, env_var + ' environmental variable must be set.' 8 | root = os.environ[env_var] 9 | 10 | # define workspace 11 | workspace = Workspace(root) 12 | workspace.add_dir("experiments", "experiments") 13 | workspace.add_dir("glove", "glove") 14 | workspace.add_dir("demonstrations", "demonstrations") 15 | -------------------------------------------------------------------------------- /wge/formwob/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/wge/formwob/__init__.py -------------------------------------------------------------------------------- /wge/miniwob/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/wge/miniwob/__init__.py -------------------------------------------------------------------------------- /wge/miniwob/reward.py: -------------------------------------------------------------------------------- 1 | """Reward processors 2 | 3 | Each method takes the metadata with the following keys: 4 | - env_reward: MiniWoB official reward 5 | - raw_reward: Raw task reward without time penalty 6 | - done: Whether the task is done 7 | Then it returns a reward (float). 8 | """ 9 | 10 | def get_original_reward(metadata): 11 | return float(metadata['env_reward']) 12 | 13 | def get_raw_reward(metadata): 14 | """Get the raw reward without time penalty. 15 | This is usually 1 for success and -1 for failure, but not always. 16 | """ 17 | return float(metadata['raw_reward']) 18 | 19 | def get_click_checkboxes_hard(metadata): 20 | """(click-checkboxes task) Reward without partial credits. 21 | Give 1 if the raw reward is 1. Otherwise, give -1. 22 | """ 23 | if not metadata['done']: 24 | return 0. 25 | return 1. if metadata['raw_reward'] == 1. else -1. 26 | 27 | def raw_reward_threshold(threshold): 28 | """Return a reward processor that cut off at a threshold.""" 29 | def fn(metadata): 30 | if metadata['raw_reward'] > threshold: 31 | return 1. 32 | elif metadata['raw_reward'] > 0: 33 | return -1 34 | return metadata['raw_reward'] 35 | return fn 36 | 37 | 38 | def get_reward_processor(config): 39 | if config.type == "time_independent": 40 | return get_raw_reward 41 | elif config.type == "time_discounted": 42 | return get_original_reward 43 | elif config.type == "click_checkboxes_hard": 44 | return get_click_checkboxes_hard 45 | else: 46 | raise ValueError( 47 | "{} not a valid reward processor type".format(config.type)) 48 | -------------------------------------------------------------------------------- /wge/tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/wge/tests/__init__.py -------------------------------------------------------------------------------- /wge/tests/miniwob/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stanfordnlp/wge/bed526657a62a64a163f80deb4a8627cb63871a3/wge/tests/miniwob/__init__.py -------------------------------------------------------------------------------- /wge/tests/miniwob/test_distance.py: -------------------------------------------------------------------------------- 1 | from wge.miniwob.distance import rectangle_distance, \ 2 | line_segment_distance 3 | 4 | 5 | class TestDistanceModule(object): 6 | def test_rectangle_distance(self): 7 | pass 8 | 9 | def test_line_segment_distance(self): 10 | # six cases of ((s1, e1, s2, e2), dist) 11 | cases = [ 12 | ((0, 1, 2, 3), 1), # (s1, e1, s2, e2) 13 | ((0, 2, 1, 3), 0), # (s1, s2, e1, e2) 14 | ((0, 3, 1, 2), 0), # (s1, s2, e1, e1) 15 | ((1, 2, 0, 3), 0), # (s2, s1, e1, e2) 16 | ((2, 3, 0, 1), 1), # (s2, e2, s1, e1) 17 | ((1, 3, 0, 2), 0), # (s2, s1, e2, e1) 18 | ] 19 | 20 | for (s1, e1, s2, e2), dist in cases: 21 | assert dist == line_segment_distance(s1, e1, s2, e2) 22 | -------------------------------------------------------------------------------- /wge/visualize.py: -------------------------------------------------------------------------------- 1 | import gtd.ml.training_run_viewer 2 | from gtd.ml.training_run_viewer import run_name, Commit, JSONSelector, NumSteps 3 | from wge.training_run import MiniWoBTrainingRuns 4 | 5 | 6 | class TrainingRunViewer(gtd.ml.training_run_viewer.TrainingRunViewer): 7 | 8 | def __init__(self): 9 | runs = MiniWoBTrainingRuns(check_commit=False) 10 | super(TrainingRunViewer, self).__init__(runs) 11 | 12 | metadata = lambda keys: JSONSelector('metadata.txt', keys) 13 | 14 | self.add('name', run_name) 15 | self.add('commit', Commit(), lambda s: s[:8]) 16 | self.add('dataset', metadata(['config', 'dataset', 'path'])) 17 | self.add('steps', NumSteps()) 18 | self.add('host', metadata(['host']), lambda s: s[:10]) 19 | self.add('last seen', metadata(['last_seen'])) 20 | 21 | two_decimal = lambda f: '{:.2f}'.format(f) 22 | --------------------------------------------------------------------------------