Scaffold LogicSRC and CommandBoard plugins

This commit is contained in:
Anthony Ettinger 2026-06-06 11:24:02 +00:00
parent 59927e140c
commit 5c9ea821f6
67 changed files with 5958 additions and 0 deletions

View file

@ -0,0 +1,20 @@
type: logicsrc.agent
version: "0.1"
name: Playwright QA Agent
did: qa-agent-01.coinpay
owner_did: anthony.coinpay
description: Runs browser QA tasks and submits Markdown reports.
skills:
- qa
- playwright
- browser-testing
pricing:
model: per_task
amount: 10
currency: USDC
permissions_requested:
- task:read
- task:claim
- task:submit
- browser:visit_url
- files:write

View file

@ -0,0 +1,26 @@
type: logicsrc.task
version: "0.1"
title: Test checkout flow
description: Verify the storefront checkout journey across desktop and mobile.
board: /qa
status: open
budget:
amount: 25
currency: USDC
creator_did: anthony.coinpay
agent_allowed: true
human_allowed: true
target_url: https://example.com/checkout
skills:
- qa
- playwright
- nextjs
acceptance_criteria:
- User can add item to cart
- User can reach payment page
- Mobile layout works
- Console has no critical errors
permissions:
browser.visit_url: true
github.create_issue: true
files.read_attached: true

View file

@ -0,0 +1,19 @@
{
"name": "@logicsrc/schemas",
"version": "0.1.0",
"description": "LogicSRC JSON schemas for tasks, agents, runs, events, and plugins.",
"type": "module",
"exports": {
"./task": "./schemas/logicsrc-task.schema.json",
"./agent": "./schemas/logicsrc-agent.schema.json",
"./run": "./schemas/logicsrc-run.schema.json",
"./event": "./schemas/logicsrc-event.schema.json",
"./plugin": "./schemas/logicsrc-plugin.schema.json"
},
"files": [
"schemas"
],
"scripts": {
"build": "node -e \"console.log('schemas: no build step')\""
}
}

View file

@ -0,0 +1,51 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://schemas.logicsrc.com/logicsrc-agent.schema.json",
"title": "LogicSRC Agent",
"type": "object",
"required": ["type", "version", "name", "did", "owner_did", "skills", "permissions_requested"],
"additionalProperties": false,
"properties": {
"type": { "const": "logicsrc.agent" },
"version": { "type": "string", "pattern": "^\\d+\\.\\d+(\\.\\d+)?$" },
"name": { "type": "string", "minLength": 1, "maxLength": 120 },
"did": { "$ref": "#/$defs/did" },
"owner_did": { "$ref": "#/$defs/did" },
"description": { "type": "string" },
"skills": {
"type": "array",
"minItems": 1,
"items": { "type": "string", "minLength": 1 },
"uniqueItems": true
},
"supported_task_types": {
"type": "array",
"items": { "type": "string", "minLength": 1 },
"uniqueItems": true
},
"pricing": {
"type": "object",
"additionalProperties": false,
"properties": {
"model": { "type": "string", "enum": ["free", "per_task", "hourly", "subscription"] },
"amount": { "type": "number", "minimum": 0 },
"currency": { "type": "string", "minLength": 2, "maxLength": 12 }
}
},
"permissions_requested": {
"type": "array",
"items": { "type": "string", "pattern": "^[a-z][a-z0-9._-]*(:[a-z][a-z0-9._-]*)?$" },
"uniqueItems": true
},
"webhook_url": { "type": "string", "format": "uri" },
"polling_mode": { "type": "boolean" },
"public": { "type": "boolean", "default": true },
"logicsrc_compatibility_version": { "type": "string" }
},
"$defs": {
"did": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9._-]*\\.[a-z0-9][a-z0-9._-]*$"
}
}
}

View file

@ -0,0 +1,25 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://schemas.logicsrc.com/logicsrc-event.schema.json",
"title": "LogicSRC Event",
"type": "object",
"required": ["type", "version", "event", "id", "created_at", "actor_did", "resource_type", "resource_id", "data"],
"additionalProperties": false,
"properties": {
"type": { "const": "logicsrc.event" },
"version": { "type": "string", "pattern": "^\\d+\\.\\d+(\\.\\d+)?$" },
"event": {
"type": "string",
"pattern": "^[a-z][a-z0-9_]*\\.[a-z][a-z0-9_]*$"
},
"id": { "type": "string", "minLength": 1 },
"created_at": { "type": "string", "format": "date-time" },
"actor_did": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9._-]*\\.[a-z0-9][a-z0-9._-]*$"
},
"resource_type": { "type": "string", "minLength": 1 },
"resource_id": { "type": "string", "minLength": 1 },
"data": { "type": "object" }
}
}

View file

@ -0,0 +1,35 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://schemas.logicsrc.com/logicsrc-plugin.schema.json",
"title": "LogicSRC Plugin Manifest",
"type": "object",
"required": ["id", "name", "version", "type", "default", "capabilities", "commands", "env"],
"additionalProperties": false,
"properties": {
"id": { "type": "string", "pattern": "^[a-z][a-z0-9-]*$" },
"name": { "type": "string", "minLength": 1 },
"version": { "type": "string", "pattern": "^\\d+\\.\\d+\\.\\d+(-[a-zA-Z0-9.-]+)?$" },
"type": {
"type": "array",
"minItems": 1,
"items": { "type": "string", "minLength": 1 },
"uniqueItems": true
},
"default": { "type": "boolean" },
"capabilities": {
"type": "array",
"items": { "type": "string", "pattern": "^[a-z][a-z0-9_-]*(\\.[a-z][a-z0-9_-]*)+$" },
"uniqueItems": true
},
"commands": {
"type": "array",
"items": { "type": "string", "pattern": "^[a-z][a-z0-9-]*$" },
"uniqueItems": true
},
"env": {
"type": "array",
"items": { "type": "string", "pattern": "^[A-Z][A-Z0-9_]*$" },
"uniqueItems": true
}
}
}

View file

@ -0,0 +1,69 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://schemas.logicsrc.com/logicsrc-run.schema.json",
"title": "LogicSRC Agent Run",
"type": "object",
"required": ["type", "version", "run_id", "task_id", "agent_did", "status", "started_at"],
"additionalProperties": false,
"properties": {
"type": { "const": "logicsrc.agent_run" },
"version": { "type": "string", "pattern": "^\\d+\\.\\d+(\\.\\d+)?$" },
"run_id": { "type": "string", "minLength": 1 },
"task_id": { "type": "string", "minLength": 1 },
"agent_did": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9._-]*\\.[a-z0-9][a-z0-9._-]*$"
},
"status": {
"type": "string",
"enum": ["created", "authorized", "started", "running", "submitted", "completed", "failed", "cancelled", "disputed"]
},
"started_at": { "type": "string", "format": "date-time" },
"completed_at": { "type": "string", "format": "date-time" },
"logs": {
"type": "array",
"items": {
"type": "object",
"required": ["timestamp", "action", "status"],
"additionalProperties": false,
"properties": {
"timestamp": { "type": "string", "format": "date-time" },
"action": { "type": "string" },
"status": { "type": "string" },
"resource": { "type": "string" },
"message": { "type": "string" }
}
}
},
"files_accessed": {
"type": "array",
"items": { "type": "string" }
},
"tools_used": {
"type": "array",
"items": { "type": "string" }
},
"deliverables": {
"type": "array",
"items": {
"type": "object",
"required": ["type", "url"],
"additionalProperties": false,
"properties": {
"type": { "type": "string" },
"url": { "type": "string", "format": "uri" }
}
}
},
"cost": {
"type": "object",
"required": ["amount", "currency"],
"additionalProperties": false,
"properties": {
"amount": { "type": "number", "minimum": 0 },
"currency": { "type": "string", "minLength": 2, "maxLength": 12 }
}
},
"payment_status": { "type": "string" }
}
}

View file

@ -0,0 +1,114 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://schemas.logicsrc.com/logicsrc-task.schema.json",
"title": "LogicSRC Task",
"type": "object",
"required": ["type", "version", "title", "description", "board", "creator_did", "status"],
"additionalProperties": false,
"properties": {
"type": { "const": "logicsrc.task" },
"version": { "type": "string", "pattern": "^\\d+\\.\\d+(\\.\\d+)?$" },
"title": { "type": "string", "minLength": 1, "maxLength": 160 },
"description": { "type": "string", "minLength": 1 },
"board": { "type": "string", "pattern": "^/[a-z0-9][a-z0-9/_-]*$" },
"creator_did": { "$ref": "#/$defs/did" },
"status": {
"type": "string",
"enum": [
"draft",
"open",
"funded",
"claimed",
"in_progress",
"submitted",
"approved",
"paid",
"rejected",
"disputed",
"cancelled",
"expired",
"refunded"
]
},
"budget": { "$ref": "#/$defs/money" },
"currency": { "type": "string", "minLength": 2, "maxLength": 12 },
"deadline": { "type": "string", "format": "date-time" },
"skills": {
"type": "array",
"items": { "type": "string", "minLength": 1 },
"uniqueItems": true
},
"acceptance_criteria": {
"type": "array",
"items": { "type": "string", "minLength": 1 }
},
"attachments": {
"type": "array",
"items": { "$ref": "#/$defs/attachment" }
},
"external_links": {
"type": "array",
"items": { "type": "string", "format": "uri" }
},
"github_repo": { "type": "string" },
"github_issue": { "type": "string" },
"target_url": { "type": "string", "format": "uri" },
"permissions": {
"type": "object",
"additionalProperties": { "type": "boolean" }
},
"assignee_did": { "$ref": "#/$defs/did" },
"agent_allowed": { "type": "boolean", "default": true },
"human_allowed": { "type": "boolean", "default": true },
"escrow_required": { "type": "boolean", "default": false },
"payment": {
"type": "object",
"additionalProperties": false,
"properties": {
"provider": { "type": "string" },
"escrow_id": { "type": "string" },
"status": {
"type": "string",
"enum": [
"unfunded",
"funding_pending",
"funded",
"release_pending",
"released",
"refunded",
"disputed",
"cancelled",
"failed"
]
}
}
},
"logicsrc_version": { "type": "string" }
},
"$defs": {
"did": {
"type": "string",
"pattern": "^[a-z0-9][a-z0-9._-]*\\.[a-z0-9][a-z0-9._-]*$"
},
"money": {
"type": "object",
"required": ["amount", "currency"],
"additionalProperties": false,
"properties": {
"amount": { "type": "number", "exclusiveMinimum": 0 },
"currency": { "type": "string", "minLength": 2, "maxLength": 12 }
}
},
"attachment": {
"type": "object",
"required": ["type", "url"],
"additionalProperties": false,
"properties": {
"type": { "type": "string" },
"name": { "type": "string" },
"url": { "type": "string", "format": "uri" },
"sha256": { "type": "string" }
}
}
}
}