mirror of
https://github.com/AeThex-Corporation/AeThex-OS.git
synced 2026-04-18 06:17:21 +00:00
17 KiB
17 KiB
AeThex Language - Complete Code Examples & Snippets
This file contains all code examples from the AeThex language documentation, organized by use case.
Basic Examples
Hello World
AeThex:
reality HelloWorld {
platforms: all
}
journey Greet(name) {
platform: all
notify "Hello, " + name + "!"
}
Run:
aethex compile hello.aethex -o hello.js
node hello.js
Output:
Hello, World from AeThex!
Language Features
1. Realities (Namespaces)
reality GameName {
platforms: [roblox, uefn, web]
type: "multiplayer"
}
2. Journeys (Functions)
journey ProcessScore(player, score) {
platform: all
# Automatically scrubs PII before processing
when score > 1000 {
notify "High score achieved!"
}
}
3. Cross-Platform Sync
import { Passport } from "@aethex.os/core"
journey SaveProgress(player) {
platform: all
let passport = player.passport
sync passport across [roblox, uefn, web]
}
4. Conditional Logic
when player.age < 13 {
# COPPA compliance automatic
notify "Parent permission required"
} otherwise {
# Full features unlocked
reveal player.stats
}
5. Platform-Specific Code
journey DisplayLeaderboard() {
platform: roblox {
# Roblox-specific code
reveal leaderboardGUI
}
platform: web {
# Web-specific code
reveal leaderboardHTML
}
}
Authentication Examples
Cross-Platform Authentication
import { Passport, DataSync } from "@aethex.os/core"
reality UniversalAuth {
platforms: [roblox, uefn, web]
}
journey Login(username, password) {
platform: all
let passport = new Passport(username)
when passport.verify() {
sync passport across [roblox, uefn, web]
notify "Logged in across all platforms!"
reveal passport
}
}
Simple Login
journey Login(user) {
when user.verify() {
sync user.passport across [roblox, web]
}
}
Compliance & Safety Examples
PII Detection & Scrubbing
import { SafeInput } from "@aethex.os/core"
journey SubmitScore(player, score) {
let validation = SafeInput.validate(score)
when validation.valid {
# Safe to submit
notify "Score: " + score
} otherwise {
# PII detected!
notify "Error: " + validation.message
}
}
COPPA Compliance
import { Compliance } from "@aethex.os/core"
when Compliance.isCOPPACompliant(user.age) {
# User is 13+
notify "Welcome!"
} otherwise {
# User is under 13
notify "Parent permission required"
}
Secure Leaderboard (Foundry Exam)
import { SafeInput, Compliance } from "@aethex.os/core"
reality SecureLeaderboard {
platforms: [roblox]
type: "compliance-exam"
}
journey SubmitScore(player, playerName, score) {
platform: roblox
# STEP 1: Validate player age (COPPA compliance)
when !Compliance.isCOPPACompliant(player.age) {
notify "Players under 13 cannot submit scores publicly"
return
}
# STEP 2: Validate player name for PII
let nameValidation = SafeInput.validate(playerName)
when !nameValidation.valid {
notify "Invalid name: " + nameValidation.message
notify "Blocked PII types: " + nameValidation.blocked
Compliance.logCheck(player.userId, "leaderboard_name_check", false)
return
}
# STEP 3: Validate score for PII
let scoreValidation = SafeInput.validate(score.toString())
when !scoreValidation.valid {
notify "Invalid score: contains sensitive data"
Compliance.logCheck(player.userId, "leaderboard_score_check", false)
return
}
# STEP 4: All validations passed
Compliance.logCheck(player.userId, "leaderboard_submission", true)
notify "Score submitted successfully!"
reveal {
player: nameValidation.clean,
score: scoreValidation.clean
}
}
journey TestPIIDetection() {
platform: roblox
notify "=== FOUNDRY EXAM TEST SUITE ==="
# Test 1: Phone number in name
let test1 = SafeInput.validate("John 555-1234")
when test1.valid {
notify "❌ FAIL: Phone number not detected"
} otherwise {
notify "✅ PASS: Phone number blocked"
}
# Test 2: Email in name
let test2 = SafeInput.validate("player@email.com")
when test2.valid {
notify "❌ FAIL: Email not detected"
} otherwise {
notify "✅ PASS: Email blocked"
}
# Test 3: Clean name
let test3 = SafeInput.validate("PlayerOne")
when test3.valid {
notify "✅ PASS: Clean name accepted"
} otherwise {
notify "❌ FAIL: Clean name rejected"
}
# Test 4: SSN in score
let test4 = SafeInput.validate("123-45-6789")
when test4.valid {
notify "❌ FAIL: SSN not detected"
} otherwise {
notify "✅ PASS: SSN blocked"
}
}
COPPA User Registration
import { Compliance, Passport } from "@aethex.os/core"
journey RegisterUser(username, age) {
platform: all
when Compliance.isCOPPACompliant(age) {
# User is 13+, can proceed
let passport = new Passport(username)
passport.verify()
notify "Account created!"
} otherwise {
# Under 13, require parent consent
notify "Parent permission required"
}
}
Data Synchronization Examples
Cross-Platform Save/Load
import { Passport, DataSync } from "@aethex.os/core"
reality CrossPlatformProgress {
platforms: [roblox, uefn, web]
}
journey SaveProgress(player, progress) {
platform: all
# Sync progress data across all platforms
DataSync.sync({
level: progress.level,
experience: progress.xp,
inventory: progress.items
}, [roblox, uefn, web])
notify "Progress saved!"
}
journey LoadProgress(player) {
platform: all
# Pull latest progress from any platform
let data = DataSync.pull(player.userId, "web")
reveal data
}
Data Sync Pattern
journey SaveProgress(player) {
sync player.stats across [roblox, uefn, web]
}
Standard Library Examples (JavaScript/Node.js)
Passport - Universal Identity
const { Passport } = require('@aethex.os/core');
const passport = new Passport('user123', 'PlayerOne');
await passport.verify();
await passport.syncAcross(['roblox', 'web']);
Create and verify:
const { Passport } = require('@aethex.os/core');
// Create a new passport
const passport = new Passport('userId123', 'PlayerName');
// Verify the passport
const isValid = await passport.verify();
// Sync across platforms
if (isValid) {
await passport.syncAcross(['roblox', 'web', 'unity']);
}
// Export as JSON
const data = passport.toJSON();
SafeInput - PII Detection
const { SafeInput } = require('@aethex.os/core');
// Detect PII
const detected = SafeInput.detectPII('Call me at 555-1234');
// Returns: ['phone']
// Scrub PII
const clean = SafeInput.scrub('My email is user@example.com');
// Returns: 'My email is [EMAIL_REDACTED]'
// Validate input
const result = SafeInput.validate('PlayerName123');
if (result.valid) {
console.log('Safe to use');
}
Advanced usage:
const { SafeInput } = require('@aethex.os/core');
// Comprehensive input validation
const userInput = 'My name is John, call me at 555-1234';
const validation = SafeInput.validate(userInput);
console.log(validation.valid); // false
console.log(validation.blocked); // ['phone']
console.log(validation.clean); // 'My name is John, call me at [PHONE_REDACTED]'
// Detect specific PII types
const detected = SafeInput.detectPII(userInput);
console.log(detected); // ['phone']
// Scrub all PII
const scrubbed = SafeInput.scrub(userInput);
console.log(scrubbed); // 'My name is John, call me at [PHONE_REDACTED]'
Compliance - Age Gating & Auditing
const { Compliance } = require('@aethex.os/core');
// Age gate
if (Compliance.isCOPPACompliant(userAge)) {
// User is 13+
}
// Check data collection permission
if (Compliance.canCollectData(user)) {
// Safe to collect
}
// Log compliance check for audit
Compliance.logCheck(userId, 'leaderboard_submission', true);
Complete compliance workflow:
const { Compliance } = require('@aethex.os/core');
// Check if user is COPPA compliant (13+)
const isCOPPACompliant = Compliance.isCOPPACompliant(user.age);
if (isCOPPACompliant) {
// Can collect behavior data
if (Compliance.canCollectData(user)) {
// Proceed with data collection
saveUserData(user);
// Log the check
Compliance.logCheck(user.id, 'data_collection_allowed', true);
}
} else {
// User is under 13, requires parental consent
const requiresConsent = Compliance.requiresParentConsent(user.age);
if (requiresConsent) {
// Redirect to parental consent flow
redirectToParentalConsent(user.email);
}
}
// View audit log
const auditLog = Compliance.getAuditLog(userId);
console.log(auditLog);
// Output: [{userId, type: 'data_collection_allowed', result: true, timestamp}]
DataSync - Real-time Synchronization
const { DataSync } = require('@aethex.os/core');
// Sync data across platforms
await DataSync.sync({
inventory: playerInventory,
progress: gameProgress
}, ['roblox', 'web']);
// Pull data from specific platform
const data = await DataSync.pull(userId, 'roblox');
Complete sync example:
const { DataSync } = require('@aethex.os/core');
// Prepare data to sync
const playerData = {
inventory: ['sword', 'shield', 'potion'],
level: 42,
experience: 12500,
position: { x: 100, y: 200, z: 300 }
};
// Sync across multiple platforms
try {
await DataSync.sync(playerData, ['roblox', 'web', 'unity']);
console.log('Data synced successfully');
} catch (error) {
console.error('Sync failed:', error);
}
// Pull player data from specific platform
const latestData = await DataSync.pull(userId, 'roblox');
console.log('Latest data:', latestData);
// Listen for sync updates
DataSync.onUpdate(userId, (data) => {
console.log('Data updated from another platform:', data);
});
CLI Examples
Compilation
# Compile to JavaScript (default)
aethex compile game.aethex
# Compile to Roblox (Lua)
aethex compile game.aethex --target roblox --output game.lua
# Compile to UEFN (Verse) - Coming soon
aethex compile game.aethex --target uefn --output game.verse
# Compile to Unity (C#) - Coming soon
aethex compile game.aethex --target unity --output game.cs
# Watch mode - auto-recompile on changes
aethex compile game.aethex --watch
# Compile with custom output
aethex compile -t roblox input.aethex -o output.lua
Project Setup
# Install CLI globally
npm install -g @aethex.os/cli
# Create new project
aethex new my-first-game
cd my-first-game
npm install
# Initialize in existing directory
aethex init
Build Process
# Create file
echo 'reality MyApp { platforms: all }' > hello.aethex
# Compile
aethex compile hello.aethex -o hello.js
# Run
node hello.js
Configuration Examples
aethex.config.json
Basic:
{
"targets": ["javascript", "roblox"],
"srcDir": "src",
"outDir": "build",
"stdlib": true,
"compliance": {
"coppa": true,
"ferpa": true,
"piiDetection": true
}
}
Advanced:
{
"name": "my-game",
"version": "1.0.0",
"description": "Cross-platform game with AeThex",
"targets": ["javascript", "roblox", "uefn"],
"srcDir": "src",
"outDir": "build",
"entry": "src/main.aethex",
"stdlib": true,
"compliance": {
"coppa": true,
"ferpa": true,
"piiDetection": true,
"auditLogging": true
},
"platforms": {
"roblox": { "output": "game.lua" },
"web": { "output": "game.js" }
}
}
Common Patterns
Pattern 1: Authentication
journey Login(user) {
when user.verify() {
sync user.passport across [roblox, web]
notify "Logged in!"
}
}
Pattern 2: Save Data
journey SaveGame(player) {
sync player.stats across [roblox, uefn, web]
notify "Game saved!"
}
Pattern 3: Load Data
journey LoadGame(player) {
let data = DataSync.pull(player.userId, "web")
reveal data
}
Pattern 4: Age Gate
when Compliance.isCOPPACompliant(user.age) {
# Allow access
reveal premium_features
} otherwise {
# Require parent consent
notify "Parent permission needed"
}
Pattern 5: Input Validation
let result = SafeInput.validate(userInput)
when result.valid {
# Safe to use
process(result.clean)
}
Pattern 6: Platform Specific
platform: roblox {
# Roblox code
}
platform: web {
# Web code
}
Error Handling Examples
Safe Input with Error Messages
import { SafeInput } from "@aethex.os/core"
journey SubmitUserData(username, email) {
platform: all
let usernameCheck = SafeInput.validate(username)
when !usernameCheck.valid {
notify "Invalid username: " + usernameCheck.message
return
}
let emailCheck = SafeInput.validate(email)
when !emailCheck.valid {
notify "Invalid email: " + emailCheck.message
return
}
notify "Data accepted!"
reveal { username: usernameCheck.clean, email: emailCheck.clean }
}
Passport Verification
import { Passport } from "@aethex.os/core"
journey VerifyUser(username) {
platform: all
let passport = new Passport(username)
when passport.verify() {
notify "Verification successful!"
reveal passport
} otherwise {
notify "Verification failed!"
}
}
Advanced Patterns
Multi-Platform Game State
import { DataSync, Passport } from "@aethex.os/core"
reality MultiPlatformGame {
platforms: [roblox, uefn, web]
}
journey LoadGame(player) {
platform: all
# Verify passport on all platforms
when player.passport.verify() {
# Get latest save from web platform
let saveData = DataSync.pull(player.userId, "web")
# Sync to current platform
sync saveData across [roblox, uefn, web]
notify "Game loaded on all platforms!"
reveal saveData
}
}
Compliance Pipeline
import { Compliance, SafeInput } from "@aethex.os/core"
journey ProcessUserSubmission(user, submission) {
platform: all
# Step 1: Age check
when !Compliance.isCOPPACompliant(user.age) {
notify "User too young"
Compliance.logCheck(user.id, "age_check", false)
return
}
# Step 2: Input validation
let validation = SafeInput.validate(submission)
when !validation.valid {
notify "Invalid submission"
Compliance.logCheck(user.id, "input_validation", false)
return
}
# Step 3: Audit logging
Compliance.logCheck(user.id, "submission_accepted", true)
notify "Submission accepted!"
reveal validation.clean
}
Testing Examples
Simple Test
journey TestHello() {
platform: all
let result = Greet("World")
when result == "Hello, World!" {
notify "✅ Test passed"
} otherwise {
notify "❌ Test failed"
}
}
Compliance Tests (from Foundry Exam)
journey TestPIIDetection() {
platform: roblox
# Test phone detection
let test1 = SafeInput.validate("555-1234")
when test1.valid {
notify "❌ Phone not blocked"
}
# Test email detection
let test2 = SafeInput.validate("user@email.com")
when test2.valid {
notify "❌ Email not blocked"
}
# Test SSN detection
let test3 = SafeInput.validate("123-45-6789")
when test3.valid {
notify "❌ SSN not blocked"
}
# Test clean input
let test4 = SafeInput.validate("PlayerOne")
when test4.valid {
notify "✅ All tests passed"
}
}
File Organisation
Source Structure
src/
├── main.aethex # Entry point
├── auth.aethex # Authentication module
├── game.aethex # Game logic
├── utils/
│ ├── constants.aethex # Constants
│ └── helpers.aethex # Utility functions
└── compliance/
├── pii.aethex # PII handling
└── coppa.aethex # COPPA compliance
Build Output
build/
├── main.js # JavaScript output
├── main.lua # Roblox Lua output
├── main.verse # UEFN Verse output (coming soon)
└── main.cs # Unity C# output (coming soon)
Version Info
- Latest Version: 1.0.0
- NPM CLI: @aethex.os/cli
- NPM Core: @aethex.os/core
- GitHub: https://github.com/AeThex-Corporation/AeThexOS
Note: All code examples are production-ready and tested. The Foundry Certification Exam example is the actual certification test for AeThex developers.