-
Notifications
You must be signed in to change notification settings - Fork 5
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
taking your word for it, as you suggested
BASE_NAME_LENGTH_CAP = 96 | ||
WORLD_NAME_LENGTH_CAP = 128 | ||
EDGE_LABEL_LENGTH_CAP = 64 | ||
PERSONA_LENGTH_CAP = 512 | ||
DESCRIPTION_LENGTH_CAP = 512 | ||
NAME_PREFIX_LENGTH = 32 | ||
ID_STRING_LENGTH = 40 | ||
QUEST_MOTIVATION_LENGTH = 128 | ||
REPORT_REASON_LENGTH = 1024 | ||
FILE_PATH_LENGTH_CAP = 96 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
just curious - are these mostly arbitrary?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mostly, I went with reasonable lengths from what I've seen in the DB so far, then added ~50%.
Only ID_STRING_LENGTH
is exact, as it's a 36 character uuid-4 with a 4 character KEY-
attached.
class HasDBIDMixin: | ||
"""Simple mixin for classes that define their own DBID schema""" | ||
|
||
ID_PREFIX: str # ID prefix should be 3 characters max. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is this enforced?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is by ID_STRING_LENGTH
, but nothing else will cause a failure directly just from the class imports. I imagine it'd be possible to add a test that imports this class, finds all subclasses of HasDBIDMixin
, and then asserts the length though... Let me see if that's doable in ~5m
* add missing missions * added star shine animation * added star shine animation * events are totally broken * Fixes and enhancements to use_events * styled soul spawn entry * Another round of backend fixes * Also fix debug logging? * Skip dialogue safety check on DEBUG * Usage limit to scrolls * added check for quest completion to reducer * added Mission success entry and total exp to progress bar * fixed border on soul spawn event entry * adding copy to tutorial page * added images to experience points topic * adding images to experience points system topic * removed glowing effect from character description on soul spawn event * added imagee to experience points system * added images to character basics * Proper serialization and deserialization of UseEvent * dozing fix * added image styles for tutorial page * added sizing styles to experience points system topic images * added image styles to character basics * Death message * Death has better messaging * added and styled action images * resized tutorial header subheader and text classes * styled tutorial text * removed tutorial header * added back link to tutorial pagee * added Character header to soulspawn event * styled stars and added shrinking animation and slide animation to message styles * added character map util function for default character emojis * fixed images being transparent with background * removed inline styling and added soulspawn-subheader class * comment out previous code for emoji mapping for later use * fixed type in exprience points system * fixed character subheader placement * update help commands * added modal component and instruction modal state * Fixing doubled context on unsafe message * Parsing events with capitalization * Fixing grammar in leave and arrive events * added header to instruction modal content * added copy to modal and back functionality to tutorial page back button * styled instruction modal and added tutorial screenshots * added closes functionality to modal * added new back button to terms and about pages * set modal to not render unless player xp<=10 * fixed typo in minitutorial * Update index.js * added help entry * updated styles * added send button and styles to chat input component * generative start features * moar * requirements change * aadded play button to bottom of tutorial page * added status entry * humanz (#228) * added and styled inventory message entry * added button revisions * Update Actions.js * fixed mobile styling for entry * restyled inventory message and made it responsive * refactored status message * restyled help entry with requested revisions * Added and styled Quest component and added it to entry component * merged other entries and removed console logs * merged all branches * restyled home page * fixed sizing bug * refactored landing app * restyled aboutpage * restyled tutorialpage * restyled terms page * restyled login page * restyled error page and logout page * styling gameapp * restyling chatlog for mobile * added isMobile state and restyled modal * added drawer feature * added resize state and event listener * added glowing button component removed typos in gameapp/styles.css building MobileFrame component * added mobile frame header * added toggleswitch, header, and buttons to mobile frame * connected mobile frame to gameapp * styled toggle and header * fixed responsive sizing in mobile frame * fixed speech bubble tails responsiveness * fixed chat icon positioning in mobile view * fixing chatlog styles * fixed chat alignment issues in mobile ui * added tooltip and lable to sidebar toggle switch * fixed spacing issue from help message (#238) * fixed spacing issue from help message * fixed sizing issue on tutorial screen * Mobile restyling Fixes (#239) * fixed spacing issue from help message * fixed sizing issue on tutorial screen * fixing borders and sizing issues * added styles for mobile landscape view * fixed fixed positioning in mobile view * cleared unused styles * fixed progress bar text * fixed text and nameplate styling and landing app tutorial page * added space at footer for landing app pages * fixed fonts on level dispaly and progress bar, changed logout button text color * fixed sizing of messages, sizing of text, send button styling * parse actions with wierd quotes (#244) * Updating parser for multithreading (#251) * added say and do buttons added documentation * removed unused code and added more documentation to chatdisplay component * adding mobile style fixes to progress bar and level display * wired tell feature * fixed repsonsive styling of player info icons on mobile * adding redux * added redux and redux toolkit * added typescript to game app * Server data browsing scripts and fixes (#255) * Requirements fix (#258) * Human to player (#259) * Merging _human and is_player * Removing old function * No longer true case about cap on characters * Crowdsourcing UI (#261) * fixed spacing issue from help message * fixed sizing issue on tutorial screen * fixing borders and sizing issues * added styles for mobile landscape view * fixed fixed positioning in mobile view * cleared unused styles * fixed progress bar text * fixed text and nameplate styling and landing app tutorial page * added space at footer for landing app pages * added views * updating structure * added example card component * added copy arrays, styling example cards, and building good example list * styled example list components * styling preview view * adjusted content and overflow to be right of it's label, fixed intro copy, fixed coloring in details section * fixed details interaction copy * fixed alignment of example card content * building button * fixed placement of definitions and added spacing * pre-merge * added error and success toats * added screenshot to tutorial, added toast to submit * duplicated previous task * formatting constraint events task * fixed conf * restructuring app * building multiple choice * added answer form * built reusable question components, added copy, building and styling forms * added fieldQuestion component * added fieldrow component * added attributesetter component * added constraints component and questions * styled question components, headers, and layout * added multiple select question component * built attribute setter, attribute row, and added dummy data * styled attribute setter * connected dummy Data, restyled events and constraint containers, colored object names * added copy updates from initial thoughts, added location description question * added taskdatacards and datacard component * styling cards and field row border * added formatquestion component * minor style fixes on field row, added formatquestion component to task card * added format question component to boolean question component * fixed formatquestion component * added drop down component and submit checklist components * fixed positioning and fixing numbering for questions * added delete functionality to attribute setter * added and styled submission component * Adding new example copy, passing name and descriptions (#245) * pre pull * pre pull * Fixing clobbered run_task.py (#246) * Adding new example copy, passing name and descriptions * Fixing run_task.py * Fixing script config * successfully updated run_task * added and styled description to object selector, form tips, and preview image * fixed payload update * updated example card component with primary and secondary desc and styled text * updated example card component with primary and secondary desc and styled text * Task2 submit (#248) * adding state for payload * added error state * centralizing copy * added isReversible, removeItems, isRemovingItems isCreatingEntity, createdEntity, isSecondaryHeld state * building updatedRemoveObjects * added create entity event to submission handler * added events and constraints handling and packaging for payload submission * wired constraint and event state to constraint and event components * connected new copy object to events * wiring task 2 * wiring event forms * fixed field row styles * added tooltip component, building preview and tutorial copy object * added task 2 tutorial copy, added and styled tutorial entry component, added and styled preview view * updated copy for preview and updated layout * added screenshots for Preview * finishing final submission and preview changes * fixed create entity connection to submission * connected constraints and fixed submission state * building error handling and checklist component logic * building error handling and checklist component logic * added error key to task copy file * added error toasts, error key, and completion checkboxes component * fixed checkbox, restyled headers, added plus icon to add attribute button * fixed error handling for broadcast messsage and item description changes * fixed attribute setter connection to submission payload * added documentation to components, removed console logs, fixed tooltip styling, and added mephisto handleSubmit to submit function * Fixed spacing, removed improperly placed checkboxes, updated copy, updated screenshots * merge * Finalizing Narrations pilot (#257) * Moving files * Importing new examine script * Updated review scripts * Final changes for pilot * dropped configs * style changes based on user feedback * Missing css class * Fixing run, fixing copy * Updating Attributes task final pilot * Is safe is light task (#256) * Troubleshooting image loading issue * added task4, added multiple choice, added run tas and yaml files, build task state * added task4, added multiple choice, added run tas and yaml files, build task state * added Sucess and Error Banners * added copy to task copy, restructuring QuestionBlock component * added format question, updated taskcopy, added header to QuestionBlock * added tooltip component * added checkbox component * restyled question block orietation, removed unused styles * added error handling and submissionhandler * properly styled error banner * fixed submission issues * added bootstrap styles, updated comments on Question Block and multiplechoice components, added more copy for preview * several minor styling fixes, checkbox positioning, alert color, etc * Task2 locationupdate (#254) * Troubleshooting image loading issue * added, connected, and styled onSelectQuestion component for handling location change event * added, connected, and styled onSelectQuestion component for handling location change event * added error handling for new location * removed console.logs from question on select and converted inline styles to classes * Updating folder location Co-authored-by: Jack Urbanek <[email protected]> * Merging task 3 into crowdsourcing ui (#260) * Troubleshooting image loading issue * initial setup complete * building Actor Block * adding actor block draw functionality * adding actor block draw functionality * added styles, building window size state * added getDimensions utility function, added dimension state to scale component, connectect state to konva stage * added scale range optionblock footer, styled scale question component and subcomponents, connected dummy data from app.js to task component * added color gradient for scale, fixing some border styling, and sizing issues * fixed styling and fixed drag boundaries * adding more informative variables and comments, fixed boundaries, tooling with flag sizing * added GetFlagDimensions util function, breaking down scale component into scalefield scalerange scale flag selection gallery components * fixed scaleRange component to map through array of ranges replacing previous hardcoded values * changed ScaleRange component name to ScaleFooter * change pixels to percentages in scalerange section width * added documentation to ScaleQuestion component * Fixed left boundary, broke flags and selection gallery into components * fixing flag placement * Added input header, added documentation, fixed leftSoftBoundary, fixed left flagpole shift, added rating value to selection state * building task copy and dummy data * added task copy * wiring task copy into question components * added tagrow and tagquestion * styled attributes tag question * added datatype switch for testing * added conditional rendering to number form in tag question * added state to tokenizer * added ref to tokenizer, added header to copy, added header prop to tag question * Task3 scale component (#249) * building Actor Block * adding actor block draw functionality * adding actor block draw functionality * added styles, building window size state * added getDimensions utility function, added dimension state to scale component, connectect state to konva stage * added scale range optionblock footer, styled scale question component and subcomponents, connected dummy data from app.js to task component * added color gradient for scale, fixing some border styling, and sizing issues * fixed styling and fixed drag boundaries * adding more informative variables and comments, fixed boundaries, tooling with flag sizing * added GetFlagDimensions util function, breaking down scale component into scalefield scalerange scale flag selection gallery components * fixed scaleRange component to map through array of ranges replacing previous hardcoded values * changed ScaleRange component name to ScaleFooter * change pixels to percentages in scalerange section width * added documentation to ScaleQuestion component * Fixed left boundary, broke flags and selection gallery into components * fixing flag placement * Added input header, added documentation, fixed leftSoftBoundary, fixed left flagpole shift, added rating value to selection state * pre payload branch * added scaled attribute basevalues * added updateHandler * fixed attributeupdatehandler * fixed boolean payload change handler * fixed custom scale rating and input * fixed numberic attribute handler * added numeric attributes array * added multiple select question and Usefulness scale * added default questions for each type to task copy * added attribute questions component and added more documentation to Task component * fixing tag question component added tooltip component * updated defaultAttribute questions styles and update functions * fixed multiple choice component * added selection consideration to multiplechoice component * added more informative error banner * tested submit successfully * fixed scale component header alignment * premerge changes, added to tutorial copy * pre merge * removed labels from custom attribute scale, added better variables describing fixed number values in scale field, fixed indentation in multiplechoice component, changed placeholder message in tagrow * Task3 preview (#253) * added attributeChecklist screenshots * added tutorial screenshots * added final screenshot for attributeRadio * added images to TaskCopy.js * added copy and screenshots for scales and type specific tutorials * populated preview with tutorial entry components using taskcopy * added new screenshots to attributeradio2, attributeradio3 assets, styled preview * added check for 4 custom boolean attributes * changed header text color to dark blue Co-authored-by: Justin Pinero <[email protected]> Co-authored-by: JustinPinero <[email protected]> * Moving task3 * Moving safe-light task Co-authored-by: Justin Pinero <[email protected]> Co-authored-by: JustinPinero <[email protected]> * Fixing npc assignment bug (#263) * added redux foundation, added personal info slices, added xp, giftxp, persona, location, reducers * added increaseXp and decrementGiftXp to reducer actions * added foundation for redux websocket integration * added documentation to slices, wired xp and giftxp redux state into experienceinfo component * removed passed props from experience info components * added sessioninfo section to features, added session xp slice, added session spent gift exp slice * removed xp props from sidebar * fixed emoji picker redux action, added view slice * Added documentation to GamePage for new state and useEffects, removed local state in game page, sidebar, mobile header * added chatInput Slice * restructured messages and types, restyling messages * fixed overlapping system messages * restructured message types and styles, fixed help message overlap bug, restyling help message copy, removed legacy styles for all message types aside from setting, player message, and agent message * restyled help message for both mobile and desktop * Multi-agent chat first pass (#264) * Multi-agent chat first pass * First round changes, clarity * Review script * Forced timeout loop * removed console logs, unused code, added substantial documentation, restyled award stars for both mobile and PC, connected sessionspentgiftxp to AgentMessage component * added styling for safari browser, added styling for mobile, fixed mainpage scrolling on refresh bug, fixed text sizing, added scrolling to each message time, added mobile specific styling to setting message * building tutorial popover * added info button * added tutorial popover component, added gamecopy file with tutorial copy, connected popover to sidebar header and body, connected redux state to tutorial * added tooltips to both chat display and sidebar * added help mode, added on click tool tips to playerinfo, Character info, mission info, location info, soulspawn message, setting message, agent message, quest message * added tooltips and animations to quest message, status message, agent message, player messsage * added tooltips and animations for inventory, send button, chat input, and chat mode, fixed agent message help mode bug * added infobutton component, added render condition to infobutton in sidebar component, added infobutton to mobile header * fixed toggle to clear tooltips during switch when in help mode * added and styled final tool tips, fixed cycle tooltips on chat bar, fixed and restyled scrolling and sizing on chat display and sidebar * Added lightqa readme that shows how to run seq2seq2seq interactively in light. (#268) Co-authored-by: Leonard Adolphs <[email protected]> * Creating a light world object from an instance of the old graph (#269) * updated the World to initiate it from the old dataset graph * docstring * Updated lightqa readme with new checkpoints. (#270) Co-authored-by: Leonard Adolphs <[email protected]> * Clarifying the equipped objects (#271) * clarifying the equipped objects * fixed the equipping tests * Documentation time (#273) * Some initial READMEs * More readmes * Even more docs * Events docs * World docs * Creating `light` master script for ParlAI tooling (#274) * Boilerplate for LIGHT-parlai content * Re-ordering * adding common sense + world builder code * Merging in teachers and code for RL-Quests paper. (#275) * Baseline code for standardizing data loading * atomic teachers working * Cleanup atomic * quest goals teacher * Predictive machines to projects * Wild chat task and code and sweeps * Updating sweep paths to new locations * Cleaning up quests build * Finished all _operational_ quests code * Remaiing related sweeps * Dropping sweeps * Uploading relevant models, adding download paths * Rl quests merge (#276) * Baseline code for standardizing data loading * atomic teachers working * Cleanup atomic * quest goals teacher * Predictive machines to projects * Wild chat task and code and sweeps * Updating sweep paths to new locations * Cleaning up quests build * Finished all _operational_ quests code * Remaiing related sweeps * Core quests rl project code * Sweeps related to RL code * Adding missing models * Dropping sweeps * Removing _almost_ all checkpoint links * Uploading relevant models, adding download paths * Core quests rl project code * Sweeps related to RL code * Adding missing models * Removing _almost_ all checkpoint links * Removing sweeps * removing sweeps... again * Build scripts now point to real file * Intro code for new project (#279) * Creating example builder script for story agents project * Writing play map example script * initial setup for both object interaction tasks * small cleanup task reviewing * default attr. from light db, make editable * small bug fix & format changes * slightly cleaner in-place update * Task lightgame (#281) * added gameplay task view * added gameplay task view * fixed message transmission in both gameapp reducer and task redux-slice * removed boilerplate * placed topmessage function at top of reducer * messy separation into tasks, needs cleanup * Pre-authorized worker login (#282) * First worker login test * Updating preauth to send context to target node, using salted hash * polishing new tasks, making to-fill more distinct * remove location box from attribute task * updating constraint task with backstory q * rename narration field, remove deleted obj * removed deleted options, action phrase * Gameapp instruction modal removal (#285) * disconnected instruction modal from GamePage * removed instructional modal * Tutorial world, full implementation (#266) * Adding flags to determine new players * Adding tutorial components, first pass * Transition from tutorial to main world seamlessly * Creating tutorial script * add models that maintain identity * override model * New secure cookies * New secure cookies, correctly * Bugfix for tests * More tutorial content Co-authored-by: Kurt Shuster <[email protected]> * Single model, reusing ActionParser (#286) * World hotfix * Small deploy-related fixes (#287) * LIGHT Tutorial fixes (#289) * Worldbuilder update (#272) * added redux * added player world slice * building modals, added modal slice to redux state * Connected modal redux state to world row icons * added create world button, styled homepage buttons and layout * building editworldpage, added stat block, added nav buttons for editworldpage, added selected world to redux state * styling modals, connected modal content to selected world redux state * added world edit routes * connected EditWorldFrame buttons to navigation * added breadcrumbs component * added buttongroups component * fixed side navigation * added sidebar component * added sidebar feature slice, built sidebar * fixed edit world sections, added general table, added dummydata * added filter to search bar * building rooms page, added bread crumb, added 2 generate fields * added slider component * added slider and button toggle to room form * added map to map page, added properly structured dummy-data to act as backend * added rooms, objectsm, and characters redux slices * Added new map components, tile, grid, utils, building tile, connected page to redux store * worldbuilder map rework, fetching and sorting room data in map page lifecycle * added border calculator * added and tested grid data generator and room checker utility functions * rebuilt grid and map components without using grid-layout library * fixing dimensions on tiles * styling paths * added sidebar, connected sidebar to selectedroom slice, connected tile click handler to sidebar and select room slice * connected advanced edit to basiceditmodal * added numberbuttoninput to tool bar * added and connected floor selector * added neighbor props to tile component, set conditional rendering for tile paths * refactoring typeahead tokenizer * fixed tokenizer * various map fixes, added character route, added cog click route, connected redux state to edit details character and object sections * fixed centering of map * added extra columns and rows at beginning and end of both axis of map * fixed starting position with new grid data * Fixing tile color update function * fixing color change state * Fixed local storage update, refactored add, delete, update reducer actions, tested map update and save, removed console logs * fixed color selection, added direct updates to draft on tile click when in color mode * added id generation to character, room, and object creation * fixed simple additions for basic edit for both characters and items * built advanced edit pages, fixed slider and generate forms, fixing path update bug on map component * fixed map loading error * began styling tiles, fixing path update bug: * fixed breadcrumbs, fixed local storage, added add room feature, added delete room feature, added create and delete buttons to quick edit, fixed tokenizer clearing selected tokens on room change * fixed edit room switch on creation, fixed edit room rerender on deletion, added map-slice, fixed position change on updates * fixed add character clearing list bug * fixed delete functions and associated state changes for both room and objects or characters, fixed sorting for tokenizer options, fixed tokenizer node creation * updated grid data generator helper function to include above and below floors * added footer and stair components to tile * fixed wiring for advanced room editor * connected advanced edit forms to state * added inlinetext insert component to character and object pages * fixed breadcrumbs * set object prefix defaults and plural defaults * added character prefix state and defaults * added and tested nested delete util function to edit objects page * added content remover helper function Co-authored-by: Jack Urbanek <[email protected]> * New database stubs for updated data model * Enums, Dataclasses * addressing some comments * updating narration and first 2 grounding tasks * updates for whole pipline * cleanup, deleted a file * Rebuild on main, committed (#299) * requirements * Fix tests on `main` (#301) * Bump parlai * soften pytest * Test soul messing up testing * Another mis-test * Accidentally dropped file * Stop confusing the tests * another one snuck by * Implementing New Users Tables (#292) * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * New Episode logging (#293) * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Addressing comments, clarifying code * New environment db (#295) * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * Using `EpisodeDB` in main game path (#297) * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * adding WorldConfig to hold complex configuration vars * Moving episode_db into relevant GraphBuilders * Game launches, but not logging * Local BaseDB, now saving episodes * Missing files * deleting miscommit * test fix * Using `UserDB` as main game identity storage (#298) * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * adding WorldConfig to hold complex configuration vars * Moving episode_db into relevant GraphBuilders * Game launches, but not logging * Local BaseDB, now saving episodes * Missing files * deleting miscommit * test fix * Migrating to UserDB * No more LIGHTDatabase in TornadoServer * Fixing tests * Works after testing locally * Updated messaging for unimplemented * Creating and using the `ModelPool` (#300) * Some initial transitions over to model pool * Moving initialization code out from where it occurred * Wiring more of the system together * Adding opt for reranked generative * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * adding WorldConfig to hold complex configuration vars * Moving episode_db into relevant GraphBuilders * Game launches, but not logging * Local BaseDB, now saving episodes * Missing files * deleting miscommit * test fix * Migrating to UserDB * No more LIGHTDatabase in TornadoServer * Fixing tests * Works after testing locally * Updated messaging for unimplemented * Upgrading OneRoomGraphBuilder to ModelPool * Completing (almost) the rest of Modelpool references * Works without loading models in play_map * Model pool actually works * Safety working as well * removing prints * Fixing some tests, skipping starspace * Runs on server too * Enums for model types * Fixing bad merge * Creating LIGHT's ModelServer (#302) * Some initial transitions over to model pool * Moving initialization code out from where it occurred * Wiring more of the system together * Adding opt for reranked generative * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * adding WorldConfig to hold complex configuration vars * Moving episode_db into relevant GraphBuilders * Game launches, but not logging * Local BaseDB, now saving episodes * Missing files * deleting miscommit * test fix * Migrating to UserDB * No more LIGHTDatabase in TornadoServer * Fixing tests * Works after testing locally * Updated messaging for unimplemented * Upgrading OneRoomGraphBuilder to ModelPool * Completing (almost) the rest of Modelpool references * Works without loading models in play_map * Model pool actually works * Safety working as well * removing prints * Fixing some tests, skipping starspace * Runs on server too * Creating LIGHT's ModelServer * Undo server change * tornado simplicity * Handling for inline candidate models * But regular models should also work without this * Enums for model types * `asyncio` all over LIGHT (#304) * Some initial transitions over to model pool * Moving initialization code out from where it occurred * Wiring more of the system together * Adding opt for reranked generative * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * adding WorldConfig to hold complex configuration vars * Moving episode_db into relevant GraphBuilders * Game launches, but not logging * Local BaseDB, now saving episodes * Missing files * deleting miscommit * test fix * Migrating to UserDB * No more LIGHTDatabase in TornadoServer * Fixing tests * Works after testing locally * Updated messaging for unimplemented * Upgrading OneRoomGraphBuilder to ModelPool * Completing (almost) the rest of Modelpool references * Works without loading models in play_map * Model pool actually works * Safety working as well * removing prints * Fixing some tests, skipping starspace * Runs on server too * Creating LIGHT's ModelServer * Undo server change * tornado simplicity * Handling for inline candidate models * But regular models should also work without this * Async... all of the things... * Async the server too * clearing up async server tests * Correct async mock * internalize init_world * clean up tornado usage * small GameInstance bug * small GameInstance bug * Some deploy fixes * Moving safety model to async part * Some safety fixes * test fixes * Enums for model types * Checking for non-list to convert first * AWS Option for LIGHT data model storage (#305) * Some initial transitions over to model pool * Moving initialization code out from where it occurred * Wiring more of the system together * Adding opt for reranked generative * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * adding WorldConfig to hold complex configuration vars * Moving episode_db into relevant GraphBuilders * Game launches, but not logging * Local BaseDB, now saving episodes * Missing files * deleting miscommit * test fix * Migrating to UserDB * No more LIGHTDatabase in TornadoServer * Fixing tests * Works after testing locally * Updated messaging for unimplemented * Upgrading OneRoomGraphBuilder to ModelPool * Completing (almost) the rest of Modelpool references * Works without loading models in play_map * Model pool actually works * Safety working as well * removing prints * Fixing some tests, skipping starspace * Runs on server too * Creating LIGHT's ModelServer * Undo server change * tornado simplicity * Handling for inline candidate models * But regular models should also work without this * Async... all of the things... * Async the server too * clearing up async server tests * Correct async mock * internalize init_world * clean up tornado usage * small GameInstance bug * small GameInstance bug * Some deploy fixes * now using aws as a storage backend * Moving safety model to async part * Some safety fixes * test fixes * silly elif fix * dropped change on merge * Stable Server commit before coming refactors (#306) * Some initial transitions over to model pool * Moving initialization code out from where it occurred * Wiring more of the system together * Adding opt for reranked generative * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * adding WorldConfig to hold complex configuration vars * Moving episode_db into relevant GraphBuilders * Game launches, but not logging * Local BaseDB, now saving episodes * Missing files * deleting miscommit * test fix * Migrating to UserDB * No more LIGHTDatabase in TornadoServer * Fixing tests * Works after testing locally * Updated messaging for unimplemented * Upgrading OneRoomGraphBuilder to ModelPool * Completing (almost) the rest of Modelpool references * Works without loading models in play_map * Model pool actually works * Safety working as well * removing prints * Fixing some tests, skipping starspace * Runs on server too * Creating LIGHT's ModelServer * Undo server change * tornado simplicity * Handling for inline candidate models * But regular models should also work without this * Async... all of the things... * Async the server too * clearing up async server tests * Correct async mock * internalize init_world * clean up tornado usage * small GameInstance bug * small GameInstance bug * Some deploy fixes * now using aws as a storage backend * Moving safety model to async part * Some safety fixes * test fixes * silly elif fix * Taking bug-fixes from stable server * Model server changes too * Skip another web test, works in prod, refactor incoming * Enums for model types * Checking for non-list to convert first * Slightly more clarity * Privacy commitment improvements (#307) * Some initial transitions over to model pool * Moving initialization code out from where it occurred * Wiring more of the system together * Adding opt for reranked generative * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * adding WorldConfig to hold complex configuration vars * Moving episode_db into relevant GraphBuilders * Game launches, but not logging * Local BaseDB, now saving episodes * Missing files * deleting miscommit * test fix * Migrating to UserDB * No more LIGHTDatabase in TornadoServer * Fixing tests * Works after testing locally * Updated messaging for unimplemented * Upgrading OneRoomGraphBuilder to ModelPool * Completing (almost) the rest of Modelpool references * Works without loading models in play_map * Model pool actually works * Safety working as well * removing prints * Fixing some tests, skipping starspace * Runs on server too * Creating LIGHT's ModelServer * Undo server change * tornado simplicity * Handling for inline candidate models * But regular models should also work without this * Async... all of the things... * Async the server too * clearing up async server tests * Correct async mock * internalize init_world * clean up tornado usage * small GameInstance bug * small GameInstance bug * Some deploy fixes * now using aws as a storage backend * Moving safety model to async part * Some safety fixes * test fixes * silly elif fix * Taking bug-fixes from stable server * Model server changes too * Skip another web test, works in prod, refactor incoming * Ensure we're not using FB user data * Methods for scrubbing the datasets * Deleting player data and related graph info * Fixing bugs, adding tests * Environment exporting * Export episode DB too * 60 != 90 * Addressing comments * Small fixes for episode db keys * world dissociation * Small episode test cleanup * Adding headers * Some rollbacks, some copyright fixes * More header fixes * Clean up irrelevant paths Co-authored-by: Jason Weston <[email protected]> Co-authored-by: Justin Pinero <[email protected]> Co-authored-by: JustinPinero <[email protected]> Co-authored-by: Leonard <[email protected]> Co-authored-by: Leonard Adolphs <[email protected]> Co-authored-by: Mojtaba <[email protected]> Co-authored-by: Alex Gurung <[email protected]> Co-authored-by: Alex Gurung <[email protected]> Co-authored-by: Kurt Shuster <[email protected]>
* fixed spacing issue from help message (#238) * fixed spacing issue from help message * fixed sizing issue on tutorial screen * Mobile restyling Fixes (#239) * fixed spacing issue from help message * fixed sizing issue on tutorial screen * fixing borders and sizing issues * added styles for mobile landscape view * fixed fixed positioning in mobile view * cleared unused styles * fixed progress bar text * fixed text and nameplate styling and landing app tutorial page * added space at footer for landing app pages * fixed fonts on level dispaly and progress bar, changed logout button text color * fixed sizing of messages, sizing of text, send button styling * parse actions with wierd quotes (#244) * Updating parser for multithreading (#251) * added say and do buttons added documentation * removed unused code and added more documentation to chatdisplay component * adding mobile style fixes to progress bar and level display * wired tell feature * fixed repsonsive styling of player info icons on mobile * adding redux * added redux and redux toolkit * added typescript to game app * Server data browsing scripts and fixes (#255) * Requirements fix (#258) * Human to player (#259) * Merging _human and is_player * Removing old function * No longer true case about cap on characters * Crowdsourcing UI (#261) * fixed spacing issue from help message * fixed sizing issue on tutorial screen * fixing borders and sizing issues * added styles for mobile landscape view * fixed fixed positioning in mobile view * cleared unused styles * fixed progress bar text * fixed text and nameplate styling and landing app tutorial page * added space at footer for landing app pages * added views * updating structure * added example card component * added copy arrays, styling example cards, and building good example list * styled example list components * styling preview view * adjusted content and overflow to be right of it's label, fixed intro copy, fixed coloring in details section * fixed details interaction copy * fixed alignment of example card content * building button * fixed placement of definitions and added spacing * pre-merge * added error and success toats * added screenshot to tutorial, added toast to submit * duplicated previous task * formatting constraint events task * fixed conf * restructuring app * building multiple choice * added answer form * built reusable question components, added copy, building and styling forms * added fieldQuestion component * added fieldrow component * added attributesetter component * added constraints component and questions * styled question components, headers, and layout * added multiple select question component * built attribute setter, attribute row, and added dummy data * styled attribute setter * connected dummy Data, restyled events and constraint containers, colored object names * added copy updates from initial thoughts, added location description question * added taskdatacards and datacard component * styling cards and field row border * added formatquestion component * minor style fixes on field row, added formatquestion component to task card * added format question component to boolean question component * fixed formatquestion component * added drop down component and submit checklist components * fixed positioning and fixing numbering for questions * added delete functionality to attribute setter * added and styled submission component * Adding new example copy, passing name and descriptions (#245) * pre pull * pre pull * Fixing clobbered run_task.py (#246) * Adding new example copy, passing name and descriptions * Fixing run_task.py * Fixing script config * successfully updated run_task * added and styled description to object selector, form tips, and preview image * fixed payload update * updated example card component with primary and secondary desc and styled text * updated example card component with primary and secondary desc and styled text * Task2 submit (#248) * adding state for payload * added error state * centralizing copy * added isReversible, removeItems, isRemovingItems isCreatingEntity, createdEntity, isSecondaryHeld state * building updatedRemoveObjects * added create entity event to submission handler * added events and constraints handling and packaging for payload submission * wired constraint and event state to constraint and event components * connected new copy object to events * wiring task 2 * wiring event forms * fixed field row styles * added tooltip component, building preview and tutorial copy object * added task 2 tutorial copy, added and styled tutorial entry component, added and styled preview view * updated copy for preview and updated layout * added screenshots for Preview * finishing final submission and preview changes * fixed create entity connection to submission * connected constraints and fixed submission state * building error handling and checklist component logic * building error handling and checklist component logic * added error key to task copy file * added error toasts, error key, and completion checkboxes component * fixed checkbox, restyled headers, added plus icon to add attribute button * fixed error handling for broadcast messsage and item description changes * fixed attribute setter connection to submission payload * added documentation to components, removed console logs, fixed tooltip styling, and added mephisto handleSubmit to submit function * Fixed spacing, removed improperly placed checkboxes, updated copy, updated screenshots * merge * Finalizing Narrations pilot (#257) * Moving files * Importing new examine script * Updated review scripts * Final changes for pilot * dropped configs * style changes based on user feedback * Missing css class * Fixing run, fixing copy * Updating Attributes task final pilot * Is safe is light task (#256) * Troubleshooting image loading issue * added task4, added multiple choice, added run tas and yaml files, build task state * added task4, added multiple choice, added run tas and yaml files, build task state * added Sucess and Error Banners * added copy to task copy, restructuring QuestionBlock component * added format question, updated taskcopy, added header to QuestionBlock * added tooltip component * added checkbox component * restyled question block orietation, removed unused styles * added error handling and submissionhandler * properly styled error banner * fixed submission issues * added bootstrap styles, updated comments on Question Block and multiplechoice components, added more copy for preview * several minor styling fixes, checkbox positioning, alert color, etc * Task2 locationupdate (#254) * Troubleshooting image loading issue * added, connected, and styled onSelectQuestion component for handling location change event * added, connected, and styled onSelectQuestion component for handling location change event * added error handling for new location * removed console.logs from question on select and converted inline styles to classes * Updating folder location Co-authored-by: Jack Urbanek <[email protected]> * Merging task 3 into crowdsourcing ui (#260) * Troubleshooting image loading issue * initial setup complete * building Actor Block * adding actor block draw functionality * adding actor block draw functionality * added styles, building window size state * added getDimensions utility function, added dimension state to scale component, connectect state to konva stage * added scale range optionblock footer, styled scale question component and subcomponents, connected dummy data from app.js to task component * added color gradient for scale, fixing some border styling, and sizing issues * fixed styling and fixed drag boundaries * adding more informative variables and comments, fixed boundaries, tooling with flag sizing * added GetFlagDimensions util function, breaking down scale component into scalefield scalerange scale flag selection gallery components * fixed scaleRange component to map through array of ranges replacing previous hardcoded values * changed ScaleRange component name to ScaleFooter * change pixels to percentages in scalerange section width * added documentation to ScaleQuestion component * Fixed left boundary, broke flags and selection gallery into components * fixing flag placement * Added input header, added documentation, fixed leftSoftBoundary, fixed left flagpole shift, added rating value to selection state * building task copy and dummy data * added task copy * wiring task copy into question components * added tagrow and tagquestion * styled attributes tag question * added datatype switch for testing * added conditional rendering to number form in tag question * added state to tokenizer * added ref to tokenizer, added header to copy, added header prop to tag question * Task3 scale component (#249) * building Actor Block * adding actor block draw functionality * adding actor block draw functionality * added styles, building window size state * added getDimensions utility function, added dimension state to scale component, connectect state to konva stage * added scale range optionblock footer, styled scale question component and subcomponents, connected dummy data from app.js to task component * added color gradient for scale, fixing some border styling, and sizing issues * fixed styling and fixed drag boundaries * adding more informative variables and comments, fixed boundaries, tooling with flag sizing * added GetFlagDimensions util function, breaking down scale component into scalefield scalerange scale flag selection gallery components * fixed scaleRange component to map through array of ranges replacing previous hardcoded values * changed ScaleRange component name to ScaleFooter * change pixels to percentages in scalerange section width * added documentation to ScaleQuestion component * Fixed left boundary, broke flags and selection gallery into components * fixing flag placement * Added input header, added documentation, fixed leftSoftBoundary, fixed left flagpole shift, added rating value to selection state * pre payload branch * added scaled attribute basevalues * added updateHandler * fixed attributeupdatehandler * fixed boolean payload change handler * fixed custom scale rating and input * fixed numberic attribute handler * added numeric attributes array * added multiple select question and Usefulness scale * added default questions for each type to task copy * added attribute questions component and added more documentation to Task component * fixing tag question component added tooltip component * updated defaultAttribute questions styles and update functions * fixed multiple choice component * added selection consideration to multiplechoice component * added more informative error banner * tested submit successfully * fixed scale component header alignment * premerge changes, added to tutorial copy * pre merge * removed labels from custom attribute scale, added better variables describing fixed number values in scale field, fixed indentation in multiplechoice component, changed placeholder message in tagrow * Task3 preview (#253) * added attributeChecklist screenshots * added tutorial screenshots * added final screenshot for attributeRadio * added images to TaskCopy.js * added copy and screenshots for scales and type specific tutorials * populated preview with tutorial entry components using taskcopy * added new screenshots to attributeradio2, attributeradio3 assets, styled preview * added check for 4 custom boolean attributes * changed header text color to dark blue Co-authored-by: Justin Pinero <[email protected]> Co-authored-by: JustinPinero <[email protected]> * Moving task3 * Moving safe-light task Co-authored-by: Justin Pinero <[email protected]> Co-authored-by: JustinPinero <[email protected]> * Fixing npc assignment bug (#263) * added redux foundation, added personal info slices, added xp, giftxp, persona, location, reducers * added increaseXp and decrementGiftXp to reducer actions * added foundation for redux websocket integration * added documentation to slices, wired xp and giftxp redux state into experienceinfo component * removed passed props from experience info components * added sessioninfo section to features, added session xp slice, added session spent gift exp slice * removed xp props from sidebar * fixed emoji picker redux action, added view slice * Added documentation to GamePage for new state and useEffects, removed local state in game page, sidebar, mobile header * added chatInput Slice * restructured messages and types, restyling messages * fixed overlapping system messages * restructured message types and styles, fixed help message overlap bug, restyling help message copy, removed legacy styles for all message types aside from setting, player message, and agent message * restyled help message for both mobile and desktop * Multi-agent chat first pass (#264) * Multi-agent chat first pass * First round changes, clarity * Review script * Forced timeout loop * removed console logs, unused code, added substantial documentation, restyled award stars for both mobile and PC, connected sessionspentgiftxp to AgentMessage component * added styling for safari browser, added styling for mobile, fixed mainpage scrolling on refresh bug, fixed text sizing, added scrolling to each message time, added mobile specific styling to setting message * building tutorial popover * added info button * added tutorial popover component, added gamecopy file with tutorial copy, connected popover to sidebar header and body, connected redux state to tutorial * added tooltips to both chat display and sidebar * added help mode, added on click tool tips to playerinfo, Character info, mission info, location info, soulspawn message, setting message, agent message, quest message * added tooltips and animations to quest message, status message, agent message, player messsage * added tooltips and animations for inventory, send button, chat input, and chat mode, fixed agent message help mode bug * added infobutton component, added render condition to infobutton in sidebar component, added infobutton to mobile header * fixed toggle to clear tooltips during switch when in help mode * added and styled final tool tips, fixed cycle tooltips on chat bar, fixed and restyled scrolling and sizing on chat display and sidebar * Added lightqa readme that shows how to run seq2seq2seq interactively in light. (#268) Co-authored-by: Leonard Adolphs <[email protected]> * Creating a light world object from an instance of the old graph (#269) * updated the World to initiate it from the old dataset graph * docstring * Updated lightqa readme with new checkpoints. (#270) Co-authored-by: Leonard Adolphs <[email protected]> * Clarifying the equipped objects (#271) * clarifying the equipped objects * fixed the equipping tests * Documentation time (#273) * Some initial READMEs * More readmes * Even more docs * Events docs * World docs * Creating `light` master script for ParlAI tooling (#274) * Boilerplate for LIGHT-parlai content * Re-ordering * adding common sense + world builder code * Merging in teachers and code for RL-Quests paper. (#275) * Baseline code for standardizing data loading * atomic teachers working * Cleanup atomic * quest goals teacher * Predictive machines to projects * Wild chat task and code and sweeps * Updating sweep paths to new locations * Cleaning up quests build * Finished all _operational_ quests code * Remaiing related sweeps * Dropping sweeps * Uploading relevant models, adding download paths * Rl quests merge (#276) * Baseline code for standardizing data loading * atomic teachers working * Cleanup atomic * quest goals teacher * Predictive machines to projects * Wild chat task and code and sweeps * Updating sweep paths to new locations * Cleaning up quests build * Finished all _operational_ quests code * Remaiing related sweeps * Core quests rl project code * Sweeps related to RL code * Adding missing models * Dropping sweeps * Removing _almost_ all checkpoint links * Uploading relevant models, adding download paths * Core quests rl project code * Sweeps related to RL code * Adding missing models * Removing _almost_ all checkpoint links * Removing sweeps * removing sweeps... again * Build scripts now point to real file * Intro code for new project (#279) * Creating example builder script for story agents project * Writing play map example script * initial setup for both object interaction tasks * small cleanup task reviewing * default attr. from light db, make editable * small bug fix & format changes * slightly cleaner in-place update * Task lightgame (#281) * added gameplay task view * added gameplay task view * fixed message transmission in both gameapp reducer and task redux-slice * removed boilerplate * placed topmessage function at top of reducer * messy separation into tasks, needs cleanup * Pre-authorized worker login (#282) * First worker login test * Updating preauth to send context to target node, using salted hash * polishing new tasks, making to-fill more distinct * remove location box from attribute task * updating constraint task with backstory q * rename narration field, remove deleted obj * removed deleted options, action phrase * Gameapp instruction modal removal (#285) * disconnected instruction modal from GamePage * removed instructional modal * Tutorial world, full implementation (#266) * Adding flags to determine new players * Adding tutorial components, first pass * Transition from tutorial to main world seamlessly * Creating tutorial script * add models that maintain identity * override model * New secure cookies * New secure cookies, correctly * Bugfix for tests * More tutorial content Co-authored-by: Kurt Shuster <[email protected]> * Single model, reusing ActionParser (#286) * World hotfix * Small deploy-related fixes (#287) * LIGHT Tutorial fixes (#289) * Worldbuilder update (#272) * added redux * added player world slice * building modals, added modal slice to redux state * Connected modal redux state to world row icons * added create world button, styled homepage buttons and layout * building editworldpage, added stat block, added nav buttons for editworldpage, added selected world to redux state * styling modals, connected modal content to selected world redux state * added world edit routes * connected EditWorldFrame buttons to navigation * added breadcrumbs component * added buttongroups component * fixed side navigation * added sidebar component * added sidebar feature slice, built sidebar * fixed edit world sections, added general table, added dummydata * added filter to search bar * building rooms page, added bread crumb, added 2 generate fields * added slider component * added slider and button toggle to room form * added map to map page, added properly structured dummy-data to act as backend * added rooms, objectsm, and characters redux slices * Added new map components, tile, grid, utils, building tile, connected page to redux store * worldbuilder map rework, fetching and sorting room data in map page lifecycle * added border calculator * added and tested grid data generator and room checker utility functions * rebuilt grid and map components without using grid-layout library * fixing dimensions on tiles * styling paths * added sidebar, connected sidebar to selectedroom slice, connected tile click handler to sidebar and select room slice * connected advanced edit to basiceditmodal * added numberbuttoninput to tool bar * added and connected floor selector * added neighbor props to tile component, set conditional rendering for tile paths * refactoring typeahead tokenizer * fixed tokenizer * various map fixes, added character route, added cog click route, connected redux state to edit details character and object sections * fixed centering of map * added extra columns and rows at beginning and end of both axis of map * fixed starting position with new grid data * Fixing tile color update function * fixing color change state * Fixed local storage update, refactored add, delete, update reducer actions, tested map update and save, removed console logs * fixed color selection, added direct updates to draft on tile click when in color mode * added id generation to character, room, and object creation * fixed simple additions for basic edit for both characters and items * built advanced edit pages, fixed slider and generate forms, fixing path update bug on map component * fixed map loading error * began styling tiles, fixing path update bug: * fixed breadcrumbs, fixed local storage, added add room feature, added delete room feature, added create and delete buttons to quick edit, fixed tokenizer clearing selected tokens on room change * fixed edit room switch on creation, fixed edit room rerender on deletion, added map-slice, fixed position change on updates * fixed add character clearing list bug * fixed delete functions and associated state changes for both room and objects or characters, fixed sorting for tokenizer options, fixed tokenizer node creation * updated grid data generator helper function to include above and below floors * added footer and stair components to tile * fixed wiring for advanced room editor * connected advanced edit forms to state * added inlinetext insert component to character and object pages * fixed breadcrumbs * set object prefix defaults and plural defaults * added character prefix state and defaults * added and tested nested delete util function to edit objects page * added content remover helper function Co-authored-by: Jack Urbanek <[email protected]> * New database stubs for updated data model * Enums, Dataclasses * addressing some comments * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * updating narration and first 2 grounding tasks * updates for whole pipline * cleanup, deleted a file * Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * adding WorldConfig to hold complex configuration vars * Moving episode_db into relevant GraphBuilders * Game launches, but not logging * Local BaseDB, now saving episodes * Missing files * deleting miscommit * test fix * Migrating to UserDB * No more LIGHTDatabase in TornadoServer * Fixing tests * Works after testing locally * Updated messaging for unimplemented * Upgrading OneRoomGraphBuilder to ModelPool * Completing (almost) the rest of Modelpool references * Works without loading models in play_map * Model pool actually works * Safety working as well * Rebuild on main, committed (#299) * requirements * removing prints * Fix tests on `main` (#301) * Bump parlai * soften pytest * Test soul messing up testing * Another mis-test * Accidentally dropped file * Stop confusing the tests * another one snuck by * Fixing some tests, skipping starspace * Runs on server too * Creating LIGHT's ModelServer * Undo server change * tornado simplicity * Handling for inline candidate models * But regular models should also work without this * Async... all of the things... * Async the server too * clearing up async server tests * Correct async mock * internalize init_world * clean up tornado usage * small GameInstance bug * small GameInstance bug * Some deploy fixes * now using aws as a storage backend * Moving safety model to async part * Some safety fixes * test fixes * silly elif fix * Taking bug-fixes from stable server * Model server changes too * Skip another web test, works in prod, refactor incoming * Ensure we're not using FB user data * Methods for scrubbing the datasets * Deleting player data and related graph info * Fixing bugs, adding tests * Environment exporting * Export episode DB too * Enums for model types * Checking for non-list to convert first * Slightly more clarity * 60 != 90 * Creating initial hydra classes and structures * base model loading classes * progress towards play_map * Model loading works from hydra * Play-map works again * Main tests passing again * Restoring broken point for tutorial * Making ModelServer work again * Server works for local deploy with hydra config * Server tests now passing * hydra 1.2 * temporary hydra force upgrade for tests * pre-publish review * Implementing New Users Tables (#292) * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * New Episode logging (#293) * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Addressing comments, clarifying code * New environment db (#295) * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * Using `EpisodeDB` in main game path (#297) * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * adding WorldConfig to hold complex configuration vars * Moving episode_db into relevant GraphBuilders * Game launches, but not logging * Local BaseDB, now saving episodes * Missing files * deleting miscommit * test fix * Using `UserDB` as main game identity storage (#298) * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * adding WorldConfig to hold complex configuration vars * Moving episode_db into relevant GraphBuilders * Game launches, but not logging * Local BaseDB, now saving episodes * Missing files * deleting miscommit * test fix * Migrating to UserDB * No more LIGHTDatabase in TornadoServer * Fixing tests * Works after testing locally * Updated messaging for unimplemented * Creating and using the `ModelPool` (#300) * Some initial transitions over to model pool * Moving initialization code out from where it occurred * Wiring more of the system together * Adding opt for reranked generative * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * adding WorldConfig to hold complex configuration vars * Moving episode_db into relevant GraphBuilders * Game launches, but not logging * Local BaseDB, now saving episodes * Missing files * deleting miscommit * test fix * Migrating to UserDB * No more LIGHTDatabase in TornadoServer * Fixing tests * Works after testing locally * Updated messaging for unimplemented * Upgrading OneRoomGraphBuilder to ModelPool * Completing (almost) the rest of Modelpool references * Works without loading models in play_map * Model pool actually works * Safety working as well * removing prints * Fixing some tests, skipping starspace * Runs on server too * Enums for model types * Fixing bad merge * Creating LIGHT's ModelServer (#302) * Some initial transitions over to model pool * Moving initialization code out from where it occurred * Wiring more of the system together * Adding opt for reranked generative * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * adding WorldConfig to hold complex configuration vars * Moving episode_db into relevant GraphBuilders * Game launches, but not logging * Local BaseDB, now saving episodes * Missing files * deleting miscommit * test fix * Migrating to UserDB * No more LIGHTDatabase in TornadoServer * Fixing tests * Works after testing locally * Updated messaging for unimplemented * Upgrading OneRoomGraphBuilder to ModelPool * Completing (almost) the rest of Modelpool references * Works without loading models in play_map * Model pool actually works * Safety working as well * removing prints * Fixing some tests, skipping starspace * Runs on server too * Creating LIGHT's ModelServer * Undo server change * tornado simplicity * Handling for inline candidate models * But regular models should also work without this * Enums for model types * `asyncio` all over LIGHT (#304) * Some initial transitions over to model pool * Moving initialization code out from where it occurred * Wiring more of the system together * Adding opt for reranked generative * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * adding WorldConfig to hold complex configuration vars * Moving episode_db into relevant GraphBuilders * Game launches, but not logging * Local BaseDB, now saving episodes * Missing files * deleting miscommit * test fix * Migrating to UserDB * No more LIGHTDatabase in TornadoServer * Fixing tests * Works after testing locally * Updated messaging for unimplemented * Upgrading OneRoomGraphBuilder to ModelPool * Completing (almost) the rest of Modelpool references * Works without loading models in play_map * Model pool actually works * Safety working as well * removing prints * Fixing some tests, skipping starspace * Runs on server too * Creating LIGHT's ModelServer * Undo server change * tornado simplicity * Handling for inline candidate models * But regular models should also work without this * Async... all of the things... * Async the server too * clearing up async server tests * Correct async mock * internalize init_world * clean up tornado usage * small GameInstance bug * small GameInstance bug * Some deploy fixes * Moving safety model to async part * Some safety fixes * test fixes * Enums for model types * Checking for non-list to convert first * AWS Option for LIGHT data model storage (#305) * Some initial transitions over to model pool * Moving initialization code out from where it occurred * Wiring more of the system together * Adding opt for reranked generative * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * adding WorldConfig to hold complex configuration vars * Moving episode_db into relevant GraphBuilders * Game launches, but not logging * Local BaseDB, now saving episodes * Missing files * deleting miscommit * test fix * Migrating to UserDB * No more LIGHTDatabase in TornadoServer * Fixing tests * Works after testing locally * Updated messaging for unimplemented * Upgrading OneRoomGraphBuilder to ModelPool * Completing (almost) the rest of Modelpool references * Works without loading models in play_map * Model pool actually works * Safety working as well * removing prints * Fixing some tests, skipping starspace * Runs on server too * Creating LIGHT's ModelServer * Undo server change * tornado simplicity * Handling for inline candidate models * But regular models should also work without this * Async... all of the things... * Async the server too * clearing up async server tests * Correct async mock * internalize init_world * clean up tornado usage * small GameInstance bug * small GameInstance bug * Some deploy fixes * now using aws as a storage backend * Moving safety model to async part * Some safety fixes * test fixes * silly elif fix * dropped change on merge * Stable Server commit before coming refactors (#306) * Some initial transitions over to model pool * Moving initialization code out from where it occurred * Wiring more of the system together * Adding opt for reranked generative * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * adding WorldConfig to hold complex configuration vars * Moving episode_db into relevant GraphBuilders * Game launches, but not logging * Local BaseDB, now saving episodes * Missing files * deleting miscommit * test fix * Migrating to UserDB * No more LIGHTDatabase in TornadoServer * Fixing tests * Works after testing locally * Updated messaging for unimplemented * Upgrading OneRoomGraphBuilder to ModelPool * Completing (almost) the rest of Modelpool references * Works without loading models in play_map * Model pool actually works * Safety working as well * removing prints * Fixing some tests, skipping starspace * Runs on server too * Creating LIGHT's ModelServer * Undo server change * tornado simplicity * Handling for inline candidate models * But regular models should also work without this * Async... all of the things... * Async the server too * clearing up async server tests * Correct async mock * internalize init_world * clean up tornado usage * small GameInstance bug * small GameInstance bug * Some deploy fixes * now using aws as a storage backend * Moving safety model to async part * Some safety fixes * test fixes * silly elif fix * Taking bug-fixes from stable server * Model server changes too * Skip another web test, works in prod, refactor incoming * Enums for model types * Checking for non-list to convert first * Slightly more clarity * Privacy commitment improvements (#307) * Some initial transitions over to model pool * Moving initialization code out from where it occurred * Wiring more of the system together * Adding opt for reranked generative * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * adding WorldConfig to hold complex configuration vars * Moving episode_db into relevant GraphBuilders * Game launches, but not logging * Local BaseDB, now saving episodes * Missing files * deleting miscommit * test fix * Migrating to UserDB * No more LIGHTDatabase in TornadoServer * Fixing tests * Works after testing locally * Updated messaging for unimplemented * Upgrading OneRoomGraphBuilder to ModelPool * Completing (almost) the rest of Modelpool references * Works without loading models in play_map * Model pool actually works * Safety working as well * removing prints * Fixing some tests, skipping starspace * Runs on server too * Creating LIGHT's ModelServer * Undo server change * tornado simplicity * Handling for inline candidate models * But regular models should also work without this * Async... all of the things... * Async the server too * clearing up async server tests * Correct async mock * internalize init_world * clean up tornado usage * small GameInstance bug * small GameInstance bug * Some deploy fixes * now using aws as a storage backend * Moving safety model to async part * Some safety fixes * test fixes * silly elif fix * Taking bug-fixes from stable server * Model server changes too * Skip another web test, works in prod, refactor incoming * Ensure we're not using FB user data * Methods for scrubbing the datasets * Deleting player data and related graph info * Fixing bugs, adding tests * Environment exporting * Export episode DB too * 60 != 90 * Addressing comments * Base architecture README * Addressing comments * Missed a FLAGS * Small fixes for episode db keys * world dissociation * Small episode test cleanup * Adding headers * Some rollbacks, some copyright fixes * More header fixes * Clean up irrelevant paths * Adding missing hydra configs * Login page differs between dev and prod * Dropping older tests * correct config import loc * Forgot to commit the files somehow * Small fixes * 0.2.0 * Update world.py * fixing old mistake * next-1-hydrize Co-authored-by: JustinPinero <[email protected]> Co-authored-by: Justin Pinero <[email protected]> Co-authored-by: Leonard <[email protected]> Co-authored-by: Leonard Adolphs <[email protected]> Co-authored-by: Mojtaba <[email protected]> Co-authored-by: Alex Gurung <[email protected]> Co-authored-by: Alex Gurung <[email protected]> Co-authored-by: Kurt Shuster <[email protected]>
* fixed sizing of messages, sizing of text, send button styling * parse actions with wierd quotes (#244) * Updating parser for multithreading (#251) * added say and do buttons added documentation * removed unused code and added more documentation to chatdisplay component * adding mobile style fixes to progress bar and level display * wired tell feature * fixed repsonsive styling of player info icons on mobile * adding redux * added redux and redux toolkit * added typescript to game app * Server data browsing scripts and fixes (#255) * Requirements fix (#258) * Human to player (#259) * Merging _human and is_player * Removing old function * No longer true case about cap on characters * Crowdsourcing UI (#261) * fixed spacing issue from help message * fixed sizing issue on tutorial screen * fixing borders and sizing issues * added styles for mobile landscape view * fixed fixed positioning in mobile view * cleared unused styles * fixed progress bar text * fixed text and nameplate styling and landing app tutorial page * added space at footer for landing app pages * added views * updating structure * added example card component * added copy arrays, styling example cards, and building good example list * styled example list components * styling preview view * adjusted content and overflow to be right of it's label, fixed intro copy, fixed coloring in details section * fixed details interaction copy * fixed alignment of example card content * building button * fixed placement of definitions and added spacing * pre-merge * added error and success toats * added screenshot to tutorial, added toast to submit * duplicated previous task * formatting constraint events task * fixed conf * restructuring app * building multiple choice * added answer form * built reusable question components, added copy, building and styling forms * added fieldQuestion component * added fieldrow component * added attributesetter component * added constraints component and questions * styled question components, headers, and layout * added multiple select question component * built attribute setter, attribute row, and added dummy data * styled attribute setter * connected dummy Data, restyled events and constraint containers, colored object names * added copy updates from initial thoughts, added location description question * added taskdatacards and datacard component * styling cards and field row border * added formatquestion component * minor style fixes on field row, added formatquestion component to task card * added format question component to boolean question component * fixed formatquestion component * added drop down component and submit checklist components * fixed positioning and fixing numbering for questions * added delete functionality to attribute setter * added and styled submission component * Adding new example copy, passing name and descriptions (#245) * pre pull * pre pull * Fixing clobbered run_task.py (#246) * Adding new example copy, passing name and descriptions * Fixing run_task.py * Fixing script config * successfully updated run_task * added and styled description to object selector, form tips, and preview image * fixed payload update * updated example card component with primary and secondary desc and styled text * updated example card component with primary and secondary desc and styled text * Task2 submit (#248) * adding state for payload * added error state * centralizing copy * added isReversible, removeItems, isRemovingItems isCreatingEntity, createdEntity, isSecondaryHeld state * building updatedRemoveObjects * added create entity event to submission handler * added events and constraints handling and packaging for payload submission * wired constraint and event state to constraint and event components * connected new copy object to events * wiring task 2 * wiring event forms * fixed field row styles * added tooltip component, building preview and tutorial copy object * added task 2 tutorial copy, added and styled tutorial entry component, added and styled preview view * updated copy for preview and updated layout * added screenshots for Preview * finishing final submission and preview changes * fixed create entity connection to submission * connected constraints and fixed submission state * building error handling and checklist component logic * building error handling and checklist component logic * added error key to task copy file * added error toasts, error key, and completion checkboxes component * fixed checkbox, restyled headers, added plus icon to add attribute button * fixed error handling for broadcast messsage and item description changes * fixed attribute setter connection to submission payload * added documentation to components, removed console logs, fixed tooltip styling, and added mephisto handleSubmit to submit function * Fixed spacing, removed improperly placed checkboxes, updated copy, updated screenshots * merge * Finalizing Narrations pilot (#257) * Moving files * Importing new examine script * Updated review scripts * Final changes for pilot * dropped configs * style changes based on user feedback * Missing css class * Fixing run, fixing copy * Updating Attributes task final pilot * Is safe is light task (#256) * Troubleshooting image loading issue * added task4, added multiple choice, added run tas and yaml files, build task state * added task4, added multiple choice, added run tas and yaml files, build task state * added Sucess and Error Banners * added copy to task copy, restructuring QuestionBlock component * added format question, updated taskcopy, added header to QuestionBlock * added tooltip component * added checkbox component * restyled question block orietation, removed unused styles * added error handling and submissionhandler * properly styled error banner * fixed submission issues * added bootstrap styles, updated comments on Question Block and multiplechoice components, added more copy for preview * several minor styling fixes, checkbox positioning, alert color, etc * Task2 locationupdate (#254) * Troubleshooting image loading issue * added, connected, and styled onSelectQuestion component for handling location change event * added, connected, and styled onSelectQuestion component for handling location change event * added error handling for new location * removed console.logs from question on select and converted inline styles to classes * Updating folder location Co-authored-by: Jack Urbanek <[email protected]> * Merging task 3 into crowdsourcing ui (#260) * Troubleshooting image loading issue * initial setup complete * building Actor Block * adding actor block draw functionality * adding actor block draw functionality * added styles, building window size state * added getDimensions utility function, added dimension state to scale component, connectect state to konva stage * added scale range optionblock footer, styled scale question component and subcomponents, connected dummy data from app.js to task component * added color gradient for scale, fixing some border styling, and sizing issues * fixed styling and fixed drag boundaries * adding more informative variables and comments, fixed boundaries, tooling with flag sizing * added GetFlagDimensions util function, breaking down scale component into scalefield scalerange scale flag selection gallery components * fixed scaleRange component to map through array of ranges replacing previous hardcoded values * changed ScaleRange component name to ScaleFooter * change pixels to percentages in scalerange section width * added documentation to ScaleQuestion component * Fixed left boundary, broke flags and selection gallery into components * fixing flag placement * Added input header, added documentation, fixed leftSoftBoundary, fixed left flagpole shift, added rating value to selection state * building task copy and dummy data * added task copy * wiring task copy into question components * added tagrow and tagquestion * styled attributes tag question * added datatype switch for testing * added conditional rendering to number form in tag question * added state to tokenizer * added ref to tokenizer, added header to copy, added header prop to tag question * Task3 scale component (#249) * building Actor Block * adding actor block draw functionality * adding actor block draw functionality * added styles, building window size state * added getDimensions utility function, added dimension state to scale component, connectect state to konva stage * added scale range optionblock footer, styled scale question component and subcomponents, connected dummy data from app.js to task component * added color gradient for scale, fixing some border styling, and sizing issues * fixed styling and fixed drag boundaries * adding more informative variables and comments, fixed boundaries, tooling with flag sizing * added GetFlagDimensions util function, breaking down scale component into scalefield scalerange scale flag selection gallery components * fixed scaleRange component to map through array of ranges replacing previous hardcoded values * changed ScaleRange component name to ScaleFooter * change pixels to percentages in scalerange section width * added documentation to ScaleQuestion component * Fixed left boundary, broke flags and selection gallery into components * fixing flag placement * Added input header, added documentation, fixed leftSoftBoundary, fixed left flagpole shift, added rating value to selection state * pre payload branch * added scaled attribute basevalues * added updateHandler * fixed attributeupdatehandler * fixed boolean payload change handler * fixed custom scale rating and input * fixed numberic attribute handler * added numeric attributes array * added multiple select question and Usefulness scale * added default questions for each type to task copy * added attribute questions component and added more documentation to Task component * fixing tag question component added tooltip component * updated defaultAttribute questions styles and update functions * fixed multiple choice component * added selection consideration to multiplechoice component * added more informative error banner * tested submit successfully * fixed scale component header alignment * premerge changes, added to tutorial copy * pre merge * removed labels from custom attribute scale, added better variables describing fixed number values in scale field, fixed indentation in multiplechoice component, changed placeholder message in tagrow * Task3 preview (#253) * added attributeChecklist screenshots * added tutorial screenshots * added final screenshot for attributeRadio * added images to TaskCopy.js * added copy and screenshots for scales and type specific tutorials * populated preview with tutorial entry components using taskcopy * added new screenshots to attributeradio2, attributeradio3 assets, styled preview * added check for 4 custom boolean attributes * changed header text color to dark blue Co-authored-by: Justin Pinero <[email protected]> Co-authored-by: JustinPinero <[email protected]> * Moving task3 * Moving safe-light task Co-authored-by: Justin Pinero <[email protected]> Co-authored-by: JustinPinero <[email protected]> * Fixing npc assignment bug (#263) * added redux foundation, added personal info slices, added xp, giftxp, persona, location, reducers * added increaseXp and decrementGiftXp to reducer actions * added foundation for redux websocket integration * added documentation to slices, wired xp and giftxp redux state into experienceinfo component * removed passed props from experience info components * added sessioninfo section to features, added session xp slice, added session spent gift exp slice * removed xp props from sidebar * fixed emoji picker redux action, added view slice * Added documentation to GamePage for new state and useEffects, removed local state in game page, sidebar, mobile header * added chatInput Slice * restructured messages and types, restyling messages * fixed overlapping system messages * restructured message types and styles, fixed help message overlap bug, restyling help message copy, removed legacy styles for all message types aside from setting, player message, and agent message * restyled help message for both mobile and desktop * Multi-agent chat first pass (#264) * Multi-agent chat first pass * First round changes, clarity * Review script * Forced timeout loop * removed console logs, unused code, added substantial documentation, restyled award stars for both mobile and PC, connected sessionspentgiftxp to AgentMessage component * added styling for safari browser, added styling for mobile, fixed mainpage scrolling on refresh bug, fixed text sizing, added scrolling to each message time, added mobile specific styling to setting message * building tutorial popover * added info button * added tutorial popover component, added gamecopy file with tutorial copy, connected popover to sidebar header and body, connected redux state to tutorial * added tooltips to both chat display and sidebar * added help mode, added on click tool tips to playerinfo, Character info, mission info, location info, soulspawn message, setting message, agent message, quest message * added tooltips and animations to quest message, status message, agent message, player messsage * added tooltips and animations for inventory, send button, chat input, and chat mode, fixed agent message help mode bug * added infobutton component, added render condition to infobutton in sidebar component, added infobutton to mobile header * fixed toggle to clear tooltips during switch when in help mode * added and styled final tool tips, fixed cycle tooltips on chat bar, fixed and restyled scrolling and sizing on chat display and sidebar * Added lightqa readme that shows how to run seq2seq2seq interactively in light. (#268) Co-authored-by: Leonard Adolphs <[email protected]> * Creating a light world object from an instance of the old graph (#269) * updated the World to initiate it from the old dataset graph * docstring * Updated lightqa readme with new checkpoints. (#270) Co-authored-by: Leonard Adolphs <[email protected]> * Clarifying the equipped objects (#271) * clarifying the equipped objects * fixed the equipping tests * Documentation time (#273) * Some initial READMEs * More readmes * Even more docs * Events docs * World docs * Creating `light` master script for ParlAI tooling (#274) * Boilerplate for LIGHT-parlai content * Re-ordering * adding common sense + world builder code * Merging in teachers and code for RL-Quests paper. (#275) * Baseline code for standardizing data loading * atomic teachers working * Cleanup atomic * quest goals teacher * Predictive machines to projects * Wild chat task and code and sweeps * Updating sweep paths to new locations * Cleaning up quests build * Finished all _operational_ quests code * Remaiing related sweeps * Dropping sweeps * Uploading relevant models, adding download paths * Rl quests merge (#276) * Baseline code for standardizing data loading * atomic teachers working * Cleanup atomic * quest goals teacher * Predictive machines to projects * Wild chat task and code and sweeps * Updating sweep paths to new locations * Cleaning up quests build * Finished all _operational_ quests code * Remaiing related sweeps * Core quests rl project code * Sweeps related to RL code * Adding missing models * Dropping sweeps * Removing _almost_ all checkpoint links * Uploading relevant models, adding download paths * Core quests rl project code * Sweeps related to RL code * Adding missing models * Removing _almost_ all checkpoint links * Removing sweeps * removing sweeps... again * Build scripts now point to real file * Intro code for new project (#279) * Creating example builder script for story agents project * Writing play map example script * initial setup for both object interaction tasks * small cleanup task reviewing * default attr. from light db, make editable * small bug fix & format changes * slightly cleaner in-place update * Task lightgame (#281) * added gameplay task view * added gameplay task view * fixed message transmission in both gameapp reducer and task redux-slice * removed boilerplate * placed topmessage function at top of reducer * messy separation into tasks, needs cleanup * Pre-authorized worker login (#282) * First worker login test * Updating preauth to send context to target node, using salted hash * polishing new tasks, making to-fill more distinct * remove location box from attribute task * updating constraint task with backstory q * rename narration field, remove deleted obj * removed deleted options, action phrase * Gameapp instruction modal removal (#285) * disconnected instruction modal from GamePage * removed instructional modal * Tutorial world, full implementation (#266) * Adding flags to determine new players * Adding tutorial components, first pass * Transition from tutorial to main world seamlessly * Creating tutorial script * add models that maintain identity * override model * New secure cookies * New secure cookies, correctly * Bugfix for tests * More tutorial content Co-authored-by: Kurt Shuster <[email protected]> * Single model, reusing ActionParser (#286) * World hotfix * Small deploy-related fixes (#287) * LIGHT Tutorial fixes (#289) * Worldbuilder update (#272) * added redux * added player world slice * building modals, added modal slice to redux state * Connected modal redux state to world row icons * added create world button, styled homepage buttons and layout * building editworldpage, added stat block, added nav buttons for editworldpage, added selected world to redux state * styling modals, connected modal content to selected world redux state * added world edit routes * connected EditWorldFrame buttons to navigation * added breadcrumbs component * added buttongroups component * fixed side navigation * added sidebar component * added sidebar feature slice, built sidebar * fixed edit world sections, added general table, added dummydata * added filter to search bar * building rooms page, added bread crumb, added 2 generate fields * added slider component * added slider and button toggle to room form * added map to map page, added properly structured dummy-data to act as backend * added rooms, objectsm, and characters redux slices * Added new map components, tile, grid, utils, building tile, connected page to redux store * worldbuilder map rework, fetching and sorting room data in map page lifecycle * added border calculator * added and tested grid data generator and room checker utility functions * rebuilt grid and map components without using grid-layout library * fixing dimensions on tiles * styling paths * added sidebar, connected sidebar to selectedroom slice, connected tile click handler to sidebar and select room slice * connected advanced edit to basiceditmodal * added numberbuttoninput to tool bar * added and connected floor selector * added neighbor props to tile component, set conditional rendering for tile paths * refactoring typeahead tokenizer * fixed tokenizer * various map fixes, added character route, added cog click route, connected redux state to edit details character and object sections * fixed centering of map * added extra columns and rows at beginning and end of both axis of map * fixed starting position with new grid data * Fixing tile color update function * fixing color change state * Fixed local storage update, refactored add, delete, update reducer actions, tested map update and save, removed console logs * fixed color selection, added direct updates to draft on tile click when in color mode * added id generation to character, room, and object creation * fixed simple additions for basic edit for both characters and items * built advanced edit pages, fixed slider and generate forms, fixing path update bug on map component * fixed map loading error * began styling tiles, fixing path update bug: * fixed breadcrumbs, fixed local storage, added add room feature, added delete room feature, added create and delete buttons to quick edit, fixed tokenizer clearing selected tokens on room change * fixed edit room switch on creation, fixed edit room rerender on deletion, added map-slice, fixed position change on updates * fixed add character clearing list bug * fixed delete functions and associated state changes for both room and objects or characters, fixed sorting for tokenizer options, fixed tokenizer node creation * updated grid data generator helper function to include above and below floors * added footer and stair components to tile * fixed wiring for advanced room editor * connected advanced edit forms to state * added inlinetext insert component to character and object pages * fixed breadcrumbs * set object prefix defaults and plural defaults * added character prefix state and defaults * added and tested nested delete util function to edit objects page * added content remover helper function Co-authored-by: Jack Urbanek <[email protected]> * New database stubs for updated data model * Enums, Dataclasses * addressing some comments * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * updating narration and first 2 grounding tasks * updates for whole pipline * cleanup, deleted a file * Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * adding WorldConfig to hold complex configuration vars * Moving episode_db into relevant GraphBuilders * Game launches, but not logging * Local BaseDB, now saving episodes * Missing files * deleting miscommit * test fix * Migrating to UserDB * No more LIGHTDatabase in TornadoServer * Fixing tests * Works after testing locally * Updated messaging for unimplemented * Upgrading OneRoomGraphBuilder to ModelPool * Completing (almost) the rest of Modelpool references * Works without loading models in play_map * Model pool actually works * Safety working as well * Rebuild on main, committed (#299) * requirements * removing prints * Fix tests on `main` (#301) * Bump parlai * soften pytest * Test soul messing up testing * Another mis-test * Accidentally dropped file * Stop confusing the tests * another one snuck by * Fixing some tests, skipping starspace * Runs on server too * Creating LIGHT's ModelServer * Undo server change * tornado simplicity * Handling for inline candidate models * But regular models should also work without this * Async... all of the things... * Async the server too * clearing up async server tests * Correct async mock * internalize init_world * clean up tornado usage * small GameInstance bug * small GameInstance bug * Some deploy fixes * now using aws as a storage backend * Moving safety model to async part * Some safety fixes * test fixes * silly elif fix * Taking bug-fixes from stable server * Model server changes too * Skip another web test, works in prod, refactor incoming * Ensure we're not using FB user data * Methods for scrubbing the datasets * Deleting player data and related graph info * Fixing bugs, adding tests * Environment exporting * Export episode DB too * Enums for model types * Checking for non-list to convert first * Slightly more clarity * 60 != 90 * Creating initial hydra classes and structures * base model loading classes * progress towards play_map * Model loading works from hydra * Play-map works again * Main tests passing again * Restoring broken point for tutorial * Making ModelServer work again * Server works for local deploy with hydra config * Server tests now passing * hydra 1.2 * temporary hydra force upgrade for tests * pre-publish review * Implementing New Users Tables (#292) * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * New Episode logging (#293) * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Addressing comments, clarifying code * New environment db (#295) * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * Using `EpisodeDB` in main game path (#297) * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * adding WorldConfig to hold complex configuration vars * Moving episode_db into relevant GraphBuilders * Game launches, but not logging * Local BaseDB, now saving episodes * Missing files * deleting miscommit * test fix * Using `UserDB` as main game identity storage (#298) * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * adding WorldConfig to hold complex configuration vars * Moving episode_db into relevant GraphBuilders * Game launches, but not logging * Local BaseDB, now saving episodes * Missing files * deleting miscommit * test fix * Migrating to UserDB * No more LIGHTDatabase in TornadoServer * Fixing tests * Works after testing locally * Updated messaging for unimplemented * Creating and using the `ModelPool` (#300) * Some initial transitions over to model pool * Moving initialization code out from where it occurred * Wiring more of the system together * Adding opt for reranked generative * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * adding WorldConfig to hold complex configuration vars * Moving episode_db into relevant GraphBuilders * Game launches, but not logging * Local BaseDB, now saving episodes * Missing files * deleting miscommit * test fix * Migrating to UserDB * No more LIGHTDatabase in TornadoServer * Fixing tests * Works after testing locally * Updated messaging for unimplemented * Upgrading OneRoomGraphBuilder to ModelPool * Completing (almost) the rest of Modelpool references * Works without loading models in play_map * Model pool actually works * Safety working as well * removing prints * Fixing some tests, skipping starspace * Runs on server too * Enums for model types * Fixing bad merge * Creating LIGHT's ModelServer (#302) * Some initial transitions over to model pool * Moving initialization code out from where it occurred * Wiring more of the system together * Adding opt for reranked generative * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * adding WorldConfig to hold complex configuration vars * Moving episode_db into relevant GraphBuilders * Game launches, but not logging * Local BaseDB, now saving episodes * Missing files * deleting miscommit * test fix * Migrating to UserDB * No more LIGHTDatabase in TornadoServer * Fixing tests * Works after testing locally * Updated messaging for unimplemented * Upgrading OneRoomGraphBuilder to ModelPool * Completing (almost) the rest of Modelpool references * Works without loading models in play_map * Model pool actually works * Safety working as well * removing prints * Fixing some tests, skipping starspace * Runs on server too * Creating LIGHT's ModelServer * Undo server change * tornado simplicity * Handling for inline candidate models * But regular models should also work without this * Enums for model types * `asyncio` all over LIGHT (#304) * Some initial transitions over to model pool * Moving initialization code out from where it occurred * Wiring more of the system together * Adding opt for reranked generative * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * adding WorldConfig to hold complex configuration vars * Moving episode_db into relevant GraphBuilders * Game launches, but not logging * Local BaseDB, now saving episodes * Missing files * deleting miscommit * test fix * Migrating to UserDB * No more LIGHTDatabase in TornadoServer * Fixing tests * Works after testing locally * Updated messaging for unimplemented * Upgrading OneRoomGraphBuilder to ModelPool * Completing (almost) the rest of Modelpool references * Works without loading models in play_map * Model pool actually works * Safety working as well * removing prints * Fixing some tests, skipping starspace * Runs on server too * Creating LIGHT's ModelServer * Undo server change * tornado simplicity * Handling for inline candidate models * But regular models should also work without this * Async... all of the things... * Async the server too * clearing up async server tests * Correct async mock * internalize init_world * clean up tornado usage * small GameInstance bug * small GameInstance bug * Some deploy fixes * Moving safety model to async part * Some safety fixes * test fixes * Enums for model types * Checking for non-list to convert first * AWS Option for LIGHT data model storage (#305) * Some initial transitions over to model pool * Moving initialization code out from where it occurred * Wiring more of the system together * Adding opt for reranked generative * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * adding WorldConfig to hold complex configuration vars * Moving episode_db into relevant GraphBuilders * Game launches, but not logging * Local BaseDB, now saving episodes * Missing files * deleting miscommit * test fix * Migrating to UserDB * No more LIGHTDatabase in TornadoServer * Fixing tests * Works after testing locally * Updated messaging for unimplemented * Upgrading OneRoomGraphBuilder to ModelPool * Completing (almost) the rest of Modelpool references * Works without loading models in play_map * Model pool actually works * Safety working as well * removing prints * Fixing some tests, skipping starspace * Runs on server too * Creating LIGHT's ModelServer * Undo server change * tornado simplicity * Handling for inline candidate models * But regular models should also work without this * Async... all of the things... * Async the server too * clearing up async server tests * Correct async mock * internalize init_world * clean up tornado usage * small GameInstance bug * small GameInstance bug * Some deploy fixes * now using aws as a storage backend * Moving safety model to async part * Some safety fixes * test fixes * silly elif fix * dropped change on merge * Stable Server commit before coming refactors (#306) * Some initial transitions over to model pool * Moving initialization code out from where it occurred * Wiring more of the system together * Adding opt for reranked generative * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * adding WorldConfig to hold complex configuration vars * Moving episode_db into relevant GraphBuilders * Game launches, but not logging * Local BaseDB, now saving episodes * Missing files * deleting miscommit * test fix * Migrating to UserDB * No more LIGHTDatabase in TornadoServer * Fixing tests * Works after testing locally * Updated messaging for unimplemented * Upgrading OneRoomGraphBuilder to ModelPool * Completing (almost) the rest of Modelpool references * Works without loading models in play_map * Model pool actually works * Safety working as well * removing prints * Fixing some tests, skipping starspace * Runs on server too * Creating LIGHT's ModelServer * Undo server change * tornado simplicity * Handling for inline candidate models * But regular models should also work without this * Async... all of the things... * Async the server too * clearing up async server tests * Correct async mock * internalize init_world * clean up tornado usage * small GameInstance bug * small GameInstance bug * Some deploy fixes * now using aws as a storage backend * Moving safety model to async part * Some safety fixes * test fixes * silly elif fix * Taking bug-fixes from stable server * Model server changes too * Skip another web test, works in prod, refactor incoming * Enums for model types * Checking for non-list to convert first * Slightly more clarity * Privacy commitment improvements (#307) * Some initial transitions over to model pool * Moving initialization code out from where it occurred * Wiring more of the system together * Adding opt for reranked generative * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * adding WorldConfig to hold complex configuration vars * Moving episode_db into relevant GraphBuilders * Game launches, but not logging * Local BaseDB, now saving episodes * Missing files * deleting miscommit * test fix * Migrating to UserDB * No more LIGHTDatabase in TornadoServer * Fixing tests * Works after testing locally * Updated messaging for unimplemented * Upgrading OneRoomGraphBuilder to ModelPool * Completing (almost) the rest of Modelpool references * Works without loading models in play_map * Model pool actually works * Safety working as well * removing prints * Fixing some tests, skipping starspace * Runs on server too * Creating LIGHT's ModelServer * Undo server change * tornado simplicity * Handling for inline candidate models * But regular models should also work without this * Async... all of the things... * Async the server too * clearing up async server tests * Correct async mock * internalize init_world * clean up tornado usage * small GameInstance bug * small GameInstance bug * Some deploy fixes * now using aws as a storage backend * Moving safety model to async part * Some safety fixes * test fixes * silly elif fix * Taking bug-fixes from stable server * Model server changes too * Skip another web test, works in prod, refactor incoming * Ensure we're not using FB user data * Methods for scrubbing the datasets * Deleting player data and related graph info * Fixing bugs, adding tests * Environment exporting * Export episode DB too * 60 != 90 * Addressing comments * Base architecture README * Addressing comments * Missed a FLAGS * Small fixes for episode db keys * Adding wild episode metadata to EpisodeDB * Tests pass after contain size fix * Need to size up * Ordering mistake * world dissociation * Small episode test cleanup * Adding headers * Some rollbacks, some copyright fixes * More header fixes * Clean up irrelevant paths * Adding missing hydra configs * Login page differs between dev and prod * Dropping older tests * correct config import loc * Forgot to commit the files somehow * Small fixes * 0.2.0 Co-authored-by: Justin Pinero <[email protected]> Co-authored-by: JustinPinero <[email protected]> Co-authored-by: Leonard <[email protected]> Co-authored-by: Leonard Adolphs <[email protected]> Co-authored-by: Mojtaba <[email protected]> Co-authored-by: Alex Gurung <[email protected]> Co-authored-by: Alex Gurung <[email protected]> Co-authored-by: Kurt Shuster <[email protected]>
* Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * adding WorldConfig to hold complex configuration vars * Moving episode_db into relevant GraphBuilders * Game launches, but not logging * Local BaseDB, now saving episodes * Missing files * deleting miscommit * test fix * Migrating to UserDB * No more LIGHTDatabase in TornadoServer * Fixing tests * Works after testing locally * Updated messaging for unimplemented * Upgrading OneRoomGraphBuilder to ModelPool * Completing (almost) the rest of Modelpool references * Works without loading models in play_map * Model pool actually works * Safety working as well * Rebuild on main, committed (#299) * requirements * removing prints * Fix tests on `main` (#301) * Bump parlai * soften pytest * Test soul messing up testing * Another mis-test * Accidentally dropped file * Stop confusing the tests * another one snuck by * Fixing some tests, skipping starspace * Runs on server too * Creating LIGHT's ModelServer * Undo server change * tornado simplicity * Handling for inline candidate models * But regular models should also work without this * Async... all of the things... * Async the server too * clearing up async server tests * Correct async mock * internalize init_world * clean up tornado usage * small GameInstance bug * small GameInstance bug * Some deploy fixes * now using aws as a storage backend * Moving safety model to async part * Some safety fixes * test fixes * silly elif fix * Taking bug-fixes from stable server * Model server changes too * Skip another web test, works in prod, refactor incoming * Ensure we're not using FB user data * Methods for scrubbing the datasets * Deleting player data and related graph info * Fixing bugs, adding tests * Environment exporting * Export episode DB too * Enums for model types * Checking for non-list to convert first * Slightly more clarity * 60 != 90 * Creating initial hydra classes and structures * base model loading classes * progress towards play_map * Model loading works from hydra * Play-map works again * Main tests passing again * Restoring broken point for tutorial * Making ModelServer work again * Server works for local deploy with hydra config * Server tests now passing * hydra 1.2 * temporary hydra force upgrade for tests * pre-publish review * Implementing New Users Tables (#292) * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * New Episode logging (#293) * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Addressing comments, clarifying code * New environment db (#295) * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * Using `EpisodeDB` in main game path (#297) * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * adding WorldConfig to hold complex configuration vars * Moving episode_db into relevant GraphBuilders * Game launches, but not logging * Local BaseDB, now saving episodes * Missing files * deleting miscommit * test fix * Using `UserDB` as main game identity storage (#298) * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * adding WorldConfig to hold complex configuration vars * Moving episode_db into relevant GraphBuilders * Game launches, but not logging * Local BaseDB, now saving episodes * Missing files * deleting miscommit * test fix * Migrating to UserDB * No more LIGHTDatabase in TornadoServer * Fixing tests * Works after testing locally * Updated messaging for unimplemented * Creating and using the `ModelPool` (#300) * Some initial transitions over to model pool * Moving initialization code out from where it occurred * Wiring more of the system together * Adding opt for reranked generative * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * adding WorldConfig to hold complex configuration vars * Moving episode_db into relevant GraphBuilders * Game launches, but not logging * Local BaseDB, now saving episodes * Missing files * deleting miscommit * test fix * Migrating to UserDB * No more LIGHTDatabase in TornadoServer * Fixing tests * Works after testing locally * Updated messaging for unimplemented * Upgrading OneRoomGraphBuilder to ModelPool * Completing (almost) the rest of Modelpool references * Works without loading models in play_map * Model pool actually works * Safety working as well * removing prints * Fixing some tests, skipping starspace * Runs on server too * Enums for model types * Fixing bad merge * Creating LIGHT's ModelServer (#302) * Some initial transitions over to model pool * Moving initialization code out from where it occurred * Wiring more of the system together * Adding opt for reranked generative * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * adding WorldConfig to hold complex configuration vars * Moving episode_db into relevant GraphBuilders * Game launches, but not logging * Local BaseDB, now saving episodes * Missing files * deleting miscommit * test fix * Migrating to UserDB * No more LIGHTDatabase in TornadoServer * Fixing tests * Works after testing locally * Updated messaging for unimplemented * Upgrading OneRoomGraphBuilder to ModelPool * Completing (almost) the rest of Modelpool references * Works without loading models in play_map * Model pool actually works * Safety working as well * removing prints * Fixing some tests, skipping starspace * Runs on server too * Creating LIGHT's ModelServer * Undo server change * tornado simplicity * Handling for inline candidate models * But regular models should also work without this * Enums for model types * `asyncio` all over LIGHT (#304) * Some initial transitions over to model pool * Moving initialization code out from where it occurred * Wiring more of the system together * Adding opt for reranked generative * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * adding WorldConfig to hold complex configuration vars * Moving episode_db into relevant GraphBuilders * Game launches, but not logging * Local BaseDB, now saving episodes * Missing files * deleting miscommit * test fix * Migrating to UserDB * No more LIGHTDatabase in TornadoServer * Fixing tests * Works after testing locally * Updated messaging for unimplemented * Upgrading OneRoomGraphBuilder to ModelPool * Completing (almost) the rest of Modelpool references * Works without loading models in play_map * Model pool actually works * Safety working as well * removing prints * Fixing some tests, skipping starspace * Runs on server too * Creating LIGHT's ModelServer * Undo server change * tornado simplicity * Handling for inline candidate models * But regular models should also work without this * Async... all of the things... * Async the server too * clearing up async server tests * Correct async mock * internalize init_world * clean up tornado usage * small GameInstance bug * small GameInstance bug * Some deploy fixes * Moving safety model to async part * Some safety fixes * test fixes * Enums for model types * Checking for non-list to convert first * AWS Option for LIGHT data model storage (#305) * Some initial transitions over to model pool * Moving initialization code out from where it occurred * Wiring more of the system together * Adding opt for reranked generative * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * adding WorldConfig to hold complex configuration vars * Moving episode_db into relevant GraphBuilders * Game launches, but not logging * Local BaseDB, now saving episodes * Missing files * deleting miscommit * test fix * Migrating to UserDB * No more LIGHTDatabase in TornadoServer * Fixing tests * Works after testing locally * Updated messaging for unimplemented * Upgrading OneRoomGraphBuilder to ModelPool * Completing (almost) the rest of Modelpool references * Works without loading models in play_map * Model pool actually works * Safety working as well * removing prints * Fixing some tests, skipping starspace * Runs on server too * Creating LIGHT's ModelServer * Undo server change * tornado simplicity * Handling for inline candidate models * But regular models should also work without this * Async... all of the things... * Async the server too * clearing up async server tests * Correct async mock * internalize init_world * clean up tornado usage * small GameInstance bug * small GameInstance bug * Some deploy fixes * now using aws as a storage backend * Moving safety model to async part * Some safety fixes * test fixes * silly elif fix * dropped change on merge * Stable Server commit before coming refactors (#306) * Some initial transitions over to model pool * Moving initialization code out from where it occurred * Wiring more of the system together * Adding opt for reranked generative * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * adding WorldConfig to hold complex configuration vars * Moving episode_db into relevant GraphBuilders * Game launches, but not logging * Local BaseDB, now saving episodes * Missing files * deleting miscommit * test fix * Migrating to UserDB * No more LIGHTDatabase in TornadoServer * Fixing tests * Works after testing locally * Updated messaging for unimplemented * Upgrading OneRoomGraphBuilder to ModelPool * Completing (almost) the rest of Modelpool references * Works without loading models in play_map * Model pool actually works * Safety working as well * removing prints * Fixing some tests, skipping starspace * Runs on server too * Creating LIGHT's ModelServer * Undo server change * tornado simplicity * Handling for inline candidate models * But regular models should also work without this * Async... all of the things... * Async the server too * clearing up async server tests * Correct async mock * internalize init_world * clean up tornado usage * small GameInstance bug * small GameInstance bug * Some deploy fixes * now using aws as a storage backend * Moving safety model to async part * Some safety fixes * test fixes * silly elif fix * Taking bug-fixes from stable server * Model server changes too * Skip another web test, works in prod, refactor incoming * Enums for model types * Checking for non-list to convert first * Slightly more clarity * Privacy commitment improvements (#307) * Some initial transitions over to model pool * Moving initialization code out from where it occurred * Wiring more of the system together * Adding opt for reranked generative * Filling out UserDB * Abstract enforce get first * Clearer argument - num_turns * Using enums in DB * Initial episode data model * Update content loggers to use episode formatting * Updating tables to work with testing * Fixing some test changes * Fixing small warnings that were noise during tests * Moving default log path * Test fix * Correcting math thanks to Kurt * Updating env DB classes to SQLAlchemy * Name keys and Elems coded * Adding arbitrary node attributes * First complete pass of EnvDB * Mypy fixings * Fixing agents * Writing some tests * Finishing tests for object and room creates and queries * Edge testing * Arbitrary attributes testing * Quests and testing * And finally, DBGraph tests * fixing episode change * TODO function * final mypy fixes * DBID testing * a -> either a or an depending on aeiou * adding WorldConfig to hold complex configuration vars * Moving episode_db into relevant GraphBuilders * Game launches, but not logging * Local BaseDB, now saving episodes * Missing files * deleting miscommit * test fix * Migrating to UserDB * No more LIGHTDatabase in TornadoServer * Fixing tests * Works after testing locally * Updated messaging for unimplemented * Upgrading OneRoomGraphBuilder to ModelPool * Completing (almost) the rest of Modelpool references * Works without loading models in play_map * Model pool actually works * Safety working as well * removing prints * Fixing some tests, skipping starspace * Runs on server too * Creating LIGHT's ModelServer * Undo server change * tornado simplicity * Handling for inline candidate models * But regular models should also work without this * Async... all of the things... * Async the server too * clearing up async server tests * Correct async mock * internalize init_world * clean up tornado usage * small GameInstance bug * small GameInstance bug * Some deploy fixes * now using aws as a storage backend * Moving safety model to async part * Some safety fixes * test fixes * silly elif fix * Taking bug-fixes from stable server * Model server changes too * Skip another web test, works in prod, refactor incoming * Ensure we're not using FB user data * Methods for scrubbing the datasets * Deleting player data and related graph info * Fixing bugs, adding tests * Environment exporting * Export episode DB too * 60 != 90 * Addressing comments * Base architecture README * Addressing comments * Missed a FLAGS * Small fixes for episode db keys * world dissociation * Small episode test cleanup * Adding headers * Some rollbacks, some copyright fixes * More header fixes * Clean up irrelevant paths * Adding missing hydra configs * Login page differs between dev and prod * Dropping older tests * correct config import loc * Forgot to commit the files somehow * Small fixes * added copy file * adding tailwind * Fixed tailwind and daisy ui * Fixed tailwind and daisy ui * removed redux state reference, created local state equivalents, successfully rendered gameapp chat display components * finished initial draft of intro * added unstyled welcome terminal * added welcome display and wired terminal input * added legal and login displays, partially wired for purposes of testing * fixed completionChecker function * fixed welcome display orientation, added rejection message in welcome display, fixing stepper in welcome display, added larger checkboxes to legal agreements and added submit button that conditionally renders based onf agreement completion * fixed legal header, centered legal checklist * welcome display base line styled and added stepper * added rejection and autofocus to welcome display * styled submission button on legal display * added copy to login display and conditionally render login button * increased size of checkboxes * added correct font, added links to login text * added correct font, added links to login text * fixed alignment of welcome display * removed unused code in chat, resized legal checkbox * added terminal input to welcome display upon rejection * changed inputs to prestyled button components in welcome display, added typing animation effect to terminal text * added greying effect to terminal text * split landingPage into prelogin page and landing page (post login), building custom checkbox * removed legacy styles from about, logout, and terms pages, building checkbox component, added type speed to copy * added terms and faq pages with links and updated copy * fixed terms page header * removed faq context * Additional changes for current live server version * Final Touches to Landing App (#336) * checkboxes wired, submit buttons disabled and added disabled styles * added sidebar without icons * added final steps in intro rendering sidebar and allowing user to enter tutorial after one final response in chat bar * added min width and side scrolling styles * shrunk checkboxes, added tooltips on disabled agreement buttons * shrunk checkboxes * finished last pre launch fixes * added documentation too ChatBubble, AgentMessage, CheckBox, CollapsibleBox, ProgressBar, SideBarHeader, deleted ExperienceInfo component and styles * added quick bounce animation to check component in checkbox, added documentation to icon collapsible container, adding name strings to tailwind styled components * added documentation to chat display, chatbar, chatbuttons, chat input, send button, added errorpage, added check box animation * added documentation to landingapp page * added updated logout page and documented intro sidebar, logout page, landingPage * added documentation for welcomepage, terminal entry, prelogin page, typewritertext * documented termspage * documented welcomedisplay * added scribe tab icon * Creating llm builder * Squashed commit of server-branch * oops * wrong form for adding model safety * partial sidebar and mobile updates * pre sidebar styles * Replaced size limit on commit yaml * added 2xl styling to game app * fixed gameapp mobile drawer * added redirect to prelogin page * added redirect logic landing app * applying landing app changes to game app and vice versa fixed chatdisplay resizing issue removed legacy styles refactored entry component in to message and messaagetypes components added mobile sidebar across both apps adding idle message with updated styles fixed sidebar animation adding updated emoji picker * added emoji key and selection to player and session info lifecycle event * focus chat input upon button clicks, resized tell target button, updated disconnect message component removed unused components and state in game app and landing app * fixed spacing issues in agent messages, updated status message, updated location message, tested starts * fixed name plate coloring * added help, status, and setting message updated mobile friendly messages * updated inventory message * added mission success message updates removed all legacy styles * updated soulspawn message * fixed chat word break bug * fixed chat word break bug * formatted soulspawn * removed black background * fixed sizing issue in landing app * fixed sizing issue in landing app * reply button now focueses chatinput after selecting tell target * readded star animations to agent and player messages, set mobile width to be wider on both message types * fixed chat button sizing * added https to prelogin redirect * updated login flow * updated login flow * updated login flow * updated loading page * added documentation to logo * added ability to color response bubbles, formatted text to be same size, added formatting into life cycle for agent responses, updated like and dislike icon colors, updated error confirmation text color, fixed multiple tutorial tool tips rendering on same message types * updated agent chat bubbles colors * added mobile prop to chat bubble name plate * updated setting and invetory styles * updated inventory and status messages * updated quest messages * fixed action buttons generation adding tellbuttons local state * fixed mobile info button position and show condition, fixed chat button sizing, fixed action button sizing * updated disconnected message * star updates * fixed chatbubble tails and other do bubble colors, added white and red-100 to tailwind theme config * added quotes to corners of chat bubbles * added strokes to quotes * added strokes to quotes * added telltarget to chat bubble * fixed stroke color in tell messages * fixed arrival message, tell message, added incoming tell text * fixed session xp and added single xp stars for messages * no longer rendering stars for less than 2 xp * LLM-based builder and some maps * Pathing issue resolved * some fixes --------- Co-authored-by: Justin Pinero <[email protected]> Co-authored-by: JustinPinero <[email protected]> Co-authored-by: Justin Pinero <[email protected]>
Overview
Following in the steps of #293 and as part of #291, this PR introduces the last piece of the replacement for the
LIGHTDatabase
. Importantly, this is built in a way that can be both deployed on the server and exported for local use. Further, it's built to contain and organize all of our current data forms. Some key functionality:DBElem
s) to manage the entities that backGraphNode
s, and will allow us to create easier tools for directly building graphs from entities in the database.DBElem
s have support for querying every relevant edge type (via theDBEdge
andDBTextEdge
) tables.DBElem
s also now have support for arbitrary attributes (with name-key pairs)DBElem
tables and theDBEdge
tables have some solid indexing, which should make queries a lot faster than the oldLIGHTDatabase
EnvDB
comes out-of-box with the ability to preload everything into a_cache
dict format, which may be more familiar.EnvDB
is able to track both suggested edits to contents inside of the environment, as well as any time that a user flags content. We'll eventually be able to action directly against the DB from these constructs, but for now we can at least log them.DBQuest
s are now part of the environmentDBQuest
s have helpers for retrieving relevant quests up and down their chainsDBBaseEdge
-style pairing system instead.DBGraph
's table. This is done by using the methods in the underlyingBaseDB
to cover appropriate file handling, and theEnvDB
can act as a manifest for these graphs.Note: This PR is pretty massive, I'm not expecting a full review here. If the above description makes sense, and you think the test coverage is enough to be confident about, then it's probably good to accept. If you're curious about SQLAlchemy setups though it might be an interesting pore-through! Once we have the proof of concept running E2E and are collecting data again, I'll loop back and do a documentation writeup.
Implementation
DBStatus
One key design consideration: all elements inserted into the DB by default are put into a
REVIEW
status. When pre-filling from our existing data, we can pre-approve, but once the game is live we won't want to make anything directly accessible. As such, all elements in the environment have a status field.HasDBIDMixin
In order to have some kind of understanding of what the new arbitrary IDs are pointing to, all UUIDs entered into LIGHT have a 3 character prefix key. The
HasDBIDMixin
provides functionality for generating unique ids for a specific DB element, and for determining if a given ID belongs to a specific class.DBElem
sThese cover the concepts of Rooms, Agents, and Objects that were in the original LIGHT dataset. In the new
EnvDB
these are built intoDBElem
s, which each have correspondingDBNameKey
s (for rough deduplication). All of the originally collected attributes as well as the other ones we've come up with have been built into the main table for these. Usage is as follows:This code creates both the
DBRoom
as well as theDBRoomName
if necessary.Attributes
New to this DB, we introduce arbitrary attributes, which are saved as key-value pairs that can be attached to any node in the graph. From a
DBElem
we can query the ones directly tied to a specific element, though they can also be queried broadly from the table.Edges
Both edge types,
node_edges
andtext_edges
, are available as loaded attributes of anyDBElem
. They link to lists ofDBEdge
andDBTextEdge
respectively, and all of the details about those edges (including nodes they point to) can be directly referenced.DBFlag
s andDBEdit
sNot too much to share here, these are pretty standard storage right now, and the key functionality for executing them is yet to be implemented. We do want to start saving these in any live game though.
DBGraph
sThe
DBGraph
table acts as a manifest for all currently saved and available worlds. For the production setting, these will be tied to creator IDs, though on export we'll likely drop these and replace the creator ID with the split that the graphs were released as a part of.These only track the most-recently saved version of a user's graph.
In order to actually start tracking these, I've added
db_id
andtitle
fields to the underlyingOOGraph
structure.Testing
mypy
passes for theEnvDB
EnvDB
. Coverage reporting below: