Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions spec/soulscript/base.schema.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://github.com/soulgraph/soulscript/tree/main/spec/soulscript/base.schema.json",
"title": "SoulScript Base Schema",
"type": "object",
"required": ["version", "id"],
"properties": {
"version": {
"type": "string",
"description": "Schema version following semantic versioning",
"pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$"
},
"id": {
"type": "string",
"format": "uuid",
"description": "Unique identifier for the soul instance"
}
}
}
19 changes: 19 additions & 0 deletions spec/soulscript/schemas/base.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/soulgraph/soulscript-spec/main/spec/soulscript/schemas/base.json",
"title": "SoulScript Base Schema",
"type": "object",
"required": ["version", "id"],
"properties": {
"version": {
"type": "string",
"description": "Schema version following semantic versioning",
"pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$"
},
"id": {
"type": "string",
"format": "uuid",
"description": "Unique identifier for the soul instance"
}
}
}
13 changes: 13 additions & 0 deletions spec/soulscript/schemas/core/identity.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/soulgraph/soulscript-spec/main/spec/soulscript/schemas/core/identity.json",
"title": "Identity Schema",
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "Unique identifier for the soul instance"
}
}
}
13 changes: 13 additions & 0 deletions spec/soulscript/schemas/core/version.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/soulgraph/soulscript-spec/main/spec/soulscript/schemas/core/version.json",
"title": "Version Schema",
"type": "object",
"properties": {
"version": {
"type": "string",
"description": "Schema version following semantic versioning",
"pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$"
}
}
}
81 changes: 81 additions & 0 deletions spec/soulscript/schemas/emotional.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/soulgraph/soulscript-spec/main/spec/soulscript/schemas/emotional.json",
"title": "SoulScript Emotional Schema",
"type": "object",
"required": ["current_mood", "emotional_spectrum"],
"properties": {
"current_mood": {
"type": "object",
"required": ["primary", "intensity"],
"properties": {
"primary": {
"type": "string",
"description": "Primary emotion being experienced"
},
"secondary": {
"type": "array",
"items": {
"type": "string"
},
"description": "Secondary emotions that may be present"
},
"intensity": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Intensity of the primary emotion"
}
}
},
"emotional_spectrum": {
"type": "object",
"description": "Long-term emotional tendencies",
"properties": {
"baseline": {
"type": "object",
"patternProperties": {
"^.*$": {
"type": "number",
"minimum": 0,
"maximum": 1
}
}
},
"volatility": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "How quickly emotions change"
}
}
},
"triggers": {
"type": "array",
"items": {
"type": "object",
"required": ["condition", "response"],
"properties": {
"condition": {
"type": "string",
"description": "Condition that triggers emotional response"
},
"response": {
"type": "object",
"required": ["emotion", "intensity"],
"properties": {
"emotion": {
"type": "string"
},
"intensity": {
"type": "number",
"minimum": 0,
"maximum": 1
}
}
}
}
}
}
}
}
31 changes: 31 additions & 0 deletions spec/soulscript/schemas/emotional/current_mood.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/soulgraph/soulscript-spec/main/spec/soulscript/schemas/emotional/current_mood.json",
"title": "Current Mood Schema",
"type": "object",
"properties": {
"current_mood": {
"type": "object",
"required": ["primary", "intensity"],
"properties": {
"primary": {
"type": "string",
"description": "Primary emotion being experienced"
},
"secondary": {
"type": "array",
"items": {
"type": "string"
},
"description": "Secondary emotions that may be present"
},
"intensity": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Intensity of the primary emotion"
}
}
}
}
}
30 changes: 30 additions & 0 deletions spec/soulscript/schemas/emotional/emotional_spectrum.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/soulgraph/soulscript-spec/main/spec/soulscript/schemas/emotional/emotional_spectrum.json",
"title": "Emotional Spectrum Schema",
"type": "object",
"properties": {
"emotional_spectrum": {
"type": "object",
"description": "Long-term emotional tendencies",
"properties": {
"baseline": {
"type": "object",
"patternProperties": {
"^.*$": {
"type": "number",
"minimum": 0,
"maximum": 1
}
}
},
"volatility": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "How quickly emotions change"
}
}
}
}
}
12 changes: 12 additions & 0 deletions spec/soulscript/schemas/emotional/index.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/soulgraph/soulscript-spec/main/spec/soulscript/schemas/emotional/index.json",
"title": "Emotional State Schema",
"type": "object",
"required": ["current_mood", "emotional_spectrum"],
"allOf": [
{ "$ref": "./current_mood.json" },
{ "$ref": "./emotional_spectrum.json" },
{ "$ref": "./triggers.json" }
]
}
35 changes: 35 additions & 0 deletions spec/soulscript/schemas/emotional/triggers.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/soulgraph/soulscript-spec/main/spec/soulscript/schemas/emotional/triggers.json",
"title": "Emotional Triggers Schema",
"type": "object",
"properties": {
"triggers": {
"type": "array",
"items": {
"type": "object",
"required": ["condition", "response"],
"properties": {
"condition": {
"type": "string",
"description": "Condition that triggers emotional response"
},
"response": {
"type": "object",
"required": ["emotion", "intensity"],
"properties": {
"emotion": {
"type": "string"
},
"intensity": {
"type": "number",
"minimum": 0,
"maximum": 1
}
}
}
}
}
}
}
}
58 changes: 58 additions & 0 deletions spec/soulscript/schemas/entity.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/soulgraph/soulscript-spec/main/spec/soulscript/schemas/entity.json",
"title": "SoulScript Entity Schema",
"type": "object",
"required": ["form", "occupation"],
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"form": {
"type": "string",
"description": "Physical or virtual form of the entity"
},
"occupation": {
"type": "string",
"description": "Primary role or function"
},
"gender": {
"type": "string",
"description": "Gender identity if applicable"
},
"age": {
"type": "string",
"description": "Age or development stage"
},
"background": {
"type": "string",
"description": "Historical context and origin story"
},
"expertise": {
"type": "array",
"items": {
"type": "object",
"required": ["domain", "level"],
"properties": {
"domain": {
"type": "string",
"description": "Area of expertise"
},
"level": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Proficiency level"
},
"specializations": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
}
}
28 changes: 28 additions & 0 deletions spec/soulscript/schemas/entity/basic.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/soulgraph/soulscript-spec/main/spec/soulscript/schemas/entity/basic.json",
"title": "Basic Entity Properties",
"type": "object",
"properties": {
"form": {
"type": "string",
"description": "Physical or virtual form of the entity"
},
"occupation": {
"type": "string",
"description": "Primary role or function"
},
"gender": {
"type": "string",
"description": "Gender identity if applicable"
},
"age": {
"type": "string",
"description": "Age or development stage"
},
"background": {
"type": "string",
"description": "Historical context and origin story"
}
}
}
33 changes: 33 additions & 0 deletions spec/soulscript/schemas/entity/expertise.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/soulgraph/soulscript-spec/main/spec/soulscript/schemas/entity/expertise.json",
"title": "Entity Expertise",
"type": "object",
"properties": {
"expertise": {
"type": "array",
"items": {
"type": "object",
"required": ["domain", "level"],
"properties": {
"domain": {
"type": "string",
"description": "Area of expertise"
},
"level": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "Proficiency level"
},
"specializations": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
}
}
Loading