Skip to content

It this repo still maintained? #45

@RobWin

Description

@RobWin

Hello,

We are building an open platform for Multi-Agent Systems (MAS) with a focus on a Web of Agents architecture, and we'd like to integrate Web of Things (WoT) principles for compatibility with the existing WoT ecosystem. You can find our vision here.

Objective:
We aim to create a Kotlin or Java-based framework that allows developers to quickly define AI Agents as WoT-compatible Things. We want this framework to integrate seamlessly with Spring Boot or Quarkus, leveraging their HTTP server capabilities and auto configuration features.

Key Features:

  • Annotation-driven approach: Developers should be able to annotate their classes to define properties, actions, and events in a way that's compliant with the WoT Thing Description.
  • Automatic generation of WoT-compliant ExposedThing instances based on annotated classes.

Thing Example with a Lamp

@Thing(title="Smart Lamp", description= "A simple smart lamp with brightness control and on/off actions.", moreMetadata)
class SmartLamp(val thingId: String) {

    @Min(0)
    @Max(100)
    @Property(title = "brightness", readOnly = true)
    var brightness: Int = 80

    @Action(title = "setBrightness")
    fun setBrightness(level: Int): String {
        return "Brightness set to $level"
    }

    @Action()
    fun turnOn(): String {
        return "Lamp turned on"
    }
}

This would generate

{
  "@context": ["https://www.w3.org/2019/wot/td/v1"],
  "id": "urn:dev:wot:SmartLamp",
  "title": "Smart Lamp",
  "description": "A simple smart lamp with brightness control and on/off actions.",
  "properties": {
    "brightness": {
      "title": "brightness",
      "type": "integer",
      "readOnly": true,
      "description": "The current brightness level of the lamp",
      "minimum": 0,
      "maximum": 100,
    }
  },
  "actions": {
    "setBrightness": {
      "title": "setBrightness",
      "description": "Sets the brightness level of the lamp",
      "input": {
        "type": "integer",
        "minimum": 0,
        "maximum": 100
      },
      "output": {
        "type": "string"
      }
    },
    "turnOn": {
      "title": "turnOn",
      "description": "Turns the lamp on",
      "output": {
        "type": "string"
      }
    }
  }
}

We would love to use the wot-servient library as a baseline for this framework. Would you be open to us cloning the repository and adapting parts of your code for Kotlin or Java?
We aim to align with the W3C WoT specification and provide a user-friendly framework for developers building WoT-compatible AI Agents on the cloud.

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