Skip to content

Better support for external machine agents #11

@davebraines

Description

@davebraines

There is a separate interaction mechanism for more independent “external observer” agents but this is very basically implemented and there is lots of room for improvement.

Agents wishing to operate in this way run somewhere else and they send a request to get a project graph and they can submit “proposals” (via the /propose API in routes/project.js). These proposals are fragments of graphs in the form of node and link json which get stored but not immediately added to the graph. There is a setting for proposals to be automatically accepted and there is a polling function which checks for proposals at a set frequency and if it is set to auto accept they will be automatically added to the canvas.

To implement this more thoroughly:

  • Websockets (or equivalent) so agents can register for project updates rather than having to poll for the whole project graph every time
  • A minimum UI to show the user that proposals are being made to their graph, allowing them to list then, and then inspect/accept/reject (APIs exist for this, but not UI)
  • Consider if fine-grained access control is needed (beyond current http auth for the whole graph) to enable the returning of subsets of a graph based on permissions

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions