Compare commits
2 Commits
f9bf119af6
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 805dbc6dcc | |||
| 2978db229e |
@@ -1 +1 @@
|
||||
code/demo_prompt_args.py
|
||||
code/job.py
|
||||
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
.connectionmachine_auth.db
|
||||
.coverage
|
||||
__pycache__/
|
||||
80
Pipfile.lock
generated
80
Pipfile.lock
generated
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"_meta": {
|
||||
"hash": {
|
||||
"sha256": "2eb83d592adec12e8260d182f8391fa19a3983b5bb75be542182cd5036ee5a86"
|
||||
"sha256": "2ee953aeb2d6e88bd867271a839c7a4e3375a240869f772730258be2bdf39d63"
|
||||
},
|
||||
"pipfile-spec": 6,
|
||||
"requires": {
|
||||
@@ -40,6 +40,76 @@
|
||||
"markers": "python_version >= '3.10'",
|
||||
"version": "==4.13.0"
|
||||
},
|
||||
"bcrypt": {
|
||||
"hashes": [
|
||||
"sha256:046ad6db88edb3c5ece4369af997938fb1c19d6a699b9c1b27b0db432faae4c4",
|
||||
"sha256:0c418ca99fd47e9c59a301744d63328f17798b5947b0f791e9af3c1c499c2d0a",
|
||||
"sha256:0c8e093ea2532601a6f686edbc2c6b2ec24131ff5c52f7610dd64fa4553b5464",
|
||||
"sha256:0cae4cb350934dfd74c020525eeae0a5f79257e8a201c0c176f4b84fdbf2a4b4",
|
||||
"sha256:137c5156524328a24b9fac1cb5db0ba618bc97d11970b39184c1d87dc4bf1746",
|
||||
"sha256:200af71bc25f22006f4069060c88ed36f8aa4ff7f53e67ff04d2ab3f1e79a5b2",
|
||||
"sha256:212139484ab3207b1f0c00633d3be92fef3c5f0af17cad155679d03ff2ee1e41",
|
||||
"sha256:2b732e7d388fa22d48920baa267ba5d97cca38070b69c0e2d37087b381c681fd",
|
||||
"sha256:35a77ec55b541e5e583eb3436ffbbf53b0ffa1fa16ca6782279daf95d146dcd9",
|
||||
"sha256:38cac74101777a6a7d3b3e3cfefa57089b5ada650dce2baf0cbdd9d65db22a9e",
|
||||
"sha256:3abeb543874b2c0524ff40c57a4e14e5d3a66ff33fb423529c88f180fd756538",
|
||||
"sha256:3ca8a166b1140436e058298a34d88032ab62f15aae1c598580333dc21d27ef10",
|
||||
"sha256:3cf67a804fc66fc217e6914a5635000259fbbbb12e78a99488e4d5ba445a71eb",
|
||||
"sha256:4870a52610537037adb382444fefd3706d96d663ac44cbb2f37e3919dca3d7ef",
|
||||
"sha256:48f753100931605686f74e27a7b49238122aa761a9aefe9373265b8b7aa43ea4",
|
||||
"sha256:4bfd2a34de661f34d0bda43c3e4e79df586e4716ef401fe31ea39d69d581ef23",
|
||||
"sha256:560ddb6ec730386e7b3b26b8b4c88197aaed924430e7b74666a586ac997249ef",
|
||||
"sha256:5b1589f4839a0899c146e8892efe320c0fa096568abd9b95593efac50a87cb75",
|
||||
"sha256:5feebf85a9cefda32966d8171f5db7e3ba964b77fdfe31919622256f80f9cf42",
|
||||
"sha256:611f0a17aa4a25a69362dcc299fda5c8a3d4f160e2abb3831041feb77393a14a",
|
||||
"sha256:61afc381250c3182d9078551e3ac3a41da14154fbff647ddf52a769f588c4172",
|
||||
"sha256:64d7ce196203e468c457c37ec22390f1a61c85c6f0b8160fd752940ccfb3a683",
|
||||
"sha256:64ee8434b0da054d830fa8e89e1c8bf30061d539044a39524ff7dec90481e5c2",
|
||||
"sha256:6b8f520b61e8781efee73cba14e3e8c9556ccfb375623f4f97429544734545b4",
|
||||
"sha256:741449132f64b3524e95cd30e5cd3343006ce146088f074f31ab26b94e6c75ba",
|
||||
"sha256:744d3c6b164caa658adcb72cb8cc9ad9b4b75c7db507ab4bc2480474a51989da",
|
||||
"sha256:79cfa161eda8d2ddf29acad370356b47f02387153b11d46042e93a0a95127493",
|
||||
"sha256:7aeef54b60ceddb6f30ee3db090351ecf0d40ec6e2abf41430997407a46d2254",
|
||||
"sha256:7edda91d5ab52b15636d9c30da87d2cc84f426c72b9dba7a9b4fe142ba11f534",
|
||||
"sha256:7f277a4b3390ab4bebe597800a90da0edae882c6196d3038a73adf446c4f969f",
|
||||
"sha256:7f4c94dec1b5ab5d522750cb059bb9409ea8872d4494fd152b53cca99f1ddd8c",
|
||||
"sha256:801cad5ccb6b87d1b430f183269b94c24f248dddbbc5c1f78b6ed231743e001c",
|
||||
"sha256:83e787d7a84dbbfba6f250dd7a5efd689e935f03dd83b0f919d39349e1f23f83",
|
||||
"sha256:89042e61b5e808b67daf24a434d89bab164d4de1746b37a8d173b6b14f3db9ff",
|
||||
"sha256:92864f54fb48b4c718fc92a32825d0e42265a627f956bc0361fe869f1adc3e7d",
|
||||
"sha256:9d52ed507c2488eddd6a95bccee4e808d3234fa78dd370e24bac65a21212b861",
|
||||
"sha256:9fffdb387abe6aa775af36ef16f55e318dcda4194ddbf82007a6f21da29de8f5",
|
||||
"sha256:a28bc05039bdf3289d757f49d616ab3efe8cf40d8e8001ccdd621cd4f98f4fc9",
|
||||
"sha256:a5393eae5722bcef046a990b84dff02b954904c36a194f6cfc817d7dca6c6f0b",
|
||||
"sha256:a71f70ee269671460b37a449f5ff26982a6f2ba493b3eabdd687b4bf35f875ac",
|
||||
"sha256:b17366316c654e1ad0306a6858e189fc835eca39f7eb2cafd6aaca8ce0c40a2e",
|
||||
"sha256:baade0a5657654c2984468efb7d6c110db87ea63ef5a4b54732e7e337253e44f",
|
||||
"sha256:c2388ca94ffee269b6038d48747f4ce8df0ffbea43f31abfa18ac72f0218effb",
|
||||
"sha256:c58b56cdfb03202b3bcc9fd8daee8e8e9b6d7e3163aa97c631dfcfcc24d36c86",
|
||||
"sha256:cde08734f12c6a4e28dc6755cd11d3bdfea608d93d958fffbe95a7026ebe4980",
|
||||
"sha256:d79e5c65dcc9af213594d6f7f1fa2c98ad3fc10431e7aa53c176b441943efbdd",
|
||||
"sha256:d8d65b564ec849643d9f7ea05c6d9f0cd7ca23bdd4ac0c2dbef1104ab504543d",
|
||||
"sha256:db99dca3b1fdc3db87d7c57eac0c82281242d1eabf19dcb8a6b10eb29a2e72d1",
|
||||
"sha256:dcd58e2b3a908b5ecc9b9df2f0085592506ac2d5110786018ee5e160f28e0911",
|
||||
"sha256:dd19cf5184a90c873009244586396a6a884d591a5323f0e8a5922560718d4993",
|
||||
"sha256:ddb4e1500f6efdd402218ffe34d040a1196c072e07929b9820f363a1fd1f4191",
|
||||
"sha256:e3cf5b2560c7b5a142286f69bde914494b6d8f901aaa71e453078388a50881c4",
|
||||
"sha256:ed2e1365e31fc73f1825fa830f1c8f8917ca1b3ca6185773b349c20fd606cec2",
|
||||
"sha256:edfcdcedd0d0f05850c52ba3127b1fce70b9f89e0fe5ff16517df7e81fa3cbb8",
|
||||
"sha256:f0ce778135f60799d89c9693b9b398819d15f1921ba15fe719acb3178215a7db",
|
||||
"sha256:f2347d3534e76bf50bca5500989d6c1d05ed64b440408057a37673282c654927",
|
||||
"sha256:f3c08197f3039bec79cee59a606d62b96b16669cff3949f21e74796b6e3cd2be",
|
||||
"sha256:f632fd56fc4e61564f78b46a2269153122db34988e78b6be8b32d28507b7eaeb",
|
||||
"sha256:f6984a24db30548fd39a44360532898c33528b74aedf81c26cf29c51ee47057e",
|
||||
"sha256:f70aadb7a809305226daedf75d90379c397b094755a710d7014b8b117df1ebbf",
|
||||
"sha256:f748f7c2d6fd375cc93d3fba7ef4a9e3a092421b8dbf34d8d4dc06be9492dfdd",
|
||||
"sha256:f8429e1c410b4073944f03bd778a9e066e7fad723564a52ff91841d278dfc822",
|
||||
"sha256:fc746432b951e92b58317af8e0ca746efe93e66555f1b40888865ef5bf56446b"
|
||||
],
|
||||
"index": "pypi",
|
||||
"markers": "python_version >= '3.8'",
|
||||
"version": "==5.0.0"
|
||||
},
|
||||
"click": {
|
||||
"hashes": [
|
||||
"sha256:14162b8b3b3550a7d479eafa77dfd3c38d9dc8951f6f69c78913a8f9a7540fd5",
|
||||
@@ -73,6 +143,14 @@
|
||||
"markers": "python_version >= '3.8'",
|
||||
"version": "==3.11"
|
||||
},
|
||||
"passlib": {
|
||||
"hashes": [
|
||||
"sha256:aa6bca462b8d8bda89c70b382f0c298a20b5560af6cbfa2dce410c0a2fb669f1",
|
||||
"sha256:defd50f72b65c5402ab2c573830a6978e5f202ad0d984793c8dde2c4152ebe04"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==1.7.4"
|
||||
},
|
||||
"pillow": {
|
||||
"hashes": [
|
||||
"sha256:00a2865911330191c0b818c59103b58a5e697cae67042366970a6b6f1b20b7f9",
|
||||
|
||||
@@ -25,4 +25,3 @@ def create_app() -> FastAPI:
|
||||
|
||||
|
||||
app = create_app()
|
||||
|
||||
|
||||
@@ -49,4 +49,3 @@ async def create_folder(folder_path: str, folder_data: FolderOperation):
|
||||
async def delete_folder(folder_path: str):
|
||||
filesystem.delete_folder(folder_path)
|
||||
return {"message": "Folder deleted successfully"}
|
||||
|
||||
|
||||
@@ -85,7 +85,6 @@ async def websocket_python_output(websocket: WebSocket):
|
||||
offset = data["next_offset"]
|
||||
last_running = data["running"]
|
||||
last_return_code = data["return_code"]
|
||||
# Yield between pushes to avoid overwhelming browser UI threads.
|
||||
await asyncio.sleep(0.03)
|
||||
else:
|
||||
if data["running"] != last_running or data["return_code"] != last_return_code:
|
||||
@@ -99,7 +98,6 @@ async def websocket_python_output(websocket: WebSocket):
|
||||
)
|
||||
last_running = data["running"]
|
||||
last_return_code = data["return_code"]
|
||||
# Keep the websocket active and low-latency.
|
||||
await asyncio.sleep(0.2)
|
||||
|
||||
|
||||
@@ -117,4 +115,3 @@ async def get_startup_script():
|
||||
async def set_startup_script(startup_request: StartupScriptRequest):
|
||||
file_path = python_runner.set_startup_script(startup_request.file_path)
|
||||
return {"message": "Startup script saved", "file_path": file_path}
|
||||
|
||||
|
||||
@@ -179,4 +179,3 @@ def delete_folder(folder_path: str) -> None:
|
||||
if not target_path.is_dir():
|
||||
raise HTTPException(status_code=400, detail="Path is not a directory")
|
||||
shutil.rmtree(target_path)
|
||||
|
||||
|
||||
@@ -74,6 +74,6 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="module" src="/static/script.js?v=7"></script>
|
||||
<script type="module" src="/static/script.js?v=8"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1420,7 +1420,6 @@ class TextEditor {
|
||||
this.showError('Select a file or folder first');
|
||||
return;
|
||||
}
|
||||
|
||||
const targetType = this.selectedIsDirectory ? "folder" : "file";
|
||||
if (!confirm(`Delete ${targetType} "${this.selectedPath}"?`)) {
|
||||
return;
|
||||
|
||||
@@ -63,7 +63,7 @@ def test_browser_create_file_not_forced_into_new(tmp_path):
|
||||
page.wait_for_timeout(500)
|
||||
browser.close()
|
||||
|
||||
assert (tmp_path / "browser-test.txt").exists()
|
||||
assert (tmp_path / "code" / "browser-test.txt").exists()
|
||||
assert not (tmp_path / "new" / "browser-test.txt").exists()
|
||||
finally:
|
||||
server.terminate()
|
||||
|
||||
Reference in New Issue
Block a user