Open idncsk opened 1 month ago
Hello, I am interested in this issue.
I don't see any projects related to webdav(js, rust or go) in your portfolio This task was also posted on upwork, let me refine the description a little too
Hello, I just prepared a demo application for this issue. I applied to your job post with demo application. My name is Dmytro
@idncsk I am really interested in your project. I've gone through all sub-repositories. Before we discuss the current issue, I'd like to understand this project's functionalities better by testing it.
Is there any documentation that you can share with me, please?
Perfect, thanks for the effort! especially given that the canvas-server code is in the middle of a big refactor. I tried to explain the base concept in https://github.com/canvas-ai/canvas but we can also have a short call, I can quickly show you where we are heading (should probably finally do a video too :P)
The missing part in your screenshot / setup I assume is the bash CLI client(or the repl nodejs app - not really maintained but works)
In general, you have your directory-like context tree where each directory is tied to a bitmap index indexing all your data (notes, contacts, emails, file) to a given context
Selecting universe://work/customer-foo/dev/jira-1234 should automagically return all data linked to this particular context (notes, tabs etc) Selecting/creating universe://customer-foo will show you all data linked to customer-foo Selecting/creating universe://reports/2024/customer-foo will do a ligical AND for reports AND 2024 AND customer-foo and show you only data that was linked/commited to all 3 layers (one thing I'll probably implement today is the commitLayers functionality)
You can have your canvas-server sitting somewhere in your home NAS in a docker container(optionally running a minio S3 role), holding all your canvas index data, and a session "work" from your work nb tied to a base URL /work (so as to only navigate within the /work subtree) and a default session with base URL / (universe) on your workstation and personal nb, transparently indexing all your data (browser tabs are notoriously entropy-producing so prioritized that extension as a PoC - big thanks to @tarborlevan for his work)
I see.
you can now use $ context list | grep url # to check if your urls were stored correctly $ context bitmaps # to check what bitmap-based filters are applied to your current context well, those 2 are most practical when developing/testing $ context sessions # the whole submenu (really badly named/implemented) if you need to test the sessions functionality
@idncsk All things are clear. I just applied to your job on Upwork. Please check.
@Kunkka0822 whats your initials
@idncsk My name is Stepan.
Hello, My name is Rodney, i'm ready
@BigHouse0405 Hello Rodney, once the grunt work is done, we will start working on llm agents, already did some tests with fine-tuning with unsloth and lora adapters. Internally we use bitmap indexes which I think are a great fit and have huge potential optimizing RAG and even inference(depending on how deep one wants to integrate them), Ill probably also use lancedb in the synapsdb module which is undergoing a rewrite/cleanup => I dont think this webdav module is a good fit but stay tuned for the llm part!
@idncsk Hello, sir. i'm interesting about your project, so could you invite me? if there's anything you need, count on me.
@idncsk Could you check your email, please?
@idncsk thanks for invite me.
@idncsk Hello, sir , How are you?
Removing App/Apps from scope Scope in terms of data abstractions will be
@idncsk, i can do it, sir
This task is already worked on by @Kunkka0822 , I am in the middle of a refactor for the canvas-server part (separating index and document storage which may have not been the brightest idea) but that note above was meant for him
As agreed with @Kunkka0822, moving back to TODO, lets prioritize electron for now
We need to implement a webdav server (in canvas-server/transports or as a standalone role (go/rust) using socket.io to connect to the canvas-server instance) that would export the global context tree so that individual layers and all the content they index can be accessed and managed using OS's file manager.
DoD
List of data types that need to be implemented as part of this ticket(internally called data abstractions, feature bitmap data/abstraction/):
There should be 2 dynamic directory trees made available in the webdav root:
/Universe (global traversable context tree
/Context (~the current context for the session~)
Both trees need to be refreshed whenever the global tree is changed or the user changes context Switching from work/customer-foo/dev/taskA to work/customer-foo/dev/task-b with the webdav folder path "Context" opened should should automatically update the folder
Implementation should support all basic FS operations (copy, move, delete, rename, for Notes and Todo update)