Skip to navigation

Bridge (Validation)

API-backed action validation and preset loading
View as Markdown

Bridge operations in sdk@0.6.3 are exposed via thunks and API routes.

Validate Action

import { createSDKStore, validateBridgeThunk } from '@forbocai/core';
const store = createSDKStore();
const result = await store.dispatch(validateBridgeThunk({
action: {
type: 'OPEN_GATE',
target: 'north_gate'
},
context: {
npcState: { alertLevel: 0 },
worldState: { curfew: false }
},
apiUrl: 'https://api.forboc.ai',
apiKey: process.env.FORBOCAI_API_KEY
})).unwrap();
console.log(result.valid, result.reason);

List Rules

import { getBridgeRulesThunk } from '@forbocai/core';
const rules = await store.dispatch(getBridgeRulesThunk({
apiUrl: 'https://api.forboc.ai',
apiKey: process.env.FORBOCAI_API_KEY
})).unwrap();
console.log(rules.length);

Load Preset

import { loadBridgePresetThunk } from '@forbocai/core';
const preset = await store.dispatch(loadBridgePresetThunk({
presetName: 'rpg',
apiUrl: 'https://api.forboc.ai',
apiKey: process.env.FORBOCAI_API_KEY
})).unwrap();
console.log(preset.id);

CLI

npx forbocai bridge validate ./action.json
npx forbocai bridge rules
npx forbocai bridge preset rpg