Introduction
Send a decision name, the context for this moment, and the options you can act on. Owctopus returns a choice, a confidence, a reason, and the next step. The same request works from TypeScript, Python, Go, or any backend that can send HTTP.
Context and options are dynamic. Your application sends the facts it has, and the choices it can take right now.
A name, such as shipping_method, meal_suggestion, or daily_workout.
Any object. Cart value and city for checkout. Calories and hunger for a food app.
The list you can actually use. Each item needs an id. The other fields are yours.
AI first, then a condition
The first time Owctopus sees a situation, it asks AI. It stores the context, the options, the choice, the reason, and the confidence. When that situation keeps succeeding, Owctopus turns it into a condition.
The next matching request is answered by that condition. Owctopus makes the decision without an AI call. The response your app reads stays the same shape.
The call
const result = await owctopus.decide({
decision: "shipping_method",
context: { /* your facts */ },
options: [ /* your choices */ ],
});A checkout, a food logger, and a training app all use this method. The objects inside context and options change with the product.