feat(intent): Add additional "thought" intent type

This commit is contained in:
2026-07-19 08:09:06 +05:30
parent 1ed1edf4cf
commit 0512be647c
12 changed files with 66 additions and 28 deletions

View File

@@ -41,7 +41,7 @@ For each intent you must:
1. Classify its type:
- "dialogue": if actor speaking, talking, whispering, murmuring, etc
- "action": Any physical or logical action performed in the world (e.g., moving, opening, looking).
- "monologue": An inner thought, reflection, or internal monologue/self narration.
- "monologue" (or "thought"): An inner thought, reflection, or internal monologue/self narration.
2. Extract the original text fragment from the prose that corresponds to this intent.
3. Populate "description" and "selfDescription":
- "description": No subject or name — a bare third-person verb phrase only (e.g. "clears their throat", "shakes their head slowly")

View File

@@ -7,8 +7,14 @@ import { z } from "zod";
* - "monologue": An inner thought or internal monologue. Not perceivable by
* any other entity. Bypasses the Architect/validators entirely and is
* written directly to the actor's Cognitive Buffer with no outcome.
* - "thought": Equivalent/alias to "monologue".
*/
export const IntentTypeSchema = z.enum(["dialogue", "action", "monologue"]);
export const IntentTypeSchema = z.enum([
"dialogue",
"action",
"monologue",
"thought",
]);
export type IntentType = z.infer<typeof IntentTypeSchema>;
/**
@@ -30,7 +36,7 @@ export const LLMIntentSchema = z.object({
/**
* Entity IDs of the receiving parties (e.g., who is being spoken to,
* what object is being interacted with). Always an empty array for
* "monologue" intents, since they are not perceivable by anyone.
* "monologue" and "thought" intents, since they are not perceivable by anyone.
*/
targetIds: z.array(z.string()),